From 5a901a5cd9957fb40e4f53391e765f6f2c3a8cd5 Mon Sep 17 00:00:00 2001 From: Peter Lawrey Date: Mon, 23 Mar 2026 13:24:26 +0000 Subject: [PATCH 1/6] Drop unused Vintage engine from tests --- pom.xml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pom.xml b/pom.xml index 714398b..17b6200 100644 --- a/pom.xml +++ b/pom.xml @@ -67,6 +67,13 @@ + + org.junit.jupiter + junit-jupiter + 5.10.0 + test + + com.google.guava guava From cca4a746d439bad6441ad6ca2942501030630c15 Mon Sep 17 00:00:00 2001 From: Peter Lawrey Date: Mon, 23 Mar 2026 13:39:33 +0000 Subject: [PATCH 2/6] Migrate hashing tests to Jupiter --- .../openhft/hashing/ByteBufferAccessTest.java | 10 +-- .../hashing/CharSequenceAccessTest.java | 8 +- .../net/openhft/hashing/City64_1_1_Test.java | 29 +++--- .../CompactLatin1CharSequenceAccessTest.java | 6 +- .../openhft/hashing/DualHashFunctionTest.java | 14 +-- .../net/openhft/hashing/FarmHashTest.java | 2 +- .../openhft/hashing/LongHashFunctionTest.java | 68 +++++++------- .../hashing/LongTupleHashFunctionTest.java | 88 +++++++++---------- .../java/net/openhft/hashing/MathsTest.java | 4 +- .../net/openhft/hashing/MetroHashTest.java | 26 +++--- .../hashing/ModernCompactStringHashTest.java | 30 +++---- .../net/openhft/hashing/MurmurHash3Test.java | 3 +- .../openhft/hashing/OriginalFarmHashTest.java | 7 +- .../net/openhft/hashing/PrimitivesTest.java | 6 +- .../net/openhft/hashing/UnsafeAccessTest.java | 39 ++++---- .../java/net/openhft/hashing/UtilTest.java | 4 +- .../java/net/openhft/hashing/WyHashTest.java | 26 +++--- .../java/net/openhft/hashing/XXH128Test.java | 28 +++--- .../java/net/openhft/hashing/XXH3Test.java | 28 +++--- .../openhft/hashing/XxHashCollisionTest.java | 4 +- .../java/net/openhft/hashing/XxHashTest.java | 26 +++--- 21 files changed, 207 insertions(+), 249 deletions(-) diff --git a/src/test/java/net/openhft/hashing/ByteBufferAccessTest.java b/src/test/java/net/openhft/hashing/ByteBufferAccessTest.java index 12256e2..c36a4d4 100644 --- a/src/test/java/net/openhft/hashing/ByteBufferAccessTest.java +++ b/src/test/java/net/openhft/hashing/ByteBufferAccessTest.java @@ -3,14 +3,14 @@ */ package net.openhft.hashing; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.nio.ByteBuffer; import java.nio.ByteOrder; import static java.nio.ByteOrder.BIG_ENDIAN; import static java.nio.ByteOrder.LITTLE_ENDIAN; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.*; public class ByteBufferAccessTest { @@ -24,7 +24,7 @@ public void littleEndianAccessReadsExpectedValues() { ByteBuffer buffer = ByteBuffer.wrap(SAMPLE).order(LITTLE_ENDIAN); ByteBufferAccess access = ByteBufferAccess.INSTANCE; - assertEquals(ByteOrder.LITTLE_ENDIAN, access.byteOrder(buffer)); + assertSame(ByteOrder.LITTLE_ENDIAN, access.byteOrder(buffer)); assertEquals(0xF0DEBC9A78563412L, access.getLong(buffer, 0)); assertEquals(0xF0DEBC9AL, access.getUnsignedInt(buffer, 4)); assertEquals(0x78563412, access.getInt(buffer, 0)); @@ -39,7 +39,7 @@ public void bigEndianAccessReadsExpectedValues() { ByteBuffer buffer = ByteBuffer.wrap(SAMPLE).order(BIG_ENDIAN); ByteBufferAccess access = ByteBufferAccess.INSTANCE; - assertEquals(ByteOrder.BIG_ENDIAN, access.byteOrder(buffer)); + assertSame(ByteOrder.BIG_ENDIAN, access.byteOrder(buffer)); assertEquals(0x123456789ABCDEF0L, access.getLong(buffer, 0)); assertEquals(0x12345678L, access.getUnsignedInt(buffer, 0)); assertEquals((int) 0x9ABCDEF0L, access.getInt(buffer, 4)); @@ -54,7 +54,7 @@ public void reverseAccessFlipsByteOrder() { ByteBuffer buffer = ByteBuffer.wrap(SAMPLE).order(LITTLE_ENDIAN); Access reverse = ByteBufferAccess.INSTANCE.reverseAccess(); - assertEquals(ByteOrder.BIG_ENDIAN, reverse.byteOrder(buffer)); + assertSame(ByteOrder.BIG_ENDIAN, reverse.byteOrder(buffer)); assertEquals(0x123456789ABCDEF0L, reverse.getLong(buffer, 0)); assertEquals(0x12345678L, reverse.getUnsignedInt(buffer, 0)); assertEquals((int) 0x9ABCDEF0L, reverse.getInt(buffer, 4)); diff --git a/src/test/java/net/openhft/hashing/CharSequenceAccessTest.java b/src/test/java/net/openhft/hashing/CharSequenceAccessTest.java index c7495b3..814acfa 100644 --- a/src/test/java/net/openhft/hashing/CharSequenceAccessTest.java +++ b/src/test/java/net/openhft/hashing/CharSequenceAccessTest.java @@ -3,14 +3,12 @@ */ package net.openhft.hashing; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotSame; -import static org.junit.Assert.assertSame; -import static org.junit.Assume.assumeTrue; import static java.nio.ByteOrder.*; import static net.openhft.hashing.Primitives.*; +import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assumptions.*; public class CharSequenceAccessTest { static String TEST_STRING = new String(new char[] {0xF0E1,0xD2C3,0xB4A5,0x9687,0xC8E9}); diff --git a/src/test/java/net/openhft/hashing/City64_1_1_Test.java b/src/test/java/net/openhft/hashing/City64_1_1_Test.java index 73654f3..01bb754 100644 --- a/src/test/java/net/openhft/hashing/City64_1_1_Test.java +++ b/src/test/java/net/openhft/hashing/City64_1_1_Test.java @@ -3,20 +3,14 @@ */ package net.openhft.hashing; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; import java.util.ArrayList; import java.util.Collection; -import static org.junit.runners.Parameterized.Parameter; -import static org.junit.runners.Parameterized.Parameters; - -@RunWith(Parameterized.class) public class City64_1_1_Test { - @Parameters public static Collection data() { ArrayList data = new ArrayList(); for (int len = 0; len < 1025; len++) { @@ -25,20 +19,19 @@ public static Collection data() { return data; } - @Parameter - public int len; - - @Test - public void testCityWithoutSeeds() { - test(LongHashFunction.city_1_1(), HASHES_OF_LOOPING_BYTES_WITHOUT_SEEDS); + @ParameterizedTest + @MethodSource("data") + public void testCityWithoutSeeds(int len) { + test(len, LongHashFunction.city_1_1(), HASHES_OF_LOOPING_BYTES_WITHOUT_SEEDS); } - @Test - public void testCityWithOneSeed() { - test(LongHashFunction.city_1_1(0L, 0L), HASHES_OF_LOOPING_BYTES_WITH_SEEDS_0_0); + @ParameterizedTest + @MethodSource("data") + public void testCityWithOneSeed(int len) { + test(len, LongHashFunction.city_1_1(0L, 0L), HASHES_OF_LOOPING_BYTES_WITH_SEEDS_0_0); } - private void test(LongHashFunction city, long[] hashesOfLoopingBytes) { + private void test(int len, LongHashFunction city, long[] hashesOfLoopingBytes) { byte[] data = new byte[len]; for (int j = 0; j < data.length; j++) { data[j] = (byte) j; diff --git a/src/test/java/net/openhft/hashing/CompactLatin1CharSequenceAccessTest.java b/src/test/java/net/openhft/hashing/CompactLatin1CharSequenceAccessTest.java index f79ad24..418efc7 100644 --- a/src/test/java/net/openhft/hashing/CompactLatin1CharSequenceAccessTest.java +++ b/src/test/java/net/openhft/hashing/CompactLatin1CharSequenceAccessTest.java @@ -3,13 +3,13 @@ */ package net.openhft.hashing; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.nio.ByteOrder; import static java.nio.ByteOrder.BIG_ENDIAN; import static java.nio.ByteOrder.LITTLE_ENDIAN; -import static org.junit.Assert.assertEquals; -import static org.junit.Assume.assumeTrue; +import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assumptions.*; public class CompactLatin1CharSequenceAccessTest { static private final Access access = CompactLatin1CharSequenceAccess.INSTANCE; diff --git a/src/test/java/net/openhft/hashing/DualHashFunctionTest.java b/src/test/java/net/openhft/hashing/DualHashFunctionTest.java index 255d8db..da0c28d 100644 --- a/src/test/java/net/openhft/hashing/DualHashFunctionTest.java +++ b/src/test/java/net/openhft/hashing/DualHashFunctionTest.java @@ -3,17 +3,17 @@ */ package net.openhft.hashing; -import org.junit.Test; - -import static org.junit.Assert.assertArrayEquals; -import static org.junit.Assert.assertEquals; +import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.*; public class DualHashFunctionTest { - @Test(expected = IllegalArgumentException.class) + @Test public void hashLongRejectsTooSmallResultArray() { - LongTupleHashFunction tuple = XXH3.asLongTupleHashFunctionWithoutSeed(); - tuple.hashLong(17L, new long[0]); + assertThrows(IllegalArgumentException.class, () -> { + LongTupleHashFunction tuple = XXH3.asLongTupleHashFunctionWithoutSeed(); + tuple.hashLong(17L, new long[0]); + }); } @Test diff --git a/src/test/java/net/openhft/hashing/FarmHashTest.java b/src/test/java/net/openhft/hashing/FarmHashTest.java index 452bfcc..642f0ec 100644 --- a/src/test/java/net/openhft/hashing/FarmHashTest.java +++ b/src/test/java/net/openhft/hashing/FarmHashTest.java @@ -3,7 +3,7 @@ */ package net.openhft.hashing; -import org.junit.Test; +import org.junit.jupiter.api.Test; /** * This tests coherence of supporting functions like hashInt(), hashLong(), hashChars etc. diff --git a/src/test/java/net/openhft/hashing/LongHashFunctionTest.java b/src/test/java/net/openhft/hashing/LongHashFunctionTest.java index fa4380a..6e0054c 100644 --- a/src/test/java/net/openhft/hashing/LongHashFunctionTest.java +++ b/src/test/java/net/openhft/hashing/LongHashFunctionTest.java @@ -11,9 +11,7 @@ import static java.nio.ByteOrder.BIG_ENDIAN; import static java.nio.ByteOrder.LITTLE_ENDIAN; import static java.nio.ByteOrder.nativeOrder; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotEquals; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.*; class LongHashFunctionTest { @@ -37,7 +35,7 @@ public static void test(LongHashFunction f, byte[] data, long eh) { private static void testVoid(LongHashFunction f, long eh, int len) { if (len == 0) - assertEquals("void", eh, f.hashVoid()); + assertEquals(eh, f.hashVoid(), "void"); } private static void testBoolean(LongHashFunction f, int len) { @@ -56,23 +54,23 @@ private static void testPrimitives(LongHashFunction f, long eh, int len, ByteBuf long actual; if (len == 1) { actual = f.hashByte(bb.get(0)); - assertEquals("byte hash", eh, actual); + assertEquals(eh, actual, "byte hash"); } if (len == 2) { actual = f.hashShort(bb.getShort(0)); - assertEquals("short hash", eh, actual); + assertEquals(eh, actual, "short hash"); actual = f.hashChar(bb.getChar(0)); - assertEquals("char hash", eh, actual); + assertEquals(eh, actual, "char hash"); } if (len == 4) { actual = f.hashInt(bb.getInt(0)); - assertEquals("int hash", eh, actual); + assertEquals(eh, actual, "int hash"); } if (len == 8) { actual = f.hashLong(bb.getLong(0)); - assertEquals("long hash", eh, actual); + assertEquals(eh, actual, "long hash"); } } @@ -83,61 +81,61 @@ private static void testNegativePrimitives(LongHashFunction f) { long twoByteExpected = f.hashBytes(bytes, 0, 2); long fourByteExpected = f.hashBytes(bytes, 0, 4); long eightByteExpected = f.hashBytes(bytes); - assertEquals("byte hash neg", oneByteExpected, f.hashByte((byte) -1)); - assertEquals("short hash neg", twoByteExpected, f.hashShort((short) -1)); - assertEquals("char hash neg", twoByteExpected, f.hashChar((char) -1)); - assertEquals("int hash neg", fourByteExpected, f.hashInt(-1)); - assertEquals("long hash neg", eightByteExpected, f.hashLong(-1L)); + assertEquals(oneByteExpected, f.hashByte((byte) -1), "byte hash neg"); + assertEquals(twoByteExpected, f.hashShort((short) -1), "short hash neg"); + assertEquals(twoByteExpected, f.hashChar((char) -1), "char hash neg"); + assertEquals(fourByteExpected, f.hashInt(-1), "int hash neg"); + assertEquals(eightByteExpected, f.hashLong(-1L), "long hash neg"); } private static void testArrays(LongHashFunction f, byte[] data, long eh, int len, ByteBuffer bb) { - assertEquals("byte array", eh, f.hashBytes(data)); + assertEquals(eh, f.hashBytes(data), "byte array"); byte[] data2 = new byte[len + 2]; System.arraycopy(data, 0, data2, 1, len); - assertEquals("byte array off len", eh, f.hashBytes(data2, 1, len)); + assertEquals(eh, f.hashBytes(data2, 1, len), "byte array off len"); if ((len & 1) == 0) { int shortLen = len / 2; short[] shorts = new short[shortLen]; bb.asShortBuffer().get(shorts); - assertEquals("short array", eh, f.hashShorts(shorts)); + assertEquals(eh, f.hashShorts(shorts), "short array"); short[] shorts2 = new short[shortLen + 2]; System.arraycopy(shorts, 0, shorts2, 1, shortLen); - assertEquals("short array off len", eh, f.hashShorts(shorts2, 1, shortLen)); + assertEquals(eh, f.hashShorts(shorts2, 1, shortLen), "short array off len"); char[] chars = new char[shortLen]; bb.asCharBuffer().get(chars); - assertEquals("char array", eh, f.hashChars(chars)); + assertEquals(eh, f.hashChars(chars), "char array"); char[] chars2 = new char[shortLen + 2]; System.arraycopy(chars, 0, chars2, 1, shortLen); - assertEquals("char array off len", eh, f.hashChars(chars2, 1, shortLen)); + assertEquals(eh, f.hashChars(chars2, 1, shortLen), "char array off len"); } if ((len & 3) == 0) { int intLen = len / 4; int[] ints = new int[intLen]; bb.asIntBuffer().get(ints); - assertEquals("int array", eh, f.hashInts(ints)); + assertEquals(eh, f.hashInts(ints), "int array"); int[] ints2 = new int[intLen + 2]; System.arraycopy(ints, 0, ints2, 1, intLen); - assertEquals("int array off len", eh, f.hashInts(ints2, 1, intLen)); + assertEquals(eh, f.hashInts(ints2, 1, intLen), "int array off len"); } if ((len & 7) == 0) { int longLen = len / 8; long[] longs = new long[longLen]; bb.asLongBuffer().get(longs); - assertEquals("long array", eh, f.hashLongs(longs)); + assertEquals(eh, f.hashLongs(longs), "long array"); long[] longs2 = new long[longLen + 2]; System.arraycopy(longs, 0, longs2, 1, longLen); - assertEquals("long array off len", eh, f.hashLongs(longs2, 1, longLen)); + assertEquals(eh, f.hashLongs(longs2, 1, longLen), "long array off len"); } } @@ -146,17 +144,17 @@ private static void testByteBuffers(LongHashFunction f, long eh, int len, ByteBu // object need to be invoked from a parent Buffer object explicitly. bb.order(LITTLE_ENDIAN); - assertEquals("byte buffer little endian", eh, f.hashBytes(bb)); + assertEquals(eh, f.hashBytes(bb), "byte buffer little endian"); ByteBuffer bb2 = ByteBuffer.allocate(len + 2).order(LITTLE_ENDIAN); ((Buffer)bb2).position(1); bb2.put(bb); - assertEquals("byte buffer little endian off len", eh, f.hashBytes(bb2, 1, len)); + assertEquals(eh, f.hashBytes(bb2, 1, len), "byte buffer little endian off len"); ((Buffer)bb.order(BIG_ENDIAN)).clear(); - assertEquals("byte buffer big endian", eh, f.hashBytes(bb)); + assertEquals(eh, f.hashBytes(bb), "byte buffer big endian"); bb2.order(BIG_ENDIAN); - assertEquals("byte buffer big endian off len", eh, f.hashBytes(bb2, 1, len)); + assertEquals(eh, f.hashBytes(bb2, 1, len), "byte buffer big endian off len"); ((Buffer)bb.order(nativeOrder())).clear(); } @@ -164,18 +162,18 @@ private static void testByteBuffers(LongHashFunction f, long eh, int len, ByteBu private static void testCharSequences(LongHashFunction f, long eh, int len, ByteBuffer bb) { if ((len & 1) == 0) { String s = bb.asCharBuffer().toString(); - assertEquals("string", eh, f.hashChars(s)); + assertEquals(eh, f.hashChars(s), "string"); StringBuilder sb = new StringBuilder(); sb.append(s); - assertEquals("string builder", eh, f.hashChars(sb)); + assertEquals(eh, f.hashChars(sb), "string builder"); sb.insert(0, 'a'); sb.append('b'); - assertEquals("string builder off len", eh, f.hashChars(sb, 1, len / 2)); + assertEquals(eh, f.hashChars(sb, 1, len / 2), "string builder off len"); // Test for OpenJDK < 7u6, where substring wasn't copied char[] array - assertEquals("substring", eh, f.hashChars(sb.toString().substring(1, len / 2 + 1))); + assertEquals(eh, f.hashChars(sb.toString().substring(1, len / 2 + 1)), "substring"); if (len >= 2) { bb.order(nonNativeOrder()); @@ -183,10 +181,10 @@ private static void testCharSequences(LongHashFunction f, long eh, int len, Byte assert s.charAt(0) != bb.getChar(0); long hashCharsActual = f.hashChars(s2); - assertNotEquals("string wrong order", eh, hashCharsActual); + assertNotEquals(eh, hashCharsActual, "string wrong order"); long toCharSequenceActual = f.hash(s2, Access.toCharSequence(nonNativeOrder()), 0, len); - assertEquals("string wrong order fixed", eh, toCharSequenceActual); + assertEquals(eh, toCharSequenceActual, "string wrong order fixed"); ((Buffer)bb.order(nativeOrder())).clear(); } @@ -196,7 +194,7 @@ private static void testCharSequences(LongHashFunction f, long eh, int len, Byte private static void testMemory(LongHashFunction f, long eh, int len, ByteBuffer bb) { ByteBuffer directBB = ByteBuffer.allocateDirect(len); directBB.put(bb); - assertEquals("memory", eh, f.hashMemory(Util.getDirectBufferAddress(directBB), len)); + assertEquals(eh, f.hashMemory(Util.getDirectBufferAddress(directBB), len), "memory"); ((Buffer)bb).clear(); } diff --git a/src/test/java/net/openhft/hashing/LongTupleHashFunctionTest.java b/src/test/java/net/openhft/hashing/LongTupleHashFunctionTest.java index 9781aa2..7d729ef 100644 --- a/src/test/java/net/openhft/hashing/LongTupleHashFunctionTest.java +++ b/src/test/java/net/openhft/hashing/LongTupleHashFunctionTest.java @@ -14,11 +14,7 @@ import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.core.IsEqual.equalTo; import static org.hamcrest.core.IsNot.not; -import static org.junit.Assert.assertArrayEquals; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotSame; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.junit.jupiter.api.Assertions.*; class LongTupleHashFunctionTest { @@ -47,9 +43,9 @@ public static void test(LongTupleHashFunction f, byte[] data, long[] eh) { } private static void testBits(LongTupleHashFunction f) { - assertTrue("bits should be more than 64", f.bitsLength() > 64); - assertEquals("tuple length", (f.bitsLength() + 63) / 64, f.newResultArray().length); - assertTrue("mutiple of 8", f.bitsLength() % 8 == 0); + assertTrue(f.bitsLength() > 64, "bits should be more than 64"); + assertEquals((f.bitsLength() + 63) / 64, f.newResultArray().length, "tuple length"); + assertTrue(f.bitsLength() % 8 == 0, "mutiple of 8"); } private static void testException(LongTupleHashFunction f) { @@ -61,7 +57,7 @@ private static void testException(LongTupleHashFunction f) { } catch (Throwable e) { fail("unexpected exception: " + e.toString()); } - assertTrue("should throw NullPointerException", ok); + assertTrue(ok, "should throw NullPointerException"); ok = false; try { @@ -71,14 +67,14 @@ private static void testException(LongTupleHashFunction f) { } catch (Throwable e) { fail("unexpected exception: " + e.toString()); } - assertTrue("should throw IllegalArgumentException", ok); + assertTrue(ok, "should throw IllegalArgumentException"); // no exception with larger array long[] r1 = f.hashBytes(new byte[1]); long[] r2 = new long[r1.length + 1]; f.hashBytes(new byte[1], r2); for (int i = 0; i < r1.length; ++i) { - assertEquals("compare element[" + i + "] for larger result array", r1[i], r2[i]); + assertEquals(r1[i], r2[i], "compare element[" + i + "] for larger result array"); } } @@ -86,9 +82,9 @@ private static void testVoid(LongTupleHashFunction f, long[] eh, int len) { if (len == 0) { long[] r1 = f.hashVoid(); long[] r2 = f.hashVoid(); - assertNotSame("return different instance", r1, r2); - assertArrayEquals("void once", eh, r1); - assertArrayEquals("void twice", eh, r2); + assertNotSame(r1, r2, "return different instance"); + assertArrayEquals(eh, r1, "void once"); + assertArrayEquals(eh, r2, "void twice"); } } @@ -99,8 +95,8 @@ private static void testBoolean(LongTupleHashFunction f, int len) { boolean[] a = {b}; long[] single = f.hashBoolean(b); long[] array = f.hashBooleans(a); - assertArrayEquals("testBoolean array", single, array); - assertArrayEquals("testBoolean unsafe", single, f.hash(a, UnsafeAccess.unsafe(), UnsafeAccess.BOOLEAN_BASE, 1L)); + assertArrayEquals(single, array, "testBoolean array"); + assertArrayEquals(single, f.hash(a, UnsafeAccess.unsafe(), UnsafeAccess.BOOLEAN_BASE, 1L), "testBoolean unsafe"); } } @@ -108,23 +104,23 @@ private static void testPrimitives(LongTupleHashFunction f, long[] eh, int len, long[] actual; if (len == 1) { actual = f.hashByte(bb.get(0)); - assertArrayEquals("byte hash", eh, actual); + assertArrayEquals(eh, actual, "byte hash"); } if (len == 2) { actual = f.hashShort(bb.getShort(0)); - assertArrayEquals("short hash", eh, actual); + assertArrayEquals(eh, actual, "short hash"); actual = f.hashChar(bb.getChar(0)); - assertArrayEquals("char hash", eh, actual); + assertArrayEquals(eh, actual, "char hash"); } if (len == 4) { actual = f.hashInt(bb.getInt(0)); - assertArrayEquals("int hash", eh, actual); + assertArrayEquals(eh, actual, "int hash"); } if (len == 8) { actual = f.hashLong(bb.getLong(0)); - assertArrayEquals("long hash", eh, actual); + assertArrayEquals(eh, actual, "long hash"); } } @@ -135,61 +131,61 @@ private static void testNegativePrimitives(LongTupleHashFunction f) { long[] twoByteExpected = f.hashBytes(bytes, 0, 2); long[] fourByteExpected = f.hashBytes(bytes, 0, 4); long[] eightByteExpected = f.hashBytes(bytes); - assertArrayEquals("byte hash neg", oneByteExpected, f.hashByte((byte) -1)); - assertArrayEquals("short hash neg", twoByteExpected, f.hashShort((short) -1)); - assertArrayEquals("char hash neg", twoByteExpected, f.hashChar((char) -1)); - assertArrayEquals("int hash neg", fourByteExpected, f.hashInt(-1)); - assertArrayEquals("long hash neg", eightByteExpected, f.hashLong(-1L)); + assertArrayEquals(oneByteExpected, f.hashByte((byte) -1), "byte hash neg"); + assertArrayEquals(twoByteExpected, f.hashShort((short) -1), "short hash neg"); + assertArrayEquals(twoByteExpected, f.hashChar((char) -1), "char hash neg"); + assertArrayEquals(fourByteExpected, f.hashInt(-1), "int hash neg"); + assertArrayEquals(eightByteExpected, f.hashLong(-1L), "long hash neg"); } private static void testArrays(LongTupleHashFunction f, byte[] data, long[] eh, int len, ByteBuffer bb) { - assertArrayEquals("byte array", eh, f.hashBytes(data)); + assertArrayEquals(eh, f.hashBytes(data), "byte array"); byte[] data2 = new byte[len + 2]; System.arraycopy(data, 0, data2, 1, len); - assertArrayEquals("byte array off len", eh, f.hashBytes(data2, 1, len)); + assertArrayEquals(eh, f.hashBytes(data2, 1, len), "byte array off len"); if ((len & 1) == 0) { int shortLen = len / 2; short[] shorts = new short[shortLen]; bb.asShortBuffer().get(shorts); - assertArrayEquals("short array", eh, f.hashShorts(shorts)); + assertArrayEquals(eh, f.hashShorts(shorts), "short array"); short[] shorts2 = new short[shortLen + 2]; System.arraycopy(shorts, 0, shorts2, 1, shortLen); - assertArrayEquals("short array off len", eh, f.hashShorts(shorts2, 1, shortLen)); + assertArrayEquals(eh, f.hashShorts(shorts2, 1, shortLen), "short array off len"); char[] chars = new char[shortLen]; bb.asCharBuffer().get(chars); - assertArrayEquals("char array", eh, f.hashChars(chars)); + assertArrayEquals(eh, f.hashChars(chars), "char array"); char[] chars2 = new char[shortLen + 2]; System.arraycopy(chars, 0, chars2, 1, shortLen); - assertArrayEquals("char array off len", eh, f.hashChars(chars2, 1, shortLen)); + assertArrayEquals(eh, f.hashChars(chars2, 1, shortLen), "char array off len"); } if ((len & 3) == 0) { int intLen = len / 4; int[] ints = new int[intLen]; bb.asIntBuffer().get(ints); - assertArrayEquals("int array", eh, f.hashInts(ints)); + assertArrayEquals(eh, f.hashInts(ints), "int array"); int[] ints2 = new int[intLen + 2]; System.arraycopy(ints, 0, ints2, 1, intLen); - assertArrayEquals("int array off len", eh, f.hashInts(ints2, 1, intLen)); + assertArrayEquals(eh, f.hashInts(ints2, 1, intLen), "int array off len"); } if ((len & 7) == 0) { int longLen = len / 8; long[] longs = new long[longLen]; bb.asLongBuffer().get(longs); - assertArrayEquals("long array", eh, f.hashLongs(longs)); + assertArrayEquals(eh, f.hashLongs(longs), "long array"); long[] longs2 = new long[longLen + 2]; System.arraycopy(longs, 0, longs2, 1, longLen); - assertArrayEquals("long array off len", eh, f.hashLongs(longs2, 1, longLen)); + assertArrayEquals(eh, f.hashLongs(longs2, 1, longLen), "long array off len"); } } @@ -198,17 +194,17 @@ private static void testByteBuffers(LongTupleHashFunction f, long[] eh, int len, // object need to be invoked from a parent Buffer object explicitly. bb.order(LITTLE_ENDIAN); - assertArrayEquals("byte buffer little endian", eh, f.hashBytes(bb)); + assertArrayEquals(eh, f.hashBytes(bb), "byte buffer little endian"); ByteBuffer bb2 = ByteBuffer.allocate(len + 2).order(LITTLE_ENDIAN); ((Buffer)bb2).position(1); bb2.put(bb); - assertArrayEquals("byte buffer little endian off len", eh, f.hashBytes(bb2, 1, len)); + assertArrayEquals(eh, f.hashBytes(bb2, 1, len), "byte buffer little endian off len"); ((Buffer)bb.order(BIG_ENDIAN)).clear(); - assertArrayEquals("byte buffer big endian", eh, f.hashBytes(bb)); + assertArrayEquals(eh, f.hashBytes(bb), "byte buffer big endian"); bb2.order(BIG_ENDIAN); - assertArrayEquals("byte buffer big endian off len", eh, f.hashBytes(bb2, 1, len)); + assertArrayEquals(eh, f.hashBytes(bb2, 1, len), "byte buffer big endian off len"); ((Buffer)bb.order(nativeOrder())).clear(); } @@ -216,18 +212,18 @@ private static void testByteBuffers(LongTupleHashFunction f, long[] eh, int len, private static void testCharSequences(LongTupleHashFunction f, long[] eh, int len, ByteBuffer bb) { if ((len & 1) == 0) { String s = bb.asCharBuffer().toString(); - assertArrayEquals("string", eh, f.hashChars(s)); + assertArrayEquals(eh, f.hashChars(s), "string"); StringBuilder sb = new StringBuilder(); sb.append(s); - assertArrayEquals("string builder", eh, f.hashChars(sb)); + assertArrayEquals(eh, f.hashChars(sb), "string builder"); sb.insert(0, 'a'); sb.append('b'); - assertArrayEquals("string builder off len", eh, f.hashChars(sb, 1, len / 2)); + assertArrayEquals(eh, f.hashChars(sb, 1, len / 2), "string builder off len"); // Test for OpenJDK < 7u6, where substring wasn't copied char[] array - assertArrayEquals("substring", eh, f.hashChars(sb.toString().substring(1, len / 2 + 1))); + assertArrayEquals(eh, f.hashChars(sb.toString().substring(1, len / 2 + 1)), "substring"); if (len >= 2) { bb.order(nonNativeOrder()); @@ -238,7 +234,7 @@ private static void testCharSequences(LongTupleHashFunction f, long[] eh, int le assertThat("string wrong order", hashCharsActual, not(equalTo(eh))); long[] toCharSequenceActual = f.hash(s2, Access.toCharSequence(nonNativeOrder()), 0, len); - assertArrayEquals("string wrong order fixed", eh, toCharSequenceActual); + assertArrayEquals(eh, toCharSequenceActual, "string wrong order fixed"); ((Buffer)bb.order(nativeOrder())).clear(); } @@ -248,7 +244,7 @@ private static void testCharSequences(LongTupleHashFunction f, long[] eh, int le private static void testMemory(LongTupleHashFunction f, long[] eh, int len, ByteBuffer bb) { ByteBuffer directBB = ByteBuffer.allocateDirect(len); directBB.put(bb); - assertArrayEquals("memory", eh, f.hashMemory(Util.getDirectBufferAddress(directBB), len)); + assertArrayEquals(eh, f.hashMemory(Util.getDirectBufferAddress(directBB), len), "memory"); ((Buffer)bb).clear(); } diff --git a/src/test/java/net/openhft/hashing/MathsTest.java b/src/test/java/net/openhft/hashing/MathsTest.java index 04d393d..cb68779 100644 --- a/src/test/java/net/openhft/hashing/MathsTest.java +++ b/src/test/java/net/openhft/hashing/MathsTest.java @@ -3,9 +3,9 @@ */ package net.openhft.hashing; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.*; public class MathsTest { @Test diff --git a/src/test/java/net/openhft/hashing/MetroHashTest.java b/src/test/java/net/openhft/hashing/MetroHashTest.java index 3569291..1890113 100644 --- a/src/test/java/net/openhft/hashing/MetroHashTest.java +++ b/src/test/java/net/openhft/hashing/MetroHashTest.java @@ -3,17 +3,14 @@ */ package net.openhft.hashing; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; import java.util.ArrayList; import java.util.Collection; -@RunWith(Parameterized.class) public class MetroHashTest { - @Parameterized.Parameters public static Collection data() { ArrayList data = new ArrayList(); for (int len = 0; len < 1025; len++) { @@ -22,20 +19,19 @@ public static Collection data() { return data; } - @Parameterized.Parameter - public int len; - - @Test - public void testMetroWithoutSeeds() { - test(LongHashFunction.metro(), HASHES_OF_LOOPING_BYTES_WITHOUT_SEED); + @ParameterizedTest + @MethodSource("data") + public void testMetroWithoutSeeds(int len) { + test(len, LongHashFunction.metro(), HASHES_OF_LOOPING_BYTES_WITHOUT_SEED); } - @Test - public void testMetroWithSeeds() { - test(LongHashFunction.metro(42L), HASHES_OF_LOOPING_BYTES_WITH_SEED_42); + @ParameterizedTest + @MethodSource("data") + public void testMetroWithSeeds(int len) { + test(len, LongHashFunction.metro(42L), HASHES_OF_LOOPING_BYTES_WITH_SEED_42); } - private void test(LongHashFunction metro, long[] hashesOfLoopingBytes) { + private void test(int len, LongHashFunction metro, long[] hashesOfLoopingBytes) { byte[] data = new byte[len]; for (int j = 0; j < data.length; j++) { data[j] = (byte) j; diff --git a/src/test/java/net/openhft/hashing/ModernCompactStringHashTest.java b/src/test/java/net/openhft/hashing/ModernCompactStringHashTest.java index c2c5877..ecfa167 100644 --- a/src/test/java/net/openhft/hashing/ModernCompactStringHashTest.java +++ b/src/test/java/net/openhft/hashing/ModernCompactStringHashTest.java @@ -3,10 +3,9 @@ */ package net.openhft.hashing; -import org.junit.Assume; -import org.junit.Test; - -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; +import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assumptions.*; public class ModernCompactStringHashTest { @@ -44,7 +43,7 @@ private static boolean isCompactLatin1(String s) { @Test public void longHashReturnsVoidWhenLenIsZero() { - Assume.assumeTrue(isCompactLatin1("Cafe")); + assumeTrue(isCompactLatin1("Cafe")); RecordingLongHashFunction hash = new RecordingLongHashFunction(); long actual = ModernCompactStringHash.INSTANCE.longHash("abc", hash, 0, 0); @@ -56,12 +55,12 @@ public void longHashReturnsVoidWhenLenIsZero() { @Test public void longHashUsesCompactAccessForLatin1() { - Assume.assumeTrue(isCompactLatin1("Cafe")); + assumeTrue(isCompactLatin1("Cafe")); RecordingLongHashFunction hash = new RecordingLongHashFunction(); long actual = ModernCompactStringHash.INSTANCE.longHash("Cafe", hash, 1, 2); - Assume.assumeTrue("Compact string path not active", hash.lastAccess == CompactLatin1CharSequenceAccess.INSTANCE); + assumeTrue(hash.lastAccess == CompactLatin1CharSequenceAccess.INSTANCE, "Compact string path not active"); assertEquals(RecordingLongHashFunction.HASH_RESULT, actual); assertEquals(2L, hash.lastOffset); assertEquals(4L, hash.lastLength); @@ -69,7 +68,7 @@ public void longHashUsesCompactAccessForLatin1() { @Test public void longHashFallsBackToUnsafeForNonLatin1() { - Assume.assumeTrue(isCompactStringsVm()); + assumeTrue(isCompactStringsVm()); RecordingLongHashFunction hash = new RecordingLongHashFunction(); ModernCompactStringHash.INSTANCE.longHash("ab\u0100c", hash, 0, 4); @@ -79,21 +78,22 @@ public void longHashFallsBackToUnsafeForNonLatin1() { assertEquals(8L, hash.lastLength); } - @Test(expected = IndexOutOfBoundsException.class) + @Test public void longHashValidatesOffsets() { - Assume.assumeTrue(isCompactStringsVm()); - ModernCompactStringHash.INSTANCE.longHash("abc", new RecordingLongHashFunction(), 3, 1); + assumeTrue(isCompactStringsVm()); + assertThrows(IndexOutOfBoundsException.class, + () -> ModernCompactStringHash.INSTANCE.longHash("abc", new RecordingLongHashFunction(), 3, 1)); } @Test public void tupleHashUsesCompactAccessForLatin1() { - Assume.assumeTrue(isCompactStringsVm()); + assumeTrue(isCompactStringsVm()); RecordingLongTupleHashFunction hash = new RecordingLongTupleHashFunction(); long[] out = new long[hash.newResultArray().length]; ModernCompactStringHash.INSTANCE.hash("Cafe", hash, 1, 2, out); - Assume.assumeTrue("Compact string path not active", hash.lastAccess == CompactLatin1CharSequenceAccess.INSTANCE); + assumeTrue(hash.lastAccess == CompactLatin1CharSequenceAccess.INSTANCE, "Compact string path not active"); assertEquals(2L, hash.lastOffset); assertEquals(4L, hash.lastLength); assertEquals(RecordingLongTupleHashFunction.RESULT_VALUE, out[0]); @@ -101,7 +101,7 @@ public void tupleHashUsesCompactAccessForLatin1() { @Test public void tupleHashReturnsVoidWhenLenIsZero() { - Assume.assumeTrue(isCompactStringsVm()); + assumeTrue(isCompactStringsVm()); RecordingLongTupleHashFunction hash = new RecordingLongTupleHashFunction(); long[] out = new long[hash.newResultArray().length]; @@ -113,7 +113,7 @@ public void tupleHashReturnsVoidWhenLenIsZero() { @Test public void tupleHashFallsBackToUnsafeForNonLatin1() { - Assume.assumeTrue(isCompactStringsVm()); + assumeTrue(isCompactStringsVm()); RecordingLongTupleHashFunction hash = new RecordingLongTupleHashFunction(); long[] out = new long[hash.newResultArray().length]; diff --git a/src/test/java/net/openhft/hashing/MurmurHash3Test.java b/src/test/java/net/openhft/hashing/MurmurHash3Test.java index 57a710d..8855fdd 100644 --- a/src/test/java/net/openhft/hashing/MurmurHash3Test.java +++ b/src/test/java/net/openhft/hashing/MurmurHash3Test.java @@ -5,10 +5,9 @@ import com.google.common.hash.HashFunction; import com.google.common.hash.Hashing; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.util.Arrays; -import java.util.Random; import java.nio.ByteBuffer; import java.nio.ByteOrder; diff --git a/src/test/java/net/openhft/hashing/OriginalFarmHashTest.java b/src/test/java/net/openhft/hashing/OriginalFarmHashTest.java index f93fb24..1037558 100644 --- a/src/test/java/net/openhft/hashing/OriginalFarmHashTest.java +++ b/src/test/java/net/openhft/hashing/OriginalFarmHashTest.java @@ -3,13 +3,12 @@ */ package net.openhft.hashing; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.io.UnsupportedEncodingException; import static net.openhft.hashing.CityAndFarmHash_1_1.K0; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.*; /** * Based on https://github.com/google/farmhash/blob/34c13ddfab0e35422f4c3979f360635a8c050260/src/farmhash.cc @@ -126,7 +125,7 @@ public void testUoGo() { long hash = (Long) g[0]; try { byte[] s = ((String)g[1]).getBytes("US-ASCII"); - Assert.assertEquals(hash, LongHashFunction.farmUo().hashBytes(s)); + assertEquals(hash, LongHashFunction.farmUo().hashBytes(s)); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } diff --git a/src/test/java/net/openhft/hashing/PrimitivesTest.java b/src/test/java/net/openhft/hashing/PrimitivesTest.java index bd85d07..499949d 100644 --- a/src/test/java/net/openhft/hashing/PrimitivesTest.java +++ b/src/test/java/net/openhft/hashing/PrimitivesTest.java @@ -3,13 +3,13 @@ */ package net.openhft.hashing; -import org.junit.Test; +import org.junit.jupiter.api.Test; import static java.nio.ByteOrder.BIG_ENDIAN; import static java.nio.ByteOrder.LITTLE_ENDIAN; import static java.nio.ByteOrder.nativeOrder; -import static org.junit.Assert.assertEquals; -import static org.junit.Assume.assumeTrue; +import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assumptions.*; public class PrimitivesTest { diff --git a/src/test/java/net/openhft/hashing/UnsafeAccessTest.java b/src/test/java/net/openhft/hashing/UnsafeAccessTest.java index b3e5820..1b38a91 100644 --- a/src/test/java/net/openhft/hashing/UnsafeAccessTest.java +++ b/src/test/java/net/openhft/hashing/UnsafeAccessTest.java @@ -3,37 +3,30 @@ */ package net.openhft.hashing; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; -import org.junit.runners.Parameterized.Parameter; -import org.junit.runners.Parameterized.Parameters; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; import static java.nio.ByteOrder.BIG_ENDIAN; import static java.nio.ByteOrder.LITTLE_ENDIAN; import static java.nio.ByteOrder.nativeOrder; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotSame; -import static org.junit.Assume.assumeTrue; +import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assumptions.*; -@RunWith(Parameterized.class) public class UnsafeAccessTest { - @Parameters public static Object[] data() { return new Object[] { UnsafeAccess.INSTANCE, UnsafeAccess.OLD_INSTANCE }; } - @Parameter - public Access unsafe; - - @Test - public void testInstance() { - assertNotSame("compiled by jdk with Unsafe.getByte() method", UnsafeAccess.INSTANCE, UnsafeAccess.OLD_INSTANCE); + @ParameterizedTest + @MethodSource("data") + public void testInstance(Access unsafe) { + assertNotSame(UnsafeAccess.INSTANCE, UnsafeAccess.OLD_INSTANCE, "compiled by jdk with Unsafe.getByte() method"); } - @Test - public void testUnsafeAccess() { + @ParameterizedTest + @MethodSource("data") + public void testUnsafeAccess(Access unsafe) { { final long[] l = new long[]{0xFEDCBA9876543210L, 0x123456789ABCDEFL}; assertEquals(l[0], unsafe.getLong(l, UnsafeAccess.LONG_BASE)); @@ -65,8 +58,9 @@ public void testUnsafeAccess() { } } - @Test - public void testUnsafeAccessUnalignLE() { + @ParameterizedTest + @MethodSource("data") + public void testUnsafeAccessUnalignLE(Access unsafe) { assumeTrue(nativeOrder() == LITTLE_ENDIAN); { @@ -93,8 +87,9 @@ public void testUnsafeAccessUnalignLE() { } } - @Test - public void testUnsafeAccessUnalignBE() { + @ParameterizedTest + @MethodSource("data") + public void testUnsafeAccessUnalignBE(Access unsafe) { assumeTrue(nativeOrder() == BIG_ENDIAN); { diff --git a/src/test/java/net/openhft/hashing/UtilTest.java b/src/test/java/net/openhft/hashing/UtilTest.java index 11fe9d1..80f2dcc 100644 --- a/src/test/java/net/openhft/hashing/UtilTest.java +++ b/src/test/java/net/openhft/hashing/UtilTest.java @@ -3,9 +3,9 @@ */ package net.openhft.hashing; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.assertNotSame; +import static org.junit.jupiter.api.Assertions.*; public class UtilTest { diff --git a/src/test/java/net/openhft/hashing/WyHashTest.java b/src/test/java/net/openhft/hashing/WyHashTest.java index 997fab6..bef878f 100644 --- a/src/test/java/net/openhft/hashing/WyHashTest.java +++ b/src/test/java/net/openhft/hashing/WyHashTest.java @@ -3,16 +3,13 @@ */ package net.openhft.hashing; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; import java.util.ArrayList; import java.util.Collection; -@RunWith(Parameterized.class) public class WyHashTest { - @Parameterized.Parameters public static Collection data() { ArrayList data = new ArrayList(); for (int len = 0; len < 1025; len++) { @@ -21,20 +18,19 @@ public static Collection data() { return data; } - @Parameterized.Parameter - public int len; - - @Test - public void testWyHashWithoutSeeds() { - test(LongHashFunction.wy_3(), HASHES_OF_LOOPING_BYTES_WITHOUT_SEED); + @ParameterizedTest + @MethodSource("data") + public void testWyHashWithoutSeeds(int len) { + test(len, LongHashFunction.wy_3(), HASHES_OF_LOOPING_BYTES_WITHOUT_SEED); } - @Test - public void testWyHasWithOneSeed() { - test(LongHashFunction.wy_3(42L), HASHES_OF_LOOPING_BYTES_WITH_SEED_42); + @ParameterizedTest + @MethodSource("data") + public void testWyHasWithOneSeed(int len) { + test(len, LongHashFunction.wy_3(42L), HASHES_OF_LOOPING_BYTES_WITH_SEED_42); } - private void test(LongHashFunction wyHash, long[] hashesOfLoopingBytes) { + private void test(int len, LongHashFunction wyHash, long[] hashesOfLoopingBytes) { byte[] data = new byte[len]; for (int j = 0; j < data.length; j++) { data[j] = (byte) j; diff --git a/src/test/java/net/openhft/hashing/XXH128Test.java b/src/test/java/net/openhft/hashing/XXH128Test.java index 7ddb48e..6b5875f 100644 --- a/src/test/java/net/openhft/hashing/XXH128Test.java +++ b/src/test/java/net/openhft/hashing/XXH128Test.java @@ -3,19 +3,16 @@ */ package net.openhft.hashing; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; import java.util.ArrayList; import java.util.Collection; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.*; -@RunWith(Parameterized.class) public class XXH128Test { - @Parameterized.Parameters public static Collection data() { final int maxLen = Math.min(XXH128Test_HASHES.HASHES_OF_LOOPING_BYTES_WITHOUT_SEED.length, XXH128Test_HASHES.HASHES_OF_LOOPING_BYTES_WITH_SEED_42.length); @@ -26,20 +23,19 @@ public static Collection data() { return data; } - @Parameterized.Parameter - public int len; - - @Test - public void testXXH3WithoutSeeds() { - test(LongTupleHashFunction.xx128(), LongHashFunction.xx128low(), XXH128Test_HASHES.HASHES_OF_LOOPING_BYTES_WITHOUT_SEED); + @ParameterizedTest + @MethodSource("data") + public void testXXH3WithoutSeeds(int len) { + test(len, LongTupleHashFunction.xx128(), LongHashFunction.xx128low(), XXH128Test_HASHES.HASHES_OF_LOOPING_BYTES_WITHOUT_SEED); } - @Test - public void testXXH128WithOneSeed() { - test(LongTupleHashFunction.xx128(42L), LongHashFunction.xx128low(42L), XXH128Test_HASHES.HASHES_OF_LOOPING_BYTES_WITH_SEED_42); + @ParameterizedTest + @MethodSource("data") + public void testXXH128WithOneSeed(int len) { + test(len, LongTupleHashFunction.xx128(42L), LongHashFunction.xx128low(42L), XXH128Test_HASHES.HASHES_OF_LOOPING_BYTES_WITH_SEED_42); } - private void test(LongTupleHashFunction h, LongHashFunction hl, long[][] hashesOfLoopingBytes) { + private void test(int len, LongTupleHashFunction h, LongHashFunction hl, long[][] hashesOfLoopingBytes) { byte[] data = new byte[len]; for (int j = 0; j < data.length; j++) { data[j] = (byte) j; diff --git a/src/test/java/net/openhft/hashing/XXH3Test.java b/src/test/java/net/openhft/hashing/XXH3Test.java index fb8a540..7b889e1 100644 --- a/src/test/java/net/openhft/hashing/XXH3Test.java +++ b/src/test/java/net/openhft/hashing/XXH3Test.java @@ -3,19 +3,16 @@ */ package net.openhft.hashing; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; import java.util.ArrayList; import java.util.Collection; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.*; -@RunWith(Parameterized.class) public class XXH3Test { - @Parameterized.Parameters public static Collection data() { final int maxLen = Math.min(XXH3Test_HASHES.HASHES_OF_LOOPING_BYTES_WITHOUT_SEED.length, XXH3Test_HASHES.HASHES_OF_LOOPING_BYTES_WITH_SEED_42.length); @@ -26,20 +23,19 @@ public static Collection data() { return data; } - @Parameterized.Parameter - public int len; - - @Test - public void testXXH3WithoutSeeds() { - test(LongHashFunction.xx3(), XXH3Test_HASHES.HASHES_OF_LOOPING_BYTES_WITHOUT_SEED); + @ParameterizedTest + @MethodSource("data") + public void testXXH3WithoutSeeds(int len) { + test(len, LongHashFunction.xx3(), XXH3Test_HASHES.HASHES_OF_LOOPING_BYTES_WITHOUT_SEED); } - @Test - public void testXXH3WithOneSeed() { - test(LongHashFunction.xx3(42L), XXH3Test_HASHES.HASHES_OF_LOOPING_BYTES_WITH_SEED_42); + @ParameterizedTest + @MethodSource("data") + public void testXXH3WithOneSeed(int len) { + test(len, LongHashFunction.xx3(42L), XXH3Test_HASHES.HASHES_OF_LOOPING_BYTES_WITH_SEED_42); } - private void test(LongHashFunction h, long[] hashesOfLoopingBytes) { + private void test(int len, LongHashFunction h, long[] hashesOfLoopingBytes) { byte[] data = new byte[len]; for (int j = 0; j < data.length; j++) { data[j] = (byte) j; diff --git a/src/test/java/net/openhft/hashing/XxHashCollisionTest.java b/src/test/java/net/openhft/hashing/XxHashCollisionTest.java index ea238c4..7f0c750 100644 --- a/src/test/java/net/openhft/hashing/XxHashCollisionTest.java +++ b/src/test/java/net/openhft/hashing/XxHashCollisionTest.java @@ -3,12 +3,12 @@ */ package net.openhft.hashing; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.nio.ByteBuffer; import java.nio.ByteOrder; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.*; public class XxHashCollisionTest { diff --git a/src/test/java/net/openhft/hashing/XxHashTest.java b/src/test/java/net/openhft/hashing/XxHashTest.java index 2323feb..6855303 100644 --- a/src/test/java/net/openhft/hashing/XxHashTest.java +++ b/src/test/java/net/openhft/hashing/XxHashTest.java @@ -3,17 +3,14 @@ */ package net.openhft.hashing; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; import java.util.ArrayList; import java.util.Collection; -@RunWith(Parameterized.class) public class XxHashTest { - @Parameterized.Parameters public static Collection data() { ArrayList data = new ArrayList(); for (int len = 0; len < 1025; len++) { @@ -22,20 +19,19 @@ public static Collection data() { return data; } - @Parameterized.Parameter - public int len; - - @Test - public void testCityWithoutSeeds() { - test(LongHashFunction.xx(), HASHES_OF_LOOPING_BYTES_WITHOUT_SEED); + @ParameterizedTest + @MethodSource("data") + public void testCityWithoutSeeds(int len) { + test(len, LongHashFunction.xx(), HASHES_OF_LOOPING_BYTES_WITHOUT_SEED); } - @Test - public void testCityWithOneSeed() { - test(LongHashFunction.xx(42L), HASHES_OF_LOOPING_BYTES_WITH_SEED_42); + @ParameterizedTest + @MethodSource("data") + public void testCityWithOneSeed(int len) { + test(len, LongHashFunction.xx(42L), HASHES_OF_LOOPING_BYTES_WITH_SEED_42); } - private void test(LongHashFunction city, long[] hashesOfLoopingBytes) { + private void test(int len, LongHashFunction city, long[] hashesOfLoopingBytes) { byte[] data = new byte[len]; for (int j = 0; j < data.length; j++) { data[j] = (byte) j; From ea9441f78fb5957e0cc1095d938158a6a1df6288 Mon Sep 17 00:00:00 2001 From: Peter Lawrey Date: Mon, 23 Mar 2026 13:39:33 +0000 Subject: [PATCH 3/6] Add Eclipse project metadata --- .project | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 .project diff --git a/.project b/.project new file mode 100644 index 0000000..b7d648d --- /dev/null +++ b/.project @@ -0,0 +1,28 @@ + + + zero-allocation-hashing + + + + + + org.eclipse.m2e.core.maven2Builder + + + + + + org.eclipse.m2e.core.maven2Nature + + + + 1774259938529 + + 30 + + org.eclipse.core.resources.regexFilterMatcher + node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__ + + + + From bcde9b3a1d2dbf1b919990b24409ef9731b5b4e3 Mon Sep 17 00:00:00 2001 From: Peter Lawrey Date: Thu, 26 Mar 2026 09:50:48 +0000 Subject: [PATCH 4/6] Migrate tests to JUnit 5 - root cause: test suites still depended on JUnit 4 conventions and runners. - fix: migrate tests and supporting module code to JUnit 5. - impact: the module now follows the JUnit 5 branch baseline. --- pom.xml | 19 +- .../openhft/hashing/ByteBufferAccessTest.java | 8 +- .../hashing/CharSequenceAccessTest.java | 84 +- .../net/openhft/hashing/City64_1_1_Test.java | 6 +- .../CompactLatin1CharSequenceAccessTest.java | 51 +- .../openhft/hashing/DualHashFunctionTest.java | 7 +- .../net/openhft/hashing/FarmHashTest.java | 6 +- .../openhft/hashing/LongHashFunctionTest.java | 14 +- .../hashing/LongTupleHashFunctionTest.java | 16 +- .../java/net/openhft/hashing/MathsTest.java | 4 +- .../net/openhft/hashing/MetroHashTest.java | 6 +- .../hashing/ModernCompactStringHashTest.java | 18 +- .../net/openhft/hashing/MurmurHash3Test.java | 6 +- .../openhft/hashing/OriginalFarmHashTest.java | 19 +- .../net/openhft/hashing/PrimitivesTest.java | 6 +- .../net/openhft/hashing/UnsafeAccessTest.java | 18 +- .../java/net/openhft/hashing/UtilTest.java | 4 +- .../java/net/openhft/hashing/WyHashTest.java | 6 +- .../java/net/openhft/hashing/XXH128Test.java | 5189 +++++------ .../java/net/openhft/hashing/XXH3Test.java | 8261 +++++++++-------- .../openhft/hashing/XxHashCollisionTest.java | 4 +- .../java/net/openhft/hashing/XxHashTest.java | 6 +- 22 files changed, 6884 insertions(+), 6874 deletions(-) diff --git a/pom.xml b/pom.xml index 17b6200..3c134d0 100644 --- a/pom.xml +++ b/pom.xml @@ -5,13 +5,14 @@ --> - + - + net.openhft java-parent-pom 2026.0 - + 4.0.0 @@ -19,7 +20,8 @@ 2026.1-SNAPSHOT Zero-allocation Hashing Zero-allocation implementations of fast non-cryptographic hash functions - for byte sequences or blocks of memory + for byte sequences or blocks of memory + 2014 https://github.com/OpenHFT/Zero-Allocation-Hashing bundle @@ -222,7 +224,7 @@ - + maven-release-plugin 3.0.0-M4 @@ -230,7 +232,8 @@ org.apache.maven.scm maven-scm-provider-gitexe - 1.11.2 + 1.11.2 + @@ -249,7 +252,7 @@ - + org.apache.felix maven-bundle-plugin true @@ -301,7 +304,7 @@ 1.${project.target.release} 3.5.1 - + diff --git a/src/test/java/net/openhft/hashing/ByteBufferAccessTest.java b/src/test/java/net/openhft/hashing/ByteBufferAccessTest.java index c36a4d4..9060bfa 100644 --- a/src/test/java/net/openhft/hashing/ByteBufferAccessTest.java +++ b/src/test/java/net/openhft/hashing/ByteBufferAccessTest.java @@ -12,7 +12,7 @@ import static java.nio.ByteOrder.LITTLE_ENDIAN; import static org.junit.jupiter.api.Assertions.*; -public class ByteBufferAccessTest { +class ByteBufferAccessTest { private static final byte[] SAMPLE = { (byte) 0x12, (byte) 0x34, (byte) 0x56, (byte) 0x78, @@ -20,7 +20,7 @@ public class ByteBufferAccessTest { }; @Test - public void littleEndianAccessReadsExpectedValues() { + void littleEndianAccessReadsExpectedValues() { ByteBuffer buffer = ByteBuffer.wrap(SAMPLE).order(LITTLE_ENDIAN); ByteBufferAccess access = ByteBufferAccess.INSTANCE; @@ -35,7 +35,7 @@ public void littleEndianAccessReadsExpectedValues() { } @Test - public void bigEndianAccessReadsExpectedValues() { + void bigEndianAccessReadsExpectedValues() { ByteBuffer buffer = ByteBuffer.wrap(SAMPLE).order(BIG_ENDIAN); ByteBufferAccess access = ByteBufferAccess.INSTANCE; @@ -50,7 +50,7 @@ public void bigEndianAccessReadsExpectedValues() { } @Test - public void reverseAccessFlipsByteOrder() { + void reverseAccessFlipsByteOrder() { ByteBuffer buffer = ByteBuffer.wrap(SAMPLE).order(LITTLE_ENDIAN); Access reverse = ByteBufferAccess.INSTANCE.reverseAccess(); diff --git a/src/test/java/net/openhft/hashing/CharSequenceAccessTest.java b/src/test/java/net/openhft/hashing/CharSequenceAccessTest.java index 814acfa..8328abf 100644 --- a/src/test/java/net/openhft/hashing/CharSequenceAccessTest.java +++ b/src/test/java/net/openhft/hashing/CharSequenceAccessTest.java @@ -10,11 +10,11 @@ import static org.junit.jupiter.api.Assertions.*; import static org.junit.jupiter.api.Assumptions.*; -public class CharSequenceAccessTest { - static String TEST_STRING = new String(new char[] {0xF0E1,0xD2C3,0xB4A5,0x9687,0xC8E9}); +class CharSequenceAccessTest { + static String TEST_STRING = new String(new char[]{0xF0E1, 0xD2C3, 0xB4A5, 0x9687, 0xC8E9}); @Test - public void testInstanceLE() { + void testInstanceLE() { assumeTrue(nativeOrder() == LITTLE_ENDIAN); final Access nativeAccess = CharSequenceAccess.nativeCharSequenceAccess(); @@ -24,7 +24,7 @@ public void testInstanceLE() { } @Test - public void testInstanceBE() { + void testInstanceBE() { assumeTrue(nativeOrder() == BIG_ENDIAN); final Access nativeAccess = CharSequenceAccess.nativeCharSequenceAccess(); @@ -34,7 +34,7 @@ public void testInstanceBE() { } @Test - public void testInstanceReverse() { + void testInstanceReverse() { Access access = CharSequenceAccess.charSequenceAccess(BIG_ENDIAN); assertSame(access, access.reverseAccess().reverseAccess()); assertNotSame(access.byteOrder(null), access.reverseAccess().byteOrder(null)); @@ -49,67 +49,67 @@ public void testInstanceReverse() { } @Test - public void testLittleEndian() { + void testLittleEndian() { // This case works on both little- and big- endians. final Access access = CharSequenceAccess.charSequenceAccess(LITTLE_ENDIAN); final Access accessR = access.reverseAccess(); - assertEquals( 0x9687B4A5D2C3F0E1L, access.getLong(TEST_STRING, 0)); - assertEquals(0xE99687B4A5D2C3F0L , access.getLong(TEST_STRING, 1)); - assertEquals(0xE1F0C3D2A5B48796L , accessR.getLong(TEST_STRING, 0)); - assertEquals( 0xF0C3D2A5B48796E9L, accessR.getLong(TEST_STRING, 1)); - - assertEquals(unsignedInt( 0xD2C3F0E1), access.getUnsignedInt(TEST_STRING, 0)); - assertEquals(unsignedInt(0xA5D2C3F0 ), access.getUnsignedInt(TEST_STRING, 1)); - assertEquals( 0xD2C3F0E1, access.getInt(TEST_STRING, 0)); - assertEquals(0xA5D2C3F0 , access.getInt(TEST_STRING, 1)); - assertEquals(unsignedInt(0xE1F0C3D2) , accessR.getUnsignedInt(TEST_STRING, 0)); - assertEquals(unsignedInt( 0xF0C3D2A5), accessR.getUnsignedInt(TEST_STRING, 1)); - assertEquals(0xE1F0C3D2 , accessR.getInt(TEST_STRING, 0)); - assertEquals( 0xF0C3D2A5, accessR.getInt(TEST_STRING, 1)); - - assertEquals(unsignedShort( 0xF0E1), access.getUnsignedShort(TEST_STRING, 0)); - assertEquals(unsignedShort(0xC3F0 ), access.getUnsignedShort(TEST_STRING, 1)); - assertEquals((int)(short) 0xF0E1, access.getShort(TEST_STRING, 0)); - assertEquals((int)(short)0xC3F0 , access.getShort(TEST_STRING, 1)); - assertEquals(unsignedShort(0xE1F0 ), accessR.getUnsignedShort(TEST_STRING, 0)); - assertEquals(unsignedShort( 0xF0C3), accessR.getUnsignedShort(TEST_STRING, 1)); - assertEquals((int)(short)0xE1F0 , accessR.getShort(TEST_STRING, 0)); - assertEquals((int)(short) 0xF0C3, accessR.getShort(TEST_STRING, 1)); + assertEquals(0x9687B4A5D2C3F0E1L, access.getLong(TEST_STRING, 0)); + assertEquals(0xE99687B4A5D2C3F0L, access.getLong(TEST_STRING, 1)); + assertEquals(0xE1F0C3D2A5B48796L, accessR.getLong(TEST_STRING, 0)); + assertEquals(0xF0C3D2A5B48796E9L, accessR.getLong(TEST_STRING, 1)); + + assertEquals(unsignedInt(0xD2C3F0E1), access.getUnsignedInt(TEST_STRING, 0)); + assertEquals(unsignedInt(0xA5D2C3F0), access.getUnsignedInt(TEST_STRING, 1)); + assertEquals(0xD2C3F0E1, access.getInt(TEST_STRING, 0)); + assertEquals(0xA5D2C3F0, access.getInt(TEST_STRING, 1)); + assertEquals(unsignedInt(0xE1F0C3D2), accessR.getUnsignedInt(TEST_STRING, 0)); + assertEquals(unsignedInt(0xF0C3D2A5), accessR.getUnsignedInt(TEST_STRING, 1)); + assertEquals(0xE1F0C3D2, accessR.getInt(TEST_STRING, 0)); + assertEquals(0xF0C3D2A5, accessR.getInt(TEST_STRING, 1)); + + assertEquals(unsignedShort(0xF0E1), access.getUnsignedShort(TEST_STRING, 0)); + assertEquals(unsignedShort(0xC3F0), access.getUnsignedShort(TEST_STRING, 1)); + assertEquals((int) (short) 0xF0E1, access.getShort(TEST_STRING, 0)); + assertEquals((int) (short) 0xC3F0, access.getShort(TEST_STRING, 1)); + assertEquals(unsignedShort(0xE1F0), accessR.getUnsignedShort(TEST_STRING, 0)); + assertEquals(unsignedShort(0xF0C3), accessR.getUnsignedShort(TEST_STRING, 1)); + assertEquals((int) (short) 0xE1F0, accessR.getShort(TEST_STRING, 0)); + assertEquals((int) (short) 0xF0C3, accessR.getShort(TEST_STRING, 1)); assertEquals(unsignedByte(0xE1), access.getUnsignedByte(TEST_STRING, 0)); assertEquals(unsignedByte(0xF0), access.getUnsignedByte(TEST_STRING, 1)); - assertEquals((int)(byte)0xE1, access.getByte(TEST_STRING, 0)); - assertEquals((int)(byte)0xF0, access.getByte(TEST_STRING, 1)); + assertEquals((int) (byte) 0xE1, access.getByte(TEST_STRING, 0)); + assertEquals((int) (byte) 0xF0, access.getByte(TEST_STRING, 1)); assertEquals(unsignedByte(0xE1), accessR.getUnsignedByte(TEST_STRING, 0)); assertEquals(unsignedByte(0xF0), accessR.getUnsignedByte(TEST_STRING, 1)); - assertEquals((int)(byte)0xE1, accessR.getByte(TEST_STRING, 0)); - assertEquals((int)(byte)0xF0, accessR.getByte(TEST_STRING, 1)); + assertEquals((int) (byte) 0xE1, accessR.getByte(TEST_STRING, 0)); + assertEquals((int) (byte) 0xF0, accessR.getByte(TEST_STRING, 1)); } @Test - public void testBigEndian() { + void testBigEndian() { // This case works on both little- and big- endians. final Access access = CharSequenceAccess.charSequenceAccess(BIG_ENDIAN); - assertEquals(0xF0E1D2C3B4A59687L , access.getLong(TEST_STRING, 0)); - assertEquals( 0xE1D2C3B4A59687C8L, access.getLong(TEST_STRING, 1)); + assertEquals(0xF0E1D2C3B4A59687L, access.getLong(TEST_STRING, 0)); + assertEquals(0xE1D2C3B4A59687C8L, access.getLong(TEST_STRING, 1)); assertEquals(unsignedInt(0xF0E1D2C3), access.getUnsignedInt(TEST_STRING, 0)); - assertEquals(unsignedInt( 0xE1D2C3B4), access.getUnsignedInt(TEST_STRING, 1)); + assertEquals(unsignedInt(0xE1D2C3B4), access.getUnsignedInt(TEST_STRING, 1)); assertEquals(0xF0E1D2C3, access.getInt(TEST_STRING, 0)); - assertEquals( 0xE1D2C3B4, access.getInt(TEST_STRING, 1)); + assertEquals(0xE1D2C3B4, access.getInt(TEST_STRING, 1)); assertEquals(unsignedShort(0xF0E1), access.getUnsignedShort(TEST_STRING, 0)); - assertEquals(unsignedShort( 0xE1D2), access.getUnsignedShort(TEST_STRING, 1)); - assertEquals((int)(short)0xF0E1, access.getShort(TEST_STRING, 0)); - assertEquals((int)(short) 0xE1D2, access.getShort(TEST_STRING, 1)); + assertEquals(unsignedShort(0xE1D2), access.getUnsignedShort(TEST_STRING, 1)); + assertEquals((int) (short) 0xF0E1, access.getShort(TEST_STRING, 0)); + assertEquals((int) (short) 0xE1D2, access.getShort(TEST_STRING, 1)); assertEquals(unsignedByte(0xF0), access.getUnsignedByte(TEST_STRING, 0)); assertEquals(unsignedByte(0xE1), access.getUnsignedByte(TEST_STRING, 1)); - assertEquals((int)(byte)0xF0, access.getByte(TEST_STRING, 0)); - assertEquals((int)(byte)0xE1, access.getByte(TEST_STRING, 1)); + assertEquals((int) (byte) 0xF0, access.getByte(TEST_STRING, 0)); + assertEquals((int) (byte) 0xE1, access.getByte(TEST_STRING, 1)); } } diff --git a/src/test/java/net/openhft/hashing/City64_1_1_Test.java b/src/test/java/net/openhft/hashing/City64_1_1_Test.java index 01bb754..9f54b4e 100644 --- a/src/test/java/net/openhft/hashing/City64_1_1_Test.java +++ b/src/test/java/net/openhft/hashing/City64_1_1_Test.java @@ -9,7 +9,7 @@ import java.util.ArrayList; import java.util.Collection; -public class City64_1_1_Test { + class City64_1_1_Test { public static Collection data() { ArrayList data = new ArrayList(); @@ -21,13 +21,13 @@ public static Collection data() { @ParameterizedTest @MethodSource("data") - public void testCityWithoutSeeds(int len) { + void testCityWithoutSeeds(int len) { test(len, LongHashFunction.city_1_1(), HASHES_OF_LOOPING_BYTES_WITHOUT_SEEDS); } @ParameterizedTest @MethodSource("data") - public void testCityWithOneSeed(int len) { + void testCityWithOneSeed(int len) { test(len, LongHashFunction.city_1_1(0L, 0L), HASHES_OF_LOOPING_BYTES_WITH_SEEDS_0_0); } diff --git a/src/test/java/net/openhft/hashing/CompactLatin1CharSequenceAccessTest.java b/src/test/java/net/openhft/hashing/CompactLatin1CharSequenceAccessTest.java index 418efc7..310b293 100644 --- a/src/test/java/net/openhft/hashing/CompactLatin1CharSequenceAccessTest.java +++ b/src/test/java/net/openhft/hashing/CompactLatin1CharSequenceAccessTest.java @@ -4,6 +4,7 @@ package net.openhft.hashing; import org.junit.jupiter.api.Test; + import java.nio.ByteOrder; import static java.nio.ByteOrder.BIG_ENDIAN; @@ -11,53 +12,53 @@ import static org.junit.jupiter.api.Assertions.*; import static org.junit.jupiter.api.Assumptions.*; -public class CompactLatin1CharSequenceAccessTest { +class CompactLatin1CharSequenceAccessTest { static private final Access access = CompactLatin1CharSequenceAccess.INSTANCE; - static private final byte[] b = { (byte)0xF1, (byte)0xE2, (byte)0xD3, (byte)0xC4, (byte)0xB5 }; + static private final byte[] b = {(byte) 0xF1, (byte) 0xE2, (byte) 0xD3, (byte) 0xC4, (byte) 0xB5}; @Test - public void testLE() { + void testLE() { assumeTrue(ByteOrder.nativeOrder() == LITTLE_ENDIAN); - assertEquals( 0xC400D300E200F1L, access.getLong(b, 0)); - assertEquals(0xB500C400D300E200L, access.getLong(b, 1)); + assertEquals(0xC400D300E200F1L, access.getLong(b, 0)); + assertEquals(0xB500C400D300E200L, access.getLong(b, 1)); - assertEquals( 0xE200F1, access.getInt(b, 0)); - assertEquals( 0xD300E200, access.getInt(b, 1)); - assertEquals(Primitives.unsignedInt(0xE200F1), access.getUnsignedInt(b, 0)); + assertEquals(0xE200F1, access.getInt(b, 0)); + assertEquals(0xD300E200, access.getInt(b, 1)); + assertEquals(Primitives.unsignedInt(0xE200F1), access.getUnsignedInt(b, 0)); assertEquals(Primitives.unsignedInt(0xD300E200), access.getUnsignedInt(b, 1)); - assertEquals( 0xF1, access.getShort(b, 0)); - assertEquals( (int)(short)0xE200, access.getShort(b, 1)); - assertEquals(Primitives.unsignedShort(0xF1), access.getUnsignedShort(b, 0)); + assertEquals(0xF1, access.getShort(b, 0)); + assertEquals((int) (short) 0xE200, access.getShort(b, 1)); + assertEquals(Primitives.unsignedShort(0xF1), access.getUnsignedShort(b, 0)); assertEquals(Primitives.unsignedShort(0xE200), access.getUnsignedShort(b, 1)); - assertEquals( (int)(byte)0xF1, access.getByte(b, 0)); - assertEquals( 0, access.getByte(b, 1)); + assertEquals((int) (byte) 0xF1, access.getByte(b, 0)); + assertEquals(0, access.getByte(b, 1)); assertEquals(Primitives.unsignedByte(0xF1), access.getUnsignedByte(b, 0)); - assertEquals( 0, access.getUnsignedByte(b, 1)); + assertEquals(0, access.getUnsignedByte(b, 1)); } @Test - public void testBE() { + void testBE() { assumeTrue(ByteOrder.nativeOrder() == BIG_ENDIAN); - assertEquals(0xF100E200D300C4L, access.getLong(b, 0)); + assertEquals(0xF100E200D300C4L, access.getLong(b, 0)); assertEquals(0xF100E200D300C400L, access.getLong(b, 1)); - assertEquals( 0xF100E2, access.getInt(b, 0)); - assertEquals( 0xF100E200, access.getInt(b, 1)); - assertEquals(Primitives.unsignedInt(0xF100E2), access.getUnsignedInt(b, 0)); + assertEquals(0xF100E2, access.getInt(b, 0)); + assertEquals(0xF100E200, access.getInt(b, 1)); + assertEquals(Primitives.unsignedInt(0xF100E2), access.getUnsignedInt(b, 0)); assertEquals(Primitives.unsignedInt(0xF100E200), access.getUnsignedInt(b, 1)); - assertEquals( 0xF1, access.getShort(b, 0)); - assertEquals( (int)(short)0xF100, access.getShort(b, 1)); - assertEquals(Primitives.unsignedShort(0xF1), access.getUnsignedShort(b, 0)); + assertEquals(0xF1, access.getShort(b, 0)); + assertEquals((int) (short) 0xF100, access.getShort(b, 1)); + assertEquals(Primitives.unsignedShort(0xF1), access.getUnsignedShort(b, 0)); assertEquals(Primitives.unsignedShort(0xF100), access.getUnsignedShort(b, 1)); - assertEquals( 0, access.getByte(b, 0)); - assertEquals( (int)(byte)0xF1, access.getByte(b, 1)); - assertEquals( 0, access.getUnsignedByte(b, 0)); + assertEquals(0, access.getByte(b, 0)); + assertEquals((int) (byte) 0xF1, access.getByte(b, 1)); + assertEquals(0, access.getUnsignedByte(b, 0)); assertEquals(Primitives.unsignedByte(0xF1), access.getUnsignedByte(b, 1)); } } diff --git a/src/test/java/net/openhft/hashing/DualHashFunctionTest.java b/src/test/java/net/openhft/hashing/DualHashFunctionTest.java index da0c28d..d2b9ce2 100644 --- a/src/test/java/net/openhft/hashing/DualHashFunctionTest.java +++ b/src/test/java/net/openhft/hashing/DualHashFunctionTest.java @@ -4,12 +4,13 @@ package net.openhft.hashing; import org.junit.jupiter.api.Test; + import static org.junit.jupiter.api.Assertions.*; -public class DualHashFunctionTest { +class DualHashFunctionTest { @Test - public void hashLongRejectsTooSmallResultArray() { + void hashLongRejectsTooSmallResultArray() { assertThrows(IllegalArgumentException.class, () -> { LongTupleHashFunction tuple = XXH3.asLongTupleHashFunctionWithoutSeed(); tuple.hashLong(17L, new long[0]); @@ -17,7 +18,7 @@ public void hashLongRejectsTooSmallResultArray() { } @Test - public void longHashViewMatchesTupleFirstWord() { + void longHashViewMatchesTupleFirstWord() { LongTupleHashFunction tuple = XXH3.asLongTupleHashFunctionWithoutSeed(); long value = 123456789L; long[] viaAllocation = tuple.hashLong(value); diff --git a/src/test/java/net/openhft/hashing/FarmHashTest.java b/src/test/java/net/openhft/hashing/FarmHashTest.java index 642f0ec..7ad871a 100644 --- a/src/test/java/net/openhft/hashing/FarmHashTest.java +++ b/src/test/java/net/openhft/hashing/FarmHashTest.java @@ -9,10 +9,10 @@ * This tests coherence of supporting functions like hashInt(), hashLong(), hashChars etc. * Algorithm is tested in OriginalFarmHashTest */ -public class FarmHashTest { +class FarmHashTest { @Test - public void testUo() { + void testUo() { for (int len = 0; len < 1026; len++) { byte[] data = new byte[len]; for (int i = 0; i < len; i++) { @@ -30,7 +30,7 @@ public void testUo() { } @Test - public void testNa() { + void testNa() { for (int len = 0; len < 1026; len++) { byte[] data = new byte[len]; for (int i = 0; i < len; i++) { diff --git a/src/test/java/net/openhft/hashing/LongHashFunctionTest.java b/src/test/java/net/openhft/hashing/LongHashFunctionTest.java index 6e0054c..26d6928 100644 --- a/src/test/java/net/openhft/hashing/LongHashFunctionTest.java +++ b/src/test/java/net/openhft/hashing/LongHashFunctionTest.java @@ -41,7 +41,7 @@ private static void testVoid(LongHashFunction f, long eh, int len) { private static void testBoolean(LongHashFunction f, int len) { if (len != 1) return; - for (boolean b : new boolean[] {true, false}) { + for (boolean b : new boolean[]{true, false}) { boolean[] a = {b}; long single = f.hashBoolean(b); long array = f.hashBooleans(a); @@ -146,17 +146,17 @@ private static void testByteBuffers(LongHashFunction f, long eh, int len, ByteBu bb.order(LITTLE_ENDIAN); assertEquals(eh, f.hashBytes(bb), "byte buffer little endian"); ByteBuffer bb2 = ByteBuffer.allocate(len + 2).order(LITTLE_ENDIAN); - ((Buffer)bb2).position(1); + ((Buffer) bb2).position(1); bb2.put(bb); assertEquals(eh, f.hashBytes(bb2, 1, len), "byte buffer little endian off len"); - ((Buffer)bb.order(BIG_ENDIAN)).clear(); + ((Buffer) bb.order(BIG_ENDIAN)).clear(); assertEquals(eh, f.hashBytes(bb), "byte buffer big endian"); bb2.order(BIG_ENDIAN); assertEquals(eh, f.hashBytes(bb2, 1, len), "byte buffer big endian off len"); - ((Buffer)bb.order(nativeOrder())).clear(); + ((Buffer) bb.order(nativeOrder())).clear(); } private static void testCharSequences(LongHashFunction f, long eh, int len, ByteBuffer bb) { @@ -186,7 +186,7 @@ private static void testCharSequences(LongHashFunction f, long eh, int len, Byte long toCharSequenceActual = f.hash(s2, Access.toCharSequence(nonNativeOrder()), 0, len); assertEquals(eh, toCharSequenceActual, "string wrong order fixed"); - ((Buffer)bb.order(nativeOrder())).clear(); + ((Buffer) bb.order(nativeOrder())).clear(); } } } @@ -195,7 +195,7 @@ private static void testMemory(LongHashFunction f, long eh, int len, ByteBuffer ByteBuffer directBB = ByteBuffer.allocateDirect(len); directBB.put(bb); assertEquals(eh, f.hashMemory(Util.getDirectBufferAddress(directBB), len), "memory"); - ((Buffer)bb).clear(); + ((Buffer) bb).clear(); } private static void testLatin1String(LongHashFunction f, byte[] data) { @@ -204,7 +204,7 @@ private static void testLatin1String(LongHashFunction f, byte[] data) { String inputStr = new String(data, "ISO-8859-1"); char[] inputCharArray = new char[data.length]; for (int i = 0; i < data.length; ++i) { - inputCharArray[i] = (char)(data[i]&0xFF); + inputCharArray[i] = (char) (data[i] & 0xFF); } assertEquals(f.hashChars(inputStr), f.hashChars(inputCharArray)); } catch (Exception e) { diff --git a/src/test/java/net/openhft/hashing/LongTupleHashFunctionTest.java b/src/test/java/net/openhft/hashing/LongTupleHashFunctionTest.java index 7d729ef..ddc7bbb 100644 --- a/src/test/java/net/openhft/hashing/LongTupleHashFunctionTest.java +++ b/src/test/java/net/openhft/hashing/LongTupleHashFunctionTest.java @@ -91,7 +91,7 @@ private static void testVoid(LongTupleHashFunction f, long[] eh, int len) { private static void testBoolean(LongTupleHashFunction f, int len) { if (len != 1) return; - for (boolean b : new boolean[] {true, false}) { + for (boolean b : new boolean[]{true, false}) { boolean[] a = {b}; long[] single = f.hashBoolean(b); long[] array = f.hashBooleans(a); @@ -196,17 +196,17 @@ private static void testByteBuffers(LongTupleHashFunction f, long[] eh, int len, bb.order(LITTLE_ENDIAN); assertArrayEquals(eh, f.hashBytes(bb), "byte buffer little endian"); ByteBuffer bb2 = ByteBuffer.allocate(len + 2).order(LITTLE_ENDIAN); - ((Buffer)bb2).position(1); + ((Buffer) bb2).position(1); bb2.put(bb); assertArrayEquals(eh, f.hashBytes(bb2, 1, len), "byte buffer little endian off len"); - ((Buffer)bb.order(BIG_ENDIAN)).clear(); + ((Buffer) bb.order(BIG_ENDIAN)).clear(); assertArrayEquals(eh, f.hashBytes(bb), "byte buffer big endian"); bb2.order(BIG_ENDIAN); assertArrayEquals(eh, f.hashBytes(bb2, 1, len), "byte buffer big endian off len"); - ((Buffer)bb.order(nativeOrder())).clear(); + ((Buffer) bb.order(nativeOrder())).clear(); } private static void testCharSequences(LongTupleHashFunction f, long[] eh, int len, ByteBuffer bb) { @@ -236,7 +236,7 @@ private static void testCharSequences(LongTupleHashFunction f, long[] eh, int le long[] toCharSequenceActual = f.hash(s2, Access.toCharSequence(nonNativeOrder()), 0, len); assertArrayEquals(eh, toCharSequenceActual, "string wrong order fixed"); - ((Buffer)bb.order(nativeOrder())).clear(); + ((Buffer) bb.order(nativeOrder())).clear(); } } } @@ -245,7 +245,7 @@ private static void testMemory(LongTupleHashFunction f, long[] eh, int len, Byte ByteBuffer directBB = ByteBuffer.allocateDirect(len); directBB.put(bb); assertArrayEquals(eh, f.hashMemory(Util.getDirectBufferAddress(directBB), len), "memory"); - ((Buffer)bb).clear(); + ((Buffer) bb).clear(); } private static void testLatin1String(LongTupleHashFunction f, byte[] data) { @@ -254,11 +254,11 @@ private static void testLatin1String(LongTupleHashFunction f, byte[] data) { String inputStr = new String(data, "ISO-8859-1"); char[] inputCharArray = new char[data.length]; for (int i = 0; i < data.length; ++i) { - inputCharArray[i] = (char)(data[i]&0xFF); + inputCharArray[i] = (char) (data[i] & 0xFF); } char[] inputCharArray2 = new char[data.length]; for (int i = 0; i < data.length; ++i) { - inputCharArray2[i] = (char)(data[i]&0xFF); + inputCharArray2[i] = (char) (data[i] & 0xFF); } assertArrayEquals(f.hashChars(inputStr), f.hashChars(inputCharArray)); } catch (Exception e) { diff --git a/src/test/java/net/openhft/hashing/MathsTest.java b/src/test/java/net/openhft/hashing/MathsTest.java index cb68779..63a5c32 100644 --- a/src/test/java/net/openhft/hashing/MathsTest.java +++ b/src/test/java/net/openhft/hashing/MathsTest.java @@ -7,9 +7,9 @@ import static org.junit.jupiter.api.Assertions.*; -public class MathsTest { +class MathsTest { @Test - public void testUnsignedLongMulXorFold() { + void testUnsignedLongMulXorFold() { { long x = 0x100000001L; long y = 0x200000002L; diff --git a/src/test/java/net/openhft/hashing/MetroHashTest.java b/src/test/java/net/openhft/hashing/MetroHashTest.java index 1890113..423e24f 100644 --- a/src/test/java/net/openhft/hashing/MetroHashTest.java +++ b/src/test/java/net/openhft/hashing/MetroHashTest.java @@ -9,7 +9,7 @@ import java.util.ArrayList; import java.util.Collection; -public class MetroHashTest { + class MetroHashTest { public static Collection data() { ArrayList data = new ArrayList(); @@ -21,13 +21,13 @@ public static Collection data() { @ParameterizedTest @MethodSource("data") - public void testMetroWithoutSeeds(int len) { + void testMetroWithoutSeeds(int len) { test(len, LongHashFunction.metro(), HASHES_OF_LOOPING_BYTES_WITHOUT_SEED); } @ParameterizedTest @MethodSource("data") - public void testMetroWithSeeds(int len) { + void testMetroWithSeeds(int len) { test(len, LongHashFunction.metro(42L), HASHES_OF_LOOPING_BYTES_WITH_SEED_42); } diff --git a/src/test/java/net/openhft/hashing/ModernCompactStringHashTest.java b/src/test/java/net/openhft/hashing/ModernCompactStringHashTest.java index ecfa167..959159f 100644 --- a/src/test/java/net/openhft/hashing/ModernCompactStringHashTest.java +++ b/src/test/java/net/openhft/hashing/ModernCompactStringHashTest.java @@ -4,10 +4,12 @@ package net.openhft.hashing; import static org.junit.jupiter.api.Assertions.*; + import org.junit.jupiter.api.Test; + import static org.junit.jupiter.api.Assumptions.*; -public class ModernCompactStringHashTest { +class ModernCompactStringHashTest { private static boolean isCompactStringsVm() { return System.getProperty("java.version").compareTo("1.9") >= 0; @@ -42,7 +44,7 @@ private static boolean isCompactLatin1(String s) { } @Test - public void longHashReturnsVoidWhenLenIsZero() { + void longHashReturnsVoidWhenLenIsZero() { assumeTrue(isCompactLatin1("Cafe")); RecordingLongHashFunction hash = new RecordingLongHashFunction(); @@ -54,7 +56,7 @@ public void longHashReturnsVoidWhenLenIsZero() { } @Test - public void longHashUsesCompactAccessForLatin1() { + void longHashUsesCompactAccessForLatin1() { assumeTrue(isCompactLatin1("Cafe")); RecordingLongHashFunction hash = new RecordingLongHashFunction(); @@ -67,7 +69,7 @@ public void longHashUsesCompactAccessForLatin1() { } @Test - public void longHashFallsBackToUnsafeForNonLatin1() { + void longHashFallsBackToUnsafeForNonLatin1() { assumeTrue(isCompactStringsVm()); RecordingLongHashFunction hash = new RecordingLongHashFunction(); @@ -79,14 +81,14 @@ public void longHashFallsBackToUnsafeForNonLatin1() { } @Test - public void longHashValidatesOffsets() { + void longHashValidatesOffsets() { assumeTrue(isCompactStringsVm()); assertThrows(IndexOutOfBoundsException.class, () -> ModernCompactStringHash.INSTANCE.longHash("abc", new RecordingLongHashFunction(), 3, 1)); } @Test - public void tupleHashUsesCompactAccessForLatin1() { + void tupleHashUsesCompactAccessForLatin1() { assumeTrue(isCompactStringsVm()); RecordingLongTupleHashFunction hash = new RecordingLongTupleHashFunction(); long[] out = new long[hash.newResultArray().length]; @@ -100,7 +102,7 @@ public void tupleHashUsesCompactAccessForLatin1() { } @Test - public void tupleHashReturnsVoidWhenLenIsZero() { + void tupleHashReturnsVoidWhenLenIsZero() { assumeTrue(isCompactStringsVm()); RecordingLongTupleHashFunction hash = new RecordingLongTupleHashFunction(); long[] out = new long[hash.newResultArray().length]; @@ -112,7 +114,7 @@ public void tupleHashReturnsVoidWhenLenIsZero() { } @Test - public void tupleHashFallsBackToUnsafeForNonLatin1() { + void tupleHashFallsBackToUnsafeForNonLatin1() { assumeTrue(isCompactStringsVm()); RecordingLongTupleHashFunction hash = new RecordingLongTupleHashFunction(); long[] out = new long[hash.newResultArray().length]; diff --git a/src/test/java/net/openhft/hashing/MurmurHash3Test.java b/src/test/java/net/openhft/hashing/MurmurHash3Test.java index 8855fdd..a1f081e 100644 --- a/src/test/java/net/openhft/hashing/MurmurHash3Test.java +++ b/src/test/java/net/openhft/hashing/MurmurHash3Test.java @@ -11,15 +11,15 @@ import java.nio.ByteBuffer; import java.nio.ByteOrder; -public class MurmurHash3Test { +class MurmurHash3Test { @Test - public void testMurmurWithoutSeed() { + void testMurmurWithoutSeed() { testMurmur(LongTupleHashFunction.murmur_3(), LongHashFunction.murmur_3(), Hashing.murmur3_128()); } @Test - public void testMurmurWithSeed() { + void testMurmurWithSeed() { testMurmur(LongTupleHashFunction.murmur_3(42L), LongHashFunction.murmur_3(42L), Hashing.murmur3_128(42)); } diff --git a/src/test/java/net/openhft/hashing/OriginalFarmHashTest.java b/src/test/java/net/openhft/hashing/OriginalFarmHashTest.java index 1037558..6403de8 100644 --- a/src/test/java/net/openhft/hashing/OriginalFarmHashTest.java +++ b/src/test/java/net/openhft/hashing/OriginalFarmHashTest.java @@ -13,10 +13,11 @@ /** * Based on https://github.com/google/farmhash/blob/34c13ddfab0e35422f4c3979f360635a8c050260/src/farmhash.cc */ -public class OriginalFarmHashTest { +class OriginalFarmHashTest { private static final int kDataSize = 1 << 20; private static final int kTestSize = 300; private static final byte[] data = new byte[kDataSize]; + static { long a = 9; long b = 777; @@ -63,12 +64,12 @@ private static long SEED1(int offset) { } @Test - public void testNa() { + void testNa() { int expectedIndex = 0, i = 0; - for ( ; i < kTestSize - 1; i++) { + for (; i < kTestSize - 1; i++) { expectedIndex = testNa(i * i, i, expectedIndex); } - for ( ; i < kDataSize; i += i / 7) { + for (; i < kDataSize; i += i / 7) { expectedIndex = testNa(0, i, expectedIndex); } testNa(0, kDataSize, expectedIndex); @@ -94,12 +95,12 @@ private static int testNa(int offset, int len, int expectedIndex) { } @Test - public void testUo() { + void testUo() { int expectedIndex = 0, i = 0; - for ( ; i < kTestSize - 1; i++) { + for (; i < kTestSize - 1; i++) { expectedIndex = testUo(i * i, i, expectedIndex); } - for ( ; i < kDataSize; i += i / 7) { + for (; i < kDataSize; i += i / 7) { expectedIndex = testUo(0, i, expectedIndex); } testUo(0, kDataSize, expectedIndex); @@ -120,11 +121,11 @@ private static int testUo(int offset, int len, int expectedIndex) { } @Test - public void testUoGo() { + void testUoGo() { for (Object[] g : GOLDEN_64) { long hash = (Long) g[0]; try { - byte[] s = ((String)g[1]).getBytes("US-ASCII"); + byte[] s = ((String) g[1]).getBytes("US-ASCII"); assertEquals(hash, LongHashFunction.farmUo().hashBytes(s)); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); diff --git a/src/test/java/net/openhft/hashing/PrimitivesTest.java b/src/test/java/net/openhft/hashing/PrimitivesTest.java index 499949d..8d0e918 100644 --- a/src/test/java/net/openhft/hashing/PrimitivesTest.java +++ b/src/test/java/net/openhft/hashing/PrimitivesTest.java @@ -11,7 +11,7 @@ import static org.junit.jupiter.api.Assertions.*; import static org.junit.jupiter.api.Assumptions.*; -public class PrimitivesTest { +class PrimitivesTest { private static final long l = 0x0123456789ABCDEFL; private static final int i = 0x01234567; @@ -24,7 +24,7 @@ public class PrimitivesTest { private static final short rc = 0x6745; @Test - public void testLE() { + void testLE() { assumeTrue(nativeOrder() == LITTLE_ENDIAN); assertEquals(l, Primitives.nativeToLittleEndian(l)); @@ -39,7 +39,7 @@ public void testLE() { } @Test - public void testBE() { + void testBE() { assumeTrue(nativeOrder() == BIG_ENDIAN); assertEquals(rl, Primitives.nativeToLittleEndian(l)); diff --git a/src/test/java/net/openhft/hashing/UnsafeAccessTest.java b/src/test/java/net/openhft/hashing/UnsafeAccessTest.java index 1b38a91..ca052f5 100644 --- a/src/test/java/net/openhft/hashing/UnsafeAccessTest.java +++ b/src/test/java/net/openhft/hashing/UnsafeAccessTest.java @@ -12,21 +12,21 @@ import static org.junit.jupiter.api.Assertions.*; import static org.junit.jupiter.api.Assumptions.*; -public class UnsafeAccessTest { +class UnsafeAccessTest { public static Object[] data() { - return new Object[] { UnsafeAccess.INSTANCE, UnsafeAccess.OLD_INSTANCE }; + return new Object[]{UnsafeAccess.INSTANCE, UnsafeAccess.OLD_INSTANCE}; } @ParameterizedTest @MethodSource("data") - public void testInstance(Access unsafe) { + void testInstance(Access unsafe) { assertNotSame(UnsafeAccess.INSTANCE, UnsafeAccess.OLD_INSTANCE, "compiled by jdk with Unsafe.getByte() method"); } @ParameterizedTest @MethodSource("data") - public void testUnsafeAccess(Access unsafe) { + void testUnsafeAccess(Access unsafe) { { final long[] l = new long[]{0xFEDCBA9876543210L, 0x123456789ABCDEFL}; assertEquals(l[0], unsafe.getLong(l, UnsafeAccess.LONG_BASE)); @@ -50,7 +50,7 @@ public void testUnsafeAccess(Access unsafe) { } { - final byte[] b = new byte[]{(byte)0xF4, 0x5D}; + final byte[] b = new byte[]{(byte) 0xF4, 0x5D}; assertEquals((int) b[0], unsafe.getByte(b, UnsafeAccess.BYTE_BASE)); assertEquals((int) b[1], unsafe.getByte(b, UnsafeAccess.BYTE_BASE + 1)); assertEquals(Primitives.unsignedByte(b[0]), unsafe.getUnsignedByte(b, UnsafeAccess.BYTE_BASE)); @@ -60,7 +60,7 @@ public void testUnsafeAccess(Access unsafe) { @ParameterizedTest @MethodSource("data") - public void testUnsafeAccessUnalignLE(Access unsafe) { + void testUnsafeAccessUnalignLE(Access unsafe) { assumeTrue(nativeOrder() == LITTLE_ENDIAN); { @@ -81,7 +81,7 @@ public void testUnsafeAccessUnalignLE(Access unsafe) { } { - final byte[] b = new byte[]{(byte)0xF4, 0x5D}; + final byte[] b = new byte[]{(byte) 0xF4, 0x5D}; assertEquals((int) 0x5D, unsafe.getByte(b, UnsafeAccess.BYTE_BASE + 1)); assertEquals(Primitives.unsignedByte(0x5D), unsafe.getUnsignedByte(b, UnsafeAccess.BYTE_BASE + 1)); } @@ -89,7 +89,7 @@ public void testUnsafeAccessUnalignLE(Access unsafe) { @ParameterizedTest @MethodSource("data") - public void testUnsafeAccessUnalignBE(Access unsafe) { + void testUnsafeAccessUnalignBE(Access unsafe) { assumeTrue(nativeOrder() == BIG_ENDIAN); { @@ -110,7 +110,7 @@ public void testUnsafeAccessUnalignBE(Access unsafe) { } { - final byte[] b = new byte[]{(byte)0xF4, 0x5D}; + final byte[] b = new byte[]{(byte) 0xF4, 0x5D}; assertEquals((int) 0x5D, unsafe.getByte(b, UnsafeAccess.BYTE_BASE + 1)); assertEquals(Primitives.unsignedByte(0x5D), unsafe.getUnsignedByte(b, UnsafeAccess.BYTE_BASE + 1)); } diff --git a/src/test/java/net/openhft/hashing/UtilTest.java b/src/test/java/net/openhft/hashing/UtilTest.java index 80f2dcc..ec04575 100644 --- a/src/test/java/net/openhft/hashing/UtilTest.java +++ b/src/test/java/net/openhft/hashing/UtilTest.java @@ -7,10 +7,10 @@ import static org.junit.jupiter.api.Assertions.*; -public class UtilTest { +class UtilTest { @Test - public void testStringHash() { + void testStringHash() { // This is a sentinel test to make sure that in all known VMs it will not fall back to use // native CharSequenceAccess assertNotSame(Util.VALID_STRING_HASH, UnknownJvmStringHash.INSTANCE); diff --git a/src/test/java/net/openhft/hashing/WyHashTest.java b/src/test/java/net/openhft/hashing/WyHashTest.java index bef878f..b0f4985 100644 --- a/src/test/java/net/openhft/hashing/WyHashTest.java +++ b/src/test/java/net/openhft/hashing/WyHashTest.java @@ -9,7 +9,7 @@ import java.util.ArrayList; import java.util.Collection; -public class WyHashTest { + class WyHashTest { public static Collection data() { ArrayList data = new ArrayList(); for (int len = 0; len < 1025; len++) { @@ -20,13 +20,13 @@ public static Collection data() { @ParameterizedTest @MethodSource("data") - public void testWyHashWithoutSeeds(int len) { + void testWyHashWithoutSeeds(int len) { test(len, LongHashFunction.wy_3(), HASHES_OF_LOOPING_BYTES_WITHOUT_SEED); } @ParameterizedTest @MethodSource("data") - public void testWyHasWithOneSeed(int len) { + void testWyHasWithOneSeed(int len) { test(len, LongHashFunction.wy_3(42L), HASHES_OF_LOOPING_BYTES_WITH_SEED_42); } diff --git a/src/test/java/net/openhft/hashing/XXH128Test.java b/src/test/java/net/openhft/hashing/XXH128Test.java index 6b5875f..5c45c59 100644 --- a/src/test/java/net/openhft/hashing/XXH128Test.java +++ b/src/test/java/net/openhft/hashing/XXH128Test.java @@ -11,11 +11,11 @@ import static org.junit.jupiter.api.Assertions.*; -public class XXH128Test { +class XXH128Test { public static Collection data() { final int maxLen = Math.min(XXH128Test_HASHES.HASHES_OF_LOOPING_BYTES_WITHOUT_SEED.length, - XXH128Test_HASHES.HASHES_OF_LOOPING_BYTES_WITH_SEED_42.length); + XXH128Test_HASHES.HASHES_OF_LOOPING_BYTES_WITH_SEED_42.length); ArrayList data = new ArrayList(); for (int len = 0; len < maxLen; len++) { data.add(new Object[]{len}); @@ -25,13 +25,13 @@ public static Collection data() { @ParameterizedTest @MethodSource("data") - public void testXXH3WithoutSeeds(int len) { + void testXXH3WithoutSeeds(int len) { test(len, LongTupleHashFunction.xx128(), LongHashFunction.xx128low(), XXH128Test_HASHES.HASHES_OF_LOOPING_BYTES_WITHOUT_SEED); } @ParameterizedTest @MethodSource("data") - public void testXXH128WithOneSeed(int len) { + void testXXH128WithOneSeed(int len) { test(len, LongTupleHashFunction.xx128(42L), LongHashFunction.xx128low(42L), XXH128Test_HASHES.HASHES_OF_LOOPING_BYTES_WITH_SEED_42); } @@ -44,2604 +44,2605 @@ private void test(int len, LongTupleHashFunction h, LongHashFunction hl, long[][ LongHashFunctionTest.test(hl, data, hashesOfLoopingBytes[len][0]); } } + /** * Test data is output of the following program with xxh3 implementation * from https://github.com/Cyan4973/xxHash - -#include "xxhash.c" -#include -#include -int main() -{ - const int N = 1024 + 256; // at least one full blocks - char* src = (char*) malloc(N); - for (int i = 0; i < N; i++) { - src[i] = (char) i; - } - - printf("class XXH128Test_HASHES {\n"); - printf(" public static final long[][] HASHES_OF_LOOPING_BYTES_WITHOUT_SEED = {\n"); - for (int i = 0; i <= N; i++) { - const XXH128_hash_t result = XXH3_128bits(src, i); - printf(" { %lldL, %lldL },\n", (long long)result.low64, (long long)result.high64); - } - printf(" };\n"); - - printf(" public static final long[][] HASHES_OF_LOOPING_BYTES_WITH_SEED_42 = {\n"); - for (int i = 0; i <= N; i++) { - const XXH128_hash_t result = XXH3_128bits_withSeed(src, i, 42); - printf(" { %lldL, %lldL },\n", (long long)result.low64, (long long)result.high64); - } - printf(" };\n"); - printf("}\n"); -} + *

+ * #include "xxhash.c" + * #include + * #include + * int main() + * { + * const int N = 1024 + 256; // at least one full blocks + * char* src = (char*) malloc(N); + * for (int i = 0; i < N; i++) { + * src[i] = (char) i; + * } + *

+ * printf("class XXH128Test_HASHES {\n"); + * printf(" public static final long[][] HASHES_OF_LOOPING_BYTES_WITHOUT_SEED = {\n"); + * for (int i = 0; i <= N; i++) { + * const XXH128_hash_t result = XXH3_128bits(src, i); + * printf(" { %lldL, %lldL },\n", (long long)result.low64, (long long)result.high64); + * } + * printf(" };\n"); + *

+ * printf(" public static final long[][] HASHES_OF_LOOPING_BYTES_WITH_SEED_42 = {\n"); + * for (int i = 0; i <= N; i++) { + * const XXH128_hash_t result = XXH3_128bits_withSeed(src, i, 42); + * printf(" { %lldL, %lldL },\n", (long long)result.low64, (long long)result.high64); + * } + * printf(" };\n"); + * printf("}\n"); + * } */ class XXH128Test_HASHES { public static final long[][] HASHES_OF_LOOPING_BYTES_WITHOUT_SEED = { - { 6918025063187695999L, -7374073936536430376L }, - { -4302098779834749733L, -6427377105285148822L }, - { -2998166160713018281L, 7659024777716224941L }, - { 6864218090047839419L, -2038618426559555633L }, - { -6480366142596956747L, -1481473859315439130L }, - { -3953929349995588965L, -7767492055996579519L }, - { -6434184480940321117L, 6079588180421601534L }, - { -2616020178111209730L, 7047615666104579453L }, - { -3470854323700000575L, -2169535271171686428L }, - { -8036337532808841402L, 1641396966678784974L }, - { -1838610295139896408L, -4786474928096720073L }, - { 9036419607108199075L, -6004001502991493996L }, - { 8611141083647120330L, 4105350226480938181L }, - { -4793706706242476352L, -5867379820156476408L }, - { 6185226889748380721L, 6886539015187124138L }, - { 6731536092874631L, 3466258189393024666L }, - { -8923861991986181406L, 8256512301565609954L }, - { -4580685021937757673L, 7519819888072656255L }, - { -2043568341533119453L, -8660816345503928947L }, - { -4288028997403044897L, 8510040706351439064L }, - { -3641643329425012519L, 2411460379579264364L }, - { -6817119268007077771L, -8484709459460756717L }, - { -8321648494418841644L, 1039740944917575917L }, - { 3538050101539897582L, 2362743675522042414L }, - { 5258435933086838188L, -4848199824445801375L }, - { -6362280687837106391L, -6773951973449392900L }, - { 4361114911410139889L, 7972785452136460766L }, - { -1076301070271465131L, 8384558886439123465L }, - { -4260306398241836702L, -4749396038389899603L }, - { 7705536077211324767L, 7065275513754572192L }, - { 8848360094546279194L, 4251126870462033189L }, - { -5382395732421186272L, 5680046751876868219L }, - { 5007322629095085719L, 2731373470772162258L }, - { -2266009261689938298L, 150690519598499383L }, - { 5654476833875738032L, -2061690640343340129L }, - { -1954811291194740257L, -5419036513975901981L }, - { -6890789870811920961L, 2325998689782383239L }, - { 524837945339210726L, -3715887750118223357L }, - { -1133972665109461700L, 8834173286146294154L }, - { -4865757570688729898L, -6727182884028692069L }, - { -5911952424608985308L, -6049127781180242975L }, - { -6304772494633596832L, 4470293576424874190L }, - { 2836199333566295238L, 8864173708278309166L }, - { 3102360108557900747L, -3733512248908528829L }, - { 5510180088237800518L, 4123807595437003297L }, - { -8414952918150047989L, 4522684623950545953L }, - { 5518787400664681885L, 2205797938276248879L }, - { -4455668116525212265L, 1731227964152171874L }, - { -669789427027077066L, -2931659152274064678L }, - { -5683078161783893371L, -3845762003302041006L }, - { 6680667259477693981L, 6292675962771587338L }, - { -4632250858732682011L, 6003962969507266903L }, - { 4901952080618105871L, -4810616663349653181L }, - { -4868621977036224471L, -613718830978964302L }, - { -8549747210893534701L, -7652856120690185923L }, - { 5559482992819465126L, -2935778481022073662L }, - { 5338789689922860629L, -7042626160273499760L }, - { 1932600112628823928L, 6801794573522504318L }, - { 416099586592393932L, 6439908650131601962L }, - { 7024137889223187025L, -2290925491907122061L }, - { 1045082728260193951L, 6309788576958218843L }, - { 6002976951327322033L, 2207846278132305118L }, - { -8528919693413636608L, 2135399881265353259L }, - { 216915620139749202L, -4932202155253948654L }, - { -8015959707258401164L, -7174775121992399387L }, - { 1940599133729319055L, -1446235614858172175L }, - { 2459358417139019246L, -8654965189671283179L }, - { -7818955503663384729L, -3934147459468506343L }, - { 1042851174159079970L, -1979910437861944855L }, - { -7917252407765639829L, -4633245311428649467L }, - { -7720303362404590874L, -6295287635440345944L }, - { -4157762089433661655L, 6496007637698701064L }, - { 7715936428342659469L, -1469964384035074732L }, - { 4195235191127312039L, 899631082723122736L }, - { 5215159923805118598L, -6545879335313020661L }, - { 7616735844785551706L, -7041352949020998262L }, - { -8947005412578780411L, -8900196105579670687L }, - { 2608419102060352937L, 2291692068482575428L }, - { 2932246401534482789L, -808561230173772212L }, - { -5972416795070818118L, -6748248077446108801L }, - { -5022910438308829379L, 9072885020094111509L }, - { -1910630276390364207L, -9174830524950881316L }, - { 8023252197284180464L, 8037539466518319583L }, - { 3380163176409638595L, -4855957689303967113L }, - { 9039213805856064871L, 1650794118333894986L }, - { -2271629174168076410L, 1347251894944291291L }, - { -4820143586371341417L, -3594063807503715367L }, - { -4959944807440428194L, 5383365720172155085L }, - { 7003928884444229348L, 676120417416765368L }, - { 859489746443979827L, -7833483946396960669L }, - { 9102710007397480162L, -8584324320197179283L }, - { -4175348964434949086L, 5647267223701886330L }, - { -8008637466668367969L, -6055429896007822421L }, - { 108482635692190168L, 2968129854880531728L }, - { -9011339488466116365L, 8434635880912750808L }, - { -4004467558640862965L, -2442649750845279594L }, - { 7949886151835604363L, -4218369913800524038L }, - { 6571460655316068733L, -7275245798374398558L }, - { 3933351809358110799L, -6947442526623576080L }, - { 7530035428683392997L, 2445755963621946807L }, - { 3004476708737695774L, -2695985919888627981L }, - { -6839738311238403945L, -5007277885229986319L }, - { -2115438695015824267L, 8793986460873025460L }, - { -6122328203320968341L, -1039312793807793706L }, - { -5548421559246888919L, -5432599954223186038L }, - { 3128331988620583536L, 9069025730792010839L }, - { -8643493112127109679L, 1331229929640790962L }, - { 8814314992955228960L, 3847902944293450150L }, - { -4787601413732006112L, 8900584343805263383L }, - { -7388222168387984808L, -9082309407529645857L }, - { 131518593310830564L, 2590646000392089354L }, - { -6324750245753466159L, -2802698424622117505L }, - { -8649508569357882764L, -354092374739121335L }, - { -5132193229074755277L, 5349864399629044838L }, - { -1406233318133878829L, -7778322178019776638L }, - { -1351642603059584651L, 5905272679963588442L }, - { 4703467631404861482L, -1412638527591654637L }, - { -143562322856237972L, 246782552965118392L }, - { 4729655314786007157L, -6812953036143724656L }, - { 1143435340240345532L, -671788510726657486L }, - { 4142673406702890802L, -5618565448224292259L }, - { -386385592979460209L, -3300708192346055254L }, - { -968019894004968401L, -8047458695647085054L }, - { 7431201141513763234L, -1398860770070745887L }, - { -8435079361655022794L, -7645011917469248859L }, - { 4882503199526148408L, 4410126282669136718L }, - { 5872988456826904838L, 773528843558202110L }, - { 435774107218292665L, -3049543393726570481L }, - { 374390355263912769L, 1475262870450658412L }, - { -4886205263344788933L, -2495428859633732274L }, - { 4523286614199751311L, 7841582144919037703L }, - { 6199714818303858941L, 7901445636911613076L }, - { 4303994841625385970L, 2937718694375539717L }, - { 814757341681862090L, -6478582819189379036L }, - { -5700445004887010774L, -8455858509054528766L }, - { -407790974857570816L, -8859596179726191766L }, - { -5805754751830269767L, -152275305346719872L }, - { 1598196252757994963L, -3928731748771019828L }, - { -6934713071114934765L, 3826064854799786237L }, - { 2185603020959026426L, 4940136396487362160L }, - { -2709341181476883011L, -3919124922665860644L }, - { -3382770288363519601L, 6073097037575507405L }, - { 2971838200308166371L, -7934498192931647428L }, - { -6368589310665521963L, 6154526145046318539L }, - { 6353042450513427021L, 2744250502633008273L }, - { -2886123871504743256L, -208572599238022818L }, - { -1624168552941053619L, -3913047860997752862L }, - { 7320019149991831488L, -6407203038559925672L }, - { -7826562494167066071L, 3656950149331658711L }, - { 3032358658826888909L, 8478297990310817113L }, - { 6635552159941043305L, 2369935842067964507L }, - { -7730726826982994831L, 2814934766308141432L }, - { -3283541548043086026L, -5626755390737090180L }, - { 4756392346740163255L, -1618854092540178479L }, - { -954514304963761905L, 1120375285910469551L }, - { -2677127018316745041L, 4533997389224788953L }, - { -6498470148726531477L, 4211221291483652077L }, - { 3703731056182724504L, -1291375588013924342L }, - { 8390865458275667313L, -111721904773166244L }, - { -5861077228742736805L, -2070386036672698890L }, - { -4143367647396165132L, 5662645194542529413L }, - { 3940052427164582775L, -8034322082658011232L }, - { 7449120853716556570L, 5233008944754805539L }, - { 4707315860283250027L, -2735344620674927100L }, - { -6483773415321497379L, -8801767122342998918L }, - { 372467878783610102L, -6728271425602167056L }, - { 421540060564964849L, 6814719141747896598L }, - { -2932751110479442880L, 2620333485388819159L }, - { 8138296947263184633L, 3186892836605521521L }, - { -8443166457721319544L, -295561944926731323L }, - { -3484858775294549484L, 999377954767431452L }, - { -3825165428097955770L, -5266530330876878010L }, - { -6113875314365935219L, -8700518321068076907L }, - { -5236044337855094887L, 4166279963844450417L }, - { -7689418202059025630L, 2745081882899556912L }, - { -5994295218119667616L, -7200741691189504631L }, - { -1019731893393738021L, 42985972231797947L }, - { 7964057313498750371L, 8468135790260799298L }, - { 4350973314535291960L, -96363394771300893L }, - { 3374846342506204851L, 8183621324647001307L }, - { -147780277660396961L, -2020465953003062925L }, - { 8087892087579153542L, 2081576827994983699L }, - { 3656634502747737496L, -9188914506833434747L }, - { 4352397869817031502L, 3608087870457978178L }, - { -5463203683033862729L, 4794961360367615558L }, - { -5829826499110216168L, -2966406905602723212L }, - { -6224968695182446745L, -5757313901190477182L }, - { -162412897360955265L, 4602851342136911659L }, - { -313093481501038119L, 726082021515462476L }, - { -2394654531394959372L, 6077061020288043189L }, - { 7129356685384777594L, -242956320069229460L }, - { -5610165828587809576L, -528970810714251548L }, - { 364583333953451656L, 1209647354565391723L }, - { 7770189435264039886L, 4432114537846063450L }, - { -5378637197958159683L, -3569583594959549373L }, - { -4245901361761642000L, -4908415462875986721L }, - { -4163321130952495919L, -8783734595860148591L }, - { -8760784759435664042L, -4001594145043032047L }, - { 3811531583056254939L, 7138061436855517595L }, - { 8328872328718915031L, -4681101102915066754L }, - { -2479256131109004811L, -3818044021289010674L }, - { -2564801102635362682L, -7621503644046974425L }, - { -2549390396843178245L, -1355036253044087129L }, - { -8447951661202617313L, 7367005715843213070L }, - { -7223721101136301216L, 5932237518320039024L }, - { -4579553338717938002L, -1415752620502773376L }, - { 4739886663385123868L, 6842423570713214542L }, - { 8761999406836444027L, 5431773349801366084L }, - { 6275926421168556271L, -6741136388070930457L }, - { -5553742881209813652L, -7463405596637494313L }, - { -5466140015739861861L, 7090908124796334951L }, - { 5086336981243921643L, 620608991523776456L }, - { -8583190303195622879L, -2528844698405021565L }, - { 8136795285908184024L, 7834757658823892326L }, - { -6251123780956813536L, -2362184439993799450L }, - { -7029587377954900822L, -457385112617225992L }, - { 3992372666585781254L, -3425505215948273419L }, - { -8934415453060377171L, 2889516969299688088L }, - { 2171086741014253062L, 8747101652358416539L }, - { -8138586755841972043L, -5230807087849230444L }, - { 1593528759643563657L, 25684661437075760L }, - { -313864667208179242L, -3034251152967214837L }, - { -3266427946201164069L, -7205525509099849070L }, - { 1393676534450976148L, 1600133987975139142L }, - { -5699612540743270476L, 2411808686028794220L }, - { 3643737955198081018L, 3624719045997588137L }, - { 179868577584127337L, -2425054572247905446L }, - { -1202636047919483341L, 1008426614634206792L }, - { 76328973038141475L, -6532258192268933884L }, - { 7815448976579876396L, -5793434878495490438L }, - { -2551332906614530185L, 4894172006704360878L }, - { 7897839487727186038L, -115287274417874605L }, - { 6782385125028425703L, -3521765042231025350L }, - { 2366096266549575004L, 1600704175490725006L }, - { 2646330593616093333L, -9112186430548909433L }, - { -5734352638286816291L, -7935930112754314515L }, - { 205990945300406766L, 6482328665055844390L }, - { -4107074334265298499L, -3655747932822203685L }, - { 3070291460260888908L, 8334448736154584008L }, - { -134765739369511623L, -7474942726871719713L }, - { -3950948930639643722L, 7328973455013265639L }, - { 209643423615708418L, 2135211318988808865L }, - { -2464819451665246158L, 1595264701587118086L }, - { -8631718977760664612L, -4814735239273499159L }, - { -4893221336143393409L, 4608470873153960630L }, - { 2390264798730683615L, -2505079969232422515L }, - { -8300749389255144164L, -4091945713696362506L }, - { -3549775289570958064L, 4711670840533830052L }, - { 6514441262456966668L, 1033420383904761807L }, - { -7301663820335638615L, 1786260203217802269L }, - { 4181559756778549411L, 1887690114220705884L }, - { 6215253578855337690L, 5107740194043393909L }, - { -7323335092456459405L, -7054773565482904481L }, - { -1860577032441476467L, 3268456599417932306L }, - { 3644299936077808538L, 6853477546599029409L }, - { -5161174126835724701L, 6418903298992325081L }, - { -7779787747613135503L, -1010872026945774909L }, - { -3446338450597548406L, -172855764288287246L }, - { -2662609220502962318L, -8015039012110903940L }, - { 208946340318274486L, 2793507753767981995L }, - { 922869894074454969L, 4440830233961398693L }, - { -8428909140908329623L, 2106468816516885040L }, - { -6875524699939418906L, 3742616954716811326L }, - { 5154230294972327697L, 6150997880677494555L }, - { -5868880138852165350L, 7468379017433552164L }, - { -2697155020815738737L, 4313139001296146702L }, - { 6278899766774254324L, 1368605690955846609L }, - { -6124877505863871039L, 1078518665221359628L }, - { 6113186870348198684L, 4141878510658134343L }, - { 1328797232741421065L, -3543059961120850079L }, - { 8936960355443139766L, -6946112468654970433L }, - { 9069883653377839816L, 5148075934725699275L }, - { -6698244186639407697L, -9162869098327881138L }, - { 6633988379507542818L, 5549765864648998779L }, - { 4243888593320380368L, 2997246184917475828L }, - { 1299920470993756698L, -166510666501194299L }, - { 2315187937474071861L, 7661746883847328813L }, - { 806120923801759332L, -7371352627644098700L }, - { -8537792935927015380L, 8121135036776652016L }, - { -751623313460664870L, -1684827436846980131L }, - { 2455098182130434513L, -5117312998044745719L }, - { -3041072155357054618L, -6972979759059535816L }, - { -5209258140949481980L, -2850141282674081949L }, - { -7784651030341623624L, 8999636098565609468L }, - { -8624281235662545565L, 2802906109949156906L }, - { -5185374153462168974L, 4042442480817740884L }, - { -8728622305551122108L, 5363590029784421735L }, - { 3633316488676598179L, 4925791459461278180L }, - { 2341850275669250720L, -4459999769175253936L }, - { 8998800880957295269L, -4343678313183227809L }, - { -2791108801739767859L, 4636488046527593561L }, - { 4207716787796156879L, 4231756216975414682L }, - { -4083554261407892809L, -8262406562901842787L }, - { 2977762250156739855L, 8049673030862839736L }, - { -6066243213313847782L, -7613157457395411777L }, - { -3134677742513834402L, 5369087783798165525L }, - { -5231660756514911289L, -558789175821081719L }, - { -7916346081138370244L, -7638955099780654605L }, - { 9105509708951212631L, 8857680368853459781L }, - { -3071680532260795719L, 7548887970352736530L }, - { -3152428524199455707L, -6442114135533810709L }, - { -5276930195233923125L, 1364963280258649846L }, - { 1981446637702558747L, -7751173762713374236L }, - { -8822786060285469479L, -187974834805915694L }, - { -3086453182842996354L, 9107364158514537855L }, - { -7521798164704108718L, 2384045956629947261L }, - { -7460429880600038351L, 4800095578910651073L }, - { -5031515429775225415L, -2055654337088316962L }, - { 5662627828449328757L, 7046721834457541245L }, - { 2804157867790593789L, -1341792999416601132L }, - { -6183934836359652529L, -657594756031460913L }, - { 2425310972806241292L, 1258033866943800792L }, - { -7877162957672040682L, 7635167739849781937L }, - { -4575453773921540745L, -3355393194943055905L }, - { -6152892230011262930L, -9193001981013880312L }, - { -1554429781063399588L, 3405969670011375161L }, - { 6395550633581619922L, -7583323290006007445L }, - { 948199150697514149L, 4111589110219820951L }, - { 4123518706442132507L, -8438953137254330460L }, - { -8620024481834864148L, -6636388327463820199L }, - { -4627311960537433998L, -915962921757457254L }, - { -1517263476517287336L, 4046174639048253801L }, - { 3087156144310177979L, 391565409154016317L }, - { 802387854806242344L, 1031677631873271699L }, - { -8223164854162179626L, -443891348496457499L }, - { -8876883825341271093L, 5762028792245015141L }, - { 6189924694943538938L, -7169703049494390501L }, - { -558048344469199000L, 5981321487249463887L }, - { -6388815497071843014L, 3273238115129858121L }, - { 7970082794223216108L, 2973205891766662972L }, - { 8943146030443257086L, 5791248506749113385L }, - { 1919558538884824162L, 3150174799334525665L }, - { -5413821296846136841L, 8082825464958206177L }, - { 8482255996292420949L, -7115778512034379502L }, - { -2059351044571046226L, -4782846315945295244L }, - { 8122315934009425936L, 462528816707067945L }, - { -6002133579485340781L, -3975376714763954783L }, - { 6439465961707132723L, -756936500656028513L }, - { 2763117897158909339L, 1091745287377893475L }, - { 4241846593057682886L, 1081100136763965880L }, - { -3156374353704014890L, -3581775682588778942L }, - { 3611310604513156987L, 8348262968344472468L }, - { 2539868227324188707L, -4712857164920834878L }, - { -3160603853021599046L, -8654224927278936599L }, - { -6694565052629228305L, -971528287258097624L }, - { -2829087677596299075L, -1534581713432222723L }, - { -3855421753196086451L, -8760600350092291439L }, - { 8353874633819013271L, 5978997520871435617L }, - { -2485914493713180581L, -977211097680535312L }, - { 2924901647540244351L, 3960491378165335258L }, - { 140830235769158231L, 4133918999398648450L }, - { 8924525771772034372L, -726044173977679325L }, - { 1991645829771754924L, -2067381390897988577L }, - { -6409133430531739321L, -6175415710899927619L }, - { -2477349252564343349L, 3988670256167231709L }, - { 7592298137540200578L, -5726518256936929851L }, - { -8706120837264950112L, -5760350640517553208L }, - { 2330049856518978017L, -4092773931089397265L }, - { -1333715564956417750L, -2231452272587190724L }, - { 5321303278236129003L, -6746469835008817808L }, - { 1316603583801631000L, 1137804323520560994L }, - { -2052093890021786856L, -3783187984532267053L }, - { -2212919092132307727L, 7186765338995597614L }, - { -1138248150179747101L, -2184981677146577517L }, - { -7297574785915472699L, 5009477804126403419L }, - { 3159392081609537393L, 7309719615409023592L }, - { 5438969032594710113L, -5123802317331232347L }, - { -1117946266762888661L, 1492594410329911808L }, - { -3513962250060316650L, 4906439631063318446L }, - { -95470470775096400L, -8272067922919754322L }, - { -928547845419412355L, -11702280433339640L }, - { 3064209748165139149L, 5541367980759525384L }, - { 5570740544374382296L, 5321829123710270068L }, - { -4848606292970499536L, -96910214182218274L }, - { 1249733847255258336L, 629248191606577595L }, - { -9081876379081045111L, 5443102257014841765L }, - { -3178350430540128617L, 2432498732626009926L }, - { 4580722282117591455L, -7643528894779295786L }, - { 4910338723691444614L, 6967629769055776438L }, - { -3861107435455294057L, -9205931005525733053L }, - { 2455351552393139588L, -2953211184067244974L }, - { -3098045343671378301L, -3817179460848825357L }, - { 1276702104227748441L, 137325564846715403L }, - { -8725606894849543465L, 2905193080015222394L }, - { -7043526197674754455L, 5559996365359216967L }, - { 2543751490914779898L, -1370174742699523774L }, - { 1111188191726666289L, 5295334064948911884L }, - { 3299681536744686092L, 9040207948700213390L }, - { -4968407975804173061L, 6424222583290688109L }, - { -8443232222924958642L, -7778388515977146250L }, - { 2692856020311995538L, 2968383219838059276L }, - { -7295992543900831720L, -4457539035332779798L }, - { -835426980056055153L, -6325659580231608755L }, - { -7189216512060259212L, 2131181344124063164L }, - { 1546667140862204220L, -239160549067820612L }, - { -5157738526808785307L, 9115760354926169094L }, - { -8400112152363165211L, 5857402912101139691L }, - { -2562446629278342489L, -6148111590522678005L }, - { -3984312152746163924L, 7844800256926351421L }, - { 263973571859894620L, 594261227115607566L }, - { 5863738959863392730L, 4867956032043813886L }, - { -3750469576779228200L, 7192121623829732387L }, - { 2859093520615066384L, 913297396549536029L }, - { 239574671716835044L, 3087819404448657542L }, - { 1758244848125395099L, -9078334339121564235L }, - { 4692926060224877180L, 5116375739982667956L }, - { 2328985435627410056L, 3709473589115479198L }, - { -712944964417726519L, -6007503027678389854L }, - { 7575628018175957835L, -7383688701150280008L }, - { -6461647485226712981L, 6750569702211012204L }, - { -9175844658802936237L, 8399161365461331759L }, - { -1791894645853433273L, 7124236302180108571L }, - { -3209291319104719345L, 3052940112246927168L }, - { 8435774909159574457L, 6041127832456521507L }, - { 3068904622159492539L, 715670353716033395L }, - { 6405574310234631665L, 6291430988703679177L }, - { -7236310029621050895L, 5100784183499609393L }, - { 1939741827857698370L, -3177132287591049454L }, - { -2711876483320863546L, 1524168983814198921L }, - { -5191337944005182792L, 1387248765441775509L }, - { 851301927202074099L, -1263258347843133972L }, - { 7817558216393575797L, -5162993824073352503L }, - { -924173671401578135L, -5108957871026680251L }, - { -8870424728276452684L, -2321064657647312260L }, - { -5612135981154918473L, -3273558579175712345L }, - { 5352840780989627332L, -6783535534084823449L }, - { 3115501649750915797L, -4387292192090486464L }, - { -7282764488136203731L, 6453482773752879162L }, - { -4410122159075968274L, 4725424300607610937L }, - { -5112841868993719465L, -8779015554522488103L }, - { 1606611627835962209L, -5590171830014603568L }, - { -2564625118517656156L, 7741285374849676494L }, - { -7347999176364584697L, -3065690164342722400L }, - { -7520586016175454443L, -6390387248180888651L }, - { -3582872246453049220L, -9203340940844140689L }, - { -7208670274224679141L, 6037856226854376075L }, - { 1407185043226639926L, -8963249490810952056L }, - { 5548472899324259498L, 7197773686811339894L }, - { -3424704481698318306L, -3228267337906479612L }, - { -8898045228081312865L, 7299625475871751770L }, - { -5032961205984329240L, 1080670899373428777L }, - { 2319704565344125424L, 6271105296589611136L }, - { -1858090959206557106L, -7189583006151098162L }, - { -1847512527385111193L, 8502130611969952629L }, - { -218817722784924760L, 5246262405009713204L }, - { -4644538017574761086L, 3272921218846794606L }, - { 527762499588866419L, 866014286715394507L }, - { 7682925460546142196L, -9023754876300785684L }, - { 2618673582975102782L, -3841047495859134001L }, - { -8339358073633623035L, 6392875486843295666L }, - { 4632344075623474881L, 1582641584198542259L }, - { -2634725682046056737L, 459419838955507648L }, - { 3264353773883015103L, -1523378724173083514L }, - { 3450256920483368564L, 4975188291142344612L }, - { -8453373497678191816L, -3839576070757390241L }, - { 4324811352547234228L, 580873531256814001L }, - { 5231611966727557421L, 1244921297520573100L }, - { 3935063678731059941L, -6192996608723472660L }, - { 6338309551930394802L, -6490545382515146086L }, - { 6622686033142507173L, -8428752124385041158L }, - { -5278373537512798709L, -7666003634852458753L }, - { -9063940204441257539L, -3060099377907561092L }, - { -6333833756325058415L, -5029009158854294732L }, - { 3799491381076234981L, 4200533976809289087L }, - { 5050905817684546674L, -2743556952975018462L }, - { -796624655126841621L, 8394910217060245525L }, - { 8334872366472578300L, -4013169907403888314L }, - { -5288752267258476166L, 1615789454281352829L }, - { 4335956913966038392L, 3669603612307880087L }, - { -2247074774901543705L, 384186682932301514L }, - { 8474035569080943503L, -2072617956194576812L }, - { -3170167932314701995L, -4996126312151911632L }, - { 6999756768956410897L, -1222840955640726138L }, - { -4451078577344071588L, -4574301927676188432L }, - { -8433054951584831409L, 2019896101789516324L }, - { -2640652121643463448L, -6207648221610624100L }, - { -7045594934288710931L, 6907612079776695168L }, - { -4036935141669708886L, 8337968798845695874L }, - { -7734407512972194081L, -352014965188200686L }, - { 2053541054148333962L, -786335970157264827L }, - { -566653752431971002L, -8089305180282021945L }, - { 1898804146829115409L, 1490169990672309460L }, - { 8507984725723339263L, -4741793772956239321L }, - { -3742788731083462619L, 4530848119791548171L }, - { -614166854038590657L, 4495302806552748358L }, - { 8147682807535759575L, -186502124698730499L }, - { 2813322236228401990L, 8130069379689580810L }, - { -7697111451322995338L, 8936991586964556806L }, - { 8023578719528819358L, 846744111432227894L }, - { -1666048881205334172L, 2007039852402613406L }, - { 2861705383918865808L, 5712283346400961499L }, - { -2067264870309406817L, -8080281899293212696L }, - { 1544932780962992751L, 6732646774857284315L }, - { 5752963315823730718L, -6680909940508528513L }, - { 5563418456763501584L, -4108919598993076052L }, - { -956763705026909993L, 782815035938451649L }, - { -6723021793890249884L, 6375973421868888415L }, - { 8199491799885937348L, -2824046112291289709L }, - { 8254326245904567972L, -4939591038817699096L }, - { 696534455436688862L, 57855698877748437L }, - { -4526166123204455007L, 6259254177722304651L }, - { -1244479971115743946L, 5213539213896354419L }, - { -4712028527008594695L, -7017914521199006226L }, - { 3845317619056596538L, 7090203329717532364L }, - { 1397508695414938292L, -8490878741424764802L }, - { 5199778266100306999L, 7458354268561924417L }, - { 7649610185133409821L, 5850524304651887209L }, - { -7736979936936405855L, -1688565444532845272L }, - { -1871499676764587199L, 3567966374680431242L }, - { 4089210433244498057L, -6849207453391081019L }, - { -5319342193649020117L, 6300983384645314585L }, - { 6510328602034064204L, 674936610022286330L }, - { 1177990759783856649L, 1233238019560229835L }, - { -6211536889696831922L, 3269771882547594708L }, - { -2806444732697667079L, -8472679256324341139L }, - { -5534324430749159010L, 7385757552452744804L }, - { -6189402282341917673L, -7597189316618548656L }, - { 6327177260956086170L, 387354508794102949L }, - { -8199327532062722025L, 8781866512582180355L }, - { 1757637089703623521L, -2439557373159907653L }, - { -1083020196125888231L, 4898229079940792683L }, - { -4027554827881183115L, 5854278118107827495L }, - { 2536452110533397141L, 5053032057586689294L }, - { -5283309880767903892L, -4036089771501382471L }, - { -8726185014741079280L, 6371918861414578337L }, - { 5870565960746070417L, -1755043487049372432L }, - { -5981985584772708231L, -5464038684710305016L }, - { -1932877698882443840L, 8643536265538303114L }, - { -1002343255004640521L, -9183473069245370007L }, - { 4369245457815499473L, -7541238362330640360L }, - { 574307157338267836L, -4775059289639379617L }, - { -9022123090729501652L, -6281514868145333731L }, - { 289683520338718123L, 2796625540449362421L }, - { -5791631171477648402L, -4653014207048774900L }, - { -7088072188409060385L, -4095346481442481243L }, - { -4659987534525277948L, 1840919610151012736L }, - { -6573587402478059370L, -394799095862107646L }, - { -9147189283662432041L, 2780457115891390435L }, - { -4621406226758810332L, 4650621948282825212L }, - { 3827992897413425855L, -3470503642777527388L }, - { 8237187128340177815L, 8338050922877292449L }, - { -2575127860924571660L, 8053904449338331049L }, - { -5807831166865245102L, -4329977027836990705L }, - { -5362714198312494492L, -241660454500896017L }, - { 4800564949032048849L, -991028768001584039L }, - { 6232971559544384156L, -4931085162898819233L }, - { 5346264270546834545L, 4735211348383074864L }, - { 4418021854956695145L, -4054404223178521239L }, - { -2503709442294180811L, -2937345847603751564L }, - { -6705525727229877941L, -186811788738397153L }, - { 2807916716409994404L, 6999030087777771607L }, - { -140901784876025870L, 1998821964393989519L }, - { 8341454749980902529L, 4006910961641213665L }, - { -1877846120130857988L, 7136842530212354406L }, - { -5151008775080326365L, -1658405690903715224L }, - { 4141948371168606708L, 8905521338649282325L }, - { -2991396496641036974L, -8951844492612797162L }, - { -8231846204849830109L, -7788963254099816781L }, - { 8817247101288954387L, -6748712299598005804L }, - { 8987037987198023072L, 9070734453008799529L }, - { -3653961272252403667L, -1706174462105691367L }, - { -5540876112254432380L, 1685272653566639268L }, - { 6630760576601451124L, -1097030590189693240L }, - { 3952853764187760519L, 5155412125205404325L }, - { -2752207231177565438L, 435598937197933569L }, - { -8990910782429153994L, 8975085101947256973L }, - { 275029084438740989L, 1594853272392894824L }, - { 4377008995333363792L, -9203724735327026090L }, - { 7821963094129670639L, 6001202347774222234L }, - { 5910345261804604591L, -6530910287713746869L }, - { -4676534586425310858L, -2447999183969902895L }, - { -893427896035022872L, -9110096049863714398L }, - { -5107326322974521170L, 6912129560394449872L }, - { 5928147272454832468L, 2068430724750870080L }, - { -6838714257802993131L, 1280800236191378302L }, - { 3828181535474040080L, 5912525367873976485L }, - { 108432455104664877L, 1008792111792728167L }, - { 6134860905554719891L, 3736157740631835042L }, - { -9006906057728028416L, 2291031958410264788L }, - { -8785087250130628623L, 1747369706716307880L }, - { 5107258923997586783L, 4842462885753407158L }, - { -4184502077870950738L, -5221774457734574279L }, - { -4196994343382319067L, -4731152976876941564L }, - { -3602525630290645804L, -7438604867872016130L }, - { -721602986806918388L, 7380942477862322044L }, - { -685749048932716724L, 8558621156455130463L }, - { -2226124441764103982L, -5753212050844017972L }, - { -8444470437189672337L, 682780176504188457L }, - { 5967905323104782609L, 872456529921347237L }, - { -774529365691330376L, 2906334255950757352L }, - { 5317411683068394421L, -108367910517051649L }, - { 8753729036148149823L, -876697494682167248L }, - { -2600284926580864832L, 1079293674000123963L }, - { 1501264369203023713L, 4772271458149794627L }, - { -5589106565383836539L, -7585724482444194890L }, - { 2671769607792597675L, -8643480525195244990L }, - { -571916257780128106L, 596916564516236145L }, - { -466398102722097434L, 3470290204352195571L }, - { -8668321984643614166L, -453629747624458261L }, - { 7631202114905008803L, -4821135673180277868L }, - { -8647922451448787023L, -8485380845549008746L }, - { 8025381490498356948L, 3913777583556485172L }, - { 6049280950696679244L, -7121925732817649938L }, - { -7696482417187458362L, -8601187295544785855L }, - { 7140438358861456746L, -4279316057093339253L }, - { -4921885565559803566L, 6325512175579207375L }, - { -7027307783313071980L, -7680809212541810824L }, - { 4879598629629415952L, 8150769622291187304L }, - { -7342155744245645378L, -6215685187110669442L }, - { -2263378697656156016L, 8343706095650682031L }, - { 3707257119850556629L, -2120810639767885498L }, - { 2267112971575522392L, -826262663858867910L }, - { 4213162373130191016L, 4461280045821316392L }, - { 8934898250536865564L, 359231887739760556L }, - { -2149765792894599153L, 4707860023048648731L }, - { -5375160376931751557L, -786047454211312701L }, - { 2196544121130659101L, -867932101728609316L }, - { 1698916734136113996L, -2204779643027651944L }, - { 3433172695894846834L, 7596525181878611400L }, - { -2849259564218003615L, 6623954713336976951L }, - { 3254138956861413927L, -1133558231039979412L }, - { 1285929622626453198L, 5890024885621260165L }, - { -2349127797610817522L, 1562179804252080095L }, - { -1191286947825336074L, 2468833460111911838L }, - { -9055971338481310193L, 345979595229756636L }, - { -3525928115330914396L, -6596590613894843229L }, - { -3227633136719463166L, 5915785628644168423L }, - { -133501853014392460L, -8741758672003862228L }, - { 1099153576792978915L, -2742417900988504166L }, - { -648473507797745243L, -1129954793722235908L }, - { -8947946509829984393L, -4829402018135157767L }, - { -183277647411867477L, -288109513781082853L }, - { -8972836557830117056L, -2372987808358806473L }, - { 7599024178448012477L, -4273183649325398119L }, - { -4558685557381095142L, 8836884243173336023L }, - { 4767843848744584145L, 5190086288935651378L }, - { -1522308275842184404L, -6580417704257825326L }, - { -8584574042672861403L, 92823380696470869L }, - { -1734332735592240813L, -4860675540725285320L }, - { -5832090116698921823L, 6760714595207081195L }, - { -8717779938268738600L, 3229735988985744701L }, - { -1881355893097809021L, 1149009410476147075L }, - { 7715529933819950784L, -8766744506878170376L }, - { -2289162375063823266L, 8785343280324053248L }, - { 5628801095532857454L, -6766400014785301219L }, - { 4961594313236250573L, -7969158326987751251L }, - { 4618832900030681591L, -1590199595674682989L }, - { -2860026598356511432L, -4804664899406105836L }, - { 1961029532371905567L, -4232908783774954600L }, - { -7427116119564073711L, 7457295679793377814L }, - { -7663272674507523073L, -5262217384322722743L }, - { -1432342159197328837L, 4771708562585944643L }, - { -6656742466964663442L, -976564846383552887L }, - { 1884610673731472834L, -785174449433559508L }, - { -3810094228658892044L, 1994759940275525679L }, - { -6616291605664442115L, 3795543339876571956L }, - { -6089433736056798518L, -7266978573829534613L }, - { -7473225570871869756L, 5261130192092551093L }, - { -2962461410122376636L, -5000607733090565805L }, - { -7732736326487208707L, -3693026679333504313L }, - { -4443012182604465346L, 6100440042934878383L }, - { -6157220788020380465L, -2860438289567923884L }, - { 4600227015044805999L, 4989400139419054213L }, - { 4469639125734518912L, -6122627204883036341L }, - { -7792518910888390519L, 4129047140733643848L }, - { 1994555386333163764L, -3844189245157007278L }, - { 4369373061497876631L, 343822057089163157L }, - { -4738249058452865067L, 2329646226948660665L }, - { -5995135073617675417L, -4255461102943936723L }, - { 8575145712582277328L, 1413910585849998254L }, - { -3326852669647946366L, 2121198412256615037L }, - { -2007891227481667403L, 7221453514528963511L }, - { 7761466597038557448L, -6581310753540884344L }, - { -7224144129768088459L, -6327002969543063078L }, - { -6066361559768252258L, 1784238609618085587L }, - { -4068105427650671702L, 7479972997631999286L }, - { -5560889521429203904L, 2898253573510616692L }, - { -4762527649365520713L, 2604657580604116324L }, - { 2694767757294725688L, -621761717733876220L }, - { -98412761475871782L, 2779314879118693087L }, - { -1686751510820366009L, -5956651577100715550L }, - { -8638747288926132295L, 1038333600319247631L }, - { -3606421426295459375L, 8477836939368819043L }, - { 703911580424568845L, 7030948256080124036L }, - { 3806874684410471199L, 469379621331982300L }, - { -5118211203482914183L, -5305374868543386096L }, - { 3783835693585708905L, 6654716033399934609L }, - { -4147496567901501893L, 7586049031853109067L }, - { 4328139758484363106L, 381917650928462968L }, - { 3028068134370267202L, 776322465585926454L }, - { -5966389813687232408L, 3686423315817746584L }, - { 2195469898148267913L, -7533513970647659535L }, - { -3080166474377317430L, -8140738602141354389L }, - { 6412533502918649688L, -1703582505372665809L }, - { -4801061500654703956L, -4201543830696595479L }, - { -554194900129906123L, -5939632826608146381L }, - { 1486000469436139740L, 7831050577063499982L }, - { -6971589411333019409L, 5357835973747361473L }, - { 2647463349908157318L, 7085011541975929989L }, - { -6754094203714628854L, -3850873520054179131L }, - { 2314399046579224435L, 3216792862731027976L }, - { -6177383374280917075L, 8760408975864465377L }, - { -5619632493646738964L, 2241632268315301578L }, - { -7301831206207675015L, -1821451086573881135L }, - { -5527516975398904813L, 4968354678684490072L }, - { -7206298956882517419L, 2279041835604861410L }, - { -1535337994919517848L, -8761446866156246742L }, - { 725107219148423471L, 4750860717864763778L }, - { 1938195538047669437L, -5869782778289132135L }, - { 1028829726878266547L, 7197029508183468862L }, - { 3981352596771855719L, 4996127899543829429L }, - { 4637441575637536278L, -6389995039174519370L }, - { -567364300216533096L, 19863152138574099L }, - { 4215820779392244698L, 888457597427087114L }, - { 5791138156269639416L, 6853760322626114995L }, - { 527001488112788484L, -2110465445257708858L }, - { -4390338125863921979L, -2134580087205909557L }, - { 5557055272452535368L, 2866065276453045221L }, - { -205316410586789577L, 4480269606588918401L }, - { 6952133288635206796L, 2015037502635776574L }, - { -7457518070084443694L, 2263308604979136810L }, - { 2002018537802900078L, 7552360032993184271L }, - { 1561023860546606398L, 3866818685532368479L }, - { 3006183850758749007L, -2336461709355555028L }, - { -1361037422909233361L, -9144929386769396303L }, - { -4203933835330884180L, 4220615295609720220L }, - { 7500988945823273736L, 3572390891093078325L }, - { -3010872765453549672L, 6632197017693971191L }, - { -3781827987408697259L, -4030709294737296947L }, - { 7460277383018710734L, 3383215657257964557L }, - { 5250710645655626569L, -3007683880002548954L }, - { 1109553850343924028L, 9126342159911243074L }, - { -6498085059809326090L, -6420733693986859740L }, - { -5879222670885240061L, 442921388511227265L }, - { 6210613100795379620L, -1514159259364407425L }, - { -5759675374559290972L, -8245819781762092155L }, - { 2824738880545011656L, 3999019159821229194L }, - { 3213468672819532759L, -6840569939386909113L }, - { 514328750496380347L, 969657192227097933L }, - { 4470285007717204101L, -668030492010532480L }, - { 2269240343629252129L, -4576239629892938120L }, - { 8714859525098129755L, -2826680146207272878L }, - { -6932578361476642118L, -4666717289125206755L }, - { 3219949239213817308L, 3712651019435159979L }, - { -974585298959970878L, -1944037411135401627L }, - { 6482527911604968876L, 6263685975715881314L }, - { 889153561428168470L, -1692016738149208411L }, - { -8207616222981108363L, -491537029006685810L }, - { 2386860797138412452L, -8312622730184110241L }, - { -6749686321997906685L, 4061453222465983121L }, - { -1105424552884318985L, 4383295431011890299L }, - { -3137963539903752699L, -8004907349965180516L }, - { -5296550634024189868L, -701828900076753577L }, - { 2919221292190747486L, -3730402551719687544L }, - { -3991521756182858814L, -8245448390492788466L }, - { 3802413126716557908L, -345388522944700330L }, - { 4556158013211621930L, 4837029469954119100L }, - { -1956520472596138305L, 3774560559204626526L }, - { -1667618395239727751L, -8642889400813503572L }, - { -4948155010712448139L, -4045291183536374219L }, - { -2667546434479018044L, 370703145466617430L }, - { -5192951416537530780L, -21955828113889540L }, - { 4474564860866849514L, 827322199368359858L }, - { 6795504197096101870L, -7090967928316662587L }, - { 348555520492747776L, -3642605601802123384L }, - { -9152654684800879935L, 3609495880796821187L }, - { -139520144005307559L, -5156829220828151100L }, - { 8655115078308054377L, 6824472990762665216L }, - { 4640578432082008138L, -6202001168681068572L }, - { 8526214307008571064L, -842893985616753436L }, - { -7079091919397494753L, 8339596036464430100L }, - { -4852301075482608956L, 6187407979941379905L }, - { -6726381834527599283L, 801991602387712085L }, - { -467175742480032731L, -4596941950635352144L }, - { 5092513639393893997L, -8012169512241368869L }, - { -916781769295487406L, 4932904650409381585L }, - { -3306005301217276910L, -5501027874234474547L }, - { 5711239369216246603L, 6191254119870515104L }, - { 7411369067342514714L, -3304087475657526094L }, - { -137089609471843551L, -456007077646664136L }, - { 2197853544547148264L, 5840431983889477671L }, - { 6994895994975015585L, -7130703368147034100L }, - { -3993584670641567357L, 874766092887871964L }, - { 7324113989979846776L, 2238932798202795857L }, - { 4848201612974985071L, 4462081907647625486L }, - { -2319141888027790806L, -515485080810423104L }, - { -7727572350242351429L, -1128955356889746097L }, - { 3611228677421118756L, -8629406378387284186L }, - { 3254031939911056022L, 5981817082841287883L }, - { 1315862663037871882L, -4846048396088499736L }, - { 2762719496333050774L, 3984785182381619936L }, - { 2441476684596910583L, 4447837245869346861L }, - { -1751985778109806355L, -5449837400474558988L }, - { 3156518557955714028L, 6585800508293259358L }, - { -7474525109128332157L, 4191565513182283182L }, - { -402634945481420093L, 1145607902421986507L }, - { 3711042493776857096L, 2083850151603736019L }, - { -526618219268616930L, 8506153718458047088L }, - { -8956423818433397438L, 337802762069315243L }, - { 3318951429850234648L, 2081621265536757163L }, - { -4065748355754556535L, -7239810839294391198L }, - { -2974465318794034149L, -4594332206328367008L }, - { 9156201933336414671L, 8488676128423554222L }, - { -1224004278953882958L, 5451979806028482452L }, - { -5567810197150710613L, 6919209359995815805L }, - { 7645667176564158039L, -6364331595927960173L }, - { 7437954892140634061L, 6193769906536854642L }, - { 8595047667824297631L, 5596599227739861071L }, - { -4227841629446459104L, -1381816196560241190L }, - { -4073313779073810355L, -1100784080146793337L }, - { 764623093768368301L, -2826222786337395694L }, - { 4502563456929761688L, 1522444965027476312L }, - { 1027370723462817766L, -6744570457086361510L }, - { 7668869338814612684L, 4430603710584195978L }, - { -4780350365503382825L, -1669306996283361332L }, - { -6389061999435806787L, -6048382522434823780L }, - { -2133237830821026919L, 3019116079627478016L }, - { -618977682776693149L, -5595283007067987776L }, - { 467656057704319257L, 3340252194762699251L }, - { -6754479852919060751L, -7463769590197660662L }, - { -121796624546305099L, -3251872792366792553L }, - { -6164861615484187016L, -6122786778522267003L }, - { -8568598162483564153L, -7141238264795350159L }, - { -8182644091745100549L, -3046128695748774162L }, - { -3989631051916738549L, 2520402197254872075L }, - { -3812515520109109155L, -1052959236992591515L }, - { 5458479505950940580L, 5049901156611941154L }, - { -4068063356781230185L, -6931312104494850376L }, - { -2830766632873229698L, 4798159326705638849L }, - { -7592354330098913572L, -7738117602772322434L }, - { 5323147076973602219L, -2197090908151937767L }, - { 462800867816435413L, -8465892264165433250L }, - { 4002154584204048905L, -6343838674759451204L }, - { -803837213195276249L, -7987366341250351358L }, - { 270846859760410932L, 3184418117964900027L }, - { 339186719055655409L, -7127601895783159724L }, - { -1681073433226249949L, -5136145993285919552L }, - { -3172364168133842187L, 5692701350597281770L }, - { 4471576722877991666L, 7336578103784155071L }, - { 5796602822306813285L, -4343030338723817984L }, - { -7918394505018135767L, 945395198631021154L }, - { -8099706435104488972L, -1543491225353143256L }, - { 3225305587851029418L, 1333690785007789042L }, - { -4366886220054887809L, -3805519626113819282L }, - { 7732358946751522729L, -3514173094342856229L }, - { -228816160482375387L, 7384891550204744673L }, - { -6429545033940023762L, 1845280019375987556L }, - { -4874531170284168803L, 2520265631372728029L }, - { -7919754354938613725L, -1920613329185200100L }, - { 4818550076091948962L, 4007439941177190899L }, - { 3907701057522316102L, 8115698842586570458L }, - { -2162109673539899314L, -6362182245437049350L }, - { -6296577330837677905L, 4719157127069353305L }, - { -5038523314786213767L, 70331235006715892L }, - { -4182256071671167089L, -5164070196885436699L }, - { 2347804671767305901L, 6890490985369083991L }, - { 8781747195783722684L, -830329723931541835L }, - { 5464112250608435856L, -1927457777938790688L }, - { 270499223000052613L, 3675803965927755072L }, - { 5387476652934255975L, -6395450047775553575L }, - { -2665753069813354951L, -4080814832687079840L }, - { -6640316903187366435L, -2606831033508573171L }, - { 5182130073111288069L, 7783191129863644770L }, - { 3324630100168604545L, 9095696793714934253L }, - { 6092224834024861844L, -286084573848786709L }, - { -7314979478990434840L, -6890507861998146207L }, - { 2475323565628074124L, -4029447883164980292L }, - { 3744881942029260381L, 3299671597926388309L }, - { -4468245448047387416L, -4345821869343888643L }, - { -2514532843437356755L, -5136858393253322995L }, - { -8460931029051770120L, -766778949005394803L }, - { 6058982121000846509L, 3481461461609071838L }, - { -5771467892492359246L, -4759906717287388472L }, - { 4284427580292476574L, 6567648321559840989L }, - { -4502826197302040607L, -884928098330744829L }, - { -8909965133023702444L, -598600634803733804L }, - { -5152825667036557377L, 4060129298892129136L }, - { -9001319942906464381L, 8881985935379199325L }, - { 8783326653870239059L, -2206839120202500049L }, - { 7169538748654303504L, -3760964465816388168L }, - { -7206711339673245443L, -4408205839339337277L }, - { -959892259265562431L, 7053151831906485899L }, - { -1673323329893911437L, -4266304761003565025L }, - { -5827914418805049723L, 3887362082768648751L }, - { -820830695253715046L, 3506786828941982744L }, - { -5782181341435499931L, -513904845096444765L }, - { 2663734005752892035L, -128005322426179870L }, - { 6987511185271585413L, -7874168125153003313L }, - { 1292089443730939651L, -628053432962923666L }, - { 5587170596809636807L, -2613417850126827556L }, - { 8237809229146017083L, 8084633225427135915L }, - { -2235781308356196513L, -2827636188226841116L }, - { 5423273201690025713L, 5516220885776174723L }, - { -827014178432784464L, 6712876247104625930L }, - { 4410575469603649344L, -7034242775638553169L }, - { -4472642034035214939L, -2034015765295524502L }, - { 5360193252716249224L, 5081471891122198741L }, - { -4572235983836835323L, 7451697056844602164L }, - { -5433653902594010857L, 3434435237836646075L }, - { 4134790485921001466L, -834212517906731898L }, - { 4485288889906709425L, -1712294958510249491L }, - { 1685824402735587758L, 6343065064147664744L }, - { 6091818520229922279L, 1108625331300764354L }, - { -212523426857309616L, -4053352983179692768L }, - { 8873690209863775893L, -2171715089304193225L }, - { -8812432523459654235L, 7211091108192522268L }, - { 8103047819338531286L, 3711940572100389263L }, - { 4614534509558570387L, 5444031939093833792L }, - { 4229082172984667846L, -187259441036600327L }, - { 5484460792243331111L, 3829189205530873306L }, - { -2385763800014084246L, -6039720700812665895L }, - { 7030455160712580607L, 6382913871702743864L }, - { -4237997225503760625L, -1922458832613918767L }, - { -8124291737715145061L, -4527631494483919871L }, - { 6327782024255912635L, 2809957004087136653L }, - { -1059957986215325879L, -2420735678896220106L }, - { -4603394046555224246L, 8601361276132080486L }, - { -412280426794415941L, 3234625889254726291L }, - { -3912022758691365061L, -7583905311611097645L }, - { 8274283857906326279L, 2184666272143163901L }, - { -6679687570538459747L, -1449850152673288419L }, - { -6155809572519276859L, -1979751836203826716L }, - { -341344339192464824L, 3018394569217164771L }, - { 4137861550441588415L, -5754764276232000291L }, - { -6618940267671493988L, 1914198431867340287L }, - { -7291675023689911653L, 1607477724244498217L }, - { -7953871974818004574L, -2599486547593093280L }, - { -397153165830243551L, 6139117266404059459L }, - { 4399741193484513820L, -4274767466794993785L }, - { -7321827371527026850L, -2333449639160768202L }, - { 1338155597001139997L, -2548173382440401300L }, - { -7945100475342274903L, 8020110768851902224L }, - { 4522579580699730675L, -6875195919910217236L }, - { -1777997817650119183L, -403892898634974893L }, - { -5064101783437092203L, -1401240413820955912L }, - { 1113553310062801693L, -3995214081458919524L }, - { -5709720543205442481L, 927381695298466657L }, - { 772882345518435045L, -3147890619821539813L }, - { 8903336589907078605L, -6699858563678390112L }, - { -8789465120959251318L, -1189645965180491835L }, - { -7834044567177051539L, 1676372503530702213L }, - { 1770279151425541006L, -6398305042157421951L }, - { -4941283968572768930L, 3162695053295271273L }, - { -8127231558741248281L, 7942267134725934901L }, - { 737747628416269099L, 520551528520897480L }, - { 1574449851957266285L, 8754535681980459173L }, - { -471282776174276539L, 8242818857795592321L }, - { 6739952936193376447L, -1946621864275407187L }, - { -2424982200476312714L, 3812356397318296401L }, - { 176022186483763915L, -709740258783380911L }, - { 347356729555692814L, 4480055311182965320L }, - { 7550980861784622262L, -7976605459581456325L }, - { -6474882761637742162L, 864430267918049210L }, - { 6769254801287215843L, -2567621002890372062L }, - { -7346044586598503820L, 3212842589322747836L }, - { 1815045574884249754L, 4277372518483154396L }, - { -4240219227462571370L, 439915893382050539L }, - { -649819224919779208L, -1111682246597412639L }, - { -3697860834931443057L, 8490404538930416915L }, - { 4209607762757612835L, 3651293147183772096L }, - { 5512379227441488333L, 1047566282088978950L }, - { 2554702396243693813L, 394345515667168248L }, - { -33063197416101018L, -7242273122516823999L }, - { 6204387436027047110L, -2486013089072936897L }, - { 1121696558750946811L, -981625281791640302L }, - { -67713675745955613L, -9147432709665441552L }, - { 2900236341998750711L, -3242894057113096546L }, - { 4072627124871947361L, 2568923051531765618L }, - { 3411250942283240973L, -3794534011481282225L }, - { 3459019187218245290L, 4975406156688201052L }, - { -4931935198846519054L, 7746420830231423069L }, - { 8420402881327935528L, -9137776997333750418L }, - { -2700073972687127894L, 7440926613678198288L }, - { 4135622085465759778L, 1922177824387806658L }, - { 3115364578959809417L, -39062662364695498L }, - { 7905907040079822152L, 1652221253552164825L }, - { 3117202331600018366L, -6352534687564691907L }, - { -6912405766950946927L, 664843781442374790L }, - { -4526890208931001416L, -6736625070925799980L }, - { -8362196017109360491L, -1402801909960855613L }, - { 7990163642449120866L, 2406982952217461208L }, - { 8921333090931858791L, -4099534793476161857L }, - { -7835160532401884454L, -6581739995481489291L }, - { 2597345228860385242L, 7606102447237383994L }, - { -2019901582135813985L, -8270782380997806585L }, - { -734731610197007345L, -377734071426125465L }, - { -4478738615320414333L, -5521141880370424976L }, - { -7971363857175568029L, -6039235291455986157L }, - { -4550695664824391599L, 1387891693133629815L }, - { 7004896942426055925L, -7263582847205455039L }, - { 3243444764663891458L, -1561779634771247681L }, - { 8221182849925835178L, 284616156990708392L }, - { 8413639868002181795L, -3417011274147731084L }, - { -7599742913553767497L, 6735403778117774387L }, - { -4861871033227348667L, -3342667103008656516L }, - { 7180813616057727196L, -130573597887794775L }, - { 4110358466985293134L, 8412194900106960305L }, - { -9163301540202343656L, 7441551524528441254L }, - { 7407431836530456233L, -4965816325150483505L }, - { 7168833492994704184L, -9066751607323653514L }, - { -3225184215180636592L, 535785430806826282L }, - { 8550286352383434501L, 3641342818619034585L }, - { -4037242040051553894L, -7777861270948397331L }, - { -7019860459089371337L, 1059174507624850078L }, - { 6499568859919656194L, 3031741024498209628L }, - { -6517870390876058597L, -5171583494332061357L }, - { -8816903563531564452L, 2500915269629225596L }, - { -5488567103311833696L, -8369938414214715017L }, - { 7162975208461021799L, -3741661550798250786L }, - { 3231150263108104601L, 5489430759658693665L }, - { -6472825090155306196L, -5229190418016637501L }, - { -7112727281349161724L, 8638207742440339295L }, - { -8908480908774446053L, 1135397788772172543L }, - { -162138742916032914L, -9157670355820390217L }, - { -4934765719133081654L, 5264770544051296674L }, - { -5383597847234182085L, -8622588421575346549L }, - { -1457750799424768103L, 2900589679751304212L }, - { 2062788467226997042L, 6934402819579476339L }, - { 5195212083662151172L, -4993043678018816500L }, - { -7086725269988157115L, 5165632918103528746L }, - { 3216790230270684188L, -1498081570553112883L }, - { -6772983200597124262L, 5323428267774554312L }, - { 2139536380152189149L, -2123846892813368415L }, - { 2783400616608816134L, 2640993991844476928L }, - { -6309269121238725342L, -8968814731582872564L }, - { 8703327852945446994L, -2169317814052701370L }, - { 5986578967392046329L, 8988225347013839366L }, - { -8686234791137218952L, -1293815802100229147L }, - { 7147175926193618258L, 8961828719037336812L }, - { 2812520130705527307L, -244690421709006577L }, - { 1012516456501023939L, 5782308992605392643L }, - { 7796658848573086967L, 5954450867936080446L }, - { 2642184550087192362L, 2918994474340013448L }, - { 2521303561751617614L, 1827340240292302525L }, - { -2372355039844318123L, 3067390826707986478L }, - { -7982908463432899233L, -7688424486870428680L }, - { -4773586301827797121L, -8957053550728164265L }, - { 4040904044293393487L, 2826062411708434021L }, - { -142670900232845920L, -7897084558815522344L }, - { -10691804562559377L, -2234946696504510507L }, - { 8453630879397574208L, 5221283089826208428L }, - { 5612078661433375152L, -5827827668460398004L }, - { -3592401183831123809L, -925198903278624285L }, - { -1194636486876965628L, 1773996642463132256L }, - { 7144612844993582305L, 3804996741813028381L }, - { 5952025594559102453L, -2833062603703238128L }, - { 7768859735998504182L, 2017446387476411629L }, - { -9046596974248194873L, 3950090712041650564L }, - { -6171084369920910835L, 3290438712182319518L }, - { 1781418400960307869L, 1867158814203969428L }, - { 5081999630281512875L, -2037971351242799267L }, - { -5147831879244994539L, 7584142773325361699L }, - { -6245492622672631422L, 4218402275190977020L }, - { -8665204890652827995L, 631176852120721281L }, - { -1175718303513980672L, 3584072626690154612L }, - { 8885449897820005156L, 9136594867492618470L }, - { -328163209321586593L, -3184598578381106244L }, - { -1445525508305375763L, 5152237349583818010L }, - { -2100999238041350502L, -5528588035009373442L }, - { 7410786050561217868L, -8329610059860877786L }, - { -7914164711220348362L, -8575660962837876685L }, - { -2906200250494490361L, -5595724376864178814L }, - { -867790952312765711L, -8796607059715677925L }, - { 5887767909251264450L, -2886161295052843437L }, - { -5789450489200739242L, -8648773361803380858L }, - { 1662159886119924244L, -3498141174490735224L }, - { 5012361370472355454L, 5637973419645599298L }, - { 3429745384914079292L, -9095994212145066587L }, - { -4445208736020219814L, 1969046699177550355L }, - { -5413763295704138557L, -559955330032103584L }, - { 839374495111075513L, 6529524391959302548L }, - { -7648977736915073173L, -1003589388967555446L }, - { -3664832624688924839L, -1936172468666972698L }, - { 7158412277573249226L, -7956802618942656016L }, - { 7779305491962558566L, -4843241120730501684L }, - { 8039313349173431072L, -7999087482161649872L }, - { -4220847824862505833L, -7596054202827084588L }, - { -1939839155925934724L, -4913883888222467553L }, - { -8034010027834756500L, 2813017045387334571L }, - { 8475758752811450501L, -1613769428216243240L }, - { 1099214246266343746L, -2807494640498805644L }, - { 9186354033975902114L, -5197162245251778905L }, - { 2335697942068596836L, 8495832137497385808L }, - { 5125601667360226370L, -2587705732341378662L }, - { 6606318187238773479L, 2430230045828080098L }, - { -1182364933194642155L, 7501505225324109667L }, - { -1282696136769309305L, 3965216814875100263L }, - { 1154559731683162717L, -6044142788611156010L }, - { 2886049233756462774L, 282833821358901737L }, - { 4825677492212933300L, -3505216937575005480L }, - { -9121350732551109877L, -3988694319279921100L }, - { -877752678277742358L, 2128030531232165648L }, - { -3266764465431864389L, -1383775789144281321L }, - { -1914199636241277795L, 3172927205861865522L }, - { -4687907120417383299L, 906209675925715648L }, - { -474253911596715394L, -2676977326907041001L }, - { -7075290400477487025L, -3777175211466737205L }, - { 8134957124130148548L, 3995726904947096316L }, - { -2992238854808660187L, 7288621377035663598L }, - { 5996516183600836003L, 7996323395017882596L }, - { -371549095799671162L, -1963723397664742141L }, - { 3902975175457565825L, -2096359685759558164L }, - { 6605036583318392521L, 88737143141685448L }, - { 1891100275270423451L, -1745981040411221219L }, - { 2119245665259072674L, -8638991354136966831L }, - { -834774890825819923L, -2471622230063928436L }, - { -231771124221128734L, -6259176704025750253L }, - { 3133196876747178672L, -8434923388925317687L }, - { 7298692169226203885L, 3209300628873906858L }, - { 7126455091552696586L, 1374898972361753100L }, - { -2143648506542037333L, -1300918538344005110L }, - { 2865309216991778464L, -4741984767119458210L }, - { -582169278536046195L, -595021088316172951L }, - { 8080177625773872889L, 5605701634825149343L }, - { -2641866597771089394L, 7968669847987563730L }, - { -4210759777426999986L, -8597023424475589165L }, - { 8940623302154716559L, -5059512967836662675L }, - { 8753678355208533280L, 7535049518488467454L }, - { -6281297936039038456L, 7457909342608693553L }, - { -4466014453281785565L, 6248139512270887953L }, - { 6273362062923197148L, 3871429116281885402L }, - { 2333217083667471091L, 193753548221085829L }, - { -2134695293413683177L, -5181203095625161285L }, - { 1638282373040657672L, -6368003890771549617L }, - { 3200622258378038793L, -3326095973277466097L }, - { -8777912174432066160L, -650529619692776996L }, - { 4509402067996738269L, 4817027167761014779L }, - { -5444623700171973227L, 5528512453315198768L }, - { -4861257960719874399L, -3622276494377371155L }, - { -2931845644152220868L, 2153074555510703652L }, - { -2415035074251453041L, -1006946510571967488L }, - { -3415608992526650142L, -7840424641444647872L }, - { -1100060277548286709L, -2271450031970914418L }, - { -7950756431533405941L, 5441868159791814728L }, - { 2529778543681983619L, -8854951009938006713L }, - { -2509511542105356611L, 7853654232309547016L }, - { 25235701976844069L, 3517855992525250730L }, - { 3512243450460933893L, 3972430887397192492L }, - { 5497081699936367558L, 8383940244504833083L }, - { 8834833749235004269L, -7334675479385357802L }, - { -8786955172657476976L, 225166460691346798L }, - { -2806229680204644453L, 740198459796101590L }, - { -5310949673572257587L, -379186807769692471L }, - { 7180989110601385791L, -6432354723404698372L }, - { 4574812998786692932L, -6039313492850770833L }, - { -7191136183375597108L, 9110930278055289403L }, - { 7817612065160053901L, -8258693647460211987L }, - { 4092147258927215079L, 8293168384517520663L }, - { -916694886327147203L, -454314143918346215L }, - { -8155481011317235899L, 2292426029549420190L }, - { -6577214469178899288L, -1924115905005123142L }, - { -4704682976594284594L, -3476799468679251934L }, - { -970000750564611255L, 2791886232557467235L }, - { 6392037803435901919L, -5315497557080833696L }, - { 4653466442162924160L, -4133878190287801900L }, - { -4217569099833350175L, 4839504582831160901L }, - { -7494295064988163591L, 285188759198988857L }, - { 268071204677339466L, -7292395415962103265L }, - { -3128139626778549626L, -1174396804280713279L }, - { -8490295735340959824L, 3060015218167934818L }, - { -5162368829222403127L, -3393984135225595684L }, - { -4379157681365371219L, 6657143563587679125L }, - { -4505869932044746193L, 6319966515037375738L }, - { -7725004848904746158L, 936557326289189579L }, - { -1077347489733049759L, -1247066987861982979L }, - { 4372692724364737369L, -3256637161950359616L }, - { -6095523387109702205L, -1290870227696084252L }, - { 866555760732064401L, 8351687362397734775L }, - { -6043383891507219565L, -8719495801073949943L }, - { -5064298145687783678L, 8068427516165501654L }, - { -8284554766413268444L, -5044265653521567680L }, - { 4358509246174021158L, -8826147307297954564L }, - { -314402459279271878L, -5933542775446256478L }, - { 4534052702364464050L, 9082121576264326126L }, - { -5069975264209271430L, -2280561666567702498L }, - { 7618881160105474363L, -4794858632711295348L }, - { 4167592104901771551L, -5018298706610926606L }, - { 2277499839812963141L, 4242448307766779616L }, - { -5797737740917833733L, 264493678146677010L }, - { 5386843611229288306L, -819526727917515385L }, - { 322032948055534721L, 1736760202411262747L }, - { 8623908495470433985L, 5436650610054812536L }, - { 1464656873108399270L, -5202587803213018241L }, - { -143110847782655873L, -8510401654127848035L }, - { -3683505493125515417L, -8668734897929026338L }, - { 5263884653798534228L, -1131791277133219585L }, - { -5596816932431872850L, -7650966445894865682L }, - { 449263668055475580L, 5943833600560494318L }, - { -8209880385374160761L, 5433449067757110313L }, - { -6160876842633556933L, 2106036607754168591L }, - { -2822510119276015598L, -1169309301398832317L }, - { -1867833971803598158L, -5215126721010895403L }, - { -2743011208375680513L, -1334137156024540894L }, - { -562758870972224424L, -8858736479960857044L }, - { 5241707884356795802L, -404549239240361305L }, - { 3044382044884310303L, -2578848030062168952L }, - { 4240643424518839454L, 2009743695925300205L }, - { -7202731734581844883L, 3560548372442035725L }, - { -8098501199143125283L, 270444074204918235L }, - { -2550459180607677020L, 9122097925106566372L }, - { -1776717083783659251L, -5066722509244044276L }, - { -2343369089757631624L, -8570356075106548461L }, - { -6293279254462751659L, -3762530309367743723L }, - { -9100627021059872276L, 3178453993421526858L }, - { -1298100985130924363L, 1942143010909260088L }, - { 3390116780901102550L, -334576415657279307L }, - { -4663999614093100429L, 770277787515502772L }, - { 6916372370306791572L, 7435605989219979813L }, - { 1488349423055656442L, 2113647012381226787L }, - { 6773020852755024150L, -852366200604922241L }, - { -7005014351468554871L, 7485133827588013786L }, - { -4753926923183579314L, -2312386844690556698L }, - { 5415870192658316069L, 463479081020224407L }, - { -2670881940811475410L, 3507169512028760304L }, - { -7225213211793183097L, 3981958135443174761L }, - { -5703028807893997804L, 1264194096693403893L }, - { 6561444537664669662L, -1954354266407705042L }, - { 8939981796276591301L, -4733058470244221471L }, - { 6017910964940092953L, 124625799714735872L }, - { 4500890776998912544L, -470688000960484088L }, - { -1835018042586347444L, 7653403345510987769L }, - { -4191687948466793374L, 7139837548565246758L }, - { 4106435482907441086L, -2126413898085076347L }, - { -6130167349217050086L, -3959969099349735016L }, - { 620129892796426300L, -62209784009239054L }, - { -6144158488464216798L, -8173934466594508364L }, - { -625006850515938527L, -5809518885326364398L }, - { -6682172611475406987L, -1714940790350536113L }, - { 1220842624016183584L, 8269949841236476393L }, - { -7098540157067814615L, 3531738600537340144L }, - { -4378743347226734130L, -7327441054828053137L }, - { -6508042393772984279L, -1840909133921621497L }, - { 5289282493574993598L, -6455879780378370298L }, - { -6781000719696595982L, 5177178370843840548L }, - { 3322666381578332368L, 3134586237016402769L }, - { -8173363279507413324L, -6524402652348374595L }, - { -3603049973704190207L, -8475965567552946377L }, - { -4316988796658196446L, 8866378184082028533L }, - { 914989291445423876L, 272931860159225473L }, - { -305370752767861151L, -7996913970986439765L }, - { -6987550192802158001L, 3191979351473290494L }, - { -942676483343861967L, -2153209479961610339L }, - { 539036846465448158L, -5955756213951094362L }, - { 1605373100913987077L, 8903900718100188013L }, - { 7713068526230669637L, 5191047107663767366L }, - { 7241900405827926293L, 3287960505839783884L }, - { 186408038263119881L, -725098263159168344L }, - { -2429472274603752977L, 5905214161924496910L }, - { -5720789098334319209L, -8856816197357357489L }, - { -6674769505767916301L, -2005822193174095488L }, - { -581393540490176967L, 2751755671060133347L }, - { 3124744789645879825L, -4243941635080647386L }, - { -5602915602343937931L, 4501087988245599909L }, - { 3263507419526132695L, 3560352323108238394L }, - { 6937077332985554718L, 8731941696760140572L }, - { -7919624999578199393L, -2867710728097054893L }, - { 6556190618267765484L, -8112004817108418177L }, - { 5682381095734864238L, 589618283089403862L }, - { 7614251273120089370L, 5724958541163307665L }, - { 3395157685499349978L, 3613526290468317309L }, - { -6398328093992251036L, 7596033768669695677L }, - { -2651093395236575804L, -8014022518016193809L }, - { -2097470820892650054L, 4842033680917117547L }, - { -7267148748500151232L, 4770828425873813766L }, - { 5507274834982481157L, 5091231856170754714L }, - { -2194323672581532616L, -9144268390755820585L }, - { 2269493654210886217L, -5259401698591517179L }, - { -4216275761811372636L, 5086789201000199700L }, - { 7228709978053803804L, 583987105370029162L }, - { 1544682503099095700L, -3570389176034465400L }, - { -8135200911288478327L, -2626445514253500075L }, - { 7339704802803690870L, -306444582707945130L }, - { -9063598666954112733L, -2616502440081045224L }, - { 4249185982522288588L, -1295355602551546303L }, - { -4695745996091883154L, 6444320363226433806L }, - { 2627137268581003083L, 3621089752612839029L }, - { -2578238879441406084L, 1208907918137575489L }, - { 2429552460105156204L, 8195465270198839978L }, - { -5016405662860787559L, 7224902700860526388L }, - { 1213685060600888916L, 4648386381705116369L }, - { 5207480625629771054L, -2798226710980115801L }, + {6918025063187695999L, -7374073936536430376L}, + {-4302098779834749733L, -6427377105285148822L}, + {-2998166160713018281L, 7659024777716224941L}, + {6864218090047839419L, -2038618426559555633L}, + {-6480366142596956747L, -1481473859315439130L}, + {-3953929349995588965L, -7767492055996579519L}, + {-6434184480940321117L, 6079588180421601534L}, + {-2616020178111209730L, 7047615666104579453L}, + {-3470854323700000575L, -2169535271171686428L}, + {-8036337532808841402L, 1641396966678784974L}, + {-1838610295139896408L, -4786474928096720073L}, + {9036419607108199075L, -6004001502991493996L}, + {8611141083647120330L, 4105350226480938181L}, + {-4793706706242476352L, -5867379820156476408L}, + {6185226889748380721L, 6886539015187124138L}, + {6731536092874631L, 3466258189393024666L}, + {-8923861991986181406L, 8256512301565609954L}, + {-4580685021937757673L, 7519819888072656255L}, + {-2043568341533119453L, -8660816345503928947L}, + {-4288028997403044897L, 8510040706351439064L}, + {-3641643329425012519L, 2411460379579264364L}, + {-6817119268007077771L, -8484709459460756717L}, + {-8321648494418841644L, 1039740944917575917L}, + {3538050101539897582L, 2362743675522042414L}, + {5258435933086838188L, -4848199824445801375L}, + {-6362280687837106391L, -6773951973449392900L}, + {4361114911410139889L, 7972785452136460766L}, + {-1076301070271465131L, 8384558886439123465L}, + {-4260306398241836702L, -4749396038389899603L}, + {7705536077211324767L, 7065275513754572192L}, + {8848360094546279194L, 4251126870462033189L}, + {-5382395732421186272L, 5680046751876868219L}, + {5007322629095085719L, 2731373470772162258L}, + {-2266009261689938298L, 150690519598499383L}, + {5654476833875738032L, -2061690640343340129L}, + {-1954811291194740257L, -5419036513975901981L}, + {-6890789870811920961L, 2325998689782383239L}, + {524837945339210726L, -3715887750118223357L}, + {-1133972665109461700L, 8834173286146294154L}, + {-4865757570688729898L, -6727182884028692069L}, + {-5911952424608985308L, -6049127781180242975L}, + {-6304772494633596832L, 4470293576424874190L}, + {2836199333566295238L, 8864173708278309166L}, + {3102360108557900747L, -3733512248908528829L}, + {5510180088237800518L, 4123807595437003297L}, + {-8414952918150047989L, 4522684623950545953L}, + {5518787400664681885L, 2205797938276248879L}, + {-4455668116525212265L, 1731227964152171874L}, + {-669789427027077066L, -2931659152274064678L}, + {-5683078161783893371L, -3845762003302041006L}, + {6680667259477693981L, 6292675962771587338L}, + {-4632250858732682011L, 6003962969507266903L}, + {4901952080618105871L, -4810616663349653181L}, + {-4868621977036224471L, -613718830978964302L}, + {-8549747210893534701L, -7652856120690185923L}, + {5559482992819465126L, -2935778481022073662L}, + {5338789689922860629L, -7042626160273499760L}, + {1932600112628823928L, 6801794573522504318L}, + {416099586592393932L, 6439908650131601962L}, + {7024137889223187025L, -2290925491907122061L}, + {1045082728260193951L, 6309788576958218843L}, + {6002976951327322033L, 2207846278132305118L}, + {-8528919693413636608L, 2135399881265353259L}, + {216915620139749202L, -4932202155253948654L}, + {-8015959707258401164L, -7174775121992399387L}, + {1940599133729319055L, -1446235614858172175L}, + {2459358417139019246L, -8654965189671283179L}, + {-7818955503663384729L, -3934147459468506343L}, + {1042851174159079970L, -1979910437861944855L}, + {-7917252407765639829L, -4633245311428649467L}, + {-7720303362404590874L, -6295287635440345944L}, + {-4157762089433661655L, 6496007637698701064L}, + {7715936428342659469L, -1469964384035074732L}, + {4195235191127312039L, 899631082723122736L}, + {5215159923805118598L, -6545879335313020661L}, + {7616735844785551706L, -7041352949020998262L}, + {-8947005412578780411L, -8900196105579670687L}, + {2608419102060352937L, 2291692068482575428L}, + {2932246401534482789L, -808561230173772212L}, + {-5972416795070818118L, -6748248077446108801L}, + {-5022910438308829379L, 9072885020094111509L}, + {-1910630276390364207L, -9174830524950881316L}, + {8023252197284180464L, 8037539466518319583L}, + {3380163176409638595L, -4855957689303967113L}, + {9039213805856064871L, 1650794118333894986L}, + {-2271629174168076410L, 1347251894944291291L}, + {-4820143586371341417L, -3594063807503715367L}, + {-4959944807440428194L, 5383365720172155085L}, + {7003928884444229348L, 676120417416765368L}, + {859489746443979827L, -7833483946396960669L}, + {9102710007397480162L, -8584324320197179283L}, + {-4175348964434949086L, 5647267223701886330L}, + {-8008637466668367969L, -6055429896007822421L}, + {108482635692190168L, 2968129854880531728L}, + {-9011339488466116365L, 8434635880912750808L}, + {-4004467558640862965L, -2442649750845279594L}, + {7949886151835604363L, -4218369913800524038L}, + {6571460655316068733L, -7275245798374398558L}, + {3933351809358110799L, -6947442526623576080L}, + {7530035428683392997L, 2445755963621946807L}, + {3004476708737695774L, -2695985919888627981L}, + {-6839738311238403945L, -5007277885229986319L}, + {-2115438695015824267L, 8793986460873025460L}, + {-6122328203320968341L, -1039312793807793706L}, + {-5548421559246888919L, -5432599954223186038L}, + {3128331988620583536L, 9069025730792010839L}, + {-8643493112127109679L, 1331229929640790962L}, + {8814314992955228960L, 3847902944293450150L}, + {-4787601413732006112L, 8900584343805263383L}, + {-7388222168387984808L, -9082309407529645857L}, + {131518593310830564L, 2590646000392089354L}, + {-6324750245753466159L, -2802698424622117505L}, + {-8649508569357882764L, -354092374739121335L}, + {-5132193229074755277L, 5349864399629044838L}, + {-1406233318133878829L, -7778322178019776638L}, + {-1351642603059584651L, 5905272679963588442L}, + {4703467631404861482L, -1412638527591654637L}, + {-143562322856237972L, 246782552965118392L}, + {4729655314786007157L, -6812953036143724656L}, + {1143435340240345532L, -671788510726657486L}, + {4142673406702890802L, -5618565448224292259L}, + {-386385592979460209L, -3300708192346055254L}, + {-968019894004968401L, -8047458695647085054L}, + {7431201141513763234L, -1398860770070745887L}, + {-8435079361655022794L, -7645011917469248859L}, + {4882503199526148408L, 4410126282669136718L}, + {5872988456826904838L, 773528843558202110L}, + {435774107218292665L, -3049543393726570481L}, + {374390355263912769L, 1475262870450658412L}, + {-4886205263344788933L, -2495428859633732274L}, + {4523286614199751311L, 7841582144919037703L}, + {6199714818303858941L, 7901445636911613076L}, + {4303994841625385970L, 2937718694375539717L}, + {814757341681862090L, -6478582819189379036L}, + {-5700445004887010774L, -8455858509054528766L}, + {-407790974857570816L, -8859596179726191766L}, + {-5805754751830269767L, -152275305346719872L}, + {1598196252757994963L, -3928731748771019828L}, + {-6934713071114934765L, 3826064854799786237L}, + {2185603020959026426L, 4940136396487362160L}, + {-2709341181476883011L, -3919124922665860644L}, + {-3382770288363519601L, 6073097037575507405L}, + {2971838200308166371L, -7934498192931647428L}, + {-6368589310665521963L, 6154526145046318539L}, + {6353042450513427021L, 2744250502633008273L}, + {-2886123871504743256L, -208572599238022818L}, + {-1624168552941053619L, -3913047860997752862L}, + {7320019149991831488L, -6407203038559925672L}, + {-7826562494167066071L, 3656950149331658711L}, + {3032358658826888909L, 8478297990310817113L}, + {6635552159941043305L, 2369935842067964507L}, + {-7730726826982994831L, 2814934766308141432L}, + {-3283541548043086026L, -5626755390737090180L}, + {4756392346740163255L, -1618854092540178479L}, + {-954514304963761905L, 1120375285910469551L}, + {-2677127018316745041L, 4533997389224788953L}, + {-6498470148726531477L, 4211221291483652077L}, + {3703731056182724504L, -1291375588013924342L}, + {8390865458275667313L, -111721904773166244L}, + {-5861077228742736805L, -2070386036672698890L}, + {-4143367647396165132L, 5662645194542529413L}, + {3940052427164582775L, -8034322082658011232L}, + {7449120853716556570L, 5233008944754805539L}, + {4707315860283250027L, -2735344620674927100L}, + {-6483773415321497379L, -8801767122342998918L}, + {372467878783610102L, -6728271425602167056L}, + {421540060564964849L, 6814719141747896598L}, + {-2932751110479442880L, 2620333485388819159L}, + {8138296947263184633L, 3186892836605521521L}, + {-8443166457721319544L, -295561944926731323L}, + {-3484858775294549484L, 999377954767431452L}, + {-3825165428097955770L, -5266530330876878010L}, + {-6113875314365935219L, -8700518321068076907L}, + {-5236044337855094887L, 4166279963844450417L}, + {-7689418202059025630L, 2745081882899556912L}, + {-5994295218119667616L, -7200741691189504631L}, + {-1019731893393738021L, 42985972231797947L}, + {7964057313498750371L, 8468135790260799298L}, + {4350973314535291960L, -96363394771300893L}, + {3374846342506204851L, 8183621324647001307L}, + {-147780277660396961L, -2020465953003062925L}, + {8087892087579153542L, 2081576827994983699L}, + {3656634502747737496L, -9188914506833434747L}, + {4352397869817031502L, 3608087870457978178L}, + {-5463203683033862729L, 4794961360367615558L}, + {-5829826499110216168L, -2966406905602723212L}, + {-6224968695182446745L, -5757313901190477182L}, + {-162412897360955265L, 4602851342136911659L}, + {-313093481501038119L, 726082021515462476L}, + {-2394654531394959372L, 6077061020288043189L}, + {7129356685384777594L, -242956320069229460L}, + {-5610165828587809576L, -528970810714251548L}, + {364583333953451656L, 1209647354565391723L}, + {7770189435264039886L, 4432114537846063450L}, + {-5378637197958159683L, -3569583594959549373L}, + {-4245901361761642000L, -4908415462875986721L}, + {-4163321130952495919L, -8783734595860148591L}, + {-8760784759435664042L, -4001594145043032047L}, + {3811531583056254939L, 7138061436855517595L}, + {8328872328718915031L, -4681101102915066754L}, + {-2479256131109004811L, -3818044021289010674L}, + {-2564801102635362682L, -7621503644046974425L}, + {-2549390396843178245L, -1355036253044087129L}, + {-8447951661202617313L, 7367005715843213070L}, + {-7223721101136301216L, 5932237518320039024L}, + {-4579553338717938002L, -1415752620502773376L}, + {4739886663385123868L, 6842423570713214542L}, + {8761999406836444027L, 5431773349801366084L}, + {6275926421168556271L, -6741136388070930457L}, + {-5553742881209813652L, -7463405596637494313L}, + {-5466140015739861861L, 7090908124796334951L}, + {5086336981243921643L, 620608991523776456L}, + {-8583190303195622879L, -2528844698405021565L}, + {8136795285908184024L, 7834757658823892326L}, + {-6251123780956813536L, -2362184439993799450L}, + {-7029587377954900822L, -457385112617225992L}, + {3992372666585781254L, -3425505215948273419L}, + {-8934415453060377171L, 2889516969299688088L}, + {2171086741014253062L, 8747101652358416539L}, + {-8138586755841972043L, -5230807087849230444L}, + {1593528759643563657L, 25684661437075760L}, + {-313864667208179242L, -3034251152967214837L}, + {-3266427946201164069L, -7205525509099849070L}, + {1393676534450976148L, 1600133987975139142L}, + {-5699612540743270476L, 2411808686028794220L}, + {3643737955198081018L, 3624719045997588137L}, + {179868577584127337L, -2425054572247905446L}, + {-1202636047919483341L, 1008426614634206792L}, + {76328973038141475L, -6532258192268933884L}, + {7815448976579876396L, -5793434878495490438L}, + {-2551332906614530185L, 4894172006704360878L}, + {7897839487727186038L, -115287274417874605L}, + {6782385125028425703L, -3521765042231025350L}, + {2366096266549575004L, 1600704175490725006L}, + {2646330593616093333L, -9112186430548909433L}, + {-5734352638286816291L, -7935930112754314515L}, + {205990945300406766L, 6482328665055844390L}, + {-4107074334265298499L, -3655747932822203685L}, + {3070291460260888908L, 8334448736154584008L}, + {-134765739369511623L, -7474942726871719713L}, + {-3950948930639643722L, 7328973455013265639L}, + {209643423615708418L, 2135211318988808865L}, + {-2464819451665246158L, 1595264701587118086L}, + {-8631718977760664612L, -4814735239273499159L}, + {-4893221336143393409L, 4608470873153960630L}, + {2390264798730683615L, -2505079969232422515L}, + {-8300749389255144164L, -4091945713696362506L}, + {-3549775289570958064L, 4711670840533830052L}, + {6514441262456966668L, 1033420383904761807L}, + {-7301663820335638615L, 1786260203217802269L}, + {4181559756778549411L, 1887690114220705884L}, + {6215253578855337690L, 5107740194043393909L}, + {-7323335092456459405L, -7054773565482904481L}, + {-1860577032441476467L, 3268456599417932306L}, + {3644299936077808538L, 6853477546599029409L}, + {-5161174126835724701L, 6418903298992325081L}, + {-7779787747613135503L, -1010872026945774909L}, + {-3446338450597548406L, -172855764288287246L}, + {-2662609220502962318L, -8015039012110903940L}, + {208946340318274486L, 2793507753767981995L}, + {922869894074454969L, 4440830233961398693L}, + {-8428909140908329623L, 2106468816516885040L}, + {-6875524699939418906L, 3742616954716811326L}, + {5154230294972327697L, 6150997880677494555L}, + {-5868880138852165350L, 7468379017433552164L}, + {-2697155020815738737L, 4313139001296146702L}, + {6278899766774254324L, 1368605690955846609L}, + {-6124877505863871039L, 1078518665221359628L}, + {6113186870348198684L, 4141878510658134343L}, + {1328797232741421065L, -3543059961120850079L}, + {8936960355443139766L, -6946112468654970433L}, + {9069883653377839816L, 5148075934725699275L}, + {-6698244186639407697L, -9162869098327881138L}, + {6633988379507542818L, 5549765864648998779L}, + {4243888593320380368L, 2997246184917475828L}, + {1299920470993756698L, -166510666501194299L}, + {2315187937474071861L, 7661746883847328813L}, + {806120923801759332L, -7371352627644098700L}, + {-8537792935927015380L, 8121135036776652016L}, + {-751623313460664870L, -1684827436846980131L}, + {2455098182130434513L, -5117312998044745719L}, + {-3041072155357054618L, -6972979759059535816L}, + {-5209258140949481980L, -2850141282674081949L}, + {-7784651030341623624L, 8999636098565609468L}, + {-8624281235662545565L, 2802906109949156906L}, + {-5185374153462168974L, 4042442480817740884L}, + {-8728622305551122108L, 5363590029784421735L}, + {3633316488676598179L, 4925791459461278180L}, + {2341850275669250720L, -4459999769175253936L}, + {8998800880957295269L, -4343678313183227809L}, + {-2791108801739767859L, 4636488046527593561L}, + {4207716787796156879L, 4231756216975414682L}, + {-4083554261407892809L, -8262406562901842787L}, + {2977762250156739855L, 8049673030862839736L}, + {-6066243213313847782L, -7613157457395411777L}, + {-3134677742513834402L, 5369087783798165525L}, + {-5231660756514911289L, -558789175821081719L}, + {-7916346081138370244L, -7638955099780654605L}, + {9105509708951212631L, 8857680368853459781L}, + {-3071680532260795719L, 7548887970352736530L}, + {-3152428524199455707L, -6442114135533810709L}, + {-5276930195233923125L, 1364963280258649846L}, + {1981446637702558747L, -7751173762713374236L}, + {-8822786060285469479L, -187974834805915694L}, + {-3086453182842996354L, 9107364158514537855L}, + {-7521798164704108718L, 2384045956629947261L}, + {-7460429880600038351L, 4800095578910651073L}, + {-5031515429775225415L, -2055654337088316962L}, + {5662627828449328757L, 7046721834457541245L}, + {2804157867790593789L, -1341792999416601132L}, + {-6183934836359652529L, -657594756031460913L}, + {2425310972806241292L, 1258033866943800792L}, + {-7877162957672040682L, 7635167739849781937L}, + {-4575453773921540745L, -3355393194943055905L}, + {-6152892230011262930L, -9193001981013880312L}, + {-1554429781063399588L, 3405969670011375161L}, + {6395550633581619922L, -7583323290006007445L}, + {948199150697514149L, 4111589110219820951L}, + {4123518706442132507L, -8438953137254330460L}, + {-8620024481834864148L, -6636388327463820199L}, + {-4627311960537433998L, -915962921757457254L}, + {-1517263476517287336L, 4046174639048253801L}, + {3087156144310177979L, 391565409154016317L}, + {802387854806242344L, 1031677631873271699L}, + {-8223164854162179626L, -443891348496457499L}, + {-8876883825341271093L, 5762028792245015141L}, + {6189924694943538938L, -7169703049494390501L}, + {-558048344469199000L, 5981321487249463887L}, + {-6388815497071843014L, 3273238115129858121L}, + {7970082794223216108L, 2973205891766662972L}, + {8943146030443257086L, 5791248506749113385L}, + {1919558538884824162L, 3150174799334525665L}, + {-5413821296846136841L, 8082825464958206177L}, + {8482255996292420949L, -7115778512034379502L}, + {-2059351044571046226L, -4782846315945295244L}, + {8122315934009425936L, 462528816707067945L}, + {-6002133579485340781L, -3975376714763954783L}, + {6439465961707132723L, -756936500656028513L}, + {2763117897158909339L, 1091745287377893475L}, + {4241846593057682886L, 1081100136763965880L}, + {-3156374353704014890L, -3581775682588778942L}, + {3611310604513156987L, 8348262968344472468L}, + {2539868227324188707L, -4712857164920834878L}, + {-3160603853021599046L, -8654224927278936599L}, + {-6694565052629228305L, -971528287258097624L}, + {-2829087677596299075L, -1534581713432222723L}, + {-3855421753196086451L, -8760600350092291439L}, + {8353874633819013271L, 5978997520871435617L}, + {-2485914493713180581L, -977211097680535312L}, + {2924901647540244351L, 3960491378165335258L}, + {140830235769158231L, 4133918999398648450L}, + {8924525771772034372L, -726044173977679325L}, + {1991645829771754924L, -2067381390897988577L}, + {-6409133430531739321L, -6175415710899927619L}, + {-2477349252564343349L, 3988670256167231709L}, + {7592298137540200578L, -5726518256936929851L}, + {-8706120837264950112L, -5760350640517553208L}, + {2330049856518978017L, -4092773931089397265L}, + {-1333715564956417750L, -2231452272587190724L}, + {5321303278236129003L, -6746469835008817808L}, + {1316603583801631000L, 1137804323520560994L}, + {-2052093890021786856L, -3783187984532267053L}, + {-2212919092132307727L, 7186765338995597614L}, + {-1138248150179747101L, -2184981677146577517L}, + {-7297574785915472699L, 5009477804126403419L}, + {3159392081609537393L, 7309719615409023592L}, + {5438969032594710113L, -5123802317331232347L}, + {-1117946266762888661L, 1492594410329911808L}, + {-3513962250060316650L, 4906439631063318446L}, + {-95470470775096400L, -8272067922919754322L}, + {-928547845419412355L, -11702280433339640L}, + {3064209748165139149L, 5541367980759525384L}, + {5570740544374382296L, 5321829123710270068L}, + {-4848606292970499536L, -96910214182218274L}, + {1249733847255258336L, 629248191606577595L}, + {-9081876379081045111L, 5443102257014841765L}, + {-3178350430540128617L, 2432498732626009926L}, + {4580722282117591455L, -7643528894779295786L}, + {4910338723691444614L, 6967629769055776438L}, + {-3861107435455294057L, -9205931005525733053L}, + {2455351552393139588L, -2953211184067244974L}, + {-3098045343671378301L, -3817179460848825357L}, + {1276702104227748441L, 137325564846715403L}, + {-8725606894849543465L, 2905193080015222394L}, + {-7043526197674754455L, 5559996365359216967L}, + {2543751490914779898L, -1370174742699523774L}, + {1111188191726666289L, 5295334064948911884L}, + {3299681536744686092L, 9040207948700213390L}, + {-4968407975804173061L, 6424222583290688109L}, + {-8443232222924958642L, -7778388515977146250L}, + {2692856020311995538L, 2968383219838059276L}, + {-7295992543900831720L, -4457539035332779798L}, + {-835426980056055153L, -6325659580231608755L}, + {-7189216512060259212L, 2131181344124063164L}, + {1546667140862204220L, -239160549067820612L}, + {-5157738526808785307L, 9115760354926169094L}, + {-8400112152363165211L, 5857402912101139691L}, + {-2562446629278342489L, -6148111590522678005L}, + {-3984312152746163924L, 7844800256926351421L}, + {263973571859894620L, 594261227115607566L}, + {5863738959863392730L, 4867956032043813886L}, + {-3750469576779228200L, 7192121623829732387L}, + {2859093520615066384L, 913297396549536029L}, + {239574671716835044L, 3087819404448657542L}, + {1758244848125395099L, -9078334339121564235L}, + {4692926060224877180L, 5116375739982667956L}, + {2328985435627410056L, 3709473589115479198L}, + {-712944964417726519L, -6007503027678389854L}, + {7575628018175957835L, -7383688701150280008L}, + {-6461647485226712981L, 6750569702211012204L}, + {-9175844658802936237L, 8399161365461331759L}, + {-1791894645853433273L, 7124236302180108571L}, + {-3209291319104719345L, 3052940112246927168L}, + {8435774909159574457L, 6041127832456521507L}, + {3068904622159492539L, 715670353716033395L}, + {6405574310234631665L, 6291430988703679177L}, + {-7236310029621050895L, 5100784183499609393L}, + {1939741827857698370L, -3177132287591049454L}, + {-2711876483320863546L, 1524168983814198921L}, + {-5191337944005182792L, 1387248765441775509L}, + {851301927202074099L, -1263258347843133972L}, + {7817558216393575797L, -5162993824073352503L}, + {-924173671401578135L, -5108957871026680251L}, + {-8870424728276452684L, -2321064657647312260L}, + {-5612135981154918473L, -3273558579175712345L}, + {5352840780989627332L, -6783535534084823449L}, + {3115501649750915797L, -4387292192090486464L}, + {-7282764488136203731L, 6453482773752879162L}, + {-4410122159075968274L, 4725424300607610937L}, + {-5112841868993719465L, -8779015554522488103L}, + {1606611627835962209L, -5590171830014603568L}, + {-2564625118517656156L, 7741285374849676494L}, + {-7347999176364584697L, -3065690164342722400L}, + {-7520586016175454443L, -6390387248180888651L}, + {-3582872246453049220L, -9203340940844140689L}, + {-7208670274224679141L, 6037856226854376075L}, + {1407185043226639926L, -8963249490810952056L}, + {5548472899324259498L, 7197773686811339894L}, + {-3424704481698318306L, -3228267337906479612L}, + {-8898045228081312865L, 7299625475871751770L}, + {-5032961205984329240L, 1080670899373428777L}, + {2319704565344125424L, 6271105296589611136L}, + {-1858090959206557106L, -7189583006151098162L}, + {-1847512527385111193L, 8502130611969952629L}, + {-218817722784924760L, 5246262405009713204L}, + {-4644538017574761086L, 3272921218846794606L}, + {527762499588866419L, 866014286715394507L}, + {7682925460546142196L, -9023754876300785684L}, + {2618673582975102782L, -3841047495859134001L}, + {-8339358073633623035L, 6392875486843295666L}, + {4632344075623474881L, 1582641584198542259L}, + {-2634725682046056737L, 459419838955507648L}, + {3264353773883015103L, -1523378724173083514L}, + {3450256920483368564L, 4975188291142344612L}, + {-8453373497678191816L, -3839576070757390241L}, + {4324811352547234228L, 580873531256814001L}, + {5231611966727557421L, 1244921297520573100L}, + {3935063678731059941L, -6192996608723472660L}, + {6338309551930394802L, -6490545382515146086L}, + {6622686033142507173L, -8428752124385041158L}, + {-5278373537512798709L, -7666003634852458753L}, + {-9063940204441257539L, -3060099377907561092L}, + {-6333833756325058415L, -5029009158854294732L}, + {3799491381076234981L, 4200533976809289087L}, + {5050905817684546674L, -2743556952975018462L}, + {-796624655126841621L, 8394910217060245525L}, + {8334872366472578300L, -4013169907403888314L}, + {-5288752267258476166L, 1615789454281352829L}, + {4335956913966038392L, 3669603612307880087L}, + {-2247074774901543705L, 384186682932301514L}, + {8474035569080943503L, -2072617956194576812L}, + {-3170167932314701995L, -4996126312151911632L}, + {6999756768956410897L, -1222840955640726138L}, + {-4451078577344071588L, -4574301927676188432L}, + {-8433054951584831409L, 2019896101789516324L}, + {-2640652121643463448L, -6207648221610624100L}, + {-7045594934288710931L, 6907612079776695168L}, + {-4036935141669708886L, 8337968798845695874L}, + {-7734407512972194081L, -352014965188200686L}, + {2053541054148333962L, -786335970157264827L}, + {-566653752431971002L, -8089305180282021945L}, + {1898804146829115409L, 1490169990672309460L}, + {8507984725723339263L, -4741793772956239321L}, + {-3742788731083462619L, 4530848119791548171L}, + {-614166854038590657L, 4495302806552748358L}, + {8147682807535759575L, -186502124698730499L}, + {2813322236228401990L, 8130069379689580810L}, + {-7697111451322995338L, 8936991586964556806L}, + {8023578719528819358L, 846744111432227894L}, + {-1666048881205334172L, 2007039852402613406L}, + {2861705383918865808L, 5712283346400961499L}, + {-2067264870309406817L, -8080281899293212696L}, + {1544932780962992751L, 6732646774857284315L}, + {5752963315823730718L, -6680909940508528513L}, + {5563418456763501584L, -4108919598993076052L}, + {-956763705026909993L, 782815035938451649L}, + {-6723021793890249884L, 6375973421868888415L}, + {8199491799885937348L, -2824046112291289709L}, + {8254326245904567972L, -4939591038817699096L}, + {696534455436688862L, 57855698877748437L}, + {-4526166123204455007L, 6259254177722304651L}, + {-1244479971115743946L, 5213539213896354419L}, + {-4712028527008594695L, -7017914521199006226L}, + {3845317619056596538L, 7090203329717532364L}, + {1397508695414938292L, -8490878741424764802L}, + {5199778266100306999L, 7458354268561924417L}, + {7649610185133409821L, 5850524304651887209L}, + {-7736979936936405855L, -1688565444532845272L}, + {-1871499676764587199L, 3567966374680431242L}, + {4089210433244498057L, -6849207453391081019L}, + {-5319342193649020117L, 6300983384645314585L}, + {6510328602034064204L, 674936610022286330L}, + {1177990759783856649L, 1233238019560229835L}, + {-6211536889696831922L, 3269771882547594708L}, + {-2806444732697667079L, -8472679256324341139L}, + {-5534324430749159010L, 7385757552452744804L}, + {-6189402282341917673L, -7597189316618548656L}, + {6327177260956086170L, 387354508794102949L}, + {-8199327532062722025L, 8781866512582180355L}, + {1757637089703623521L, -2439557373159907653L}, + {-1083020196125888231L, 4898229079940792683L}, + {-4027554827881183115L, 5854278118107827495L}, + {2536452110533397141L, 5053032057586689294L}, + {-5283309880767903892L, -4036089771501382471L}, + {-8726185014741079280L, 6371918861414578337L}, + {5870565960746070417L, -1755043487049372432L}, + {-5981985584772708231L, -5464038684710305016L}, + {-1932877698882443840L, 8643536265538303114L}, + {-1002343255004640521L, -9183473069245370007L}, + {4369245457815499473L, -7541238362330640360L}, + {574307157338267836L, -4775059289639379617L}, + {-9022123090729501652L, -6281514868145333731L}, + {289683520338718123L, 2796625540449362421L}, + {-5791631171477648402L, -4653014207048774900L}, + {-7088072188409060385L, -4095346481442481243L}, + {-4659987534525277948L, 1840919610151012736L}, + {-6573587402478059370L, -394799095862107646L}, + {-9147189283662432041L, 2780457115891390435L}, + {-4621406226758810332L, 4650621948282825212L}, + {3827992897413425855L, -3470503642777527388L}, + {8237187128340177815L, 8338050922877292449L}, + {-2575127860924571660L, 8053904449338331049L}, + {-5807831166865245102L, -4329977027836990705L}, + {-5362714198312494492L, -241660454500896017L}, + {4800564949032048849L, -991028768001584039L}, + {6232971559544384156L, -4931085162898819233L}, + {5346264270546834545L, 4735211348383074864L}, + {4418021854956695145L, -4054404223178521239L}, + {-2503709442294180811L, -2937345847603751564L}, + {-6705525727229877941L, -186811788738397153L}, + {2807916716409994404L, 6999030087777771607L}, + {-140901784876025870L, 1998821964393989519L}, + {8341454749980902529L, 4006910961641213665L}, + {-1877846120130857988L, 7136842530212354406L}, + {-5151008775080326365L, -1658405690903715224L}, + {4141948371168606708L, 8905521338649282325L}, + {-2991396496641036974L, -8951844492612797162L}, + {-8231846204849830109L, -7788963254099816781L}, + {8817247101288954387L, -6748712299598005804L}, + {8987037987198023072L, 9070734453008799529L}, + {-3653961272252403667L, -1706174462105691367L}, + {-5540876112254432380L, 1685272653566639268L}, + {6630760576601451124L, -1097030590189693240L}, + {3952853764187760519L, 5155412125205404325L}, + {-2752207231177565438L, 435598937197933569L}, + {-8990910782429153994L, 8975085101947256973L}, + {275029084438740989L, 1594853272392894824L}, + {4377008995333363792L, -9203724735327026090L}, + {7821963094129670639L, 6001202347774222234L}, + {5910345261804604591L, -6530910287713746869L}, + {-4676534586425310858L, -2447999183969902895L}, + {-893427896035022872L, -9110096049863714398L}, + {-5107326322974521170L, 6912129560394449872L}, + {5928147272454832468L, 2068430724750870080L}, + {-6838714257802993131L, 1280800236191378302L}, + {3828181535474040080L, 5912525367873976485L}, + {108432455104664877L, 1008792111792728167L}, + {6134860905554719891L, 3736157740631835042L}, + {-9006906057728028416L, 2291031958410264788L}, + {-8785087250130628623L, 1747369706716307880L}, + {5107258923997586783L, 4842462885753407158L}, + {-4184502077870950738L, -5221774457734574279L}, + {-4196994343382319067L, -4731152976876941564L}, + {-3602525630290645804L, -7438604867872016130L}, + {-721602986806918388L, 7380942477862322044L}, + {-685749048932716724L, 8558621156455130463L}, + {-2226124441764103982L, -5753212050844017972L}, + {-8444470437189672337L, 682780176504188457L}, + {5967905323104782609L, 872456529921347237L}, + {-774529365691330376L, 2906334255950757352L}, + {5317411683068394421L, -108367910517051649L}, + {8753729036148149823L, -876697494682167248L}, + {-2600284926580864832L, 1079293674000123963L}, + {1501264369203023713L, 4772271458149794627L}, + {-5589106565383836539L, -7585724482444194890L}, + {2671769607792597675L, -8643480525195244990L}, + {-571916257780128106L, 596916564516236145L}, + {-466398102722097434L, 3470290204352195571L}, + {-8668321984643614166L, -453629747624458261L}, + {7631202114905008803L, -4821135673180277868L}, + {-8647922451448787023L, -8485380845549008746L}, + {8025381490498356948L, 3913777583556485172L}, + {6049280950696679244L, -7121925732817649938L}, + {-7696482417187458362L, -8601187295544785855L}, + {7140438358861456746L, -4279316057093339253L}, + {-4921885565559803566L, 6325512175579207375L}, + {-7027307783313071980L, -7680809212541810824L}, + {4879598629629415952L, 8150769622291187304L}, + {-7342155744245645378L, -6215685187110669442L}, + {-2263378697656156016L, 8343706095650682031L}, + {3707257119850556629L, -2120810639767885498L}, + {2267112971575522392L, -826262663858867910L}, + {4213162373130191016L, 4461280045821316392L}, + {8934898250536865564L, 359231887739760556L}, + {-2149765792894599153L, 4707860023048648731L}, + {-5375160376931751557L, -786047454211312701L}, + {2196544121130659101L, -867932101728609316L}, + {1698916734136113996L, -2204779643027651944L}, + {3433172695894846834L, 7596525181878611400L}, + {-2849259564218003615L, 6623954713336976951L}, + {3254138956861413927L, -1133558231039979412L}, + {1285929622626453198L, 5890024885621260165L}, + {-2349127797610817522L, 1562179804252080095L}, + {-1191286947825336074L, 2468833460111911838L}, + {-9055971338481310193L, 345979595229756636L}, + {-3525928115330914396L, -6596590613894843229L}, + {-3227633136719463166L, 5915785628644168423L}, + {-133501853014392460L, -8741758672003862228L}, + {1099153576792978915L, -2742417900988504166L}, + {-648473507797745243L, -1129954793722235908L}, + {-8947946509829984393L, -4829402018135157767L}, + {-183277647411867477L, -288109513781082853L}, + {-8972836557830117056L, -2372987808358806473L}, + {7599024178448012477L, -4273183649325398119L}, + {-4558685557381095142L, 8836884243173336023L}, + {4767843848744584145L, 5190086288935651378L}, + {-1522308275842184404L, -6580417704257825326L}, + {-8584574042672861403L, 92823380696470869L}, + {-1734332735592240813L, -4860675540725285320L}, + {-5832090116698921823L, 6760714595207081195L}, + {-8717779938268738600L, 3229735988985744701L}, + {-1881355893097809021L, 1149009410476147075L}, + {7715529933819950784L, -8766744506878170376L}, + {-2289162375063823266L, 8785343280324053248L}, + {5628801095532857454L, -6766400014785301219L}, + {4961594313236250573L, -7969158326987751251L}, + {4618832900030681591L, -1590199595674682989L}, + {-2860026598356511432L, -4804664899406105836L}, + {1961029532371905567L, -4232908783774954600L}, + {-7427116119564073711L, 7457295679793377814L}, + {-7663272674507523073L, -5262217384322722743L}, + {-1432342159197328837L, 4771708562585944643L}, + {-6656742466964663442L, -976564846383552887L}, + {1884610673731472834L, -785174449433559508L}, + {-3810094228658892044L, 1994759940275525679L}, + {-6616291605664442115L, 3795543339876571956L}, + {-6089433736056798518L, -7266978573829534613L}, + {-7473225570871869756L, 5261130192092551093L}, + {-2962461410122376636L, -5000607733090565805L}, + {-7732736326487208707L, -3693026679333504313L}, + {-4443012182604465346L, 6100440042934878383L}, + {-6157220788020380465L, -2860438289567923884L}, + {4600227015044805999L, 4989400139419054213L}, + {4469639125734518912L, -6122627204883036341L}, + {-7792518910888390519L, 4129047140733643848L}, + {1994555386333163764L, -3844189245157007278L}, + {4369373061497876631L, 343822057089163157L}, + {-4738249058452865067L, 2329646226948660665L}, + {-5995135073617675417L, -4255461102943936723L}, + {8575145712582277328L, 1413910585849998254L}, + {-3326852669647946366L, 2121198412256615037L}, + {-2007891227481667403L, 7221453514528963511L}, + {7761466597038557448L, -6581310753540884344L}, + {-7224144129768088459L, -6327002969543063078L}, + {-6066361559768252258L, 1784238609618085587L}, + {-4068105427650671702L, 7479972997631999286L}, + {-5560889521429203904L, 2898253573510616692L}, + {-4762527649365520713L, 2604657580604116324L}, + {2694767757294725688L, -621761717733876220L}, + {-98412761475871782L, 2779314879118693087L}, + {-1686751510820366009L, -5956651577100715550L}, + {-8638747288926132295L, 1038333600319247631L}, + {-3606421426295459375L, 8477836939368819043L}, + {703911580424568845L, 7030948256080124036L}, + {3806874684410471199L, 469379621331982300L}, + {-5118211203482914183L, -5305374868543386096L}, + {3783835693585708905L, 6654716033399934609L}, + {-4147496567901501893L, 7586049031853109067L}, + {4328139758484363106L, 381917650928462968L}, + {3028068134370267202L, 776322465585926454L}, + {-5966389813687232408L, 3686423315817746584L}, + {2195469898148267913L, -7533513970647659535L}, + {-3080166474377317430L, -8140738602141354389L}, + {6412533502918649688L, -1703582505372665809L}, + {-4801061500654703956L, -4201543830696595479L}, + {-554194900129906123L, -5939632826608146381L}, + {1486000469436139740L, 7831050577063499982L}, + {-6971589411333019409L, 5357835973747361473L}, + {2647463349908157318L, 7085011541975929989L}, + {-6754094203714628854L, -3850873520054179131L}, + {2314399046579224435L, 3216792862731027976L}, + {-6177383374280917075L, 8760408975864465377L}, + {-5619632493646738964L, 2241632268315301578L}, + {-7301831206207675015L, -1821451086573881135L}, + {-5527516975398904813L, 4968354678684490072L}, + {-7206298956882517419L, 2279041835604861410L}, + {-1535337994919517848L, -8761446866156246742L}, + {725107219148423471L, 4750860717864763778L}, + {1938195538047669437L, -5869782778289132135L}, + {1028829726878266547L, 7197029508183468862L}, + {3981352596771855719L, 4996127899543829429L}, + {4637441575637536278L, -6389995039174519370L}, + {-567364300216533096L, 19863152138574099L}, + {4215820779392244698L, 888457597427087114L}, + {5791138156269639416L, 6853760322626114995L}, + {527001488112788484L, -2110465445257708858L}, + {-4390338125863921979L, -2134580087205909557L}, + {5557055272452535368L, 2866065276453045221L}, + {-205316410586789577L, 4480269606588918401L}, + {6952133288635206796L, 2015037502635776574L}, + {-7457518070084443694L, 2263308604979136810L}, + {2002018537802900078L, 7552360032993184271L}, + {1561023860546606398L, 3866818685532368479L}, + {3006183850758749007L, -2336461709355555028L}, + {-1361037422909233361L, -9144929386769396303L}, + {-4203933835330884180L, 4220615295609720220L}, + {7500988945823273736L, 3572390891093078325L}, + {-3010872765453549672L, 6632197017693971191L}, + {-3781827987408697259L, -4030709294737296947L}, + {7460277383018710734L, 3383215657257964557L}, + {5250710645655626569L, -3007683880002548954L}, + {1109553850343924028L, 9126342159911243074L}, + {-6498085059809326090L, -6420733693986859740L}, + {-5879222670885240061L, 442921388511227265L}, + {6210613100795379620L, -1514159259364407425L}, + {-5759675374559290972L, -8245819781762092155L}, + {2824738880545011656L, 3999019159821229194L}, + {3213468672819532759L, -6840569939386909113L}, + {514328750496380347L, 969657192227097933L}, + {4470285007717204101L, -668030492010532480L}, + {2269240343629252129L, -4576239629892938120L}, + {8714859525098129755L, -2826680146207272878L}, + {-6932578361476642118L, -4666717289125206755L}, + {3219949239213817308L, 3712651019435159979L}, + {-974585298959970878L, -1944037411135401627L}, + {6482527911604968876L, 6263685975715881314L}, + {889153561428168470L, -1692016738149208411L}, + {-8207616222981108363L, -491537029006685810L}, + {2386860797138412452L, -8312622730184110241L}, + {-6749686321997906685L, 4061453222465983121L}, + {-1105424552884318985L, 4383295431011890299L}, + {-3137963539903752699L, -8004907349965180516L}, + {-5296550634024189868L, -701828900076753577L}, + {2919221292190747486L, -3730402551719687544L}, + {-3991521756182858814L, -8245448390492788466L}, + {3802413126716557908L, -345388522944700330L}, + {4556158013211621930L, 4837029469954119100L}, + {-1956520472596138305L, 3774560559204626526L}, + {-1667618395239727751L, -8642889400813503572L}, + {-4948155010712448139L, -4045291183536374219L}, + {-2667546434479018044L, 370703145466617430L}, + {-5192951416537530780L, -21955828113889540L}, + {4474564860866849514L, 827322199368359858L}, + {6795504197096101870L, -7090967928316662587L}, + {348555520492747776L, -3642605601802123384L}, + {-9152654684800879935L, 3609495880796821187L}, + {-139520144005307559L, -5156829220828151100L}, + {8655115078308054377L, 6824472990762665216L}, + {4640578432082008138L, -6202001168681068572L}, + {8526214307008571064L, -842893985616753436L}, + {-7079091919397494753L, 8339596036464430100L}, + {-4852301075482608956L, 6187407979941379905L}, + {-6726381834527599283L, 801991602387712085L}, + {-467175742480032731L, -4596941950635352144L}, + {5092513639393893997L, -8012169512241368869L}, + {-916781769295487406L, 4932904650409381585L}, + {-3306005301217276910L, -5501027874234474547L}, + {5711239369216246603L, 6191254119870515104L}, + {7411369067342514714L, -3304087475657526094L}, + {-137089609471843551L, -456007077646664136L}, + {2197853544547148264L, 5840431983889477671L}, + {6994895994975015585L, -7130703368147034100L}, + {-3993584670641567357L, 874766092887871964L}, + {7324113989979846776L, 2238932798202795857L}, + {4848201612974985071L, 4462081907647625486L}, + {-2319141888027790806L, -515485080810423104L}, + {-7727572350242351429L, -1128955356889746097L}, + {3611228677421118756L, -8629406378387284186L}, + {3254031939911056022L, 5981817082841287883L}, + {1315862663037871882L, -4846048396088499736L}, + {2762719496333050774L, 3984785182381619936L}, + {2441476684596910583L, 4447837245869346861L}, + {-1751985778109806355L, -5449837400474558988L}, + {3156518557955714028L, 6585800508293259358L}, + {-7474525109128332157L, 4191565513182283182L}, + {-402634945481420093L, 1145607902421986507L}, + {3711042493776857096L, 2083850151603736019L}, + {-526618219268616930L, 8506153718458047088L}, + {-8956423818433397438L, 337802762069315243L}, + {3318951429850234648L, 2081621265536757163L}, + {-4065748355754556535L, -7239810839294391198L}, + {-2974465318794034149L, -4594332206328367008L}, + {9156201933336414671L, 8488676128423554222L}, + {-1224004278953882958L, 5451979806028482452L}, + {-5567810197150710613L, 6919209359995815805L}, + {7645667176564158039L, -6364331595927960173L}, + {7437954892140634061L, 6193769906536854642L}, + {8595047667824297631L, 5596599227739861071L}, + {-4227841629446459104L, -1381816196560241190L}, + {-4073313779073810355L, -1100784080146793337L}, + {764623093768368301L, -2826222786337395694L}, + {4502563456929761688L, 1522444965027476312L}, + {1027370723462817766L, -6744570457086361510L}, + {7668869338814612684L, 4430603710584195978L}, + {-4780350365503382825L, -1669306996283361332L}, + {-6389061999435806787L, -6048382522434823780L}, + {-2133237830821026919L, 3019116079627478016L}, + {-618977682776693149L, -5595283007067987776L}, + {467656057704319257L, 3340252194762699251L}, + {-6754479852919060751L, -7463769590197660662L}, + {-121796624546305099L, -3251872792366792553L}, + {-6164861615484187016L, -6122786778522267003L}, + {-8568598162483564153L, -7141238264795350159L}, + {-8182644091745100549L, -3046128695748774162L}, + {-3989631051916738549L, 2520402197254872075L}, + {-3812515520109109155L, -1052959236992591515L}, + {5458479505950940580L, 5049901156611941154L}, + {-4068063356781230185L, -6931312104494850376L}, + {-2830766632873229698L, 4798159326705638849L}, + {-7592354330098913572L, -7738117602772322434L}, + {5323147076973602219L, -2197090908151937767L}, + {462800867816435413L, -8465892264165433250L}, + {4002154584204048905L, -6343838674759451204L}, + {-803837213195276249L, -7987366341250351358L}, + {270846859760410932L, 3184418117964900027L}, + {339186719055655409L, -7127601895783159724L}, + {-1681073433226249949L, -5136145993285919552L}, + {-3172364168133842187L, 5692701350597281770L}, + {4471576722877991666L, 7336578103784155071L}, + {5796602822306813285L, -4343030338723817984L}, + {-7918394505018135767L, 945395198631021154L}, + {-8099706435104488972L, -1543491225353143256L}, + {3225305587851029418L, 1333690785007789042L}, + {-4366886220054887809L, -3805519626113819282L}, + {7732358946751522729L, -3514173094342856229L}, + {-228816160482375387L, 7384891550204744673L}, + {-6429545033940023762L, 1845280019375987556L}, + {-4874531170284168803L, 2520265631372728029L}, + {-7919754354938613725L, -1920613329185200100L}, + {4818550076091948962L, 4007439941177190899L}, + {3907701057522316102L, 8115698842586570458L}, + {-2162109673539899314L, -6362182245437049350L}, + {-6296577330837677905L, 4719157127069353305L}, + {-5038523314786213767L, 70331235006715892L}, + {-4182256071671167089L, -5164070196885436699L}, + {2347804671767305901L, 6890490985369083991L}, + {8781747195783722684L, -830329723931541835L}, + {5464112250608435856L, -1927457777938790688L}, + {270499223000052613L, 3675803965927755072L}, + {5387476652934255975L, -6395450047775553575L}, + {-2665753069813354951L, -4080814832687079840L}, + {-6640316903187366435L, -2606831033508573171L}, + {5182130073111288069L, 7783191129863644770L}, + {3324630100168604545L, 9095696793714934253L}, + {6092224834024861844L, -286084573848786709L}, + {-7314979478990434840L, -6890507861998146207L}, + {2475323565628074124L, -4029447883164980292L}, + {3744881942029260381L, 3299671597926388309L}, + {-4468245448047387416L, -4345821869343888643L}, + {-2514532843437356755L, -5136858393253322995L}, + {-8460931029051770120L, -766778949005394803L}, + {6058982121000846509L, 3481461461609071838L}, + {-5771467892492359246L, -4759906717287388472L}, + {4284427580292476574L, 6567648321559840989L}, + {-4502826197302040607L, -884928098330744829L}, + {-8909965133023702444L, -598600634803733804L}, + {-5152825667036557377L, 4060129298892129136L}, + {-9001319942906464381L, 8881985935379199325L}, + {8783326653870239059L, -2206839120202500049L}, + {7169538748654303504L, -3760964465816388168L}, + {-7206711339673245443L, -4408205839339337277L}, + {-959892259265562431L, 7053151831906485899L}, + {-1673323329893911437L, -4266304761003565025L}, + {-5827914418805049723L, 3887362082768648751L}, + {-820830695253715046L, 3506786828941982744L}, + {-5782181341435499931L, -513904845096444765L}, + {2663734005752892035L, -128005322426179870L}, + {6987511185271585413L, -7874168125153003313L}, + {1292089443730939651L, -628053432962923666L}, + {5587170596809636807L, -2613417850126827556L}, + {8237809229146017083L, 8084633225427135915L}, + {-2235781308356196513L, -2827636188226841116L}, + {5423273201690025713L, 5516220885776174723L}, + {-827014178432784464L, 6712876247104625930L}, + {4410575469603649344L, -7034242775638553169L}, + {-4472642034035214939L, -2034015765295524502L}, + {5360193252716249224L, 5081471891122198741L}, + {-4572235983836835323L, 7451697056844602164L}, + {-5433653902594010857L, 3434435237836646075L}, + {4134790485921001466L, -834212517906731898L}, + {4485288889906709425L, -1712294958510249491L}, + {1685824402735587758L, 6343065064147664744L}, + {6091818520229922279L, 1108625331300764354L}, + {-212523426857309616L, -4053352983179692768L}, + {8873690209863775893L, -2171715089304193225L}, + {-8812432523459654235L, 7211091108192522268L}, + {8103047819338531286L, 3711940572100389263L}, + {4614534509558570387L, 5444031939093833792L}, + {4229082172984667846L, -187259441036600327L}, + {5484460792243331111L, 3829189205530873306L}, + {-2385763800014084246L, -6039720700812665895L}, + {7030455160712580607L, 6382913871702743864L}, + {-4237997225503760625L, -1922458832613918767L}, + {-8124291737715145061L, -4527631494483919871L}, + {6327782024255912635L, 2809957004087136653L}, + {-1059957986215325879L, -2420735678896220106L}, + {-4603394046555224246L, 8601361276132080486L}, + {-412280426794415941L, 3234625889254726291L}, + {-3912022758691365061L, -7583905311611097645L}, + {8274283857906326279L, 2184666272143163901L}, + {-6679687570538459747L, -1449850152673288419L}, + {-6155809572519276859L, -1979751836203826716L}, + {-341344339192464824L, 3018394569217164771L}, + {4137861550441588415L, -5754764276232000291L}, + {-6618940267671493988L, 1914198431867340287L}, + {-7291675023689911653L, 1607477724244498217L}, + {-7953871974818004574L, -2599486547593093280L}, + {-397153165830243551L, 6139117266404059459L}, + {4399741193484513820L, -4274767466794993785L}, + {-7321827371527026850L, -2333449639160768202L}, + {1338155597001139997L, -2548173382440401300L}, + {-7945100475342274903L, 8020110768851902224L}, + {4522579580699730675L, -6875195919910217236L}, + {-1777997817650119183L, -403892898634974893L}, + {-5064101783437092203L, -1401240413820955912L}, + {1113553310062801693L, -3995214081458919524L}, + {-5709720543205442481L, 927381695298466657L}, + {772882345518435045L, -3147890619821539813L}, + {8903336589907078605L, -6699858563678390112L}, + {-8789465120959251318L, -1189645965180491835L}, + {-7834044567177051539L, 1676372503530702213L}, + {1770279151425541006L, -6398305042157421951L}, + {-4941283968572768930L, 3162695053295271273L}, + {-8127231558741248281L, 7942267134725934901L}, + {737747628416269099L, 520551528520897480L}, + {1574449851957266285L, 8754535681980459173L}, + {-471282776174276539L, 8242818857795592321L}, + {6739952936193376447L, -1946621864275407187L}, + {-2424982200476312714L, 3812356397318296401L}, + {176022186483763915L, -709740258783380911L}, + {347356729555692814L, 4480055311182965320L}, + {7550980861784622262L, -7976605459581456325L}, + {-6474882761637742162L, 864430267918049210L}, + {6769254801287215843L, -2567621002890372062L}, + {-7346044586598503820L, 3212842589322747836L}, + {1815045574884249754L, 4277372518483154396L}, + {-4240219227462571370L, 439915893382050539L}, + {-649819224919779208L, -1111682246597412639L}, + {-3697860834931443057L, 8490404538930416915L}, + {4209607762757612835L, 3651293147183772096L}, + {5512379227441488333L, 1047566282088978950L}, + {2554702396243693813L, 394345515667168248L}, + {-33063197416101018L, -7242273122516823999L}, + {6204387436027047110L, -2486013089072936897L}, + {1121696558750946811L, -981625281791640302L}, + {-67713675745955613L, -9147432709665441552L}, + {2900236341998750711L, -3242894057113096546L}, + {4072627124871947361L, 2568923051531765618L}, + {3411250942283240973L, -3794534011481282225L}, + {3459019187218245290L, 4975406156688201052L}, + {-4931935198846519054L, 7746420830231423069L}, + {8420402881327935528L, -9137776997333750418L}, + {-2700073972687127894L, 7440926613678198288L}, + {4135622085465759778L, 1922177824387806658L}, + {3115364578959809417L, -39062662364695498L}, + {7905907040079822152L, 1652221253552164825L}, + {3117202331600018366L, -6352534687564691907L}, + {-6912405766950946927L, 664843781442374790L}, + {-4526890208931001416L, -6736625070925799980L}, + {-8362196017109360491L, -1402801909960855613L}, + {7990163642449120866L, 2406982952217461208L}, + {8921333090931858791L, -4099534793476161857L}, + {-7835160532401884454L, -6581739995481489291L}, + {2597345228860385242L, 7606102447237383994L}, + {-2019901582135813985L, -8270782380997806585L}, + {-734731610197007345L, -377734071426125465L}, + {-4478738615320414333L, -5521141880370424976L}, + {-7971363857175568029L, -6039235291455986157L}, + {-4550695664824391599L, 1387891693133629815L}, + {7004896942426055925L, -7263582847205455039L}, + {3243444764663891458L, -1561779634771247681L}, + {8221182849925835178L, 284616156990708392L}, + {8413639868002181795L, -3417011274147731084L}, + {-7599742913553767497L, 6735403778117774387L}, + {-4861871033227348667L, -3342667103008656516L}, + {7180813616057727196L, -130573597887794775L}, + {4110358466985293134L, 8412194900106960305L}, + {-9163301540202343656L, 7441551524528441254L}, + {7407431836530456233L, -4965816325150483505L}, + {7168833492994704184L, -9066751607323653514L}, + {-3225184215180636592L, 535785430806826282L}, + {8550286352383434501L, 3641342818619034585L}, + {-4037242040051553894L, -7777861270948397331L}, + {-7019860459089371337L, 1059174507624850078L}, + {6499568859919656194L, 3031741024498209628L}, + {-6517870390876058597L, -5171583494332061357L}, + {-8816903563531564452L, 2500915269629225596L}, + {-5488567103311833696L, -8369938414214715017L}, + {7162975208461021799L, -3741661550798250786L}, + {3231150263108104601L, 5489430759658693665L}, + {-6472825090155306196L, -5229190418016637501L}, + {-7112727281349161724L, 8638207742440339295L}, + {-8908480908774446053L, 1135397788772172543L}, + {-162138742916032914L, -9157670355820390217L}, + {-4934765719133081654L, 5264770544051296674L}, + {-5383597847234182085L, -8622588421575346549L}, + {-1457750799424768103L, 2900589679751304212L}, + {2062788467226997042L, 6934402819579476339L}, + {5195212083662151172L, -4993043678018816500L}, + {-7086725269988157115L, 5165632918103528746L}, + {3216790230270684188L, -1498081570553112883L}, + {-6772983200597124262L, 5323428267774554312L}, + {2139536380152189149L, -2123846892813368415L}, + {2783400616608816134L, 2640993991844476928L}, + {-6309269121238725342L, -8968814731582872564L}, + {8703327852945446994L, -2169317814052701370L}, + {5986578967392046329L, 8988225347013839366L}, + {-8686234791137218952L, -1293815802100229147L}, + {7147175926193618258L, 8961828719037336812L}, + {2812520130705527307L, -244690421709006577L}, + {1012516456501023939L, 5782308992605392643L}, + {7796658848573086967L, 5954450867936080446L}, + {2642184550087192362L, 2918994474340013448L}, + {2521303561751617614L, 1827340240292302525L}, + {-2372355039844318123L, 3067390826707986478L}, + {-7982908463432899233L, -7688424486870428680L}, + {-4773586301827797121L, -8957053550728164265L}, + {4040904044293393487L, 2826062411708434021L}, + {-142670900232845920L, -7897084558815522344L}, + {-10691804562559377L, -2234946696504510507L}, + {8453630879397574208L, 5221283089826208428L}, + {5612078661433375152L, -5827827668460398004L}, + {-3592401183831123809L, -925198903278624285L}, + {-1194636486876965628L, 1773996642463132256L}, + {7144612844993582305L, 3804996741813028381L}, + {5952025594559102453L, -2833062603703238128L}, + {7768859735998504182L, 2017446387476411629L}, + {-9046596974248194873L, 3950090712041650564L}, + {-6171084369920910835L, 3290438712182319518L}, + {1781418400960307869L, 1867158814203969428L}, + {5081999630281512875L, -2037971351242799267L}, + {-5147831879244994539L, 7584142773325361699L}, + {-6245492622672631422L, 4218402275190977020L}, + {-8665204890652827995L, 631176852120721281L}, + {-1175718303513980672L, 3584072626690154612L}, + {8885449897820005156L, 9136594867492618470L}, + {-328163209321586593L, -3184598578381106244L}, + {-1445525508305375763L, 5152237349583818010L}, + {-2100999238041350502L, -5528588035009373442L}, + {7410786050561217868L, -8329610059860877786L}, + {-7914164711220348362L, -8575660962837876685L}, + {-2906200250494490361L, -5595724376864178814L}, + {-867790952312765711L, -8796607059715677925L}, + {5887767909251264450L, -2886161295052843437L}, + {-5789450489200739242L, -8648773361803380858L}, + {1662159886119924244L, -3498141174490735224L}, + {5012361370472355454L, 5637973419645599298L}, + {3429745384914079292L, -9095994212145066587L}, + {-4445208736020219814L, 1969046699177550355L}, + {-5413763295704138557L, -559955330032103584L}, + {839374495111075513L, 6529524391959302548L}, + {-7648977736915073173L, -1003589388967555446L}, + {-3664832624688924839L, -1936172468666972698L}, + {7158412277573249226L, -7956802618942656016L}, + {7779305491962558566L, -4843241120730501684L}, + {8039313349173431072L, -7999087482161649872L}, + {-4220847824862505833L, -7596054202827084588L}, + {-1939839155925934724L, -4913883888222467553L}, + {-8034010027834756500L, 2813017045387334571L}, + {8475758752811450501L, -1613769428216243240L}, + {1099214246266343746L, -2807494640498805644L}, + {9186354033975902114L, -5197162245251778905L}, + {2335697942068596836L, 8495832137497385808L}, + {5125601667360226370L, -2587705732341378662L}, + {6606318187238773479L, 2430230045828080098L}, + {-1182364933194642155L, 7501505225324109667L}, + {-1282696136769309305L, 3965216814875100263L}, + {1154559731683162717L, -6044142788611156010L}, + {2886049233756462774L, 282833821358901737L}, + {4825677492212933300L, -3505216937575005480L}, + {-9121350732551109877L, -3988694319279921100L}, + {-877752678277742358L, 2128030531232165648L}, + {-3266764465431864389L, -1383775789144281321L}, + {-1914199636241277795L, 3172927205861865522L}, + {-4687907120417383299L, 906209675925715648L}, + {-474253911596715394L, -2676977326907041001L}, + {-7075290400477487025L, -3777175211466737205L}, + {8134957124130148548L, 3995726904947096316L}, + {-2992238854808660187L, 7288621377035663598L}, + {5996516183600836003L, 7996323395017882596L}, + {-371549095799671162L, -1963723397664742141L}, + {3902975175457565825L, -2096359685759558164L}, + {6605036583318392521L, 88737143141685448L}, + {1891100275270423451L, -1745981040411221219L}, + {2119245665259072674L, -8638991354136966831L}, + {-834774890825819923L, -2471622230063928436L}, + {-231771124221128734L, -6259176704025750253L}, + {3133196876747178672L, -8434923388925317687L}, + {7298692169226203885L, 3209300628873906858L}, + {7126455091552696586L, 1374898972361753100L}, + {-2143648506542037333L, -1300918538344005110L}, + {2865309216991778464L, -4741984767119458210L}, + {-582169278536046195L, -595021088316172951L}, + {8080177625773872889L, 5605701634825149343L}, + {-2641866597771089394L, 7968669847987563730L}, + {-4210759777426999986L, -8597023424475589165L}, + {8940623302154716559L, -5059512967836662675L}, + {8753678355208533280L, 7535049518488467454L}, + {-6281297936039038456L, 7457909342608693553L}, + {-4466014453281785565L, 6248139512270887953L}, + {6273362062923197148L, 3871429116281885402L}, + {2333217083667471091L, 193753548221085829L}, + {-2134695293413683177L, -5181203095625161285L}, + {1638282373040657672L, -6368003890771549617L}, + {3200622258378038793L, -3326095973277466097L}, + {-8777912174432066160L, -650529619692776996L}, + {4509402067996738269L, 4817027167761014779L}, + {-5444623700171973227L, 5528512453315198768L}, + {-4861257960719874399L, -3622276494377371155L}, + {-2931845644152220868L, 2153074555510703652L}, + {-2415035074251453041L, -1006946510571967488L}, + {-3415608992526650142L, -7840424641444647872L}, + {-1100060277548286709L, -2271450031970914418L}, + {-7950756431533405941L, 5441868159791814728L}, + {2529778543681983619L, -8854951009938006713L}, + {-2509511542105356611L, 7853654232309547016L}, + {25235701976844069L, 3517855992525250730L}, + {3512243450460933893L, 3972430887397192492L}, + {5497081699936367558L, 8383940244504833083L}, + {8834833749235004269L, -7334675479385357802L}, + {-8786955172657476976L, 225166460691346798L}, + {-2806229680204644453L, 740198459796101590L}, + {-5310949673572257587L, -379186807769692471L}, + {7180989110601385791L, -6432354723404698372L}, + {4574812998786692932L, -6039313492850770833L}, + {-7191136183375597108L, 9110930278055289403L}, + {7817612065160053901L, -8258693647460211987L}, + {4092147258927215079L, 8293168384517520663L}, + {-916694886327147203L, -454314143918346215L}, + {-8155481011317235899L, 2292426029549420190L}, + {-6577214469178899288L, -1924115905005123142L}, + {-4704682976594284594L, -3476799468679251934L}, + {-970000750564611255L, 2791886232557467235L}, + {6392037803435901919L, -5315497557080833696L}, + {4653466442162924160L, -4133878190287801900L}, + {-4217569099833350175L, 4839504582831160901L}, + {-7494295064988163591L, 285188759198988857L}, + {268071204677339466L, -7292395415962103265L}, + {-3128139626778549626L, -1174396804280713279L}, + {-8490295735340959824L, 3060015218167934818L}, + {-5162368829222403127L, -3393984135225595684L}, + {-4379157681365371219L, 6657143563587679125L}, + {-4505869932044746193L, 6319966515037375738L}, + {-7725004848904746158L, 936557326289189579L}, + {-1077347489733049759L, -1247066987861982979L}, + {4372692724364737369L, -3256637161950359616L}, + {-6095523387109702205L, -1290870227696084252L}, + {866555760732064401L, 8351687362397734775L}, + {-6043383891507219565L, -8719495801073949943L}, + {-5064298145687783678L, 8068427516165501654L}, + {-8284554766413268444L, -5044265653521567680L}, + {4358509246174021158L, -8826147307297954564L}, + {-314402459279271878L, -5933542775446256478L}, + {4534052702364464050L, 9082121576264326126L}, + {-5069975264209271430L, -2280561666567702498L}, + {7618881160105474363L, -4794858632711295348L}, + {4167592104901771551L, -5018298706610926606L}, + {2277499839812963141L, 4242448307766779616L}, + {-5797737740917833733L, 264493678146677010L}, + {5386843611229288306L, -819526727917515385L}, + {322032948055534721L, 1736760202411262747L}, + {8623908495470433985L, 5436650610054812536L}, + {1464656873108399270L, -5202587803213018241L}, + {-143110847782655873L, -8510401654127848035L}, + {-3683505493125515417L, -8668734897929026338L}, + {5263884653798534228L, -1131791277133219585L}, + {-5596816932431872850L, -7650966445894865682L}, + {449263668055475580L, 5943833600560494318L}, + {-8209880385374160761L, 5433449067757110313L}, + {-6160876842633556933L, 2106036607754168591L}, + {-2822510119276015598L, -1169309301398832317L}, + {-1867833971803598158L, -5215126721010895403L}, + {-2743011208375680513L, -1334137156024540894L}, + {-562758870972224424L, -8858736479960857044L}, + {5241707884356795802L, -404549239240361305L}, + {3044382044884310303L, -2578848030062168952L}, + {4240643424518839454L, 2009743695925300205L}, + {-7202731734581844883L, 3560548372442035725L}, + {-8098501199143125283L, 270444074204918235L}, + {-2550459180607677020L, 9122097925106566372L}, + {-1776717083783659251L, -5066722509244044276L}, + {-2343369089757631624L, -8570356075106548461L}, + {-6293279254462751659L, -3762530309367743723L}, + {-9100627021059872276L, 3178453993421526858L}, + {-1298100985130924363L, 1942143010909260088L}, + {3390116780901102550L, -334576415657279307L}, + {-4663999614093100429L, 770277787515502772L}, + {6916372370306791572L, 7435605989219979813L}, + {1488349423055656442L, 2113647012381226787L}, + {6773020852755024150L, -852366200604922241L}, + {-7005014351468554871L, 7485133827588013786L}, + {-4753926923183579314L, -2312386844690556698L}, + {5415870192658316069L, 463479081020224407L}, + {-2670881940811475410L, 3507169512028760304L}, + {-7225213211793183097L, 3981958135443174761L}, + {-5703028807893997804L, 1264194096693403893L}, + {6561444537664669662L, -1954354266407705042L}, + {8939981796276591301L, -4733058470244221471L}, + {6017910964940092953L, 124625799714735872L}, + {4500890776998912544L, -470688000960484088L}, + {-1835018042586347444L, 7653403345510987769L}, + {-4191687948466793374L, 7139837548565246758L}, + {4106435482907441086L, -2126413898085076347L}, + {-6130167349217050086L, -3959969099349735016L}, + {620129892796426300L, -62209784009239054L}, + {-6144158488464216798L, -8173934466594508364L}, + {-625006850515938527L, -5809518885326364398L}, + {-6682172611475406987L, -1714940790350536113L}, + {1220842624016183584L, 8269949841236476393L}, + {-7098540157067814615L, 3531738600537340144L}, + {-4378743347226734130L, -7327441054828053137L}, + {-6508042393772984279L, -1840909133921621497L}, + {5289282493574993598L, -6455879780378370298L}, + {-6781000719696595982L, 5177178370843840548L}, + {3322666381578332368L, 3134586237016402769L}, + {-8173363279507413324L, -6524402652348374595L}, + {-3603049973704190207L, -8475965567552946377L}, + {-4316988796658196446L, 8866378184082028533L}, + {914989291445423876L, 272931860159225473L}, + {-305370752767861151L, -7996913970986439765L}, + {-6987550192802158001L, 3191979351473290494L}, + {-942676483343861967L, -2153209479961610339L}, + {539036846465448158L, -5955756213951094362L}, + {1605373100913987077L, 8903900718100188013L}, + {7713068526230669637L, 5191047107663767366L}, + {7241900405827926293L, 3287960505839783884L}, + {186408038263119881L, -725098263159168344L}, + {-2429472274603752977L, 5905214161924496910L}, + {-5720789098334319209L, -8856816197357357489L}, + {-6674769505767916301L, -2005822193174095488L}, + {-581393540490176967L, 2751755671060133347L}, + {3124744789645879825L, -4243941635080647386L}, + {-5602915602343937931L, 4501087988245599909L}, + {3263507419526132695L, 3560352323108238394L}, + {6937077332985554718L, 8731941696760140572L}, + {-7919624999578199393L, -2867710728097054893L}, + {6556190618267765484L, -8112004817108418177L}, + {5682381095734864238L, 589618283089403862L}, + {7614251273120089370L, 5724958541163307665L}, + {3395157685499349978L, 3613526290468317309L}, + {-6398328093992251036L, 7596033768669695677L}, + {-2651093395236575804L, -8014022518016193809L}, + {-2097470820892650054L, 4842033680917117547L}, + {-7267148748500151232L, 4770828425873813766L}, + {5507274834982481157L, 5091231856170754714L}, + {-2194323672581532616L, -9144268390755820585L}, + {2269493654210886217L, -5259401698591517179L}, + {-4216275761811372636L, 5086789201000199700L}, + {7228709978053803804L, 583987105370029162L}, + {1544682503099095700L, -3570389176034465400L}, + {-8135200911288478327L, -2626445514253500075L}, + {7339704802803690870L, -306444582707945130L}, + {-9063598666954112733L, -2616502440081045224L}, + {4249185982522288588L, -1295355602551546303L}, + {-4695745996091883154L, 6444320363226433806L}, + {2627137268581003083L, 3621089752612839029L}, + {-2578238879441406084L, 1208907918137575489L}, + {2429552460105156204L, 8195465270198839978L}, + {-5016405662860787559L, 7224902700860526388L}, + {1213685060600888916L, 4648386381705116369L}, + {5207480625629771054L, -2798226710980115801L}, }; public static final long[][] HASHES_OF_LOOPING_BYTES_WITH_SEED_42 = { - { 4331629317196124516L, 1639885090772725551L }, - { 6697150685477982789L, -1583908083060253398L }, - { -8292226578951944721L, 4476804508315987292L }, - { 8469039529317823308L, -4636474853694258398L }, - { -2848870975062246556L, 5233816596372106824L }, - { -4847447143719480019L, -2687604445613537347L }, - { 7545677836808206678L, 8332429470403026021L }, - { 3540211138895396408L, 3992459923157840628L }, - { 1285813610291173716L, 8233152553044849459L }, - { -7784481855774059403L, -8096273352407245883L }, - { -2714345854300347086L, -1562905338847105568L }, - { 6925684980325533267L, -3117242072537376104L }, - { -9112643559117885900L, 2771189218553273490L }, - { 1882756241765347250L, 3134678319768795724L }, - { 3701001212619307056L, 4694823574419600457L }, - { -8419102115735858709L, 1167505134600559530L }, - { -8964415716902764417L, 7665362522302890520L }, - { -65484870057070163L, -2154863037755560524L }, - { -954938640704679474L, 6388877495784709814L }, - { -979562365498527144L, 5481887351687388723L }, - { -7382239783186871562L, -7733943340511654057L }, - { 5251153271619350814L, -5357392133568419518L }, - { 3564854195161521021L, -2021636742340634953L }, - { -74312886167345484L, 6701300805910281389L }, - { -7331277368683814568L, 5111706538133173116L }, - { 6180175351202170214L, 7106065787858343366L }, - { -5506848341444621561L, 7868028660651681881L }, - { 4709740154938203410L, -4396229032691618835L }, - { 7716297005579308510L, 4776035376666368100L }, - { -5231218401659391210L, 5502389999871393522L }, - { 2808335999161107948L, 3172485746495004832L }, - { -8895902480507490378L, 1734050687059504670L }, - { -6484295527863798667L, -5865043420154797721L }, - { -4893753704679531145L, -1407287398624235464L }, - { -8013506817112676885L, -2413542569879967512L }, - { -7115565146196200482L, 1492091106940842223L }, - { -4250908842491168006L, 5100692366480332295L }, - { 7641455146012374921L, -701187772797485824L }, - { 1171882517985315020L, 6041975995921368652L }, - { -590591174345433298L, -745155016275351721L }, - { 4353825711501646860L, -5695286777690739329L }, - { 3766038603438423921L, -946995585431570618L }, - { 5669741062587975241L, 3306563558377990077L }, - { -4034141614316184690L, 2303139291793139905L }, - { 5042354261806495873L, 3029285818524047503L }, - { 8171624055608706139L, -7686014468326816771L }, - { 2465028573996743971L, -5155189837447338979L }, - { 231525910304521521L, -7468941650786504332L }, - { -2906566784067431233L, -3093130381718113227L }, - { -5815630959969268197L, 667274393249985457L }, - { 6867289460752780832L, -2905703229103006681L }, - { 8367342037681739365L, -5211011903304858229L }, - { -2281353332963214183L, 9220933480317079273L }, - { -7873419781565326375L, -4958329158596891671L }, - { -954320324783281344L, -3907949502207462370L }, - { -8978876518219901536L, 6459759108635159800L }, - { 5578589535412452811L, 5347663850081616344L }, - { -1139114663023920493L, -1336174274889435851L }, - { -6125271792804196849L, -3695347576125854749L }, - { -8540897085876126918L, 6006668829300360192L }, - { 2457750544363517570L, -595538372156368515L }, - { -2873340196283457206L, 7722471153320550112L }, - { -202735095288385060L, 3306848206005022873L }, - { 4680342363383152427L, -2968985762887494339L }, - { 3754567565766477241L, -6037287120647939733L }, - { 3030040040421745654L, 1937599850940715675L }, - { 885892669913812197L, -6287203992695247871L }, - { -4668401756510431198L, 27796623019379649L }, - { 2828217119128588853L, 2936780557572794362L }, - { 40721351745424859L, -2784176622995643676L }, - { 4226613921171131261L, 497180669697206711L }, - { 2476560251925287446L, 5820151453400560579L }, - { 4857915294336896964L, -6247280158567945841L }, - { -3243612273020441258L, 2836499443783443472L }, - { -8323173319150694718L, 5859965750769241918L }, - { -8464714455451733912L, -8306892192837505339L }, - { 2417309479822957758L, -1246973976546704153L }, - { -4970343771720203825L, -3191439884819854813L }, - { 7616892889149047131L, -1492818326952765975L }, - { 3179230974339910862L, -5929287588380075388L }, - { 353551526640305233L, -7378339587947523515L }, - { 840447756688080769L, 6565835274439444296L }, - { 6560453897067438875L, -8337740380118346582L }, - { 6404605759690477879L, 1860833063820863399L }, - { -5798495500651630883L, 1091158385497258294L }, - { 3489314580607854539L, -5573961258448405293L }, - { 7361202545248788112L, 6034580963668655699L }, - { 8662317980504766524L, -8926545602578986090L }, - { -9176879321700063391L, -2398921906930257590L }, - { -5722341628043847505L, -6351286801388339488L }, - { -345401929977388616L, 3005904976331127429L }, - { 7797208744999634196L, -8634345153714809468L }, - { -257714712793164095L, -1873140185420586258L }, - { 6828368112434274995L, 7058669897955400332L }, - { 6587574874377658116L, 4874363645196347164L }, - { -8420691969719514848L, 2341431149372744263L }, - { -1436841954376886408L, -7620195622266955703L }, - { 8390237817828095380L, -8971128665773428134L }, - { -1244269747449213801L, -5329391842655754631L }, - { -3239069421268305651L, 2334172164129027696L }, - { 8057896190039586L, 7452686587683727169L }, - { -608430754954139223L, 3381655527636719735L }, - { -2634446749318812749L, 7010915016267118875L }, - { 8929276493775119227L, 4292272306792598039L }, - { 8931573570276676636L, -8519118794081841344L }, - { 3822004851281897117L, -2203301444419626572L }, - { -6152300141823657396L, -889109731424416165L }, - { 7182476636738674444L, -7649930728107420084L }, - { -6684339015093823920L, 6577956481422755158L }, - { 7807280739361302131L, -1135517321040401801L }, - { -923194570850102811L, 6467757807397379780L }, - { 1584573338514642399L, -3893190475498763966L }, - { -498065553132084148L, 1865266646395158771L }, - { 1799679540365788870L, 5841239947085522603L }, - { 9045748501111411219L, 7421695194818838145L }, - { -7637550038764425741L, -5845707294280746103L }, - { 5329558184254416917L, 4547453660021049624L }, - { -5342451072932073021L, 482260313304954060L }, - { 216480453064876203L, 711069328663754163L }, - { 7508106403501961131L, 2007822021650305972L }, - { 8725508331413138293L, -3626352862801032903L }, - { 2560531293828421548L, 553012714310330725L }, - { -2008955238081544825L, 3340257035234765328L }, - { 6529104080181178646L, -7547960671941050622L }, - { 6099628745411598729L, 8241958247598079573L }, - { 2756659790325965589L, -1910461132866830894L }, - { -9213432955006411442L, 3852602514422689973L }, - { -6654664302901669378L, -3591698504276609326L }, - { -3643300284729203479L, 3240996573344966350L }, - { 4663787755159455929L, -7043137326384228379L }, - { -669710962240484079L, 2198151612197094376L }, - { 5035186860853879345L, 5689607670679160328L }, - { -1497009633866831856L, 6116439920220101860L }, - { -5364225470045216191L, -2524583207297749149L }, - { 7960728708973508149L, -4484834555703476170L }, - { 5512091823114850815L, 5169321183215226123L }, - { 7721868783230577176L, -82870217609973041L }, - { 5949192792297315127L, 7386107438936735767L }, - { 3638671413276752949L, 967354079224124082L }, - { -3493999225022562864L, 1736987366587456064L }, - { 2975169008368240023L, -2911062917802181439L }, - { -5830673024621691907L, 7279518614247137665L }, - { -1139876564413364861L, 2573839846536122317L }, - { -637830076892861526L, -1400018571611626811L }, - { 3073567850729737274L, -7060083933758612828L }, - { 584182832408009040L, -1684515357135093979L }, - { -4548011654370479917L, 3650830433632177136L }, - { 5119409690433687288L, 1363851279412653639L }, - { 6532746751816727406L, -268134467754466L }, - { 5036805181987997026L, -5288517888352132842L }, - { -327803426338917854L, 5322571032958708131L }, - { -2189559856150793303L, -2933300712108522399L }, - { -7915301437281691707L, 2943568251638140676L }, - { -6227342842105738959L, 8099698710467077821L }, - { -8993001121053935550L, 9126194125698526755L }, - { 907730379649993758L, -3652315413425215569L }, - { 5023461831735961354L, 6919412303663430221L }, - { 5364101017343427759L, -315599275077811411L }, - { 6923504748893038502L, -7350219810380230143L }, - { 4908646141995756237L, 8507617699718047232L }, - { 952783116860484934L, 4009659776894373679L }, - { -3294878312196750608L, 2442027558747033926L }, - { -263001097034647143L, -6632583776719317880L }, - { -6341310972840343572L, -2656983727499478166L }, - { -2779322160924414865L, -8687174340132939253L }, - { 646982227875835088L, -8921122925878035469L }, - { 4981486718593732420L, 610621754580223298L }, - { 3136424241367791514L, 4883504922076234513L }, - { 1588727704329333995L, 3030073555385079838L }, - { -4070703023625741663L, 5658459444065239280L }, - { 5828932422032929570L, 2856038697306292627L }, - { -2881020791961093427L, -6214682596907600989L }, - { 7289018053124519212L, 5097157380496129712L }, - { -8210232022318257391L, -4945331947102062592L }, - { -4932159699729152421L, -4454262099293472400L }, - { -1519151536033678760L, -5023767059372904822L }, - { 7768139346588245743L, -7913086732140250835L }, - { 4663204289123975746L, -2718362182895828791L }, - { 8301645006754151822L, 2622047573067766958L }, - { -527375505220402703L, -3652332080375247426L }, - { -5729392141767077416L, -4151319741037085130L }, - { -1061319607921895354L, -1409911642874475334L }, - { 4940818006273925907L, 2184222853857570529L }, - { 2723620363371285152L, -7672690566794057192L }, - { 6252714915337699141L, 2314830992990646948L }, - { -7047533064810318960L, -2008174505846145161L }, - { 2306818986335389881L, 8249997590679901194L }, - { 8450065497909871849L, -8831895305229340716L }, - { -4217000768181820795L, 1544531499573709440L }, - { -1337267428073608141L, 6177006046804863469L }, - { -8857633266251591090L, -774347292282095068L }, - { 5164282658652255398L, -8684179529877357750L }, - { 1481739352759587670L, 5414525982296129222L }, - { 1351986975138349201L, -6185528530236014533L }, - { 65929927533374434L, 6252977882818877758L }, - { -2314142725260293145L, -4877218633614863001L }, - { 2620263026747810589L, 3958401008161325769L }, - { 4469476270705785392L, -5430615574033125470L }, - { 2056538272538478077L, -862355286215931849L }, - { 454180883353015865L, 7762719650023470972L }, - { 4839487715844855786L, -7900083800860489486L }, - { 7942533619400842120L, 8585038689893337276L }, - { -2815467195740173572L, 5296875560477683335L }, - { -1083538654790434734L, -9193249793920630201L }, - { 1889012098251655317L, 2527085564415319906L }, - { 1741657056552907771L, 5592210964440272641L }, - { 5723507339014228383L, 5029630212357158901L }, - { -7032334681933015537L, 4084980747390945864L }, - { 2463118178158422515L, 8098757569442079597L }, - { 3752105439687274244L, -4181414926127006394L }, - { -663915851310858086L, -85354840719075463L }, - { 2011110544817827104L, -2671072148767894820L }, - { -1420169423837059118L, -598759081963898162L }, - { 8553587424506667053L, -5240400034332352370L }, - { -7662248035234626103L, 1325294974957692694L }, - { 6679274078239456105L, -1434928924752403272L }, - { 4819483627709809889L, 8478319941508844354L }, - { 9203365986368075354L, 4033559530674635870L }, - { 5950679156247704341L, 3837428951973829103L }, - { -373315081569566463L, -1482507884485177621L }, - { 5339226513315271605L, -7611681873083001579L }, - { -2219527427249265829L, 5635133397518404122L }, - { 747296102288535702L, 8973619218046772307L }, - { -7493057443430069396L, 3497964097134584394L }, - { 6724043080988557848L, 438429818292787405L }, - { 2032101896102161207L, 6083472720220104745L }, - { -1656936845267744649L, 73740362659034890L }, - { -3491848432979599234L, 8493083653578236787L }, - { 7404204759825967163L, 1396472196281816555L }, - { 5796798020837779651L, -2345404432560011061L }, - { 5185226877395757398L, -1407423944572575652L }, - { 6062827044520085102L, -584609121356896609L }, - { 1631754126980769139L, -1470461937317538162L }, - { 2155034312189437638L, -1211843219178899758L }, - { 4419389933864557564L, 2474123120380500371L }, - { -6212670054900830945L, -3283329040397730768L }, - { -2848281703253248988L, 1376655356872485794L }, - { -6545922936561011643L, 1663590999050246928L }, - { -604998998887059747L, -6404606806597906129L }, - { -8813736778885336452L, -9050067230254355096L }, - { -5028399912173153801L, -8181108087906772027L }, - { 2802315771636654550L, -3057409231249770497L }, - { 1359831828875761363L, 8335036989554482751L }, - { -6244291732477211457L, 6778429609948085662L }, - { 9138108823363225790L, -4965281868002262510L }, - { -5700703633273694371L, -6875741241266038885L }, - { -5189931767235375959L, -5872467238339532574L }, - { -5917217031437644153L, 6643339725428825001L }, - { 6559980057173897885L, 5549915138011177360L }, - { 7585954365066361941L, 3827417266074500159L }, - { 1833254434142522137L, -2975534211365301488L }, - { 2622798612834078243L, 880690646882639358L }, - { 2935894269140572959L, -2170847169010457533L }, - { 3342180495858759098L, -9026120371020346544L }, - { 7763655187214368195L, 140653358355510195L }, - { 608976619205971467L, 2680459468129440062L }, - { -4493083204513432310L, 29582863612308858L }, - { 5655458152670549588L, 1593207810406994381L }, - { -995372262620475933L, 2247666490547334864L }, - { 6725108152764242753L, -7925184458835945793L }, - { -4152678539161864839L, -2459707456071349037L }, - { 4879330012023732227L, 2141963663717599411L }, - { 299691067249437340L, 1396036161400977741L }, - { 8253082866296742941L, -8013096718656330446L }, - { -1349088245542024700L, -4461083559764567188L }, - { -930670635091392036L, -5798322241366770012L }, - { -6305033172145799503L, -3880395016914540203L }, - { 767676528758696723L, 1063272237810615854L }, - { 7848289152882068204L, 8909778499602937325L }, - { -5335123725692922309L, -6946127868897095127L }, - { 7618587959592606045L, 4634778821401009725L }, - { 1310623412826253949L, -8143415738254494696L }, - { 6105911509337366946L, 792001017010716854L }, - { -5132873445536420119L, 8072991014637794838L }, - { -5066374717991788365L, -5659428556859705023L }, - { -4196018003514359930L, -2960252077637016148L }, - { 4602399218983903018L, -7250042258597588446L }, - { 6996237050722228275L, -5262328436781830557L }, - { 4750432263399753517L, 1652612239899504274L }, - { -6552768219041772261L, -1285397640667162897L }, - { -8886514643984898377L, 3007652368209907553L }, - { 7353718498017818617L, -3719995466824510508L }, - { 3420752363982256164L, 5107602565903732791L }, - { -3106921624226184176L, 1168257018303839838L }, - { 7755185569018499850L, -3857145641161864056L }, - { 138048424823142520L, -8708777035055553867L }, - { 4574855394856311409L, -8338994606192096015L }, - { -797116754680671576L, -7236253372429516585L }, - { -6319525882248058891L, -156939084894516690L }, - { -7211292892013797268L, -8753827357192046412L }, - { -5969262208310571743L, -4551450243246721654L }, - { -2242517284471541983L, 8996152110754951646L }, - { -2134523085752830969L, -7495306502570748263L }, - { 5239925547316736378L, -2997846662183027098L }, - { 2211989170649079345L, 4552093064635424355L }, - { 3951874086467810189L, 606093338469391572L }, - { 1541713943974254342L, 5009388306382876L }, - { -5392854420512731723L, 1707913964447526483L }, - { 3564316510315168871L, 2357502818216120645L }, - { 2901564687206922350L, 4109787658960348727L }, - { 1540984989266277585L, 1126768316180128530L }, - { -5588692335575710649L, 6459331785501191353L }, - { -7656900483971665708L, -5215338425961743757L }, - { -1269975572006533380L, 3123164670370962323L }, - { -8586683894725424637L, 4575538545983245779L }, - { -667220377486025270L, 4838469292655308285L }, - { -6992322247305413343L, -2591667159733033943L }, - { 1020432414035508475L, -8985144752213736688L }, - { -762737570699341127L, 2010955117870916034L }, - { -4996438874277990597L, 5869624445205357912L }, - { 2399099134154679381L, 6901184743738376212L }, - { -7294753205977958107L, 2678158469636349061L }, - { -4330814694281211877L, -2372110554595119614L }, - { -3424505945178467498L, 2907272188222348819L }, - { -3908232167211290102L, -9086151270933909886L }, - { -1715708172189155463L, 873283929820174937L }, - { -1541677764411125216L, -6424898669918065646L }, - { 1443437733037296364L, -5161573268394920993L }, - { -5699613322350318170L, -4038288171429340078L }, - { 28422381221154018L, 8508868024345659079L }, - { -8448942739014323861L, -3172255279146427597L }, - { 94089349704640679L, -1872147708441883283L }, - { 3121324325667558058L, -2742049169245305954L }, - { -2027215282474423693L, -8633918446316412568L }, - { -9090860166446867101L, 5313050066376562140L }, - { -5570813680167514715L, 424079786412921033L }, - { -4433017494388855624L, 4758148122860548219L }, - { 7780214454833321289L, -3435318272110965543L }, - { 2818118075900140158L, 2464433363023169592L }, - { 7909566890394565636L, 9103865919125847740L }, - { 3281719552865083509L, -3221707456270358295L }, - { 2293428426098439431L, -1732177137372972119L }, - { 4831877444478608421L, 2348429429785960283L }, - { -8036810704178721498L, -9069577601784087655L }, - { -6696440698423871679L, -3085412744253133998L }, - { 424663572619708233L, -8999784711703971885L }, - { 2210379950234460182L, 1691623452644126371L }, - { 4488772831440475400L, -2961180662304531155L }, - { -6238973969104209915L, 3639242386345472368L }, - { -2892035378057749818L, -5319789022585455217L }, - { 1190083349888328687L, 3160160382664083073L }, - { 1900956434625552346L, -2284489391947536786L }, - { 5686029047839893831L, 2781250728673448714L }, - { -8652319297499303518L, -791865261776098984L }, - { 5660206937964935444L, 9092721539996400845L }, - { -5693798368774435246L, 2258836748989798347L }, - { 326881025455212277L, -8754085884902168853L }, - { -8376143443592681499L, 2999534153289768504L }, - { -924714482174160655L, -5379654820304465219L }, - { 2731102432407909647L, -8648442112932022073L }, - { 5974710608961653241L, -3581417371718541672L }, - { 6662943015421622990L, -6686424439719532742L }, - { 2629145426514230124L, 1947184247238363747L }, - { 7653779470428211936L, -2981000221623473869L }, - { 8231699528634814943L, 6477265731277391860L }, - { -7880485152483421857L, 3296436166418847848L }, - { -8715291256937697509L, 7836011376951354082L }, - { -2608260639142008146L, 6771078140290822120L }, - { -2891414416406033026L, -4301793197635600383L }, - { 1006672424561275863L, 2790898605915233737L }, - { -5345465745471823175L, -8188476658929014250L }, - { -3007098514343148833L, -1632205865341471381L }, - { -8853686550740270619L, 8025678435968917400L }, - { -8826799561287303533L, -5665941448030027073L }, - { 8800245871751669511L, -3536393248796535509L }, - { 565431636219131046L, 3503967908423474425L }, - { 6137897978460556916L, 91950916967717704L }, - { 5482308004417669307L, -8343102428410455164L }, - { -3006854606371770142L, -2624010453361449257L }, - { -5550863738981833513L, -5107086731935101640L }, - { 6860154257076535929L, 2122136767273906883L }, - { -7830408716033920139L, -8885954713952577885L }, - { -6220766884162806429L, 7016794589305787131L }, - { -3254641290637732033L, -2128471522653394358L }, - { 4069104293139053208L, 2152160035557905229L }, - { 1298727460612851492L, 5940452780843637659L }, - { 5145793087755505159L, -9004759719138398615L }, - { 4012194405015900827L, 6347510871907681406L }, - { -2096633266369036577L, -1498193343687136142L }, - { -235600124490809513L, 4988899018975547087L }, - { 2256248865523312538L, 6160266267729455349L }, - { 1856550792634706370L, -6501591819842837449L }, - { -6338437638663913139L, 5594380189312176072L }, - { 605690123879344699L, 5053237049864143776L }, - { -5972006707479557169L, 4785782695457342020L }, - { 2788841617850067275L, 8271282777966666049L }, - { 3341756482258277517L, -6056850609051651338L }, - { -8730087995322499274L, -7118156720511960164L }, - { 5666761853789513177L, 9188761121016073816L }, - { 1427855942817620030L, 4407328625609699591L }, - { -2247084578644277545L, 1708890129314508850L }, - { 2632056116244532492L, 4401923056661588294L }, - { 8983184113458203674L, -3136608526412251467L }, - { 6222824259917067927L, -8130597606013207234L }, - { 832847538082989274L, 1548428941129567096L }, - { 7408336855734508382L, 7776449749647396310L }, - { 2463234904146980715L, -3340268007978204382L }, - { 7616355816816829131L, 2303050254259962399L }, - { 5437320614714817066L, 8476803541903204130L }, - { 2176649963064497163L, 8869043259439175488L }, - { 7847964877858458386L, -6373057125165026464L }, - { 3676215252045438118L, 2204625982824682027L }, - { 1457265625453915305L, 1387291172404214096L }, - { 421670244665897930L, -387569155792122879L }, - { -537286355906412984L, 2487716427838425241L }, - { 845546777083974630L, 8893865741331650301L }, - { 6294586905906742451L, -4553937046340818752L }, - { -6979812383811440761L, -5140944992099214823L }, - { 4101166573373719960L, -3761343286476191065L }, - { 430647036995334093L, -2776276191091528330L }, - { 2563569094767382754L, -1570641686381817622L }, - { -2226117486192197040L, 1671878083856373830L }, - { 3989815455278220803L, 4052233204958035005L }, - { -5573460076032648378L, -57360737518556647L }, - { -5149764105493446507L, -5658661468258761908L }, - { 8908023797302087394L, 8118348247591337103L }, - { 1579875413248797693L, -7026389577366674812L }, - { 6557085398158756277L, 503776811517866907L }, - { -1860582499397819682L, 5110024206261509272L }, - { -3940264269551745098L, -7099666907393494587L }, - { -3760050418257691649L, -7345481607428632425L }, - { -2749137550200198091L, 4331101412580103856L }, - { 863749834414320446L, -2373778346862397644L }, - { -1701674908797410602L, 4970046037650428460L }, - { -3441531459858237116L, -988835857524290763L }, - { 7781166611943523849L, 8140634413685909259L }, - { -8747694838109223765L, -3156431890675712017L }, - { -7940615954936651322L, -4120870388273929951L }, - { 1761800111692886098L, 2547288411650164556L }, - { -7563608795264216209L, -4847926844762470820L }, - { 2430120273101259962L, 2177062838677564347L }, - { 3034607409190630193L, 1981874097468871768L }, - { 7596606678605264709L, -4288556630910272875L }, - { -8815959038019965324L, -5980112834322187096L }, - { -8056592803858661736L, -7052224712096695046L }, - { -6054319005531061432L, -9188489342513555697L }, - { 7637990614259037480L, -1415221593400472327L }, - { 155762651336866309L, 5657149807227102396L }, - { -5295066003461610118L, 6870728820605999153L }, - { 2097996021613363354L, -4931700889553602696L }, - { -2649318637576910563L, -6978908410517853058L }, - { -4710689453059380010L, 261449222883509725L }, - { 8675276565266944323L, 335351249952568394L }, - { 4061820304631504890L, 5804675661865029248L }, - { -865251409507836874L, 4577923466145028915L }, - { -4305544705996842550L, -4883326217850566724L }, - { 8133733737104758782L, -4495263459386364509L }, - { -3599082219550900640L, 5219535324240806812L }, - { -1172444168425884022L, -1485199996039546317L }, - { 7002178848795582841L, -5188784964680065467L }, - { 8753574524527561837L, 3919561486790968735L }, - { -7959972011549631263L, 8799060198670636386L }, - { -664335750987460129L, 3277903706972742930L }, - { -7761182775497779250L, -6310116907364982155L }, - { -201978935828898840L, -4696042526673297367L }, - { 5748605939155571413L, 6791894953965220475L }, - { 432959146257511060L, 7202022074150088516L }, - { 8597688997048592708L, 553712398347581549L }, - { 5979346454620003082L, -1716068746879028522L }, - { 6682666834922578474L, -8712532151663695231L }, - { 3635671342630844084L, -506639358181173636L }, - { 8295581682942403968L, 8983503375557227249L }, - { -6056716329065906860L, -1166637647026189798L }, - { 4876232349596700627L, 7615893510850307496L }, - { 3282465211073936357L, -5416752951469934982L }, - { -6277210138874800012L, -614708101837670038L }, - { 86063810903062668L, 9159828528959232073L }, - { -5131034425726984549L, 7387887681768229166L }, - { 7879994284944917570L, -5715373531508598047L }, - { 3805360137603820244L, -4830043112173673655L }, - { -4819745855255108901L, 3483810877331937366L }, - { 6005083603591253720L, -5557974655706376774L }, - { 1260872260703386533L, 8098831063630607951L }, - { 6208805585589862489L, 8877979288513368898L }, - { 4467145362283493250L, 4374169585767619657L }, - { 6925593199187107448L, 3955240828481560781L }, - { 2290814776012496288L, 4042584658561538346L }, - { 2202094536385319447L, 270484628403474813L }, - { -1583289128964920170L, 8120175710315470278L }, - { 2414314858213839292L, -1548161289658943137L }, - { -417375850490384234L, -7625678914308549312L }, - { -6775757096712023859L, -5214376957868732121L }, - { 1531877516325565400L, 1211163938547556009L }, - { 5092160435195199211L, 3684528669792750192L }, - { -7779989257755281504L, -5375772666913524545L }, - { -2910324314591098862L, -8416001170794441872L }, - { 8497090690994716777L, 8540791444836079312L }, - { -7802963550632908400L, -3467583003730778096L }, - { -6411284901845568322L, -941537897448291129L }, - { 9216337043421866495L, 3078985572433750012L }, - { 2437859992012674232L, 8179548351840095050L }, - { 6960237011186167617L, 3869309237547749624L }, - { 5100162418749277386L, 197993277396624937L }, - { 6509562170805894274L, -7367535593602185533L }, - { 690433361758303077L, -2806827680050805430L }, - { 5936816351771558334L, -4582124194561143228L }, - { -3601277060469993805L, -4565171460269252905L }, - { -978457311807747406L, -610254066917434504L }, - { -4420940034475608949L, -1856703055424341426L }, - { 3538644062391991755L, -3712271897739197104L }, - { 5164625733904685628L, 2650674255718769837L }, - { 192170982312183453L, 8633644357164644119L }, - { 5014044649793050646L, -8449200459845048042L }, - { 9147945450485230993L, 7810322997664288811L }, - { 121096778422978126L, -8652535562468380297L }, - { 7076446543359171313L, 571454885249581704L }, - { 3849792111065500559L, -8026540109779588702L }, - { 7235530029899206334L, 8515508725728343766L }, - { -6832803917257794399L, 9113172911670130481L }, - { -7448095328943903784L, -4562750453653683636L }, - { 636249030288914450L, -3970829186127658086L }, - { -5837508951408640620L, -7257939566854180158L }, - { -5494182545899908814L, -1345600624398540662L }, - { 139946096999437232L, 4142244339380738758L }, - { -7949772735307966448L, 5282219938929552231L }, - { -6777152677072204821L, -3004773806496786336L }, - { -648210928302263569L, 5511623637819700198L }, - { 1484711477581900777L, -56114059663856821L }, - { 1415763754612838143L, 4543528953784949698L }, - { -107058891244037140L, -7147306030921621952L }, - { 312958362296582989L, 3898297632297745077L }, - { 5071518533113132226L, 1938464859165095339L }, - { 6638935098145563092L, 8586698480642519698L }, - { -2867055004276813534L, 174277963774089138L }, - { -4289503497262086936L, 1793561870758663485L }, - { 1497170552728782805L, 2281434002035931012L }, - { 4517675483628149735L, -4299142910986295506L }, - { 3748960245079903666L, 6886847500671830300L }, - { -3691286664879128054L, 8872754919310633948L }, - { -209359184536764749L, -976043877717111761L }, - { 2491341916818449085L, 7267445614416492980L }, - { 5499205217633027745L, -3961171019363316611L }, - { -5512709448748519671L, 5362278415169786706L }, - { 4557913818063026938L, -3160011354686081538L }, - { -2112204135968966196L, 6310834969212348187L }, - { 3440403110217462895L, 7953765169956192669L }, - { -5867323792132309155L, 3117237805613135061L }, - { 5420869064478055006L, -5392284491101207136L }, - { 318512041709141078L, 265910602706848173L }, - { 1057553941897233483L, -1301783428765645447L }, - { -6895197562631981270L, -8197304699761768758L }, - { -5782743651675563936L, 4203332157031714086L }, - { 2659771847560443960L, 6759308237310585353L }, - { 6592601119187496548L, -3454010220224502424L }, - { -517270229881128849L, -364112620296853890L }, - { 2622604378506727519L, -1409475428244174294L }, - { -9170205866690625639L, 4114695014291468489L }, - { 4806630682514823179L, 9059429146023594378L }, - { -7776613972641981358L, 3810087764460194646L }, - { -1488298548028258830L, -3810270104734245156L }, - { -1715707210842296824L, -6915036138510998600L }, - { 3796221982870729299L, -3736370821310651114L }, - { -7882722580553373597L, -9000164591921300229L }, - { -1797548791879939131L, -520599612811393613L }, - { 9223079908042491188L, 5543904114523917201L }, - { 7847548061281742781L, 7166650075853579796L }, - { 1041148225166463713L, 6331269772201105184L }, - { -2800037601895587534L, -8408921437830061596L }, - { -7832361151307182116L, -8213348400415668450L }, - { -6950576920927850414L, 9156154939542525814L }, - { -2404378656089204258L, 8395455743286852626L }, - { -7720362412660524651L, -6273166454579708948L }, - { -4901646243176144926L, 6990772751632948288L }, - { 6432612866296388591L, 8548483255730797324L }, - { 665821462715291984L, 3350164667765855444L }, - { 5024465184664377182L, 1965564049852144627L }, - { 1558901948449801231L, -6446969132709976601L }, - { 2224934457550741787L, -7696287661468022291L }, - { -1486153720652331467L, -5605157687169082L }, - { 2152321067003602002L, -6321249259252955228L }, - { -1858128886354189097L, 2836979244920552810L }, - { 2873839996181438535L, -1072878112229444552L }, - { -243875524287970697L, -8348021835701218012L }, - { -1376873654537129986L, 5423661924194360191L }, - { 3287122656145633441L, -4945767931773080995L }, - { 3770833946582728674L, -6420894115027823771L }, - { -2764900700916121857L, 576336989324501846L }, - { 2560091717993161785L, -9200720429015878735L }, - { 5504786539926877426L, 3159208667838467515L }, - { 673505854315501819L, -4598137714685779284L }, - { 1264431652537758499L, -3814214474280468989L }, - { -5043418235491208409L, -8838500318471721555L }, - { -6769065002135856586L, -4166893156663053601L }, - { 7666088207808456995L, -5995625777871569960L }, - { -2827685615289224220L, 6872228841331280864L }, - { -5429383711816435171L, -1797075711309876153L }, - { -3134385201210164932L, 8882919297953772994L }, - { 3020879270457681824L, 5883876757118434219L }, - { -1689344584352272080L, 2437110626722923896L }, - { -9040930749904066060L, -5686175033217931543L }, - { 1932280955101101310L, -7158452945023483021L }, - { -4992572509975070322L, 3605164471112944705L }, - { 7546307129163923078L, 1170266758393999726L }, - { 2939073542428222766L, 7243081239066082528L }, - { 3374974368464231869L, 4928464298223439682L }, - { 885759554366311L, 1057459879878233927L }, - { 6593789636519856798L, 3419649136379989479L }, - { -1624132412418983395L, 8841047325915716177L }, - { -6031359656290740003L, -7488614225440201697L }, - { 688983212618230553L, 7643942002760146514L }, - { 6369052776794949918L, 5195382242098812706L }, - { -1377714920269304294L, -7175744776460667274L }, - { -1057940749189840506L, 3173893418895238573L }, - { -1655685782041312329L, 8477574094088335615L }, - { -110552080942842283L, 6888964814479005121L }, - { 5250633774704933933L, -1012094598554766112L }, - { -7909648255758272745L, 750427027426622638L }, - { 719735976337939580L, 5536526334688791531L }, - { 3645906512854567933L, -7728442844606091261L }, - { -1860978834085668115L, -7760720380835662111L }, - { -4349804709624489457L, -5819810209764985071L }, - { 7923661347327064185L, -3310448936111974933L }, - { 4244126846532735429L, -3815693592766389559L }, - { -3251399312816082643L, -834497383696947436L }, - { -4937029742581158563L, 8540913837129171901L }, - { -86298941439722272L, 2057540199751740855L }, - { -8597913327563881758L, -399644259762704239L }, - { 5039882027531808464L, 4551460786448379682L }, - { 8056647111062079524L, 3681777671216768037L }, - { -8976752115766926062L, -1802538985705148169L }, - { -1690394607348932339L, 6687318080944374988L }, - { 3378746565484573129L, -1751049606407600190L }, - { 8416003090844044193L, 8135905036230225311L }, - { -2717024430934601010L, 476006231892774594L }, - { -5701892799453780386L, -7173369616685818959L }, - { 1533981283496523540L, 1415291852685422332L }, - { -7462371343115417598L, 724626787697510043L }, - { 7010080256761797460L, -6150362952056456046L }, - { 4478373719647299143L, 5614140616738834163L }, - { 6305458678328463570L, 1122352984194175602L }, - { -5102763036459098393L, -3460352410086041434L }, - { -8778795989564198209L, 1473095525081521210L }, - { -2268889645684651974L, -520070433989938017L }, - { -4555916510323499535L, 7868968266585745421L }, - { 9065546065927673888L, 2823910101848922501L }, - { 5852839483910534806L, 8258588543522383098L }, - { -3402482240912256878L, 5952804005743627668L }, - { 2023722994972298169L, 5047124578203526567L }, - { 5215407550830003324L, -7830002530699043692L }, - { 1071468158469513836L, -1387799248150086883L }, - { 4955237436537987038L, 6130712479065828415L }, - { -3083989516400027076L, -3440784742149283773L }, - { 6722953813435001988L, 7245745558256024155L }, - { -2387850610416371552L, 182889665412283505L }, - { 809463730078568982L, -3696936559309597459L }, - { -5395203458608056891L, 2087371727619347819L }, - { -6137800097014878795L, 4809155221582786735L }, - { -3605527194936796968L, -8423052822282325387L }, - { -7589842792710116365L, -1533558859642065869L }, - { 8069067842420108257L, 6146489394975412119L }, - { -7454408306272078350L, -6915650351892414953L }, - { 2339188701288559996L, 8366379791959321561L }, - { 1008425726458324286L, 1620671620409236365L }, - { 6847676052807732318L, 2526749850075238275L }, - { 2271618337058209406L, -4170988020785076096L }, - { -8281033180921892670L, 2863917946175752856L }, - { 3604010165737741236L, 195804067905468237L }, - { -8269928557793008073L, 7207781055493994186L }, - { -447391999287823556L, -9188774064725556020L }, - { 8028984830780334836L, -444320022784399848L }, - { -3883350805508230356L, -1370082197650851272L }, - { 7482610679805814070L, 6054283912748538683L }, - { 6500112572029535883L, 6338212483365391701L }, - { 6119648543352512696L, 3731537194623523994L }, - { 6922212850686981745L, -7742260474253244859L }, - { 1734731947537567857L, 4227368981582034582L }, - { 4101619546129582628L, 7887200240021237190L }, - { 9155049639883886519L, -1574685774619907419L }, - { 5849304319215085011L, -5149097089656706460L }, - { -135976101808023055L, 7657751254514616451L }, - { 3329888204068201272L, 7691678257579801957L }, - { -4336188293967075047L, -8186810994473167457L }, - { 5788433959497374483L, 6005512947764583078L }, - { -1402363557578146821L, 8843112555146557492L }, - { 3588707324813677961L, -5917534281938487150L }, - { 6715232528053729851L, -6811917543979770904L }, - { 7169368150013526008L, 7113541687945298083L }, - { -8706746826857587245L, -8859511146642304604L }, - { -4819316543846777649L, -8774395764301925696L }, - { -8782313301067526525L, -6256596613929059099L }, - { -8916832875484128383L, -3111869372017071369L }, - { -2346600299358242263L, 739981548130115109L }, - { 1904681875169970567L, 1284498147074753190L }, - { -6704056743702639344L, 1025608445943185924L }, - { 2270605299750783360L, -8478634978958397732L }, - { -3940808304480228961L, 3620857268219366074L }, - { -8321565943725548488L, -162850665073338121L }, - { -3825742229541937514L, 5414988189270570764L }, - { -2349339074190735472L, -2520219757190524321L }, - { -2948486946206330984L, 7132250433295718412L }, - { -747906506207273746L, 8982940781026329670L }, - { 4280562720015859798L, -7158609942006274217L }, - { -4136257343808753176L, -5732481356090503243L }, - { 8445283324198191059L, -7944752293528961989L }, - { -8404850409602104913L, 7482965433126677L }, - { -3264457032343850047L, -3720438713954588688L }, - { -8759790595969078254L, -3181246708414873404L }, - { -2542190711281684773L, -2502711101698706266L }, - { -8843544063303913454L, -7592618515347100726L }, - { -4003746482399952206L, 3328250037536419347L }, - { 3841695822551400168L, -219582959475083627L }, - { -3588090911679720182L, -3174750020272651302L }, - { 4918585626351510199L, 7130806503895849634L }, - { 9222791837897484065L, 4011402744232032199L }, - { -5760984091213555378L, -6810121545918367515L }, - { 2491736142884395009L, -2597704284285157495L }, - { 9176699063949977552L, 8988486530696185155L }, - { -311336022868801049L, 800635164334809333L }, - { 6098071943696363607L, -6466386586993453102L }, - { 3781539988474542156L, 6252107264141468479L }, - { -5991444272878304549L, 5960563247743610665L }, - { -7058079929087833240L, 1774151115106864258L }, - { 3692880174470651745L, 3254087094804079517L }, - { 8043184184871662514L, 4334626677240459902L }, - { -2260533056334755470L, 5492216609821364730L }, - { 7862870576355526775L, -2002206651704242317L }, - { -1273628657555198089L, 4500092611531376016L }, - { -7116245059732632210L, -4469253241056826606L }, - { -6206223953545513505L, -1137760425047663752L }, - { 8769478588548603347L, -132736367177684309L }, - { -6809293819712164844L, 6559633909609042117L }, - { -7072037946451047577L, -2043337765421332833L }, - { 5145959967698376997L, -5556603267559213848L }, - { 3918549975422395928L, -3150639278327240429L }, - { -3688153306502628396L, -7435067995008483219L }, - { 8933640809529662946L, -7636525704905354617L }, - { 6586386948093068301L, -2183803246532017685L }, - { 4314174515802583045L, 6291721688596346087L }, - { 6042832017761248999L, -3695077737345263355L }, - { -2163096650317259801L, 2990268501997122182L }, - { -1301538385158714097L, -1533372430915700352L }, - { 9157628132063555931L, -7093418936861363878L }, - { 8447192224483369575L, 7631934447862654472L }, - { 1082300847283178879L, -7618647624807771192L }, - { -8765613093828266962L, -4115536092713542768L }, - { 6523561351628630699L, -7625252301278642487L }, - { 7878456944142132573L, 706194176774617761L }, - { -5878800239136723413L, -1813927820728650739L }, - { -899016955838748566L, 1966176815632465191L }, - { -968680680108344572L, 6575369511440091617L }, - { 8149351788840205925L, 2279025097486125117L }, - { 7767149159758237380L, -2644414571334647023L }, - { -1002433668001324671L, 8943147725619352276L }, - { 861378480610089679L, -4062600348246113369L }, - { 5131370442347562734L, 3950723299875471224L }, - { 5891997968737511949L, -7520213123221654021L }, - { -1134130780427583438L, 3132292634573307295L }, - { -2721284507442384384L, 7291597149098083522L }, - { 3581758406053663578L, 8835208245303410746L }, - { 4711959109881063237L, -3216119409741833809L }, - { 3814833207703197149L, 2734095307747491414L }, - { -5498755072540800142L, -6403288850279922865L }, - { -434194050930099095L, 4870237253884783459L }, - { -1131324138179189444L, -8321037353987256979L }, - { 6335673834129040499L, 1542550554552373587L }, - { 3840591353873435091L, 1003968243768320782L }, - { 6691477876637098998L, 3119531155265220843L }, - { 5389042814799436488L, 3464320519030129292L }, - { 8492537662085986759L, 4231665252183762049L }, - { 9801065220990358L, -4142253103916332351L }, - { -8991404774454959964L, 9117831577731702999L }, - { -5967334022174632862L, -8234653634853813963L }, - { 8423499844379835696L, -2296526801518540032L }, - { -1121320485100692308L, -2310012019292148394L }, - { -1137347326607533713L, -5910223239112105014L }, - { 3579131621253541604L, -7873288377384430404L }, - { -949637496239973913L, 8992721473934662726L }, - { -845717236495377944L, 1709210005757310121L }, - { 2627652869211543871L, 6229651575357526528L }, - { -3584273871358543803L, 3485383832684950691L }, - { -1231456733798526473L, -3693492293114660562L }, - { 6404279318428525466L, -2820264389343755942L }, - { -1959366387574498651L, -1999053094523153109L }, - { 8659995475649499110L, -4063188751398928642L }, - { 5687743493891209750L, 1819832997765820620L }, - { 5734157541830063944L, -1508187435145329543L }, - { 3807145789061111632L, -1163040392176574106L }, - { -8728883033962465130L, -2019265592238841800L }, - { 1886310705344218044L, -2186164004798954561L }, - { -2869995344352648369L, 608788407759231159L }, - { 8631433038774110827L, -8954043830652495539L }, - { -5196628823587587974L, -2249354261523167857L }, - { -7457206590006693637L, 4392495756732760488L }, - { -5287470411743602489L, -4602133066126451655L }, - { -4100864542827687276L, 8617323110060809504L }, - { -6925193246164904686L, 320293241076880811L }, - { 684773938147799771L, 6262050439533780321L }, - { 4684480184200832071L, -8091186757996198319L }, - { 1138521418475557396L, 7915368755744488159L }, - { -1024452235617887100L, -3320296128152795536L }, - { 370178077665262107L, -9162241114040089547L }, - { -2580904250658458088L, -281987854585455375L }, - { -4067270455265760110L, 3697740925622419951L }, - { 7883457924958258236L, 3225018098591163689L }, - { 2745236661071909096L, 8184485281086465192L }, - { -6638753008619557401L, -8598931368792692359L }, - { -1928563245103591922L, 4655096611975500707L }, - { -5391677730310963265L, -1065175718193252042L }, - { -3443398620200795730L, 3828176865585432313L }, - { -8921877650888014333L, 107866992902620257L }, - { -2549654053467481876L, -5050580673000189621L }, - { -6634007310328959288L, -876193222819744972L }, - { 6662969652277689957L, -6841284783697750392L }, - { 5704789109069509625L, -2476715163962031661L }, - { -1307333292330657763L, -5491692411965571232L }, - { 6533595699848914839L, -4499350589304206086L }, - { 2206229619406776067L, -2351165617492036434L }, - { -7059181012292774208L, -9115366817762017529L }, - { 8587013829275411963L, 4388678051800734512L }, - { -3759394797281060169L, -7053509092813615390L }, - { -8332558387862436192L, -6896020076406818425L }, - { 4058454963111191922L, -5286761064255899376L }, - { -2909318126609562718L, -6911874830505973438L }, - { 8309425769040304384L, 7849379961650314497L }, - { -3332518656544710523L, -1692848726219162872L }, - { -53840526904216763L, 2255977371922379760L }, - { -4392299612463469408L, 1581073356587586804L }, - { -6495163012164872108L, 2231393466511510482L }, - { 8283822043324591205L, 7499731676314211199L }, - { -3839429045227492113L, 7510349338395860967L }, - { -4554258591908844950L, -7317144759563080195L }, - { -8717791527048532273L, 4978792217011582827L }, - { -6680294812840082731L, 9152312282907380651L }, - { -1514076315369906827L, 3598370015785027284L }, - { 8342331288999106348L, -7203007516130555934L }, - { 4467472370913596089L, 6812568540862734900L }, - { -5258687569970231267L, -355677718169180333L }, - { 6428083210523097473L, -5287418510282857745L }, - { 2293947403016663486L, -5220278527068998730L }, - { -5526361602248141114L, 7996660119707051676L }, - { -7270937093961275072L, 5711622628080961541L }, - { -7226206738482320242L, 8598438917671031500L }, - { -267988759137059367L, 5431685311506687936L }, - { 3757842653020528703L, -3297692481111911080L }, - { -654142607214292501L, -2962827219142864971L }, - { -3877320323095024097L, 8842445126378196396L }, - { -210352008325460011L, 5116823845142598386L }, - { -3777353653906366683L, -601473431267226149L }, - { 4104559760354145145L, 4701224169495508799L }, - { 6351620637332827086L, 3205977800898050414L }, - { -3953047538968937343L, 6276768727993298797L }, - { 1977509989365985520L, 6409342957977133586L }, - { -6096612777648073834L, 6707983202497286472L }, - { 3655449697279862217L, -2885904157317690348L }, - { 6371929595416244955L, -6982319672407259043L }, - { -6719663260573101322L, 6074544765480824486L }, - { 8235058461435871026L, 7218535018958732569L }, - { 8223610568265677874L, 5036593928131829216L }, - { -636776168225445543L, 7126947243644292165L }, - { -5658531495972000806L, 5976061545413357422L }, - { -1315157075774308702L, -3587640206384793862L }, - { 3318184564168373738L, 3667606843527529680L }, - { -3870791042207323999L, -749752759518101873L }, - { -5761074459524531162L, -3904416599422058280L }, - { -7589695080417675674L, 1298670570171716776L }, - { -118243652515378968L, -4089007496976104453L }, - { -5606050504941145854L, 3363647473385925878L }, - { -1682232575263053834L, 4346070814778364812L }, - { 2064607730151462051L, -742205065568789939L }, - { 3860046528687723210L, 5639663483838395500L }, - { -6935238833286905572L, -619950249601147230L }, - { -1526898475961616862L, 8069505502923900297L }, - { -7786760789279579722L, 1492861118173755697L }, - { 6367271805286224450L, -7496769528088253126L }, - { -4333115896551664911L, -821727603931953051L }, - { -1229178972379399952L, 8730035857323100178L }, - { -5406430689127328314L, 4231658348135315593L }, - { -8536830855104540258L, -6071104864716272619L }, - { 4592858633504932985L, -3006733148669100477L }, - { -4661004590562426651L, 4357632356262471192L }, - { 1900079872513330236L, 4716191579745290515L }, - { 803518532278716272L, 3567557066091193813L }, - { -7227731911919645710L, 2095640250881819683L }, - { -1531800249475624901L, 6537531379212203782L }, - { -5068571120099635260L, 9060033697476709270L }, - { 6954901733800148115L, -1674928158449299724L }, - { -7075071323703859828L, -79790012159247464L }, - { 1447978964456769515L, -3214394401554340995L }, - { 860006115119071319L, 667210893626893467L }, - { -2067420548322589555L, -3021927277418583328L }, - { 4638996254844315967L, 8154077006989858919L }, - { 6983236581726963935L, -3528830910837705182L }, - { 6708882819304554132L, -5694112128251960949L }, - { -1077037295677468865L, -3503242918302157372L }, - { 3623478619549261514L, 6180056827434419475L }, - { -8551083693862102837L, 8556339763668418694L }, - { -6864926796047150583L, 5028306725838573487L }, - { -5583309839740166644L, 9027564656608576889L }, - { -2047952294766573645L, -3095287403842609759L }, - { -1296070923862863512L, 6790190055329304693L }, - { 3533321735634917235L, -9033799480884432612L }, - { -1137358684259757076L, -6356732617214670827L }, - { -8080333153054443456L, 3334370468254151878L }, - { -6770927466908143968L, -570402506200030937L }, - { 1677314511582577698L, 1342654560043637898L }, - { -2630259631962080464L, 7385442738096893062L }, - { -1793645900673563419L, -1723552778901560418L }, - { 3600237620008462975L, -1202654027148639997L }, - { 2180027379579890660L, 5542738931909800056L }, - { -9043677058766520350L, -3326672003520699872L }, - { 3962397017521642626L, 7663197079112974029L }, - { 3977072778934081031L, 1443754962703183004L }, - { 9036155278583684186L, -511483942672047429L }, - { 4719201700299004978L, 3372713474180665433L }, - { 195773270223425425L, 4606867324868612441L }, - { -3391740091956199499L, 6977786383238923035L }, - { -4297719063714682956L, -5205502438632599866L }, - { 2518769717461479967L, -2278000373378640850L }, - { 5163274893178164221L, 7720801366773322067L }, - { -7935837524015792569L, 7113479099627093520L }, - { 3725316512735597929L, 3063198825928438389L }, - { -6062355987398187561L, 196981839523103554L }, - { 5072788521812186052L, 2181699064151082790L }, - { 4756745374124465344L, 7250108599025853073L }, - { -6691048140593722302L, 4415088046869436277L }, - { -4453427560142816958L, -2106924769861351639L }, - { -8908616043104241784L, -1019376309451773039L }, - { 4680671232907313257L, -2174697625835016191L }, - { -6131724261229112714L, 7856591897252847779L }, - { -9108450687466015537L, -5507621728320366418L }, - { 6365495657268753375L, 5450431121738155020L }, - { 6448165814018765014L, -5612695438889065911L }, - { 7071162731007451983L, 5392474098323048148L }, - { 6828906714271770482L, 1502254970953831345L }, - { -3559294295246311028L, 7553612275548812830L }, - { 124771238363526084L, -4798796425975932412L }, - { -3293309753712400861L, 3954573374209069808L }, - { 8896706306255876093L, 4253298990076074483L }, - { 3125408161217615213L, 3803700255679029945L }, - { -5861463414798312654L, -4098195255457814724L }, - { -9036260382640522754L, 6369652912950273493L }, - { -2941595857477708459L, -9113821633105909829L }, - { 6033142563060557598L, -9020580934062204557L }, - { 1099630200403990563L, 696624502470685602L }, - { 7959429886791854178L, 8452651730508924913L }, - { 1535421567087429521L, 4681006148666640475L }, - { -3523681894692531197L, -7132650741735849542L }, - { -3906144409472427412L, -6072298972533296356L }, - { 6483996772781688720L, -7756906715255122537L }, - { 4132319255708563987L, -7604430518775079159L }, - { 8769726356542128993L, 4800289188839276316L }, - { 6738613111825331757L, 7396330301554136907L }, - { 1764580723100293334L, -5184137923839863797L }, - { 3299019025645495247L, -8319517036261810990L }, - { 2239605653730261397L, 154189014771898002L }, - { -6200467116936956633L, -6568202627332369288L }, - { -6291344345384672622L, 5354839767793808953L }, - { 2565928296401167337L, 3115419636555194066L }, - { 5329865919971566807L, 1719896645598205708L }, - { -8575034623756510146L, -3669000039462402717L }, - { 6368322753797090715L, 3689449136956819472L }, - { -7493350249074734851L, -5214369489577428826L }, - { -1948050475401750220L, 884718130935295239L }, - { -2542388860306602080L, 999643815495444354L }, - { 3132812952361473979L, 7117955964821677830L }, - { 8662503282931471374L, -949428191468665471L }, - { -7226118518078524751L, -8133317924985805656L }, - { 125513287940370920L, 1139709294781544858L }, - { -7105850358401444205L, 9011130779774299758L }, - { 2873891704788790693L, -3345408941392632050L }, - { 375644362554273808L, -3940052809605950557L }, - { 8779595029680158187L, -2090878506281834613L }, - { 6520575959918535178L, -3685955938622260911L }, - { 6481335563279395683L, -6651860608291596670L }, - { -3958324538875210597L, 687933001376263703L }, - { 2650332007800900579L, -3820496251684255429L }, - { 67216421894692841L, -6273923576662698622L }, - { 2892388889322576563L, 4142472054827014174L }, - { 447031742152452522L, -5750532076318905239L }, - { 2214867384342611779L, 1438016221944253759L }, - { 3463418430384064877L, 7933064097770090377L }, - { -6736581145771083272L, -6636037761993868041L }, - { -3097757825887262572L, -3464203236850017330L }, - { -742646863032103227L, 8549751377962719435L }, - { -675900178715113798L, -3914104413182363973L }, - { -2232567950500061233L, 7621988165391726384L }, - { 1712025609374863027L, -1123006467158500535L }, - { -3405265351896222950L, 1430535721297212626L }, - { -7357424915587192954L, 3465717092902363839L }, - { 5899042778652661141L, 4222684223013113017L }, - { -7187291342974761805L, 3957487962438616817L }, - { 3480937052474976673L, -6188589281798830120L }, - { 997099418044934990L, -1527963556835294545L }, - { -2839517833272115276L, 8330879031487323662L }, - { 8199436817352462608L, 6909954963993252775L }, - { 9072737280134851879L, 5188978806423418359L }, - { 839795799971829718L, -2860958804774185917L }, - { 458252816075262707L, 894349972574391694L }, - { 3252541827624060629L, 8522714392424847611L }, - { -5029727353658396637L, -5729345024622710002L }, - { -4967837872862091654L, 2804097617713186103L }, - { 2146776628928215216L, 7992918702582258237L }, - { 5403743629243841306L, 9019714016234030597L }, - { 3306799506878402965L, -2944777525613883043L }, - { 4468336141473957274L, 7689803402328019980L }, - { 7023113564987990226L, -5353349038722192959L }, - { 2871980174971968592L, 7052062369586092648L }, - { -6665846774723588486L, -7779984816814418003L }, - { -8521313230784523850L, -7075872948858809038L }, - { -2899150205599417383L, 3674168194855920925L }, - { 1992195265166010323L, 6718020075048606525L }, - { 3610880564010872990L, -8099380986026829265L }, - { -8962461672227066573L, -2708938433802853784L }, - { 8499793696703179099L, -117949552342789801L }, - { -5174175353166984262L, 4853488592908239062L }, - { 3773412144378555582L, -700152485305099197L }, - { -5377488598550438958L, -2221586125998783654L }, - { -227481030440141534L, 3571021169253497167L }, - { -3003034596327281460L, 6483608774262579967L }, - { -6010571883582226691L, -5383121100451058218L }, - { 5285640267764709652L, -6202879186354479067L }, - { -9094570939029139554L, 1417266974034045473L }, - { 3302183665375964446L, -5089891447239173791L }, - { 8185803481915750000L, 5860584065404731072L }, - { -7832879598569001202L, -8462546539915269894L }, - { 9185495476894972675L, -1418057708833821013L }, - { 9021601549322560342L, 741355604462128395L }, - { -1033483127041468323L, -1998905022320810358L }, - { -9094719449194039442L, -1626212808185905243L }, - { -4246271926877732985L, 4840812948897464736L }, - { 5329679602094503622L, 8649093324893765849L }, - { -3123609535190446287L, -361284439372155099L }, - { 4714766142804686442L, -8136402947598538231L }, - { 2489307805887894890L, -2356444220664306215L }, - { 2987790131896782326L, -8086179668000672928L }, - { -2963677483725852236L, -2516942748088288718L }, - { -8529934738168520503L, -3210310985686262182L }, - { -6356353435089583010L, 3516503088278819063L }, - { 3208586395891790363L, 4298931398837050951L }, - { -4407123126725047459L, -7765163037766468949L }, - { 8157441934654253916L, 2843614390491890044L }, - { -6109838368688820127L, -2368186650405422497L }, - { -4389983853453341623L, -5397592659600112949L }, - { 7652314184807664343L, -1427196053527089690L }, - { -4662723430367132038L, 120770956848949739L }, - { 8667093623786488993L, 3070768203499473269L }, - { -3415543420133275181L, 6085467894486731971L }, - { 4904278838452314694L, 6548926713722044422L }, - { -4354230232880600982L, -3272993024095048366L }, - { 8861799057857753L, -6094996369966286538L }, - { 3552811093870745879L, 8612973539161157048L }, - { 8634119875383707854L, 1907947534981169433L }, - { -2732631755040740128L, 5182756388090293429L }, - { 6518885727185543342L, 3116634721078149894L }, - { 4341137614328678730L, -5388034631040110769L }, - { 6793266319858946131L, -5418120590775304922L }, - { 8047455342123276414L, -3727261839997080006L }, - { -866422210016420449L, -8852169901685222689L }, - { -2975253122827530056L, 5453714651394251460L }, - { -4030176003307022576L, 4842581852636998099L }, - { -4241696461887318612L, -3800892415646682874L }, - { -4753266504739240553L, 1412187783702418413L }, - { -7373316743164657129L, 642636635356175384L }, - { 6048513984860600758L, 5869299884640974771L }, - { 1814258330875604106L, -2878806132566885503L }, - { 9109940689954894985L, -8812562607906103198L }, - { 1579558970146774347L, -4017510485008247124L }, - { 668478211668974619L, 6320024829637634074L }, - { 8409518560944185002L, 3353220582345848116L }, - { 7245729396754890299L, 5588396973718419901L }, - { -5114268398654367847L, -5944423628815401655L }, - { 2956616124692577442L, -290106912204558888L }, - { 4461886846778383058L, 2277783397013987244L }, - { 959690196566065732L, -8814538937186889982L }, - { -7235204044940286838L, -8189358422666028931L }, - { 7981158344195854661L, 4867006782544055533L }, - { 1833698125790755138L, 6523032353281179181L }, - { 7752754976810456477L, -7282290980488591008L }, - { 5692118834710835902L, 8632235045305762587L }, - { -3793683786453929372L, 2693475423544308135L }, - { -5581772364636870855L, 3928278557991189836L }, - { -7470774962401733293L, -8446516023329576894L }, - { 8780664591724430174L, 4286197667128074328L }, - { -7663125741516067028L, 1559881424666449109L }, - { 5829471574991825780L, -1699504516976991348L }, - { 1182333455500273019L, 5353082458342633232L }, - { -1726270951016459467L, -3454492226798936731L }, - { -2746428321520070969L, 3021238741736368676L }, - { 6832833992125314751L, -8702581179293653579L }, - { -3990613509805030555L, 8667205036761326617L }, - { 2400486545587757625L, -3000524943838505376L }, - { -6598170744898189777L, 2759511703193262743L }, - { -1995198747364774857L, 9008233307559279188L }, - { -3645842663215618557L, -7385147240487509438L }, - { -6553956802949933979L, 6965354958414743421L }, - { 363585666263112429L, -4882210177421749025L }, - { -5656547416142849554L, -4050177253764422541L }, - { 131159332135711557L, 5133143837072648253L }, - { 4242991056913343886L, -6686962481360868108L }, - { -4674809189780845966L, -3250341762564229866L }, - { -1954374021725723642L, 1323620250067427930L }, - { 9000512499144627986L, 5548743979937884843L }, - { -4966087500556332423L, 1629058188872823733L }, - { -5368443575882114199L, -1654000784989387712L }, - { 7898708771797640436L, 2086542013295426142L }, - { 4954393344642394763L, -6263444864756732931L }, - { -228876611915096824L, -4537215972588867693L }, - { -3517612841169834059L, -2765341318717509735L }, - { -3181203061349135348L, -508056924812247324L }, - { -7887316482076885972L, 3685431341741839088L }, - { -7491168484443218074L, -315834147890523005L }, - { 1505841500971991620L, 2429709964985541076L }, - { -4819676400227780409L, 1773949406412424848L }, - { -5600600902750799703L, -1641786959599535542L }, - { 4287196606575127498L, -478264408105952247L }, - { -6631038754487834066L, -6917616052826791264L }, - { -8562057237102997949L, 363106954233931060L }, - { -3310437032247565299L, -1481298033384594105L }, - { 5856634576804593925L, 4789755933237089305L }, - { -1659423729330836678L, 8494320904037636560L }, - { -2785469434848827216L, 7947848915676623091L }, - { -9178954688981005208L, -6785118745114422741L }, - { 8284532255782100018L, -9084098449354029433L }, - { 3932114027983614574L, -6289978089305485110L }, - { -8735736194352900940L, 1405162867455330917L }, - { -5947824514040167701L, 2919798360124166543L }, - { 1555054962173652536L, -1367989015884168404L }, - { -1028318040091115332L, -8568997691227678605L }, - { 4142937213480146786L, -2370901494422112752L }, - { -2819444980269809917L, -1308444741477082853L }, - { -2903074845803234197L, -4366808985359220640L }, - { 3718049583878739327L, 4354690312963727033L }, - { -5493173480792612991L, 2989222282329614806L }, - { -4746130552040956231L, 4496455761262808903L }, - { 6244568873371787043L, -7185280716865151881L }, - { -2997679871934966832L, -7309017646763845518L }, - { 4047215048138865730L, 6980804018930957198L }, - { -6551789563963923059L, 2916207770637549836L }, - { 9086055720517286271L, -2714494659452767480L }, - { 8876034907713774156L, -3821387241491356709L }, - { 3680389259422527058L, 2196589891375455610L }, - { 6042866802807055050L, 4754255664635533276L }, - { -4886080504692397375L, 1725619517599492655L }, - { -7166197738900036643L, -7243540186236866594L }, - { -727151388570173900L, -1634001379810212424L }, - { 2438604478622089045L, -5055210733955393661L }, - { -8782162061024071951L, -5174793973752794725L }, - { 9077567357215978574L, 708556034239591714L }, - { -2871872737471270227L, -4708678750825119057L }, - { 5320002012835335589L, -3526176864908362243L }, - { 5539849377632910446L, 2462221416305069443L }, - { 7555126502803598608L, -6755206762366162750L }, - { -8125224475094342490L, -8964598482310477564L }, - { 7417955058148509629L, -4872283382423985221L }, - { 4176877628224197597L, 2859364539165637414L }, - { 7598278370710374380L, -5131602648378407232L }, - { 2265897989342130546L, 5814327006378924467L }, - { -7061482734014550086L, 9021575515219812736L }, - { 1468468196263413305L, -2354059920935567217L }, - { 68682113048681479L, 8070600121219547337L }, - { 3762225435622216659L, 7301822979322435545L }, - { 4581877841476416419L, 150382900142393599L }, - { 5115735211430226046L, -4547351323713652974L }, - { -397731465197117692L, -4450390472569952747L }, - { 3802999106815691779L, -8622666519332587528L }, - { 7574760794857420046L, -7880900128621810138L }, - { 4178197313545546553L, 8601353854513781244L }, - { 9065628242529864979L, -5591534616375481129L }, - { 542937206029962193L, -5953723718608560239L }, - { 1542373631583440917L, -4196619194839329674L }, - { 6903559734881147673L, -4316576911841534837L }, - { -2071796881281526902L, -2370970960555427167L }, - { 3779795498327194080L, -4298546406843841164L }, - { -2217268270456792594L, -7501440969788317177L }, - { -8059036377920200513L, 259328063542822684L }, - { 5425988266816609684L, 4575515416863828865L }, - { 3561830549061618056L, -4771952364404768277L }, - { -7500972620191462258L, 71975804172456571L }, - { -6776359714207180134L, 6900148804315605370L }, - { -5775998075012891173L, 5004232704182523237L }, - { -7755164007855727652L, -8433929914715590664L }, - { -4908348827451399810L, -3301072556359365892L }, - { -1162366502935483389L, 7384541007136416566L }, - { -3581470604892760162L, 1976805054171796726L }, - { -1434370488502028008L, -2547401488641472132L }, - { -1493293905909468959L, -7441839474594455138L }, - { -6762524287730181241L, -1601622492184803904L }, - { 1393564479464918401L, -3009814218133425849L }, - { 6717807842217858780L, 8165340015547077095L }, - { -2269779449488763938L, 7927691835893341197L }, - { 9119207083214966580L, -6786708504775243266L }, - { 4437289221718108033L, -8954685188941013035L }, - { 1991815488616873724L, -8103624658829230585L }, - { -1136008736729825773L, 5916992738852984881L }, - { 6919259317959590395L, 8169647393497828250L }, - { 5700567409540575886L, 3944594914853142763L }, - { -6511943523783520343L, 3357295622932201334L }, - { 8471138532439345892L, -5702753540740804811L }, - { -1261020616469785625L, -5601367572994175866L }, - { -871122257839774394L, -6976984597391717235L }, - { 5853266956701599170L, 2179435702096663547L }, - { -2605324811026081L, -7735967841074233262L }, - { 5645723143070327343L, -5300356287831138464L }, - { 6678903618140079830L, 558130329295762466L }, - { -8243425527465830189L, -2753667594936483651L }, - { -7366977412613262267L, 5174687824180692399L }, - { 5554112623362949635L, -5127585768737053004L }, - { 8508696414094887570L, -1823867105900064766L }, - { 4526724121376344377L, -3708548295144862203L }, - { -3066464409160921518L, 8089012003806475311L }, - { 6423971479710566480L, -7039855685147014402L }, - { -1301150937530073813L, -5585328718840536037L }, - { 7047171805158365362L, 8120759358342535720L }, - { 6607488204808324896L, 3901947263714529520L }, - { 2550589198730302889L, -1984225587532390244L }, - { -1508652597994003459L, -2625033096378578368L }, - { -8797285250854566260L, -8253763814000785373L }, - { 4531577529333440300L, -4130829189401243467L }, - { 7171511780196023810L, 7669326050720755710L }, - { -8696995432677729109L, -4993075107798409464L }, - { -1038277725665095082L, 7849644114484248935L }, - { -4030021971399704454L, 1256768363928500996L }, - { -7142316504058264789L, 1252978987744068438L }, - { -8690342808784496917L, -6354446673649917336L }, - { -3538025267466743323L, -7107557983957120854L }, - { 3030344740150338756L, -6398796188997538104L }, - { -5434476681454308336L, -7496500108057908992L }, - { 4747881963413479619L, 4331614803740895864L }, - { 6649081146297801785L, -7539581662252191545L }, - { -1340297105335493395L, 607361016476543345L }, - { -2345199575979290182L, 3757829078804583621L }, - { -5142497021023029281L, -7853754814637441930L }, - { 6590959395881104212L, 6033816056225283084L }, - { -669027690510749039L, -5598511059038889050L }, - { 4713909714515252237L, 8498930096032167029L }, - { 6334133652957330690L, 2179067576579471054L }, - { -4130611448171970254L, 528954176811746781L }, - { -8777249173946876665L, 6460005588985419673L }, - { -3777422122544011758L, 2949786550955297825L }, - { -4139822748883105829L, -7060522727358656049L }, - { -85322879655457932L, 8186136004732221397L }, - { 8510613507788926362L, 5121599937034700924L }, - { 8480533752847008903L, -2597744666135972005L }, - { -1501849715563565256L, 59714163236198638L }, - { 7144010316023561074L, -68619869987424240L }, - { 7071721153639906878L, 4787691242484650034L }, - { -2413842258996393407L, -102302437317144586L }, - { 3829076351340781609L, -2319803825930028643L }, - { 3904259427140354464L, 8797809088167232571L }, - { -2423161203681766273L, -470372639707402796L }, - { -9222948412120414441L, 2461249821658147313L }, - { 2232806743868046887L, -2392759272414380666L }, - { 3459293971647694135L, 4210665238486533367L }, - { -4958044470517187570L, 2672187701402147373L }, - { 2702008978364322255L, 5638626575506030561L }, - { -5230685167113972622L, -7617392617133523896L }, - { -4777581725252095139L, -5140368461179091836L }, - { -178566492057125337L, -6847413203152532992L }, - { 5473668624447677467L, 183117619671776212L }, - { -6025569476816496835L, 6468191562561708163L }, - { -1758476046405271590L, 1659198619774233309L }, - { 4318010125119483290L, -4823834649924404602L }, - { -5001898604592523465L, 8911108370391112613L }, - { 4496672693040208250L, -2259208634242191704L }, - { -6249539806063036132L, -733362499880552249L }, - { -7752211883834007080L, 3335016862478247633L }, - { 5401928633460905475L, -1235856076215536659L }, - { -7924780124408034823L, 7205431551907269451L }, - { -5852842870036885474L, -2844635853105127428L }, - { -1507586788733048669L, 4335468969213182987L }, - { 8723145826212343490L, 8281666246893648997L }, - { 6322146995759068109L, 7484504729026216551L }, - { 7033327335320195047L, 7165769114010786735L }, - { 2731703606190537636L, -9199202980814290025L }, - { -5700197206770306283L, 7961233189193040547L }, - { -7681929128588407075L, -1127459956109423435L }, - { 4915318349456884393L, -3186450213454571240L }, - { -4365674444257230772L, 6196235634481915881L }, - { -618412543643891621L, 1212876310516573701L }, - { 5389658231644689771L, -4706000143957565510L }, - { -3464092788986188235L, -2872909288794957622L }, - { -1050158483149088836L, 4121143610298397281L }, - { 2986789282075383014L, -8242619029520357911L }, - { -7095920626607872836L, 9003605662221032036L }, - { 5041839261426701960L, -3912891411490985358L }, - { -9180003565648806832L, 7225541720051129724L }, - { -4136797423318912582L, -7424404802325061838L }, - { -815263725971673785L, 8781179913689849178L }, - { 7751482036034122791L, 5628918479571946112L }, - { -6582902412740766080L, 584288259370869254L }, - { 4948480397753687589L, 4278919042846414482L }, + {4331629317196124516L, 1639885090772725551L}, + {6697150685477982789L, -1583908083060253398L}, + {-8292226578951944721L, 4476804508315987292L}, + {8469039529317823308L, -4636474853694258398L}, + {-2848870975062246556L, 5233816596372106824L}, + {-4847447143719480019L, -2687604445613537347L}, + {7545677836808206678L, 8332429470403026021L}, + {3540211138895396408L, 3992459923157840628L}, + {1285813610291173716L, 8233152553044849459L}, + {-7784481855774059403L, -8096273352407245883L}, + {-2714345854300347086L, -1562905338847105568L}, + {6925684980325533267L, -3117242072537376104L}, + {-9112643559117885900L, 2771189218553273490L}, + {1882756241765347250L, 3134678319768795724L}, + {3701001212619307056L, 4694823574419600457L}, + {-8419102115735858709L, 1167505134600559530L}, + {-8964415716902764417L, 7665362522302890520L}, + {-65484870057070163L, -2154863037755560524L}, + {-954938640704679474L, 6388877495784709814L}, + {-979562365498527144L, 5481887351687388723L}, + {-7382239783186871562L, -7733943340511654057L}, + {5251153271619350814L, -5357392133568419518L}, + {3564854195161521021L, -2021636742340634953L}, + {-74312886167345484L, 6701300805910281389L}, + {-7331277368683814568L, 5111706538133173116L}, + {6180175351202170214L, 7106065787858343366L}, + {-5506848341444621561L, 7868028660651681881L}, + {4709740154938203410L, -4396229032691618835L}, + {7716297005579308510L, 4776035376666368100L}, + {-5231218401659391210L, 5502389999871393522L}, + {2808335999161107948L, 3172485746495004832L}, + {-8895902480507490378L, 1734050687059504670L}, + {-6484295527863798667L, -5865043420154797721L}, + {-4893753704679531145L, -1407287398624235464L}, + {-8013506817112676885L, -2413542569879967512L}, + {-7115565146196200482L, 1492091106940842223L}, + {-4250908842491168006L, 5100692366480332295L}, + {7641455146012374921L, -701187772797485824L}, + {1171882517985315020L, 6041975995921368652L}, + {-590591174345433298L, -745155016275351721L}, + {4353825711501646860L, -5695286777690739329L}, + {3766038603438423921L, -946995585431570618L}, + {5669741062587975241L, 3306563558377990077L}, + {-4034141614316184690L, 2303139291793139905L}, + {5042354261806495873L, 3029285818524047503L}, + {8171624055608706139L, -7686014468326816771L}, + {2465028573996743971L, -5155189837447338979L}, + {231525910304521521L, -7468941650786504332L}, + {-2906566784067431233L, -3093130381718113227L}, + {-5815630959969268197L, 667274393249985457L}, + {6867289460752780832L, -2905703229103006681L}, + {8367342037681739365L, -5211011903304858229L}, + {-2281353332963214183L, 9220933480317079273L}, + {-7873419781565326375L, -4958329158596891671L}, + {-954320324783281344L, -3907949502207462370L}, + {-8978876518219901536L, 6459759108635159800L}, + {5578589535412452811L, 5347663850081616344L}, + {-1139114663023920493L, -1336174274889435851L}, + {-6125271792804196849L, -3695347576125854749L}, + {-8540897085876126918L, 6006668829300360192L}, + {2457750544363517570L, -595538372156368515L}, + {-2873340196283457206L, 7722471153320550112L}, + {-202735095288385060L, 3306848206005022873L}, + {4680342363383152427L, -2968985762887494339L}, + {3754567565766477241L, -6037287120647939733L}, + {3030040040421745654L, 1937599850940715675L}, + {885892669913812197L, -6287203992695247871L}, + {-4668401756510431198L, 27796623019379649L}, + {2828217119128588853L, 2936780557572794362L}, + {40721351745424859L, -2784176622995643676L}, + {4226613921171131261L, 497180669697206711L}, + {2476560251925287446L, 5820151453400560579L}, + {4857915294336896964L, -6247280158567945841L}, + {-3243612273020441258L, 2836499443783443472L}, + {-8323173319150694718L, 5859965750769241918L}, + {-8464714455451733912L, -8306892192837505339L}, + {2417309479822957758L, -1246973976546704153L}, + {-4970343771720203825L, -3191439884819854813L}, + {7616892889149047131L, -1492818326952765975L}, + {3179230974339910862L, -5929287588380075388L}, + {353551526640305233L, -7378339587947523515L}, + {840447756688080769L, 6565835274439444296L}, + {6560453897067438875L, -8337740380118346582L}, + {6404605759690477879L, 1860833063820863399L}, + {-5798495500651630883L, 1091158385497258294L}, + {3489314580607854539L, -5573961258448405293L}, + {7361202545248788112L, 6034580963668655699L}, + {8662317980504766524L, -8926545602578986090L}, + {-9176879321700063391L, -2398921906930257590L}, + {-5722341628043847505L, -6351286801388339488L}, + {-345401929977388616L, 3005904976331127429L}, + {7797208744999634196L, -8634345153714809468L}, + {-257714712793164095L, -1873140185420586258L}, + {6828368112434274995L, 7058669897955400332L}, + {6587574874377658116L, 4874363645196347164L}, + {-8420691969719514848L, 2341431149372744263L}, + {-1436841954376886408L, -7620195622266955703L}, + {8390237817828095380L, -8971128665773428134L}, + {-1244269747449213801L, -5329391842655754631L}, + {-3239069421268305651L, 2334172164129027696L}, + {8057896190039586L, 7452686587683727169L}, + {-608430754954139223L, 3381655527636719735L}, + {-2634446749318812749L, 7010915016267118875L}, + {8929276493775119227L, 4292272306792598039L}, + {8931573570276676636L, -8519118794081841344L}, + {3822004851281897117L, -2203301444419626572L}, + {-6152300141823657396L, -889109731424416165L}, + {7182476636738674444L, -7649930728107420084L}, + {-6684339015093823920L, 6577956481422755158L}, + {7807280739361302131L, -1135517321040401801L}, + {-923194570850102811L, 6467757807397379780L}, + {1584573338514642399L, -3893190475498763966L}, + {-498065553132084148L, 1865266646395158771L}, + {1799679540365788870L, 5841239947085522603L}, + {9045748501111411219L, 7421695194818838145L}, + {-7637550038764425741L, -5845707294280746103L}, + {5329558184254416917L, 4547453660021049624L}, + {-5342451072932073021L, 482260313304954060L}, + {216480453064876203L, 711069328663754163L}, + {7508106403501961131L, 2007822021650305972L}, + {8725508331413138293L, -3626352862801032903L}, + {2560531293828421548L, 553012714310330725L}, + {-2008955238081544825L, 3340257035234765328L}, + {6529104080181178646L, -7547960671941050622L}, + {6099628745411598729L, 8241958247598079573L}, + {2756659790325965589L, -1910461132866830894L}, + {-9213432955006411442L, 3852602514422689973L}, + {-6654664302901669378L, -3591698504276609326L}, + {-3643300284729203479L, 3240996573344966350L}, + {4663787755159455929L, -7043137326384228379L}, + {-669710962240484079L, 2198151612197094376L}, + {5035186860853879345L, 5689607670679160328L}, + {-1497009633866831856L, 6116439920220101860L}, + {-5364225470045216191L, -2524583207297749149L}, + {7960728708973508149L, -4484834555703476170L}, + {5512091823114850815L, 5169321183215226123L}, + {7721868783230577176L, -82870217609973041L}, + {5949192792297315127L, 7386107438936735767L}, + {3638671413276752949L, 967354079224124082L}, + {-3493999225022562864L, 1736987366587456064L}, + {2975169008368240023L, -2911062917802181439L}, + {-5830673024621691907L, 7279518614247137665L}, + {-1139876564413364861L, 2573839846536122317L}, + {-637830076892861526L, -1400018571611626811L}, + {3073567850729737274L, -7060083933758612828L}, + {584182832408009040L, -1684515357135093979L}, + {-4548011654370479917L, 3650830433632177136L}, + {5119409690433687288L, 1363851279412653639L}, + {6532746751816727406L, -268134467754466L}, + {5036805181987997026L, -5288517888352132842L}, + {-327803426338917854L, 5322571032958708131L}, + {-2189559856150793303L, -2933300712108522399L}, + {-7915301437281691707L, 2943568251638140676L}, + {-6227342842105738959L, 8099698710467077821L}, + {-8993001121053935550L, 9126194125698526755L}, + {907730379649993758L, -3652315413425215569L}, + {5023461831735961354L, 6919412303663430221L}, + {5364101017343427759L, -315599275077811411L}, + {6923504748893038502L, -7350219810380230143L}, + {4908646141995756237L, 8507617699718047232L}, + {952783116860484934L, 4009659776894373679L}, + {-3294878312196750608L, 2442027558747033926L}, + {-263001097034647143L, -6632583776719317880L}, + {-6341310972840343572L, -2656983727499478166L}, + {-2779322160924414865L, -8687174340132939253L}, + {646982227875835088L, -8921122925878035469L}, + {4981486718593732420L, 610621754580223298L}, + {3136424241367791514L, 4883504922076234513L}, + {1588727704329333995L, 3030073555385079838L}, + {-4070703023625741663L, 5658459444065239280L}, + {5828932422032929570L, 2856038697306292627L}, + {-2881020791961093427L, -6214682596907600989L}, + {7289018053124519212L, 5097157380496129712L}, + {-8210232022318257391L, -4945331947102062592L}, + {-4932159699729152421L, -4454262099293472400L}, + {-1519151536033678760L, -5023767059372904822L}, + {7768139346588245743L, -7913086732140250835L}, + {4663204289123975746L, -2718362182895828791L}, + {8301645006754151822L, 2622047573067766958L}, + {-527375505220402703L, -3652332080375247426L}, + {-5729392141767077416L, -4151319741037085130L}, + {-1061319607921895354L, -1409911642874475334L}, + {4940818006273925907L, 2184222853857570529L}, + {2723620363371285152L, -7672690566794057192L}, + {6252714915337699141L, 2314830992990646948L}, + {-7047533064810318960L, -2008174505846145161L}, + {2306818986335389881L, 8249997590679901194L}, + {8450065497909871849L, -8831895305229340716L}, + {-4217000768181820795L, 1544531499573709440L}, + {-1337267428073608141L, 6177006046804863469L}, + {-8857633266251591090L, -774347292282095068L}, + {5164282658652255398L, -8684179529877357750L}, + {1481739352759587670L, 5414525982296129222L}, + {1351986975138349201L, -6185528530236014533L}, + {65929927533374434L, 6252977882818877758L}, + {-2314142725260293145L, -4877218633614863001L}, + {2620263026747810589L, 3958401008161325769L}, + {4469476270705785392L, -5430615574033125470L}, + {2056538272538478077L, -862355286215931849L}, + {454180883353015865L, 7762719650023470972L}, + {4839487715844855786L, -7900083800860489486L}, + {7942533619400842120L, 8585038689893337276L}, + {-2815467195740173572L, 5296875560477683335L}, + {-1083538654790434734L, -9193249793920630201L}, + {1889012098251655317L, 2527085564415319906L}, + {1741657056552907771L, 5592210964440272641L}, + {5723507339014228383L, 5029630212357158901L}, + {-7032334681933015537L, 4084980747390945864L}, + {2463118178158422515L, 8098757569442079597L}, + {3752105439687274244L, -4181414926127006394L}, + {-663915851310858086L, -85354840719075463L}, + {2011110544817827104L, -2671072148767894820L}, + {-1420169423837059118L, -598759081963898162L}, + {8553587424506667053L, -5240400034332352370L}, + {-7662248035234626103L, 1325294974957692694L}, + {6679274078239456105L, -1434928924752403272L}, + {4819483627709809889L, 8478319941508844354L}, + {9203365986368075354L, 4033559530674635870L}, + {5950679156247704341L, 3837428951973829103L}, + {-373315081569566463L, -1482507884485177621L}, + {5339226513315271605L, -7611681873083001579L}, + {-2219527427249265829L, 5635133397518404122L}, + {747296102288535702L, 8973619218046772307L}, + {-7493057443430069396L, 3497964097134584394L}, + {6724043080988557848L, 438429818292787405L}, + {2032101896102161207L, 6083472720220104745L}, + {-1656936845267744649L, 73740362659034890L}, + {-3491848432979599234L, 8493083653578236787L}, + {7404204759825967163L, 1396472196281816555L}, + {5796798020837779651L, -2345404432560011061L}, + {5185226877395757398L, -1407423944572575652L}, + {6062827044520085102L, -584609121356896609L}, + {1631754126980769139L, -1470461937317538162L}, + {2155034312189437638L, -1211843219178899758L}, + {4419389933864557564L, 2474123120380500371L}, + {-6212670054900830945L, -3283329040397730768L}, + {-2848281703253248988L, 1376655356872485794L}, + {-6545922936561011643L, 1663590999050246928L}, + {-604998998887059747L, -6404606806597906129L}, + {-8813736778885336452L, -9050067230254355096L}, + {-5028399912173153801L, -8181108087906772027L}, + {2802315771636654550L, -3057409231249770497L}, + {1359831828875761363L, 8335036989554482751L}, + {-6244291732477211457L, 6778429609948085662L}, + {9138108823363225790L, -4965281868002262510L}, + {-5700703633273694371L, -6875741241266038885L}, + {-5189931767235375959L, -5872467238339532574L}, + {-5917217031437644153L, 6643339725428825001L}, + {6559980057173897885L, 5549915138011177360L}, + {7585954365066361941L, 3827417266074500159L}, + {1833254434142522137L, -2975534211365301488L}, + {2622798612834078243L, 880690646882639358L}, + {2935894269140572959L, -2170847169010457533L}, + {3342180495858759098L, -9026120371020346544L}, + {7763655187214368195L, 140653358355510195L}, + {608976619205971467L, 2680459468129440062L}, + {-4493083204513432310L, 29582863612308858L}, + {5655458152670549588L, 1593207810406994381L}, + {-995372262620475933L, 2247666490547334864L}, + {6725108152764242753L, -7925184458835945793L}, + {-4152678539161864839L, -2459707456071349037L}, + {4879330012023732227L, 2141963663717599411L}, + {299691067249437340L, 1396036161400977741L}, + {8253082866296742941L, -8013096718656330446L}, + {-1349088245542024700L, -4461083559764567188L}, + {-930670635091392036L, -5798322241366770012L}, + {-6305033172145799503L, -3880395016914540203L}, + {767676528758696723L, 1063272237810615854L}, + {7848289152882068204L, 8909778499602937325L}, + {-5335123725692922309L, -6946127868897095127L}, + {7618587959592606045L, 4634778821401009725L}, + {1310623412826253949L, -8143415738254494696L}, + {6105911509337366946L, 792001017010716854L}, + {-5132873445536420119L, 8072991014637794838L}, + {-5066374717991788365L, -5659428556859705023L}, + {-4196018003514359930L, -2960252077637016148L}, + {4602399218983903018L, -7250042258597588446L}, + {6996237050722228275L, -5262328436781830557L}, + {4750432263399753517L, 1652612239899504274L}, + {-6552768219041772261L, -1285397640667162897L}, + {-8886514643984898377L, 3007652368209907553L}, + {7353718498017818617L, -3719995466824510508L}, + {3420752363982256164L, 5107602565903732791L}, + {-3106921624226184176L, 1168257018303839838L}, + {7755185569018499850L, -3857145641161864056L}, + {138048424823142520L, -8708777035055553867L}, + {4574855394856311409L, -8338994606192096015L}, + {-797116754680671576L, -7236253372429516585L}, + {-6319525882248058891L, -156939084894516690L}, + {-7211292892013797268L, -8753827357192046412L}, + {-5969262208310571743L, -4551450243246721654L}, + {-2242517284471541983L, 8996152110754951646L}, + {-2134523085752830969L, -7495306502570748263L}, + {5239925547316736378L, -2997846662183027098L}, + {2211989170649079345L, 4552093064635424355L}, + {3951874086467810189L, 606093338469391572L}, + {1541713943974254342L, 5009388306382876L}, + {-5392854420512731723L, 1707913964447526483L}, + {3564316510315168871L, 2357502818216120645L}, + {2901564687206922350L, 4109787658960348727L}, + {1540984989266277585L, 1126768316180128530L}, + {-5588692335575710649L, 6459331785501191353L}, + {-7656900483971665708L, -5215338425961743757L}, + {-1269975572006533380L, 3123164670370962323L}, + {-8586683894725424637L, 4575538545983245779L}, + {-667220377486025270L, 4838469292655308285L}, + {-6992322247305413343L, -2591667159733033943L}, + {1020432414035508475L, -8985144752213736688L}, + {-762737570699341127L, 2010955117870916034L}, + {-4996438874277990597L, 5869624445205357912L}, + {2399099134154679381L, 6901184743738376212L}, + {-7294753205977958107L, 2678158469636349061L}, + {-4330814694281211877L, -2372110554595119614L}, + {-3424505945178467498L, 2907272188222348819L}, + {-3908232167211290102L, -9086151270933909886L}, + {-1715708172189155463L, 873283929820174937L}, + {-1541677764411125216L, -6424898669918065646L}, + {1443437733037296364L, -5161573268394920993L}, + {-5699613322350318170L, -4038288171429340078L}, + {28422381221154018L, 8508868024345659079L}, + {-8448942739014323861L, -3172255279146427597L}, + {94089349704640679L, -1872147708441883283L}, + {3121324325667558058L, -2742049169245305954L}, + {-2027215282474423693L, -8633918446316412568L}, + {-9090860166446867101L, 5313050066376562140L}, + {-5570813680167514715L, 424079786412921033L}, + {-4433017494388855624L, 4758148122860548219L}, + {7780214454833321289L, -3435318272110965543L}, + {2818118075900140158L, 2464433363023169592L}, + {7909566890394565636L, 9103865919125847740L}, + {3281719552865083509L, -3221707456270358295L}, + {2293428426098439431L, -1732177137372972119L}, + {4831877444478608421L, 2348429429785960283L}, + {-8036810704178721498L, -9069577601784087655L}, + {-6696440698423871679L, -3085412744253133998L}, + {424663572619708233L, -8999784711703971885L}, + {2210379950234460182L, 1691623452644126371L}, + {4488772831440475400L, -2961180662304531155L}, + {-6238973969104209915L, 3639242386345472368L}, + {-2892035378057749818L, -5319789022585455217L}, + {1190083349888328687L, 3160160382664083073L}, + {1900956434625552346L, -2284489391947536786L}, + {5686029047839893831L, 2781250728673448714L}, + {-8652319297499303518L, -791865261776098984L}, + {5660206937964935444L, 9092721539996400845L}, + {-5693798368774435246L, 2258836748989798347L}, + {326881025455212277L, -8754085884902168853L}, + {-8376143443592681499L, 2999534153289768504L}, + {-924714482174160655L, -5379654820304465219L}, + {2731102432407909647L, -8648442112932022073L}, + {5974710608961653241L, -3581417371718541672L}, + {6662943015421622990L, -6686424439719532742L}, + {2629145426514230124L, 1947184247238363747L}, + {7653779470428211936L, -2981000221623473869L}, + {8231699528634814943L, 6477265731277391860L}, + {-7880485152483421857L, 3296436166418847848L}, + {-8715291256937697509L, 7836011376951354082L}, + {-2608260639142008146L, 6771078140290822120L}, + {-2891414416406033026L, -4301793197635600383L}, + {1006672424561275863L, 2790898605915233737L}, + {-5345465745471823175L, -8188476658929014250L}, + {-3007098514343148833L, -1632205865341471381L}, + {-8853686550740270619L, 8025678435968917400L}, + {-8826799561287303533L, -5665941448030027073L}, + {8800245871751669511L, -3536393248796535509L}, + {565431636219131046L, 3503967908423474425L}, + {6137897978460556916L, 91950916967717704L}, + {5482308004417669307L, -8343102428410455164L}, + {-3006854606371770142L, -2624010453361449257L}, + {-5550863738981833513L, -5107086731935101640L}, + {6860154257076535929L, 2122136767273906883L}, + {-7830408716033920139L, -8885954713952577885L}, + {-6220766884162806429L, 7016794589305787131L}, + {-3254641290637732033L, -2128471522653394358L}, + {4069104293139053208L, 2152160035557905229L}, + {1298727460612851492L, 5940452780843637659L}, + {5145793087755505159L, -9004759719138398615L}, + {4012194405015900827L, 6347510871907681406L}, + {-2096633266369036577L, -1498193343687136142L}, + {-235600124490809513L, 4988899018975547087L}, + {2256248865523312538L, 6160266267729455349L}, + {1856550792634706370L, -6501591819842837449L}, + {-6338437638663913139L, 5594380189312176072L}, + {605690123879344699L, 5053237049864143776L}, + {-5972006707479557169L, 4785782695457342020L}, + {2788841617850067275L, 8271282777966666049L}, + {3341756482258277517L, -6056850609051651338L}, + {-8730087995322499274L, -7118156720511960164L}, + {5666761853789513177L, 9188761121016073816L}, + {1427855942817620030L, 4407328625609699591L}, + {-2247084578644277545L, 1708890129314508850L}, + {2632056116244532492L, 4401923056661588294L}, + {8983184113458203674L, -3136608526412251467L}, + {6222824259917067927L, -8130597606013207234L}, + {832847538082989274L, 1548428941129567096L}, + {7408336855734508382L, 7776449749647396310L}, + {2463234904146980715L, -3340268007978204382L}, + {7616355816816829131L, 2303050254259962399L}, + {5437320614714817066L, 8476803541903204130L}, + {2176649963064497163L, 8869043259439175488L}, + {7847964877858458386L, -6373057125165026464L}, + {3676215252045438118L, 2204625982824682027L}, + {1457265625453915305L, 1387291172404214096L}, + {421670244665897930L, -387569155792122879L}, + {-537286355906412984L, 2487716427838425241L}, + {845546777083974630L, 8893865741331650301L}, + {6294586905906742451L, -4553937046340818752L}, + {-6979812383811440761L, -5140944992099214823L}, + {4101166573373719960L, -3761343286476191065L}, + {430647036995334093L, -2776276191091528330L}, + {2563569094767382754L, -1570641686381817622L}, + {-2226117486192197040L, 1671878083856373830L}, + {3989815455278220803L, 4052233204958035005L}, + {-5573460076032648378L, -57360737518556647L}, + {-5149764105493446507L, -5658661468258761908L}, + {8908023797302087394L, 8118348247591337103L}, + {1579875413248797693L, -7026389577366674812L}, + {6557085398158756277L, 503776811517866907L}, + {-1860582499397819682L, 5110024206261509272L}, + {-3940264269551745098L, -7099666907393494587L}, + {-3760050418257691649L, -7345481607428632425L}, + {-2749137550200198091L, 4331101412580103856L}, + {863749834414320446L, -2373778346862397644L}, + {-1701674908797410602L, 4970046037650428460L}, + {-3441531459858237116L, -988835857524290763L}, + {7781166611943523849L, 8140634413685909259L}, + {-8747694838109223765L, -3156431890675712017L}, + {-7940615954936651322L, -4120870388273929951L}, + {1761800111692886098L, 2547288411650164556L}, + {-7563608795264216209L, -4847926844762470820L}, + {2430120273101259962L, 2177062838677564347L}, + {3034607409190630193L, 1981874097468871768L}, + {7596606678605264709L, -4288556630910272875L}, + {-8815959038019965324L, -5980112834322187096L}, + {-8056592803858661736L, -7052224712096695046L}, + {-6054319005531061432L, -9188489342513555697L}, + {7637990614259037480L, -1415221593400472327L}, + {155762651336866309L, 5657149807227102396L}, + {-5295066003461610118L, 6870728820605999153L}, + {2097996021613363354L, -4931700889553602696L}, + {-2649318637576910563L, -6978908410517853058L}, + {-4710689453059380010L, 261449222883509725L}, + {8675276565266944323L, 335351249952568394L}, + {4061820304631504890L, 5804675661865029248L}, + {-865251409507836874L, 4577923466145028915L}, + {-4305544705996842550L, -4883326217850566724L}, + {8133733737104758782L, -4495263459386364509L}, + {-3599082219550900640L, 5219535324240806812L}, + {-1172444168425884022L, -1485199996039546317L}, + {7002178848795582841L, -5188784964680065467L}, + {8753574524527561837L, 3919561486790968735L}, + {-7959972011549631263L, 8799060198670636386L}, + {-664335750987460129L, 3277903706972742930L}, + {-7761182775497779250L, -6310116907364982155L}, + {-201978935828898840L, -4696042526673297367L}, + {5748605939155571413L, 6791894953965220475L}, + {432959146257511060L, 7202022074150088516L}, + {8597688997048592708L, 553712398347581549L}, + {5979346454620003082L, -1716068746879028522L}, + {6682666834922578474L, -8712532151663695231L}, + {3635671342630844084L, -506639358181173636L}, + {8295581682942403968L, 8983503375557227249L}, + {-6056716329065906860L, -1166637647026189798L}, + {4876232349596700627L, 7615893510850307496L}, + {3282465211073936357L, -5416752951469934982L}, + {-6277210138874800012L, -614708101837670038L}, + {86063810903062668L, 9159828528959232073L}, + {-5131034425726984549L, 7387887681768229166L}, + {7879994284944917570L, -5715373531508598047L}, + {3805360137603820244L, -4830043112173673655L}, + {-4819745855255108901L, 3483810877331937366L}, + {6005083603591253720L, -5557974655706376774L}, + {1260872260703386533L, 8098831063630607951L}, + {6208805585589862489L, 8877979288513368898L}, + {4467145362283493250L, 4374169585767619657L}, + {6925593199187107448L, 3955240828481560781L}, + {2290814776012496288L, 4042584658561538346L}, + {2202094536385319447L, 270484628403474813L}, + {-1583289128964920170L, 8120175710315470278L}, + {2414314858213839292L, -1548161289658943137L}, + {-417375850490384234L, -7625678914308549312L}, + {-6775757096712023859L, -5214376957868732121L}, + {1531877516325565400L, 1211163938547556009L}, + {5092160435195199211L, 3684528669792750192L}, + {-7779989257755281504L, -5375772666913524545L}, + {-2910324314591098862L, -8416001170794441872L}, + {8497090690994716777L, 8540791444836079312L}, + {-7802963550632908400L, -3467583003730778096L}, + {-6411284901845568322L, -941537897448291129L}, + {9216337043421866495L, 3078985572433750012L}, + {2437859992012674232L, 8179548351840095050L}, + {6960237011186167617L, 3869309237547749624L}, + {5100162418749277386L, 197993277396624937L}, + {6509562170805894274L, -7367535593602185533L}, + {690433361758303077L, -2806827680050805430L}, + {5936816351771558334L, -4582124194561143228L}, + {-3601277060469993805L, -4565171460269252905L}, + {-978457311807747406L, -610254066917434504L}, + {-4420940034475608949L, -1856703055424341426L}, + {3538644062391991755L, -3712271897739197104L}, + {5164625733904685628L, 2650674255718769837L}, + {192170982312183453L, 8633644357164644119L}, + {5014044649793050646L, -8449200459845048042L}, + {9147945450485230993L, 7810322997664288811L}, + {121096778422978126L, -8652535562468380297L}, + {7076446543359171313L, 571454885249581704L}, + {3849792111065500559L, -8026540109779588702L}, + {7235530029899206334L, 8515508725728343766L}, + {-6832803917257794399L, 9113172911670130481L}, + {-7448095328943903784L, -4562750453653683636L}, + {636249030288914450L, -3970829186127658086L}, + {-5837508951408640620L, -7257939566854180158L}, + {-5494182545899908814L, -1345600624398540662L}, + {139946096999437232L, 4142244339380738758L}, + {-7949772735307966448L, 5282219938929552231L}, + {-6777152677072204821L, -3004773806496786336L}, + {-648210928302263569L, 5511623637819700198L}, + {1484711477581900777L, -56114059663856821L}, + {1415763754612838143L, 4543528953784949698L}, + {-107058891244037140L, -7147306030921621952L}, + {312958362296582989L, 3898297632297745077L}, + {5071518533113132226L, 1938464859165095339L}, + {6638935098145563092L, 8586698480642519698L}, + {-2867055004276813534L, 174277963774089138L}, + {-4289503497262086936L, 1793561870758663485L}, + {1497170552728782805L, 2281434002035931012L}, + {4517675483628149735L, -4299142910986295506L}, + {3748960245079903666L, 6886847500671830300L}, + {-3691286664879128054L, 8872754919310633948L}, + {-209359184536764749L, -976043877717111761L}, + {2491341916818449085L, 7267445614416492980L}, + {5499205217633027745L, -3961171019363316611L}, + {-5512709448748519671L, 5362278415169786706L}, + {4557913818063026938L, -3160011354686081538L}, + {-2112204135968966196L, 6310834969212348187L}, + {3440403110217462895L, 7953765169956192669L}, + {-5867323792132309155L, 3117237805613135061L}, + {5420869064478055006L, -5392284491101207136L}, + {318512041709141078L, 265910602706848173L}, + {1057553941897233483L, -1301783428765645447L}, + {-6895197562631981270L, -8197304699761768758L}, + {-5782743651675563936L, 4203332157031714086L}, + {2659771847560443960L, 6759308237310585353L}, + {6592601119187496548L, -3454010220224502424L}, + {-517270229881128849L, -364112620296853890L}, + {2622604378506727519L, -1409475428244174294L}, + {-9170205866690625639L, 4114695014291468489L}, + {4806630682514823179L, 9059429146023594378L}, + {-7776613972641981358L, 3810087764460194646L}, + {-1488298548028258830L, -3810270104734245156L}, + {-1715707210842296824L, -6915036138510998600L}, + {3796221982870729299L, -3736370821310651114L}, + {-7882722580553373597L, -9000164591921300229L}, + {-1797548791879939131L, -520599612811393613L}, + {9223079908042491188L, 5543904114523917201L}, + {7847548061281742781L, 7166650075853579796L}, + {1041148225166463713L, 6331269772201105184L}, + {-2800037601895587534L, -8408921437830061596L}, + {-7832361151307182116L, -8213348400415668450L}, + {-6950576920927850414L, 9156154939542525814L}, + {-2404378656089204258L, 8395455743286852626L}, + {-7720362412660524651L, -6273166454579708948L}, + {-4901646243176144926L, 6990772751632948288L}, + {6432612866296388591L, 8548483255730797324L}, + {665821462715291984L, 3350164667765855444L}, + {5024465184664377182L, 1965564049852144627L}, + {1558901948449801231L, -6446969132709976601L}, + {2224934457550741787L, -7696287661468022291L}, + {-1486153720652331467L, -5605157687169082L}, + {2152321067003602002L, -6321249259252955228L}, + {-1858128886354189097L, 2836979244920552810L}, + {2873839996181438535L, -1072878112229444552L}, + {-243875524287970697L, -8348021835701218012L}, + {-1376873654537129986L, 5423661924194360191L}, + {3287122656145633441L, -4945767931773080995L}, + {3770833946582728674L, -6420894115027823771L}, + {-2764900700916121857L, 576336989324501846L}, + {2560091717993161785L, -9200720429015878735L}, + {5504786539926877426L, 3159208667838467515L}, + {673505854315501819L, -4598137714685779284L}, + {1264431652537758499L, -3814214474280468989L}, + {-5043418235491208409L, -8838500318471721555L}, + {-6769065002135856586L, -4166893156663053601L}, + {7666088207808456995L, -5995625777871569960L}, + {-2827685615289224220L, 6872228841331280864L}, + {-5429383711816435171L, -1797075711309876153L}, + {-3134385201210164932L, 8882919297953772994L}, + {3020879270457681824L, 5883876757118434219L}, + {-1689344584352272080L, 2437110626722923896L}, + {-9040930749904066060L, -5686175033217931543L}, + {1932280955101101310L, -7158452945023483021L}, + {-4992572509975070322L, 3605164471112944705L}, + {7546307129163923078L, 1170266758393999726L}, + {2939073542428222766L, 7243081239066082528L}, + {3374974368464231869L, 4928464298223439682L}, + {885759554366311L, 1057459879878233927L}, + {6593789636519856798L, 3419649136379989479L}, + {-1624132412418983395L, 8841047325915716177L}, + {-6031359656290740003L, -7488614225440201697L}, + {688983212618230553L, 7643942002760146514L}, + {6369052776794949918L, 5195382242098812706L}, + {-1377714920269304294L, -7175744776460667274L}, + {-1057940749189840506L, 3173893418895238573L}, + {-1655685782041312329L, 8477574094088335615L}, + {-110552080942842283L, 6888964814479005121L}, + {5250633774704933933L, -1012094598554766112L}, + {-7909648255758272745L, 750427027426622638L}, + {719735976337939580L, 5536526334688791531L}, + {3645906512854567933L, -7728442844606091261L}, + {-1860978834085668115L, -7760720380835662111L}, + {-4349804709624489457L, -5819810209764985071L}, + {7923661347327064185L, -3310448936111974933L}, + {4244126846532735429L, -3815693592766389559L}, + {-3251399312816082643L, -834497383696947436L}, + {-4937029742581158563L, 8540913837129171901L}, + {-86298941439722272L, 2057540199751740855L}, + {-8597913327563881758L, -399644259762704239L}, + {5039882027531808464L, 4551460786448379682L}, + {8056647111062079524L, 3681777671216768037L}, + {-8976752115766926062L, -1802538985705148169L}, + {-1690394607348932339L, 6687318080944374988L}, + {3378746565484573129L, -1751049606407600190L}, + {8416003090844044193L, 8135905036230225311L}, + {-2717024430934601010L, 476006231892774594L}, + {-5701892799453780386L, -7173369616685818959L}, + {1533981283496523540L, 1415291852685422332L}, + {-7462371343115417598L, 724626787697510043L}, + {7010080256761797460L, -6150362952056456046L}, + {4478373719647299143L, 5614140616738834163L}, + {6305458678328463570L, 1122352984194175602L}, + {-5102763036459098393L, -3460352410086041434L}, + {-8778795989564198209L, 1473095525081521210L}, + {-2268889645684651974L, -520070433989938017L}, + {-4555916510323499535L, 7868968266585745421L}, + {9065546065927673888L, 2823910101848922501L}, + {5852839483910534806L, 8258588543522383098L}, + {-3402482240912256878L, 5952804005743627668L}, + {2023722994972298169L, 5047124578203526567L}, + {5215407550830003324L, -7830002530699043692L}, + {1071468158469513836L, -1387799248150086883L}, + {4955237436537987038L, 6130712479065828415L}, + {-3083989516400027076L, -3440784742149283773L}, + {6722953813435001988L, 7245745558256024155L}, + {-2387850610416371552L, 182889665412283505L}, + {809463730078568982L, -3696936559309597459L}, + {-5395203458608056891L, 2087371727619347819L}, + {-6137800097014878795L, 4809155221582786735L}, + {-3605527194936796968L, -8423052822282325387L}, + {-7589842792710116365L, -1533558859642065869L}, + {8069067842420108257L, 6146489394975412119L}, + {-7454408306272078350L, -6915650351892414953L}, + {2339188701288559996L, 8366379791959321561L}, + {1008425726458324286L, 1620671620409236365L}, + {6847676052807732318L, 2526749850075238275L}, + {2271618337058209406L, -4170988020785076096L}, + {-8281033180921892670L, 2863917946175752856L}, + {3604010165737741236L, 195804067905468237L}, + {-8269928557793008073L, 7207781055493994186L}, + {-447391999287823556L, -9188774064725556020L}, + {8028984830780334836L, -444320022784399848L}, + {-3883350805508230356L, -1370082197650851272L}, + {7482610679805814070L, 6054283912748538683L}, + {6500112572029535883L, 6338212483365391701L}, + {6119648543352512696L, 3731537194623523994L}, + {6922212850686981745L, -7742260474253244859L}, + {1734731947537567857L, 4227368981582034582L}, + {4101619546129582628L, 7887200240021237190L}, + {9155049639883886519L, -1574685774619907419L}, + {5849304319215085011L, -5149097089656706460L}, + {-135976101808023055L, 7657751254514616451L}, + {3329888204068201272L, 7691678257579801957L}, + {-4336188293967075047L, -8186810994473167457L}, + {5788433959497374483L, 6005512947764583078L}, + {-1402363557578146821L, 8843112555146557492L}, + {3588707324813677961L, -5917534281938487150L}, + {6715232528053729851L, -6811917543979770904L}, + {7169368150013526008L, 7113541687945298083L}, + {-8706746826857587245L, -8859511146642304604L}, + {-4819316543846777649L, -8774395764301925696L}, + {-8782313301067526525L, -6256596613929059099L}, + {-8916832875484128383L, -3111869372017071369L}, + {-2346600299358242263L, 739981548130115109L}, + {1904681875169970567L, 1284498147074753190L}, + {-6704056743702639344L, 1025608445943185924L}, + {2270605299750783360L, -8478634978958397732L}, + {-3940808304480228961L, 3620857268219366074L}, + {-8321565943725548488L, -162850665073338121L}, + {-3825742229541937514L, 5414988189270570764L}, + {-2349339074190735472L, -2520219757190524321L}, + {-2948486946206330984L, 7132250433295718412L}, + {-747906506207273746L, 8982940781026329670L}, + {4280562720015859798L, -7158609942006274217L}, + {-4136257343808753176L, -5732481356090503243L}, + {8445283324198191059L, -7944752293528961989L}, + {-8404850409602104913L, 7482965433126677L}, + {-3264457032343850047L, -3720438713954588688L}, + {-8759790595969078254L, -3181246708414873404L}, + {-2542190711281684773L, -2502711101698706266L}, + {-8843544063303913454L, -7592618515347100726L}, + {-4003746482399952206L, 3328250037536419347L}, + {3841695822551400168L, -219582959475083627L}, + {-3588090911679720182L, -3174750020272651302L}, + {4918585626351510199L, 7130806503895849634L}, + {9222791837897484065L, 4011402744232032199L}, + {-5760984091213555378L, -6810121545918367515L}, + {2491736142884395009L, -2597704284285157495L}, + {9176699063949977552L, 8988486530696185155L}, + {-311336022868801049L, 800635164334809333L}, + {6098071943696363607L, -6466386586993453102L}, + {3781539988474542156L, 6252107264141468479L}, + {-5991444272878304549L, 5960563247743610665L}, + {-7058079929087833240L, 1774151115106864258L}, + {3692880174470651745L, 3254087094804079517L}, + {8043184184871662514L, 4334626677240459902L}, + {-2260533056334755470L, 5492216609821364730L}, + {7862870576355526775L, -2002206651704242317L}, + {-1273628657555198089L, 4500092611531376016L}, + {-7116245059732632210L, -4469253241056826606L}, + {-6206223953545513505L, -1137760425047663752L}, + {8769478588548603347L, -132736367177684309L}, + {-6809293819712164844L, 6559633909609042117L}, + {-7072037946451047577L, -2043337765421332833L}, + {5145959967698376997L, -5556603267559213848L}, + {3918549975422395928L, -3150639278327240429L}, + {-3688153306502628396L, -7435067995008483219L}, + {8933640809529662946L, -7636525704905354617L}, + {6586386948093068301L, -2183803246532017685L}, + {4314174515802583045L, 6291721688596346087L}, + {6042832017761248999L, -3695077737345263355L}, + {-2163096650317259801L, 2990268501997122182L}, + {-1301538385158714097L, -1533372430915700352L}, + {9157628132063555931L, -7093418936861363878L}, + {8447192224483369575L, 7631934447862654472L}, + {1082300847283178879L, -7618647624807771192L}, + {-8765613093828266962L, -4115536092713542768L}, + {6523561351628630699L, -7625252301278642487L}, + {7878456944142132573L, 706194176774617761L}, + {-5878800239136723413L, -1813927820728650739L}, + {-899016955838748566L, 1966176815632465191L}, + {-968680680108344572L, 6575369511440091617L}, + {8149351788840205925L, 2279025097486125117L}, + {7767149159758237380L, -2644414571334647023L}, + {-1002433668001324671L, 8943147725619352276L}, + {861378480610089679L, -4062600348246113369L}, + {5131370442347562734L, 3950723299875471224L}, + {5891997968737511949L, -7520213123221654021L}, + {-1134130780427583438L, 3132292634573307295L}, + {-2721284507442384384L, 7291597149098083522L}, + {3581758406053663578L, 8835208245303410746L}, + {4711959109881063237L, -3216119409741833809L}, + {3814833207703197149L, 2734095307747491414L}, + {-5498755072540800142L, -6403288850279922865L}, + {-434194050930099095L, 4870237253884783459L}, + {-1131324138179189444L, -8321037353987256979L}, + {6335673834129040499L, 1542550554552373587L}, + {3840591353873435091L, 1003968243768320782L}, + {6691477876637098998L, 3119531155265220843L}, + {5389042814799436488L, 3464320519030129292L}, + {8492537662085986759L, 4231665252183762049L}, + {9801065220990358L, -4142253103916332351L}, + {-8991404774454959964L, 9117831577731702999L}, + {-5967334022174632862L, -8234653634853813963L}, + {8423499844379835696L, -2296526801518540032L}, + {-1121320485100692308L, -2310012019292148394L}, + {-1137347326607533713L, -5910223239112105014L}, + {3579131621253541604L, -7873288377384430404L}, + {-949637496239973913L, 8992721473934662726L}, + {-845717236495377944L, 1709210005757310121L}, + {2627652869211543871L, 6229651575357526528L}, + {-3584273871358543803L, 3485383832684950691L}, + {-1231456733798526473L, -3693492293114660562L}, + {6404279318428525466L, -2820264389343755942L}, + {-1959366387574498651L, -1999053094523153109L}, + {8659995475649499110L, -4063188751398928642L}, + {5687743493891209750L, 1819832997765820620L}, + {5734157541830063944L, -1508187435145329543L}, + {3807145789061111632L, -1163040392176574106L}, + {-8728883033962465130L, -2019265592238841800L}, + {1886310705344218044L, -2186164004798954561L}, + {-2869995344352648369L, 608788407759231159L}, + {8631433038774110827L, -8954043830652495539L}, + {-5196628823587587974L, -2249354261523167857L}, + {-7457206590006693637L, 4392495756732760488L}, + {-5287470411743602489L, -4602133066126451655L}, + {-4100864542827687276L, 8617323110060809504L}, + {-6925193246164904686L, 320293241076880811L}, + {684773938147799771L, 6262050439533780321L}, + {4684480184200832071L, -8091186757996198319L}, + {1138521418475557396L, 7915368755744488159L}, + {-1024452235617887100L, -3320296128152795536L}, + {370178077665262107L, -9162241114040089547L}, + {-2580904250658458088L, -281987854585455375L}, + {-4067270455265760110L, 3697740925622419951L}, + {7883457924958258236L, 3225018098591163689L}, + {2745236661071909096L, 8184485281086465192L}, + {-6638753008619557401L, -8598931368792692359L}, + {-1928563245103591922L, 4655096611975500707L}, + {-5391677730310963265L, -1065175718193252042L}, + {-3443398620200795730L, 3828176865585432313L}, + {-8921877650888014333L, 107866992902620257L}, + {-2549654053467481876L, -5050580673000189621L}, + {-6634007310328959288L, -876193222819744972L}, + {6662969652277689957L, -6841284783697750392L}, + {5704789109069509625L, -2476715163962031661L}, + {-1307333292330657763L, -5491692411965571232L}, + {6533595699848914839L, -4499350589304206086L}, + {2206229619406776067L, -2351165617492036434L}, + {-7059181012292774208L, -9115366817762017529L}, + {8587013829275411963L, 4388678051800734512L}, + {-3759394797281060169L, -7053509092813615390L}, + {-8332558387862436192L, -6896020076406818425L}, + {4058454963111191922L, -5286761064255899376L}, + {-2909318126609562718L, -6911874830505973438L}, + {8309425769040304384L, 7849379961650314497L}, + {-3332518656544710523L, -1692848726219162872L}, + {-53840526904216763L, 2255977371922379760L}, + {-4392299612463469408L, 1581073356587586804L}, + {-6495163012164872108L, 2231393466511510482L}, + {8283822043324591205L, 7499731676314211199L}, + {-3839429045227492113L, 7510349338395860967L}, + {-4554258591908844950L, -7317144759563080195L}, + {-8717791527048532273L, 4978792217011582827L}, + {-6680294812840082731L, 9152312282907380651L}, + {-1514076315369906827L, 3598370015785027284L}, + {8342331288999106348L, -7203007516130555934L}, + {4467472370913596089L, 6812568540862734900L}, + {-5258687569970231267L, -355677718169180333L}, + {6428083210523097473L, -5287418510282857745L}, + {2293947403016663486L, -5220278527068998730L}, + {-5526361602248141114L, 7996660119707051676L}, + {-7270937093961275072L, 5711622628080961541L}, + {-7226206738482320242L, 8598438917671031500L}, + {-267988759137059367L, 5431685311506687936L}, + {3757842653020528703L, -3297692481111911080L}, + {-654142607214292501L, -2962827219142864971L}, + {-3877320323095024097L, 8842445126378196396L}, + {-210352008325460011L, 5116823845142598386L}, + {-3777353653906366683L, -601473431267226149L}, + {4104559760354145145L, 4701224169495508799L}, + {6351620637332827086L, 3205977800898050414L}, + {-3953047538968937343L, 6276768727993298797L}, + {1977509989365985520L, 6409342957977133586L}, + {-6096612777648073834L, 6707983202497286472L}, + {3655449697279862217L, -2885904157317690348L}, + {6371929595416244955L, -6982319672407259043L}, + {-6719663260573101322L, 6074544765480824486L}, + {8235058461435871026L, 7218535018958732569L}, + {8223610568265677874L, 5036593928131829216L}, + {-636776168225445543L, 7126947243644292165L}, + {-5658531495972000806L, 5976061545413357422L}, + {-1315157075774308702L, -3587640206384793862L}, + {3318184564168373738L, 3667606843527529680L}, + {-3870791042207323999L, -749752759518101873L}, + {-5761074459524531162L, -3904416599422058280L}, + {-7589695080417675674L, 1298670570171716776L}, + {-118243652515378968L, -4089007496976104453L}, + {-5606050504941145854L, 3363647473385925878L}, + {-1682232575263053834L, 4346070814778364812L}, + {2064607730151462051L, -742205065568789939L}, + {3860046528687723210L, 5639663483838395500L}, + {-6935238833286905572L, -619950249601147230L}, + {-1526898475961616862L, 8069505502923900297L}, + {-7786760789279579722L, 1492861118173755697L}, + {6367271805286224450L, -7496769528088253126L}, + {-4333115896551664911L, -821727603931953051L}, + {-1229178972379399952L, 8730035857323100178L}, + {-5406430689127328314L, 4231658348135315593L}, + {-8536830855104540258L, -6071104864716272619L}, + {4592858633504932985L, -3006733148669100477L}, + {-4661004590562426651L, 4357632356262471192L}, + {1900079872513330236L, 4716191579745290515L}, + {803518532278716272L, 3567557066091193813L}, + {-7227731911919645710L, 2095640250881819683L}, + {-1531800249475624901L, 6537531379212203782L}, + {-5068571120099635260L, 9060033697476709270L}, + {6954901733800148115L, -1674928158449299724L}, + {-7075071323703859828L, -79790012159247464L}, + {1447978964456769515L, -3214394401554340995L}, + {860006115119071319L, 667210893626893467L}, + {-2067420548322589555L, -3021927277418583328L}, + {4638996254844315967L, 8154077006989858919L}, + {6983236581726963935L, -3528830910837705182L}, + {6708882819304554132L, -5694112128251960949L}, + {-1077037295677468865L, -3503242918302157372L}, + {3623478619549261514L, 6180056827434419475L}, + {-8551083693862102837L, 8556339763668418694L}, + {-6864926796047150583L, 5028306725838573487L}, + {-5583309839740166644L, 9027564656608576889L}, + {-2047952294766573645L, -3095287403842609759L}, + {-1296070923862863512L, 6790190055329304693L}, + {3533321735634917235L, -9033799480884432612L}, + {-1137358684259757076L, -6356732617214670827L}, + {-8080333153054443456L, 3334370468254151878L}, + {-6770927466908143968L, -570402506200030937L}, + {1677314511582577698L, 1342654560043637898L}, + {-2630259631962080464L, 7385442738096893062L}, + {-1793645900673563419L, -1723552778901560418L}, + {3600237620008462975L, -1202654027148639997L}, + {2180027379579890660L, 5542738931909800056L}, + {-9043677058766520350L, -3326672003520699872L}, + {3962397017521642626L, 7663197079112974029L}, + {3977072778934081031L, 1443754962703183004L}, + {9036155278583684186L, -511483942672047429L}, + {4719201700299004978L, 3372713474180665433L}, + {195773270223425425L, 4606867324868612441L}, + {-3391740091956199499L, 6977786383238923035L}, + {-4297719063714682956L, -5205502438632599866L}, + {2518769717461479967L, -2278000373378640850L}, + {5163274893178164221L, 7720801366773322067L}, + {-7935837524015792569L, 7113479099627093520L}, + {3725316512735597929L, 3063198825928438389L}, + {-6062355987398187561L, 196981839523103554L}, + {5072788521812186052L, 2181699064151082790L}, + {4756745374124465344L, 7250108599025853073L}, + {-6691048140593722302L, 4415088046869436277L}, + {-4453427560142816958L, -2106924769861351639L}, + {-8908616043104241784L, -1019376309451773039L}, + {4680671232907313257L, -2174697625835016191L}, + {-6131724261229112714L, 7856591897252847779L}, + {-9108450687466015537L, -5507621728320366418L}, + {6365495657268753375L, 5450431121738155020L}, + {6448165814018765014L, -5612695438889065911L}, + {7071162731007451983L, 5392474098323048148L}, + {6828906714271770482L, 1502254970953831345L}, + {-3559294295246311028L, 7553612275548812830L}, + {124771238363526084L, -4798796425975932412L}, + {-3293309753712400861L, 3954573374209069808L}, + {8896706306255876093L, 4253298990076074483L}, + {3125408161217615213L, 3803700255679029945L}, + {-5861463414798312654L, -4098195255457814724L}, + {-9036260382640522754L, 6369652912950273493L}, + {-2941595857477708459L, -9113821633105909829L}, + {6033142563060557598L, -9020580934062204557L}, + {1099630200403990563L, 696624502470685602L}, + {7959429886791854178L, 8452651730508924913L}, + {1535421567087429521L, 4681006148666640475L}, + {-3523681894692531197L, -7132650741735849542L}, + {-3906144409472427412L, -6072298972533296356L}, + {6483996772781688720L, -7756906715255122537L}, + {4132319255708563987L, -7604430518775079159L}, + {8769726356542128993L, 4800289188839276316L}, + {6738613111825331757L, 7396330301554136907L}, + {1764580723100293334L, -5184137923839863797L}, + {3299019025645495247L, -8319517036261810990L}, + {2239605653730261397L, 154189014771898002L}, + {-6200467116936956633L, -6568202627332369288L}, + {-6291344345384672622L, 5354839767793808953L}, + {2565928296401167337L, 3115419636555194066L}, + {5329865919971566807L, 1719896645598205708L}, + {-8575034623756510146L, -3669000039462402717L}, + {6368322753797090715L, 3689449136956819472L}, + {-7493350249074734851L, -5214369489577428826L}, + {-1948050475401750220L, 884718130935295239L}, + {-2542388860306602080L, 999643815495444354L}, + {3132812952361473979L, 7117955964821677830L}, + {8662503282931471374L, -949428191468665471L}, + {-7226118518078524751L, -8133317924985805656L}, + {125513287940370920L, 1139709294781544858L}, + {-7105850358401444205L, 9011130779774299758L}, + {2873891704788790693L, -3345408941392632050L}, + {375644362554273808L, -3940052809605950557L}, + {8779595029680158187L, -2090878506281834613L}, + {6520575959918535178L, -3685955938622260911L}, + {6481335563279395683L, -6651860608291596670L}, + {-3958324538875210597L, 687933001376263703L}, + {2650332007800900579L, -3820496251684255429L}, + {67216421894692841L, -6273923576662698622L}, + {2892388889322576563L, 4142472054827014174L}, + {447031742152452522L, -5750532076318905239L}, + {2214867384342611779L, 1438016221944253759L}, + {3463418430384064877L, 7933064097770090377L}, + {-6736581145771083272L, -6636037761993868041L}, + {-3097757825887262572L, -3464203236850017330L}, + {-742646863032103227L, 8549751377962719435L}, + {-675900178715113798L, -3914104413182363973L}, + {-2232567950500061233L, 7621988165391726384L}, + {1712025609374863027L, -1123006467158500535L}, + {-3405265351896222950L, 1430535721297212626L}, + {-7357424915587192954L, 3465717092902363839L}, + {5899042778652661141L, 4222684223013113017L}, + {-7187291342974761805L, 3957487962438616817L}, + {3480937052474976673L, -6188589281798830120L}, + {997099418044934990L, -1527963556835294545L}, + {-2839517833272115276L, 8330879031487323662L}, + {8199436817352462608L, 6909954963993252775L}, + {9072737280134851879L, 5188978806423418359L}, + {839795799971829718L, -2860958804774185917L}, + {458252816075262707L, 894349972574391694L}, + {3252541827624060629L, 8522714392424847611L}, + {-5029727353658396637L, -5729345024622710002L}, + {-4967837872862091654L, 2804097617713186103L}, + {2146776628928215216L, 7992918702582258237L}, + {5403743629243841306L, 9019714016234030597L}, + {3306799506878402965L, -2944777525613883043L}, + {4468336141473957274L, 7689803402328019980L}, + {7023113564987990226L, -5353349038722192959L}, + {2871980174971968592L, 7052062369586092648L}, + {-6665846774723588486L, -7779984816814418003L}, + {-8521313230784523850L, -7075872948858809038L}, + {-2899150205599417383L, 3674168194855920925L}, + {1992195265166010323L, 6718020075048606525L}, + {3610880564010872990L, -8099380986026829265L}, + {-8962461672227066573L, -2708938433802853784L}, + {8499793696703179099L, -117949552342789801L}, + {-5174175353166984262L, 4853488592908239062L}, + {3773412144378555582L, -700152485305099197L}, + {-5377488598550438958L, -2221586125998783654L}, + {-227481030440141534L, 3571021169253497167L}, + {-3003034596327281460L, 6483608774262579967L}, + {-6010571883582226691L, -5383121100451058218L}, + {5285640267764709652L, -6202879186354479067L}, + {-9094570939029139554L, 1417266974034045473L}, + {3302183665375964446L, -5089891447239173791L}, + {8185803481915750000L, 5860584065404731072L}, + {-7832879598569001202L, -8462546539915269894L}, + {9185495476894972675L, -1418057708833821013L}, + {9021601549322560342L, 741355604462128395L}, + {-1033483127041468323L, -1998905022320810358L}, + {-9094719449194039442L, -1626212808185905243L}, + {-4246271926877732985L, 4840812948897464736L}, + {5329679602094503622L, 8649093324893765849L}, + {-3123609535190446287L, -361284439372155099L}, + {4714766142804686442L, -8136402947598538231L}, + {2489307805887894890L, -2356444220664306215L}, + {2987790131896782326L, -8086179668000672928L}, + {-2963677483725852236L, -2516942748088288718L}, + {-8529934738168520503L, -3210310985686262182L}, + {-6356353435089583010L, 3516503088278819063L}, + {3208586395891790363L, 4298931398837050951L}, + {-4407123126725047459L, -7765163037766468949L}, + {8157441934654253916L, 2843614390491890044L}, + {-6109838368688820127L, -2368186650405422497L}, + {-4389983853453341623L, -5397592659600112949L}, + {7652314184807664343L, -1427196053527089690L}, + {-4662723430367132038L, 120770956848949739L}, + {8667093623786488993L, 3070768203499473269L}, + {-3415543420133275181L, 6085467894486731971L}, + {4904278838452314694L, 6548926713722044422L}, + {-4354230232880600982L, -3272993024095048366L}, + {8861799057857753L, -6094996369966286538L}, + {3552811093870745879L, 8612973539161157048L}, + {8634119875383707854L, 1907947534981169433L}, + {-2732631755040740128L, 5182756388090293429L}, + {6518885727185543342L, 3116634721078149894L}, + {4341137614328678730L, -5388034631040110769L}, + {6793266319858946131L, -5418120590775304922L}, + {8047455342123276414L, -3727261839997080006L}, + {-866422210016420449L, -8852169901685222689L}, + {-2975253122827530056L, 5453714651394251460L}, + {-4030176003307022576L, 4842581852636998099L}, + {-4241696461887318612L, -3800892415646682874L}, + {-4753266504739240553L, 1412187783702418413L}, + {-7373316743164657129L, 642636635356175384L}, + {6048513984860600758L, 5869299884640974771L}, + {1814258330875604106L, -2878806132566885503L}, + {9109940689954894985L, -8812562607906103198L}, + {1579558970146774347L, -4017510485008247124L}, + {668478211668974619L, 6320024829637634074L}, + {8409518560944185002L, 3353220582345848116L}, + {7245729396754890299L, 5588396973718419901L}, + {-5114268398654367847L, -5944423628815401655L}, + {2956616124692577442L, -290106912204558888L}, + {4461886846778383058L, 2277783397013987244L}, + {959690196566065732L, -8814538937186889982L}, + {-7235204044940286838L, -8189358422666028931L}, + {7981158344195854661L, 4867006782544055533L}, + {1833698125790755138L, 6523032353281179181L}, + {7752754976810456477L, -7282290980488591008L}, + {5692118834710835902L, 8632235045305762587L}, + {-3793683786453929372L, 2693475423544308135L}, + {-5581772364636870855L, 3928278557991189836L}, + {-7470774962401733293L, -8446516023329576894L}, + {8780664591724430174L, 4286197667128074328L}, + {-7663125741516067028L, 1559881424666449109L}, + {5829471574991825780L, -1699504516976991348L}, + {1182333455500273019L, 5353082458342633232L}, + {-1726270951016459467L, -3454492226798936731L}, + {-2746428321520070969L, 3021238741736368676L}, + {6832833992125314751L, -8702581179293653579L}, + {-3990613509805030555L, 8667205036761326617L}, + {2400486545587757625L, -3000524943838505376L}, + {-6598170744898189777L, 2759511703193262743L}, + {-1995198747364774857L, 9008233307559279188L}, + {-3645842663215618557L, -7385147240487509438L}, + {-6553956802949933979L, 6965354958414743421L}, + {363585666263112429L, -4882210177421749025L}, + {-5656547416142849554L, -4050177253764422541L}, + {131159332135711557L, 5133143837072648253L}, + {4242991056913343886L, -6686962481360868108L}, + {-4674809189780845966L, -3250341762564229866L}, + {-1954374021725723642L, 1323620250067427930L}, + {9000512499144627986L, 5548743979937884843L}, + {-4966087500556332423L, 1629058188872823733L}, + {-5368443575882114199L, -1654000784989387712L}, + {7898708771797640436L, 2086542013295426142L}, + {4954393344642394763L, -6263444864756732931L}, + {-228876611915096824L, -4537215972588867693L}, + {-3517612841169834059L, -2765341318717509735L}, + {-3181203061349135348L, -508056924812247324L}, + {-7887316482076885972L, 3685431341741839088L}, + {-7491168484443218074L, -315834147890523005L}, + {1505841500971991620L, 2429709964985541076L}, + {-4819676400227780409L, 1773949406412424848L}, + {-5600600902750799703L, -1641786959599535542L}, + {4287196606575127498L, -478264408105952247L}, + {-6631038754487834066L, -6917616052826791264L}, + {-8562057237102997949L, 363106954233931060L}, + {-3310437032247565299L, -1481298033384594105L}, + {5856634576804593925L, 4789755933237089305L}, + {-1659423729330836678L, 8494320904037636560L}, + {-2785469434848827216L, 7947848915676623091L}, + {-9178954688981005208L, -6785118745114422741L}, + {8284532255782100018L, -9084098449354029433L}, + {3932114027983614574L, -6289978089305485110L}, + {-8735736194352900940L, 1405162867455330917L}, + {-5947824514040167701L, 2919798360124166543L}, + {1555054962173652536L, -1367989015884168404L}, + {-1028318040091115332L, -8568997691227678605L}, + {4142937213480146786L, -2370901494422112752L}, + {-2819444980269809917L, -1308444741477082853L}, + {-2903074845803234197L, -4366808985359220640L}, + {3718049583878739327L, 4354690312963727033L}, + {-5493173480792612991L, 2989222282329614806L}, + {-4746130552040956231L, 4496455761262808903L}, + {6244568873371787043L, -7185280716865151881L}, + {-2997679871934966832L, -7309017646763845518L}, + {4047215048138865730L, 6980804018930957198L}, + {-6551789563963923059L, 2916207770637549836L}, + {9086055720517286271L, -2714494659452767480L}, + {8876034907713774156L, -3821387241491356709L}, + {3680389259422527058L, 2196589891375455610L}, + {6042866802807055050L, 4754255664635533276L}, + {-4886080504692397375L, 1725619517599492655L}, + {-7166197738900036643L, -7243540186236866594L}, + {-727151388570173900L, -1634001379810212424L}, + {2438604478622089045L, -5055210733955393661L}, + {-8782162061024071951L, -5174793973752794725L}, + {9077567357215978574L, 708556034239591714L}, + {-2871872737471270227L, -4708678750825119057L}, + {5320002012835335589L, -3526176864908362243L}, + {5539849377632910446L, 2462221416305069443L}, + {7555126502803598608L, -6755206762366162750L}, + {-8125224475094342490L, -8964598482310477564L}, + {7417955058148509629L, -4872283382423985221L}, + {4176877628224197597L, 2859364539165637414L}, + {7598278370710374380L, -5131602648378407232L}, + {2265897989342130546L, 5814327006378924467L}, + {-7061482734014550086L, 9021575515219812736L}, + {1468468196263413305L, -2354059920935567217L}, + {68682113048681479L, 8070600121219547337L}, + {3762225435622216659L, 7301822979322435545L}, + {4581877841476416419L, 150382900142393599L}, + {5115735211430226046L, -4547351323713652974L}, + {-397731465197117692L, -4450390472569952747L}, + {3802999106815691779L, -8622666519332587528L}, + {7574760794857420046L, -7880900128621810138L}, + {4178197313545546553L, 8601353854513781244L}, + {9065628242529864979L, -5591534616375481129L}, + {542937206029962193L, -5953723718608560239L}, + {1542373631583440917L, -4196619194839329674L}, + {6903559734881147673L, -4316576911841534837L}, + {-2071796881281526902L, -2370970960555427167L}, + {3779795498327194080L, -4298546406843841164L}, + {-2217268270456792594L, -7501440969788317177L}, + {-8059036377920200513L, 259328063542822684L}, + {5425988266816609684L, 4575515416863828865L}, + {3561830549061618056L, -4771952364404768277L}, + {-7500972620191462258L, 71975804172456571L}, + {-6776359714207180134L, 6900148804315605370L}, + {-5775998075012891173L, 5004232704182523237L}, + {-7755164007855727652L, -8433929914715590664L}, + {-4908348827451399810L, -3301072556359365892L}, + {-1162366502935483389L, 7384541007136416566L}, + {-3581470604892760162L, 1976805054171796726L}, + {-1434370488502028008L, -2547401488641472132L}, + {-1493293905909468959L, -7441839474594455138L}, + {-6762524287730181241L, -1601622492184803904L}, + {1393564479464918401L, -3009814218133425849L}, + {6717807842217858780L, 8165340015547077095L}, + {-2269779449488763938L, 7927691835893341197L}, + {9119207083214966580L, -6786708504775243266L}, + {4437289221718108033L, -8954685188941013035L}, + {1991815488616873724L, -8103624658829230585L}, + {-1136008736729825773L, 5916992738852984881L}, + {6919259317959590395L, 8169647393497828250L}, + {5700567409540575886L, 3944594914853142763L}, + {-6511943523783520343L, 3357295622932201334L}, + {8471138532439345892L, -5702753540740804811L}, + {-1261020616469785625L, -5601367572994175866L}, + {-871122257839774394L, -6976984597391717235L}, + {5853266956701599170L, 2179435702096663547L}, + {-2605324811026081L, -7735967841074233262L}, + {5645723143070327343L, -5300356287831138464L}, + {6678903618140079830L, 558130329295762466L}, + {-8243425527465830189L, -2753667594936483651L}, + {-7366977412613262267L, 5174687824180692399L}, + {5554112623362949635L, -5127585768737053004L}, + {8508696414094887570L, -1823867105900064766L}, + {4526724121376344377L, -3708548295144862203L}, + {-3066464409160921518L, 8089012003806475311L}, + {6423971479710566480L, -7039855685147014402L}, + {-1301150937530073813L, -5585328718840536037L}, + {7047171805158365362L, 8120759358342535720L}, + {6607488204808324896L, 3901947263714529520L}, + {2550589198730302889L, -1984225587532390244L}, + {-1508652597994003459L, -2625033096378578368L}, + {-8797285250854566260L, -8253763814000785373L}, + {4531577529333440300L, -4130829189401243467L}, + {7171511780196023810L, 7669326050720755710L}, + {-8696995432677729109L, -4993075107798409464L}, + {-1038277725665095082L, 7849644114484248935L}, + {-4030021971399704454L, 1256768363928500996L}, + {-7142316504058264789L, 1252978987744068438L}, + {-8690342808784496917L, -6354446673649917336L}, + {-3538025267466743323L, -7107557983957120854L}, + {3030344740150338756L, -6398796188997538104L}, + {-5434476681454308336L, -7496500108057908992L}, + {4747881963413479619L, 4331614803740895864L}, + {6649081146297801785L, -7539581662252191545L}, + {-1340297105335493395L, 607361016476543345L}, + {-2345199575979290182L, 3757829078804583621L}, + {-5142497021023029281L, -7853754814637441930L}, + {6590959395881104212L, 6033816056225283084L}, + {-669027690510749039L, -5598511059038889050L}, + {4713909714515252237L, 8498930096032167029L}, + {6334133652957330690L, 2179067576579471054L}, + {-4130611448171970254L, 528954176811746781L}, + {-8777249173946876665L, 6460005588985419673L}, + {-3777422122544011758L, 2949786550955297825L}, + {-4139822748883105829L, -7060522727358656049L}, + {-85322879655457932L, 8186136004732221397L}, + {8510613507788926362L, 5121599937034700924L}, + {8480533752847008903L, -2597744666135972005L}, + {-1501849715563565256L, 59714163236198638L}, + {7144010316023561074L, -68619869987424240L}, + {7071721153639906878L, 4787691242484650034L}, + {-2413842258996393407L, -102302437317144586L}, + {3829076351340781609L, -2319803825930028643L}, + {3904259427140354464L, 8797809088167232571L}, + {-2423161203681766273L, -470372639707402796L}, + {-9222948412120414441L, 2461249821658147313L}, + {2232806743868046887L, -2392759272414380666L}, + {3459293971647694135L, 4210665238486533367L}, + {-4958044470517187570L, 2672187701402147373L}, + {2702008978364322255L, 5638626575506030561L}, + {-5230685167113972622L, -7617392617133523896L}, + {-4777581725252095139L, -5140368461179091836L}, + {-178566492057125337L, -6847413203152532992L}, + {5473668624447677467L, 183117619671776212L}, + {-6025569476816496835L, 6468191562561708163L}, + {-1758476046405271590L, 1659198619774233309L}, + {4318010125119483290L, -4823834649924404602L}, + {-5001898604592523465L, 8911108370391112613L}, + {4496672693040208250L, -2259208634242191704L}, + {-6249539806063036132L, -733362499880552249L}, + {-7752211883834007080L, 3335016862478247633L}, + {5401928633460905475L, -1235856076215536659L}, + {-7924780124408034823L, 7205431551907269451L}, + {-5852842870036885474L, -2844635853105127428L}, + {-1507586788733048669L, 4335468969213182987L}, + {8723145826212343490L, 8281666246893648997L}, + {6322146995759068109L, 7484504729026216551L}, + {7033327335320195047L, 7165769114010786735L}, + {2731703606190537636L, -9199202980814290025L}, + {-5700197206770306283L, 7961233189193040547L}, + {-7681929128588407075L, -1127459956109423435L}, + {4915318349456884393L, -3186450213454571240L}, + {-4365674444257230772L, 6196235634481915881L}, + {-618412543643891621L, 1212876310516573701L}, + {5389658231644689771L, -4706000143957565510L}, + {-3464092788986188235L, -2872909288794957622L}, + {-1050158483149088836L, 4121143610298397281L}, + {2986789282075383014L, -8242619029520357911L}, + {-7095920626607872836L, 9003605662221032036L}, + {5041839261426701960L, -3912891411490985358L}, + {-9180003565648806832L, 7225541720051129724L}, + {-4136797423318912582L, -7424404802325061838L}, + {-815263725971673785L, 8781179913689849178L}, + {7751482036034122791L, 5628918479571946112L}, + {-6582902412740766080L, 584288259370869254L}, + {4948480397753687589L, 4278919042846414482L}, }; } diff --git a/src/test/java/net/openhft/hashing/XXH3Test.java b/src/test/java/net/openhft/hashing/XXH3Test.java index 7b889e1..2d5004b 100644 --- a/src/test/java/net/openhft/hashing/XXH3Test.java +++ b/src/test/java/net/openhft/hashing/XXH3Test.java @@ -11,11 +11,11 @@ import static org.junit.jupiter.api.Assertions.*; -public class XXH3Test { +class XXH3Test { public static Collection data() { final int maxLen = Math.min(XXH3Test_HASHES.HASHES_OF_LOOPING_BYTES_WITHOUT_SEED.length, - XXH3Test_HASHES.HASHES_OF_LOOPING_BYTES_WITH_SEED_42.length); + XXH3Test_HASHES.HASHES_OF_LOOPING_BYTES_WITH_SEED_42.length); ArrayList data = new ArrayList(); for (int len = 0; len < maxLen; len++) { data.add(new Object[]{len}); @@ -25,13 +25,13 @@ public static Collection data() { @ParameterizedTest @MethodSource("data") - public void testXXH3WithoutSeeds(int len) { + void testXXH3WithoutSeeds(int len) { test(len, LongHashFunction.xx3(), XXH3Test_HASHES.HASHES_OF_LOOPING_BYTES_WITHOUT_SEED); } @ParameterizedTest @MethodSource("data") - public void testXXH3WithOneSeed(int len) { + void testXXH3WithOneSeed(int len) { test(len, LongHashFunction.xx3(42L), XXH3Test_HASHES.HASHES_OF_LOOPING_BYTES_WITH_SEED_42); } @@ -43,4140 +43,4141 @@ private void test(int len, LongHashFunction h, long[] hashesOfLoopingBytes) { LongHashFunctionTest.test(h, data, hashesOfLoopingBytes[len]); } } + /** * Test data is output of the following program with xxh3 implementation * from https://github.com/Cyan4973/xxHash - -#include "xxhash.c" -#include -#include -int main() -{ - const int N = 2048 + 1; // 2 full blocks - char* src = (char*) malloc(N); - for (int i = 0; i < N; i++) { - src[i] = (char) i; - } - - printf("class XXH3Test_HASHES {\n"); - printf(" public static final long[] HASHES_OF_LOOPING_BYTES_WITHOUT_SEED = {\n"); - for (int i = 0; i <= N; i++) { - printf(" %lldL,\n", (long long) XXH3_64bits(src, i)); - } - printf(" };\n"); - - printf(" public static final long[] HASHES_OF_LOOPING_BYTES_WITH_SEED_42 = {\n"); - for (int i = 0; i <= N; i++) { - printf(" %lldL,\n", (long long) XXH3_64bits_withSeed(src, i, 42)); - } - printf(" };\n"); - printf("}\n"); -} + *

+ * #include "xxhash.c" + * #include + * #include + * int main() + * { + * const int N = 2048 + 1; // 2 full blocks + * char* src = (char*) malloc(N); + * for (int i = 0; i < N; i++) { + * src[i] = (char) i; + * } + *

+ * printf("class XXH3Test_HASHES {\n"); + * printf(" public static final long[] HASHES_OF_LOOPING_BYTES_WITHOUT_SEED = {\n"); + * for (int i = 0; i <= N; i++) { + * printf(" %lldL,\n", (long long) XXH3_64bits(src, i)); + * } + * printf(" };\n"); + *

+ * printf(" public static final long[] HASHES_OF_LOOPING_BYTES_WITH_SEED_42 = {\n"); + * for (int i = 0; i <= N; i++) { + * printf(" %lldL,\n", (long long) XXH3_64bits_withSeed(src, i, 42)); + * } + * printf(" };\n"); + * printf("}\n"); + * } */ class XXH3Test_HASHES { public static final long[] HASHES_OF_LOOPING_BYTES_WITHOUT_SEED = { - 3244421341483603138L, - -4302098779834749733L, - -2998166160713018281L, - 6864218090047839419L, - 6979084321315492338L, - -5731546056562700354L, - -6460328875922888956L, - 923809989133364073L, - 4187271766389786872L, - -1629980255024596516L, - -6095164084758671497L, - 2086176710598203789L, - 6543284205211650379L, - -5213522776729965383L, - 5545158833176453687L, - 6191585008302141506L, - -8983023575487778597L, - -6993173599622040792L, - -679721864292929835L, - 6982591615625134866L, - 2917394212576059053L, - -6639923505334063205L, - -2362153139612899683L, - 4776590923197089330L, - -1506670496010913414L, - -2647877581130602390L, - -3024194937172852654L, - -6786232254807398843L, - 29867523197922776L, - -4755612273762186448L, - 7027486771791057426L, - 5707990981978323197L, - 3829001002278603781L, - -1833995589090992552L, - -2859822223207566521L, - -822061951152501107L, - 6172313773566651166L, - 3002688263104272481L, - 2442729726468942826L, - 838920225343106725L, - -3625228911788322244L, - -3085758516746786139L, - -8838726273629984649L, - 147628805604629229L, - -8609901492927370359L, - 2523698187551014389L, - 6168573373090741088L, - -1129058501854041166L, - 6287935907341083849L, - 7111303459234964792L, - 2178159668141251214L, - 3355500812482858732L, - 7998592630692471773L, - -3657590562873574961L, - -6707964006400412490L, - 5984672195388902266L, - -4866191761727097338L, - -3867761180105420740L, - 5010507633288345206L, - -6360606695257557456L, - 891304432194930768L, - 891409307892263904L, - -4666213895286452910L, - -6150244752716240152L, - 7027844749552840021L, - 7577525643630617296L, - -2909908046638187264L, - 1269898915928975170L, - -1296685705337969741L, - 6880380907958913107L, - -5157697080261523794L, - -2384830554205610823L, - 7117698599495882683L, - 8436634904183317409L, - -8685705461888375606L, - -2099116977851507310L, - 7784639995868301609L, - 620173983152449558L, - 7875300522364621790L, - -8571663595578279581L, - -6074103631611676465L, - 4991809556790719000L, - 7182703058112323703L, - 6700847687881865453L, - 2471686449789799931L, - 5615843466129961201L, - 108638713672822205L, - 3583360813653880832L, - 4747956906537059928L, - 5998273219519720430L, - -8227785307205256168L, - -7813674951517583442L, - -6588167816065898573L, - -6862603585040654361L, - 5081695234398607736L, - 1329474798079286264L, - 2849157965221752315L, - -1791866940674927372L, - 4332646258279960296L, - 4180229147886927001L, - 22042537110060316L, - -2696513067094881964L, - 4479930798836342597L, - 7717940613376663979L, - 6494116526350833911L, - -197304122858742249L, - -4396092174831810083L, - 289832483284799872L, - -1407793616753546142L, - 8107749310172792421L, - -634728965402563086L, - -5703942985817925313L, - 1530829577509875692L, - 725468970373613536L, - -8861952843133984162L, - 2677458900969433422L, - 3204987178703259401L, - -5308372023803773091L, - -4001659458034098463L, - -4307920379982142578L, - -7679947731286800682L, - 893843933290517983L, - 4059405294108459720L, - 1831062127804751133L, - -2762239301578822450L, - 6439416643289274311L, - 7794216615102176353L, - 1300299527667998511L, - -8807326403944725397L, - -1407864491810865574L, - 5562548832393267847L, - -1909668463603883104L, - -3001908439859224423L, - -8229811775093055754L, - -2185505997709248158L, - 8747474804119761845L, - 3375976894941005122L, - -8687541524345519584L, - 7475418969225723061L, - 1090519453973870407L, - -8039787237657230770L, - 1464043301476531850L, - 4392840094176543368L, - -9069431037609626595L, - 184117852034042369L, - 3048613549567428513L, - 8360545369892314479L, - 4218067793502522363L, - -1984361661054820977L, - 3359102789277797744L, - 7846237042486223698L, - 8441054814755521322L, - -6067811722142115057L, - -7157356563671886865L, - -2021770978571166827L, - 2181025843643822270L, - -544448869202488473L, - 7057264048203590026L, - 4363323697043225181L, - 288118730444504008L, - 6623265038156431800L, - -1346676098681766085L, - 6693111459824679536L, - -5826625922074103454L, - -3486949479332473670L, - -5491430220943863042L, - -7571085429759204806L, - -5040253774339356206L, - 3305212073815689334L, - -4916812550925428252L, - 3791981966901325707L, - -122684436810232675L, - -4859495698099370447L, - -7070496757192133073L, - -868377069569577871L, - 8419145116270703784L, - 6800486273015600197L, - 4633342516797787668L, - -1661577990952520136L, - -334342790235531239L, - -8872817819424402897L, - -409486044664079154L, - 6190926389261136345L, - -1300830024987992860L, - -3395638269793024332L, - -8493538135787539363L, - -6621335634487712846L, - 1973828869629126484L, - -8925429074145354136L, - -2678123694384376779L, - -4225602364907809934L, - -7257068922279808299L, - -7485343360991292969L, - 2406538583069093177L, - 926637182534700777L, - 4630670481086444853L, - 7851742083103622018L, - -98392444236074312L, - 1142322156420818107L, - 7462750549553202851L, - -852719212082297085L, - 1478659643974205762L, - -6521398709638030532L, - 1345928530210989700L, - -3363927467796334767L, - -4501085897120438635L, - -1855175868195079840L, - -8957269249266743558L, - -5499424421497234822L, - 6823468430111213664L, - -8349332096263306503L, - -796191064979922279L, - 3070550474559678794L, - -7237539936935226606L, - -1467576285689886091L, - 8020665312084081577L, - 6549665319606165521L, - 8265205303228562057L, - 2959656348340404166L, - 3479620626361283295L, - -1809040706699436602L, - -6118995013506825485L, - -3703429629123416796L, - 5314878427138221245L, - -3374786619071663812L, - -6020893708387338112L, - -2099692294850961452L, - 5628155794800251850L, - -4036147416511180551L, - -7941600054572002747L, - -7483400491927447614L, - -720567278261368781L, - 3314031855271606298L, - -5471631794645557473L, - 8887891228392664673L, - -7960828123610685614L, - -766265380117391950L, - -4017904512890559451L, - 3478074185490226921L, - -7553920981498126005L, - 3988562325861820517L, - 209643423615708418L, - -2464819451665246158L, - -8631718977760664612L, - -4893221336143393409L, - 2390264798730683615L, - -8300749389255144164L, - -3549775289570958064L, - 6514441262456966668L, - -7301663820335638615L, - 4181559756778549411L, - 6215253578855337690L, - -7323335092456459405L, - -1860577032441476467L, - 3644299936077808538L, - -5161174126835724701L, - -7779787747613135503L, - -3446338450597548406L, - -2662609220502962318L, - 208946340318274486L, - 922869894074454969L, - -8428909140908329623L, - -6875524699939418906L, - 5154230294972327697L, - -5868880138852165350L, - -2697155020815738737L, - 6278899766774254324L, - -6124877505863871039L, - 6113186870348198684L, - 1328797232741421065L, - 8936960355443139766L, - 9069883653377839816L, - -6698244186639407697L, - 6633988379507542818L, - 4243888593320380368L, - 1299920470993756698L, - 2315187937474071861L, - 806120923801759332L, - -8537792935927015380L, - -751623313460664870L, - 2455098182130434513L, - -3041072155357054618L, - -5209258140949481980L, - -7784651030341623624L, - -8624281235662545565L, - -5185374153462168974L, - -8728622305551122108L, - 3633316488676598179L, - 2341850275669250720L, - 8998800880957295269L, - -2791108801739767859L, - 4207716787796156879L, - -4083554261407892809L, - 2977762250156739855L, - -6066243213313847782L, - -3134677742513834402L, - -5231660756514911289L, - -7916346081138370244L, - 9105509708951212631L, - -3071680532260795719L, - -3152428524199455707L, - -5276930195233923125L, - 1981446637702558747L, - -8822786060285469479L, - -3086453182842996354L, - -7521798164704108718L, - -7460429880600038351L, - -5031515429775225415L, - 5662627828449328757L, - 2804157867790593789L, - -6183934836359652529L, - 2425310972806241292L, - -7877162957672040682L, - -4575453773921540745L, - -6152892230011262930L, - -1554429781063399588L, - 6395550633581619922L, - 948199150697514149L, - 4123518706442132507L, - -8620024481834864148L, - -4627311960537433998L, - -1517263476517287336L, - 3087156144310177979L, - 802387854806242344L, - -8223164854162179626L, - -8876883825341271093L, - 6189924694943538938L, - -558048344469199000L, - -6388815497071843014L, - 7970082794223216108L, - 8943146030443257086L, - 1919558538884824162L, - -5413821296846136841L, - 8482255996292420949L, - -2059351044571046226L, - 8122315934009425936L, - -6002133579485340781L, - 6439465961707132723L, - 2763117897158909339L, - 4241846593057682886L, - -3156374353704014890L, - 3611310604513156987L, - 2539868227324188707L, - -3160603853021599046L, - -6694565052629228305L, - -2829087677596299075L, - -3855421753196086451L, - 8353874633819013271L, - -2485914493713180581L, - 2924901647540244351L, - 140830235769158231L, - 8924525771772034372L, - 1991645829771754924L, - -6409133430531739321L, - -2477349252564343349L, - 7592298137540200578L, - -8706120837264950112L, - 2330049856518978017L, - -1333715564956417750L, - 5321303278236129003L, - 1316603583801631000L, - -2052093890021786856L, - -2212919092132307727L, - -1138248150179747101L, - -7297574785915472699L, - 3159392081609537393L, - 5438969032594710113L, - -1117946266762888661L, - -3513962250060316650L, - -95470470775096400L, - -928547845419412355L, - 3064209748165139149L, - 5570740544374382296L, - -4848606292970499536L, - 1249733847255258336L, - -9081876379081045111L, - -3178350430540128617L, - 4580722282117591455L, - 4910338723691444614L, - -3861107435455294057L, - 2455351552393139588L, - -3098045343671378301L, - 1276702104227748441L, - -8725606894849543465L, - -7043526197674754455L, - 2543751490914779898L, - 1111188191726666289L, - 3299681536744686092L, - -4968407975804173061L, - -8443232222924958642L, - 2692856020311995538L, - -7295992543900831720L, - -835426980056055153L, - -7189216512060259212L, - 1546667140862204220L, - -5157738526808785307L, - -8400112152363165211L, - -2562446629278342489L, - -3984312152746163924L, - 263973571859894620L, - 5863738959863392730L, - -3750469576779228200L, - 2859093520615066384L, - 239574671716835044L, - 1758244848125395099L, - 4692926060224877180L, - 2328985435627410056L, - -712944964417726519L, - 7575628018175957835L, - -6461647485226712981L, - -9175844658802936237L, - -1791894645853433273L, - -3209291319104719345L, - 8435774909159574457L, - 3068904622159492539L, - 6405574310234631665L, - -7236310029621050895L, - 1939741827857698370L, - -2711876483320863546L, - -5191337944005182792L, - 851301927202074099L, - 7817558216393575797L, - -924173671401578135L, - -8870424728276452684L, - -5612135981154918473L, - 5352840780989627332L, - 3115501649750915797L, - -7282764488136203731L, - -4410122159075968274L, - -5112841868993719465L, - 1606611627835962209L, - -2564625118517656156L, - -7347999176364584697L, - -7520586016175454443L, - -3582872246453049220L, - -7208670274224679141L, - 1407185043226639926L, - 5548472899324259498L, - -3424704481698318306L, - -8898045228081312865L, - -5032961205984329240L, - 2319704565344125424L, - -1858090959206557106L, - -1847512527385111193L, - -218817722784924760L, - -4644538017574761086L, - 527762499588866419L, - 7682925460546142196L, - 2618673582975102782L, - -8339358073633623035L, - 4632344075623474881L, - -2634725682046056737L, - 3264353773883015103L, - 3450256920483368564L, - -8453373497678191816L, - 4324811352547234228L, - 5231611966727557421L, - 3935063678731059941L, - 6338309551930394802L, - 6622686033142507173L, - -5278373537512798709L, - -9063940204441257539L, - -6333833756325058415L, - 3799491381076234981L, - 5050905817684546674L, - -796624655126841621L, - 8334872366472578300L, - -5288752267258476166L, - 4335956913966038392L, - -2247074774901543705L, - 8474035569080943503L, - -3170167932314701995L, - 6999756768956410897L, - -4451078577344071588L, - -8433054951584831409L, - -2640652121643463448L, - -7045594934288710931L, - -4036935141669708886L, - -7734407512972194081L, - 2053541054148333962L, - -566653752431971002L, - 1898804146829115409L, - 8507984725723339263L, - -3742788731083462619L, - -614166854038590657L, - 8147682807535759575L, - 2813322236228401990L, - -7697111451322995338L, - 8023578719528819358L, - -1666048881205334172L, - 2861705383918865808L, - -2067264870309406817L, - 1544932780962992751L, - 5752963315823730718L, - 5563418456763501584L, - -956763705026909993L, - -6723021793890249884L, - 8199491799885937348L, - 8254326245904567972L, - 696534455436688862L, - -4526166123204455007L, - -1244479971115743946L, - -4712028527008594695L, - 3845317619056596538L, - 1397508695414938292L, - 5199778266100306999L, - 7649610185133409821L, - -7736979936936405855L, - -1871499676764587199L, - 4089210433244498057L, - -5319342193649020117L, - 6510328602034064204L, - 1177990759783856649L, - -6211536889696831922L, - -2806444732697667079L, - -5534324430749159010L, - -6189402282341917673L, - 6327177260956086170L, - -8199327532062722025L, - 1757637089703623521L, - -1083020196125888231L, - -4027554827881183115L, - 2536452110533397141L, - -5283309880767903892L, - -8726185014741079280L, - 5870565960746070417L, - -5981985584772708231L, - -1932877698882443840L, - -1002343255004640521L, - 4369245457815499473L, - 574307157338267836L, - -9022123090729501652L, - 289683520338718123L, - -5791631171477648402L, - -7088072188409060385L, - -4659987534525277948L, - -6573587402478059370L, - -9147189283662432041L, - -4621406226758810332L, - 3827992897413425855L, - 8237187128340177815L, - -2575127860924571660L, - -5807831166865245102L, - -5362714198312494492L, - 4800564949032048849L, - 6232971559544384156L, - 5346264270546834545L, - 4418021854956695145L, - -2503709442294180811L, - -6705525727229877941L, - 2807916716409994404L, - -140901784876025870L, - 8341454749980902529L, - -1877846120130857988L, - -5151008775080326365L, - 4141948371168606708L, - -2991396496641036974L, - -8231846204849830109L, - 8817247101288954387L, - 8987037987198023072L, - -3653961272252403667L, - -5540876112254432380L, - 6630760576601451124L, - 3952853764187760519L, - -2752207231177565438L, - -8990910782429153994L, - 275029084438740989L, - 4377008995333363792L, - 7821963094129670639L, - 5910345261804604591L, - -4676534586425310858L, - -893427896035022872L, - -5107326322974521170L, - 5928147272454832468L, - -6838714257802993131L, - 3828181535474040080L, - 108432455104664877L, - 6134860905554719891L, - -9006906057728028416L, - -8785087250130628623L, - 5107258923997586783L, - -4184502077870950738L, - -4196994343382319067L, - -3602525630290645804L, - -721602986806918388L, - -685749048932716724L, - -2226124441764103982L, - -8444470437189672337L, - 5967905323104782609L, - -774529365691330376L, - 5317411683068394421L, - 8753729036148149823L, - -2600284926580864832L, - 1501264369203023713L, - -5589106565383836539L, - 2671769607792597675L, - -571916257780128106L, - -466398102722097434L, - -8668321984643614166L, - 7631202114905008803L, - -8647922451448787023L, - 8025381490498356948L, - 6049280950696679244L, - -7696482417187458362L, - 7140438358861456746L, - -4921885565559803566L, - -7027307783313071980L, - 4879598629629415952L, - -7342155744245645378L, - -2263378697656156016L, - 3707257119850556629L, - 2267112971575522392L, - 4213162373130191016L, - 8934898250536865564L, - -2149765792894599153L, - -5375160376931751557L, - 2196544121130659101L, - 1698916734136113996L, - 3433172695894846834L, - -2849259564218003615L, - 3254138956861413927L, - 1285929622626453198L, - -2349127797610817522L, - -1191286947825336074L, - -9055971338481310193L, - -3525928115330914396L, - -3227633136719463166L, - -133501853014392460L, - 1099153576792978915L, - -648473507797745243L, - -8947946509829984393L, - -183277647411867477L, - -8972836557830117056L, - 7599024178448012477L, - -4558685557381095142L, - 4767843848744584145L, - -1522308275842184404L, - -8584574042672861403L, - -1734332735592240813L, - -5832090116698921823L, - -8717779938268738600L, - -1881355893097809021L, - 7715529933819950784L, - -2289162375063823266L, - 5628801095532857454L, - 4961594313236250573L, - 4618832900030681591L, - -2860026598356511432L, - 1961029532371905567L, - -7427116119564073711L, - -7663272674507523073L, - -1432342159197328837L, - -6656742466964663442L, - 1884610673731472834L, - -3810094228658892044L, - -6616291605664442115L, - -6089433736056798518L, - -7473225570871869756L, - -2962461410122376636L, - -7732736326487208707L, - -4443012182604465346L, - -6157220788020380465L, - 4600227015044805999L, - 4469639125734518912L, - -7792518910888390519L, - 1994555386333163764L, - 4369373061497876631L, - -4738249058452865067L, - -5995135073617675417L, - 8575145712582277328L, - -3326852669647946366L, - -2007891227481667403L, - 7761466597038557448L, - -7224144129768088459L, - -6066361559768252258L, - -4068105427650671702L, - -5560889521429203904L, - -4762527649365520713L, - 2694767757294725688L, - -98412761475871782L, - -1686751510820366009L, - -8638747288926132295L, - -3606421426295459375L, - 703911580424568845L, - 3806874684410471199L, - -5118211203482914183L, - 3783835693585708905L, - -4147496567901501893L, - 4328139758484363106L, - 3028068134370267202L, - -5966389813687232408L, - 2195469898148267913L, - -3080166474377317430L, - 6412533502918649688L, - -4801061500654703956L, - -554194900129906123L, - 1486000469436139740L, - -6971589411333019409L, - 2647463349908157318L, - -6754094203714628854L, - 2314399046579224435L, - -6177383374280917075L, - -5619632493646738964L, - -7301831206207675015L, - -5527516975398904813L, - -7206298956882517419L, - -1535337994919517848L, - 725107219148423471L, - 1938195538047669437L, - 1028829726878266547L, - 3981352596771855719L, - 4637441575637536278L, - -567364300216533096L, - 4215820779392244698L, - 5791138156269639416L, - 527001488112788484L, - -4390338125863921979L, - 5557055272452535368L, - -205316410586789577L, - 6952133288635206796L, - -7457518070084443694L, - 2002018537802900078L, - 1561023860546606398L, - 3006183850758749007L, - -1361037422909233361L, - -4203933835330884180L, - 7500988945823273736L, - -3010872765453549672L, - -3781827987408697259L, - 7460277383018710734L, - 5250710645655626569L, - 1109553850343924028L, - -6498085059809326090L, - -5879222670885240061L, - 6210613100795379620L, - -5759675374559290972L, - 2824738880545011656L, - 3213468672819532759L, - 514328750496380347L, - 4470285007717204101L, - 2269240343629252129L, - 8714859525098129755L, - -6932578361476642118L, - 3219949239213817308L, - -974585298959970878L, - 6482527911604968876L, - 889153561428168470L, - -8207616222981108363L, - 2386860797138412452L, - -6749686321997906685L, - -1105424552884318985L, - -3137963539903752699L, - -5296550634024189868L, - 2919221292190747486L, - -3991521756182858814L, - 3802413126716557908L, - 4556158013211621930L, - -1956520472596138305L, - -1667618395239727751L, - -4948155010712448139L, - -2667546434479018044L, - -5192951416537530780L, - 4474564860866849514L, - 6795504197096101870L, - 348555520492747776L, - -9152654684800879935L, - -139520144005307559L, - 8655115078308054377L, - 4640578432082008138L, - 8526214307008571064L, - -7079091919397494753L, - -4852301075482608956L, - -6726381834527599283L, - -467175742480032731L, - 5092513639393893997L, - -916781769295487406L, - -3306005301217276910L, - 5711239369216246603L, - 7411369067342514714L, - -137089609471843551L, - 2197853544547148264L, - 6994895994975015585L, - -3993584670641567357L, - 7324113989979846776L, - 4848201612974985071L, - -2319141888027790806L, - -7727572350242351429L, - 3611228677421118756L, - 3254031939911056022L, - 1315862663037871882L, - 2762719496333050774L, - 2441476684596910583L, - -1751985778109806355L, - 3156518557955714028L, - -7474525109128332157L, - -402634945481420093L, - 3711042493776857096L, - -526618219268616930L, - -8956423818433397438L, - 3318951429850234648L, - -4065748355754556535L, - -2974465318794034149L, - 9156201933336414671L, - -1224004278953882958L, - -5567810197150710613L, - 7645667176564158039L, - 7437954892140634061L, - 8595047667824297631L, - -4227841629446459104L, - -4073313779073810355L, - 764623093768368301L, - 4502563456929761688L, - 1027370723462817766L, - 7668869338814612684L, - -4780350365503382825L, - -6389061999435806787L, - -2133237830821026919L, - -618977682776693149L, - 467656057704319257L, - -6754479852919060751L, - -121796624546305099L, - -6164861615484187016L, - -8568598162483564153L, - -8182644091745100549L, - -3989631051916738549L, - -3812515520109109155L, - 5458479505950940580L, - -4068063356781230185L, - -2830766632873229698L, - -7592354330098913572L, - 5323147076973602219L, - 462800867816435413L, - 4002154584204048905L, - -803837213195276249L, - 270846859760410932L, - 339186719055655409L, - -1681073433226249949L, - -3172364168133842187L, - 4471576722877991666L, - 5796602822306813285L, - -7918394505018135767L, - -8099706435104488972L, - 3225305587851029418L, - -4366886220054887809L, - 7732358946751522729L, - -228816160482375387L, - -6429545033940023762L, - -4874531170284168803L, - -7919754354938613725L, - 4818550076091948962L, - 3907701057522316102L, - -2162109673539899314L, - -6296577330837677905L, - -5038523314786213767L, - -4182256071671167089L, - 2347804671767305901L, - 8781747195783722684L, - 5464112250608435856L, - 270499223000052613L, - 5387476652934255975L, - -2665753069813354951L, - -6640316903187366435L, - 5182130073111288069L, - 3324630100168604545L, - 6092224834024861844L, - -7314979478990434840L, - 2475323565628074124L, - 3744881942029260381L, - -4468245448047387416L, - -2514532843437356755L, - -8460931029051770120L, - 6058982121000846509L, - -5771467892492359246L, - 4284427580292476574L, - -4502826197302040607L, - -8909965133023702444L, - -5152825667036557377L, - -9001319942906464381L, - 8783326653870239059L, - 7169538748654303504L, - -7206711339673245443L, - -959892259265562431L, - -1673323329893911437L, - -5827914418805049723L, - -820830695253715046L, - -5782181341435499931L, - 2663734005752892035L, - 6987511185271585413L, - 1292089443730939651L, - 5587170596809636807L, - 8237809229146017083L, - -2235781308356196513L, - 5423273201690025713L, - -827014178432784464L, - 4410575469603649344L, - -4472642034035214939L, - 5360193252716249224L, - -4572235983836835323L, - -5433653902594010857L, - 4134790485921001466L, - 4485288889906709425L, - 1685824402735587758L, - 6091818520229922279L, - -212523426857309616L, - 8873690209863775893L, - -8812432523459654235L, - 8103047819338531286L, - 4614534509558570387L, - 4229082172984667846L, - 5484460792243331111L, - -2385763800014084246L, - 7030455160712580607L, - -4237997225503760625L, - -8124291737715145061L, - 6327782024255912635L, - -1059957986215325879L, - -4603394046555224246L, - -412280426794415941L, - -3912022758691365061L, - 8274283857906326279L, - -6679687570538459747L, - -6155809572519276859L, - -341344339192464824L, - 4137861550441588415L, - -6618940267671493988L, - -7291675023689911653L, - -7953871974818004574L, - -397153165830243551L, - 4399741193484513820L, - -7321827371527026850L, - 1338155597001139997L, - -7945100475342274903L, - 4522579580699730675L, - -1777997817650119183L, - -5064101783437092203L, - 1113553310062801693L, - -5709720543205442481L, - 772882345518435045L, - 8903336589907078605L, - -8789465120959251318L, - -7834044567177051539L, - 1770279151425541006L, - -4941283968572768930L, - -8127231558741248281L, - 737747628416269099L, - 1574449851957266285L, - -471282776174276539L, - 6739952936193376447L, - -2424982200476312714L, - 176022186483763915L, - 347356729555692814L, - 7550980861784622262L, - -6474882761637742162L, - 6769254801287215843L, - -7346044586598503820L, - 1815045574884249754L, - -4240219227462571370L, - -649819224919779208L, - -3697860834931443057L, - 4209607762757612835L, - 5512379227441488333L, - 2554702396243693813L, - -33063197416101018L, - 6204387436027047110L, - 1121696558750946811L, - -67713675745955613L, - 2900236341998750711L, - 4072627124871947361L, - 3411250942283240973L, - 3459019187218245290L, - -4931935198846519054L, - 8420402881327935528L, - -2700073972687127894L, - 4135622085465759778L, - 3115364578959809417L, - 7905907040079822152L, - 3117202331600018366L, - -6912405766950946927L, - -4526890208931001416L, - -8362196017109360491L, - 7990163642449120866L, - 8921333090931858791L, - -7835160532401884454L, - 2597345228860385242L, - -2019901582135813985L, - -734731610197007345L, - -4478738615320414333L, - -7971363857175568029L, - -4550695664824391599L, - 7004896942426055925L, - 3243444764663891458L, - 8221182849925835178L, - 8413639868002181795L, - -7599742913553767497L, - -4861871033227348667L, - 7180813616057727196L, - 4110358466985293134L, - -9163301540202343656L, - 7407431836530456233L, - 7168833492994704184L, - -3225184215180636592L, - 8550286352383434501L, - -4037242040051553894L, - -7019860459089371337L, - 6499568859919656194L, - -6517870390876058597L, - -8816903563531564452L, - -5488567103311833696L, - 7162975208461021799L, - 3231150263108104601L, - -6472825090155306196L, - -7112727281349161724L, - -8908480908774446053L, - -162138742916032914L, - -4934765719133081654L, - -5383597847234182085L, - -1457750799424768103L, - 2062788467226997042L, - 5195212083662151172L, - -7086725269988157115L, - 3216790230270684188L, - -6772983200597124262L, - 2139536380152189149L, - 2783400616608816134L, - -6309269121238725342L, - 8703327852945446994L, - 5986578967392046329L, - -8686234791137218952L, - 7147175926193618258L, - 2812520130705527307L, - 1012516456501023939L, - 7796658848573086967L, - 2642184550087192362L, - 2521303561751617614L, - -2372355039844318123L, - -7982908463432899233L, - -4773586301827797121L, - 4040904044293393487L, - -142670900232845920L, - -10691804562559377L, - 8453630879397574208L, - 5612078661433375152L, - -3592401183831123809L, - -1194636486876965628L, - 7144612844993582305L, - 5952025594559102453L, - 7768859735998504182L, - -9046596974248194873L, - -6171084369920910835L, - 1781418400960307869L, - 5081999630281512875L, - -5147831879244994539L, - -6245492622672631422L, - -8665204890652827995L, - -1175718303513980672L, - 8885449897820005156L, - -328163209321586593L, - -1445525508305375763L, - -2100999238041350502L, - 7410786050561217868L, - -7914164711220348362L, - -2906200250494490361L, - -867790952312765711L, - 5887767909251264450L, - -5789450489200739242L, - 1662159886119924244L, - 5012361370472355454L, - 3429745384914079292L, - -4445208736020219814L, - -5413763295704138557L, - 839374495111075513L, - -7648977736915073173L, - -3664832624688924839L, - 7158412277573249226L, - 7779305491962558566L, - 8039313349173431072L, - -4220847824862505833L, - -1939839155925934724L, - -8034010027834756500L, - 8475758752811450501L, - 1099214246266343746L, - 9186354033975902114L, - 2335697942068596836L, - 5125601667360226370L, - 6606318187238773479L, - -1182364933194642155L, - -1282696136769309305L, - 1154559731683162717L, - 2886049233756462774L, - 4825677492212933300L, - -9121350732551109877L, - -877752678277742358L, - -3266764465431864389L, - -1914199636241277795L, - -4687907120417383299L, - -474253911596715394L, - -7075290400477487025L, - 8134957124130148548L, - -2992238854808660187L, - 5996516183600836003L, - -371549095799671162L, - 3902975175457565825L, - 6605036583318392521L, - 1891100275270423451L, - 2119245665259072674L, - -834774890825819923L, - -231771124221128734L, - 3133196876747178672L, - 7298692169226203885L, - 7126455091552696586L, - -2143648506542037333L, - 2865309216991778464L, - -582169278536046195L, - 8080177625773872889L, - -2641866597771089394L, - -4210759777426999986L, - 8940623302154716559L, - 8753678355208533280L, - -6281297936039038456L, - -4466014453281785565L, - 6273362062923197148L, - 2333217083667471091L, - -2134695293413683177L, - 1638282373040657672L, - 3200622258378038793L, - -8777912174432066160L, - 4509402067996738269L, - -5444623700171973227L, - -4861257960719874399L, - -2931845644152220868L, - -2415035074251453041L, - -3415608992526650142L, - -1100060277548286709L, - -7950756431533405941L, - 2529778543681983619L, - -2509511542105356611L, - 25235701976844069L, - 3512243450460933893L, - 5497081699936367558L, - 8834833749235004269L, - -8786955172657476976L, - -2806229680204644453L, - -5310949673572257587L, - 7180989110601385791L, - 4574812998786692932L, - -7191136183375597108L, - 7817612065160053901L, - 4092147258927215079L, - -916694886327147203L, - -8155481011317235899L, - -6577214469178899288L, - -4704682976594284594L, - -970000750564611255L, - 6392037803435901919L, - 4653466442162924160L, - -4217569099833350175L, - -7494295064988163591L, - 268071204677339466L, - -3128139626778549626L, - -8490295735340959824L, - -5162368829222403127L, - -4379157681365371219L, - -4505869932044746193L, - -7725004848904746158L, - -1077347489733049759L, - 4372692724364737369L, - -6095523387109702205L, - 866555760732064401L, - -6043383891507219565L, - -5064298145687783678L, - -8284554766413268444L, - 4358509246174021158L, - -314402459279271878L, - 4534052702364464050L, - -5069975264209271430L, - 7618881160105474363L, - 4167592104901771551L, - 2277499839812963141L, - -5797737740917833733L, - 5386843611229288306L, - 322032948055534721L, - 8623908495470433985L, - 1464656873108399270L, - -143110847782655873L, - -3683505493125515417L, - 5263884653798534228L, - -5596816932431872850L, - 449263668055475580L, - -8209880385374160761L, - -6160876842633556933L, - -2822510119276015598L, - -1867833971803598158L, - -2743011208375680513L, - -562758870972224424L, - 5241707884356795802L, - 3044382044884310303L, - 4240643424518839454L, - -7202731734581844883L, - -8098501199143125283L, - -2550459180607677020L, - -1776717083783659251L, - -2343369089757631624L, - -6293279254462751659L, - -9100627021059872276L, - -1298100985130924363L, - 3390116780901102550L, - -4663999614093100429L, - 6916372370306791572L, - 1488349423055656442L, - 6773020852755024150L, - -7005014351468554871L, - -4753926923183579314L, - 5415870192658316069L, - -2670881940811475410L, - -7225213211793183097L, - -5703028807893997804L, - 6561444537664669662L, - 8939981796276591301L, - 6017910964940092953L, - 4500890776998912544L, - -1835018042586347444L, - -4191687948466793374L, - 4106435482907441086L, - -6130167349217050086L, - 620129892796426300L, - -6144158488464216798L, - -625006850515938527L, - -6682172611475406987L, - 1220842624016183584L, - -7098540157067814615L, - -4378743347226734130L, - -6508042393772984279L, - 5289282493574993598L, - -6781000719696595982L, - 3322666381578332368L, - -8173363279507413324L, - -3603049973704190207L, - -4316988796658196446L, - 914989291445423876L, - -305370752767861151L, - -6987550192802158001L, - -942676483343861967L, - 539036846465448158L, - 1605373100913987077L, - 7713068526230669637L, - 7241900405827926293L, - 186408038263119881L, - -2429472274603752977L, - -5720789098334319209L, - -6674769505767916301L, - -581393540490176967L, - 3124744789645879825L, - -5602915602343937931L, - 3263507419526132695L, - 6937077332985554718L, - -7919624999578199393L, - 6556190618267765484L, - 5682381095734864238L, - 7614251273120089370L, - 3395157685499349978L, - -6398328093992251036L, - -2651093395236575804L, - -2097470820892650054L, - -7267148748500151232L, - 5507274834982481157L, - -2194323672581532616L, - 2269493654210886217L, - -4216275761811372636L, - 7228709978053803804L, - 1544682503099095700L, - -8135200911288478327L, - 7339704802803690870L, - -9063598666954112733L, - 4249185982522288588L, - -4695745996091883154L, - 2627137268581003083L, - -2578238879441406084L, - 2429552460105156204L, - -5016405662860787559L, - 1213685060600888916L, - 5207480625629771054L, - -9039842400434871721L, - 9199909831090107055L, - -3171515520826634527L, - -1366973376209295366L, - -6750324026060931870L, - 8743899778045759827L, - -8621966377322960273L, - 4838450322903886505L, - 1788019071908015560L, - 4913822197134872906L, - 8309346613152344445L, - 7951951012499331460L, - -4689530477253691656L, - -375319494882093024L, - -1845044534505086395L, - -8796776862070375491L, - 5018318155817526800L, - 2586522091503534478L, - -4968582762284083199L, - -4927465852300428021L, - -2580812699959118622L, - -4904418483836862133L, - 4578001388519224564L, - -145427029490022812L, - 5605281842155781953L, - -8269674765102782771L, - 4873099922414055552L, - 2170749688227700120L, - 4825942009324106796L, - 1792050877115378285L, - -6605853503524394834L, - -3916692778840952841L, - -1986097963548896269L, - 7892537689540433594L, - -714136291891260346L, - -1648197774385026330L, - 3795404391823901459L, - -1987978550021718355L, - 8998001289418857599L, - -3968668700060172110L, - -5244271268838414883L, - 1096876802937588911L, - 4954206823378648244L, - 5569423710280172585L, - 179070914051875895L, - -1379762138674772955L, - -6297783890085466379L, - 8673286033209200164L, - -209771371089403783L, - -8371158182924445911L, - -7703744831611511871L, - 1612557317982335369L, - 1602832695339190345L, - -5248812496760442693L, - -555465681086935620L, - 2520493230458560658L, - -6666085761216925275L, - 7883921169936066300L, - 3038683421696596159L, - 5845618097380867812L, - -6239014819988016480L, - -8753088746243740226L, - -2330652362011359445L, - 840642889332131730L, - 4416624017275726341L, - 4690979542527364119L, - 5378555482069527564L, - 1969844668631546234L, - -7848379025576209733L, - 1977110971269560399L, - 2026765724811466304L, - 9004994755727389006L, - -2875238066205385075L, - -6183036361941845026L, - -2386657827628040463L, - -4350668673682921339L, - 5862965863197982604L, - -8441011186955249281L, - -7186928257432232499L, - 4577738672815669344L, - -4699309429317703093L, - 1727205267222358381L, - -6451216071831055595L, - -3419094732699739587L, - -9202486234602916474L, - 7995498040430401544L, - 2322468220197016729L, - 6579662275874920800L, - 7479989025114804641L, - 7484110942964095819L, - 2864220530563314806L, - -8398057079307137296L, - 6439003393908427189L, - -7835388314568774857L, - 5595140202807403856L, - -587980358622679054L, - 5729028629565035445L, - 7294164757654120979L, - -7034561723919575604L, - 5344573969684937116L, - 3196215998156871328L, - -1123378572589443417L, - 6074546259209406933L, - 2893792398378492069L, - -4483476567799717014L, - -3363408847369344926L, - 7141254867533804482L, - -5940527802490951736L, - -1094882559952364017L, - 8329622896679444321L, - -3173141862687107863L, - -7280018015022509268L, - -2089330837882663590L, - -354683141083920270L, - -4079664314326720324L, - 7616886288174535159L, - 8554847071096590810L, - -8173759087524336468L, - -3448863502458656393L, - -5738508186162418231L, - -5111997041556312344L, - -8550681297377936354L, - -4330402296580745208L, - 67088796475747867L, - -6874504283145514740L, - 8707156726330695854L, - -8450062796293630088L, - 327731584813515290L, - 7304259244110792264L, - 419104563434390334L, - -9153064691975026716L, - 7490483813653854554L, - 7077589656341495466L, - -5945353789867862552L, - 5486988927099214347L, - 4267202661349380766L, - -735203469934508862L, - 300049113155592253L, - 6668837619034437534L, - 213993526072465908L, - 8835245471465274914L, - 8183790714937497863L, - 8258711456036176276L, - 7136444522589690162L, - 1211565004822707193L, - 1989924245575051080L, - -218487864794566557L, - 2952924548635767820L, - -6462002167772557833L, - 5913246427219973975L, - -3174533491330927888L, - -8785311174506482406L, - -6684494991311010323L, - -2482601218412888093L, - -7285335761215045787L, - 1211034790718408728L, - -9100855059113049869L, - -1486270963118123907L, - 5275833683049609995L, - 8459420716417000011L, - 5533842052546250233L, - -6743116187090502104L, - -8218081861923503701L, - 5761628519765780332L, - 183841883985945582L, - 6376290782250169855L, - -775214822639981928L, - -8823028331753034219L, - -7585331840565087967L, - 2975478445973141542L, - -5063889138086837402L, - -2979700995440085783L, - -1219607777405733761L, - -7530208062940995205L, - 1583477077636770548L, - 687603337248263893L, - -7494884423475008422L, - 8422729696142094927L, - -2688483407638967316L, - 3899397712568319078L, - 7271622649506188466L, - 5081817906386987096L, - -916174376204972738L, - 1540653617218284471L, - -9108776863627327658L, - 409951124500633339L, - -1411012041120099174L, - 5254818079101287689L, - 4655192715659848616L, - -4055996322312971483L, - -3525221214301544451L, - -857176511645353866L, - -9137977946340218096L, - -2464138987127699380L, - -1572944913716776527L, - -5382357127457681304L, - 3400456476820781019L, - 7092666713014777182L, - -1016869719262402776L, - -4296380651220352294L, - -3137955217832540411L, - 6899747201222115049L, - 5612318743221858846L, - -3082611894693908037L, - -8765593464570788072L, - -8518170211087455673L, - 4127210266223470126L, - -480745760307138952L, - 6366437837796426817L, - 8633027726559958619L, - -4876440158972240126L, - 1910667810356463924L, - 525819879391508442L, - 728364790223504935L, - 1801852490210258450L, - 1693556137065594317L, - 7512677136171374024L, - -8502671549747219751L, - 6750465734377947195L, - 79926463486212071L, - -1606928706353092712L, - 205498205560429840L, - -8511147442275932832L, - -8428335428540761347L, - -7426388905907916885L, - -6514050737271088879L, - -2450758388754574856L, - -5091230991480586360L, - -5169952131144179624L, - 4447490729022261013L, - -3692318537052447395L, - 1078660998337165744L, - -3916568308067450676L, - 6024800331836073525L, - -8107333408030092167L, - -7607289536558565257L, - 5247807205554828460L, - 136732938448579124L, - -7158883148260417938L, - -6099971793579365853L, - 4854881589738432309L, - 7711527295835389228L, - -8549957081212159598L, - -7303058748474201722L, - -7681406204943895241L, - -4881190754207950300L, - -6035776958688302906L, - 7214212236240295751L, - 1981012208386034732L, - -1049989180117070494L, - 3924935253660959406L, - 512859785555014414L, - 5908617682678575542L, - 6758310316951005278L, - 6189924959604816301L, - -4920405470515789427L, - -2117869367297703052L, - 6707816747990551118L, - -4980047489747530190L, - -7365247289662920271L, - -5342685489927387987L, - -8590216048531947264L, - 6817356446955049603L, - -1378280258813293636L, - -3592400710075707758L, - -8871693364702999347L, - -6373833613639184348L, - 4797638018086956108L, - -5647576741545902954L, - -7901112803680191059L, - -1362942868170890798L, - -5813135684692802772L, - -711135680335633766L, - 1062354220967606079L, - -7871043181645557885L, - 6112341712359859833L, - 7916891160508372008L, - -8003652862887082098L, - -2396517101239953792L, - 4370059680750956803L, - 1363641917746765215L, - -5876946297329039758L, - -103128310036998617L, - -3800790044039752368L, - 5199080865813174926L, - 5691839759690453434L, - 8175397015029172130L, - 480520985319940721L, - -8578753082637254739L, - -6716879961856683419L, - 3597461575855927530L, - 4979191387439246058L, - -8320455146441525699L, - -2114691132483379200L, - -4537130860792099169L, - -5718306086279916956L, - 5136790107805442544L, - 7289096860375296487L, - 2880058958308819603L, - 3767398060224293737L, - -492404481239348279L, - 9012315970305384994L, - -2684151666886841943L, - 7272790214055332206L, - -965422762587779909L, - -5443848734878691959L, - -8153873600234827448L, - 2490597961970604400L, - 2281204882791254127L, - 9133290251048762192L, - -1491895733843702610L, - -3474774710279245800L, - 4612394989169216779L, - 2622616589522119419L, - 4355987380154620492L, - -2850604048799570616L, - -4107832232055765572L, - -3723943963188375533L, - -8366293232338256548L, - -8701054798330196757L, - 8878901433891377891L, - 7295106607144564961L, - 5312667635062107659L, - -2358396954926641322L, - -4984697743423066531L, - 8939820283882288854L, - 4023787057481178052L, - 4597747073035337711L, - -3865522208345382306L, - 6560083733272461230L, - 2427578708615942986L, - 221210573151544106L, - -694084245105944199L, - 2078710449028907801L, - -823943775911009298L, - 6602372026224749570L, - -6054136931573131159L, - 601483741465077007L, - 6742891241881907768L, - 4262941380660230060L, - -2511197275383350546L, - -9092751631744236653L, - -4870448764794484926L, - 1830385011126178734L, - -6596888154152123634L, - 5648158405496157638L, - 6386181707589856071L, - 3363359913697235141L, - -7056659780210553822L, - -5261178176756493055L, - -3944960812874472523L, - 2763181386445379193L, - -2619663536437942233L, - 8897272156543942808L, - -1257206140816012022L, - 5942440353528557164L, - 4786157224137440415L, - -9220126986536151642L, - 4182399256221021027L, - 5315354483278533273L, - 8269371862567018757L, - -7830778159860165874L, - -4812100746794420620L, - 3498354375067608851L, - -746722368941475584L, - 7380715032997081755L, - 5189957981103089885L, - -4300428216272672646L, - -408627655218877478L, - 3669295430170749153L, - -3178922344308130598L, - 808687805654478372L, - 7382854145017135524L, - -6443473827958318421L, - -3243447797010153128L, - -1263178138991133398L, - 8750726774705960543L, - 6533471826240257695L, - -7394781107965678936L, - 7513264927729266721L, - -3004378607368189670L, - -6171795523163885499L, - -5383549323957030811L, - 1014976843641973640L, - 2432193004343470889L, - -2321713758391047034L, - -5925760547403348951L, - 236543589293463223L, - -6902103426228510687L, - 5049656219947439343L, - 5906696563051122955L, - -6356958402903730770L, - 7486754190124721854L, - -6788905906689198314L, - 7381793004093637930L, - -4615937202128935315L, - -5266672324677452216L, - 1047319090632526857L, - 9103083281304922244L, - -8812437015774444320L, - -4970183476407639031L, - -5247957782476148736L, - 4465954112135309385L, - -1053934358778018400L, - 5829139887286261453L, - 4669463005092905624L, - -3286153457025266798L, - 6416979317993515170L, - 842322401817513616L, - -1776383023933641969L, - -8880210007231865557L, - 4508732217351572993L, - 1193868998902473261L, - 1613803703795008000L, - 7204477604144047047L, - -8681096723143103693L, - -1746910701409113306L, - -8920378322388987992L, - -8966483163014777443L, - 2824165487928805094L, - -5662128102397495131L, - -6624810964386882286L, - 5452692340292941871L, - 4316228119275391983L, - -9085964721275713953L, - -2133433404692719643L, - -7343693486447937998L, - 1109852172632293793L, - 1921023425304227346L, - 4854131887624741149L, - -8634651654935008313L, - -4727747937541913857L, - 245894689954376778L, - -1171354806284191550L, - -4449375760321500296L, - -2278035820133972979L, - 7026254152720723131L, - -5122868976531507196L, - -5791020171604844054L, - 1901595461796531398L, - -4888600188203895159L, - 5238583255328115684L, - 8191725727925819882L, - 6907331918345427440L, - -8330998437541118229L, - -7677204855776214746L, - 3733289736446750667L, - -6086367961329321564L, - -2223139316713310111L, - 5551603720291777494L, - -7284366962105424622L, - 8307035520655908816L, - 3515558653608239510L, - -2623185163047066159L, - -2881473020374695697L, - -3119109298045318191L, - 3915842281774372758L, - 4341838354106623860L, - 3536460086838807366L, - -400436201916140511L, - 1034940505346304444L, - -5677328290907787965L, - 3241577004049148165L, - -2177296903540985003L, - 1224705836089007055L, - -7226703706701449257L, - -5217415576556159333L, - 2723639485365257427L, - 3532882935985140762L, - -2367665914582725528L, - -1126240810191393257L, - 6572389991681822664L, - 3742078454964142074L, - 2537741859858174488L, - 2863650720786458695L, - 4444554472903165566L, - 4972147385910153832L, - 565306137953874174L, - 8228468642079060801L, - 3686959913775111096L, - 5015958178622222071L, - 5595710504305494790L, - 3174461843483976916L, - 1297058991090722108L, - -2693601104595504655L, - -3961646960717704540L, - -329224545254449497L, - 8172319141947522776L, - -3283750417712288364L, - 1484324135840360777L, - -4101313183342306762L, - 487423326160209394L, - -6984064475638587471L, - 8613232447441028099L, - 1138585794312519742L, - -5219522830444455097L, - -7068591267064606505L, - -214092808701416145L, - -2087748990108944657L, - 293814116254359703L, - 7396092072095010078L, - 1104271143132319796L, - 5950063587854161963L, - 1918000905829023199L, - 3382742654219329797L, - -7668064903330744354L, - 6592480311131388529L, - 3771018342787175035L, - -9209379343054099077L, - 8809433506817785437L, - 3622962127039251936L, - 4637085440835592271L, - 6356420981957532639L, - -6037359062089609360L, - 2809649815120543037L, - 4910545367671356353L, - -3641944013579376181L, - -4828543933815929748L, - -816942255851701146L, - 4500737028494484698L, - -5360859409398459244L, - -980188011105516319L, - -5341147405229376051L, - -5059204503101732424L, - 2323241341608001835L, - -7234489726660109408L, - -4399342489059768231L, - 568957892278445175L, - -3128288682699716902L, - 268059501110939604L, - 8869377529779418169L, - -5191201845817789231L, - 8742584095090015507L, - -1833031289184026905L, - 441773167769005703L, - -2862985803782167939L, - -2217136279577453892L, - -4699777063743038799L, - 2319030942204069894L, - -3096829301818651315L, - 2152089781530614740L, - 3591093109998414360L, - 3737787276968062484L, - -2075424185432267668L, - -1313631551970774685L, - -4919910057472342658L, - -1163170530272854872L, - -3783140882996568908L, - -8037533461827223438L, - 5147544332470383179L, - 1327994358379982364L, - 4326125443692555139L, - -1720554764987678589L, - -6224447350716142955L, - -3664233167161816084L, - -1358465093069484872L, - -3170767669678732241L, - 3175800087146479659L, - -16337625285930414L, - 4460646835363181976L, - -6184155055121584051L, - 8105205207275831311L, - 364645839147141988L, - -3252358421106878137L, - -2379855386905973850L, - -717996509442787349L, - 7039157268142466226L, - 8799412946070712593L, - -2256794007843286070L, - -3026828459050443467L, - 6316354959643887085L, - -632743241481339103L, - 9192761499170372867L, - 7519964503218211187L, - -3171788476130391814L, - 4205532823146854278L, - 6513522002710255853L, - 4968793986534390139L, - 7924914011447575185L, - 3506146014983106198L, - 8511722175131586351L, - -3535216109813816630L, - 3043419627940964079L, - 1989151438749037821L, - 7233464223954842358L, - -3249615372439963990L, - -8665368429824794064L, - -648378579874199315L, - -4727955777856631607L, - -3689595611110413143L, - 3856183988075237273L, - 5517263844496266427L, - -2433339568447789451L, - 6589509038357236405L, - -6774119612186335761L, - -4350036823275823154L, - 5834187175154047558L, - -3767301317720281706L, - -8702001427232534750L, - 94015559239255499L, - -4379700402807826L, - -1859937611212626430L, - 1226887111095682425L, - -1185076345898896498L, - -7829178625122620180L, - -2280062727697501740L, - 2556040939242422304L, - 6251964074628081557L, - 3066879182290958720L, - -8785644387968277547L, - -4488264477615612586L, - 8127606717194526874L, - 4890787706249869594L, - 6356833732756963227L, - 5174834866809420309L, - 2027973333647796824L, - 8053801885705963745L, - -6944307380006370243L, - 3113788140330654611L, - -2986910451567880470L, - 2425903292748474372L, - -1715269818440437717L, - 74338710306223399L, - 5132849055217923687L, - -6714922651557874917L, - -1476767669230945550L, - 6267869827386314060L, - 2151492872494414422L, - -188287405141817418L, - -2396141142455784570L, - -6107851785102021570L, - 2899506268788328800L, - -7955799538392167846L, - -8939834619099069255L, - -2962366035946053462L, - 3123384032637701312L, - -6706608866229291712L, - -3500046218323398125L, - -168870750581166069L, - 694099585994227916L, - 430038091926664816L, - 1624356164486366102L, - 4334130261304381128L, - -7324629223026415329L, - 8823152808567544116L, - -8620326148777841379L, - -788126204987848665L, - -8814182475375947241L, - 1080002348337528081L, - 3043074730722911830L, - 8234596790989448752L, - 4608358602898896255L, - 2343398753207867914L, - -266697139298886785L, - -159260171872612558L, - 4370044052923372524L, - -2995614366415980410L, - -4209600344306251016L, - -8755371846184338683L, - -3955855588499799050L, - -6787638727374739702L, - -8849461119575970289L, - 8716688164664398086L, - 1514577502053504108L, - 2240729936627952880L, - 2838465136424227986L, - -1487161195056206463L, - -391895021770092123L, - -717250607935411377L, - 725101643113018626L, - 2018234564447318861L, - -5254575322305083709L, - 4424742596549423606L, - 5662970072122589602L, - 3130397907087802883L, - 8049486087948419299L, - 5557801586424368035L, - -7085534093136275857L, - 5600569740806125553L, - 4128462226512133482L, - -1574925284503437735L, - -5135068613676616410L, - 7314046845044324564L, - -3686747832999142812L, - -1564972575538757040L, - 1120348884617118977L, - 3412879446395492399L, - 6962651138322613963L, - 877006726541596979L, - -7866734399584535627L, - 8572173997988387711L, - 3835382868124934929L, - -2583877131516514905L, - -5102649011667592384L, - -4798459575624269557L, - -8156429235664983329L, - -6239845266330519720L, - -1914747524813276529L, - 5363997714419355781L, - 9210533546107024609L, - -5245165629299500976L, - -5193672401549237041L, - 6597128830638074557L, - -5969845161062876521L, - -2445089653030403139L, - -4797981019593561429L, - -1962888612492761260L, - 1803013398616297242L, - 8744887681327442130L, - 5851196282496012008L, - 892128523146305717L, - 4170022229766562081L, - -2134478426920707338L, - 1238027773513435748L, - 8866916391213127576L, - -5827099544905007258L, - -1552818987126555097L, - 1979982077379021084L, - 3998394901457623548L, - 2787580374700656688L, - 8372209727011402499L, - 3409775566082298245L, - 1114413850985679686L, - -609417232397692848L, - 1762759225268672019L, - -378983625905076170L, - 7435306721054054073L, - -5155196407132036358L, - -1668786196380559129L, - 4519643915893375417L, - -8609870523645938036L, - 8590593064246052287L, - -7126254452521759890L, - -2826314600096007100L, - 1624568634286818020L, - -450700576225246242L, - 7539390560191158137L, - -2188075991300573837L, - -4681497720947957856L, - -4688143896220383919L, - -4305920512968147039L, - 2656654774987994840L, - -4854606985975851256L, - -5361383744936804655L, - -8947485315238255267L, - 3311598196079410229L, - 607952732017041432L, - 4481836561581728625L, - 1856670507280870266L, - -8371889865268432118L, - -794649732821127929L, - -6144467833645861578L, - -5870596264115217421L, - 1547182795679877050L, - 3554393108243259363L, - 6096915670896392585L, - -7585113688284079403L, - 6283800140108182083L, - 7325444638523598785L, - -2676741791420355695L, - 7399210828703529226L, - -5153686314010544980L, - 4553182987876882087L, - -8475602433165535745L, - -7549754731031245776L, - 383864735074387336L, - -1462360910626047142L, - -2503433555198690048L, - 7124680608501705883L, + 3244421341483603138L, + -4302098779834749733L, + -2998166160713018281L, + 6864218090047839419L, + 6979084321315492338L, + -5731546056562700354L, + -6460328875922888956L, + 923809989133364073L, + 4187271766389786872L, + -1629980255024596516L, + -6095164084758671497L, + 2086176710598203789L, + 6543284205211650379L, + -5213522776729965383L, + 5545158833176453687L, + 6191585008302141506L, + -8983023575487778597L, + -6993173599622040792L, + -679721864292929835L, + 6982591615625134866L, + 2917394212576059053L, + -6639923505334063205L, + -2362153139612899683L, + 4776590923197089330L, + -1506670496010913414L, + -2647877581130602390L, + -3024194937172852654L, + -6786232254807398843L, + 29867523197922776L, + -4755612273762186448L, + 7027486771791057426L, + 5707990981978323197L, + 3829001002278603781L, + -1833995589090992552L, + -2859822223207566521L, + -822061951152501107L, + 6172313773566651166L, + 3002688263104272481L, + 2442729726468942826L, + 838920225343106725L, + -3625228911788322244L, + -3085758516746786139L, + -8838726273629984649L, + 147628805604629229L, + -8609901492927370359L, + 2523698187551014389L, + 6168573373090741088L, + -1129058501854041166L, + 6287935907341083849L, + 7111303459234964792L, + 2178159668141251214L, + 3355500812482858732L, + 7998592630692471773L, + -3657590562873574961L, + -6707964006400412490L, + 5984672195388902266L, + -4866191761727097338L, + -3867761180105420740L, + 5010507633288345206L, + -6360606695257557456L, + 891304432194930768L, + 891409307892263904L, + -4666213895286452910L, + -6150244752716240152L, + 7027844749552840021L, + 7577525643630617296L, + -2909908046638187264L, + 1269898915928975170L, + -1296685705337969741L, + 6880380907958913107L, + -5157697080261523794L, + -2384830554205610823L, + 7117698599495882683L, + 8436634904183317409L, + -8685705461888375606L, + -2099116977851507310L, + 7784639995868301609L, + 620173983152449558L, + 7875300522364621790L, + -8571663595578279581L, + -6074103631611676465L, + 4991809556790719000L, + 7182703058112323703L, + 6700847687881865453L, + 2471686449789799931L, + 5615843466129961201L, + 108638713672822205L, + 3583360813653880832L, + 4747956906537059928L, + 5998273219519720430L, + -8227785307205256168L, + -7813674951517583442L, + -6588167816065898573L, + -6862603585040654361L, + 5081695234398607736L, + 1329474798079286264L, + 2849157965221752315L, + -1791866940674927372L, + 4332646258279960296L, + 4180229147886927001L, + 22042537110060316L, + -2696513067094881964L, + 4479930798836342597L, + 7717940613376663979L, + 6494116526350833911L, + -197304122858742249L, + -4396092174831810083L, + 289832483284799872L, + -1407793616753546142L, + 8107749310172792421L, + -634728965402563086L, + -5703942985817925313L, + 1530829577509875692L, + 725468970373613536L, + -8861952843133984162L, + 2677458900969433422L, + 3204987178703259401L, + -5308372023803773091L, + -4001659458034098463L, + -4307920379982142578L, + -7679947731286800682L, + 893843933290517983L, + 4059405294108459720L, + 1831062127804751133L, + -2762239301578822450L, + 6439416643289274311L, + 7794216615102176353L, + 1300299527667998511L, + -8807326403944725397L, + -1407864491810865574L, + 5562548832393267847L, + -1909668463603883104L, + -3001908439859224423L, + -8229811775093055754L, + -2185505997709248158L, + 8747474804119761845L, + 3375976894941005122L, + -8687541524345519584L, + 7475418969225723061L, + 1090519453973870407L, + -8039787237657230770L, + 1464043301476531850L, + 4392840094176543368L, + -9069431037609626595L, + 184117852034042369L, + 3048613549567428513L, + 8360545369892314479L, + 4218067793502522363L, + -1984361661054820977L, + 3359102789277797744L, + 7846237042486223698L, + 8441054814755521322L, + -6067811722142115057L, + -7157356563671886865L, + -2021770978571166827L, + 2181025843643822270L, + -544448869202488473L, + 7057264048203590026L, + 4363323697043225181L, + 288118730444504008L, + 6623265038156431800L, + -1346676098681766085L, + 6693111459824679536L, + -5826625922074103454L, + -3486949479332473670L, + -5491430220943863042L, + -7571085429759204806L, + -5040253774339356206L, + 3305212073815689334L, + -4916812550925428252L, + 3791981966901325707L, + -122684436810232675L, + -4859495698099370447L, + -7070496757192133073L, + -868377069569577871L, + 8419145116270703784L, + 6800486273015600197L, + 4633342516797787668L, + -1661577990952520136L, + -334342790235531239L, + -8872817819424402897L, + -409486044664079154L, + 6190926389261136345L, + -1300830024987992860L, + -3395638269793024332L, + -8493538135787539363L, + -6621335634487712846L, + 1973828869629126484L, + -8925429074145354136L, + -2678123694384376779L, + -4225602364907809934L, + -7257068922279808299L, + -7485343360991292969L, + 2406538583069093177L, + 926637182534700777L, + 4630670481086444853L, + 7851742083103622018L, + -98392444236074312L, + 1142322156420818107L, + 7462750549553202851L, + -852719212082297085L, + 1478659643974205762L, + -6521398709638030532L, + 1345928530210989700L, + -3363927467796334767L, + -4501085897120438635L, + -1855175868195079840L, + -8957269249266743558L, + -5499424421497234822L, + 6823468430111213664L, + -8349332096263306503L, + -796191064979922279L, + 3070550474559678794L, + -7237539936935226606L, + -1467576285689886091L, + 8020665312084081577L, + 6549665319606165521L, + 8265205303228562057L, + 2959656348340404166L, + 3479620626361283295L, + -1809040706699436602L, + -6118995013506825485L, + -3703429629123416796L, + 5314878427138221245L, + -3374786619071663812L, + -6020893708387338112L, + -2099692294850961452L, + 5628155794800251850L, + -4036147416511180551L, + -7941600054572002747L, + -7483400491927447614L, + -720567278261368781L, + 3314031855271606298L, + -5471631794645557473L, + 8887891228392664673L, + -7960828123610685614L, + -766265380117391950L, + -4017904512890559451L, + 3478074185490226921L, + -7553920981498126005L, + 3988562325861820517L, + 209643423615708418L, + -2464819451665246158L, + -8631718977760664612L, + -4893221336143393409L, + 2390264798730683615L, + -8300749389255144164L, + -3549775289570958064L, + 6514441262456966668L, + -7301663820335638615L, + 4181559756778549411L, + 6215253578855337690L, + -7323335092456459405L, + -1860577032441476467L, + 3644299936077808538L, + -5161174126835724701L, + -7779787747613135503L, + -3446338450597548406L, + -2662609220502962318L, + 208946340318274486L, + 922869894074454969L, + -8428909140908329623L, + -6875524699939418906L, + 5154230294972327697L, + -5868880138852165350L, + -2697155020815738737L, + 6278899766774254324L, + -6124877505863871039L, + 6113186870348198684L, + 1328797232741421065L, + 8936960355443139766L, + 9069883653377839816L, + -6698244186639407697L, + 6633988379507542818L, + 4243888593320380368L, + 1299920470993756698L, + 2315187937474071861L, + 806120923801759332L, + -8537792935927015380L, + -751623313460664870L, + 2455098182130434513L, + -3041072155357054618L, + -5209258140949481980L, + -7784651030341623624L, + -8624281235662545565L, + -5185374153462168974L, + -8728622305551122108L, + 3633316488676598179L, + 2341850275669250720L, + 8998800880957295269L, + -2791108801739767859L, + 4207716787796156879L, + -4083554261407892809L, + 2977762250156739855L, + -6066243213313847782L, + -3134677742513834402L, + -5231660756514911289L, + -7916346081138370244L, + 9105509708951212631L, + -3071680532260795719L, + -3152428524199455707L, + -5276930195233923125L, + 1981446637702558747L, + -8822786060285469479L, + -3086453182842996354L, + -7521798164704108718L, + -7460429880600038351L, + -5031515429775225415L, + 5662627828449328757L, + 2804157867790593789L, + -6183934836359652529L, + 2425310972806241292L, + -7877162957672040682L, + -4575453773921540745L, + -6152892230011262930L, + -1554429781063399588L, + 6395550633581619922L, + 948199150697514149L, + 4123518706442132507L, + -8620024481834864148L, + -4627311960537433998L, + -1517263476517287336L, + 3087156144310177979L, + 802387854806242344L, + -8223164854162179626L, + -8876883825341271093L, + 6189924694943538938L, + -558048344469199000L, + -6388815497071843014L, + 7970082794223216108L, + 8943146030443257086L, + 1919558538884824162L, + -5413821296846136841L, + 8482255996292420949L, + -2059351044571046226L, + 8122315934009425936L, + -6002133579485340781L, + 6439465961707132723L, + 2763117897158909339L, + 4241846593057682886L, + -3156374353704014890L, + 3611310604513156987L, + 2539868227324188707L, + -3160603853021599046L, + -6694565052629228305L, + -2829087677596299075L, + -3855421753196086451L, + 8353874633819013271L, + -2485914493713180581L, + 2924901647540244351L, + 140830235769158231L, + 8924525771772034372L, + 1991645829771754924L, + -6409133430531739321L, + -2477349252564343349L, + 7592298137540200578L, + -8706120837264950112L, + 2330049856518978017L, + -1333715564956417750L, + 5321303278236129003L, + 1316603583801631000L, + -2052093890021786856L, + -2212919092132307727L, + -1138248150179747101L, + -7297574785915472699L, + 3159392081609537393L, + 5438969032594710113L, + -1117946266762888661L, + -3513962250060316650L, + -95470470775096400L, + -928547845419412355L, + 3064209748165139149L, + 5570740544374382296L, + -4848606292970499536L, + 1249733847255258336L, + -9081876379081045111L, + -3178350430540128617L, + 4580722282117591455L, + 4910338723691444614L, + -3861107435455294057L, + 2455351552393139588L, + -3098045343671378301L, + 1276702104227748441L, + -8725606894849543465L, + -7043526197674754455L, + 2543751490914779898L, + 1111188191726666289L, + 3299681536744686092L, + -4968407975804173061L, + -8443232222924958642L, + 2692856020311995538L, + -7295992543900831720L, + -835426980056055153L, + -7189216512060259212L, + 1546667140862204220L, + -5157738526808785307L, + -8400112152363165211L, + -2562446629278342489L, + -3984312152746163924L, + 263973571859894620L, + 5863738959863392730L, + -3750469576779228200L, + 2859093520615066384L, + 239574671716835044L, + 1758244848125395099L, + 4692926060224877180L, + 2328985435627410056L, + -712944964417726519L, + 7575628018175957835L, + -6461647485226712981L, + -9175844658802936237L, + -1791894645853433273L, + -3209291319104719345L, + 8435774909159574457L, + 3068904622159492539L, + 6405574310234631665L, + -7236310029621050895L, + 1939741827857698370L, + -2711876483320863546L, + -5191337944005182792L, + 851301927202074099L, + 7817558216393575797L, + -924173671401578135L, + -8870424728276452684L, + -5612135981154918473L, + 5352840780989627332L, + 3115501649750915797L, + -7282764488136203731L, + -4410122159075968274L, + -5112841868993719465L, + 1606611627835962209L, + -2564625118517656156L, + -7347999176364584697L, + -7520586016175454443L, + -3582872246453049220L, + -7208670274224679141L, + 1407185043226639926L, + 5548472899324259498L, + -3424704481698318306L, + -8898045228081312865L, + -5032961205984329240L, + 2319704565344125424L, + -1858090959206557106L, + -1847512527385111193L, + -218817722784924760L, + -4644538017574761086L, + 527762499588866419L, + 7682925460546142196L, + 2618673582975102782L, + -8339358073633623035L, + 4632344075623474881L, + -2634725682046056737L, + 3264353773883015103L, + 3450256920483368564L, + -8453373497678191816L, + 4324811352547234228L, + 5231611966727557421L, + 3935063678731059941L, + 6338309551930394802L, + 6622686033142507173L, + -5278373537512798709L, + -9063940204441257539L, + -6333833756325058415L, + 3799491381076234981L, + 5050905817684546674L, + -796624655126841621L, + 8334872366472578300L, + -5288752267258476166L, + 4335956913966038392L, + -2247074774901543705L, + 8474035569080943503L, + -3170167932314701995L, + 6999756768956410897L, + -4451078577344071588L, + -8433054951584831409L, + -2640652121643463448L, + -7045594934288710931L, + -4036935141669708886L, + -7734407512972194081L, + 2053541054148333962L, + -566653752431971002L, + 1898804146829115409L, + 8507984725723339263L, + -3742788731083462619L, + -614166854038590657L, + 8147682807535759575L, + 2813322236228401990L, + -7697111451322995338L, + 8023578719528819358L, + -1666048881205334172L, + 2861705383918865808L, + -2067264870309406817L, + 1544932780962992751L, + 5752963315823730718L, + 5563418456763501584L, + -956763705026909993L, + -6723021793890249884L, + 8199491799885937348L, + 8254326245904567972L, + 696534455436688862L, + -4526166123204455007L, + -1244479971115743946L, + -4712028527008594695L, + 3845317619056596538L, + 1397508695414938292L, + 5199778266100306999L, + 7649610185133409821L, + -7736979936936405855L, + -1871499676764587199L, + 4089210433244498057L, + -5319342193649020117L, + 6510328602034064204L, + 1177990759783856649L, + -6211536889696831922L, + -2806444732697667079L, + -5534324430749159010L, + -6189402282341917673L, + 6327177260956086170L, + -8199327532062722025L, + 1757637089703623521L, + -1083020196125888231L, + -4027554827881183115L, + 2536452110533397141L, + -5283309880767903892L, + -8726185014741079280L, + 5870565960746070417L, + -5981985584772708231L, + -1932877698882443840L, + -1002343255004640521L, + 4369245457815499473L, + 574307157338267836L, + -9022123090729501652L, + 289683520338718123L, + -5791631171477648402L, + -7088072188409060385L, + -4659987534525277948L, + -6573587402478059370L, + -9147189283662432041L, + -4621406226758810332L, + 3827992897413425855L, + 8237187128340177815L, + -2575127860924571660L, + -5807831166865245102L, + -5362714198312494492L, + 4800564949032048849L, + 6232971559544384156L, + 5346264270546834545L, + 4418021854956695145L, + -2503709442294180811L, + -6705525727229877941L, + 2807916716409994404L, + -140901784876025870L, + 8341454749980902529L, + -1877846120130857988L, + -5151008775080326365L, + 4141948371168606708L, + -2991396496641036974L, + -8231846204849830109L, + 8817247101288954387L, + 8987037987198023072L, + -3653961272252403667L, + -5540876112254432380L, + 6630760576601451124L, + 3952853764187760519L, + -2752207231177565438L, + -8990910782429153994L, + 275029084438740989L, + 4377008995333363792L, + 7821963094129670639L, + 5910345261804604591L, + -4676534586425310858L, + -893427896035022872L, + -5107326322974521170L, + 5928147272454832468L, + -6838714257802993131L, + 3828181535474040080L, + 108432455104664877L, + 6134860905554719891L, + -9006906057728028416L, + -8785087250130628623L, + 5107258923997586783L, + -4184502077870950738L, + -4196994343382319067L, + -3602525630290645804L, + -721602986806918388L, + -685749048932716724L, + -2226124441764103982L, + -8444470437189672337L, + 5967905323104782609L, + -774529365691330376L, + 5317411683068394421L, + 8753729036148149823L, + -2600284926580864832L, + 1501264369203023713L, + -5589106565383836539L, + 2671769607792597675L, + -571916257780128106L, + -466398102722097434L, + -8668321984643614166L, + 7631202114905008803L, + -8647922451448787023L, + 8025381490498356948L, + 6049280950696679244L, + -7696482417187458362L, + 7140438358861456746L, + -4921885565559803566L, + -7027307783313071980L, + 4879598629629415952L, + -7342155744245645378L, + -2263378697656156016L, + 3707257119850556629L, + 2267112971575522392L, + 4213162373130191016L, + 8934898250536865564L, + -2149765792894599153L, + -5375160376931751557L, + 2196544121130659101L, + 1698916734136113996L, + 3433172695894846834L, + -2849259564218003615L, + 3254138956861413927L, + 1285929622626453198L, + -2349127797610817522L, + -1191286947825336074L, + -9055971338481310193L, + -3525928115330914396L, + -3227633136719463166L, + -133501853014392460L, + 1099153576792978915L, + -648473507797745243L, + -8947946509829984393L, + -183277647411867477L, + -8972836557830117056L, + 7599024178448012477L, + -4558685557381095142L, + 4767843848744584145L, + -1522308275842184404L, + -8584574042672861403L, + -1734332735592240813L, + -5832090116698921823L, + -8717779938268738600L, + -1881355893097809021L, + 7715529933819950784L, + -2289162375063823266L, + 5628801095532857454L, + 4961594313236250573L, + 4618832900030681591L, + -2860026598356511432L, + 1961029532371905567L, + -7427116119564073711L, + -7663272674507523073L, + -1432342159197328837L, + -6656742466964663442L, + 1884610673731472834L, + -3810094228658892044L, + -6616291605664442115L, + -6089433736056798518L, + -7473225570871869756L, + -2962461410122376636L, + -7732736326487208707L, + -4443012182604465346L, + -6157220788020380465L, + 4600227015044805999L, + 4469639125734518912L, + -7792518910888390519L, + 1994555386333163764L, + 4369373061497876631L, + -4738249058452865067L, + -5995135073617675417L, + 8575145712582277328L, + -3326852669647946366L, + -2007891227481667403L, + 7761466597038557448L, + -7224144129768088459L, + -6066361559768252258L, + -4068105427650671702L, + -5560889521429203904L, + -4762527649365520713L, + 2694767757294725688L, + -98412761475871782L, + -1686751510820366009L, + -8638747288926132295L, + -3606421426295459375L, + 703911580424568845L, + 3806874684410471199L, + -5118211203482914183L, + 3783835693585708905L, + -4147496567901501893L, + 4328139758484363106L, + 3028068134370267202L, + -5966389813687232408L, + 2195469898148267913L, + -3080166474377317430L, + 6412533502918649688L, + -4801061500654703956L, + -554194900129906123L, + 1486000469436139740L, + -6971589411333019409L, + 2647463349908157318L, + -6754094203714628854L, + 2314399046579224435L, + -6177383374280917075L, + -5619632493646738964L, + -7301831206207675015L, + -5527516975398904813L, + -7206298956882517419L, + -1535337994919517848L, + 725107219148423471L, + 1938195538047669437L, + 1028829726878266547L, + 3981352596771855719L, + 4637441575637536278L, + -567364300216533096L, + 4215820779392244698L, + 5791138156269639416L, + 527001488112788484L, + -4390338125863921979L, + 5557055272452535368L, + -205316410586789577L, + 6952133288635206796L, + -7457518070084443694L, + 2002018537802900078L, + 1561023860546606398L, + 3006183850758749007L, + -1361037422909233361L, + -4203933835330884180L, + 7500988945823273736L, + -3010872765453549672L, + -3781827987408697259L, + 7460277383018710734L, + 5250710645655626569L, + 1109553850343924028L, + -6498085059809326090L, + -5879222670885240061L, + 6210613100795379620L, + -5759675374559290972L, + 2824738880545011656L, + 3213468672819532759L, + 514328750496380347L, + 4470285007717204101L, + 2269240343629252129L, + 8714859525098129755L, + -6932578361476642118L, + 3219949239213817308L, + -974585298959970878L, + 6482527911604968876L, + 889153561428168470L, + -8207616222981108363L, + 2386860797138412452L, + -6749686321997906685L, + -1105424552884318985L, + -3137963539903752699L, + -5296550634024189868L, + 2919221292190747486L, + -3991521756182858814L, + 3802413126716557908L, + 4556158013211621930L, + -1956520472596138305L, + -1667618395239727751L, + -4948155010712448139L, + -2667546434479018044L, + -5192951416537530780L, + 4474564860866849514L, + 6795504197096101870L, + 348555520492747776L, + -9152654684800879935L, + -139520144005307559L, + 8655115078308054377L, + 4640578432082008138L, + 8526214307008571064L, + -7079091919397494753L, + -4852301075482608956L, + -6726381834527599283L, + -467175742480032731L, + 5092513639393893997L, + -916781769295487406L, + -3306005301217276910L, + 5711239369216246603L, + 7411369067342514714L, + -137089609471843551L, + 2197853544547148264L, + 6994895994975015585L, + -3993584670641567357L, + 7324113989979846776L, + 4848201612974985071L, + -2319141888027790806L, + -7727572350242351429L, + 3611228677421118756L, + 3254031939911056022L, + 1315862663037871882L, + 2762719496333050774L, + 2441476684596910583L, + -1751985778109806355L, + 3156518557955714028L, + -7474525109128332157L, + -402634945481420093L, + 3711042493776857096L, + -526618219268616930L, + -8956423818433397438L, + 3318951429850234648L, + -4065748355754556535L, + -2974465318794034149L, + 9156201933336414671L, + -1224004278953882958L, + -5567810197150710613L, + 7645667176564158039L, + 7437954892140634061L, + 8595047667824297631L, + -4227841629446459104L, + -4073313779073810355L, + 764623093768368301L, + 4502563456929761688L, + 1027370723462817766L, + 7668869338814612684L, + -4780350365503382825L, + -6389061999435806787L, + -2133237830821026919L, + -618977682776693149L, + 467656057704319257L, + -6754479852919060751L, + -121796624546305099L, + -6164861615484187016L, + -8568598162483564153L, + -8182644091745100549L, + -3989631051916738549L, + -3812515520109109155L, + 5458479505950940580L, + -4068063356781230185L, + -2830766632873229698L, + -7592354330098913572L, + 5323147076973602219L, + 462800867816435413L, + 4002154584204048905L, + -803837213195276249L, + 270846859760410932L, + 339186719055655409L, + -1681073433226249949L, + -3172364168133842187L, + 4471576722877991666L, + 5796602822306813285L, + -7918394505018135767L, + -8099706435104488972L, + 3225305587851029418L, + -4366886220054887809L, + 7732358946751522729L, + -228816160482375387L, + -6429545033940023762L, + -4874531170284168803L, + -7919754354938613725L, + 4818550076091948962L, + 3907701057522316102L, + -2162109673539899314L, + -6296577330837677905L, + -5038523314786213767L, + -4182256071671167089L, + 2347804671767305901L, + 8781747195783722684L, + 5464112250608435856L, + 270499223000052613L, + 5387476652934255975L, + -2665753069813354951L, + -6640316903187366435L, + 5182130073111288069L, + 3324630100168604545L, + 6092224834024861844L, + -7314979478990434840L, + 2475323565628074124L, + 3744881942029260381L, + -4468245448047387416L, + -2514532843437356755L, + -8460931029051770120L, + 6058982121000846509L, + -5771467892492359246L, + 4284427580292476574L, + -4502826197302040607L, + -8909965133023702444L, + -5152825667036557377L, + -9001319942906464381L, + 8783326653870239059L, + 7169538748654303504L, + -7206711339673245443L, + -959892259265562431L, + -1673323329893911437L, + -5827914418805049723L, + -820830695253715046L, + -5782181341435499931L, + 2663734005752892035L, + 6987511185271585413L, + 1292089443730939651L, + 5587170596809636807L, + 8237809229146017083L, + -2235781308356196513L, + 5423273201690025713L, + -827014178432784464L, + 4410575469603649344L, + -4472642034035214939L, + 5360193252716249224L, + -4572235983836835323L, + -5433653902594010857L, + 4134790485921001466L, + 4485288889906709425L, + 1685824402735587758L, + 6091818520229922279L, + -212523426857309616L, + 8873690209863775893L, + -8812432523459654235L, + 8103047819338531286L, + 4614534509558570387L, + 4229082172984667846L, + 5484460792243331111L, + -2385763800014084246L, + 7030455160712580607L, + -4237997225503760625L, + -8124291737715145061L, + 6327782024255912635L, + -1059957986215325879L, + -4603394046555224246L, + -412280426794415941L, + -3912022758691365061L, + 8274283857906326279L, + -6679687570538459747L, + -6155809572519276859L, + -341344339192464824L, + 4137861550441588415L, + -6618940267671493988L, + -7291675023689911653L, + -7953871974818004574L, + -397153165830243551L, + 4399741193484513820L, + -7321827371527026850L, + 1338155597001139997L, + -7945100475342274903L, + 4522579580699730675L, + -1777997817650119183L, + -5064101783437092203L, + 1113553310062801693L, + -5709720543205442481L, + 772882345518435045L, + 8903336589907078605L, + -8789465120959251318L, + -7834044567177051539L, + 1770279151425541006L, + -4941283968572768930L, + -8127231558741248281L, + 737747628416269099L, + 1574449851957266285L, + -471282776174276539L, + 6739952936193376447L, + -2424982200476312714L, + 176022186483763915L, + 347356729555692814L, + 7550980861784622262L, + -6474882761637742162L, + 6769254801287215843L, + -7346044586598503820L, + 1815045574884249754L, + -4240219227462571370L, + -649819224919779208L, + -3697860834931443057L, + 4209607762757612835L, + 5512379227441488333L, + 2554702396243693813L, + -33063197416101018L, + 6204387436027047110L, + 1121696558750946811L, + -67713675745955613L, + 2900236341998750711L, + 4072627124871947361L, + 3411250942283240973L, + 3459019187218245290L, + -4931935198846519054L, + 8420402881327935528L, + -2700073972687127894L, + 4135622085465759778L, + 3115364578959809417L, + 7905907040079822152L, + 3117202331600018366L, + -6912405766950946927L, + -4526890208931001416L, + -8362196017109360491L, + 7990163642449120866L, + 8921333090931858791L, + -7835160532401884454L, + 2597345228860385242L, + -2019901582135813985L, + -734731610197007345L, + -4478738615320414333L, + -7971363857175568029L, + -4550695664824391599L, + 7004896942426055925L, + 3243444764663891458L, + 8221182849925835178L, + 8413639868002181795L, + -7599742913553767497L, + -4861871033227348667L, + 7180813616057727196L, + 4110358466985293134L, + -9163301540202343656L, + 7407431836530456233L, + 7168833492994704184L, + -3225184215180636592L, + 8550286352383434501L, + -4037242040051553894L, + -7019860459089371337L, + 6499568859919656194L, + -6517870390876058597L, + -8816903563531564452L, + -5488567103311833696L, + 7162975208461021799L, + 3231150263108104601L, + -6472825090155306196L, + -7112727281349161724L, + -8908480908774446053L, + -162138742916032914L, + -4934765719133081654L, + -5383597847234182085L, + -1457750799424768103L, + 2062788467226997042L, + 5195212083662151172L, + -7086725269988157115L, + 3216790230270684188L, + -6772983200597124262L, + 2139536380152189149L, + 2783400616608816134L, + -6309269121238725342L, + 8703327852945446994L, + 5986578967392046329L, + -8686234791137218952L, + 7147175926193618258L, + 2812520130705527307L, + 1012516456501023939L, + 7796658848573086967L, + 2642184550087192362L, + 2521303561751617614L, + -2372355039844318123L, + -7982908463432899233L, + -4773586301827797121L, + 4040904044293393487L, + -142670900232845920L, + -10691804562559377L, + 8453630879397574208L, + 5612078661433375152L, + -3592401183831123809L, + -1194636486876965628L, + 7144612844993582305L, + 5952025594559102453L, + 7768859735998504182L, + -9046596974248194873L, + -6171084369920910835L, + 1781418400960307869L, + 5081999630281512875L, + -5147831879244994539L, + -6245492622672631422L, + -8665204890652827995L, + -1175718303513980672L, + 8885449897820005156L, + -328163209321586593L, + -1445525508305375763L, + -2100999238041350502L, + 7410786050561217868L, + -7914164711220348362L, + -2906200250494490361L, + -867790952312765711L, + 5887767909251264450L, + -5789450489200739242L, + 1662159886119924244L, + 5012361370472355454L, + 3429745384914079292L, + -4445208736020219814L, + -5413763295704138557L, + 839374495111075513L, + -7648977736915073173L, + -3664832624688924839L, + 7158412277573249226L, + 7779305491962558566L, + 8039313349173431072L, + -4220847824862505833L, + -1939839155925934724L, + -8034010027834756500L, + 8475758752811450501L, + 1099214246266343746L, + 9186354033975902114L, + 2335697942068596836L, + 5125601667360226370L, + 6606318187238773479L, + -1182364933194642155L, + -1282696136769309305L, + 1154559731683162717L, + 2886049233756462774L, + 4825677492212933300L, + -9121350732551109877L, + -877752678277742358L, + -3266764465431864389L, + -1914199636241277795L, + -4687907120417383299L, + -474253911596715394L, + -7075290400477487025L, + 8134957124130148548L, + -2992238854808660187L, + 5996516183600836003L, + -371549095799671162L, + 3902975175457565825L, + 6605036583318392521L, + 1891100275270423451L, + 2119245665259072674L, + -834774890825819923L, + -231771124221128734L, + 3133196876747178672L, + 7298692169226203885L, + 7126455091552696586L, + -2143648506542037333L, + 2865309216991778464L, + -582169278536046195L, + 8080177625773872889L, + -2641866597771089394L, + -4210759777426999986L, + 8940623302154716559L, + 8753678355208533280L, + -6281297936039038456L, + -4466014453281785565L, + 6273362062923197148L, + 2333217083667471091L, + -2134695293413683177L, + 1638282373040657672L, + 3200622258378038793L, + -8777912174432066160L, + 4509402067996738269L, + -5444623700171973227L, + -4861257960719874399L, + -2931845644152220868L, + -2415035074251453041L, + -3415608992526650142L, + -1100060277548286709L, + -7950756431533405941L, + 2529778543681983619L, + -2509511542105356611L, + 25235701976844069L, + 3512243450460933893L, + 5497081699936367558L, + 8834833749235004269L, + -8786955172657476976L, + -2806229680204644453L, + -5310949673572257587L, + 7180989110601385791L, + 4574812998786692932L, + -7191136183375597108L, + 7817612065160053901L, + 4092147258927215079L, + -916694886327147203L, + -8155481011317235899L, + -6577214469178899288L, + -4704682976594284594L, + -970000750564611255L, + 6392037803435901919L, + 4653466442162924160L, + -4217569099833350175L, + -7494295064988163591L, + 268071204677339466L, + -3128139626778549626L, + -8490295735340959824L, + -5162368829222403127L, + -4379157681365371219L, + -4505869932044746193L, + -7725004848904746158L, + -1077347489733049759L, + 4372692724364737369L, + -6095523387109702205L, + 866555760732064401L, + -6043383891507219565L, + -5064298145687783678L, + -8284554766413268444L, + 4358509246174021158L, + -314402459279271878L, + 4534052702364464050L, + -5069975264209271430L, + 7618881160105474363L, + 4167592104901771551L, + 2277499839812963141L, + -5797737740917833733L, + 5386843611229288306L, + 322032948055534721L, + 8623908495470433985L, + 1464656873108399270L, + -143110847782655873L, + -3683505493125515417L, + 5263884653798534228L, + -5596816932431872850L, + 449263668055475580L, + -8209880385374160761L, + -6160876842633556933L, + -2822510119276015598L, + -1867833971803598158L, + -2743011208375680513L, + -562758870972224424L, + 5241707884356795802L, + 3044382044884310303L, + 4240643424518839454L, + -7202731734581844883L, + -8098501199143125283L, + -2550459180607677020L, + -1776717083783659251L, + -2343369089757631624L, + -6293279254462751659L, + -9100627021059872276L, + -1298100985130924363L, + 3390116780901102550L, + -4663999614093100429L, + 6916372370306791572L, + 1488349423055656442L, + 6773020852755024150L, + -7005014351468554871L, + -4753926923183579314L, + 5415870192658316069L, + -2670881940811475410L, + -7225213211793183097L, + -5703028807893997804L, + 6561444537664669662L, + 8939981796276591301L, + 6017910964940092953L, + 4500890776998912544L, + -1835018042586347444L, + -4191687948466793374L, + 4106435482907441086L, + -6130167349217050086L, + 620129892796426300L, + -6144158488464216798L, + -625006850515938527L, + -6682172611475406987L, + 1220842624016183584L, + -7098540157067814615L, + -4378743347226734130L, + -6508042393772984279L, + 5289282493574993598L, + -6781000719696595982L, + 3322666381578332368L, + -8173363279507413324L, + -3603049973704190207L, + -4316988796658196446L, + 914989291445423876L, + -305370752767861151L, + -6987550192802158001L, + -942676483343861967L, + 539036846465448158L, + 1605373100913987077L, + 7713068526230669637L, + 7241900405827926293L, + 186408038263119881L, + -2429472274603752977L, + -5720789098334319209L, + -6674769505767916301L, + -581393540490176967L, + 3124744789645879825L, + -5602915602343937931L, + 3263507419526132695L, + 6937077332985554718L, + -7919624999578199393L, + 6556190618267765484L, + 5682381095734864238L, + 7614251273120089370L, + 3395157685499349978L, + -6398328093992251036L, + -2651093395236575804L, + -2097470820892650054L, + -7267148748500151232L, + 5507274834982481157L, + -2194323672581532616L, + 2269493654210886217L, + -4216275761811372636L, + 7228709978053803804L, + 1544682503099095700L, + -8135200911288478327L, + 7339704802803690870L, + -9063598666954112733L, + 4249185982522288588L, + -4695745996091883154L, + 2627137268581003083L, + -2578238879441406084L, + 2429552460105156204L, + -5016405662860787559L, + 1213685060600888916L, + 5207480625629771054L, + -9039842400434871721L, + 9199909831090107055L, + -3171515520826634527L, + -1366973376209295366L, + -6750324026060931870L, + 8743899778045759827L, + -8621966377322960273L, + 4838450322903886505L, + 1788019071908015560L, + 4913822197134872906L, + 8309346613152344445L, + 7951951012499331460L, + -4689530477253691656L, + -375319494882093024L, + -1845044534505086395L, + -8796776862070375491L, + 5018318155817526800L, + 2586522091503534478L, + -4968582762284083199L, + -4927465852300428021L, + -2580812699959118622L, + -4904418483836862133L, + 4578001388519224564L, + -145427029490022812L, + 5605281842155781953L, + -8269674765102782771L, + 4873099922414055552L, + 2170749688227700120L, + 4825942009324106796L, + 1792050877115378285L, + -6605853503524394834L, + -3916692778840952841L, + -1986097963548896269L, + 7892537689540433594L, + -714136291891260346L, + -1648197774385026330L, + 3795404391823901459L, + -1987978550021718355L, + 8998001289418857599L, + -3968668700060172110L, + -5244271268838414883L, + 1096876802937588911L, + 4954206823378648244L, + 5569423710280172585L, + 179070914051875895L, + -1379762138674772955L, + -6297783890085466379L, + 8673286033209200164L, + -209771371089403783L, + -8371158182924445911L, + -7703744831611511871L, + 1612557317982335369L, + 1602832695339190345L, + -5248812496760442693L, + -555465681086935620L, + 2520493230458560658L, + -6666085761216925275L, + 7883921169936066300L, + 3038683421696596159L, + 5845618097380867812L, + -6239014819988016480L, + -8753088746243740226L, + -2330652362011359445L, + 840642889332131730L, + 4416624017275726341L, + 4690979542527364119L, + 5378555482069527564L, + 1969844668631546234L, + -7848379025576209733L, + 1977110971269560399L, + 2026765724811466304L, + 9004994755727389006L, + -2875238066205385075L, + -6183036361941845026L, + -2386657827628040463L, + -4350668673682921339L, + 5862965863197982604L, + -8441011186955249281L, + -7186928257432232499L, + 4577738672815669344L, + -4699309429317703093L, + 1727205267222358381L, + -6451216071831055595L, + -3419094732699739587L, + -9202486234602916474L, + 7995498040430401544L, + 2322468220197016729L, + 6579662275874920800L, + 7479989025114804641L, + 7484110942964095819L, + 2864220530563314806L, + -8398057079307137296L, + 6439003393908427189L, + -7835388314568774857L, + 5595140202807403856L, + -587980358622679054L, + 5729028629565035445L, + 7294164757654120979L, + -7034561723919575604L, + 5344573969684937116L, + 3196215998156871328L, + -1123378572589443417L, + 6074546259209406933L, + 2893792398378492069L, + -4483476567799717014L, + -3363408847369344926L, + 7141254867533804482L, + -5940527802490951736L, + -1094882559952364017L, + 8329622896679444321L, + -3173141862687107863L, + -7280018015022509268L, + -2089330837882663590L, + -354683141083920270L, + -4079664314326720324L, + 7616886288174535159L, + 8554847071096590810L, + -8173759087524336468L, + -3448863502458656393L, + -5738508186162418231L, + -5111997041556312344L, + -8550681297377936354L, + -4330402296580745208L, + 67088796475747867L, + -6874504283145514740L, + 8707156726330695854L, + -8450062796293630088L, + 327731584813515290L, + 7304259244110792264L, + 419104563434390334L, + -9153064691975026716L, + 7490483813653854554L, + 7077589656341495466L, + -5945353789867862552L, + 5486988927099214347L, + 4267202661349380766L, + -735203469934508862L, + 300049113155592253L, + 6668837619034437534L, + 213993526072465908L, + 8835245471465274914L, + 8183790714937497863L, + 8258711456036176276L, + 7136444522589690162L, + 1211565004822707193L, + 1989924245575051080L, + -218487864794566557L, + 2952924548635767820L, + -6462002167772557833L, + 5913246427219973975L, + -3174533491330927888L, + -8785311174506482406L, + -6684494991311010323L, + -2482601218412888093L, + -7285335761215045787L, + 1211034790718408728L, + -9100855059113049869L, + -1486270963118123907L, + 5275833683049609995L, + 8459420716417000011L, + 5533842052546250233L, + -6743116187090502104L, + -8218081861923503701L, + 5761628519765780332L, + 183841883985945582L, + 6376290782250169855L, + -775214822639981928L, + -8823028331753034219L, + -7585331840565087967L, + 2975478445973141542L, + -5063889138086837402L, + -2979700995440085783L, + -1219607777405733761L, + -7530208062940995205L, + 1583477077636770548L, + 687603337248263893L, + -7494884423475008422L, + 8422729696142094927L, + -2688483407638967316L, + 3899397712568319078L, + 7271622649506188466L, + 5081817906386987096L, + -916174376204972738L, + 1540653617218284471L, + -9108776863627327658L, + 409951124500633339L, + -1411012041120099174L, + 5254818079101287689L, + 4655192715659848616L, + -4055996322312971483L, + -3525221214301544451L, + -857176511645353866L, + -9137977946340218096L, + -2464138987127699380L, + -1572944913716776527L, + -5382357127457681304L, + 3400456476820781019L, + 7092666713014777182L, + -1016869719262402776L, + -4296380651220352294L, + -3137955217832540411L, + 6899747201222115049L, + 5612318743221858846L, + -3082611894693908037L, + -8765593464570788072L, + -8518170211087455673L, + 4127210266223470126L, + -480745760307138952L, + 6366437837796426817L, + 8633027726559958619L, + -4876440158972240126L, + 1910667810356463924L, + 525819879391508442L, + 728364790223504935L, + 1801852490210258450L, + 1693556137065594317L, + 7512677136171374024L, + -8502671549747219751L, + 6750465734377947195L, + 79926463486212071L, + -1606928706353092712L, + 205498205560429840L, + -8511147442275932832L, + -8428335428540761347L, + -7426388905907916885L, + -6514050737271088879L, + -2450758388754574856L, + -5091230991480586360L, + -5169952131144179624L, + 4447490729022261013L, + -3692318537052447395L, + 1078660998337165744L, + -3916568308067450676L, + 6024800331836073525L, + -8107333408030092167L, + -7607289536558565257L, + 5247807205554828460L, + 136732938448579124L, + -7158883148260417938L, + -6099971793579365853L, + 4854881589738432309L, + 7711527295835389228L, + -8549957081212159598L, + -7303058748474201722L, + -7681406204943895241L, + -4881190754207950300L, + -6035776958688302906L, + 7214212236240295751L, + 1981012208386034732L, + -1049989180117070494L, + 3924935253660959406L, + 512859785555014414L, + 5908617682678575542L, + 6758310316951005278L, + 6189924959604816301L, + -4920405470515789427L, + -2117869367297703052L, + 6707816747990551118L, + -4980047489747530190L, + -7365247289662920271L, + -5342685489927387987L, + -8590216048531947264L, + 6817356446955049603L, + -1378280258813293636L, + -3592400710075707758L, + -8871693364702999347L, + -6373833613639184348L, + 4797638018086956108L, + -5647576741545902954L, + -7901112803680191059L, + -1362942868170890798L, + -5813135684692802772L, + -711135680335633766L, + 1062354220967606079L, + -7871043181645557885L, + 6112341712359859833L, + 7916891160508372008L, + -8003652862887082098L, + -2396517101239953792L, + 4370059680750956803L, + 1363641917746765215L, + -5876946297329039758L, + -103128310036998617L, + -3800790044039752368L, + 5199080865813174926L, + 5691839759690453434L, + 8175397015029172130L, + 480520985319940721L, + -8578753082637254739L, + -6716879961856683419L, + 3597461575855927530L, + 4979191387439246058L, + -8320455146441525699L, + -2114691132483379200L, + -4537130860792099169L, + -5718306086279916956L, + 5136790107805442544L, + 7289096860375296487L, + 2880058958308819603L, + 3767398060224293737L, + -492404481239348279L, + 9012315970305384994L, + -2684151666886841943L, + 7272790214055332206L, + -965422762587779909L, + -5443848734878691959L, + -8153873600234827448L, + 2490597961970604400L, + 2281204882791254127L, + 9133290251048762192L, + -1491895733843702610L, + -3474774710279245800L, + 4612394989169216779L, + 2622616589522119419L, + 4355987380154620492L, + -2850604048799570616L, + -4107832232055765572L, + -3723943963188375533L, + -8366293232338256548L, + -8701054798330196757L, + 8878901433891377891L, + 7295106607144564961L, + 5312667635062107659L, + -2358396954926641322L, + -4984697743423066531L, + 8939820283882288854L, + 4023787057481178052L, + 4597747073035337711L, + -3865522208345382306L, + 6560083733272461230L, + 2427578708615942986L, + 221210573151544106L, + -694084245105944199L, + 2078710449028907801L, + -823943775911009298L, + 6602372026224749570L, + -6054136931573131159L, + 601483741465077007L, + 6742891241881907768L, + 4262941380660230060L, + -2511197275383350546L, + -9092751631744236653L, + -4870448764794484926L, + 1830385011126178734L, + -6596888154152123634L, + 5648158405496157638L, + 6386181707589856071L, + 3363359913697235141L, + -7056659780210553822L, + -5261178176756493055L, + -3944960812874472523L, + 2763181386445379193L, + -2619663536437942233L, + 8897272156543942808L, + -1257206140816012022L, + 5942440353528557164L, + 4786157224137440415L, + -9220126986536151642L, + 4182399256221021027L, + 5315354483278533273L, + 8269371862567018757L, + -7830778159860165874L, + -4812100746794420620L, + 3498354375067608851L, + -746722368941475584L, + 7380715032997081755L, + 5189957981103089885L, + -4300428216272672646L, + -408627655218877478L, + 3669295430170749153L, + -3178922344308130598L, + 808687805654478372L, + 7382854145017135524L, + -6443473827958318421L, + -3243447797010153128L, + -1263178138991133398L, + 8750726774705960543L, + 6533471826240257695L, + -7394781107965678936L, + 7513264927729266721L, + -3004378607368189670L, + -6171795523163885499L, + -5383549323957030811L, + 1014976843641973640L, + 2432193004343470889L, + -2321713758391047034L, + -5925760547403348951L, + 236543589293463223L, + -6902103426228510687L, + 5049656219947439343L, + 5906696563051122955L, + -6356958402903730770L, + 7486754190124721854L, + -6788905906689198314L, + 7381793004093637930L, + -4615937202128935315L, + -5266672324677452216L, + 1047319090632526857L, + 9103083281304922244L, + -8812437015774444320L, + -4970183476407639031L, + -5247957782476148736L, + 4465954112135309385L, + -1053934358778018400L, + 5829139887286261453L, + 4669463005092905624L, + -3286153457025266798L, + 6416979317993515170L, + 842322401817513616L, + -1776383023933641969L, + -8880210007231865557L, + 4508732217351572993L, + 1193868998902473261L, + 1613803703795008000L, + 7204477604144047047L, + -8681096723143103693L, + -1746910701409113306L, + -8920378322388987992L, + -8966483163014777443L, + 2824165487928805094L, + -5662128102397495131L, + -6624810964386882286L, + 5452692340292941871L, + 4316228119275391983L, + -9085964721275713953L, + -2133433404692719643L, + -7343693486447937998L, + 1109852172632293793L, + 1921023425304227346L, + 4854131887624741149L, + -8634651654935008313L, + -4727747937541913857L, + 245894689954376778L, + -1171354806284191550L, + -4449375760321500296L, + -2278035820133972979L, + 7026254152720723131L, + -5122868976531507196L, + -5791020171604844054L, + 1901595461796531398L, + -4888600188203895159L, + 5238583255328115684L, + 8191725727925819882L, + 6907331918345427440L, + -8330998437541118229L, + -7677204855776214746L, + 3733289736446750667L, + -6086367961329321564L, + -2223139316713310111L, + 5551603720291777494L, + -7284366962105424622L, + 8307035520655908816L, + 3515558653608239510L, + -2623185163047066159L, + -2881473020374695697L, + -3119109298045318191L, + 3915842281774372758L, + 4341838354106623860L, + 3536460086838807366L, + -400436201916140511L, + 1034940505346304444L, + -5677328290907787965L, + 3241577004049148165L, + -2177296903540985003L, + 1224705836089007055L, + -7226703706701449257L, + -5217415576556159333L, + 2723639485365257427L, + 3532882935985140762L, + -2367665914582725528L, + -1126240810191393257L, + 6572389991681822664L, + 3742078454964142074L, + 2537741859858174488L, + 2863650720786458695L, + 4444554472903165566L, + 4972147385910153832L, + 565306137953874174L, + 8228468642079060801L, + 3686959913775111096L, + 5015958178622222071L, + 5595710504305494790L, + 3174461843483976916L, + 1297058991090722108L, + -2693601104595504655L, + -3961646960717704540L, + -329224545254449497L, + 8172319141947522776L, + -3283750417712288364L, + 1484324135840360777L, + -4101313183342306762L, + 487423326160209394L, + -6984064475638587471L, + 8613232447441028099L, + 1138585794312519742L, + -5219522830444455097L, + -7068591267064606505L, + -214092808701416145L, + -2087748990108944657L, + 293814116254359703L, + 7396092072095010078L, + 1104271143132319796L, + 5950063587854161963L, + 1918000905829023199L, + 3382742654219329797L, + -7668064903330744354L, + 6592480311131388529L, + 3771018342787175035L, + -9209379343054099077L, + 8809433506817785437L, + 3622962127039251936L, + 4637085440835592271L, + 6356420981957532639L, + -6037359062089609360L, + 2809649815120543037L, + 4910545367671356353L, + -3641944013579376181L, + -4828543933815929748L, + -816942255851701146L, + 4500737028494484698L, + -5360859409398459244L, + -980188011105516319L, + -5341147405229376051L, + -5059204503101732424L, + 2323241341608001835L, + -7234489726660109408L, + -4399342489059768231L, + 568957892278445175L, + -3128288682699716902L, + 268059501110939604L, + 8869377529779418169L, + -5191201845817789231L, + 8742584095090015507L, + -1833031289184026905L, + 441773167769005703L, + -2862985803782167939L, + -2217136279577453892L, + -4699777063743038799L, + 2319030942204069894L, + -3096829301818651315L, + 2152089781530614740L, + 3591093109998414360L, + 3737787276968062484L, + -2075424185432267668L, + -1313631551970774685L, + -4919910057472342658L, + -1163170530272854872L, + -3783140882996568908L, + -8037533461827223438L, + 5147544332470383179L, + 1327994358379982364L, + 4326125443692555139L, + -1720554764987678589L, + -6224447350716142955L, + -3664233167161816084L, + -1358465093069484872L, + -3170767669678732241L, + 3175800087146479659L, + -16337625285930414L, + 4460646835363181976L, + -6184155055121584051L, + 8105205207275831311L, + 364645839147141988L, + -3252358421106878137L, + -2379855386905973850L, + -717996509442787349L, + 7039157268142466226L, + 8799412946070712593L, + -2256794007843286070L, + -3026828459050443467L, + 6316354959643887085L, + -632743241481339103L, + 9192761499170372867L, + 7519964503218211187L, + -3171788476130391814L, + 4205532823146854278L, + 6513522002710255853L, + 4968793986534390139L, + 7924914011447575185L, + 3506146014983106198L, + 8511722175131586351L, + -3535216109813816630L, + 3043419627940964079L, + 1989151438749037821L, + 7233464223954842358L, + -3249615372439963990L, + -8665368429824794064L, + -648378579874199315L, + -4727955777856631607L, + -3689595611110413143L, + 3856183988075237273L, + 5517263844496266427L, + -2433339568447789451L, + 6589509038357236405L, + -6774119612186335761L, + -4350036823275823154L, + 5834187175154047558L, + -3767301317720281706L, + -8702001427232534750L, + 94015559239255499L, + -4379700402807826L, + -1859937611212626430L, + 1226887111095682425L, + -1185076345898896498L, + -7829178625122620180L, + -2280062727697501740L, + 2556040939242422304L, + 6251964074628081557L, + 3066879182290958720L, + -8785644387968277547L, + -4488264477615612586L, + 8127606717194526874L, + 4890787706249869594L, + 6356833732756963227L, + 5174834866809420309L, + 2027973333647796824L, + 8053801885705963745L, + -6944307380006370243L, + 3113788140330654611L, + -2986910451567880470L, + 2425903292748474372L, + -1715269818440437717L, + 74338710306223399L, + 5132849055217923687L, + -6714922651557874917L, + -1476767669230945550L, + 6267869827386314060L, + 2151492872494414422L, + -188287405141817418L, + -2396141142455784570L, + -6107851785102021570L, + 2899506268788328800L, + -7955799538392167846L, + -8939834619099069255L, + -2962366035946053462L, + 3123384032637701312L, + -6706608866229291712L, + -3500046218323398125L, + -168870750581166069L, + 694099585994227916L, + 430038091926664816L, + 1624356164486366102L, + 4334130261304381128L, + -7324629223026415329L, + 8823152808567544116L, + -8620326148777841379L, + -788126204987848665L, + -8814182475375947241L, + 1080002348337528081L, + 3043074730722911830L, + 8234596790989448752L, + 4608358602898896255L, + 2343398753207867914L, + -266697139298886785L, + -159260171872612558L, + 4370044052923372524L, + -2995614366415980410L, + -4209600344306251016L, + -8755371846184338683L, + -3955855588499799050L, + -6787638727374739702L, + -8849461119575970289L, + 8716688164664398086L, + 1514577502053504108L, + 2240729936627952880L, + 2838465136424227986L, + -1487161195056206463L, + -391895021770092123L, + -717250607935411377L, + 725101643113018626L, + 2018234564447318861L, + -5254575322305083709L, + 4424742596549423606L, + 5662970072122589602L, + 3130397907087802883L, + 8049486087948419299L, + 5557801586424368035L, + -7085534093136275857L, + 5600569740806125553L, + 4128462226512133482L, + -1574925284503437735L, + -5135068613676616410L, + 7314046845044324564L, + -3686747832999142812L, + -1564972575538757040L, + 1120348884617118977L, + 3412879446395492399L, + 6962651138322613963L, + 877006726541596979L, + -7866734399584535627L, + 8572173997988387711L, + 3835382868124934929L, + -2583877131516514905L, + -5102649011667592384L, + -4798459575624269557L, + -8156429235664983329L, + -6239845266330519720L, + -1914747524813276529L, + 5363997714419355781L, + 9210533546107024609L, + -5245165629299500976L, + -5193672401549237041L, + 6597128830638074557L, + -5969845161062876521L, + -2445089653030403139L, + -4797981019593561429L, + -1962888612492761260L, + 1803013398616297242L, + 8744887681327442130L, + 5851196282496012008L, + 892128523146305717L, + 4170022229766562081L, + -2134478426920707338L, + 1238027773513435748L, + 8866916391213127576L, + -5827099544905007258L, + -1552818987126555097L, + 1979982077379021084L, + 3998394901457623548L, + 2787580374700656688L, + 8372209727011402499L, + 3409775566082298245L, + 1114413850985679686L, + -609417232397692848L, + 1762759225268672019L, + -378983625905076170L, + 7435306721054054073L, + -5155196407132036358L, + -1668786196380559129L, + 4519643915893375417L, + -8609870523645938036L, + 8590593064246052287L, + -7126254452521759890L, + -2826314600096007100L, + 1624568634286818020L, + -450700576225246242L, + 7539390560191158137L, + -2188075991300573837L, + -4681497720947957856L, + -4688143896220383919L, + -4305920512968147039L, + 2656654774987994840L, + -4854606985975851256L, + -5361383744936804655L, + -8947485315238255267L, + 3311598196079410229L, + 607952732017041432L, + 4481836561581728625L, + 1856670507280870266L, + -8371889865268432118L, + -794649732821127929L, + -6144467833645861578L, + -5870596264115217421L, + 1547182795679877050L, + 3554393108243259363L, + 6096915670896392585L, + -7585113688284079403L, + 6283800140108182083L, + 7325444638523598785L, + -2676741791420355695L, + 7399210828703529226L, + -5153686314010544980L, + 4553182987876882087L, + -8475602433165535745L, + -7549754731031245776L, + 383864735074387336L, + -1462360910626047142L, + -2503433555198690048L, + 7124680608501705883L, }; public static final long[] HASHES_OF_LOOPING_BYTES_WITH_SEED_42 = { - -5752995443491633966L, - 6697150685477982789L, - -8292226578951944721L, - 8469039529317823308L, - -2857784829002285502L, - 2708946207299695398L, - -475923488709545204L, - -6776550864174025842L, - 5997435870397431563L, - -1413893264211963655L, - -2557925560926552642L, - -7786449276288726217L, - 2663862252392472519L, - 8293182564608143680L, - -4991485761665135445L, - -4260167493401566131L, - 8397271794406387881L, - 2767712210800417827L, - 5643454605919104416L, - -2096221407055692639L, - 4164971193688274917L, - 2012618980459220155L, - 4502510481524221164L, - -9150753967845211809L, - 2109736127223229935L, - 1705328223411648698L, - -540252590844239442L, - -8448139437911662946L, - -9172921965178401452L, - -5901063484397960162L, - 8990179058523403886L, - 3191587668216080419L, - -1505157133869540426L, - 4826297514018361126L, - -506720607717191353L, - 546407899098652120L, - 3565976246504851323L, - -7513490578875853277L, - 5136885717551856091L, - -1235315857278978092L, - -5210210379482210601L, - -2670168613513456171L, - -4576802255731115784L, - -5498085225412524972L, - 5454622260446372900L, - -3491156961084957616L, - -2040190370914817596L, - 8748880751719855958L, - -6066272418698883734L, - -8123169723410338681L, - -3402048629088769519L, - -9050773182933316170L, - 9109683037362136984L, - 8292736658273756483L, - 5864675646204731276L, - -3410199798914438762L, - 6375136202365522231L, - 6084483678447018976L, - 4341319149581895135L, - -2617192247437531424L, - -7803896693111046938L, - 6612714826762703589L, - -2604165952446921239L, - 3956924213727943389L, - 1828772354490899965L, - 4565769277738155679L, - -2552163583152823111L, - -7282771451698115771L, - 1541537288639310430L, - -1260053141177242892L, - 4470999817094301913L, - -3084949271203311242L, - -7546393470851473997L, - -8966028816522567997L, - 1051341974704645729L, - 5538793834884616099L, - -5628104741732354066L, - -8951130142602632322L, - 2719505240413599325L, - -1008778746385874696L, - 2203198775211410780L, - -7143533605672789717L, - -453883261782705024L, - 319057938868287727L, - -496754595070837553L, - 6805613814053675206L, - 6132340656385066787L, - -8860356581867026581L, - 5016198123629145689L, - -1596369660096962742L, - 2766685770642558330L, - -6266516138812319453L, - 1921783429840399290L, - -5251293476201135485L, - 7108628593359030710L, - 8093943502713971156L, - 3074597418887950513L, - 8333496602590533977L, - -708020943442059956L, - 3102625642886133984L, - -6499370722788023494L, - -6917377031919774998L, - 6901729616079135501L, - 4521740373890802536L, - 2717665495303183111L, - -856278075863271097L, - -2502885534841887818L, - 2357338131581904382L, - -2522296722172564384L, - 5979169122227632125L, - -1990576311176786902L, - -316116701196334114L, - -6739126101832001255L, - -330238767430913485L, - -2397646708417573337L, - -5746367286277299531L, - 3388130732766130858L, - -7310644851569314744L, - -4824388967193941498L, - -648780185892102954L, - -8712468613035181241L, - 2711516130478712762L, - 2754691483449550770L, - -2790972617414146667L, - 8537743091160071936L, - -866831535856147830L, - 3962787639412434933L, - 5751063116956730026L, - -6343210590541299672L, - -9027452407994212939L, - 7748080448177464210L, - -8875675911298011676L, - -3943374007835482499L, - 7098683995859102865L, - -2275458998280053925L, - -4628453854860491915L, - -1529511772279148360L, - -2871057272253482780L, - -334841257423340530L, - -7314747545247602053L, - -201172568470226645L, - -6965846975881685612L, - 2309595871631956781L, - 8951003723927622968L, - 3001873710915957640L, - 2012064170299142173L, - 7095981982072554477L, - 2920562163667542830L, - -4511110467250954239L, - -7166611815479236612L, - -2211021712129656794L, - 1338540767674038758L, - 3487756347488888084L, - -4937557446668954437L, - 2620388879014721175L, - 7208356694606927210L, - -4513132828283918504L, - 6317549580437550543L, - 2401779216570746255L, - -5457469669547078677L, - 7471661866970627352L, - 7386623443212346251L, - 6923730215630122759L, - -2325097522428671189L, - 8000364301902289246L, - 4925551359859147160L, - -5595982422094382548L, - 7228349132916965209L, - -4703354695115981511L, - -2115306052026418681L, - 9090854014723212293L, - -6068838827925313383L, - -6558621713962157376L, - 1473800012311082935L, - 2525181364542947966L, - -6021645913223485972L, - -8318988851482275654L, - 373007065698472266L, - 795167131148895585L, - -532571991837954792L, - 7238159482918777429L, - -7525111696825330223L, - 6189481850281476163L, - -512400154882781230L, - 2185412829792057998L, - 8303821120875906039L, - -3658266464759815456L, - 5534191248734418007L, - 6101574779391286487L, - 8145964650042952627L, - 5391320846882423376L, - 956217201277458121L, - 2237749983378005618L, - -6656683242892884554L, - -3394474129803761342L, - 8406074839295737353L, - 8623233445127821330L, - 6897419204888614556L, - -3873285223086133426L, - -4449195818654013260L, - -4380415985865610994L, - 1843484917925416568L, - -3683421128553731612L, - -6759630266574317021L, - 7963823663074411611L, - -9073210183338934836L, - -4207841706309087395L, - -6317104811444343048L, - 1176967159244991718L, - -8150985710604331729L, - 2463641502615436945L, - -4649906465921856966L, - 4753784510776661068L, - 1401826846930455507L, - -7215160016399204667L, - 4222527227332022097L, - 4242038843438232290L, - -6229200518763707451L, - -7634229331990944723L, - -5906084857878661851L, - -4471729319982253726L, - -7488818713861180407L, - 8958437567708072797L, - -4361717585953265517L, - -3589345870120547258L, - -5656002784155139233L, - -7405858066073224924L, - 7261298787749646565L, - -2118323539609274283L, - 8440646816505080462L, - 4907492019172743241L, - 2971795108974926972L, - -1111694536287943778L, - 1092562971031582110L, - 7435780765000923721L, - 5815238393374335255L, - 3728879363004790298L, - 7950374680552679377L, - -1559646550697408809L, - -1009638403217698280L, - 5477007325533850929L, - 2802315771636654550L, - 1359831828875761363L, - -6244291732477211457L, - 9138108823363225790L, - -5700703633273694371L, - -5189931767235375959L, - -5917217031437644153L, - 6559980057173897885L, - 7585954365066361941L, - 1833254434142522137L, - 2622798612834078243L, - 2935894269140572959L, - 3342180495858759098L, - 7763655187214368195L, - 608976619205971467L, - -4493083204513432310L, - 5655458152670549588L, - -995372262620475933L, - 6725108152764242753L, - -4152678539161864839L, - 4879330012023732227L, - 299691067249437340L, - 8253082866296742941L, - -1349088245542024700L, - -930670635091392036L, - -6305033172145799503L, - 767676528758696723L, - 7848289152882068204L, - -5335123725692922309L, - 7618587959592606045L, - 1310623412826253949L, - 6105911509337366946L, - -5132873445536420119L, - -5066374717991788365L, - -4196018003514359930L, - 4602399218983903018L, - 6996237050722228275L, - 4750432263399753517L, - -6552768219041772261L, - -8886514643984898377L, - 7353718498017818617L, - 3420752363982256164L, - -3106921624226184176L, - 7755185569018499850L, - 138048424823142520L, - 4574855394856311409L, - -797116754680671576L, - -6319525882248058891L, - -7211292892013797268L, - -5969262208310571743L, - -2242517284471541983L, - -2134523085752830969L, - 5239925547316736378L, - 2211989170649079345L, - 3951874086467810189L, - 1541713943974254342L, - -5392854420512731723L, - 3564316510315168871L, - 2901564687206922350L, - 1540984989266277585L, - -5588692335575710649L, - -7656900483971665708L, - -1269975572006533380L, - -8586683894725424637L, - -667220377486025270L, - -6992322247305413343L, - 1020432414035508475L, - -762737570699341127L, - -4996438874277990597L, - 2399099134154679381L, - -7294753205977958107L, - -4330814694281211877L, - -3424505945178467498L, - -3908232167211290102L, - -1715708172189155463L, - -1541677764411125216L, - 1443437733037296364L, - -5699613322350318170L, - 28422381221154018L, - -8448942739014323861L, - 94089349704640679L, - 3121324325667558058L, - -2027215282474423693L, - -9090860166446867101L, - -5570813680167514715L, - -4433017494388855624L, - 7780214454833321289L, - 2818118075900140158L, - 7909566890394565636L, - 3281719552865083509L, - 2293428426098439431L, - 4831877444478608421L, - -8036810704178721498L, - -6696440698423871679L, - 424663572619708233L, - 2210379950234460182L, - 4488772831440475400L, - -6238973969104209915L, - -2892035378057749818L, - 1190083349888328687L, - 1900956434625552346L, - 5686029047839893831L, - -8652319297499303518L, - 5660206937964935444L, - -5693798368774435246L, - 326881025455212277L, - -8376143443592681499L, - -924714482174160655L, - 2731102432407909647L, - 5974710608961653241L, - 6662943015421622990L, - 2629145426514230124L, - 7653779470428211936L, - 8231699528634814943L, - -7880485152483421857L, - -8715291256937697509L, - -2608260639142008146L, - -2891414416406033026L, - 1006672424561275863L, - -5345465745471823175L, - -3007098514343148833L, - -8853686550740270619L, - -8826799561287303533L, - 8800245871751669511L, - 565431636219131046L, - 6137897978460556916L, - 5482308004417669307L, - -3006854606371770142L, - -5550863738981833513L, - 6860154257076535929L, - -7830408716033920139L, - -6220766884162806429L, - -3254641290637732033L, - 4069104293139053208L, - 1298727460612851492L, - 5145793087755505159L, - 4012194405015900827L, - -2096633266369036577L, - -235600124490809513L, - 2256248865523312538L, - 1856550792634706370L, - -6338437638663913139L, - 605690123879344699L, - -5972006707479557169L, - 2788841617850067275L, - 3341756482258277517L, - -8730087995322499274L, - 5666761853789513177L, - 1427855942817620030L, - -2247084578644277545L, - 2632056116244532492L, - 8983184113458203674L, - 6222824259917067927L, - 832847538082989274L, - 7408336855734508382L, - 2463234904146980715L, - 7616355816816829131L, - 5437320614714817066L, - 2176649963064497163L, - 7847964877858458386L, - 3676215252045438118L, - 1457265625453915305L, - 421670244665897930L, - -537286355906412984L, - 845546777083974630L, - 6294586905906742451L, - -6979812383811440761L, - 4101166573373719960L, - 430647036995334093L, - 2563569094767382754L, - -2226117486192197040L, - 3989815455278220803L, - -5573460076032648378L, - -5149764105493446507L, - 8908023797302087394L, - 1579875413248797693L, - 6557085398158756277L, - -1860582499397819682L, - -3940264269551745098L, - -3760050418257691649L, - -2749137550200198091L, - 863749834414320446L, - -1701674908797410602L, - -3441531459858237116L, - 7781166611943523849L, - -8747694838109223765L, - -7940615954936651322L, - 1761800111692886098L, - -7563608795264216209L, - 2430120273101259962L, - 3034607409190630193L, - 7596606678605264709L, - -8815959038019965324L, - -8056592803858661736L, - -6054319005531061432L, - 7637990614259037480L, - 155762651336866309L, - -5295066003461610118L, - 2097996021613363354L, - -2649318637576910563L, - -4710689453059380010L, - 8675276565266944323L, - 4061820304631504890L, - -865251409507836874L, - -4305544705996842550L, - 8133733737104758782L, - -3599082219550900640L, - -1172444168425884022L, - 7002178848795582841L, - 8753574524527561837L, - -7959972011549631263L, - -664335750987460129L, - -7761182775497779250L, - -201978935828898840L, - 5748605939155571413L, - 432959146257511060L, - 8597688997048592708L, - 5979346454620003082L, - 6682666834922578474L, - 3635671342630844084L, - 8295581682942403968L, - -6056716329065906860L, - 4876232349596700627L, - 3282465211073936357L, - -6277210138874800012L, - 86063810903062668L, - -5131034425726984549L, - 7879994284944917570L, - 3805360137603820244L, - -4819745855255108901L, - 6005083603591253720L, - 1260872260703386533L, - 6208805585589862489L, - 4467145362283493250L, - 6925593199187107448L, - 2290814776012496288L, - 2202094536385319447L, - -1583289128964920170L, - 2414314858213839292L, - -417375850490384234L, - -6775757096712023859L, - 1531877516325565400L, - 5092160435195199211L, - -7779989257755281504L, - -2910324314591098862L, - 8497090690994716777L, - -7802963550632908400L, - -6411284901845568322L, - 9216337043421866495L, - 2437859992012674232L, - 6960237011186167617L, - 5100162418749277386L, - 6509562170805894274L, - 690433361758303077L, - 5936816351771558334L, - -3601277060469993805L, - -978457311807747406L, - -4420940034475608949L, - 3538644062391991755L, - 5164625733904685628L, - 192170982312183453L, - 5014044649793050646L, - 9147945450485230993L, - 121096778422978126L, - 7076446543359171313L, - 3849792111065500559L, - 7235530029899206334L, - -6832803917257794399L, - -7448095328943903784L, - 636249030288914450L, - -5837508951408640620L, - -5494182545899908814L, - 139946096999437232L, - -7949772735307966448L, - -6777152677072204821L, - -648210928302263569L, - 1484711477581900777L, - 1415763754612838143L, - -107058891244037140L, - 312958362296582989L, - 5071518533113132226L, - 6638935098145563092L, - -2867055004276813534L, - -4289503497262086936L, - 1497170552728782805L, - 4517675483628149735L, - 3748960245079903666L, - -3691286664879128054L, - -209359184536764749L, - 2491341916818449085L, - 5499205217633027745L, - -5512709448748519671L, - 4557913818063026938L, - -2112204135968966196L, - 3440403110217462895L, - -5867323792132309155L, - 5420869064478055006L, - 318512041709141078L, - 1057553941897233483L, - -6895197562631981270L, - -5782743651675563936L, - 2659771847560443960L, - 6592601119187496548L, - -517270229881128849L, - 2622604378506727519L, - -9170205866690625639L, - 4806630682514823179L, - -7776613972641981358L, - -1488298548028258830L, - -1715707210842296824L, - 3796221982870729299L, - -7882722580553373597L, - -1797548791879939131L, - 9223079908042491188L, - 7847548061281742781L, - 1041148225166463713L, - -2800037601895587534L, - -7832361151307182116L, - -6950576920927850414L, - -2404378656089204258L, - -7720362412660524651L, - -4901646243176144926L, - 6432612866296388591L, - 665821462715291984L, - 5024465184664377182L, - 1558901948449801231L, - 2224934457550741787L, - -1486153720652331467L, - 2152321067003602002L, - -1858128886354189097L, - 2873839996181438535L, - -243875524287970697L, - -1376873654537129986L, - 3287122656145633441L, - 3770833946582728674L, - -2764900700916121857L, - 2560091717993161785L, - 5504786539926877426L, - 673505854315501819L, - 1264431652537758499L, - -5043418235491208409L, - -6769065002135856586L, - 7666088207808456995L, - -2827685615289224220L, - -5429383711816435171L, - -3134385201210164932L, - 3020879270457681824L, - -1689344584352272080L, - -9040930749904066060L, - 1932280955101101310L, - -4992572509975070322L, - 7546307129163923078L, - 2939073542428222766L, - 3374974368464231869L, - 885759554366311L, - 6593789636519856798L, - -1624132412418983395L, - -6031359656290740003L, - 688983212618230553L, - 6369052776794949918L, - -1377714920269304294L, - -1057940749189840506L, - -1655685782041312329L, - -110552080942842283L, - 5250633774704933933L, - -7909648255758272745L, - 719735976337939580L, - 3645906512854567933L, - -1860978834085668115L, - -4349804709624489457L, - 7923661347327064185L, - 4244126846532735429L, - -3251399312816082643L, - -4937029742581158563L, - -86298941439722272L, - -8597913327563881758L, - 5039882027531808464L, - 8056647111062079524L, - -8976752115766926062L, - -1690394607348932339L, - 3378746565484573129L, - 8416003090844044193L, - -2717024430934601010L, - -5701892799453780386L, - 1533981283496523540L, - -7462371343115417598L, - 7010080256761797460L, - 4478373719647299143L, - 6305458678328463570L, - -5102763036459098393L, - -8778795989564198209L, - -2268889645684651974L, - -4555916510323499535L, - 9065546065927673888L, - 5852839483910534806L, - -3402482240912256878L, - 2023722994972298169L, - 5215407550830003324L, - 1071468158469513836L, - 4955237436537987038L, - -3083989516400027076L, - 6722953813435001988L, - -2387850610416371552L, - 809463730078568982L, - -5395203458608056891L, - -6137800097014878795L, - -3605527194936796968L, - -7589842792710116365L, - 8069067842420108257L, - -7454408306272078350L, - 2339188701288559996L, - 1008425726458324286L, - 6847676052807732318L, - 2271618337058209406L, - -8281033180921892670L, - 3604010165737741236L, - -8269928557793008073L, - -447391999287823556L, - 8028984830780334836L, - -3883350805508230356L, - 7482610679805814070L, - 6500112572029535883L, - 6119648543352512696L, - 6922212850686981745L, - 1734731947537567857L, - 4101619546129582628L, - 9155049639883886519L, - 5849304319215085011L, - -135976101808023055L, - 3329888204068201272L, - -4336188293967075047L, - 5788433959497374483L, - -1402363557578146821L, - 3588707324813677961L, - 6715232528053729851L, - 7169368150013526008L, - -8706746826857587245L, - -4819316543846777649L, - -8782313301067526525L, - -8916832875484128383L, - -2346600299358242263L, - 1904681875169970567L, - -6704056743702639344L, - 2270605299750783360L, - -3940808304480228961L, - -8321565943725548488L, - -3825742229541937514L, - -2349339074190735472L, - -2948486946206330984L, - -747906506207273746L, - 4280562720015859798L, - -4136257343808753176L, - 8445283324198191059L, - -8404850409602104913L, - -3264457032343850047L, - -8759790595969078254L, - -2542190711281684773L, - -8843544063303913454L, - -4003746482399952206L, - 3841695822551400168L, - -3588090911679720182L, - 4918585626351510199L, - 9222791837897484065L, - -5760984091213555378L, - 2491736142884395009L, - 9176699063949977552L, - -311336022868801049L, - 6098071943696363607L, - 3781539988474542156L, - -5991444272878304549L, - -7058079929087833240L, - 3692880174470651745L, - 8043184184871662514L, - -2260533056334755470L, - 7862870576355526775L, - -1273628657555198089L, - -7116245059732632210L, - -6206223953545513505L, - 8769478588548603347L, - -6809293819712164844L, - -7072037946451047577L, - 5145959967698376997L, - 3918549975422395928L, - -3688153306502628396L, - 8933640809529662946L, - 6586386948093068301L, - 4314174515802583045L, - 6042832017761248999L, - -2163096650317259801L, - -1301538385158714097L, - 9157628132063555931L, - 8447192224483369575L, - 1082300847283178879L, - -8765613093828266962L, - 6523561351628630699L, - 7878456944142132573L, - -5878800239136723413L, - -899016955838748566L, - -968680680108344572L, - 8149351788840205925L, - 7767149159758237380L, - -1002433668001324671L, - 861378480610089679L, - 5131370442347562734L, - 5891997968737511949L, - -1134130780427583438L, - -2721284507442384384L, - 3581758406053663578L, - 4711959109881063237L, - 3814833207703197149L, - -5498755072540800142L, - -434194050930099095L, - -1131324138179189444L, - 6335673834129040499L, - 3840591353873435091L, - 6691477876637098998L, - 5389042814799436488L, - 8492537662085986759L, - 9801065220990358L, - -8991404774454959964L, - -5967334022174632862L, - 8423499844379835696L, - -1121320485100692308L, - -1137347326607533713L, - 3579131621253541604L, - -949637496239973913L, - -845717236495377944L, - 2627652869211543871L, - -3584273871358543803L, - -1231456733798526473L, - 6404279318428525466L, - -1959366387574498651L, - 8659995475649499110L, - 5687743493891209750L, - 5734157541830063944L, - 3807145789061111632L, - -8728883033962465130L, - 1886310705344218044L, - -2869995344352648369L, - 8631433038774110827L, - -5196628823587587974L, - -7457206590006693637L, - -5287470411743602489L, - -4100864542827687276L, - -6925193246164904686L, - 684773938147799771L, - 4684480184200832071L, - 1138521418475557396L, - -1024452235617887100L, - 370178077665262107L, - -2580904250658458088L, - -4067270455265760110L, - 7883457924958258236L, - 2745236661071909096L, - -6638753008619557401L, - -1928563245103591922L, - -5391677730310963265L, - -3443398620200795730L, - -8921877650888014333L, - -2549654053467481876L, - -6634007310328959288L, - 6662969652277689957L, - 5704789109069509625L, - -1307333292330657763L, - 6533595699848914839L, - 2206229619406776067L, - -7059181012292774208L, - 8587013829275411963L, - -3759394797281060169L, - -8332558387862436192L, - 4058454963111191922L, - -2909318126609562718L, - 8309425769040304384L, - -3332518656544710523L, - -53840526904216763L, - -4392299612463469408L, - -6495163012164872108L, - 8283822043324591205L, - -3839429045227492113L, - -4554258591908844950L, - -8717791527048532273L, - -6680294812840082731L, - -1514076315369906827L, - 8342331288999106348L, - 4467472370913596089L, - -5258687569970231267L, - 6428083210523097473L, - 2293947403016663486L, - -5526361602248141114L, - -7270937093961275072L, - -7226206738482320242L, - -267988759137059367L, - 3757842653020528703L, - -654142607214292501L, - -3877320323095024097L, - -210352008325460011L, - -3777353653906366683L, - 4104559760354145145L, - 6351620637332827086L, - -3953047538968937343L, - 1977509989365985520L, - -6096612777648073834L, - 3655449697279862217L, - 6371929595416244955L, - -6719663260573101322L, - 8235058461435871026L, - 8223610568265677874L, - -636776168225445543L, - -5658531495972000806L, - -1315157075774308702L, - 3318184564168373738L, - -3870791042207323999L, - -5761074459524531162L, - -7589695080417675674L, - -118243652515378968L, - -5606050504941145854L, - -1682232575263053834L, - 2064607730151462051L, - 3860046528687723210L, - -6935238833286905572L, - -1526898475961616862L, - -7786760789279579722L, - 6367271805286224450L, - -4333115896551664911L, - -1229178972379399952L, - -5406430689127328314L, - -8536830855104540258L, - 4592858633504932985L, - -4661004590562426651L, - 1900079872513330236L, - 803518532278716272L, - -7227731911919645710L, - -1531800249475624901L, - -5068571120099635260L, - 6954901733800148115L, - -7075071323703859828L, - 1447978964456769515L, - 860006115119071319L, - -2067420548322589555L, - 4638996254844315967L, - 6983236581726963935L, - 6708882819304554132L, - -1077037295677468865L, - 3623478619549261514L, - -8551083693862102837L, - -6864926796047150583L, - -5583309839740166644L, - -2047952294766573645L, - -1296070923862863512L, - 3533321735634917235L, - -1137358684259757076L, - -8080333153054443456L, - -6770927466908143968L, - 1677314511582577698L, - -2630259631962080464L, - -1793645900673563419L, - 3600237620008462975L, - 2180027379579890660L, - -9043677058766520350L, - 3962397017521642626L, - 3977072778934081031L, - 9036155278583684186L, - 4719201700299004978L, - 195773270223425425L, - -3391740091956199499L, - -4297719063714682956L, - 2518769717461479967L, - 5163274893178164221L, - -7935837524015792569L, - 3725316512735597929L, - -6062355987398187561L, - 5072788521812186052L, - 4756745374124465344L, - -6691048140593722302L, - -4453427560142816958L, - -8908616043104241784L, - 4680671232907313257L, - -6131724261229112714L, - -9108450687466015537L, - 6365495657268753375L, - 6448165814018765014L, - 7071162731007451983L, - 6828906714271770482L, - -3559294295246311028L, - 124771238363526084L, - -3293309753712400861L, - 8896706306255876093L, - 3125408161217615213L, - -5861463414798312654L, - -9036260382640522754L, - -2941595857477708459L, - 6033142563060557598L, - 1099630200403990563L, - 7959429886791854178L, - 1535421567087429521L, - -3523681894692531197L, - -3906144409472427412L, - 6483996772781688720L, - 4132319255708563987L, - 8769726356542128993L, - 6738613111825331757L, - 1764580723100293334L, - 3299019025645495247L, - 2239605653730261397L, - -6200467116936956633L, - -6291344345384672622L, - 2565928296401167337L, - 5329865919971566807L, - -8575034623756510146L, - 6368322753797090715L, - -7493350249074734851L, - -1948050475401750220L, - -2542388860306602080L, - 3132812952361473979L, - 8662503282931471374L, - -7226118518078524751L, - 125513287940370920L, - -7105850358401444205L, - 2873891704788790693L, - 375644362554273808L, - 8779595029680158187L, - 6520575959918535178L, - 6481335563279395683L, - -3958324538875210597L, - 2650332007800900579L, - 67216421894692841L, - 2892388889322576563L, - 447031742152452522L, - 2214867384342611779L, - 3463418430384064877L, - -6736581145771083272L, - -3097757825887262572L, - -742646863032103227L, - -675900178715113798L, - -2232567950500061233L, - 1712025609374863027L, - -3405265351896222950L, - -7357424915587192954L, - 5899042778652661141L, - -7187291342974761805L, - 3480937052474976673L, - 997099418044934990L, - -2839517833272115276L, - 8199436817352462608L, - 9072737280134851879L, - 839795799971829718L, - 458252816075262707L, - 3252541827624060629L, - -5029727353658396637L, - -4967837872862091654L, - 2146776628928215216L, - 5403743629243841306L, - 3306799506878402965L, - 4468336141473957274L, - 7023113564987990226L, - 2871980174971968592L, - -6665846774723588486L, - -8521313230784523850L, - -2899150205599417383L, - 1992195265166010323L, - 3610880564010872990L, - -8962461672227066573L, - 8499793696703179099L, - -5174175353166984262L, - 3773412144378555582L, - -5377488598550438958L, - -227481030440141534L, - -3003034596327281460L, - -6010571883582226691L, - 5285640267764709652L, - -9094570939029139554L, - 3302183665375964446L, - 8185803481915750000L, - -7832879598569001202L, - 9185495476894972675L, - 9021601549322560342L, - -1033483127041468323L, - -9094719449194039442L, - -4246271926877732985L, - 5329679602094503622L, - -3123609535190446287L, - 4714766142804686442L, - 2489307805887894890L, - 2987790131896782326L, - -2963677483725852236L, - -8529934738168520503L, - -6356353435089583010L, - 3208586395891790363L, - -4407123126725047459L, - 8157441934654253916L, - -6109838368688820127L, - -4389983853453341623L, - 7652314184807664343L, - -4662723430367132038L, - 8667093623786488993L, - -3415543420133275181L, - 4904278838452314694L, - -4354230232880600982L, - 8861799057857753L, - 3552811093870745879L, - 8634119875383707854L, - -2732631755040740128L, - 6518885727185543342L, - 4341137614328678730L, - 6793266319858946131L, - 8047455342123276414L, - -866422210016420449L, - -2975253122827530056L, - -4030176003307022576L, - -4241696461887318612L, - -4753266504739240553L, - -7373316743164657129L, - 6048513984860600758L, - 1814258330875604106L, - 9109940689954894985L, - 1579558970146774347L, - 668478211668974619L, - 8409518560944185002L, - 7245729396754890299L, - -5114268398654367847L, - 2956616124692577442L, - 4461886846778383058L, - 959690196566065732L, - -7235204044940286838L, - 7981158344195854661L, - 1833698125790755138L, - 7752754976810456477L, - 5692118834710835902L, - -3793683786453929372L, - -5581772364636870855L, - -7470774962401733293L, - 8780664591724430174L, - -7663125741516067028L, - 5829471574991825780L, - 1182333455500273019L, - -1726270951016459467L, - -2746428321520070969L, - 6832833992125314751L, - -3990613509805030555L, - 2400486545587757625L, - -6598170744898189777L, - -1995198747364774857L, - -3645842663215618557L, - -6553956802949933979L, - 363585666263112429L, - -5656547416142849554L, - 131159332135711557L, - 4242991056913343886L, - -4674809189780845966L, - -1954374021725723642L, - 9000512499144627986L, - -4966087500556332423L, - -5368443575882114199L, - 7898708771797640436L, - 4954393344642394763L, - -228876611915096824L, - -3517612841169834059L, - -3181203061349135348L, - -7887316482076885972L, - -7491168484443218074L, - 1505841500971991620L, - -4819676400227780409L, - -5600600902750799703L, - 4287196606575127498L, - -6631038754487834066L, - -8562057237102997949L, - -3310437032247565299L, - 5856634576804593925L, - -1659423729330836678L, - -2785469434848827216L, - -9178954688981005208L, - 8284532255782100018L, - 3932114027983614574L, - -8735736194352900940L, - -5947824514040167701L, - 1555054962173652536L, - -1028318040091115332L, - 4142937213480146786L, - -2819444980269809917L, - -2903074845803234197L, - 3718049583878739327L, - -5493173480792612991L, - -4746130552040956231L, - 6244568873371787043L, - -2997679871934966832L, - 4047215048138865730L, - -6551789563963923059L, - 9086055720517286271L, - 8876034907713774156L, - 3680389259422527058L, - 6042866802807055050L, - -4886080504692397375L, - -7166197738900036643L, - -727151388570173900L, - 2438604478622089045L, - -8782162061024071951L, - 9077567357215978574L, - -2871872737471270227L, - 5320002012835335589L, - 5539849377632910446L, - 7555126502803598608L, - -8125224475094342490L, - 7417955058148509629L, - 4176877628224197597L, - 7598278370710374380L, - 2265897989342130546L, - -7061482734014550086L, - 1468468196263413305L, - 68682113048681479L, - 3762225435622216659L, - 4581877841476416419L, - 5115735211430226046L, - -397731465197117692L, - 3802999106815691779L, - 7574760794857420046L, - 4178197313545546553L, - 9065628242529864979L, - 542937206029962193L, - 1542373631583440917L, - 6903559734881147673L, - -2071796881281526902L, - 3779795498327194080L, - -2217268270456792594L, - -8059036377920200513L, - 5425988266816609684L, - 3561830549061618056L, - -7500972620191462258L, - -6776359714207180134L, - -5775998075012891173L, - -7755164007855727652L, - -4908348827451399810L, - -1162366502935483389L, - -3581470604892760162L, - -1434370488502028008L, - -1493293905909468959L, - -6762524287730181241L, - 1393564479464918401L, - 6717807842217858780L, - -2269779449488763938L, - 9119207083214966580L, - 4437289221718108033L, - 1991815488616873724L, - -1136008736729825773L, - 6919259317959590395L, - 5700567409540575886L, - -6511943523783520343L, - 8471138532439345892L, - -1261020616469785625L, - -871122257839774394L, - 5853266956701599170L, - -2605324811026081L, - 5645723143070327343L, - 6678903618140079830L, - -8243425527465830189L, - -7366977412613262267L, - 5554112623362949635L, - 8508696414094887570L, - 4526724121376344377L, - -3066464409160921518L, - 6423971479710566480L, - -1301150937530073813L, - 7047171805158365362L, - 6607488204808324896L, - 2550589198730302889L, - -1508652597994003459L, - -8797285250854566260L, - 4531577529333440300L, - 7171511780196023810L, - -8696995432677729109L, - -1038277725665095082L, - -4030021971399704454L, - -7142316504058264789L, - -8690342808784496917L, - -3538025267466743323L, - 3030344740150338756L, - -5434476681454308336L, - 4747881963413479619L, - 6649081146297801785L, - -1340297105335493395L, - -2345199575979290182L, - -5142497021023029281L, - 6590959395881104212L, - -669027690510749039L, - 4713909714515252237L, - 6334133652957330690L, - -4130611448171970254L, - -8777249173946876665L, - -3777422122544011758L, - -4139822748883105829L, - -85322879655457932L, - 8510613507788926362L, - 8480533752847008903L, - -1501849715563565256L, - 7144010316023561074L, - 7071721153639906878L, - -2413842258996393407L, - 3829076351340781609L, - 3904259427140354464L, - -2423161203681766273L, - -9222948412120414441L, - 2232806743868046887L, - 3459293971647694135L, - -4958044470517187570L, - 2702008978364322255L, - -5230685167113972622L, - -4777581725252095139L, - -178566492057125337L, - 5473668624447677467L, - -6025569476816496835L, - -1758476046405271590L, - 4318010125119483290L, - -5001898604592523465L, - 4496672693040208250L, - -6249539806063036132L, - -7752211883834007080L, - 5401928633460905475L, - -7924780124408034823L, - -5852842870036885474L, - -1507586788733048669L, - 8723145826212343490L, - 6322146995759068109L, - 7033327335320195047L, - 2731703606190537636L, - -5700197206770306283L, - -7681929128588407075L, - 4915318349456884393L, - -4365674444257230772L, - -618412543643891621L, - 5389658231644689771L, - -3464092788986188235L, - -1050158483149088836L, - 2986789282075383014L, - -7095920626607872836L, - 5041839261426701960L, - -9180003565648806832L, - -4136797423318912582L, - -815263725971673785L, - 7751482036034122791L, - -6582902412740766080L, - 4948480397753687589L, - 8076288905210502302L, - -9107950489265491053L, - -6184418323857721083L, - -8394291702992930332L, - -3765480365347368667L, - 9161366530222497706L, - -2767769147585489819L, - 8629853602447578989L, - 4143140731787551070L, - -6709802780961091740L, - -905525597452535126L, - 59611890502504912L, - 887996528204235726L, - -6522589813044041015L, - -717562431083190695L, - 4413597631385084460L, - 685793075458769616L, - 6534412965158226614L, - -7466805892367058580L, - -1643339784427405237L, - 8108897583594557150L, - -3012505670609614813L, - -2102992646348794512L, - 7496589075754797803L, - 7374879453359816181L, - -4473020896511090065L, - -2144052467882725474L, - 8932411294479920804L, - 1662104279385187462L, - 505577020704587182L, - 8970226030106571298L, - 4740935558188763942L, - -7479171385872798231L, - 7795864469149986219L, - 1988890416069916870L, - 5328957726704894445L, - 6393309991805794816L, - -8023969082870037181L, - -3201662046137010635L, - 7364167842238108568L, - -1133670122146177765L, - -3700583274673702753L, - 5152863800535605047L, - 4340628140712624150L, - 5588611203430726905L, - 2682781254448818030L, - -4334335781100941681L, - 2486482109045101170L, - -222120907104518499L, - 5461720682682027710L, - 8953356406381104317L, - 4813649794280024185L, - -8815822744547391388L, - -119150930688834339L, - 5696219244854669615L, - 8826694157719678034L, - -1678317963810155461L, - 2312220003237053610L, - -3288132327244573070L, - -6655294980817812847L, - -3093613585240964494L, - -1504599840801857900L, - -6463236998312950925L, - 5810208611405255502L, - -6761690440397609367L, - 451950190532227640L, - -5815456944452977190L, - -764130306143846512L, - 6419889081579466867L, - 4398197193823554358L, - 1464903517901841306L, - -1506288216502917578L, - 8699886991841245818L, - -3380656767633421271L, - 7278933867517081603L, - 3846023845717926438L, - 3407601931308300031L, - 1905732166195179585L, - -108117922380454789L, - -7519861222866947951L, - -4972130809215364346L, - -3021088137554827679L, - 8043600973137368044L, - 1434512585622151100L, - 1016884439578050772L, - -8647546074167685968L, - -8506558926671468128L, - 3841531502952176241L, - 4079049958054926435L, - -5539805586862437496L, - -7883676797140300306L, - 140190142986856503L, - -2694098382777014524L, - 3353255930521897564L, - 2673408461261660763L, - 3333109393952734968L, - 4825771068490982684L, - -1033017699452578891L, - -6425096031606191368L, - -3656030991400647770L, - -8647425424751627856L, - 3478736455049888956L, - 16599786738656663L, - 3377618271754536312L, - -7335129354324713170L, - 7006821265423054973L, - -6604032179699952888L, - 1631574662141238563L, - -6071005127816416359L, - -160948602692816917L, - 2439292442953103260L, - -7784485611988136914L, - 6406517206208162673L, - -3111851768592482815L, - 614615425925214040L, - -3556195010057046934L, - -8360577559236335104L, - -739612675357837554L, - 7772269085929933056L, - 301334074305006580L, - -3173646397989105785L, - -1841824288198551420L, - 1197412702727156776L, - 1316932784236645744L, - -8257483426031914296L, - -8846153844918116222L, - -270342118487428514L, - 773674155630100861L, - 6037581810683864126L, - -5245384017768292829L, - -6666883988353617786L, - 3478725688838981124L, - 5546782277057101197L, - 1942226182099172621L, - 9102708557688253903L, - 9057469348188803174L, - -4031312569229337466L, - -9072824545184945687L, - -3855790695273650364L, - -653872491134432764L, - -4080206884907012270L, - 3311573742599462083L, - -269764702825894936L, - -2766987632263151155L, - 6602535166262597916L, - 8827004592088991732L, - 1592583601190212294L, - -3667633871893247038L, - 3486449146725138397L, - 4359563813403699388L, - -4906066947120349290L, - -4330401382584040114L, - 4803580003918030391L, - -235574200222954516L, - -1394367949090492983L, - 4737542241672587937L, - -8856986665935885808L, - 1817303441870832271L, - -7240430001371174281L, - 3145103301223918932L, - 3477270089202844825L, - -4891077676842527034L, - -6459627619991208890L, - 41856325087285886L, - -1382249026510602312L, - -2521070087258742337L, - -2328070419092090664L, - -5388262052233273295L, - -5999142598302515399L, - 5176296022819478017L, - -8067233187432429974L, - 8892405394182984962L, - 6981068794359751546L, - -8944306852219597850L, - -3031777418502459563L, - 2323104536537852233L, - 9124712187601380882L, - 9137253645240139706L, - -8322892360260055499L, - 8407207834684403871L, - 7071881337439672371L, - 666653966378152392L, - 8872525458728668509L, - -647279373040971223L, - -4461978934957838597L, - -8547295400497453835L, - -8365906280976763859L, - 6814338820251845756L, - -8627557778552684742L, - 1758840533399088383L, - -6750756896288158784L, - 6395311215695067196L, - 392880119943578248L, - -2323700597403900754L, - -6462812207087401690L, - -7551080163645560286L, - -9100215524786223062L, - 2524911097994505678L, - -2413500551656055296L, - -3127527627858617051L, - 28303212483427471L, - -6013779137277216469L, - 2384861921525290083L, - 8909147637811545615L, - 5899702029055461370L, - -9169591182444006478L, - -8983057629681813417L, - -8861230054592033877L, - 8410267594044953503L, - -6655030751206229874L, - -6267989963116339301L, - 31106559957685675L, - 6344345657589688690L, - 8238818461566157187L, - 1502493109774801856L, - 3469110631126639783L, - 2128732756904122570L, - -6695477927845519719L, - 2528367395277931442L, - -329099838923643362L, - -7212791470765971061L, - -3974900257611008409L, - -6102716001138106504L, - 5975084928006556639L, - -2369197195204065449L, - 4487412260085465950L, - 1389218775050647169L, - -210563038269997706L, - -922257600076658999L, - -1130043160249584113L, - -6984222506141862497L, - -2916447389269713954L, - 4788071442219355775L, - -6019318505971293886L, - -6494546725482896662L, - -4363700123795407864L, - -413176181805813162L, - -318122404650466995L, - -1599593833241308652L, - 2190631003347506794L, - -4995495324074558376L, - 4218530180585703693L, - 6649230517887455428L, - -2433122371099559642L, - -2330882739734692624L, - 8573791066461702522L, - 6970674048709593485L, - 4649249821199623523L, - 7311119499624527481L, - 4680575275115317809L, - -5342935153571170373L, - -3116361043570347782L, - 7648138161603070701L, - -7868309300294741850L, - 2168590009590153900L, - 1490446147749965016L, - -1283008494190853295L, - -3544718913503298823L, - -6534742186538530460L, - 8888468655599547353L, - 2087090769425642258L, - 7827670472827763897L, - 5012267323158846243L, - -7741892984083231808L, - -3464875091939295355L, - 6758409038153561859L, - 7975975224774285641L, - -1784622809729929558L, - -2393574261519991129L, - -6610200673241373487L, - 7928053024182934824L, - -5277949614542058690L, - -7247922641677687748L, - 2028835673665475733L, - -1777986108022598102L, - -3172999022236468759L, - -6985445521140497368L, - -5695545706582407660L, - -4309483684393591256L, - -3401005720978902388L, - 1936529279105293703L, - -8305374440470863587L, - 16315157402312675L, - 8569329186502607478L, - 3622231363337094235L, - 3976043631923911750L, - 2180152175451630095L, - 6056371270826025517L, - 8139874952265577458L, - -6194153431530741778L, - -8577895877125457083L, - -790303016491014290L, - 1748735841046690659L, - -4993780459372161153L, - 5287205275463538041L, - -6049243002864424978L, - 6094628311576432102L, - 1723598070277281371L, - -2030013138372962335L, - 581254472737031976L, - 2883452134968639016L, - 7463603388570246862L, - 8269801870818255538L, - -2721070413905263091L, - 2457346831596438200L, - -8372860384678057653L, - -3210661626851492038L, - -2431103856629925112L, - 5898720385544051772L, - -3594404508869529256L, - 7736856796149395645L, - 4344265719410640477L, - -1183171608899090204L, - -2897986809520726521L, - 8305011769957443997L, - 4795229490900606846L, - -4075891264094240154L, - -9041912526913309251L, - 4789314080457888127L, - -7212841446169150525L, - 7614738331996330350L, - -2806024093029511670L, - 7475540037729743195L, - -208315385211774637L, - -1296899054609750506L, - 2821295913762275529L, - -8879859100383139039L, - -1026712876851747915L, - -8740379160227472449L, - 292511471974483828L, - -6882168959749241763L, - -1890145082814895769L, - -4562439963586418047L, - -4665008591354792917L, - -390136948977793829L, - 2489571518656765596L, - -4606174591656425576L, - 3915092809925941183L, - 9047840161614493431L, - -3633022588647399004L, - 6942969346669131736L, - -6694490826379010151L, - 1324301462784912541L, - -131359952912781984L, - 7699402503208720283L, - 5622479144398033413L, - 6967949859886140765L, - -4032338302965368957L, - -5963416332716588452L, - -3560763554691360091L, - 1005099059372059445L, - -3613443378421770201L, - 8186020547591708957L, - -4239294927646312066L, - 8486099747374488535L, - -8232895327339487639L, - -326238615306018799L, - 3757565981936253922L, - 6778212967891221904L, - 3207873024341334560L, - -7523175474658440577L, - -2278786475151426330L, - 8466836425666023990L, - -4582382447378461393L, - -6578561293342792192L, - -5704990689206920025L, - -2389743517442092247L, - -4253115007157692595L, - -8929813271704719513L, - 5099815622657901533L, - -1568292864717899125L, - -8985414394814021973L, - -2456273479716732497L, - 6294081109509751388L, - 3028102295678003049L, - 3539887196501896592L, - -1575691248319511603L, - 8966746464734142359L, - -6995340021363899582L, - -7800639148789851713L, - -8224260699176813192L, - -1938885039339650999L, - -6014303778691459857L, - 6353855006008545499L, - 682899654558677209L, - -227004043734081415L, - 4175445164667592327L, - -5892774236575987682L, - -1054851063871573686L, - 7378945432015543779L, - -9025847508399685521L, - 8507123498478659641L, - 2634415008322296937L, - 8499997933084393618L, - -2343091536239164797L, - 4943477958300830784L, - -5716138953695402001L, - 3654955422185200330L, - -3855175918674625767L, - 2942012910816921425L, - 2135649495450577190L, - 2489749270232932598L, - 3075573886722866022L, - 4741621495679187373L, - -2533070995420675111L, - 8016604412923285952L, - 3655782710664522385L, - -331575483966243030L, - 5563239881147789110L, - -3536395547713373675L, - 7913843468604629821L, - 5809470005231530425L, - -4975803751638349405L, - 4232625781800052755L, - 6732116987820363984L, - 8254350875123440214L, - 8678768551976889459L, - -7648934972481089708L, - 3723349959659703109L, - 6247511200357726796L, - 8031315762976704315L, - 1080967314182171216L, - 8561519680933409213L, - -4881637187705091353L, - -1748916130722404954L, - -427313373952636003L, - -3301131413273237404L, - -1569066768226212095L, - 8869766464584553885L, - -1961352451311113660L, - 266916750915890668L, - -6043655819212470095L, - 6958639066650934551L, - -7491396823220354282L, - -5706244121092248742L, - 2058565949849149623L, - 3917621928532856993L, - -5285914392340260969L, - -168243632194730904L, - 6675032706416988527L, - -1840378443456062350L, - -7806824272957817769L, - 112697577821879088L, - -4000943011066585594L, - 2818144475816625033L, - -4440191780652473075L, - 5290425627535986178L, - 3439261124616388302L, - -8796398171847802394L, - 2206978116305603858L, - 8337592206550774275L, - 4830967377052828283L, - -3675693473899758315L, - -3108840240467865078L, - -9161001698053177695L, - -2297481807921754784L, - 6805568340065774603L, - -3391258244299519321L, - -749159983993382844L, - 7062232236008961533L, - 8333689744281941417L, - 2017452506567785764L, - -8052757095945795921L, - -8679429010410768062L, - -1669769454675143183L, - 1021385511452112192L, - 2735516449063469298L, - -8689901914251408811L, - -2768144086776923110L, - -2202724657096524491L, - 2163604710661256429L, - 440602864681103213L, - 5959058277963677044L, - -1962091009504664018L, - 7850741655764818791L, - 5642260926720676901L, - 5408898583245429104L, - 7038508131990238779L, - 3607846536923261161L, - -845982521020496047L, - -2264177099345700631L, - 20359578843289632L, - 525387587427138539L, - 7263487202515015380L, - -6022234835374448888L, - 8771216931413507676L, - 971990022205374619L, - 7021724132924988656L, - 7039083302981701109L, - 4204637396958585348L, - 4188090497012985750L, - 4376437258965105347L, - 739302444316090012L, - -6525785024015383256L, - -5902189526714689919L, - -2086878366253206692L, - -4180968549067503810L, - 520335013266400476L, - 2183825622398646326L, - -5564778184706962647L, - 8650796499367868629L, - 6133888236137780152L, - 3302115923459930139L, - -5937793818041183192L, - 6136033530618946018L, - -7445428676723525682L, - 5094265850028691255L, - -7682752822893337463L, - 2360556001507188553L, - 4691951638183144722L, - -3830875212384544737L, - 1394869612670592029L, - 6721262565314161917L, - -4730012123689790930L, - 6010638756354340578L, - 4031121074915162261L, - -8189520056149158263L, - 5699902859355185981L, - 4409202837690861395L, - -4004308357657832082L, - 324207669529782050L, - 4535231947997767569L, - -5065771485887356402L, - -6148808728279097894L, - -8715608844307329735L, - 5490745425133075827L, - -367120062639329977L, - -2362408583935145326L, - 4249838900346469450L, - 3354190632527652547L, - 8650024540421064319L, - 1390121173325989151L, - 4407722572355267530L, - 1305681461138455335L, - 6099199904041118254L, - -8896625676033180325L, - 839449618742345953L, - 2108603209434414606L, - -6476270516642075823L, - -5906022157324316338L, - 1786301043676368787L, - -734452738262121042L, - 9129473457452515473L, - -4270195884135199090L, - 2788589943226781334L, - 854782643768940534L, - -6834471408050497483L, - 939538118216915189L, - -752821676934059887L, - -3925004345170320451L, - -8932717110665275243L, - -7095359027251951606L, - 7643915390524006789L, - -1927702468531393748L, - -7842897924029333727L, - -2005262014091460598L, - -1463327401577112707L, - -1828846898463724235L, - 3421730855491731072L, - -2572236860591883027L, - -7674305242810151190L, - -2921293091126082953L, - -2112272959722776468L, - 5994003596842057813L, - -1403058426817118276L, - 8847371890841156208L, - -1502366106598365249L, - -7223092882480940906L, - -6863117362364849357L, - -6486108986580560522L, - 5841273524403391013L, - -3945405895274884805L, - -8374909777151107129L, - 53304606899741030L, - 4615695750455104916L, - -7114565447402461330L, - -4643391974067777176L, - -6418268910872627783L, - -6758153388660633319L, - 3883028944583062885L, - -8717746570766619134L, - -2916775336586188872L, - -8074909175856917009L, - 3525909159494548665L, - -6434174792604831222L, - -7504160568097417051L, - 2001874122000013346L, - 7613526286976804831L, - 2464361623791150786L, - -2129233914182690890L, - 3209269703778816910L, - -8010470561318389930L, - -6082567480910205891L, - 2027383934435049120L, - 1676758519641328373L, - -8606433480037293753L, - -566732216614183074L, - -7052986422070927806L, - 6759547283385841440L, - -6753685466722762948L, - -5378389309155242913L, - -6627920366497701138L, - 6374316983929412845L, - -2482225971676290230L, - -4599659905021815233L, - -5751984843591190616L, - 4511247687213585367L, - -2476604560440409237L, - -114383761088915611L, - 6450270090553874467L, - -5846154312963348311L, - -8623677702310698753L, - 2393721797395064071L, - -1818986917546634465L, - 4707876179516363283L, - 4194493322864848953L, - -5862485881220479014L, - -7779495775631012707L, - 1429810574540763592L, - 6243218102267301238L, - 3112138729863740057L, - -7917371226803982155L, - -3846717136498455001L, - 7941035918354784272L, - 6054418261287151348L, - 2241054973421403682L, - 2108883531438643423L, - -5118957553064582950L, - 6840064986465667257L, - 1701114564579911641L, - 7866363409355715940L, - -7811750917271050315L, - 4258900268014843560L, - 2910381907881532246L, - -7407853986731113039L, - -1164923521782235469L, - 5071804620493814073L, - -5221820283650092409L, - -2085943650488071863L, - -4691931711041122390L, - 5141081400574039177L, - 4412440312825017190L, - 865265935918874733L, - -3162395727240029817L, - 2583523221463203765L, - -2230477299980342161L, - 1259435039139370849L, - 1365261303243408423L, - 123583301618412419L, - -3355292811340436088L, - -1727563074004288880L, - -8133802905721685614L, - -6552132843349831539L, - -1887405913282768589L, - 579752349959797974L, - -30747658301300128L, - -927889569251598514L, - -598220531698559825L, - 2933084143972969973L, - 1881216270838286368L, - -8591542187284077544L, - -2746195460013203014L, - -4115580643333612767L, - -2101698311751878965L, - 5245788963589320347L, - 4270169879132043112L, - -3833918223343506508L, - 942125237032353686L, - -6956461266653105716L, - 7913560303134573539L, - 8866560449264109272L, - 1772637526204651639L, - 6195153795464161383L, - 8993984678406525057L, - -4726061955654809508L, - 3735265735496936434L, - -6130568352441921952L, - 914728955300562981L, - -4063651775288818415L, - 7163723758837672393L, - 6047067511151254132L, - -85970498549649175L, - -9052941052352548153L, - 4240460500266637523L, - 5163784737021140449L, - -4716331032104787044L, - 5489681070460969049L, - -5530595986986981098L, - -5278261126239207272L, - -7077173381332846300L, - -7391343501975496029L, - 7813143400706294876L, - -829387125962495297L, - 4670865291775900382L, - 9020186365194420955L, - 6433988241346982419L, - 5456431567263680486L, - 577121399356211412L, - 4315536067351582084L, - -2651573533423085833L, - 7729294536223119956L, - 823406537236537172L, - -3197784427651817583L, - 3073787778728381013L, - -6145117092298484037L, - 825473167547740369L, - -6384124143193023811L, - 6743275140960345819L, - -6607284289920060697L, - 6113681357284605143L, - 7689553101083010355L, - 7733899730013301027L, - 2492677562497092915L, - 4728492123871940113L, - 6678104742805246060L, - 5109599002723184885L, - 1552728313401432217L, - 4260747280707230837L, - -593097661878040944L, - -5924961133842904285L, - 4723826630465061674L, - 268913169937480109L, - 2542402711842995289L, - -1051287017878596624L, - -444276555201322762L, - 7942493575456109374L, - 3061527869577259411L, - 4193974852415330113L, - -1301232869890041839L, - 7435225101451773213L, - -9001651199021564702L, - 6863640439001667225L, - 5554839952330233864L, - 1018125067733426387L, - 5106471895041805751L, - 6755291848201476506L, - 204883989932056912L, - -2918800393497291312L, - -361123969592716017L, - -3248350955607675877L, - -3093925735525511829L, - 3287300458522620431L, - 200614927215937352L, - -3637256374159515512L, - -7088130147825572228L, - -1454877327154711975L, - 200290346546176890L, - -5273070491678100412L, - 9126524747081374017L, - -2469359255503465276L, - -5451210609015247756L, - 1345843315473598819L, - 5658367014892979201L, - -418967882289891730L, - -8563171322679387325L, - 3076280980125057136L, - 7452927116456175377L, - 7779645020063005680L, - -1134607767941445560L, - -683371285258284330L, - 3622514687262401912L, - 2057491561658004489L, - 1274581986030567362L, - -7605424030712005369L, - -1904495568695037810L, - 7235082449551676221L, - 7691343848640211912L, - -2574437254990241198L, - 7672749762009557292L, + -5752995443491633966L, + 6697150685477982789L, + -8292226578951944721L, + 8469039529317823308L, + -2857784829002285502L, + 2708946207299695398L, + -475923488709545204L, + -6776550864174025842L, + 5997435870397431563L, + -1413893264211963655L, + -2557925560926552642L, + -7786449276288726217L, + 2663862252392472519L, + 8293182564608143680L, + -4991485761665135445L, + -4260167493401566131L, + 8397271794406387881L, + 2767712210800417827L, + 5643454605919104416L, + -2096221407055692639L, + 4164971193688274917L, + 2012618980459220155L, + 4502510481524221164L, + -9150753967845211809L, + 2109736127223229935L, + 1705328223411648698L, + -540252590844239442L, + -8448139437911662946L, + -9172921965178401452L, + -5901063484397960162L, + 8990179058523403886L, + 3191587668216080419L, + -1505157133869540426L, + 4826297514018361126L, + -506720607717191353L, + 546407899098652120L, + 3565976246504851323L, + -7513490578875853277L, + 5136885717551856091L, + -1235315857278978092L, + -5210210379482210601L, + -2670168613513456171L, + -4576802255731115784L, + -5498085225412524972L, + 5454622260446372900L, + -3491156961084957616L, + -2040190370914817596L, + 8748880751719855958L, + -6066272418698883734L, + -8123169723410338681L, + -3402048629088769519L, + -9050773182933316170L, + 9109683037362136984L, + 8292736658273756483L, + 5864675646204731276L, + -3410199798914438762L, + 6375136202365522231L, + 6084483678447018976L, + 4341319149581895135L, + -2617192247437531424L, + -7803896693111046938L, + 6612714826762703589L, + -2604165952446921239L, + 3956924213727943389L, + 1828772354490899965L, + 4565769277738155679L, + -2552163583152823111L, + -7282771451698115771L, + 1541537288639310430L, + -1260053141177242892L, + 4470999817094301913L, + -3084949271203311242L, + -7546393470851473997L, + -8966028816522567997L, + 1051341974704645729L, + 5538793834884616099L, + -5628104741732354066L, + -8951130142602632322L, + 2719505240413599325L, + -1008778746385874696L, + 2203198775211410780L, + -7143533605672789717L, + -453883261782705024L, + 319057938868287727L, + -496754595070837553L, + 6805613814053675206L, + 6132340656385066787L, + -8860356581867026581L, + 5016198123629145689L, + -1596369660096962742L, + 2766685770642558330L, + -6266516138812319453L, + 1921783429840399290L, + -5251293476201135485L, + 7108628593359030710L, + 8093943502713971156L, + 3074597418887950513L, + 8333496602590533977L, + -708020943442059956L, + 3102625642886133984L, + -6499370722788023494L, + -6917377031919774998L, + 6901729616079135501L, + 4521740373890802536L, + 2717665495303183111L, + -856278075863271097L, + -2502885534841887818L, + 2357338131581904382L, + -2522296722172564384L, + 5979169122227632125L, + -1990576311176786902L, + -316116701196334114L, + -6739126101832001255L, + -330238767430913485L, + -2397646708417573337L, + -5746367286277299531L, + 3388130732766130858L, + -7310644851569314744L, + -4824388967193941498L, + -648780185892102954L, + -8712468613035181241L, + 2711516130478712762L, + 2754691483449550770L, + -2790972617414146667L, + 8537743091160071936L, + -866831535856147830L, + 3962787639412434933L, + 5751063116956730026L, + -6343210590541299672L, + -9027452407994212939L, + 7748080448177464210L, + -8875675911298011676L, + -3943374007835482499L, + 7098683995859102865L, + -2275458998280053925L, + -4628453854860491915L, + -1529511772279148360L, + -2871057272253482780L, + -334841257423340530L, + -7314747545247602053L, + -201172568470226645L, + -6965846975881685612L, + 2309595871631956781L, + 8951003723927622968L, + 3001873710915957640L, + 2012064170299142173L, + 7095981982072554477L, + 2920562163667542830L, + -4511110467250954239L, + -7166611815479236612L, + -2211021712129656794L, + 1338540767674038758L, + 3487756347488888084L, + -4937557446668954437L, + 2620388879014721175L, + 7208356694606927210L, + -4513132828283918504L, + 6317549580437550543L, + 2401779216570746255L, + -5457469669547078677L, + 7471661866970627352L, + 7386623443212346251L, + 6923730215630122759L, + -2325097522428671189L, + 8000364301902289246L, + 4925551359859147160L, + -5595982422094382548L, + 7228349132916965209L, + -4703354695115981511L, + -2115306052026418681L, + 9090854014723212293L, + -6068838827925313383L, + -6558621713962157376L, + 1473800012311082935L, + 2525181364542947966L, + -6021645913223485972L, + -8318988851482275654L, + 373007065698472266L, + 795167131148895585L, + -532571991837954792L, + 7238159482918777429L, + -7525111696825330223L, + 6189481850281476163L, + -512400154882781230L, + 2185412829792057998L, + 8303821120875906039L, + -3658266464759815456L, + 5534191248734418007L, + 6101574779391286487L, + 8145964650042952627L, + 5391320846882423376L, + 956217201277458121L, + 2237749983378005618L, + -6656683242892884554L, + -3394474129803761342L, + 8406074839295737353L, + 8623233445127821330L, + 6897419204888614556L, + -3873285223086133426L, + -4449195818654013260L, + -4380415985865610994L, + 1843484917925416568L, + -3683421128553731612L, + -6759630266574317021L, + 7963823663074411611L, + -9073210183338934836L, + -4207841706309087395L, + -6317104811444343048L, + 1176967159244991718L, + -8150985710604331729L, + 2463641502615436945L, + -4649906465921856966L, + 4753784510776661068L, + 1401826846930455507L, + -7215160016399204667L, + 4222527227332022097L, + 4242038843438232290L, + -6229200518763707451L, + -7634229331990944723L, + -5906084857878661851L, + -4471729319982253726L, + -7488818713861180407L, + 8958437567708072797L, + -4361717585953265517L, + -3589345870120547258L, + -5656002784155139233L, + -7405858066073224924L, + 7261298787749646565L, + -2118323539609274283L, + 8440646816505080462L, + 4907492019172743241L, + 2971795108974926972L, + -1111694536287943778L, + 1092562971031582110L, + 7435780765000923721L, + 5815238393374335255L, + 3728879363004790298L, + 7950374680552679377L, + -1559646550697408809L, + -1009638403217698280L, + 5477007325533850929L, + 2802315771636654550L, + 1359831828875761363L, + -6244291732477211457L, + 9138108823363225790L, + -5700703633273694371L, + -5189931767235375959L, + -5917217031437644153L, + 6559980057173897885L, + 7585954365066361941L, + 1833254434142522137L, + 2622798612834078243L, + 2935894269140572959L, + 3342180495858759098L, + 7763655187214368195L, + 608976619205971467L, + -4493083204513432310L, + 5655458152670549588L, + -995372262620475933L, + 6725108152764242753L, + -4152678539161864839L, + 4879330012023732227L, + 299691067249437340L, + 8253082866296742941L, + -1349088245542024700L, + -930670635091392036L, + -6305033172145799503L, + 767676528758696723L, + 7848289152882068204L, + -5335123725692922309L, + 7618587959592606045L, + 1310623412826253949L, + 6105911509337366946L, + -5132873445536420119L, + -5066374717991788365L, + -4196018003514359930L, + 4602399218983903018L, + 6996237050722228275L, + 4750432263399753517L, + -6552768219041772261L, + -8886514643984898377L, + 7353718498017818617L, + 3420752363982256164L, + -3106921624226184176L, + 7755185569018499850L, + 138048424823142520L, + 4574855394856311409L, + -797116754680671576L, + -6319525882248058891L, + -7211292892013797268L, + -5969262208310571743L, + -2242517284471541983L, + -2134523085752830969L, + 5239925547316736378L, + 2211989170649079345L, + 3951874086467810189L, + 1541713943974254342L, + -5392854420512731723L, + 3564316510315168871L, + 2901564687206922350L, + 1540984989266277585L, + -5588692335575710649L, + -7656900483971665708L, + -1269975572006533380L, + -8586683894725424637L, + -667220377486025270L, + -6992322247305413343L, + 1020432414035508475L, + -762737570699341127L, + -4996438874277990597L, + 2399099134154679381L, + -7294753205977958107L, + -4330814694281211877L, + -3424505945178467498L, + -3908232167211290102L, + -1715708172189155463L, + -1541677764411125216L, + 1443437733037296364L, + -5699613322350318170L, + 28422381221154018L, + -8448942739014323861L, + 94089349704640679L, + 3121324325667558058L, + -2027215282474423693L, + -9090860166446867101L, + -5570813680167514715L, + -4433017494388855624L, + 7780214454833321289L, + 2818118075900140158L, + 7909566890394565636L, + 3281719552865083509L, + 2293428426098439431L, + 4831877444478608421L, + -8036810704178721498L, + -6696440698423871679L, + 424663572619708233L, + 2210379950234460182L, + 4488772831440475400L, + -6238973969104209915L, + -2892035378057749818L, + 1190083349888328687L, + 1900956434625552346L, + 5686029047839893831L, + -8652319297499303518L, + 5660206937964935444L, + -5693798368774435246L, + 326881025455212277L, + -8376143443592681499L, + -924714482174160655L, + 2731102432407909647L, + 5974710608961653241L, + 6662943015421622990L, + 2629145426514230124L, + 7653779470428211936L, + 8231699528634814943L, + -7880485152483421857L, + -8715291256937697509L, + -2608260639142008146L, + -2891414416406033026L, + 1006672424561275863L, + -5345465745471823175L, + -3007098514343148833L, + -8853686550740270619L, + -8826799561287303533L, + 8800245871751669511L, + 565431636219131046L, + 6137897978460556916L, + 5482308004417669307L, + -3006854606371770142L, + -5550863738981833513L, + 6860154257076535929L, + -7830408716033920139L, + -6220766884162806429L, + -3254641290637732033L, + 4069104293139053208L, + 1298727460612851492L, + 5145793087755505159L, + 4012194405015900827L, + -2096633266369036577L, + -235600124490809513L, + 2256248865523312538L, + 1856550792634706370L, + -6338437638663913139L, + 605690123879344699L, + -5972006707479557169L, + 2788841617850067275L, + 3341756482258277517L, + -8730087995322499274L, + 5666761853789513177L, + 1427855942817620030L, + -2247084578644277545L, + 2632056116244532492L, + 8983184113458203674L, + 6222824259917067927L, + 832847538082989274L, + 7408336855734508382L, + 2463234904146980715L, + 7616355816816829131L, + 5437320614714817066L, + 2176649963064497163L, + 7847964877858458386L, + 3676215252045438118L, + 1457265625453915305L, + 421670244665897930L, + -537286355906412984L, + 845546777083974630L, + 6294586905906742451L, + -6979812383811440761L, + 4101166573373719960L, + 430647036995334093L, + 2563569094767382754L, + -2226117486192197040L, + 3989815455278220803L, + -5573460076032648378L, + -5149764105493446507L, + 8908023797302087394L, + 1579875413248797693L, + 6557085398158756277L, + -1860582499397819682L, + -3940264269551745098L, + -3760050418257691649L, + -2749137550200198091L, + 863749834414320446L, + -1701674908797410602L, + -3441531459858237116L, + 7781166611943523849L, + -8747694838109223765L, + -7940615954936651322L, + 1761800111692886098L, + -7563608795264216209L, + 2430120273101259962L, + 3034607409190630193L, + 7596606678605264709L, + -8815959038019965324L, + -8056592803858661736L, + -6054319005531061432L, + 7637990614259037480L, + 155762651336866309L, + -5295066003461610118L, + 2097996021613363354L, + -2649318637576910563L, + -4710689453059380010L, + 8675276565266944323L, + 4061820304631504890L, + -865251409507836874L, + -4305544705996842550L, + 8133733737104758782L, + -3599082219550900640L, + -1172444168425884022L, + 7002178848795582841L, + 8753574524527561837L, + -7959972011549631263L, + -664335750987460129L, + -7761182775497779250L, + -201978935828898840L, + 5748605939155571413L, + 432959146257511060L, + 8597688997048592708L, + 5979346454620003082L, + 6682666834922578474L, + 3635671342630844084L, + 8295581682942403968L, + -6056716329065906860L, + 4876232349596700627L, + 3282465211073936357L, + -6277210138874800012L, + 86063810903062668L, + -5131034425726984549L, + 7879994284944917570L, + 3805360137603820244L, + -4819745855255108901L, + 6005083603591253720L, + 1260872260703386533L, + 6208805585589862489L, + 4467145362283493250L, + 6925593199187107448L, + 2290814776012496288L, + 2202094536385319447L, + -1583289128964920170L, + 2414314858213839292L, + -417375850490384234L, + -6775757096712023859L, + 1531877516325565400L, + 5092160435195199211L, + -7779989257755281504L, + -2910324314591098862L, + 8497090690994716777L, + -7802963550632908400L, + -6411284901845568322L, + 9216337043421866495L, + 2437859992012674232L, + 6960237011186167617L, + 5100162418749277386L, + 6509562170805894274L, + 690433361758303077L, + 5936816351771558334L, + -3601277060469993805L, + -978457311807747406L, + -4420940034475608949L, + 3538644062391991755L, + 5164625733904685628L, + 192170982312183453L, + 5014044649793050646L, + 9147945450485230993L, + 121096778422978126L, + 7076446543359171313L, + 3849792111065500559L, + 7235530029899206334L, + -6832803917257794399L, + -7448095328943903784L, + 636249030288914450L, + -5837508951408640620L, + -5494182545899908814L, + 139946096999437232L, + -7949772735307966448L, + -6777152677072204821L, + -648210928302263569L, + 1484711477581900777L, + 1415763754612838143L, + -107058891244037140L, + 312958362296582989L, + 5071518533113132226L, + 6638935098145563092L, + -2867055004276813534L, + -4289503497262086936L, + 1497170552728782805L, + 4517675483628149735L, + 3748960245079903666L, + -3691286664879128054L, + -209359184536764749L, + 2491341916818449085L, + 5499205217633027745L, + -5512709448748519671L, + 4557913818063026938L, + -2112204135968966196L, + 3440403110217462895L, + -5867323792132309155L, + 5420869064478055006L, + 318512041709141078L, + 1057553941897233483L, + -6895197562631981270L, + -5782743651675563936L, + 2659771847560443960L, + 6592601119187496548L, + -517270229881128849L, + 2622604378506727519L, + -9170205866690625639L, + 4806630682514823179L, + -7776613972641981358L, + -1488298548028258830L, + -1715707210842296824L, + 3796221982870729299L, + -7882722580553373597L, + -1797548791879939131L, + 9223079908042491188L, + 7847548061281742781L, + 1041148225166463713L, + -2800037601895587534L, + -7832361151307182116L, + -6950576920927850414L, + -2404378656089204258L, + -7720362412660524651L, + -4901646243176144926L, + 6432612866296388591L, + 665821462715291984L, + 5024465184664377182L, + 1558901948449801231L, + 2224934457550741787L, + -1486153720652331467L, + 2152321067003602002L, + -1858128886354189097L, + 2873839996181438535L, + -243875524287970697L, + -1376873654537129986L, + 3287122656145633441L, + 3770833946582728674L, + -2764900700916121857L, + 2560091717993161785L, + 5504786539926877426L, + 673505854315501819L, + 1264431652537758499L, + -5043418235491208409L, + -6769065002135856586L, + 7666088207808456995L, + -2827685615289224220L, + -5429383711816435171L, + -3134385201210164932L, + 3020879270457681824L, + -1689344584352272080L, + -9040930749904066060L, + 1932280955101101310L, + -4992572509975070322L, + 7546307129163923078L, + 2939073542428222766L, + 3374974368464231869L, + 885759554366311L, + 6593789636519856798L, + -1624132412418983395L, + -6031359656290740003L, + 688983212618230553L, + 6369052776794949918L, + -1377714920269304294L, + -1057940749189840506L, + -1655685782041312329L, + -110552080942842283L, + 5250633774704933933L, + -7909648255758272745L, + 719735976337939580L, + 3645906512854567933L, + -1860978834085668115L, + -4349804709624489457L, + 7923661347327064185L, + 4244126846532735429L, + -3251399312816082643L, + -4937029742581158563L, + -86298941439722272L, + -8597913327563881758L, + 5039882027531808464L, + 8056647111062079524L, + -8976752115766926062L, + -1690394607348932339L, + 3378746565484573129L, + 8416003090844044193L, + -2717024430934601010L, + -5701892799453780386L, + 1533981283496523540L, + -7462371343115417598L, + 7010080256761797460L, + 4478373719647299143L, + 6305458678328463570L, + -5102763036459098393L, + -8778795989564198209L, + -2268889645684651974L, + -4555916510323499535L, + 9065546065927673888L, + 5852839483910534806L, + -3402482240912256878L, + 2023722994972298169L, + 5215407550830003324L, + 1071468158469513836L, + 4955237436537987038L, + -3083989516400027076L, + 6722953813435001988L, + -2387850610416371552L, + 809463730078568982L, + -5395203458608056891L, + -6137800097014878795L, + -3605527194936796968L, + -7589842792710116365L, + 8069067842420108257L, + -7454408306272078350L, + 2339188701288559996L, + 1008425726458324286L, + 6847676052807732318L, + 2271618337058209406L, + -8281033180921892670L, + 3604010165737741236L, + -8269928557793008073L, + -447391999287823556L, + 8028984830780334836L, + -3883350805508230356L, + 7482610679805814070L, + 6500112572029535883L, + 6119648543352512696L, + 6922212850686981745L, + 1734731947537567857L, + 4101619546129582628L, + 9155049639883886519L, + 5849304319215085011L, + -135976101808023055L, + 3329888204068201272L, + -4336188293967075047L, + 5788433959497374483L, + -1402363557578146821L, + 3588707324813677961L, + 6715232528053729851L, + 7169368150013526008L, + -8706746826857587245L, + -4819316543846777649L, + -8782313301067526525L, + -8916832875484128383L, + -2346600299358242263L, + 1904681875169970567L, + -6704056743702639344L, + 2270605299750783360L, + -3940808304480228961L, + -8321565943725548488L, + -3825742229541937514L, + -2349339074190735472L, + -2948486946206330984L, + -747906506207273746L, + 4280562720015859798L, + -4136257343808753176L, + 8445283324198191059L, + -8404850409602104913L, + -3264457032343850047L, + -8759790595969078254L, + -2542190711281684773L, + -8843544063303913454L, + -4003746482399952206L, + 3841695822551400168L, + -3588090911679720182L, + 4918585626351510199L, + 9222791837897484065L, + -5760984091213555378L, + 2491736142884395009L, + 9176699063949977552L, + -311336022868801049L, + 6098071943696363607L, + 3781539988474542156L, + -5991444272878304549L, + -7058079929087833240L, + 3692880174470651745L, + 8043184184871662514L, + -2260533056334755470L, + 7862870576355526775L, + -1273628657555198089L, + -7116245059732632210L, + -6206223953545513505L, + 8769478588548603347L, + -6809293819712164844L, + -7072037946451047577L, + 5145959967698376997L, + 3918549975422395928L, + -3688153306502628396L, + 8933640809529662946L, + 6586386948093068301L, + 4314174515802583045L, + 6042832017761248999L, + -2163096650317259801L, + -1301538385158714097L, + 9157628132063555931L, + 8447192224483369575L, + 1082300847283178879L, + -8765613093828266962L, + 6523561351628630699L, + 7878456944142132573L, + -5878800239136723413L, + -899016955838748566L, + -968680680108344572L, + 8149351788840205925L, + 7767149159758237380L, + -1002433668001324671L, + 861378480610089679L, + 5131370442347562734L, + 5891997968737511949L, + -1134130780427583438L, + -2721284507442384384L, + 3581758406053663578L, + 4711959109881063237L, + 3814833207703197149L, + -5498755072540800142L, + -434194050930099095L, + -1131324138179189444L, + 6335673834129040499L, + 3840591353873435091L, + 6691477876637098998L, + 5389042814799436488L, + 8492537662085986759L, + 9801065220990358L, + -8991404774454959964L, + -5967334022174632862L, + 8423499844379835696L, + -1121320485100692308L, + -1137347326607533713L, + 3579131621253541604L, + -949637496239973913L, + -845717236495377944L, + 2627652869211543871L, + -3584273871358543803L, + -1231456733798526473L, + 6404279318428525466L, + -1959366387574498651L, + 8659995475649499110L, + 5687743493891209750L, + 5734157541830063944L, + 3807145789061111632L, + -8728883033962465130L, + 1886310705344218044L, + -2869995344352648369L, + 8631433038774110827L, + -5196628823587587974L, + -7457206590006693637L, + -5287470411743602489L, + -4100864542827687276L, + -6925193246164904686L, + 684773938147799771L, + 4684480184200832071L, + 1138521418475557396L, + -1024452235617887100L, + 370178077665262107L, + -2580904250658458088L, + -4067270455265760110L, + 7883457924958258236L, + 2745236661071909096L, + -6638753008619557401L, + -1928563245103591922L, + -5391677730310963265L, + -3443398620200795730L, + -8921877650888014333L, + -2549654053467481876L, + -6634007310328959288L, + 6662969652277689957L, + 5704789109069509625L, + -1307333292330657763L, + 6533595699848914839L, + 2206229619406776067L, + -7059181012292774208L, + 8587013829275411963L, + -3759394797281060169L, + -8332558387862436192L, + 4058454963111191922L, + -2909318126609562718L, + 8309425769040304384L, + -3332518656544710523L, + -53840526904216763L, + -4392299612463469408L, + -6495163012164872108L, + 8283822043324591205L, + -3839429045227492113L, + -4554258591908844950L, + -8717791527048532273L, + -6680294812840082731L, + -1514076315369906827L, + 8342331288999106348L, + 4467472370913596089L, + -5258687569970231267L, + 6428083210523097473L, + 2293947403016663486L, + -5526361602248141114L, + -7270937093961275072L, + -7226206738482320242L, + -267988759137059367L, + 3757842653020528703L, + -654142607214292501L, + -3877320323095024097L, + -210352008325460011L, + -3777353653906366683L, + 4104559760354145145L, + 6351620637332827086L, + -3953047538968937343L, + 1977509989365985520L, + -6096612777648073834L, + 3655449697279862217L, + 6371929595416244955L, + -6719663260573101322L, + 8235058461435871026L, + 8223610568265677874L, + -636776168225445543L, + -5658531495972000806L, + -1315157075774308702L, + 3318184564168373738L, + -3870791042207323999L, + -5761074459524531162L, + -7589695080417675674L, + -118243652515378968L, + -5606050504941145854L, + -1682232575263053834L, + 2064607730151462051L, + 3860046528687723210L, + -6935238833286905572L, + -1526898475961616862L, + -7786760789279579722L, + 6367271805286224450L, + -4333115896551664911L, + -1229178972379399952L, + -5406430689127328314L, + -8536830855104540258L, + 4592858633504932985L, + -4661004590562426651L, + 1900079872513330236L, + 803518532278716272L, + -7227731911919645710L, + -1531800249475624901L, + -5068571120099635260L, + 6954901733800148115L, + -7075071323703859828L, + 1447978964456769515L, + 860006115119071319L, + -2067420548322589555L, + 4638996254844315967L, + 6983236581726963935L, + 6708882819304554132L, + -1077037295677468865L, + 3623478619549261514L, + -8551083693862102837L, + -6864926796047150583L, + -5583309839740166644L, + -2047952294766573645L, + -1296070923862863512L, + 3533321735634917235L, + -1137358684259757076L, + -8080333153054443456L, + -6770927466908143968L, + 1677314511582577698L, + -2630259631962080464L, + -1793645900673563419L, + 3600237620008462975L, + 2180027379579890660L, + -9043677058766520350L, + 3962397017521642626L, + 3977072778934081031L, + 9036155278583684186L, + 4719201700299004978L, + 195773270223425425L, + -3391740091956199499L, + -4297719063714682956L, + 2518769717461479967L, + 5163274893178164221L, + -7935837524015792569L, + 3725316512735597929L, + -6062355987398187561L, + 5072788521812186052L, + 4756745374124465344L, + -6691048140593722302L, + -4453427560142816958L, + -8908616043104241784L, + 4680671232907313257L, + -6131724261229112714L, + -9108450687466015537L, + 6365495657268753375L, + 6448165814018765014L, + 7071162731007451983L, + 6828906714271770482L, + -3559294295246311028L, + 124771238363526084L, + -3293309753712400861L, + 8896706306255876093L, + 3125408161217615213L, + -5861463414798312654L, + -9036260382640522754L, + -2941595857477708459L, + 6033142563060557598L, + 1099630200403990563L, + 7959429886791854178L, + 1535421567087429521L, + -3523681894692531197L, + -3906144409472427412L, + 6483996772781688720L, + 4132319255708563987L, + 8769726356542128993L, + 6738613111825331757L, + 1764580723100293334L, + 3299019025645495247L, + 2239605653730261397L, + -6200467116936956633L, + -6291344345384672622L, + 2565928296401167337L, + 5329865919971566807L, + -8575034623756510146L, + 6368322753797090715L, + -7493350249074734851L, + -1948050475401750220L, + -2542388860306602080L, + 3132812952361473979L, + 8662503282931471374L, + -7226118518078524751L, + 125513287940370920L, + -7105850358401444205L, + 2873891704788790693L, + 375644362554273808L, + 8779595029680158187L, + 6520575959918535178L, + 6481335563279395683L, + -3958324538875210597L, + 2650332007800900579L, + 67216421894692841L, + 2892388889322576563L, + 447031742152452522L, + 2214867384342611779L, + 3463418430384064877L, + -6736581145771083272L, + -3097757825887262572L, + -742646863032103227L, + -675900178715113798L, + -2232567950500061233L, + 1712025609374863027L, + -3405265351896222950L, + -7357424915587192954L, + 5899042778652661141L, + -7187291342974761805L, + 3480937052474976673L, + 997099418044934990L, + -2839517833272115276L, + 8199436817352462608L, + 9072737280134851879L, + 839795799971829718L, + 458252816075262707L, + 3252541827624060629L, + -5029727353658396637L, + -4967837872862091654L, + 2146776628928215216L, + 5403743629243841306L, + 3306799506878402965L, + 4468336141473957274L, + 7023113564987990226L, + 2871980174971968592L, + -6665846774723588486L, + -8521313230784523850L, + -2899150205599417383L, + 1992195265166010323L, + 3610880564010872990L, + -8962461672227066573L, + 8499793696703179099L, + -5174175353166984262L, + 3773412144378555582L, + -5377488598550438958L, + -227481030440141534L, + -3003034596327281460L, + -6010571883582226691L, + 5285640267764709652L, + -9094570939029139554L, + 3302183665375964446L, + 8185803481915750000L, + -7832879598569001202L, + 9185495476894972675L, + 9021601549322560342L, + -1033483127041468323L, + -9094719449194039442L, + -4246271926877732985L, + 5329679602094503622L, + -3123609535190446287L, + 4714766142804686442L, + 2489307805887894890L, + 2987790131896782326L, + -2963677483725852236L, + -8529934738168520503L, + -6356353435089583010L, + 3208586395891790363L, + -4407123126725047459L, + 8157441934654253916L, + -6109838368688820127L, + -4389983853453341623L, + 7652314184807664343L, + -4662723430367132038L, + 8667093623786488993L, + -3415543420133275181L, + 4904278838452314694L, + -4354230232880600982L, + 8861799057857753L, + 3552811093870745879L, + 8634119875383707854L, + -2732631755040740128L, + 6518885727185543342L, + 4341137614328678730L, + 6793266319858946131L, + 8047455342123276414L, + -866422210016420449L, + -2975253122827530056L, + -4030176003307022576L, + -4241696461887318612L, + -4753266504739240553L, + -7373316743164657129L, + 6048513984860600758L, + 1814258330875604106L, + 9109940689954894985L, + 1579558970146774347L, + 668478211668974619L, + 8409518560944185002L, + 7245729396754890299L, + -5114268398654367847L, + 2956616124692577442L, + 4461886846778383058L, + 959690196566065732L, + -7235204044940286838L, + 7981158344195854661L, + 1833698125790755138L, + 7752754976810456477L, + 5692118834710835902L, + -3793683786453929372L, + -5581772364636870855L, + -7470774962401733293L, + 8780664591724430174L, + -7663125741516067028L, + 5829471574991825780L, + 1182333455500273019L, + -1726270951016459467L, + -2746428321520070969L, + 6832833992125314751L, + -3990613509805030555L, + 2400486545587757625L, + -6598170744898189777L, + -1995198747364774857L, + -3645842663215618557L, + -6553956802949933979L, + 363585666263112429L, + -5656547416142849554L, + 131159332135711557L, + 4242991056913343886L, + -4674809189780845966L, + -1954374021725723642L, + 9000512499144627986L, + -4966087500556332423L, + -5368443575882114199L, + 7898708771797640436L, + 4954393344642394763L, + -228876611915096824L, + -3517612841169834059L, + -3181203061349135348L, + -7887316482076885972L, + -7491168484443218074L, + 1505841500971991620L, + -4819676400227780409L, + -5600600902750799703L, + 4287196606575127498L, + -6631038754487834066L, + -8562057237102997949L, + -3310437032247565299L, + 5856634576804593925L, + -1659423729330836678L, + -2785469434848827216L, + -9178954688981005208L, + 8284532255782100018L, + 3932114027983614574L, + -8735736194352900940L, + -5947824514040167701L, + 1555054962173652536L, + -1028318040091115332L, + 4142937213480146786L, + -2819444980269809917L, + -2903074845803234197L, + 3718049583878739327L, + -5493173480792612991L, + -4746130552040956231L, + 6244568873371787043L, + -2997679871934966832L, + 4047215048138865730L, + -6551789563963923059L, + 9086055720517286271L, + 8876034907713774156L, + 3680389259422527058L, + 6042866802807055050L, + -4886080504692397375L, + -7166197738900036643L, + -727151388570173900L, + 2438604478622089045L, + -8782162061024071951L, + 9077567357215978574L, + -2871872737471270227L, + 5320002012835335589L, + 5539849377632910446L, + 7555126502803598608L, + -8125224475094342490L, + 7417955058148509629L, + 4176877628224197597L, + 7598278370710374380L, + 2265897989342130546L, + -7061482734014550086L, + 1468468196263413305L, + 68682113048681479L, + 3762225435622216659L, + 4581877841476416419L, + 5115735211430226046L, + -397731465197117692L, + 3802999106815691779L, + 7574760794857420046L, + 4178197313545546553L, + 9065628242529864979L, + 542937206029962193L, + 1542373631583440917L, + 6903559734881147673L, + -2071796881281526902L, + 3779795498327194080L, + -2217268270456792594L, + -8059036377920200513L, + 5425988266816609684L, + 3561830549061618056L, + -7500972620191462258L, + -6776359714207180134L, + -5775998075012891173L, + -7755164007855727652L, + -4908348827451399810L, + -1162366502935483389L, + -3581470604892760162L, + -1434370488502028008L, + -1493293905909468959L, + -6762524287730181241L, + 1393564479464918401L, + 6717807842217858780L, + -2269779449488763938L, + 9119207083214966580L, + 4437289221718108033L, + 1991815488616873724L, + -1136008736729825773L, + 6919259317959590395L, + 5700567409540575886L, + -6511943523783520343L, + 8471138532439345892L, + -1261020616469785625L, + -871122257839774394L, + 5853266956701599170L, + -2605324811026081L, + 5645723143070327343L, + 6678903618140079830L, + -8243425527465830189L, + -7366977412613262267L, + 5554112623362949635L, + 8508696414094887570L, + 4526724121376344377L, + -3066464409160921518L, + 6423971479710566480L, + -1301150937530073813L, + 7047171805158365362L, + 6607488204808324896L, + 2550589198730302889L, + -1508652597994003459L, + -8797285250854566260L, + 4531577529333440300L, + 7171511780196023810L, + -8696995432677729109L, + -1038277725665095082L, + -4030021971399704454L, + -7142316504058264789L, + -8690342808784496917L, + -3538025267466743323L, + 3030344740150338756L, + -5434476681454308336L, + 4747881963413479619L, + 6649081146297801785L, + -1340297105335493395L, + -2345199575979290182L, + -5142497021023029281L, + 6590959395881104212L, + -669027690510749039L, + 4713909714515252237L, + 6334133652957330690L, + -4130611448171970254L, + -8777249173946876665L, + -3777422122544011758L, + -4139822748883105829L, + -85322879655457932L, + 8510613507788926362L, + 8480533752847008903L, + -1501849715563565256L, + 7144010316023561074L, + 7071721153639906878L, + -2413842258996393407L, + 3829076351340781609L, + 3904259427140354464L, + -2423161203681766273L, + -9222948412120414441L, + 2232806743868046887L, + 3459293971647694135L, + -4958044470517187570L, + 2702008978364322255L, + -5230685167113972622L, + -4777581725252095139L, + -178566492057125337L, + 5473668624447677467L, + -6025569476816496835L, + -1758476046405271590L, + 4318010125119483290L, + -5001898604592523465L, + 4496672693040208250L, + -6249539806063036132L, + -7752211883834007080L, + 5401928633460905475L, + -7924780124408034823L, + -5852842870036885474L, + -1507586788733048669L, + 8723145826212343490L, + 6322146995759068109L, + 7033327335320195047L, + 2731703606190537636L, + -5700197206770306283L, + -7681929128588407075L, + 4915318349456884393L, + -4365674444257230772L, + -618412543643891621L, + 5389658231644689771L, + -3464092788986188235L, + -1050158483149088836L, + 2986789282075383014L, + -7095920626607872836L, + 5041839261426701960L, + -9180003565648806832L, + -4136797423318912582L, + -815263725971673785L, + 7751482036034122791L, + -6582902412740766080L, + 4948480397753687589L, + 8076288905210502302L, + -9107950489265491053L, + -6184418323857721083L, + -8394291702992930332L, + -3765480365347368667L, + 9161366530222497706L, + -2767769147585489819L, + 8629853602447578989L, + 4143140731787551070L, + -6709802780961091740L, + -905525597452535126L, + 59611890502504912L, + 887996528204235726L, + -6522589813044041015L, + -717562431083190695L, + 4413597631385084460L, + 685793075458769616L, + 6534412965158226614L, + -7466805892367058580L, + -1643339784427405237L, + 8108897583594557150L, + -3012505670609614813L, + -2102992646348794512L, + 7496589075754797803L, + 7374879453359816181L, + -4473020896511090065L, + -2144052467882725474L, + 8932411294479920804L, + 1662104279385187462L, + 505577020704587182L, + 8970226030106571298L, + 4740935558188763942L, + -7479171385872798231L, + 7795864469149986219L, + 1988890416069916870L, + 5328957726704894445L, + 6393309991805794816L, + -8023969082870037181L, + -3201662046137010635L, + 7364167842238108568L, + -1133670122146177765L, + -3700583274673702753L, + 5152863800535605047L, + 4340628140712624150L, + 5588611203430726905L, + 2682781254448818030L, + -4334335781100941681L, + 2486482109045101170L, + -222120907104518499L, + 5461720682682027710L, + 8953356406381104317L, + 4813649794280024185L, + -8815822744547391388L, + -119150930688834339L, + 5696219244854669615L, + 8826694157719678034L, + -1678317963810155461L, + 2312220003237053610L, + -3288132327244573070L, + -6655294980817812847L, + -3093613585240964494L, + -1504599840801857900L, + -6463236998312950925L, + 5810208611405255502L, + -6761690440397609367L, + 451950190532227640L, + -5815456944452977190L, + -764130306143846512L, + 6419889081579466867L, + 4398197193823554358L, + 1464903517901841306L, + -1506288216502917578L, + 8699886991841245818L, + -3380656767633421271L, + 7278933867517081603L, + 3846023845717926438L, + 3407601931308300031L, + 1905732166195179585L, + -108117922380454789L, + -7519861222866947951L, + -4972130809215364346L, + -3021088137554827679L, + 8043600973137368044L, + 1434512585622151100L, + 1016884439578050772L, + -8647546074167685968L, + -8506558926671468128L, + 3841531502952176241L, + 4079049958054926435L, + -5539805586862437496L, + -7883676797140300306L, + 140190142986856503L, + -2694098382777014524L, + 3353255930521897564L, + 2673408461261660763L, + 3333109393952734968L, + 4825771068490982684L, + -1033017699452578891L, + -6425096031606191368L, + -3656030991400647770L, + -8647425424751627856L, + 3478736455049888956L, + 16599786738656663L, + 3377618271754536312L, + -7335129354324713170L, + 7006821265423054973L, + -6604032179699952888L, + 1631574662141238563L, + -6071005127816416359L, + -160948602692816917L, + 2439292442953103260L, + -7784485611988136914L, + 6406517206208162673L, + -3111851768592482815L, + 614615425925214040L, + -3556195010057046934L, + -8360577559236335104L, + -739612675357837554L, + 7772269085929933056L, + 301334074305006580L, + -3173646397989105785L, + -1841824288198551420L, + 1197412702727156776L, + 1316932784236645744L, + -8257483426031914296L, + -8846153844918116222L, + -270342118487428514L, + 773674155630100861L, + 6037581810683864126L, + -5245384017768292829L, + -6666883988353617786L, + 3478725688838981124L, + 5546782277057101197L, + 1942226182099172621L, + 9102708557688253903L, + 9057469348188803174L, + -4031312569229337466L, + -9072824545184945687L, + -3855790695273650364L, + -653872491134432764L, + -4080206884907012270L, + 3311573742599462083L, + -269764702825894936L, + -2766987632263151155L, + 6602535166262597916L, + 8827004592088991732L, + 1592583601190212294L, + -3667633871893247038L, + 3486449146725138397L, + 4359563813403699388L, + -4906066947120349290L, + -4330401382584040114L, + 4803580003918030391L, + -235574200222954516L, + -1394367949090492983L, + 4737542241672587937L, + -8856986665935885808L, + 1817303441870832271L, + -7240430001371174281L, + 3145103301223918932L, + 3477270089202844825L, + -4891077676842527034L, + -6459627619991208890L, + 41856325087285886L, + -1382249026510602312L, + -2521070087258742337L, + -2328070419092090664L, + -5388262052233273295L, + -5999142598302515399L, + 5176296022819478017L, + -8067233187432429974L, + 8892405394182984962L, + 6981068794359751546L, + -8944306852219597850L, + -3031777418502459563L, + 2323104536537852233L, + 9124712187601380882L, + 9137253645240139706L, + -8322892360260055499L, + 8407207834684403871L, + 7071881337439672371L, + 666653966378152392L, + 8872525458728668509L, + -647279373040971223L, + -4461978934957838597L, + -8547295400497453835L, + -8365906280976763859L, + 6814338820251845756L, + -8627557778552684742L, + 1758840533399088383L, + -6750756896288158784L, + 6395311215695067196L, + 392880119943578248L, + -2323700597403900754L, + -6462812207087401690L, + -7551080163645560286L, + -9100215524786223062L, + 2524911097994505678L, + -2413500551656055296L, + -3127527627858617051L, + 28303212483427471L, + -6013779137277216469L, + 2384861921525290083L, + 8909147637811545615L, + 5899702029055461370L, + -9169591182444006478L, + -8983057629681813417L, + -8861230054592033877L, + 8410267594044953503L, + -6655030751206229874L, + -6267989963116339301L, + 31106559957685675L, + 6344345657589688690L, + 8238818461566157187L, + 1502493109774801856L, + 3469110631126639783L, + 2128732756904122570L, + -6695477927845519719L, + 2528367395277931442L, + -329099838923643362L, + -7212791470765971061L, + -3974900257611008409L, + -6102716001138106504L, + 5975084928006556639L, + -2369197195204065449L, + 4487412260085465950L, + 1389218775050647169L, + -210563038269997706L, + -922257600076658999L, + -1130043160249584113L, + -6984222506141862497L, + -2916447389269713954L, + 4788071442219355775L, + -6019318505971293886L, + -6494546725482896662L, + -4363700123795407864L, + -413176181805813162L, + -318122404650466995L, + -1599593833241308652L, + 2190631003347506794L, + -4995495324074558376L, + 4218530180585703693L, + 6649230517887455428L, + -2433122371099559642L, + -2330882739734692624L, + 8573791066461702522L, + 6970674048709593485L, + 4649249821199623523L, + 7311119499624527481L, + 4680575275115317809L, + -5342935153571170373L, + -3116361043570347782L, + 7648138161603070701L, + -7868309300294741850L, + 2168590009590153900L, + 1490446147749965016L, + -1283008494190853295L, + -3544718913503298823L, + -6534742186538530460L, + 8888468655599547353L, + 2087090769425642258L, + 7827670472827763897L, + 5012267323158846243L, + -7741892984083231808L, + -3464875091939295355L, + 6758409038153561859L, + 7975975224774285641L, + -1784622809729929558L, + -2393574261519991129L, + -6610200673241373487L, + 7928053024182934824L, + -5277949614542058690L, + -7247922641677687748L, + 2028835673665475733L, + -1777986108022598102L, + -3172999022236468759L, + -6985445521140497368L, + -5695545706582407660L, + -4309483684393591256L, + -3401005720978902388L, + 1936529279105293703L, + -8305374440470863587L, + 16315157402312675L, + 8569329186502607478L, + 3622231363337094235L, + 3976043631923911750L, + 2180152175451630095L, + 6056371270826025517L, + 8139874952265577458L, + -6194153431530741778L, + -8577895877125457083L, + -790303016491014290L, + 1748735841046690659L, + -4993780459372161153L, + 5287205275463538041L, + -6049243002864424978L, + 6094628311576432102L, + 1723598070277281371L, + -2030013138372962335L, + 581254472737031976L, + 2883452134968639016L, + 7463603388570246862L, + 8269801870818255538L, + -2721070413905263091L, + 2457346831596438200L, + -8372860384678057653L, + -3210661626851492038L, + -2431103856629925112L, + 5898720385544051772L, + -3594404508869529256L, + 7736856796149395645L, + 4344265719410640477L, + -1183171608899090204L, + -2897986809520726521L, + 8305011769957443997L, + 4795229490900606846L, + -4075891264094240154L, + -9041912526913309251L, + 4789314080457888127L, + -7212841446169150525L, + 7614738331996330350L, + -2806024093029511670L, + 7475540037729743195L, + -208315385211774637L, + -1296899054609750506L, + 2821295913762275529L, + -8879859100383139039L, + -1026712876851747915L, + -8740379160227472449L, + 292511471974483828L, + -6882168959749241763L, + -1890145082814895769L, + -4562439963586418047L, + -4665008591354792917L, + -390136948977793829L, + 2489571518656765596L, + -4606174591656425576L, + 3915092809925941183L, + 9047840161614493431L, + -3633022588647399004L, + 6942969346669131736L, + -6694490826379010151L, + 1324301462784912541L, + -131359952912781984L, + 7699402503208720283L, + 5622479144398033413L, + 6967949859886140765L, + -4032338302965368957L, + -5963416332716588452L, + -3560763554691360091L, + 1005099059372059445L, + -3613443378421770201L, + 8186020547591708957L, + -4239294927646312066L, + 8486099747374488535L, + -8232895327339487639L, + -326238615306018799L, + 3757565981936253922L, + 6778212967891221904L, + 3207873024341334560L, + -7523175474658440577L, + -2278786475151426330L, + 8466836425666023990L, + -4582382447378461393L, + -6578561293342792192L, + -5704990689206920025L, + -2389743517442092247L, + -4253115007157692595L, + -8929813271704719513L, + 5099815622657901533L, + -1568292864717899125L, + -8985414394814021973L, + -2456273479716732497L, + 6294081109509751388L, + 3028102295678003049L, + 3539887196501896592L, + -1575691248319511603L, + 8966746464734142359L, + -6995340021363899582L, + -7800639148789851713L, + -8224260699176813192L, + -1938885039339650999L, + -6014303778691459857L, + 6353855006008545499L, + 682899654558677209L, + -227004043734081415L, + 4175445164667592327L, + -5892774236575987682L, + -1054851063871573686L, + 7378945432015543779L, + -9025847508399685521L, + 8507123498478659641L, + 2634415008322296937L, + 8499997933084393618L, + -2343091536239164797L, + 4943477958300830784L, + -5716138953695402001L, + 3654955422185200330L, + -3855175918674625767L, + 2942012910816921425L, + 2135649495450577190L, + 2489749270232932598L, + 3075573886722866022L, + 4741621495679187373L, + -2533070995420675111L, + 8016604412923285952L, + 3655782710664522385L, + -331575483966243030L, + 5563239881147789110L, + -3536395547713373675L, + 7913843468604629821L, + 5809470005231530425L, + -4975803751638349405L, + 4232625781800052755L, + 6732116987820363984L, + 8254350875123440214L, + 8678768551976889459L, + -7648934972481089708L, + 3723349959659703109L, + 6247511200357726796L, + 8031315762976704315L, + 1080967314182171216L, + 8561519680933409213L, + -4881637187705091353L, + -1748916130722404954L, + -427313373952636003L, + -3301131413273237404L, + -1569066768226212095L, + 8869766464584553885L, + -1961352451311113660L, + 266916750915890668L, + -6043655819212470095L, + 6958639066650934551L, + -7491396823220354282L, + -5706244121092248742L, + 2058565949849149623L, + 3917621928532856993L, + -5285914392340260969L, + -168243632194730904L, + 6675032706416988527L, + -1840378443456062350L, + -7806824272957817769L, + 112697577821879088L, + -4000943011066585594L, + 2818144475816625033L, + -4440191780652473075L, + 5290425627535986178L, + 3439261124616388302L, + -8796398171847802394L, + 2206978116305603858L, + 8337592206550774275L, + 4830967377052828283L, + -3675693473899758315L, + -3108840240467865078L, + -9161001698053177695L, + -2297481807921754784L, + 6805568340065774603L, + -3391258244299519321L, + -749159983993382844L, + 7062232236008961533L, + 8333689744281941417L, + 2017452506567785764L, + -8052757095945795921L, + -8679429010410768062L, + -1669769454675143183L, + 1021385511452112192L, + 2735516449063469298L, + -8689901914251408811L, + -2768144086776923110L, + -2202724657096524491L, + 2163604710661256429L, + 440602864681103213L, + 5959058277963677044L, + -1962091009504664018L, + 7850741655764818791L, + 5642260926720676901L, + 5408898583245429104L, + 7038508131990238779L, + 3607846536923261161L, + -845982521020496047L, + -2264177099345700631L, + 20359578843289632L, + 525387587427138539L, + 7263487202515015380L, + -6022234835374448888L, + 8771216931413507676L, + 971990022205374619L, + 7021724132924988656L, + 7039083302981701109L, + 4204637396958585348L, + 4188090497012985750L, + 4376437258965105347L, + 739302444316090012L, + -6525785024015383256L, + -5902189526714689919L, + -2086878366253206692L, + -4180968549067503810L, + 520335013266400476L, + 2183825622398646326L, + -5564778184706962647L, + 8650796499367868629L, + 6133888236137780152L, + 3302115923459930139L, + -5937793818041183192L, + 6136033530618946018L, + -7445428676723525682L, + 5094265850028691255L, + -7682752822893337463L, + 2360556001507188553L, + 4691951638183144722L, + -3830875212384544737L, + 1394869612670592029L, + 6721262565314161917L, + -4730012123689790930L, + 6010638756354340578L, + 4031121074915162261L, + -8189520056149158263L, + 5699902859355185981L, + 4409202837690861395L, + -4004308357657832082L, + 324207669529782050L, + 4535231947997767569L, + -5065771485887356402L, + -6148808728279097894L, + -8715608844307329735L, + 5490745425133075827L, + -367120062639329977L, + -2362408583935145326L, + 4249838900346469450L, + 3354190632527652547L, + 8650024540421064319L, + 1390121173325989151L, + 4407722572355267530L, + 1305681461138455335L, + 6099199904041118254L, + -8896625676033180325L, + 839449618742345953L, + 2108603209434414606L, + -6476270516642075823L, + -5906022157324316338L, + 1786301043676368787L, + -734452738262121042L, + 9129473457452515473L, + -4270195884135199090L, + 2788589943226781334L, + 854782643768940534L, + -6834471408050497483L, + 939538118216915189L, + -752821676934059887L, + -3925004345170320451L, + -8932717110665275243L, + -7095359027251951606L, + 7643915390524006789L, + -1927702468531393748L, + -7842897924029333727L, + -2005262014091460598L, + -1463327401577112707L, + -1828846898463724235L, + 3421730855491731072L, + -2572236860591883027L, + -7674305242810151190L, + -2921293091126082953L, + -2112272959722776468L, + 5994003596842057813L, + -1403058426817118276L, + 8847371890841156208L, + -1502366106598365249L, + -7223092882480940906L, + -6863117362364849357L, + -6486108986580560522L, + 5841273524403391013L, + -3945405895274884805L, + -8374909777151107129L, + 53304606899741030L, + 4615695750455104916L, + -7114565447402461330L, + -4643391974067777176L, + -6418268910872627783L, + -6758153388660633319L, + 3883028944583062885L, + -8717746570766619134L, + -2916775336586188872L, + -8074909175856917009L, + 3525909159494548665L, + -6434174792604831222L, + -7504160568097417051L, + 2001874122000013346L, + 7613526286976804831L, + 2464361623791150786L, + -2129233914182690890L, + 3209269703778816910L, + -8010470561318389930L, + -6082567480910205891L, + 2027383934435049120L, + 1676758519641328373L, + -8606433480037293753L, + -566732216614183074L, + -7052986422070927806L, + 6759547283385841440L, + -6753685466722762948L, + -5378389309155242913L, + -6627920366497701138L, + 6374316983929412845L, + -2482225971676290230L, + -4599659905021815233L, + -5751984843591190616L, + 4511247687213585367L, + -2476604560440409237L, + -114383761088915611L, + 6450270090553874467L, + -5846154312963348311L, + -8623677702310698753L, + 2393721797395064071L, + -1818986917546634465L, + 4707876179516363283L, + 4194493322864848953L, + -5862485881220479014L, + -7779495775631012707L, + 1429810574540763592L, + 6243218102267301238L, + 3112138729863740057L, + -7917371226803982155L, + -3846717136498455001L, + 7941035918354784272L, + 6054418261287151348L, + 2241054973421403682L, + 2108883531438643423L, + -5118957553064582950L, + 6840064986465667257L, + 1701114564579911641L, + 7866363409355715940L, + -7811750917271050315L, + 4258900268014843560L, + 2910381907881532246L, + -7407853986731113039L, + -1164923521782235469L, + 5071804620493814073L, + -5221820283650092409L, + -2085943650488071863L, + -4691931711041122390L, + 5141081400574039177L, + 4412440312825017190L, + 865265935918874733L, + -3162395727240029817L, + 2583523221463203765L, + -2230477299980342161L, + 1259435039139370849L, + 1365261303243408423L, + 123583301618412419L, + -3355292811340436088L, + -1727563074004288880L, + -8133802905721685614L, + -6552132843349831539L, + -1887405913282768589L, + 579752349959797974L, + -30747658301300128L, + -927889569251598514L, + -598220531698559825L, + 2933084143972969973L, + 1881216270838286368L, + -8591542187284077544L, + -2746195460013203014L, + -4115580643333612767L, + -2101698311751878965L, + 5245788963589320347L, + 4270169879132043112L, + -3833918223343506508L, + 942125237032353686L, + -6956461266653105716L, + 7913560303134573539L, + 8866560449264109272L, + 1772637526204651639L, + 6195153795464161383L, + 8993984678406525057L, + -4726061955654809508L, + 3735265735496936434L, + -6130568352441921952L, + 914728955300562981L, + -4063651775288818415L, + 7163723758837672393L, + 6047067511151254132L, + -85970498549649175L, + -9052941052352548153L, + 4240460500266637523L, + 5163784737021140449L, + -4716331032104787044L, + 5489681070460969049L, + -5530595986986981098L, + -5278261126239207272L, + -7077173381332846300L, + -7391343501975496029L, + 7813143400706294876L, + -829387125962495297L, + 4670865291775900382L, + 9020186365194420955L, + 6433988241346982419L, + 5456431567263680486L, + 577121399356211412L, + 4315536067351582084L, + -2651573533423085833L, + 7729294536223119956L, + 823406537236537172L, + -3197784427651817583L, + 3073787778728381013L, + -6145117092298484037L, + 825473167547740369L, + -6384124143193023811L, + 6743275140960345819L, + -6607284289920060697L, + 6113681357284605143L, + 7689553101083010355L, + 7733899730013301027L, + 2492677562497092915L, + 4728492123871940113L, + 6678104742805246060L, + 5109599002723184885L, + 1552728313401432217L, + 4260747280707230837L, + -593097661878040944L, + -5924961133842904285L, + 4723826630465061674L, + 268913169937480109L, + 2542402711842995289L, + -1051287017878596624L, + -444276555201322762L, + 7942493575456109374L, + 3061527869577259411L, + 4193974852415330113L, + -1301232869890041839L, + 7435225101451773213L, + -9001651199021564702L, + 6863640439001667225L, + 5554839952330233864L, + 1018125067733426387L, + 5106471895041805751L, + 6755291848201476506L, + 204883989932056912L, + -2918800393497291312L, + -361123969592716017L, + -3248350955607675877L, + -3093925735525511829L, + 3287300458522620431L, + 200614927215937352L, + -3637256374159515512L, + -7088130147825572228L, + -1454877327154711975L, + 200290346546176890L, + -5273070491678100412L, + 9126524747081374017L, + -2469359255503465276L, + -5451210609015247756L, + 1345843315473598819L, + 5658367014892979201L, + -418967882289891730L, + -8563171322679387325L, + 3076280980125057136L, + 7452927116456175377L, + 7779645020063005680L, + -1134607767941445560L, + -683371285258284330L, + 3622514687262401912L, + 2057491561658004489L, + 1274581986030567362L, + -7605424030712005369L, + -1904495568695037810L, + 7235082449551676221L, + 7691343848640211912L, + -2574437254990241198L, + 7672749762009557292L, }; } diff --git a/src/test/java/net/openhft/hashing/XxHashCollisionTest.java b/src/test/java/net/openhft/hashing/XxHashCollisionTest.java index 7f0c750..50726c6 100644 --- a/src/test/java/net/openhft/hashing/XxHashCollisionTest.java +++ b/src/test/java/net/openhft/hashing/XxHashCollisionTest.java @@ -10,10 +10,10 @@ import static org.junit.jupiter.api.Assertions.*; -public class XxHashCollisionTest { +class XxHashCollisionTest { @Test - public void xxHashCollisionTest() { + void xxHashCollisionTest() { ByteBuffer sequence = ByteBuffer.allocate(128); sequence.order(ByteOrder.LITTLE_ENDIAN); sequence.putLong(0, 1); diff --git a/src/test/java/net/openhft/hashing/XxHashTest.java b/src/test/java/net/openhft/hashing/XxHashTest.java index 6855303..edaddca 100644 --- a/src/test/java/net/openhft/hashing/XxHashTest.java +++ b/src/test/java/net/openhft/hashing/XxHashTest.java @@ -9,7 +9,7 @@ import java.util.ArrayList; import java.util.Collection; -public class XxHashTest { + class XxHashTest { public static Collection data() { ArrayList data = new ArrayList(); @@ -21,13 +21,13 @@ public static Collection data() { @ParameterizedTest @MethodSource("data") - public void testCityWithoutSeeds(int len) { + void testCityWithoutSeeds(int len) { test(len, LongHashFunction.xx(), HASHES_OF_LOOPING_BYTES_WITHOUT_SEED); } @ParameterizedTest @MethodSource("data") - public void testCityWithOneSeed(int len) { + void testCityWithOneSeed(int len) { test(len, LongHashFunction.xx(42L), HASHES_OF_LOOPING_BYTES_WITH_SEED_42); } From f267dff2e3d24ba728e2971899eb7ab8fe9f359a Mon Sep 17 00:00:00 2001 From: Peter Lawrey Date: Thu, 26 Mar 2026 17:56:48 +0000 Subject: [PATCH 5/6] Fix remaining JUnit 5 migration regressions --- pom.xml | 8 -------- .../net/openhft/hashing/LongTupleHashFunctionTest.java | 5 +---- 2 files changed, 1 insertion(+), 12 deletions(-) diff --git a/pom.xml b/pom.xml index 3c134d0..897a1c2 100644 --- a/pom.xml +++ b/pom.xml @@ -61,14 +61,6 @@ - - junit - junit - 4.13.2 - test - - - org.junit.jupiter junit-jupiter diff --git a/src/test/java/net/openhft/hashing/LongTupleHashFunctionTest.java b/src/test/java/net/openhft/hashing/LongTupleHashFunctionTest.java index ddc7bbb..d504260 100644 --- a/src/test/java/net/openhft/hashing/LongTupleHashFunctionTest.java +++ b/src/test/java/net/openhft/hashing/LongTupleHashFunctionTest.java @@ -11,9 +11,6 @@ import static java.nio.ByteOrder.BIG_ENDIAN; import static java.nio.ByteOrder.LITTLE_ENDIAN; import static java.nio.ByteOrder.nativeOrder; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.core.IsEqual.equalTo; -import static org.hamcrest.core.IsNot.not; import static org.junit.jupiter.api.Assertions.*; class LongTupleHashFunctionTest { @@ -231,7 +228,7 @@ private static void testCharSequences(LongTupleHashFunction f, long[] eh, int le assert s.charAt(0) != bb.getChar(0); long[] hashCharsActual = f.hashChars(s2); - assertThat("string wrong order", hashCharsActual, not(equalTo(eh))); + assertFalse(Arrays.equals(eh, hashCharsActual), "string wrong order"); long[] toCharSequenceActual = f.hash(s2, Access.toCharSequence(nonNativeOrder()), 0, len); assertArrayEquals(eh, toCharSequenceActual, "string wrong order fixed"); From 551fbe9afc3db396c7548027cc957da42bdaa6bc Mon Sep 17 00:00:00 2001 From: Peter Lawrey Date: Mon, 30 Mar 2026 14:04:39 +0100 Subject: [PATCH 6/6] Refine JUnit 5 migration fixes and test cleanup --- .../net/openhft/hashing/CompactLatin1CharSequenceAccess.java | 3 +-- src/main/java/net/openhft/hashing/ModernCompactStringHash.java | 2 +- src/main/java/net/openhft/hashing/Util.java | 2 -- src/test/java/net/openhft/hashing/XXH128Test.java | 2 -- src/test/java/net/openhft/hashing/XXH3Test.java | 2 -- 5 files changed, 2 insertions(+), 9 deletions(-) diff --git a/src/main/java/net/openhft/hashing/CompactLatin1CharSequenceAccess.java b/src/main/java/net/openhft/hashing/CompactLatin1CharSequenceAccess.java index ceb41f4..6df7ce3 100644 --- a/src/main/java/net/openhft/hashing/CompactLatin1CharSequenceAccess.java +++ b/src/main/java/net/openhft/hashing/CompactLatin1CharSequenceAccess.java @@ -6,10 +6,9 @@ import java.nio.ByteOrder; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; + import javax.annotation.ParametersAreNonnullByDefault; -import static java.nio.ByteOrder.BIG_ENDIAN; import static java.nio.ByteOrder.LITTLE_ENDIAN; import static net.openhft.hashing.UnsafeAccess.BYTE_BASE; diff --git a/src/main/java/net/openhft/hashing/ModernCompactStringHash.java b/src/main/java/net/openhft/hashing/ModernCompactStringHash.java index 54354ae..42387e6 100644 --- a/src/main/java/net/openhft/hashing/ModernCompactStringHash.java +++ b/src/main/java/net/openhft/hashing/ModernCompactStringHash.java @@ -5,7 +5,7 @@ import java.lang.reflect.Field; import javax.annotation.ParametersAreNonnullByDefault; -import static net.openhft.hashing.UnsafeAccess.*; + import static net.openhft.hashing.Util.*; @ParametersAreNonnullByDefault diff --git a/src/main/java/net/openhft/hashing/Util.java b/src/main/java/net/openhft/hashing/Util.java index f3a4b95..a4a4689 100644 --- a/src/main/java/net/openhft/hashing/Util.java +++ b/src/main/java/net/openhft/hashing/Util.java @@ -8,8 +8,6 @@ import org.jetbrains.annotations.NotNull; -import static java.nio.ByteOrder.*; - final class Util { /* Known java.vm.name list: diff --git a/src/test/java/net/openhft/hashing/XXH128Test.java b/src/test/java/net/openhft/hashing/XXH128Test.java index 5c45c59..6c61730 100644 --- a/src/test/java/net/openhft/hashing/XXH128Test.java +++ b/src/test/java/net/openhft/hashing/XXH128Test.java @@ -9,8 +9,6 @@ import java.util.ArrayList; import java.util.Collection; -import static org.junit.jupiter.api.Assertions.*; - class XXH128Test { public static Collection data() { diff --git a/src/test/java/net/openhft/hashing/XXH3Test.java b/src/test/java/net/openhft/hashing/XXH3Test.java index 2d5004b..2169365 100644 --- a/src/test/java/net/openhft/hashing/XXH3Test.java +++ b/src/test/java/net/openhft/hashing/XXH3Test.java @@ -9,8 +9,6 @@ import java.util.ArrayList; import java.util.Collection; -import static org.junit.jupiter.api.Assertions.*; - class XXH3Test { public static Collection data() {