From bc4b34d4a9be6ddfb92c55699a9d17e4e04cc5c0 Mon Sep 17 00:00:00 2001 From: coolcottontail Date: Tue, 24 Sep 2019 10:56:03 -0700 Subject: [PATCH] use constants to remove Init delay --- go.mod | 5 +- go.sum | 8 + src/test/discriminant_test.go | 1 - src/test/square_test.go | 2 +- src/test/vdf_module_test.go | 3 +- src/vdf_go/constants.go | 12303 +++++++++++++++++++++++++++++++ src/vdf_go/discriminant.go | 34 - src/vdf_go/proof_wesolowski.go | 3 +- 8 files changed, 12319 insertions(+), 40 deletions(-) create mode 100644 src/vdf_go/constants.go diff --git a/go.mod b/go.mod index 0f7790a..5940d46 100644 --- a/go.mod +++ b/go.mod @@ -2,4 +2,7 @@ module github.com/harmony-one/vdf go 1.12 -require github.com/stretchr/testify v1.3.0 +require ( + github.com/stretchr/testify v1.3.0 + golang.org/x/tools v0.0.0-20190924052046-3ac2a5bbd98a // indirect +) diff --git a/go.sum b/go.sum index 4347755..f05ddd3 100644 --- a/go.sum +++ b/go.sum @@ -5,3 +5,11 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/tools v0.0.0-20190924052046-3ac2a5bbd98a h1:DJzZ1GRmbjp7ihxzAN6UTVpVMi6k4CXZEr7A3wi2kRA= +golang.org/x/tools v0.0.0-20190924052046-3ac2a5bbd98a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/src/test/discriminant_test.go b/src/test/discriminant_test.go index 62e9ea2..a43633e 100644 --- a/src/test/discriminant_test.go +++ b/src/test/discriminant_test.go @@ -24,7 +24,6 @@ func TestEntropyFromSeed(t *testing.T) { func TestDiscriminant(t *testing.T) { seed := []byte{0xab, 0xcd} - vdf_go.Init() n := vdf_go.CreateDiscriminant(seed, 2048) s := fmt.Sprintf("%02x", vdf_go.EncodeBigIntBigEndian(n)) assert.Equal(t, "ffff550d4074f264c4db9fb6c4af4e4a1aa6d700b3cf3601388d37aea312fc9b512581a8fa6f3575ae3d34c6b12401838da34360678a2f43178c43c96a46a2bd682db7fa63085c1a65053e738b158efdc4d952c549e6891d87d2de794132869bb5cefcf28193359f182358692be7b864413ee985893565046cc165994fb18f49ca75a8ec65ba1ef7450c53210943fde31c5c553f882b5fdadd8f3c1baa85309b68bd02ba526d8a1aabe5dc0aaa483d0fe230e5c6c6165d7d79184646e2909076b0eea3926a9b17f184b61588c90e5175e3a99ab343bb97859c0cde75a607a6e46a94f95580521f8ebaeeb58e587b39434a218dbcecc5cd365932926990c84c84fe29", s, "they should be equal") diff --git a/src/test/square_test.go b/src/test/square_test.go index afd9446..51a29bd 100644 --- a/src/test/square_test.go +++ b/src/test/square_test.go @@ -39,7 +39,7 @@ func TestTwoSquarePerformance(t *testing.T) { for k := 0; k < 10; k++ { seed := make([]byte, 32) rand.Read(seed) - vdf_go.Init() + D := vdf_go.CreateDiscriminant(seed, 2048) x := vdf_go.NewClassGroupFromAbDiscriminant(big.NewInt(2), big.NewInt(1), D) diff --git a/src/test/vdf_module_test.go b/src/test/vdf_module_test.go index c6cf239..f9d50fc 100644 --- a/src/test/vdf_module_test.go +++ b/src/test/vdf_module_test.go @@ -73,4 +73,5 @@ func TestVDFModuleRandomSeed(t *testing.T) { assert.Equal(t, true, vdf.Verify(output), "failed verifying proof") -} \ No newline at end of file +} + diff --git a/src/vdf_go/constants.go b/src/vdf_go/constants.go new file mode 100644 index 0000000..42bc564 --- /dev/null +++ b/src/vdf_go/constants.go @@ -0,0 +1,12303 @@ +package vdf_go + +var residues = []int{ + 23, + 31, + 47, + 71, + 79, + 103, + 127, + 151, + 167, + 191, + 199, + 223, + 239, + 263, + 271, + 311, + 359, + 367, + 383, + 391, + 431, + 439, + 463, + 479, + 487, + 503, + 527, + 551, + 599, + 607, + 631, + 647, + 703, + 719, + 727, + 743, + 751, + 799, + 823, + 839, + 863, + 887, + 911, + 919, + 943, + 967, + 983, + 991, + 1007, + 1031, + 1039, + 1063, + 1087, + 1103, + 1151, + 1159, + 1207, + 1223, + 1231, + 1247, + 1271, + 1279, + 1303, + 1319, + 1327, + 1343, + 1367, + 1399, + 1423, + 1439, + 1447, + 1471, + 1487, + 1511, + 1543, + 1559, + 1567, + 1583, + 1591, + 1607, + 1663, + 1679, + 1711, + 1751, + 1759, + 1783, + 1823, + 1831, + 1847, + 1871, + 1879, + 1919, + 1927, + 1943, + 1951, + 1999, + 2039, + 2047, + 2063, + 2071, + 2087, + 2111, + 2143, + 2159, + 2183, + 2207, + 2231, + 2239, + 2263, + 2279, + 2287, + 2311, + 2351, + 2383, + 2399, + 2407, + 2423, + 2447, + 2479, + 2503, + 2543, + 2551, + 2567, + 2591, + 2599, + 2623, + 2647, + 2663, + 2671, + 2687, + 2711, + 2719, + 2759, + 2767, + 2791, + 2831, + 2839, + 2879, + 2887, + 2903, + 2911, + 2927, + 2983, + 2999, + 3007, + 3023, + 3071, + 3079, + 3103, + 3119, + 3127, + 3151, + 3167, + 3191, + 3239, + 3247, + 3271, + 3287, + 3319, + 3343, + 3359, + 3383, + 3391, + 3407, + 3431, + 3439, + 3463, + 3503, + 3511, + 3527, + 3551, + 3559, + 3583, + 3599, + 3607, + 3623, + 3631, + 3671, + 3719, + 3727, + 3743, + 3767, + 3791, + 3799, + 3823, + 3847, + 3863, + 3911, + 3919, + 3943, + 3959, + 3967, + 4007, + 4031, + 4063, + 4079, + 4087, + 4111, + 4127, + 4159, + 4183, + 4223, + 4231, + 4247, + 4271, + 4327, + 4343, + 4351, + 4391, + 4399, + 4423, + 4439, + 4447, + 4463, + 4471, + 4519, + 4559, + 4567, + 4583, + 4591, + 4607, + 4639, + 4663, + 4679, + 4687, + 4703, + 4727, + 4751, + 4759, + 4783, + 4799, + 4831, + 4847, + 4871, + 4903, + 4919, + 4943, + 4951, + 4967, + 4999, + 5023, + 5039, + 5063, + 5087, + 5111, + 5119, + 5143, + 5167, + 5183, + 5191, + 5207, + 5231, + 5263, + 5279, + 5287, + 5303, + 5311, + 5351, + 5359, + 5399, + 5407, + 5431, + 5471, + 5479, + 5503, + 5519, + 5527, + 5543, + 5567, + 5591, + 5623, + 5639, + 5647, + 5671, + 5711, + 5743, + 5767, + 5783, + 5791, + 5807, + 5839, + 5879, + 5903, + 5911, + 5927, + 5959, + 5983, + 6007, + 6023, + 6031, + 6047, + 6079, + 6103, + 6119, + 6143, + 6151, + 6191, + 6199, + 6239, + 6247, + 6263, + 6271, + 6287, + 6311, + 6319, + 6343, + 6359, + 6367, + 6407, + 6431, + 6439, + 6463, + 6511, + 6527, + 6551, + 6583, + 6599, + 6607, + 6623, + 6631, + 6647, + 6679, + 6703, + 6719, + 6751, + 6767, + 6791, + 6823, + 6847, + 6863, + 6871, + 6887, + 6911, + 6943, + 6959, + 6967, + 6983, + 6991, + 7031, + 7039, + 7079, + 7087, + 7103, + 7127, + 7151, + 7159, + 7199, + 7207, + 7223, + 7247, + 7279, + 7303, + 7327, + 7351, + 7367, + 7391, + 7439, + 7463, + 7471, + 7487, + 7519, + 7543, + 7559, + 7583, + 7591, + 7607, + 7639, + 7663, + 7687, + 7703, + 7727, + 7751, + 7759, + 7783, + 7807, + 7823, + 7831, + 7871, + 7879, + 7919, + 7927, + 7951, + 7967, + 7991, + 7999, + 8023, + 8039, + 8087, + 8111, + 8119, + 8143, + 8159, + 8167, + 8191, + 8207, + 8231, + 8263, + 8279, + 8287, + 8303, + 8311, + 8383, + 8399, + 8423, + 8431, + 8447, + 8471, + 8479, + 8527, + 8543, + 8551, + 8599, + 8623, + 8639, + 8647, + 8663, + 8711, + 8719, + 8759, + 8783, + 8791, + 8807, + 8831, + 8839, + 8863, + 8887, + 8903, + 8927, + 8951, + 8959, + 8999, + 9007, + 9047, + 9071, + 9103, + 9127, + 9143, + 9151, + 9167, + 9199, + 9223, + 9239, + 9263, + 9271, + 9287, + 9311, + 9319, + 9343, + 9367, + 9391, + 9407, + 9431, + 9439, + 9463, + 9479, + 9487, + 9511, + 9551, + 9599, + 9623, + 9631, + 9671, + 9679, + 9703, + 9719, + 9727, + 9743, + 9767, + 9791, + 9799, + 9839, + 9847, + 9871, + 9887, + 9943, + 9959, + 9967, + 9983, + 9991, + 10007, + 10039, + 10063, + 10079, + 10103, + 10111, + 10151, + 10159, + 10183, + 10207, + 10223, + 10247, + 10271, + 10279, + 10303, + 10319, + 10327, + 10343, + 10391, + 10399, + 10447, + 10463, + 10471, + 10487, + 10511, + 10519, + 10559, + 10567, + 10583, + 10607, + 10631, + 10639, + 10663, + 10679, + 10687, + 10711, + 10727, + 10783, + 10799, + 10807, + 10823, + 10831, + 10847, + 10903, + 10919, + 10943, + 10951, + 10991, + 10999, + 11023, + 11047, + 11071, + 11087, + 11111, + 11119, + 11159, + 11183, + 11191, + 11239, + 11279, + 11287, + 11303, + 11311, + 11327, + 11351, + 11359, + 11383, + 11399, + 11423, + 11447, + 11471, + 11503, + 11519, + 11527, + 11551, + 11567, + 11591, + 11623, + 11639, + 11647, + 11663, + 11719, + 11743, + 11783, + 11807, + 11831, + 11839, + 11863, + 11887, + 11903, + 11911, + 11927, + 11951, + 11959, + 11983, + 12007, + 12031, + 12071, + 12079, + 12119, + 12127, + 12143, + 12151, + 12167, + 12191, + 12223, + 12239, + 12247, + 12263, + 12319, + 12343, + 12359, + 12367, + 12391, + 12407, + 12431, + 12479, + 12487, + 12503, + 12511, + 12527, + 12559, + 12583, + 12599, + 12631, + 12647, + 12671, + 12679, + 12703, + 12743, + 12751, + 12767, + 12791, + 12799, + 12823, + 12839, + 12847, + 12863, + 12871, + 12911, + 12919, + 12959, + 12967, + 12983, + 13007, + 13031, + 13063, + 13087, + 13103, + 13127, + 13151, + 13159, + 13183, + 13199, + 13207, + 13231, + 13271, + 13303, + 13319, + 13327, + 13367, + 13399, + 13423, + 13439, + 13463, + 13471, + 13487, + 13511, + 13543, + 13567, + 13583, + 13591, + 13631, + 13639, + 13679, + 13687, + 13703, + 13711, + 13751, + 13759, + 13799, + 13807, + 13823, + 13831, + 13847, + 13879, + 13903, + 13919, + 13927, + 13943, + 13967, + 13991, + 13999, + 14023, + 14039, + 14071, + 14087, + 14111, + 14143, + 14159, + 14167, + 14191, + 14207, + 14239, + 14263, + 14279, + 14303, + 14327, + 14351, + 14359, + 14383, + 14407, + 14423, + 14431, + 14447, + 14471, + 14479, + 14503, + 14519, + 14527, + 14543, + 14551, + 14591, + 14639, + 14647, + 14671, + 14687, + 14711, + 14719, + 14743, + 14759, + 14767, + 14783, + 14831, + 14863, + 14879, + 14887, + 14951, + 14983, + 14999, + 15007, + 15023, + 15031, + 15047, + 15079, + 15143, + 15151, + 15167, + 15199, + 15247, + 15263, + 15271, + 15287, + 15311, + 15319, + 15343, + 15359, + 15383, + 15391, + 15439, + 15479, + 15487, + 15503, + 15511, + 15527, + 15551, + 15559, + 15583, + 15599, + 15607, + 15623, + 15647, + 15671, + 15679, + 15703, + 15727, + 15751, + 15767, + 15791, + 15823, + 15839, + 15863, + 15871, + 15887, + 15919, + 15943, + 15959, + 15991, + 16007, + 16031, + 16039, + 16063, + 16087, + 16103, + 16111, + 16127, + 16151, + 16183, + 16199, + 16207, + 16223, + 16231, + 16271, + 16279, + 16319, + 16327, + 16343, + 16351, + 16391, + 16399, + 16439, + 16447, + 16463, + 16487, + 16519, + 16543, + 16559, + 16567, + 16591, + 16607, + 16631, + 16663, + 16703, + 16711, + 16727, + 16759, + 16799, + 16823, + 16831, + 16847, + 16871, + 16879, + 16903, + 16927, + 16943, + 16967, + 16999, + 17023, + 17047, + 17063, + 17071, + 17111, + 17119, + 17159, + 17167, + 17183, + 17191, + 17207, + 17231, + 17239, + 17263, + 17279, + 17287, + 17327, + 17351, + 17359, + 17383, + 17399, + 17431, + 17447, + 17471, + 17503, + 17519, + 17527, + 17543, + 17551, + 17599, + 17623, + 17639, + 17663, + 17671, + 17687, + 17711, + 17767, + 17783, + 17791, + 17807, + 17839, + 17863, + 17879, + 17887, + 17903, + 17911, + 17951, + 17959, + 17999, + 18023, + 18047, + 18071, + 18079, + 18103, + 18119, + 18127, + 18143, + 18167, + 18191, + 18199, + 18223, + 18247, + 18287, + 18311, + 18367, + 18383, + 18391, + 18407, + 18439, + 18463, + 18479, + 18503, + 18511, + 18527, + 18559, + 18583, + 18607, + 18631, + 18647, + 18671, + 18679, + 18703, + 18719, + 18727, + 18743, + 18751, + 18791, + 18839, + 18847, + 18871, + 18911, + 18919, + 18943, + 18959, + 18983, + 19007, + 19031, + 19039, + 19079, + 19087, + 19111, + 19127, + 19183, + 19199, + 19207, + 19223, + 19231, + 19247, + 19303, + 19319, + 19343, + 19351, + 19367, + 19391, + 19399, + 19423, + 19447, + 19463, + 19471, + 19511, + 19519, + 19543, + 19559, + 19567, + 19583, + 19631, + 19639, + 19687, + 19703, + 19711, + 19727, + 19751, + 19759, + 19783, + 19807, + 19823, + 19847, + 19871, + 19879, + 19919, + 19927, + 19951, + 19967, + 19991, + 20023, + 20039, + 20047, + 20063, + 20071, + 20087, + 20143, + 20159, + 20183, + 20191, + 20231, + 20239, + 20263, + 20287, + 20303, + 20311, + 20327, + 20351, + 20359, + 20399, + 20407, + 20431, + 20479, + 20519, + 20543, + 20551, + 20567, + 20591, + 20599, + 20623, + 20639, + 20663, + 20687, + 20711, + 20719, + 20743, + 20759, + 20767, + 20791, + 20807, + 20831, + 20863, + 20879, + 20887, + 20903, + 20927, + 20959, + 20983, + 21023, + 21031, + 21071, + 21079, + 21103, + 21127, + 21143, + 21167, + 21191, + 21199, + 21223, + 21239, + 21247, + 21271, + 21311, + 21319, + 21367, + 21383, + 21391, + 21407, + 21431, + 21479, + 21487, + 21503, + 21551, + 21559, + 21583, + 21599, + 21607, + 21631, + 21647, + 21719, + 21727, + 21743, + 21751, + 21767, + 21799, + 21823, + 21839, + 21863, + 21871, + 21887, + 21911, + 21919, + 21943, + 21991, + 22007, + 22031, + 22039, + 22063, + 22079, + 22103, + 22111, + 22151, + 22159, + 22199, + 22207, + 22223, + 22247, + 22271, + 22279, + 22303, + 22327, + 22343, + 22367, + 22391, + 22423, + 22439, + 22447, + 22471, + 22487, + 22511, + 22543, + 22559, + 22567, + 22591, + 22639, + 22663, + 22679, + 22703, + 22727, + 22751, + 22783, + 22807, + 22823, + 22831, + 22871, + 22879, + 22903, + 22927, + 22943, + 22951, + 22991, + 22999, + 23039, + 23047, + 23063, + 23071, + 23087, + 23119, + 23143, + 23159, + 23167, + 23183, + 23207, + 23239, + 23263, + 23279, + 23311, + 23327, + 23351, + 23383, + 23399, + 23407, + 23423, + 23431, + 23447, + 23479, + 23503, + 23519, + 23567, + 23591, + 23599, + 23623, + 23663, + 23671, + 23687, + 23711, + 23719, + 23743, + 23759, + 23767, + 23783, + 23791, + 23831, + 23839, + 23879, + 23887, + 23911, + 23927, + 23951, + 23983, + 23999, + 24007, + 24023, + 24047, + 24071, + 24103, + 24119, + 24127, + 24151, + 24191, + 24223, + 24239, + 24247, + 24263, + 24287, + 24319, + 24359, + 24383, + 24391, + 24407, + 24439, + 24463, + 24487, + 24503, + 24511, + 24527, + 24551, + 24559, + 24599, + 24623, + 24631, + 24671, + 24679, + 24719, + 24727, + 24743, + 24751, + 24767, + 24799, + 24823, + 24839, + 24847, + 24863, + 24887, + 24911, + 24919, + 24943, + 24967, + 24991, + 25007, + 25031, + 25063, + 25079, + 25087, + 25111, + 25127, + 25159, + 25183, + 25199, + 25231, + 25247, + 25271, + 25279, + 25303, + 25327, + 25343, + 25351, + 25367, + 25391, + 25423, + 25439, + 25447, + 25463, + 25471, + 25511, + 25559, + 25567, + 25583, + 25591, + 25607, + 25631, + 25639, + 25679, + 25687, + 25703, + 25759, + 25783, + 25799, + 25807, + 25847, + 25871, + 25903, + 25919, + 25943, + 25951, + 25967, + 25999, + 26023, + 26063, + 26071, + 26087, + 26111, + 26119, + 26167, + 26183, + 26207, + 26231, + 26239, + 26263, + 26287, + 26303, + 26311, + 26359, + 26399, + 26407, + 26423, + 26431, + 26447, + 26471, + 26479, + 26503, + 26519, + 26527, + 26567, + 26591, + 26599, + 26623, + 26639, + 26647, + 26671, + 26687, + 26711, + 26743, + 26759, + 26783, + 26791, + 26839, + 26863, + 26879, + 26903, + 26911, + 26927, + 26951, + 26959, + 27007, + 27023, + 27031, + 27047, + 27103, + 27119, + 27127, + 27143, + 27151, + 27191, + 27199, + 27239, + 27263, + 27271, + 27311, + 27319, + 27343, + 27359, + 27367, + 27383, + 27407, + 27431, + 27439, + 27463, + 27479, + 27487, + 27527, + 27551, + 27583, + 27607, + 27623, + 27631, + 27647, + 27679, + 27719, + 27743, + 27751, + 27767, + 27791, + 27799, + 27823, + 27847, + 27871, + 27887, + 27919, + 27943, + 27959, + 27967, + 27983, + 27991, + 28031, + 28079, + 28087, + 28103, + 28111, + 28151, + 28159, + 28183, + 28199, + 28207, + 28247, + 28271, + 28279, + 28319, + 28351, + 28367, + 28423, + 28439, + 28447, + 28463, + 28471, + 28487, + 28519, + 28543, + 28559, + 28583, + 28591, + 28607, + 28631, + 28663, + 28687, + 28703, + 28711, + 28727, + 28751, + 28759, + 28783, + 28799, + 28807, + 28823, + 28871, + 28879, + 28927, + 28943, + 28967, + 28991, + 28999, + 29023, + 29039, + 29047, + 29063, + 29087, + 29111, + 29119, + 29143, + 29167, + 29191, + 29207, + 29231, + 29279, + 29287, + 29303, + 29311, + 29327, + 29383, + 29399, + 29423, + 29431, + 29479, + 29503, + 29527, + 29543, + 29551, + 29567, + 29591, + 29599, + 29639, + 29647, + 29663, + 29671, + 29719, + 29759, + 29767, + 29791, + 29807, + 29831, + 29839, + 29863, + 29879, + 29903, + 29927, + 29951, + 29959, + 29983, + 29999, + 30007, + 30031, + 30047, + 30071, + 30103, + 30119, + 30127, + 30143, + 30167, + 30223, + 30263, + 30271, + 30287, + 30311, + 30319, + 30343, + 30367, + 30383, + 30391, + 30431, + 30439, + 30463, + 30479, + 30487, + 30551, + 30559, + 30599, + 30607, + 30623, + 30631, + 30647, + 30671, + 30703, + 30727, + 30743, + 30791, + 30799, + 30839, + 30847, + 30871, + 30887, + 30911, + 30959, + 30967, + 30983, + 30991, + 31007, + 31039, + 31063, + 31079, + 31103, + 31111, + 31127, + 31151, + 31159, + 31183, + 31223, + 31231, + 31247, + 31271, + 31279, + 31303, + 31319, + 31327, + 31351, + 31391, + 31399, + 31439, + 31463, + 31487, + 31511, + 31519, + 31543, + 31567, + 31583, + 31607, + 31631, + 31639, + 31663, + 31679, + 31687, + 31711, + 31727, + 31751, + 31783, + 31799, + 31807, + 31831, + 31847, + 31879, + 31903, + 31919, + 31943, + 31951, + 31991, + 32023, + 32047, + 32063, + 32111, + 32119, + 32143, + 32159, + 32167, + 32183, + 32191, + 32231, + 32239, + 32287, + 32303, + 32311, + 32327, + 32359, + 32399, + 32407, + 32423, + 32447, + 32471, + 32479, + 32503, + 32519, + 32551, + 32567, + 32623, + 32639, + 32647, + 32663, + 32671, + 32687, + 32719, + 32743, + 32759, + 32783, + 32807, + 32831, + 32839, + 32863, + 32887, + 32911, + 32927, + 32951, + 32959, + 32983, + 32999, + 33023, + 33031, + 33071, + 33079, + 33119, + 33127, + 33151, + 33167, + 33191, + 33199, + 33223, + 33239, + 33247, + 33263, + 33287, + 33311, + 33343, + 33359, + 33367, + 33391, + 33431, + 33463, + 33479, + 33487, + 33503, + 33511, + 33559, + 33599, + 33623, + 33647, + 33679, + 33703, + 33727, + 33743, + 33751, + 33767, + 33791, + 33799, + 33823, + 33863, + 33871, + 33911, + 33919, + 33959, + 33967, + 33983, + 33991, + 34007, + 34031, + 34039, + 34063, + 34079, + 34087, + 34103, + 34127, + 34159, + 34183, + 34207, + 34231, + 34247, + 34271, + 34303, + 34319, + 34327, + 34343, + 34351, + 34367, + 34399, + 34423, + 34439, + 34471, + 34487, + 34511, + 34519, + 34543, + 34583, + 34591, + 34607, + 34631, + 34663, + 34679, + 34687, + 34703, + 34711, + 34751, + 34759, + 34799, + 34807, + 34823, + 34831, + 34847, + 34871, + 34919, + 34927, + 34943, + 34967, + 34999, + 35023, + 35039, + 35047, + 35071, + 35111, + 35143, + 35159, + 35183, + 35207, + 35239, + 35263, + 35279, + 35303, + 35311, + 35327, + 35351, + 35359, + 35383, + 35407, + 35423, + 35447, + 35471, + 35479, + 35527, + 35543, + 35551, + 35591, + 35599, + 35639, + 35647, + 35663, + 35671, + 35687, + 35719, + 35743, + 35759, + 35767, + 35807, + 35831, + 35839, + 35863, + 35879, + 35887, + 35911, + 35927, + 35951, + 35983, + 35999, + 36007, + 36031, + 36079, + 36103, + 36119, + 36143, + 36151, + 36167, + 36191, + 36199, + 36247, + 36263, + 36271, + 36287, + 36319, + 36343, + 36359, + 36367, + 36383, + 36391, + 36431, + 36479, + 36503, + 36511, + 36527, + 36551, + 36559, + 36583, + 36599, + 36607, + 36623, + 36671, + 36679, + 36703, + 36719, + 36727, + 36767, + 36791, + 36823, + 36847, + 36863, + 36871, + 36887, + 36919, + 36943, + 36983, + 36991, + 37007, + 37031, + 37039, + 37087, + 37111, + 37127, + 37151, + 37159, + 37183, + 37199, + 37207, + 37223, + 37231, + 37319, + 37327, + 37343, + 37351, + 37391, + 37399, + 37423, + 37439, + 37447, + 37463, + 37487, + 37511, + 37519, + 37559, + 37567, + 37591, + 37607, + 37663, + 37679, + 37703, + 37711, + 37727, + 37759, + 37783, + 37799, + 37823, + 37831, + 37847, + 37871, + 37879, + 37903, + 37927, + 37943, + 37951, + 37967, + 37991, + 38023, + 38039, + 38047, + 38063, + 38111, + 38119, + 38167, + 38183, + 38191, + 38231, + 38239, + 38263, + 38279, + 38287, + 38303, + 38327, + 38351, + 38359, + 38383, + 38399, + 38407, + 38431, + 38447, + 38471, + 38503, + 38527, + 38543, + 38551, + 38567, + 38639, + 38663, + 38671, + 38711, + 38719, + 38743, + 38767, + 38783, + 38791, + 38807, + 38839, + 38879, + 38887, + 38903, + 38911, + 38959, + 38999, + 39007, + 39023, + 39031, + 39047, + 39071, + 39079, + 39103, + 39119, + 39167, + 39191, + 39199, + 39223, + 39239, + 39271, + 39287, + 39311, + 39343, + 39359, + 39367, + 39383, + 39407, + 39439, + 39463, + 39503, + 39511, + 39527, + 39551, + 39583, + 39607, + 39623, + 39631, + 39647, + 39671, + 39679, + 39703, + 39719, + 39727, + 39751, + 39791, + 39799, + 39839, + 39847, + 39863, + 39887, + 39911, + 39943, + 39959, + 39967, + 39983, + 40031, + 40039, + 40063, + 40087, + 40111, + 40127, + 40151, + 40199, + 40207, + 40223, + 40231, + 40247, + 40279, + 40303, + 40319, + 40343, + 40351, + 40367, + 40399, + 40423, + 40463, + 40471, + 40487, + 40511, + 40519, + 40543, + 40559, + 40567, + 40583, + 40591, + 40631, + 40639, + 40679, + 40687, + 40727, + 40751, + 40759, + 40783, + 40823, + 40847, + 40871, + 40879, + 40903, + 40919, + 40927, + 40951, + 40967, + 40991, + 41023, + 41039, + 41047, + 41071, + 41087, + 41143, + 41159, + 41183, + 41191, + 41207, + 41231, + 41263, + 41287, + 41303, + 41311, + 41351, + 41359, + 41383, + 41399, + 41407, + 41423, + 41471, + 41479, + 41519, + 41527, + 41543, + 41551, + 41567, + 41599, + 41623, + 41647, + 41663, + 41687, + 41711, + 41719, + 41759, + 41791, + 41807, + 41831, + 41863, + 41879, + 41887, + 41903, + 41911, + 41927, + 41959, + 41983, + 41999, + 42023, + 42047, + 42071, + 42079, + 42103, + 42127, + 42143, + 42151, + 42167, + 42191, + 42199, + 42223, + 42239, + 42247, + 42271, + 42311, + 42319, + 42359, + 42391, + 42407, + 42431, + 42439, + 42463, + 42479, + 42487, + 42503, + 42527, + 42551, + 42583, + 42599, + 42607, + 42631, + 42671, + 42703, + 42719, + 42727, + 42743, + 42751, + 42767, + 42799, + 42839, + 42863, + 42871, + 42919, + 42943, + 42967, + 42983, + 43007, + 43031, + 43039, + 43063, + 43079, + 43103, + 43111, + 43151, + 43159, + 43207, + 43223, + 43231, + 43247, + 43271, + 43279, + 43319, + 43327, + 43343, + 43367, + 43391, + 43399, + 43423, + 43447, + 43471, + 43487, + 43543, + 43559, + 43567, + 43583, + 43591, + 43607, + 43639, + 43663, + 43679, + 43711, + 43727, + 43751, + 43759, + 43783, + 43807, + 43831, + 43847, + 43871, + 43903, + 43919, + 43943, + 43951, + 43991, + 43999, + 44039, + 44047, + 44063, + 44071, + 44087, + 44111, + 44119, + 44159, + 44167, + 44183, + 44207, + 44263, + 44279, + 44287, + 44311, + 44327, + 44351, + 44383, + 44399, + 44423, + 44431, + 44479, + 44503, + 44519, + 44543, + 44567, + 44591, + 44599, + 44623, + 44647, + 44663, + 44687, + 44711, + 44719, + 44743, + 44767, + 44783, + 44791, + 44831, + 44839, + 44879, + 44887, + 44903, + 44911, + 44927, + 44951, + 44959, + 44983, + 44999, + 45007, + 45047, + 45079, + 45103, + 45119, + 45127, + 45151, + 45167, + 45191, + 45223, + 45239, + 45247, + 45263, + 45271, + 45319, + 45343, + 45359, + 45391, + 45407, + 45431, + 45439, + 45503, + 45511, + 45527, + 45559, + 45583, + 45599, + 45607, + 45623, + 45631, + 45671, + 45679, + 45719, + 45743, + 45751, + 45767, + 45791, + 45823, + 45839, + 45847, + 45863, + 45887, + 45911, + 45919, + 45943, + 45959, + 45967, + 46031, + 46063, + 46087, + 46103, + 46127, + 46159, + 46183, + 46199, + 46223, + 46231, + 46247, + 46271, + 46279, + 46303, + 46327, + 46351, + 46367, + 46391, + 46399, + 46439, + 46447, + 46463, + 46471, + 46511, + 46559, + 46567, + 46583, + 46591, + 46639, + 46663, + 46679, + 46687, + 46703, + 46727, + 46751, + 46759, + 46799, + 46807, + 46831, + 46847, + 46903, + 46919, + 46927, + 46951, + 46967, + 46999, + 47023, + 47039, + 47063, + 47071, + 47087, + 47111, + 47119, + 47143, + 47167, + 47183, + 47191, + 47207, + 47231, + 47239, + 47263, + 47279, + 47287, + 47303, + 47351, + 47407, + 47423, + 47431, + 47447, + 47471, + 47479, + 47503, + 47519, + 47527, + 47543, + 47591, + 47599, + 47623, + 47639, + 47647, + 47687, + 47711, + 47743, + 47759, + 47767, + 47783, + 47791, + 47807, + 47863, + 47903, + 47911, + 47951, + 47959, + 48007, + 48023, + 48031, + 48047, + 48071, + 48079, + 48119, + 48127, + 48143, + 48151, + 48199, + 48239, + 48247, + 48263, + 48271, + 48287, + 48311, + 48319, + 48343, + 48359, + 48383, + 48407, + 48431, + 48439, + 48463, + 48479, + 48487, + 48511, + 48527, + 48551, + 48583, + 48599, + 48623, + 48647, + 48679, + 48703, + 48743, + 48751, + 48767, + 48791, + 48799, + 48823, + 48847, + 48863, + 48871, + 48887, + 48911, + 48943, + 48959, + 48967, + 48991, + 49031, + 49039, + 49079, + 49087, + 49103, + 49111, + 49151, + 49183, + 49199, + 49207, + 49223, + 49271, + 49279, + 49303, + 49319, + 49327, + 49351, + 49367, + 49391, + 49447, + 49463, + 49471, + 49487, + 49519, + 49559, + 49583, + 49591, + 49607, + 49631, + 49639, + 49663, + 49703, + 49711, + 49727, + 49759, + 49783, + 49799, + 49807, + 49823, + 49831, + 49871, + 49879, + 49919, + 49927, + 49943, + 49967, + 49991, + 49999, + 50023, + 50047, + 50087, + 50111, + 50119, + 50143, + 50159, + 50191, + 50207, + 50231, + 50263, + 50279, + 50287, + 50311, + 50327, + 50359, + 50383, + 50399, + 50423, + 50431, + 50447, + 50471, + 50503, + 50527, + 50543, + 50551, + 50591, + 50599, + 50623, + 50639, + 50647, + 50663, + 50671, + 50711, + 50719, + 50759, + 50767, + 50783, + 50807, + 50839, + 50863, + 50879, + 50887, + 50903, + 50927, + 50951, + 50959, + 50983, + 51031, + 51047, + 51071, + 51119, + 51127, + 51143, + 51151, + 51167, + 51199, + 51223, + 51239, + 51263, + 51287, + 51319, + 51343, + 51367, + 51383, + 51391, + 51407, + 51431, + 51439, + 51463, + 51479, + 51487, + 51503, + 51511, + 51551, + 51559, + 51599, + 51607, + 51631, + 51647, + 51671, + 51679, + 51703, + 51719, + 51743, + 51767, + 51791, + 51823, + 51839, + 51847, + 51871, + 51911, + 51943, + 51959, + 51967, + 51983, + 51991, + 52007, + 52079, + 52103, + 52111, + 52127, + 52159, + 52183, + 52207, + 52223, + 52231, + 52271, + 52279, + 52303, + 52319, + 52343, + 52391, + 52399, + 52439, + 52447, + 52463, + 52471, + 52487, + 52511, + 52519, + 52543, + 52567, + 52583, + 52607, + 52631, + 52639, + 52687, + 52711, + 52727, + 52751, + 52783, + 52799, + 52807, + 52823, + 52831, + 52847, + 52879, + 52903, + 52919, + 52951, + 52967, + 52991, + 52999, + 53023, + 53047, + 53063, + 53071, + 53087, + 53111, + 53143, + 53159, + 53167, + 53191, + 53231, + 53239, + 53279, + 53303, + 53311, + 53327, + 53351, + 53359, + 53399, + 53407, + 53423, + 53447, + 53479, + 53503, + 53519, + 53527, + 53551, + 53567, + 53591, + 53623, + 53639, + 53663, + 53671, + 53687, + 53719, + 53743, + 53759, + 53783, + 53791, + 53831, + 53839, + 53863, + 53887, + 53903, + 53927, + 53951, + 53959, + 53983, + 54007, + 54023, + 54031, + 54071, + 54079, + 54127, + 54143, + 54151, + 54167, + 54191, + 54199, + 54239, + 54247, + 54287, + 54311, + 54319, + 54343, + 54359, + 54367, + 54391, + 54407, + 54463, + 54479, + 54487, + 54503, + 54511, + 54559, + 54583, + 54599, + 54623, + 54631, + 54647, + 54671, + 54679, + 54727, + 54751, + 54767, + 54799, + 54823, + 54839, + 54863, + 54871, + 54911, + 54919, + 54959, + 54983, + 54991, + 55007, + 55031, + 55039, + 55063, + 55079, + 55087, + 55103, + 55127, + 55151, + 55183, + 55199, + 55207, + 55247, + 55271, + 55303, + 55327, + 55343, + 55351, + 55399, + 55423, + 55439, + 55463, + 55487, + 55511, + 55519, + 55543, + 55567, + 55591, + 55607, + 55631, + 55639, + 55663, + 55687, + 55703, + 55711, + 55751, + 55799, + 55807, + 55823, + 55831, + 55871, + 55879, + 55903, + 55919, + 55927, + 55943, + 55967, + 55999, + 56039, + 56047, + 56071, + 56087, + 56143, + 56159, + 56167, + 56183, + 56191, + 56207, + 56239, + 56263, + 56279, + 56311, + 56327, + 56351, + 56359, + 56383, + 56423, + 56431, + 56447, + 56471, + 56479, + 56503, + 56519, + 56527, + 56543, + 56591, + 56599, + 56647, + 56663, + 56671, + 56687, + 56711, + 56743, + 56759, + 56767, + 56783, + 56807, + 56831, + 56839, + 56863, + 56879, + 56887, + 56911, + 56951, + 56983, + 56999, + 57007, + 57023, + 57047, + 57103, + 57119, + 57143, + 57151, + 57191, + 57199, + 57223, + 57247, + 57263, + 57271, + 57287, + 57311, + 57319, + 57359, + 57367, + 57383, + 57391, + 57439, + 57479, + 57487, + 57503, + 57511, + 57527, + 57559, + 57583, + 57599, + 57623, + 57647, + 57671, + 57679, + 57703, + 57719, + 57727, + 57751, + 57767, + 57791, + 57823, + 57839, + 57847, + 57887, + 57919, + 57943, + 57983, + 57991, + 58007, + 58031, + 58039, + 58063, + 58087, + 58103, + 58111, + 58127, + 58151, + 58159, + 58183, + 58199, + 58207, + 58231, + 58271, + 58319, + 58327, + 58343, + 58351, + 58367, + 58391, + 58423, + 58439, + 58447, + 58463, + 58511, + 58519, + 58543, + 58559, + 58567, + 58607, + 58631, + 58679, + 58687, + 58703, + 58711, + 58727, + 58759, + 58783, + 58823, + 58831, + 58847, + 58871, + 58879, + 58943, + 58951, + 58967, + 58991, + 58999, + 59023, + 59039, + 59047, + 59063, + 59071, + 59119, + 59159, + 59167, + 59183, + 59207, + 59231, + 59239, + 59263, + 59287, + 59303, + 59327, + 59351, + 59359, + 59383, + 59399, + 59407, + 59431, + 59447, + 59471, + 59503, + 59519, + 59551, + 59567, + 59599, + 59623, + 59639, + 59663, + 59671, + 59687, + 59711, + 59743, + 59767, + 59783, + 59791, + 59831, + 59863, + 59879, + 59887, + 59903, + 59911, + 59951, + 59959, + 59999, + 60007, + 60023, + 60031, + 60079, + 60103, + 60119, + 60127, + 60143, + 60167, + 60191, + 60199, + 60223, + 60239, + 60271, + 60287, + 60311, + 60343, + 60367, + 60383, + 60391, + 60407, + 60439, + 60479, + 60503, + 60527, + 60551, + 60559, + 60583, + 60607, + 60623, + 60631, + 60647, + 60679, + 60703, + 60719, + 60727, + 60743, + 60751, + 60791, + 60799, + 60839, + 60847, + 60871, + 60887, + 60911, + 60919, + 60943, + 60959, + 60967, + 61007, + 61031, + 61063, + 61079, + 61111, + 61151, + 61183, + 61199, + 61207, + 61223, + 61231, + 61247, + 61279, + 61319, + 61343, + 61351, + 61367, + 61423, + 61447, + 61463, + 61471, + 61487, + 61511, + 61519, + 61543, + 61559, + 61583, + 61591, + 61631, + 61639, + 61679, + 61687, + 61703, + 61727, + 61751, + 61759, + 61783, + 61799, + 61807, + 61823, + 61847, + 61871, + 61879, + 61903, + 61927, + 61951, + 61967, + 61991, + 62039, + 62047, + 62063, + 62071, + 62087, + 62119, + 62143, + 62159, + 62191, + 62207, + 62239, + 62263, + 62287, + 62303, + 62311, + 62327, + 62351, + 62383, + 62399, + 62407, + 62423, + 62431, + 62471, + 62479, + 62519, + 62527, + 62551, + 62567, + 62591, + 62599, + 62639, + 62663, + 62687, + 62719, + 62743, + 62759, + 62767, + 62791, + 62807, + 62831, + 62863, + 62879, + 62903, + 62911, + 62927, + 62983, + 62999, + 63023, + 63031, + 63047, + 63071, + 63079, + 63103, + 63127, + 63143, + 63191, + 63199, + 63223, + 63247, + 63263, + 63311, + 63319, + 63359, + 63367, + 63383, + 63391, + 63407, + 63431, + 63439, + 63463, + 63487, + 63527, + 63551, + 63559, + 63599, + 63607, + 63631, + 63647, + 63671, + 63703, + 63719, + 63727, + 63743, + 63751, + 63799, + 63823, + 63839, + 63863, + 63871, + 63887, + 63911, + 63919, + 63967, + 63983, + 63991, + 64007, + 64039, + 64063, + 64079, + 64087, + 64111, + 64151, + 64159, + 64199, + 64223, + 64231, + 64247, + 64271, + 64279, + 64303, + 64319, + 64327, + 64343, + 64367, + 64391, + 64399, + 64423, + 64439, + 64447, + 64487, + 64511, + 64543, + 64567, + 64583, + 64591, + 64607, + 64639, + 64663, + 64679, + 64703, + 64711, + 64751, + 64759, + 64783, + 64807, + 64847, + 64871, + 64879, + 64903, + 64919, + 64927, + 64943, + 64951, + 64991, + 65047, + 65063, + 65071, + 65111, + 65119, + 65159, + 65167, + 65183, + 65207, + 65231, + 65239, + 65279, + 65287, + 65311, + 65327, + 65383, + 65399, + 65407, + 65423, + 65431, + 65447, + 65479, + 65503, + 65519, + 65543, + 65551, + 65567, + 65591, + 65599, + 65623, + 65647, + 65671, + 65687, + 65711, + 65719, + 65743, + 65759, + 65783, + 65831, + 65839, + 65887, + 65903, + 65911, + 65927, + 65951, + 65959, + 65983, + 65999, + 66007, + 66023, + 66047, + 66071, + 66103, + 66119, + 66127, + 66151, + 66167, + 66191, + 66223, + 66239, + 66247, + 66263, + 66271, + 66343, + 66359, + 66383, + 66431, + 66439, + 66463, + 66487, + 66503, + 66511, + 66527, + 66551, + 66559, + 66607, + 66623, + 66631, + 66679, + 66719, + 66727, + 66743, + 66751, + 66767, + 66791, + 66799, + 66823, + 66839, + 66863, + 66887, + 66919, + 66943, + 66959, + 66967, + 66991, + 67007, + 67031, + 67063, + 67079, + 67087, + 67103, + 67127, + 67159, + 67183, + 67231, + 67247, + 67271, + 67279, + 67303, + 67343, + 67351, + 67367, + 67391, + 67399, + 67423, + 67439, + 67447, + 67471, + 67511, + 67519, + 67559, + 67567, + 67583, + 67591, + 67607, + 67631, + 67663, + 67679, + 67687, + 67703, + 67751, + 67759, + 67783, + 67799, + 67807, + 67831, + 67871, + 67919, + 67927, + 67943, + 67967, + 67999, + 68023, + 68039, + 68063, + 68071, + 68087, + 68111, + 68119, + 68143, + 68183, + 68191, + 68207, + 68231, + 68239, + 68279, + 68287, + 68303, + 68311, + 68351, + 68359, + 68399, + 68407, + 68423, + 68447, + 68479, + 68503, + 68527, + 68543, + 68567, + 68591, + 68599, + 68623, + 68639, + 68647, + 68671, + 68687, + 68711, + 68743, + 68759, + 68767, + 68791, + 68807, + 68839, + 68863, + 68879, + 68903, + 68911, + 68927, + 68951, + 68983, + 69007, + 69023, + 69031, + 69071, + 69079, + 69103, + 69119, + 69127, + 69143, + 69151, + 69191, + 69239, + 69247, + 69263, + 69271, + 69287, + 69319, + 69343, + 69359, + 69367, + 69383, + 69431, + 69439, + 69463, + 69479, + 69527, + 69551, + 69583, + 69599, + 69607, + 69623, + 69631, + 69647, + 69679, + 69703, + 69743, + 69767, + 69791, + 69799, + 69847, + 69863, + 69871, + 69887, + 69911, + 69919, + 69943, + 69959, + 69967, + 69983, + 69991, + 70039, + 70079, + 70087, + 70111, + 70127, + 70151, + 70159, + 70183, + 70199, + 70207, + 70223, + 70247, + 70271, + 70303, + 70319, + 70327, + 70351, + 70391, + 70423, + 70439, + 70463, + 70471, + 70487, + 70519, + 70559, + 70583, + 70591, + 70607, + 70639, + 70663, + 70687, + 70703, + 70711, + 70727, + 70751, + 70783, + 70799, + 70823, + 70831, + 70871, + 70879, + 70919, + 70927, + 70943, + 70951, + 70991, + 70999, + 71023, + 71039, + 71047, + 71063, + 71087, + 71111, + 71119, + 71143, + 71167, + 71191, + 71207, + 71231, + 71263, + 71287, + 71303, + 71311, + 71327, + 71359, + 71399, + 71431, + 71447, + 71471, + 71479, + 71503, + 71527, + 71543, + 71551, + 71567, + 71623, + 71639, + 71647, + 71663, + 71671, + 71711, + 71719, + 71759, + 71767, + 71783, + 71791, + 71807, + 71831, + 71839, + 71879, + 71887, + 71927, + 71959, + 71983, + 71999, + 72031, + 72047, + 72071, + 72103, + 72119, + 72143, + 72151, + 72167, + 72199, + 72223, + 72239, + 72263, + 72271, + 72287, + 72311, + 72343, + 72367, + 72383, + 72407, + 72431, + 72439, + 72463, + 72487, + 72503, + 72511, + 72551, + 72559, + 72599, + 72607, + 72623, + 72647, + 72671, + 72679, + 72703, + 72719, + 72727, + 72767, + 72791, + 72799, + 72823, + 72847, + 72871, + 72887, + 72911, + 72959, + 72967, + 72983, + 72991, + 73039, + 73063, + 73079, + 73103, + 73111, + 73127, + 73159, + 73207, + 73223, + 73231, + 73247, + 73279, + 73303, + 73319, + 73327, + 73343, + 73351, + 73391, + 73399, + 73439, + 73471, + 73487, + 73511, + 73519, + 73543, + 73559, + 73583, + 73607, + 73631, + 73639, + 73663, + 73679, + 73687, + 73727, + 73751, + 73783, + 73807, + 73823, + 73831, + 73847, + 73903, + 73919, + 73943, + 73951, + 73967, + 73991, + 73999, + 74023, + 74047, + 74071, + 74111, + 74119, + 74143, + 74159, + 74167, + 74183, + 74231, + 74279, + 74287, + 74303, + 74311, + 74351, + 74359, + 74383, + 74407, + 74423, + 74447, + 74471, + 74479, + 74519, + 74527, + 74551, + 74567, + 74623, + 74639, + 74647, + 74663, + 74671, + 74687, + 74719, + 74743, + 74759, + 74783, + 74791, + 74807, + 74831, + 74839, + 74863, + 74887, + 74903, + 74911, + 74927, + 74951, + 74959, + 74983, + 74999, + 75007, + 75071, + 75079, + 75143, + 75151, + 75167, + 75191, + 75199, + 75223, + 75239, + 75247, + 75263, + 75287, + 75311, + 75319, + 75343, + 75359, + 75367, + 75391, + 75407, + 75431, + 75463, + 75479, + 75487, + 75503, + 75511, + 75527, + 75583, + 75599, + 75623, + 75631, + 75671, + 75679, + 75703, + 75727, + 75743, + 75767, + 75791, + 75799, + 75839, + 75847, + 75863, + 75871, + 75919, + 75967, + 75983, + 75991, + 76007, + 76031, + 76039, + 76079, + 76103, + 76127, + 76151, + 76159, + 76183, + 76199, + 76207, + 76231, + 76247, + 76303, + 76319, + 76327, + 76343, + 76367, + 76399, + 76423, + 76463, + 76471, + 76487, + 76511, + 76519, + 76543, + 76567, + 76591, + 76607, + 76631, + 76639, + 76663, + 76679, + 76711, + 76751, + 76759, + 76799, + 76807, + 76823, + 76831, + 76847, + 76871, + 76903, + 76919, + 76927, + 76943, + 76991, + 77023, + 77039, + 77047, + 77071, + 77087, + 77111, + 77159, + 77167, + 77183, + 77191, + 77239, + 77263, + 77279, + 77303, + 77327, + 77351, + 77359, + 77383, + 77423, + 77431, + 77447, + 77471, + 77479, + 77503, + 77527, + 77543, + 77551, + 77591, + 77599, + 77639, + 77647, + 77663, + 77687, + 77711, + 77719, + 77743, + 77767, + 77783, + 77807, + 77839, + 77863, + 77879, + 77887, + 77911, + 77927, + 77951, + 77983, + 77999, + 78007, + 78031, + 78047, + 78079, + 78103, + 78119, + 78151, + 78167, + 78191, + 78223, + 78263, + 78271, + 78311, + 78319, + 78343, + 78359, + 78367, + 78383, + 78391, + 78431, + 78439, + 78479, + 78487, + 78503, + 78511, + 78527, + 78583, + 78599, + 78607, + 78623, + 78647, + 78671, + 78679, + 78703, + 78719, + 78751, + 78791, + 78823, + 78839, + 78847, + 78863, + 78887, + 78919, + 78943, + 78959, + 78983, + 79007, + 79031, + 79039, + 79063, + 79087, + 79103, + 79111, + 79127, + 79151, + 79159, + 79199, + 79207, + 79223, + 79231, + 79271, + 79279, + 79319, + 79327, + 79351, + 79367, + 79399, + 79423, + 79439, + 79447, + 79463, + 79487, + 79511, + 79543, + 79559, + 79567, + 79591, + 79631, + 79663, + 79679, + 79687, + 79711, + 79727, + 79759, + 79799, + 79823, + 79831, + 79847, + 79879, + 79903, + 79927, + 79943, + 79951, + 79967, + 79991, + 79999, + 80023, + 80039, + 80063, + 80071, + 80111, + 80159, + 80167, + 80183, + 80191, + 80207, + 80231, + 80239, + 80263, + 80279, + 80287, + 80303, + 80351, + 80359, + 80383, + 80407, + 80447, + 80471, + 80503, + 80519, + 80527, + 80543, + 80551, + 80567, + 80599, + 80623, + 80671, + 80687, + 80711, + 80719, + 80767, + 80783, + 80791, + 80807, + 80831, + 80863, + 80879, + 80887, + 80903, + 80911, + 80959, + 80999, + 81007, + 81023, + 81031, + 81047, + 81071, + 81079, + 81119, + 81127, + 81143, + 81167, + 81199, + 81223, + 81239, + 81247, + 81271, + 81287, + 81311, + 81343, + 81359, + 81383, + 81391, + 81407, + 81439, + 81463, + 81479, + 81503, + 81511, + 81527, + 81551, + 81559, + 81583, + 81607, + 81623, + 81647, + 81671, + 81703, + 81727, + 81743, + 81751, + 81791, + 81799, + 81839, + 81847, + 81863, + 81871, + 81911, + 81919, + 81943, + 81959, + 81967, + 82007, + 82031, + 82039, + 82063, + 82079, + 82087, + 82111, + 82127, + 82151, + 82183, + 82207, + 82223, + 82231, + 82279, + 82319, + 82343, + 82351, + 82367, + 82391, + 82399, + 82447, + 82463, + 82471, + 82487, + 82519, + 82543, + 82559, + 82567, + 82583, + 82591, + 82631, + 82639, + 82679, + 82703, + 82711, + 82727, + 82751, + 82759, + 82783, + 82799, + 82807, + 82847, + 82871, + 82879, + 82903, + 82919, + 82967, + 82991, + 83023, + 83047, + 83063, + 83071, + 83087, + 83119, + 83143, + 83159, + 83183, + 83191, + 83207, + 83231, + 83263, + 83287, + 83311, + 83327, + 83351, + 83359, + 83383, + 83399, + 83407, + 83423, + 83431, + 83471, + 83519, + 83527, + 83543, + 83591, + 83599, + 83623, + 83639, + 83647, + 83663, + 83687, + 83711, + 83719, + 83767, + 83791, + 83807, + 83879, + 83887, + 83903, + 83911, + 83927, + 83959, + 83983, + 83999, + 84023, + 84031, + 84047, + 84079, + 84103, + 84127, + 84143, + 84151, + 84167, + 84191, + 84199, + 84223, + 84239, + 84247, + 84263, + 84311, + 84319, + 84367, + 84391, + 84407, + 84431, + 84439, + 84463, + 84479, + 84503, + 84527, + 84551, + 84559, + 84583, + 84599, + 84607, + 84631, + 84647, + 84671, + 84703, + 84719, + 84727, + 84743, + 84751, + 84767, + 84823, + 84839, + 84863, + 84871, + 84911, + 84919, + 84943, + 84967, + 84983, + 84991, + 85031, + 85039, + 85079, + 85087, + 85103, + 85159, + 85199, + 85207, + 85223, + 85231, + 85247, + 85271, + 85279, + 85303, + 85343, + 85367, + 85391, + 85399, + 85439, + 85447, + 85471, + 85487, + 85511, + 85543, + 85559, + 85567, + 85583, + 85607, + 85639, + 85663, + 85703, + 85711, + 85727, + 85751, + 85759, + 85783, + 85807, + 85823, + 85831, + 85847, + 85871, + 85879, + 85903, + 85919, + 85927, + 85951, + 85991, + 85999, + 86039, + 86063, + 86071, + 86087, + 86111, + 86143, + 86159, + 86167, + 86183, + 86231, + 86239, + 86263, + 86279, + 86287, + 86311, + 86327, + 86351, + 86399, + 86407, + 86423, + 86431, + 86447, + 86479, + 86503, + 86519, + 86543, + 86551, + 86591, + 86599, + 86623, + 86663, + 86687, + 86711, + 86719, + 86743, + 86759, + 86767, + 86783, + 86791, + 86831, + 86839, + 86887, + 86903, + 86927, + 86951, + 86959, + 87007, + 87023, + 87047, + 87071, + 87079, + 87103, + 87119, + 87127, + 87151, + 87167, + 87223, + 87239, + 87247, + 87271, + 87287, + 87319, + 87343, + 87359, + 87383, + 87391, + 87407, + 87431, + 87463, + 87487, + 87511, + 87551, + 87559, + 87583, + 87599, + 87623, + 87631, + 87671, + 87679, + 87719, + 87727, + 87743, + 87751, + 87767, + 87799, + 87823, + 87839, + 87847, + 87863, + 87887, + 87911, + 87943, + 87959, + 87991, + 88007, + 88031, + 88063, + 88079, + 88087, + 88103, + 88111, + 88159, + 88183, + 88199, + 88223, + 88247, + 88271, + 88279, + 88303, + 88327, + 88343, + 88351, + 88367, + 88391, + 88399, + 88423, + 88447, + 88463, + 88471, + 88511, + 88519, + 88559, + 88567, + 88591, + 88607, + 88631, + 88639, + 88663, + 88679, + 88687, + 88703, + 88727, + 88783, + 88799, + 88807, + 88831, + 88871, + 88903, + 88919, + 88927, + 88943, + 88951, + 88967, + 88999, + 89039, + 89071, + 89087, + 89119, + 89143, + 89183, + 89191, + 89207, + 89231, + 89239, + 89263, + 89279, + 89303, + 89311, + 89351, + 89359, + 89399, + 89407, + 89423, + 89431, + 89447, + 89471, + 89503, + 89519, + 89527, + 89543, + 89567, + 89591, + 89599, + 89623, + 89647, + 89671, + 89711, + 89743, + 89759, + 89767, + 89783, + 89807, + 89839, + 89863, + 89879, + 89911, + 89927, + 89951, + 89959, + 89983, + 90007, + 90023, + 90031, + 90047, + 90071, + 90119, + 90127, + 90143, + 90151, + 90191, + 90199, + 90239, + 90247, + 90263, + 90271, + 90287, + 90319, + 90359, + 90367, + 90383, + 90407, + 90439, + 90463, + 90479, + 90487, + 90511, + 90527, + 90551, + 90583, + 90599, + 90631, + 90647, + 90679, + 90703, + 90719, + 90743, + 90751, + 90767, + 90791, + 90799, + 90823, + 90847, + 90863, + 90887, + 90911, + 90919, + 90943, + 90967, + 90983, + 90991, + 91031, + 91079, + 91087, + 91103, + 91111, + 91127, + 91151, + 91159, + 91183, + 91199, + 91207, + 91271, + 91279, + 91303, + 91319, + 91327, + 91367, + 91391, + 91423, + 91439, + 91447, + 91463, + 91471, + 91519, + 91543, + 91583, + 91591, + 91607, + 91631, + 91639, + 91687, + 91703, + 91711, + 91727, + 91759, + 91783, + 91799, + 91807, + 91823, + 91831, + 91879, + 91919, + 91943, + 91951, + 91967, + 91991, + 91999, + 92023, + 92039, + 92047, + 92063, + 92087, + 92111, + 92119, + 92143, + 92159, + 92167, + 92207, + 92231, + 92263, + 92303, + 92311, + 92327, + 92359, + 92383, + 92399, + 92423, + 92431, + 92447, + 92471, + 92479, + 92503, + 92527, + 92551, + 92567, + 92591, + 92623, + 92639, + 92647, + 92663, + 92671, + 92711, + 92759, + 92767, + 92783, + 92791, + 92831, + 92839, + 92863, + 92879, + 92887, + 92903, + 92927, + 92951, + 92959, + 92999, + 93007, + 93031, + 93047, + 93103, + 93127, + 93143, + 93151, + 93167, + 93199, + 93239, + 93263, + 93271, + 93287, + 93311, + 93319, + 93343, + 93367, + 93383, + 93391, + 93407, + 93439, + 93463, + 93479, + 93487, + 93503, + 93551, + 93559, + 93607, + 93623, + 93631, + 93647, + 93671, + 93679, + 93703, + 93719, + 93727, + 93767, + 93791, + 93799, + 93823, + 93839, + 93871, + 93887, + 93911, + 93943, + 93959, + 93967, + 93983, + 93991, + 94007, + 94063, + 94079, + 94103, + 94111, + 94151, + 94183, + 94207, + 94223, + 94231, + 94247, + 94271, + 94279, + 94319, + 94327, + 94343, + 94351, + 94399, + 94439, + 94447, + 94463, + 94487, + 94511, + 94519, + 94543, + 94559, + 94583, + 94607, + 94631, + 94639, + 94663, + 94687, + 94711, + 94727, + 94751, + 94799, + 94807, + 94823, + 94847, + 94879, + 94903, + 94943, + 94951, + 94967, + 94999, + 95023, + 95047, + 95063, + 95071, + 95087, + 95111, + 95119, + 95143, + 95159, + 95167, + 95191, + 95231, + 95239, + 95279, + 95287, + 95311, + 95327, + 95351, + 95383, + 95399, + 95423, + 95471, + 95479, + 95503, + 95519, + 95527, + 95551, + 95567, + 95591, + 95639, + 95647, + 95663, + 95671, + 95687, + 95743, + 95759, + 95783, + 95791, + 95807, + 95831, + 95839, + 95863, + 95903, + 95911, + 95951, + 95959, + 95983, + 95999, + 96007, + 96023, + 96071, + 96079, + 96119, + 96127, + 96143, + 96167, + 96191, + 96199, + 96223, + 96247, + 96263, + 96287, + 96311, + 96319, + 96359, + 96367, + 96391, + 96407, + 96431, + 96463, + 96479, + 96487, + 96511, + 96527, + 96559, + 96583, + 96599, + 96623, + 96631, + 96647, + 96671, + 96703, + 96727, + 96743, + 96751, + 96791, + 96799, + 96823, + 96839, + 96847, + 96871, + 96911, + 96919, + 96959, + 96983, + 96991, + 97007, + 97039, + 97063, + 97079, + 97087, + 97103, + 97127, + 97151, + 97159, + 97183, + 97199, + 97231, + 97247, + 97271, + 97303, + 97319, + 97327, + 97343, + 97351, + 97367, + 97399, + 97423, + 97439, + 97463, + 97511, + 97519, + 97543, + 97567, + 97583, + 97607, + 97631, + 97639, + 97663, + 97679, + 97687, + 97703, + 97711, + 97751, + 97759, + 97807, + 97831, + 97847, + 97871, + 97879, + 97919, + 97927, + 97943, + 97967, + 97991, + 98023, + 98039, + 98047, + 98071, + 98143, + 98159, + 98167, + 98183, + 98191, + 98207, + 98239, + 98279, + 98303, + 98311, + 98327, + 98359, + 98383, + 98407, + 98431, + 98447, + 98471, + 98479, + 98503, + 98519, + 98543, + 98551, + 98591, + 98599, + 98639, + 98647, + 98663, + 98671, + 98687, + 98711, + 98719, + 98743, + 98759, + 98767, + 98783, + 98807, + 98831, + 98863, + 98887, + 98911, + 98927, + 98951, + 98983, + 98999, + 99007, + 99023, + 99031, + 99079, + 99103, + 99119, + 99167, + 99191, + 99199, + 99223, + 99247, + 99263, + 99271, + 99287, + 99311, + 99343, + 99367, + 99383, + 99391, + 99431, + 99439, + 99479, + 99487, + 99503, + 99511, + 99527, + 99551, + 99559, + 99599, + 99607, + 99623, + 99647, + 99679, + 99703, + 99719, + 99727, + 99751, + 99767, + 99791, + 99823, + 99839, + 99863, + 99871, + 99887, + 99919, + 99943, + 99959, + 99991, + 100007, + 100031, + 100039, + 100063, + 100103, + 100127, + 100151, + 100159, + 100183, + 100207, + 100223, + 100231, + 100271, + 100279, + 100319, + 100327, + 100343, + 100351, + 100367, + 100391, + 100423, + 100439, + 100447, + 100487, + 100511, + 100519, + 100543, + 100559, + 100567, + 100591, + 100631, + 100663, + 100679, + 100687, + 100703, + 100759, + 100783, + 100799, + 100823, + 100831, + 100847, + 100871, + 100879, + 100927, + 100943, + 100951, + 100967, + 100999, + 101039, + 101047, + 101063, + 101071, + 101111, + 101119, + 101159, + 101183, + 101191, + 101207, + 101239, + 101263, + 101279, + 101287, + 101303, + 101327, + 101351, + 101359, + 101383, + 101399, + 101407, + 101447, + 101471, + 101503, + 101527, + 101551, + 101567, + 101599, + 101623, + 101639, + 101663, + 101671, + 101687, + 101711, + 101719, + 101743, + 101767, + 101791, + 101807, + 101831, + 101839, + 101863, + 101879, + 101887, + 101903, + 101911, + 101951, + 101999, + 102007, + 102023, + 102031, + 102071, + 102079, + 102103, + 102119, + 102127, + 102143, + 102191, + 102199, + 102239, + 102247, + 102287, + 102343, + 102359, + 102367, + 102383, + 102391, + 102407, + 102439, + 102463, + 102503, + 102511, + 102527, + 102551, + 102559, + 102607, + 102623, + 102631, + 102647, + 102671, + 102679, + 102703, + 102719, + 102727, + 102743, + 102799, + 102847, + 102863, + 102871, + 102887, + 102911, + 102919, + 102943, + 102959, + 102967, + 102983, + 103007, + 103031, + 103039, + 103063, + 103079, + 103087, + 103111, + 103127, + 103151, + 103183, + 103199, + 103223, + 103231, + 103247, + 103303, + 103319, + 103343, + 103351, + 103391, + 103399, + 103423, + 103447, + 103463, + 103471, + 103487, + 103511, + 103559, + 103567, + 103583, + 103591, + 103639, + 103679, + 103687, + 103703, + 103711, + 103751, + 103759, + 103783, + 103799, + 103823, + 103847, + 103871, + 103879, + 103903, + 103919, + 103927, + 103951, + 103967, + 103991, + 104023, + 104047, + 104063, + 104087, + 104119, + 104183, + 104191, + 104207, + 104231, + 104239, + 104263, + 104287, + 104303, + 104311, + 104327, + 104359, + 104383, + 104399, + 104407, + 104431, + 104471, + 104479, + 104519, + 104527, + 104543, + 104551, + 104567, + 104591, + 104623, + 104639, + 104647, + 104711, + 104719, + 104743, + 104759, + 104791, + 104807, + 104831, + 104879, + 104887, + 104903, + 104911, + 104927, + 104959, + 104983, + 104999, + 105023, + 105031, + 105047, + 105071, + 105103, + 105143, + 105151, + 105167, + 105191, + 105199, + 105223, + 105239, + 105247, + 105263, + 105271, + 105311, + 105319, + 105359, + 105367, + 105383, + 105407, + 105431, + 105439, + 105463, + 105487, + 105503, + 105527, + 105551, + 105559, + 105583, + 105607, + 105631, + 105647, + 105671, + 105719, + 105727, + 105751, + 105767, + 105799, + 105823, + 105839, + 105863, + 105871, + 105887, + 105943, + 105967, + 105983, + 105991, + 106031, + 106039, + 106063, + 106079, + 106087, + 106103, + 106111, + 106151, + 106159, + 106199, + 106207, + 106231, + 106247, + 106279, + 106303, + 106319, + 106343, + 106367, + 106391, + 106399, + 106423, + 106439, + 106471, + 106487, + 106511, + 106543, + 106559, + 106567, + 106583, + 106591, + 106607, + 106663, + 106679, + 106703, + 106727, + 106751, + 106759, + 106783, + 106807, + 106823, + 106831, + 106871, + 106879, + 106903, + 106919, + 106927, + 106943, + 106991, + 106999, + 107039, + 107047, + 107071, + 107087, + 107111, + 107119, + 107143, + 107167, + 107183, + 107207, + 107231, + 107279, + 107287, + 107311, + 107351, + 107383, + 107399, + 107407, + 107423, + 107431, + 107447, + 107479, + 107519, + 107543, + 107551, + 107567, + 107599, + 107623, + 107647, + 107663, + 107671, + 107687, + 107711, + 107719, + 107743, + 107759, + 107791, + 107831, + 107839, + 107879, + 107903, + 107911, + 107927, + 107951, + 107959, + 107983, + 107999, + 108007, + 108023, + 108047, + 108071, + 108079, + 108103, + 108127, + 108151, + 108167, + 108191, + 108223, + 108239, + 108247, + 108263, + 108271, + 108287, + 108319, + 108343, + 108359, + 108391, + 108431, + 108439, + 108463, + 108487, + 108503, + 108527, + 108551, + 108583, + 108599, + 108607, + 108623, + 108631, + 108671, + 108679, + 108727, + 108743, + 108751, + 108767, + 108791, + 108799, + 108839, + 108847, + 108863, + 108887, + 108919, + 108943, + 108959, + 108967, + 108991, + 109007, + 109063, + 109079, + 109103, + 109111, + 109127, + 109159, + 109183, + 109199, + 109223, + 109231, + 109247, + 109271, + 109279, + 109303, + 109327, + 109367, + 109391, + 109399, + 109423, + 109463, + 109471, + 109511, + 109519, + 109559, + 109567, + 109583, + 109591, + 109607, + 109631, + 109639, + 109663, + 109679, + 109687, + 109727, + 109751, + 109783, + 109799, + 109807, + 109831, + 109847, + 109871, + 109903, + 109919, + 109927, + 109943, + 109951, + 109999, + 110023, + 110039, + 110063, + 110087, + 110111, + 110119, + 110167, + 110183, + 110191, + 110207, + 110239, + 110263, + 110287, + 110303, + 110311, + 110351, + 110359, + 110399, + 110423, + 110431, + 110447, + 110471, + 110479, + 110503, + 110519, + 110527, + 110543, + 110567, + 110599, + 110623, + 110639, + 110647, + 110687, + 110711, + 110743, + 110767, + 110783, + 110791, + 110807, + 110839, + 110863, + 110879, + 110911, + 110927, + 110951, + 110959, + 110983, + 111031, + 111047, + 111071, + 111079, + 111103, + 111119, + 111127, + 111143, + 111151, + 111191, + 111239, + 111247, + 111263, + 111271, + 111311, + 111343, + 111359, + 111367, + 111383, + 111407, + 111431, + 111439, + 111479, + 111487, + 111511, + 111583, + 111599, + 111607, + 111623, + 111647, + 111679, + 111703, + 111719, + 111743, + 111751, + 111767, + 111791, + 111799, + 111823, + 111847, + 111863, + 111871, + 111887, + 111911, + 111919, + 111959, + 111967, + 111983, + 112031, + 112039, + 112087, + 112103, + 112111, + 112127, + 112159, + 112183, + 112199, + 112207, + 112223, + 112247, + 112271, + 112279, + 112303, + 112319, + 112327, + 112351, + 112367, + 112391, + 112423, + 112439, + 112447, + 112471, + 112487, + 112543, + 112559, + 112583, + 112591, + 112631, + 112639, + 112663, + 112687, + 112703, + 112711, + 112727, + 112751, + 112759, + 112799, + 112807, + 112823, + 112831, + 112919, + 112927, + 112943, + 112951, + 112967, + 112991, + 112999, + 113023, + 113039, + 113063, + 113111, + 113119, + 113143, + 113159, + 113167, + 113207, + 113231, + 113263, + 113279, + 113287, + 113303, + 113327, + 113359, + 113383, + 113423, + 113431, + 113447, + 113471, + 113479, + 113527, + 113543, + 113551, + 113567, + 113591, + 113599, + 113623, + 113639, + 113647, + 113671, + 113719, + 113759, + 113767, + 113783, + 113791, + 113807, + 113831, + 113863, + 113879, + 113887, + 113903, + 113951, + 113959, + 113983, + 113999, + 114007, + 114031, + 114047, + 114071, + 114119, + 114143, + 114151, + 114167, + 114199, + 114223, + 114239, + 114263, + 114271, + 114287, + 114311, + 114319, + 114343, + 114383, + 114391, + 114407, + 114431, + 114463, + 114479, + 114487, + 114503, + 114511, + 114551, + 114559, + 114599, + 114607, + 114623, + 114671, + 114679, + 114703, + 114727, + 114743, + 114767, + 114791, + 114799, + 114823, + 114839, + 114847, + 114871, + 114887, + 114911, + 114943, + 114967, + 114991, + 115007, + 115039, + 115079, + 115103, + 115111, + 115127, + 115151, + 115183, + 115207, + 115223, + 115231, + 115279, + 115303, + 115319, + 115327, + 115343, + 115351, + 115391, + 115399, + 115439, + 115447, + 115463, + 115471, + 115487, + 115519, + 115543, + 115559, + 115567, + 115607, + 115631, + 115639, + 115663, + 115679, + 115711, + 115727, + 115751, + 115783, + 115799, + 115807, + 115823, + 115831, + 115847, + 115879, + 115903, + 115919, + 115943, + 115967, + 115991, + 116023, + 116047, + 116063, + 116071, + 116087, + 116111, + 116119, + 116143, + 116159, + 116167, + 116183, + 116191, + 116231, + 116239, + 116279, + 116287, + 116327, + 116351, + 116359, + 116383, + 116399, + 116407, + 116423, + 116447, + 116471, + 116503, + 116527, + 116551, + 116591, + 116639, + 116647, + 116663, + 116671, + 116687, + 116719, + 116759, + 116783, + 116791, + 116807, + 116839, + 116863, + 116887, + 116903, + 116911, + 116927, + 116951, + 116959, + 116983, + 116999, + 117023, + 117031, + 117071, + 117079, + 117119, + 117127, + 117151, + 117167, + 117191, + 117199, + 117223, + 117239, + 117263, + 117287, + 117311, + 117319, + 117343, + 117367, + 117391, + 117407, + 117431, + 117463, + 117479, + 117487, + 117503, + 117511, + 117527, + 117583, + 117599, + 117631, + 117647, + 117671, + 117679, + 117703, + 117727, + 117743, + 117751, + 117791, + 117823, + 117839, + 117847, + 117863, + 117911, + 117919, + 117959, + 117967, + 117983, + 117991, + 118007, + 118031, + 118039, + 118087, + 118103, + 118127, + 118159, + 118199, + 118207, + 118231, + 118247, + 118271, + 118303, + 118319, + 118343, + 118351, + 118367, + 118399, + 118423, + 118439, + 118463, + 118471, + 118487, + 118511, + 118519, + 118543, + 118567, + 118583, + 118607, + 118631, + 118639, + 118663, + 118687, + 118711, + 118751, + 118759, + 118799, + 118823, + 118831, + 118847, + 118871, + 118879, + 118903, + 118919, + 118927, + 118967, + 118991, + 118999, + 119023, + 119039, + 119047, + 119071, + 119087, + 119111, + 119143, + 119159, + 119167, + 119183, + 119191, + 119239, + 119263, + 119279, + 119303, + 119311, + 119351, + 119359, + 119407, + 119423, + 119447, + 119479, + 119503, + 119519, + 119527, + 119543, + 119551, + 119591, + 119599, + 119663, + 119671, + 119687, + 119711, + 119719, + 119759, + 119767, + 119783, + 119807, + 119831, + 119839, + 119863, + 119879, + 119887, + 119927, + 119983, + 120007, + 120023, + 120031, + 120047, + 120079, + 120103, + 120119, +} + +var sieve_info = []Pair{ + {17, 8}, + {19, 10}, + {23, 5}, + {29, 15}, + {31, 6}, + {37, 35}, + {41, 4}, + {43, 41}, + {47, 43}, + {53, 41}, + {59, 44}, + {61, 50}, + {67, 6}, + {71, 65}, + {73, 48}, + {79, 2}, + {83, 35}, + {89, 86}, + {97, 20}, + {101, 88}, + {103, 89}, + {107, 60}, + {109, 55}, + {113, 1}, + {127, 75}, + {131, 56}, + {137, 85}, + {139, 29}, + {149, 86}, + {151, 149}, + {157, 21}, + {163, 74}, + {167, 32}, + {173, 3}, + {179, 114}, + {181, 82}, + {191, 10}, + {193, 60}, + {197, 130}, + {199, 144}, + {211, 128}, + {223, 139}, + {227, 135}, + {229, 205}, + {233, 192}, + {239, 170}, + {241, 26}, + {251, 175}, + {257, 28}, + {263, 100}, + {269, 234}, + {271, 89}, + {277, 65}, + {281, 131}, + {283, 241}, + {293, 205}, + {307, 37}, + {311, 290}, + {313, 213}, + {317, 124}, + {331, 10}, + {337, 189}, + {347, 6}, + {349, 60}, + {353, 293}, + {359, 307}, + {367, 205}, + {373, 80}, + {379, 346}, + {383, 89}, + {389, 24}, + {397, 65}, + {401, 225}, + {409, 198}, + {419, 63}, + {421, 184}, + {431, 147}, + {433, 254}, + {439, 119}, + {443, 324}, + {449, 36}, + {457, 354}, + {461, 211}, + {463, 333}, + {467, 37}, + {479, 312}, + {487, 219}, + {491, 101}, + {499, 140}, + {503, 140}, + {509, 127}, + {521, 106}, + {523, 483}, + {541, 511}, + {547, 455}, + {557, 293}, + {563, 549}, + {569, 28}, + {571, 242}, + {577, 172}, + {587, 172}, + {593, 87}, + {599, 526}, + {601, 308}, + {607, 561}, + {613, 197}, + {617, 405}, + {619, 528}, + {631, 107}, + {641, 603}, + {643, 457}, + {647, 102}, + {653, 102}, + {659, 554}, + {661, 69}, + {673, 64}, + {677, 114}, + {683, 520}, + {691, 297}, + {701, 442}, + {709, 396}, + {719, 153}, + {727, 141}, + {733, 486}, + {739, 307}, + {743, 595}, + {751, 582}, + {757, 676}, + {761, 316}, + {769, 350}, + {773, 147}, + {787, 668}, + {797, 639}, + {809, 98}, + {811, 573}, + {821, 320}, + {823, 758}, + {827, 472}, + {829, 39}, + {839, 751}, + {853, 223}, + {857, 655}, + {859, 362}, + {863, 773}, + {877, 756}, + {881, 739}, + {883, 138}, + {887, 123}, + {907, 836}, + {911, 490}, + {919, 878}, + {929, 313}, + {937, 606}, + {941, 175}, + {947, 286}, + {953, 295}, + {967, 260}, + {971, 612}, + {977, 613}, + {983, 907}, + {991, 569}, + {997, 970}, + {1009, 556}, + {1013, 223}, + {1019, 877}, + {1021, 77}, + {1031, 364}, + {1033, 704}, + {1039, 18}, + {1049, 497}, + {1051, 79}, + {1061, 846}, + {1063, 1}, + {1069, 30}, + {1087, 251}, + {1091, 486}, + {1093, 467}, + {1097, 365}, + {1103, 134}, + {1109, 290}, + {1117, 184}, + {1123, 493}, + {1129, 524}, + {1151, 534}, + {1153, 704}, + {1163, 1033}, + {1171, 19}, + {1181, 701}, + {1187, 917}, + {1193, 790}, + {1201, 1141}, + {1213, 1066}, + {1217, 580}, + {1223, 823}, + {1229, 729}, + {1231, 1029}, + {1237, 661}, + {1249, 133}, + {1259, 1237}, + {1277, 1168}, + {1279, 1098}, + {1283, 732}, + {1289, 1167}, + {1291, 453}, + {1297, 787}, + {1301, 459}, + {1303, 518}, + {1307, 917}, + {1319, 29}, + {1321, 450}, + {1327, 1302}, + {1361, 58}, + {1367, 800}, + {1373, 353}, + {1381, 358}, + {1399, 512}, + {1409, 897}, + {1423, 651}, + {1427, 957}, + {1429, 1412}, + {1433, 1052}, + {1439, 1163}, + {1447, 457}, + {1451, 700}, + {1453, 91}, + {1459, 112}, + {1471, 126}, + {1481, 1155}, + {1483, 494}, + {1487, 432}, + {1489, 880}, + {1493, 797}, + {1499, 757}, + {1511, 1175}, + {1523, 201}, + {1531, 1097}, + {1543, 877}, + {1549, 876}, + {1553, 1092}, + {1559, 81}, + {1567, 282}, + {1571, 1009}, + {1579, 667}, + {1583, 1002}, + {1597, 287}, + {1601, 676}, + {1607, 865}, + {1609, 316}, + {1613, 1164}, + {1619, 892}, + {1621, 1455}, + {1627, 357}, + {1637, 1198}, + {1657, 729}, + {1663, 1113}, + {1667, 1476}, + {1669, 452}, + {1693, 1591}, + {1697, 1119}, + {1699, 1215}, + {1709, 143}, + {1721, 890}, + {1723, 1185}, + {1733, 1583}, + {1741, 1354}, + {1747, 413}, + {1753, 932}, + {1759, 1250}, + {1777, 1025}, + {1783, 1204}, + {1787, 1202}, + {1789, 1253}, + {1801, 1317}, + {1811, 1686}, + {1823, 267}, + {1831, 744}, + {1847, 341}, + {1861, 1676}, + {1867, 322}, + {1871, 1040}, + {1873, 1080}, + {1877, 1173}, + {1879, 1202}, + {1889, 1463}, + {1901, 213}, + {1907, 454}, + {1913, 1563}, + {1931, 131}, + {1933, 515}, + {1949, 19}, + {1951, 95}, + {1973, 525}, + {1979, 1120}, + {1987, 170}, + {1993, 1635}, + {1997, 446}, + {1999, 1788}, + {2003, 1569}, + {2011, 1903}, + {2017, 567}, + {2027, 1977}, + {2029, 888}, + {2039, 1487}, + {2053, 1474}, + {2063, 1244}, + {2069, 1806}, + {2081, 18}, + {2083, 3}, + {2087, 746}, + {2089, 836}, + {2099, 2077}, + {2111, 1030}, + {2113, 678}, + {2129, 796}, + {2131, 405}, + {2137, 415}, + {2141, 411}, + {2143, 1856}, + {2153, 1658}, + {2161, 41}, + {2179, 1038}, + {2203, 78}, + {2207, 2125}, + {2213, 863}, + {2221, 203}, + {2237, 551}, + {2239, 1524}, + {2243, 1999}, + {2251, 529}, + {2267, 585}, + {2269, 2004}, + {2273, 254}, + {2281, 180}, + {2287, 1394}, + {2293, 1699}, + {2297, 1315}, + {2309, 2087}, + {2311, 1911}, + {2333, 1898}, + {2339, 805}, + {2341, 228}, + {2347, 2175}, + {2351, 365}, + {2357, 298}, + {2371, 74}, + {2377, 350}, + {2381, 2134}, + {2383, 2071}, + {2389, 2036}, + {2393, 779}, + {2399, 2272}, + {2411, 1127}, + {2417, 937}, + {2423, 534}, + {2437, 455}, + {2441, 621}, + {2447, 530}, + {2459, 1372}, + {2467, 2370}, + {2473, 124}, + {2477, 427}, + {2503, 730}, + {2521, 1093}, + {2531, 642}, + {2539, 271}, + {2543, 1851}, + {2549, 1568}, + {2551, 1796}, + {2557, 130}, + {2579, 210}, + {2591, 1756}, + {2593, 1161}, + {2609, 1846}, + {2617, 869}, + {2621, 2192}, + {2633, 2509}, + {2647, 1230}, + {2657, 608}, + {2659, 406}, + {2663, 2364}, + {2671, 1104}, + {2677, 1032}, + {2683, 1143}, + {2687, 1041}, + {2689, 2610}, + {2693, 574}, + {2699, 2606}, + {2707, 2057}, + {2711, 1469}, + {2713, 1128}, + {2719, 1264}, + {2729, 2667}, + {2731, 931}, + {2741, 1093}, + {2749, 2384}, + {2753, 1537}, + {2767, 2303}, + {2777, 2730}, + {2789, 1763}, + {2791, 2478}, + {2797, 1204}, + {2801, 2246}, + {2803, 2289}, + {2819, 866}, + {2833, 2126}, + {2837, 2558}, + {2843, 219}, + {2851, 445}, + {2857, 1882}, + {2861, 1158}, + {2879, 1858}, + {2887, 583}, + {2897, 1016}, + {2903, 1040}, + {2909, 2051}, + {2917, 396}, + {2927, 1865}, + {2939, 1264}, + {2953, 2042}, + {2957, 2229}, + {2963, 2913}, + {2969, 155}, + {2971, 253}, + {2999, 2268}, + {3001, 1463}, + {3011, 1609}, + {3019, 467}, + {3023, 2596}, + {3037, 297}, + {3041, 2}, + {3049, 1208}, + {3061, 1136}, + {3067, 2208}, + {3079, 1579}, + {3083, 527}, + {3089, 44}, + {3109, 2485}, + {3119, 2957}, + {3121, 1905}, + {3137, 2454}, + {3163, 1496}, + {3167, 2116}, + {3169, 787}, + {3181, 2690}, + {3187, 2686}, + {3191, 1388}, + {3203, 2349}, + {3209, 2309}, + {3217, 1666}, + {3221, 1175}, + {3229, 539}, + {3251, 292}, + {3253, 3226}, + {3257, 921}, + {3259, 1992}, + {3271, 339}, + {3299, 1287}, + {3301, 1324}, + {3307, 610}, + {3313, 1116}, + {3319, 2531}, + {3323, 412}, + {3329, 2545}, + {3331, 2237}, + {3343, 2214}, + {3347, 3338}, + {3359, 2302}, + {3361, 188}, + {3371, 30}, + {3373, 2014}, + {3389, 2772}, + {3391, 1510}, + {3407, 806}, + {3413, 349}, + {3433, 1177}, + {3449, 342}, + {3457, 1849}, + {3461, 208}, + {3463, 2847}, + {3467, 150}, + {3469, 1993}, + {3491, 2005}, + {3499, 1513}, + {3511, 2998}, + {3517, 3225}, + {3527, 2427}, + {3529, 3450}, + {3533, 1766}, + {3539, 670}, + {3541, 168}, + {3547, 2100}, + {3557, 2596}, + {3559, 3322}, + {3571, 643}, + {3581, 1453}, + {3583, 1181}, + {3593, 2810}, + {3607, 732}, + {3613, 811}, + {3617, 1077}, + {3623, 2467}, + {3631, 2005}, + {3637, 2939}, + {3643, 3459}, + {3659, 817}, + {3671, 933}, + {3673, 2705}, + {3677, 2364}, + {3691, 318}, + {3697, 910}, + {3701, 2585}, + {3709, 2142}, + {3719, 2010}, + {3727, 492}, + {3733, 1636}, + {3739, 3335}, + {3761, 2610}, + {3767, 1768}, + {3769, 3406}, + {3779, 1361}, + {3793, 607}, + {3797, 738}, + {3803, 1957}, + {3821, 2310}, + {3823, 1199}, + {3833, 727}, + {3847, 896}, + {3851, 469}, + {3853, 3005}, + {3863, 2642}, + {3877, 3009}, + {3881, 2418}, + {3889, 1568}, + {3907, 627}, + {3911, 1877}, + {3917, 2937}, + {3919, 3106}, + {3923, 2152}, + {3929, 578}, + {3931, 429}, + {3943, 3734}, + {3947, 2509}, + {3967, 1669}, + {3989, 3466}, + {4001, 3512}, + {4003, 3069}, + {4007, 1024}, + {4013, 2928}, + {4019, 259}, + {4021, 954}, + {4027, 2352}, + {4049, 4046}, + {4051, 2761}, + {4057, 569}, + {4073, 1155}, + {4079, 3207}, + {4091, 1569}, + {4093, 3000}, + {4099, 3738}, + {4111, 1346}, + {4127, 2106}, + {4129, 2168}, + {4133, 4023}, + {4139, 4046}, + {4153, 1428}, + {4157, 48}, + {4159, 4015}, + {4177, 1604}, + {4201, 1792}, + {4211, 3954}, + {4217, 1896}, + {4219, 2014}, + {4229, 2424}, + {4231, 1529}, + {4241, 2816}, + {4243, 2028}, + {4253, 78}, + {4259, 3891}, + {4261, 3731}, + {4271, 3701}, + {4273, 2720}, + {4283, 3693}, + {4289, 1685}, + {4297, 285}, + {4327, 1466}, + {4337, 3813}, + {4339, 1148}, + {4349, 3088}, + {4357, 857}, + {4363, 2713}, + {4373, 3562}, + {4391, 3669}, + {4397, 4193}, + {4409, 4278}, + {4421, 1732}, + {4423, 4056}, + {4441, 417}, + {4447, 436}, + {4451, 1796}, + {4457, 2605}, + {4463, 4381}, + {4481, 1995}, + {4483, 1874}, + {4493, 630}, + {4507, 2907}, + {4513, 73}, + {4517, 2525}, + {4519, 3884}, + {4523, 981}, + {4547, 333}, + {4549, 2309}, + {4561, 1335}, + {4567, 1561}, + {4583, 424}, + {4591, 274}, + {4597, 2360}, + {4603, 2968}, + {4621, 1955}, + {4637, 577}, + {4639, 2620}, + {4643, 3688}, + {4649, 1153}, + {4651, 4299}, + {4657, 2435}, + {4663, 2832}, + {4673, 919}, + {4679, 790}, + {4691, 4475}, + {4703, 717}, + {4721, 2116}, + {4723, 4626}, + {4729, 1113}, + {4733, 588}, + {4751, 4041}, + {4759, 1542}, + {4783, 4195}, + {4787, 3679}, + {4789, 3225}, + {4793, 3217}, + {4799, 1026}, + {4801, 2729}, + {4813, 4273}, + {4817, 3364}, + {4831, 1630}, + {4861, 2581}, + {4871, 1710}, + {4877, 3345}, + {4889, 4817}, + {4903, 2101}, + {4909, 4012}, + {4919, 4521}, + {4931, 236}, + {4933, 511}, + {4937, 602}, + {4943, 2714}, + {4951, 340}, + {4957, 3352}, + {4967, 659}, + {4969, 3721}, + {4973, 4319}, + {4987, 1443}, + {4993, 1647}, + {4999, 4756}, + {5003, 1355}, + {5009, 887}, + {5011, 4837}, + {5021, 693}, + {5023, 3151}, + {5039, 4440}, + {5051, 1917}, + {5059, 4290}, + {5077, 4128}, + {5081, 2521}, + {5087, 990}, + {5099, 1164}, + {5101, 507}, + {5107, 2493}, + {5113, 144}, + {5119, 58}, + {5147, 3750}, + {5153, 1487}, + {5167, 1317}, + {5171, 1198}, + {5179, 3000}, + {5189, 3249}, + {5197, 150}, + {5209, 1814}, + {5227, 207}, + {5231, 786}, + {5233, 1883}, + {5237, 3639}, + {5261, 3128}, + {5273, 4677}, + {5279, 5047}, + {5281, 3598}, + {5297, 3133}, + {5303, 978}, + {5309, 5138}, + {5323, 4198}, + {5333, 2426}, + {5347, 1654}, + {5351, 4840}, + {5381, 4511}, + {5387, 1600}, + {5393, 1233}, + {5399, 1219}, + {5407, 1470}, + {5413, 2183}, + {5417, 2468}, + {5419, 4644}, + {5431, 2375}, + {5437, 548}, + {5441, 2330}, + {5443, 3129}, + {5449, 3400}, + {5471, 3052}, + {5477, 4818}, + {5479, 4627}, + {5483, 3435}, + {5501, 2287}, + {5503, 1495}, + {5507, 4788}, + {5519, 3865}, + {5521, 1263}, + {5527, 2756}, + {5531, 5315}, + {5557, 388}, + {5563, 4554}, + {5569, 4582}, + {5573, 5369}, + {5581, 1759}, + {5591, 4169}, + {5623, 1786}, + {5639, 3335}, + {5641, 2812}, + {5647, 1665}, + {5651, 39}, + {5653, 4070}, + {5657, 5533}, + {5659, 751}, + {5669, 3340}, + {5683, 3284}, + {5689, 4317}, + {5693, 4950}, + {5701, 2429}, + {5711, 3203}, + {5717, 363}, + {5737, 1607}, + {5741, 5025}, + {5743, 975}, + {5749, 236}, + {5779, 3209}, + {5783, 5359}, + {5791, 2544}, + {5801, 989}, + {5807, 2476}, + {5813, 1390}, + {5821, 3963}, + {5827, 2990}, + {5839, 5596}, + {5843, 561}, + {5849, 95}, + {5851, 5566}, + {5857, 3355}, + {5861, 3555}, + {5867, 5523}, + {5869, 3108}, + {5879, 3289}, + {5881, 2303}, + {5897, 3806}, + {5903, 4049}, + {5923, 760}, + {5927, 739}, + {5939, 359}, + {5953, 4622}, + {5981, 945}, + {5987, 3734}, + {6007, 901}, + {6011, 5470}, + {6029, 2215}, + {6037, 2074}, + {6043, 2997}, + {6047, 1497}, + {6053, 2814}, + {6067, 5883}, + {6073, 3884}, + {6079, 4909}, + {6089, 3481}, + {6091, 756}, + {6101, 5462}, + {6113, 677}, + {6121, 3143}, + {6131, 3117}, + {6133, 862}, + {6143, 1047}, + {6151, 1805}, + {6163, 4214}, + {6173, 4578}, + {6197, 1254}, + {6199, 2857}, + {6203, 1302}, + {6211, 4531}, + {6217, 4704}, + {6221, 2866}, + {6229, 4817}, + {6247, 1611}, + {6257, 5301}, + {6263, 4127}, + {6269, 3324}, + {6271, 155}, + {6277, 3003}, + {6287, 3874}, + {6299, 5352}, + {6301, 2137}, + {6311, 2991}, + {6317, 521}, + {6323, 5951}, + {6329, 773}, + {6337, 1142}, + {6343, 703}, + {6353, 3604}, + {6359, 6232}, + {6361, 5681}, + {6367, 6158}, + {6373, 692}, + {6379, 2325}, + {6389, 2443}, + {6397, 4428}, + {6421, 991}, + {6427, 3773}, + {6449, 5684}, + {6451, 6343}, + {6469, 5623}, + {6473, 4073}, + {6481, 6086}, + {6491, 4357}, + {6521, 5496}, + {6529, 480}, + {6547, 619}, + {6551, 3216}, + {6553, 2502}, + {6563, 499}, + {6569, 822}, + {6571, 3100}, + {6577, 3774}, + {6581, 3045}, + {6599, 1958}, + {6607, 4377}, + {6619, 3120}, + {6637, 2121}, + {6653, 4708}, + {6659, 2039}, + {6661, 6631}, + {6673, 5561}, + {6679, 1637}, + {6689, 6096}, + {6691, 1031}, + {6701, 2893}, + {6703, 4908}, + {6709, 3459}, + {6719, 188}, + {6733, 5009}, + {6737, 2181}, + {6761, 2078}, + {6763, 2996}, + {6779, 2306}, + {6781, 5084}, + {6791, 4460}, + {6793, 2709}, + {6803, 2393}, + {6823, 504}, + {6827, 3685}, + {6829, 485}, + {6833, 825}, + {6841, 4572}, + {6857, 4590}, + {6863, 2157}, + {6869, 314}, + {6871, 1879}, + {6883, 2836}, + {6899, 4635}, + {6907, 5007}, + {6911, 5533}, + {6917, 4758}, + {6947, 2334}, + {6949, 3791}, + {6959, 3198}, + {6961, 3623}, + {6967, 2437}, + {6971, 5104}, + {6977, 5444}, + {6983, 1239}, + {6991, 5327}, + {6997, 5067}, + {7001, 6544}, + {7013, 5250}, + {7019, 2598}, + {7027, 1584}, + {7039, 5853}, + {7043, 6699}, + {7057, 1589}, + {7069, 1067}, + {7079, 4222}, + {7103, 6270}, + {7109, 1930}, + {7121, 7083}, + {7127, 2099}, + {7129, 4199}, + {7151, 2639}, + {7159, 5445}, + {7177, 1193}, + {7187, 5344}, + {7193, 2320}, + {7207, 721}, + {7211, 2391}, + {7213, 3507}, + {7219, 208}, + {7229, 5949}, + {7237, 7135}, + {7243, 611}, + {7247, 5204}, + {7253, 2727}, + {7283, 3384}, + {7297, 3655}, + {7307, 3674}, + {7309, 4002}, + {7321, 6926}, + {7331, 7074}, + {7333, 3895}, + {7349, 681}, + {7351, 5616}, + {7369, 6674}, + {7393, 4322}, + {7411, 24}, + {7417, 3478}, + {7433, 1640}, + {7451, 4525}, + {7457, 4716}, + {7459, 1586}, + {7477, 1762}, + {7481, 6193}, + {7487, 6962}, + {7489, 3618}, + {7499, 5128}, + {7507, 4692}, + {7517, 6973}, + {7523, 91}, + {7529, 2123}, + {7537, 6531}, + {7541, 408}, + {7547, 5099}, + {7549, 5423}, + {7559, 6449}, + {7561, 3754}, + {7573, 5528}, + {7577, 6003}, + {7583, 747}, + {7589, 5942}, + {7591, 3858}, + {7603, 5548}, + {7607, 4353}, + {7621, 491}, + {7639, 6764}, + {7643, 2154}, + {7649, 598}, + {7669, 6283}, + {7673, 3341}, + {7681, 3146}, + {7687, 6421}, + {7691, 5708}, + {7699, 691}, + {7703, 1613}, + {7717, 1356}, + {7723, 2372}, + {7727, 5155}, + {7741, 259}, + {7753, 6097}, + {7757, 3383}, + {7759, 5289}, + {7789, 6428}, + {7793, 1735}, + {7817, 633}, + {7823, 3631}, + {7829, 2321}, + {7841, 7384}, + {7853, 5769}, + {7867, 398}, + {7873, 5688}, + {7877, 5560}, + {7879, 5725}, + {7883, 1379}, + {7901, 4524}, + {7907, 2072}, + {7919, 7658}, + {7927, 7255}, + {7933, 7249}, + {7937, 1729}, + {7949, 1491}, + {7951, 3199}, + {7963, 5580}, + {7993, 5080}, + {8009, 7475}, + {8011, 178}, + {8017, 772}, + {8039, 1020}, + {8053, 6168}, + {8059, 6995}, + {8069, 6076}, + {8081, 6391}, + {8087, 1283}, + {8089, 1225}, + {8093, 7344}, + {8101, 3403}, + {8111, 8090}, + {8117, 5178}, + {8123, 2411}, + {8147, 2786}, + {8161, 6351}, + {8167, 1380}, + {8171, 4799}, + {8179, 4174}, + {8191, 2420}, + {8209, 1522}, + {8219, 4438}, + {8221, 1778}, + {8231, 6228}, + {8233, 2798}, + {8237, 235}, + {8243, 6564}, + {8263, 5621}, + {8269, 1149}, + {8273, 6685}, + {8287, 1897}, + {8291, 8166}, + {8293, 1323}, + {8297, 1824}, + {8311, 1675}, + {8317, 8125}, + {8329, 1927}, + {8353, 3982}, + {8363, 5657}, + {8369, 6281}, + {8377, 1518}, + {8387, 388}, + {8389, 160}, + {8419, 7728}, + {8423, 7898}, + {8429, 3122}, + {8431, 4167}, + {8443, 6220}, + {8447, 3416}, + {8461, 2971}, + {8467, 2949}, + {8501, 392}, + {8513, 2278}, + {8521, 2775}, + {8527, 4976}, + {8537, 3446}, + {8539, 7096}, + {8543, 1072}, + {8563, 5145}, + {8573, 2187}, + {8581, 7968}, + {8597, 7116}, + {8599, 5140}, + {8609, 3838}, + {8623, 7606}, + {8627, 8509}, + {8629, 5673}, + {8641, 7700}, + {8647, 1392}, + {8663, 6747}, + {8669, 327}, + {8677, 4888}, + {8681, 1983}, + {8689, 5005}, + {8693, 8149}, + {8699, 3159}, + {8707, 4520}, + {8713, 2700}, + {8719, 4933}, + {8731, 508}, + {8737, 4289}, + {8741, 6961}, + {8747, 4800}, + {8753, 777}, + {8761, 7098}, + {8779, 709}, + {8783, 4682}, + {8803, 8631}, + {8807, 8383}, + {8819, 5643}, + {8821, 4102}, + {8831, 480}, + {8837, 1594}, + {8839, 7959}, + {8849, 2009}, + {8861, 3498}, + {8863, 1850}, + {8867, 4919}, + {8887, 4245}, + {8893, 6687}, + {8923, 6119}, + {8929, 4724}, + {8933, 1672}, + {8941, 7945}, + {8951, 4734}, + {8963, 2723}, + {8969, 1194}, + {8971, 8068}, + {8999, 4567}, + {9001, 3291}, + {9007, 5742}, + {9011, 3717}, + {9013, 8506}, + {9029, 79}, + {9041, 7367}, + {9043, 5858}, + {9049, 6487}, + {9059, 77}, + {9067, 4725}, + {9091, 8739}, + {9103, 9057}, + {9109, 3113}, + {9127, 6940}, + {9133, 499}, + {9137, 5459}, + {9151, 4532}, + {9157, 6000}, + {9161, 6815}, + {9173, 2001}, + {9181, 7984}, + {9187, 9147}, + {9199, 1933}, + {9203, 4745}, + {9209, 8135}, + {9221, 112}, + {9227, 4750}, + {9239, 7107}, + {9241, 4265}, + {9257, 2220}, + {9277, 2353}, + {9281, 5189}, + {9283, 6709}, + {9293, 2185}, + {9311, 4943}, + {9319, 4537}, + {9323, 6800}, + {9337, 7671}, + {9341, 4546}, + {9343, 5917}, + {9349, 7594}, + {9371, 8331}, + {9377, 1490}, + {9391, 598}, + {9397, 5594}, + {9403, 9332}, + {9413, 7404}, + {9419, 2376}, + {9421, 2094}, + {9431, 5572}, + {9433, 5835}, + {9437, 1146}, + {9439, 4652}, + {9461, 1854}, + {9463, 803}, + {9467, 1989}, + {9473, 5620}, + {9479, 180}, + {9491, 4427}, + {9497, 6879}, + {9511, 6050}, + {9521, 5171}, + {9533, 2270}, + {9539, 6199}, + {9547, 1885}, + {9551, 6702}, + {9587, 5328}, + {9601, 4153}, + {9613, 7238}, + {9619, 3602}, + {9623, 8158}, + {9629, 8001}, + {9631, 36}, + {9643, 3453}, + {9649, 960}, + {9661, 7195}, + {9677, 3911}, + {9679, 8580}, + {9689, 5994}, + {9697, 2290}, + {9719, 9321}, + {9721, 8070}, + {9733, 6638}, + {9739, 5729}, + {9743, 7958}, + {9749, 6932}, + {9767, 8243}, + {9769, 7901}, + {9781, 210}, + {9787, 2871}, + {9791, 7917}, + {9803, 7297}, + {9811, 1894}, + {9817, 5947}, + {9829, 4557}, + {9833, 2199}, + {9839, 3342}, + {9851, 8679}, + {9857, 2679}, + {9859, 9168}, + {9871, 6989}, + {9883, 3223}, + {9887, 7643}, + {9901, 4080}, + {9907, 521}, + {9923, 2975}, + {9929, 6936}, + {9931, 8852}, + {9941, 3974}, + {9949, 965}, + {9967, 9600}, + {9973, 9681}, + {10007, 278}, + {10009, 9175}, + {10037, 5731}, + {10039, 4356}, + {10061, 8565}, + {10067, 6520}, + {10069, 6670}, + {10079, 4370}, + {10091, 1360}, + {10093, 3415}, + {10099, 8917}, + {10103, 2055}, + {10111, 7967}, + {10133, 611}, + {10139, 1251}, + {10141, 3490}, + {10151, 10145}, + {10159, 5017}, + {10163, 5707}, + {10169, 9684}, + {10177, 1102}, + {10181, 5026}, + {10193, 803}, + {10211, 1723}, + {10223, 10219}, + {10243, 7587}, + {10247, 8341}, + {10253, 10144}, + {10259, 1727}, + {10267, 263}, + {10271, 1256}, + {10273, 3050}, + {10289, 126}, + {10301, 9006}, + {10303, 6350}, + {10313, 10157}, + {10321, 8764}, + {10331, 2218}, + {10333, 9184}, + {10337, 6620}, + {10343, 4439}, + {10357, 9673}, + {10369, 8003}, + {10391, 25}, + {10399, 10174}, + {10427, 5649}, + {10429, 699}, + {10433, 2896}, + {10453, 6774}, + {10457, 5788}, + {10459, 10426}, + {10463, 1407}, + {10477, 10434}, + {10487, 6242}, + {10499, 3047}, + {10501, 1285}, + {10513, 2050}, + {10529, 3863}, + {10531, 1265}, + {10559, 6730}, + {10567, 4678}, + {10589, 2568}, + {10597, 2222}, + {10601, 6160}, + {10607, 496}, + {10613, 3545}, + {10627, 6090}, + {10631, 6812}, + {10639, 4712}, + {10651, 9132}, + {10657, 792}, + {10663, 777}, + {10667, 3051}, + {10687, 909}, + {10691, 5980}, + {10709, 3239}, + {10711, 5861}, + {10723, 8521}, + {10729, 1389}, + {10733, 9032}, + {10739, 2945}, + {10753, 7715}, + {10771, 3575}, + {10781, 691}, + {10789, 292}, + {10799, 8868}, + {10831, 3319}, + {10837, 5282}, + {10847, 6673}, + {10853, 1988}, + {10859, 971}, + {10861, 4736}, + {10867, 7400}, + {10883, 2567}, + {10889, 2842}, + {10891, 8228}, + {10903, 4781}, + {10909, 6311}, + {10937, 2164}, + {10939, 2774}, + {10949, 7654}, + {10957, 2396}, + {10973, 7491}, + {10979, 203}, + {10987, 5978}, + {10993, 9227}, + {11003, 1639}, + {11027, 3176}, + {11047, 3511}, + {11057, 5855}, + {11059, 4318}, + {11069, 3370}, + {11071, 7905}, + {11083, 4024}, + {11087, 7164}, + {11093, 8260}, + {11113, 424}, + {11117, 10368}, + {11119, 1981}, + {11131, 681}, + {11149, 8967}, + {11159, 4894}, + {11161, 4248}, + {11171, 6773}, + {11173, 8993}, + {11177, 4266}, + {11197, 7717}, + {11213, 9884}, + {11239, 5730}, + {11243, 2753}, + {11251, 5454}, + {11257, 8360}, + {11261, 1408}, + {11273, 3208}, + {11279, 417}, + {11287, 9383}, + {11299, 9288}, + {11311, 3048}, + {11317, 6997}, + {11321, 5323}, + {11329, 10634}, + {11351, 9031}, + {11353, 9756}, + {11369, 11247}, + {11383, 1978}, + {11393, 9650}, + {11399, 4316}, + {11411, 4422}, + {11423, 64}, + {11437, 6717}, + {11443, 7447}, + {11447, 6619}, + {11467, 6411}, + {11471, 10960}, + {11483, 4934}, + {11489, 8921}, + {11491, 8004}, + {11497, 2382}, + {11503, 5182}, + {11519, 9068}, + {11527, 4366}, + {11549, 11327}, + {11551, 5109}, + {11579, 1313}, + {11587, 5390}, + {11593, 6372}, + {11597, 10387}, + {11617, 5285}, + {11621, 4158}, + {11633, 9156}, + {11657, 1829}, + {11677, 9366}, + {11681, 10160}, + {11689, 8508}, + {11699, 228}, + {11701, 11321}, + {11717, 8329}, + {11719, 4}, + {11731, 5089}, + {11743, 9748}, + {11777, 436}, + {11779, 10318}, + {11783, 9483}, + {11789, 904}, + {11801, 3462}, + {11807, 3784}, + {11813, 11534}, + {11821, 10020}, + {11827, 9826}, + {11831, 5288}, + {11833, 747}, + {11839, 8082}, + {11863, 1457}, + {11867, 8978}, + {11887, 6438}, + {11897, 6383}, + {11903, 2326}, + {11909, 9955}, + {11923, 8748}, + {11927, 11043}, + {11933, 8051}, + {11939, 507}, + {11941, 11756}, + {11953, 11406}, + {11959, 11079}, + {11969, 8935}, + {11971, 9606}, + {11981, 8464}, + {11987, 3692}, + {12007, 1681}, + {12011, 10810}, + {12037, 10737}, + {12041, 5024}, + {12043, 10761}, + {12049, 7783}, + {12071, 7795}, + {12073, 6274}, + {12097, 3316}, + {12101, 10483}, + {12107, 548}, + {12109, 10973}, + {12113, 6920}, + {12119, 3160}, + {12143, 1548}, + {12149, 3893}, + {12157, 5391}, + {12161, 5803}, + {12163, 8353}, + {12197, 4503}, + {12203, 9181}, + {12211, 7615}, + {12227, 7467}, + {12239, 3607}, + {12241, 9734}, + {12251, 7489}, + {12253, 9899}, + {12263, 4871}, + {12269, 9925}, + {12277, 2145}, + {12281, 9455}, + {12289, 11486}, + {12301, 12135}, + {12323, 7794}, + {12329, 1124}, + {12343, 9013}, + {12347, 4913}, + {12373, 6399}, + {12377, 6826}, + {12379, 3201}, + {12391, 10073}, + {12401, 11926}, + {12409, 10718}, + {12413, 3241}, + {12421, 4771}, + {12433, 1704}, + {12437, 9139}, + {12451, 2130}, + {12457, 1660}, + {12473, 1967}, + {12479, 9724}, + {12487, 1112}, + {12491, 6887}, + {12497, 10263}, + {12503, 11324}, + {12511, 2259}, + {12517, 7939}, + {12527, 12437}, + {12539, 69}, + {12541, 2136}, + {12547, 6175}, + {12553, 8091}, + {12569, 2841}, + {12577, 7820}, + {12583, 1558}, + {12589, 12565}, + {12601, 7490}, + {12611, 9813}, + {12613, 2680}, + {12619, 7877}, + {12637, 2675}, + {12641, 5388}, + {12647, 8829}, + {12653, 8107}, + {12659, 10857}, + {12671, 9385}, + {12689, 11019}, + {12697, 3861}, + {12703, 1649}, + {12713, 4202}, + {12721, 5833}, + {12739, 11388}, + {12743, 11134}, + {12757, 5810}, + {12763, 6062}, + {12781, 4539}, + {12791, 133}, + {12799, 7024}, + {12809, 6427}, + {12821, 271}, + {12823, 5213}, + {12829, 2872}, + {12841, 12161}, + {12853, 12772}, + {12889, 7244}, + {12893, 6947}, + {12899, 10818}, + {12907, 3451}, + {12911, 7254}, + {12917, 12279}, + {12919, 8032}, + {12923, 3074}, + {12941, 3066}, + {12953, 11476}, + {12959, 26}, + {12967, 8694}, + {12973, 11673}, + {12979, 12575}, + {12983, 4288}, + {13001, 6022}, + {13003, 3565}, + {13007, 1102}, + {13009, 8754}, + {13033, 10106}, + {13037, 8551}, + {13043, 692}, + {13049, 1320}, + {13063, 10126}, + {13093, 1147}, + {13099, 12194}, + {13103, 1906}, + {13109, 429}, + {13121, 2119}, + {13127, 1899}, + {13147, 9189}, + {13151, 10358}, + {13159, 5368}, + {13163, 2158}, + {13171, 5490}, + {13177, 7706}, + {13183, 9442}, + {13187, 9397}, + {13217, 6365}, + {13219, 8410}, + {13229, 2336}, + {13241, 6530}, + {13249, 3105}, + {13259, 6974}, + {13267, 2646}, + {13291, 10081}, + {13297, 8002}, + {13309, 4083}, + {13313, 703}, + {13327, 1280}, + {13331, 12291}, + {13337, 1533}, + {13339, 9086}, + {13367, 1680}, + {13381, 12385}, + {13397, 8399}, + {13399, 9843}, + {13411, 3567}, + {13417, 2056}, + {13421, 7202}, + {13441, 11937}, + {13451, 9526}, + {13457, 10191}, + {13463, 2456}, + {13469, 4612}, + {13477, 12937}, + {13487, 13188}, + {13499, 13371}, + {13513, 2365}, + {13523, 6459}, + {13537, 8187}, + {13553, 3058}, + {13567, 8771}, + {13577, 12981}, + {13591, 4382}, + {13597, 8950}, + {13613, 1664}, + {13619, 3245}, + {13627, 2922}, + {13633, 8147}, + {13649, 5894}, + {13669, 1913}, + {13679, 8008}, + {13681, 2337}, + {13687, 7659}, + {13691, 9737}, + {13693, 5276}, + {13697, 12220}, + {13709, 4927}, + {13711, 8434}, + {13721, 13497}, + {13723, 9959}, + {13729, 6276}, + {13751, 4168}, + {13757, 2399}, + {13759, 12884}, + {13763, 13572}, + {13781, 11842}, + {13789, 3817}, + {13799, 5142}, + {13807, 1533}, + {13829, 8493}, + {13831, 7209}, + {13841, 9218}, + {13859, 12260}, + {13873, 8332}, + {13877, 9199}, + {13879, 12109}, + {13883, 3552}, + {13901, 9376}, + {13903, 2027}, + {13907, 10049}, + {13913, 11298}, + {13921, 5521}, + {13931, 3645}, + {13933, 6482}, + {13963, 10454}, + {13967, 5146}, + {13997, 11376}, + {13999, 10997}, + {14009, 12935}, + {14011, 11131}, + {14029, 13764}, + {14033, 2942}, + {14051, 8842}, + {14057, 3329}, + {14071, 5830}, + {14081, 10883}, + {14083, 2820}, + {14087, 13254}, + {14107, 8042}, + {14143, 12588}, + {14149, 12652}, + {14153, 12624}, + {14159, 3211}, + {14173, 10190}, + {14177, 10453}, + {14197, 6324}, + {14207, 8442}, + {14221, 12168}, + {14243, 8240}, + {14249, 13484}, + {14251, 8275}, + {14281, 11185}, + {14293, 11133}, + {14303, 11011}, + {14321, 11512}, + {14323, 7547}, + {14327, 13809}, + {14341, 5838}, + {14347, 11418}, + {14369, 11875}, + {14387, 7162}, + {14389, 12191}, + {14401, 10833}, + {14407, 12538}, + {14411, 12207}, + {14419, 12789}, + {14423, 2415}, + {14431, 4451}, + {14437, 9301}, + {14447, 12568}, + {14449, 12812}, + {14461, 4630}, + {14479, 9566}, + {14489, 12640}, + {14503, 825}, + {14519, 6063}, + {14533, 1941}, + {14537, 3007}, + {14543, 13869}, + {14549, 4008}, + {14551, 98}, + {14557, 14410}, + {14561, 7501}, + {14563, 5884}, + {14591, 14320}, + {14593, 134}, + {14621, 8883}, + {14627, 8845}, + {14629, 469}, + {14633, 7848}, + {14639, 14566}, + {14653, 10418}, + {14657, 14570}, + {14669, 13625}, + {14683, 1664}, + {14699, 1285}, + {14713, 1017}, + {14717, 9550}, + {14723, 3561}, + {14731, 5375}, + {14737, 3068}, + {14741, 12932}, + {14747, 13956}, + {14753, 1457}, + {14759, 3524}, + {14767, 14179}, + {14771, 8513}, + {14779, 7867}, + {14783, 2047}, + {14797, 10139}, + {14813, 7434}, + {14821, 1251}, + {14827, 9119}, + {14831, 3073}, + {14843, 10841}, + {14851, 5671}, + {14867, 8099}, + {14869, 5334}, + {14879, 3077}, + {14887, 8970}, + {14891, 8121}, + {14897, 6549}, + {14923, 588}, + {14929, 12477}, + {14939, 5037}, + {14947, 577}, + {14951, 4935}, + {14957, 10154}, + {14969, 6793}, + {14983, 11764}, + {15013, 2815}, + {15017, 8447}, + {15031, 822}, + {15053, 10547}, + {15061, 4461}, + {15073, 1072}, + {15077, 4286}, + {15083, 10730}, + {15091, 6230}, + {15101, 13806}, + {15107, 10735}, + {15121, 10574}, + {15131, 12832}, + {15137, 10934}, + {15139, 3098}, + {15149, 7306}, + {15161, 5932}, + {15173, 3037}, + {15187, 298}, + {15193, 8290}, + {15199, 8250}, + {15217, 3776}, + {15227, 2469}, + {15233, 987}, + {15241, 1020}, + {15259, 2650}, + {15263, 12055}, + {15269, 15006}, + {15271, 7807}, + {15277, 9949}, + {15287, 10840}, + {15289, 13343}, + {15299, 5892}, + {15307, 7778}, + {15313, 1548}, + {15319, 13549}, + {15329, 13480}, + {15331, 10158}, + {15349, 12023}, + {15359, 10710}, + {15361, 12614}, + {15373, 11621}, + {15377, 600}, + {15383, 10905}, + {15391, 11620}, + {15401, 11057}, + {15413, 760}, + {15427, 5743}, + {15439, 11866}, + {15443, 10369}, + {15451, 5329}, + {15461, 15448}, + {15467, 5351}, + {15473, 11761}, + {15493, 8415}, + {15497, 9553}, + {15511, 5156}, + {15527, 10762}, + {15541, 13639}, + {15551, 1389}, + {15559, 4544}, + {15569, 6692}, + {15581, 13451}, + {15583, 13714}, + {15601, 10333}, + {15607, 9092}, + {15619, 14103}, + {15629, 15594}, + {15641, 14120}, + {15643, 3945}, + {15647, 294}, + {15649, 7951}, + {15661, 14464}, + {15667, 14018}, + {15671, 1932}, + {15679, 7931}, + {15683, 14964}, + {15727, 15415}, + {15731, 6929}, + {15733, 9677}, + {15737, 15282}, + {15739, 13095}, + {15749, 15226}, + {15761, 14496}, + {15767, 12850}, + {15773, 6214}, + {15787, 2707}, + {15791, 4108}, + {15797, 15143}, + {15803, 6064}, + {15809, 14139}, + {15817, 5426}, + {15823, 2465}, + {15859, 14795}, + {15877, 13623}, + {15881, 13591}, + {15887, 13662}, + {15889, 7565}, + {15901, 4821}, + {15907, 8941}, + {15913, 9589}, + {15919, 13698}, + {15923, 2865}, + {15937, 659}, + {15959, 5357}, + {15971, 13321}, + {15973, 8197}, + {15991, 1194}, + {16001, 12303}, + {16007, 1660}, + {16033, 15027}, + {16057, 2637}, + {16061, 14443}, + {16063, 6129}, + {16067, 21}, + {16069, 13502}, + {16073, 3177}, + {16087, 15800}, + {16091, 11042}, + {16097, 4584}, + {16103, 1345}, + {16111, 13081}, + {16127, 9744}, + {16139, 3394}, + {16141, 6861}, + {16183, 10653}, + {16187, 10419}, + {16189, 1360}, + {16193, 2586}, + {16217, 5169}, + {16223, 10366}, + {16229, 2428}, + {16231, 6125}, + {16249, 14473}, + {16253, 5916}, + {16267, 12426}, + {16273, 9367}, + {16301, 4774}, + {16319, 2201}, + {16333, 14011}, + {16339, 634}, + {16349, 9469}, + {16361, 9981}, + {16363, 7919}, + {16369, 14678}, + {16381, 5212}, + {16411, 8398}, + {16417, 10306}, + {16421, 14291}, + {16427, 842}, + {16433, 1508}, + {16447, 6706}, + {16451, 14313}, + {16453, 13062}, + {16477, 8640}, + {16481, 10614}, + {16487, 5498}, + {16493, 2395}, + {16519, 5699}, + {16529, 4281}, + {16547, 15957}, + {16553, 13078}, + {16561, 6750}, + {16567, 9403}, + {16573, 16452}, + {16603, 12613}, + {16607, 12141}, + {16619, 8044}, + {16631, 256}, + {16633, 2047}, + {16649, 13726}, + {16651, 7739}, + {16657, 123}, + {16661, 2466}, + {16673, 13939}, + {16691, 1149}, + {16693, 10601}, + {16699, 13827}, + {16703, 10923}, + {16729, 15803}, + {16741, 2266}, + {16747, 4026}, + {16759, 14538}, + {16763, 9229}, + {16787, 3594}, + {16811, 1913}, + {16823, 14598}, + {16829, 6704}, + {16831, 4670}, + {16843, 630}, + {16871, 5771}, + {16879, 16244}, + {16883, 862}, + {16889, 6517}, + {16901, 14962}, + {16903, 10232}, + {16921, 12137}, + {16927, 10233}, + {16931, 13868}, + {16937, 11219}, + {16943, 12671}, + {16963, 13039}, + {16979, 14138}, + {16981, 11018}, + {16987, 11839}, + {16993, 1599}, + {17011, 14483}, + {17021, 1312}, + {17027, 8102}, + {17029, 4884}, + {17033, 14274}, + {17041, 7201}, + {17047, 7155}, + {17053, 14799}, + {17077, 14755}, + {17093, 3353}, + {17099, 15297}, + {17107, 8761}, + {17117, 8132}, + {17123, 8264}, + {17137, 3619}, + {17159, 7354}, + {17167, 9109}, + {17183, 16009}, + {17189, 13802}, + {17191, 8239}, + {17203, 4115}, + {17207, 5910}, + {17209, 12543}, + {17231, 3467}, + {17239, 12750}, + {17257, 10954}, + {17291, 14802}, + {17293, 6594}, + {17299, 11023}, + {17317, 7264}, + {17321, 15031}, + {17327, 10746}, + {17333, 7729}, + {17341, 15288}, + {17351, 13302}, + {17359, 162}, + {17377, 1899}, + {17383, 902}, + {17387, 15308}, + {17389, 5630}, + {17393, 9363}, + {17401, 6849}, + {17417, 9362}, + {17419, 16929}, + {17431, 13195}, + {17443, 2395}, + {17449, 13973}, + {17467, 9591}, + {17471, 3812}, + {17477, 1843}, + {17483, 4508}, + {17489, 10138}, + {17491, 13022}, + {17497, 14812}, + {17509, 10514}, + {17519, 9976}, + {17539, 3484}, + {17551, 17038}, + {17569, 13525}, + {17573, 10838}, + {17579, 10177}, + {17581, 12707}, + {17597, 10786}, + {17599, 12313}, + {17609, 6443}, + {17623, 87}, + {17627, 8951}, + {17657, 4111}, + {17659, 17568}, + {17669, 11981}, + {17681, 8649}, + {17683, 6226}, + {17707, 2081}, + {17713, 2233}, + {17729, 13536}, + {17737, 10355}, + {17747, 12806}, + {17749, 17396}, + {17761, 16714}, + {17783, 10439}, + {17789, 16985}, + {17791, 8100}, + {17807, 7895}, + {17827, 17785}, + {17837, 10648}, + {17839, 3802}, + {17851, 15323}, + {17863, 11634}, + {17881, 7681}, + {17891, 8220}, + {17903, 1549}, + {17909, 6186}, + {17911, 8763}, + {17921, 15122}, + {17923, 12631}, + {17929, 15844}, + {17939, 14794}, + {17957, 4136}, + {17959, 1872}, + {17971, 2428}, + {17977, 17122}, + {17981, 1871}, + {17987, 15405}, + {17989, 5986}, + {18013, 12429}, + {18041, 4824}, + {18043, 7975}, + {18047, 10237}, + {18049, 786}, + {18059, 17112}, + {18061, 63}, + {18077, 14385}, + {18089, 13847}, + {18097, 1363}, + {18119, 13069}, + {18121, 16564}, + {18127, 10053}, + {18131, 1067}, + {18133, 3871}, + {18143, 3781}, + {18149, 5036}, + {18169, 15203}, + {18181, 9163}, + {18191, 1225}, + {18199, 5515}, + {18211, 6572}, + {18217, 14093}, + {18223, 7827}, + {18229, 8324}, + {18233, 2930}, + {18251, 15952}, + {18253, 13014}, + {18257, 13899}, + {18269, 9997}, + {18287, 16822}, + {18289, 3263}, + {18301, 16500}, + {18307, 2499}, + {18311, 13727}, + {18313, 717}, + {18329, 14342}, + {18341, 406}, + {18353, 17397}, + {18367, 4076}, + {18371, 16167}, + {18379, 12262}, + {18397, 17715}, + {18401, 5196}, + {18413, 5433}, + {18427, 9842}, + {18433, 15748}, + {18439, 5293}, + {18443, 5253}, + {18451, 11746}, + {18457, 5926}, + {18461, 14425}, + {18481, 14216}, + {18493, 11818}, + {18503, 6869}, + {18517, 6121}, + {18521, 6081}, + {18523, 3413}, + {18539, 991}, + {18541, 18050}, + {18553, 782}, + {18583, 3192}, + {18587, 1844}, + {18593, 3025}, + {18617, 17279}, + {18637, 16829}, + {18661, 14196}, + {18671, 3850}, + {18679, 17827}, + {18691, 2712}, + {18701, 15173}, + {18713, 2465}, + {18719, 8995}, + {18731, 17382}, + {18743, 17219}, + {18749, 445}, + {18757, 8730}, + {18773, 138}, + {18787, 9490}, + {18793, 8452}, + {18797, 3015}, + {18803, 6708}, + {18839, 4517}, + {18859, 2710}, + {18869, 6970}, + {18899, 13018}, + {18911, 10814}, + {18913, 15459}, + {18917, 13466}, + {18919, 8039}, + {18947, 7331}, + {18959, 682}, + {18973, 4183}, + {18979, 945}, + {19001, 18482}, + {19009, 8063}, + {19013, 12068}, + {19031, 5141}, + {19037, 17336}, + {19051, 13936}, + {19069, 17642}, + {19073, 10134}, + {19079, 12351}, + {19081, 972}, + {19087, 1490}, + {19121, 3279}, + {19139, 19034}, + {19141, 9360}, + {19157, 17962}, + {19163, 1323}, + {19181, 17996}, + {19183, 2586}, + {19207, 9635}, + {19211, 13682}, + {19213, 8305}, + {19219, 15376}, + {19231, 17862}, + {19237, 8300}, + {19249, 13203}, + {19259, 8052}, + {19267, 3015}, + {19273, 14444}, + {19289, 12723}, + {19301, 11977}, + {19309, 3879}, + {19319, 3918}, + {19333, 12490}, + {19373, 13090}, + {19379, 17298}, + {19381, 15615}, + {19387, 1465}, + {19391, 5955}, + {19403, 3433}, + {19417, 8077}, + {19421, 18551}, + {19423, 13659}, + {19427, 13339}, + {19429, 3282}, + {19433, 10500}, + {19441, 9866}, + {19447, 741}, + {19457, 16698}, + {19463, 5981}, + {19469, 6472}, + {19471, 2193}, + {19477, 2469}, + {19483, 9935}, + {19489, 18235}, + {19501, 7471}, + {19507, 12504}, + {19531, 8980}, + {19541, 3556}, + {19543, 3025}, + {19553, 14745}, + {19559, 7347}, + {19571, 14740}, + {19577, 1996}, + {19583, 9911}, + {19597, 9258}, + {19603, 4082}, + {19609, 16643}, + {19661, 19232}, + {19681, 14156}, + {19687, 6316}, + {19697, 16963}, + {19699, 10545}, + {19709, 17755}, + {19717, 15086}, + {19727, 2637}, + {19739, 7247}, + {19751, 19029}, + {19753, 14488}, + {19759, 12403}, + {19763, 14316}, + {19777, 15043}, + {19793, 4723}, + {19801, 14361}, + {19813, 13097}, + {19819, 11520}, + {19841, 3898}, + {19843, 2784}, + {19853, 12740}, + {19861, 15843}, + {19867, 3744}, + {19889, 8072}, + {19891, 12464}, + {19913, 5428}, + {19919, 19163}, + {19927, 10892}, + {19937, 8207}, + {19949, 18310}, + {19961, 1748}, + {19963, 2043}, + {19973, 18344}, + {19979, 14700}, + {19991, 6319}, + {19993, 3579}, + {19997, 12317}, + {20011, 17417}, + {20021, 16684}, + {20023, 14461}, + {20029, 15949}, + {20047, 9776}, + {20051, 539}, + {20063, 15786}, + {20071, 15414}, + {20089, 7036}, + {20101, 1034}, + {20107, 9052}, + {20113, 2415}, + {20117, 795}, + {20123, 14034}, + {20129, 6802}, + {20143, 19679}, + {20147, 8540}, + {20149, 807}, + {20161, 18469}, + {20173, 9647}, + {20177, 19513}, + {20183, 5799}, + {20201, 5785}, + {20219, 11261}, + {20231, 8901}, + {20233, 18539}, + {20249, 14752}, + {20261, 19070}, + {20269, 1723}, + {20287, 18932}, + {20297, 1380}, + {20323, 18322}, + {20327, 19389}, + {20333, 10448}, + {20341, 2672}, + {20347, 11335}, + {20353, 7039}, + {20357, 8024}, + {20359, 19288}, + {20369, 107}, + {20389, 17967}, + {20393, 975}, + {20399, 15223}, + {20407, 18412}, + {20411, 7665}, + {20431, 16711}, + {20441, 5527}, + {20443, 3971}, + {20477, 12449}, + {20479, 989}, + {20483, 11318}, + {20507, 5804}, + {20509, 4243}, + {20521, 7011}, + {20533, 527}, + {20543, 15548}, + {20549, 2130}, + {20551, 15023}, + {20563, 11102}, + {20593, 12944}, + {20599, 3279}, + {20611, 10259}, + {20627, 15626}, + {20639, 14165}, + {20641, 11506}, + {20663, 11242}, + {20681, 19393}, + {20693, 19212}, + {20707, 427}, + {20717, 322}, + {20719, 4540}, + {20731, 9656}, + {20743, 15727}, + {20747, 566}, + {20749, 3961}, + {20753, 10301}, + {20759, 5164}, + {20771, 12635}, + {20773, 10598}, + {20789, 5997}, + {20807, 14193}, + {20809, 15354}, + {20849, 18355}, + {20857, 11093}, + {20873, 1978}, + {20879, 5319}, + {20887, 8725}, + {20897, 14531}, + {20899, 3713}, + {20903, 20686}, + {20921, 8541}, + {20929, 3964}, + {20939, 16515}, + {20947, 2399}, + {20959, 12905}, + {20963, 4798}, + {20981, 695}, + {20983, 12576}, + {21001, 15567}, + {21011, 8562}, + {21013, 1379}, + {21017, 16945}, + {21019, 7094}, + {21023, 2365}, + {21031, 5100}, + {21059, 17914}, + {21061, 12992}, + {21067, 9400}, + {21089, 18166}, + {21101, 4662}, + {21107, 1356}, + {21121, 5106}, + {21139, 9732}, + {21143, 5758}, + {21149, 6291}, + {21157, 14666}, + {21163, 4132}, + {21169, 7520}, + {21179, 7416}, + {21187, 6321}, + {21191, 18003}, + {21193, 12072}, + {21211, 2336}, + {21221, 16624}, + {21227, 16335}, + {21247, 4609}, + {21269, 19989}, + {21277, 14069}, + {21283, 4283}, + {21313, 1239}, + {21317, 9382}, + {21319, 5353}, + {21323, 4923}, + {21341, 3713}, + {21347, 17387}, + {21377, 15719}, + {21379, 19368}, + {21383, 12595}, + {21391, 13842}, + {21397, 19364}, + {21401, 1981}, + {21407, 18580}, + {21419, 4269}, + {21433, 19767}, + {21467, 3202}, + {21481, 18734}, + {21487, 13419}, + {21491, 19750}, + {21493, 7444}, + {21499, 14902}, + {21503, 3579}, + {21517, 10380}, + {21521, 6636}, + {21523, 7234}, + {21529, 15154}, + {21557, 5159}, + {21559, 19348}, + {21563, 8662}, + {21569, 8603}, + {21577, 21219}, + {21587, 287}, + {21589, 649}, + {21599, 5524}, + {21601, 8200}, + {21611, 17982}, + {21613, 2865}, + {21617, 282}, + {21647, 1142}, + {21649, 8707}, + {21661, 21650}, + {21673, 9639}, + {21683, 10898}, + {21701, 11255}, + {21713, 16786}, + {21727, 13634}, + {21737, 12835}, + {21739, 16632}, + {21751, 10620}, + {21757, 20494}, + {21767, 1518}, + {21773, 7947}, + {21787, 20778}, + {21799, 21654}, + {21803, 11089}, + {21817, 5174}, + {21821, 12320}, + {21839, 9927}, + {21841, 7942}, + {21851, 5237}, + {21859, 3556}, + {21863, 12703}, + {21871, 18151}, + {21881, 16059}, + {21893, 8975}, + {21911, 6116}, + {21929, 7235}, + {21937, 18483}, + {21943, 12976}, + {21961, 21895}, + {21977, 21627}, + {21991, 13703}, + {21997, 4942}, + {22003, 1988}, + {22013, 14390}, + {22027, 21513}, + {22031, 17176}, + {22037, 2522}, + {22039, 1923}, + {22051, 7363}, + {22063, 15758}, + {22067, 1087}, + {22073, 12169}, + {22079, 7676}, + {22091, 7369}, + {22093, 11757}, + {22109, 5163}, + {22111, 17312}, + {22123, 10795}, + {22129, 3926}, + {22133, 3413}, + {22147, 12736}, + {22153, 978}, + {22157, 610}, + {22159, 5254}, + {22171, 8732}, + {22189, 17935}, + {22193, 4298}, + {22229, 17538}, + {22247, 13864}, + {22259, 11441}, + {22271, 1522}, + {22273, 6991}, + {22277, 21466}, + {22279, 16166}, + {22283, 18323}, + {22291, 15304}, + {22303, 1848}, + {22307, 9879}, + {22343, 20437}, + {22349, 7608}, + {22367, 17000}, + {22369, 14181}, + {22381, 15036}, + {22391, 19358}, + {22397, 21962}, + {22409, 15363}, + {22433, 13488}, + {22441, 21701}, + {22447, 14624}, + {22453, 21504}, + {22469, 5696}, + {22481, 711}, + {22483, 1672}, + {22501, 10531}, + {22511, 4282}, + {22531, 1491}, + {22541, 6016}, + {22543, 18488}, + {22549, 20794}, + {22567, 12583}, + {22571, 12129}, + {22573, 2654}, + {22613, 6356}, + {22619, 16891}, + {22621, 15717}, + {22637, 3744}, + {22639, 6182}, + {22643, 7716}, + {22651, 7767}, + {22669, 17553}, + {22679, 22362}, + {22691, 5597}, + {22697, 4967}, + {22699, 17820}, + {22709, 18257}, + {22717, 11322}, + {22721, 4600}, + {22727, 13482}, + {22739, 6781}, + {22741, 670}, + {22751, 3964}, + {22769, 15951}, + {22777, 8519}, + {22783, 727}, + {22787, 15168}, + {22807, 16499}, + {22811, 16451}, + {22817, 6019}, + {22853, 13341}, + {22859, 7205}, + {22861, 16272}, + {22871, 22629}, + {22877, 11257}, + {22901, 3687}, + {22907, 808}, + {22921, 10968}, + {22937, 22228}, + {22943, 4873}, + {22961, 13755}, + {22963, 18431}, + {22973, 12057}, + {22993, 5678}, + {23003, 12067}, + {23011, 8741}, + {23017, 32}, + {23021, 7386}, + {23027, 5229}, + {23029, 18775}, + {23039, 22763}, + {23041, 15606}, + {23053, 22355}, + {23057, 21469}, + {23059, 411}, + {23063, 9230}, + {23071, 6701}, + {23081, 4719}, + {23087, 12773}, + {23099, 7996}, + {23117, 6433}, + {23131, 1808}, + {23143, 17616}, + {23159, 11036}, + {23167, 10094}, + {23173, 1868}, + {23189, 1894}, + {23197, 14597}, + {23201, 15753}, + {23203, 4878}, + {23209, 9033}, + {23227, 9250}, + {23251, 9529}, + {23269, 10300}, + {23279, 10349}, + {23291, 21823}, + {23293, 9929}, + {23297, 141}, + {23311, 16831}, + {23321, 5467}, + {23327, 415}, + {23333, 3971}, + {23339, 13908}, + {23357, 21410}, + {23369, 17632}, + {23371, 10372}, + {23399, 16106}, + {23417, 6458}, + {23431, 10621}, + {23447, 21147}, + {23459, 6527}, + {23473, 2326}, + {23497, 21018}, + {23509, 21327}, + {23531, 16171}, + {23537, 17660}, + {23539, 1854}, + {23549, 19097}, + {23557, 2845}, + {23561, 20752}, + {23563, 3353}, + {23567, 10025}, + {23581, 20483}, + {23593, 6109}, + {23599, 3898}, + {23603, 3846}, + {23609, 14063}, + {23623, 919}, + {23627, 857}, + {23629, 3661}, + {23633, 1366}, + {23663, 18524}, + {23669, 20282}, + {23671, 18226}, + {23677, 4326}, + {23687, 15140}, + {23689, 11894}, + {23719, 6548}, + {23741, 17768}, + {23743, 3177}, + {23747, 22924}, + {23753, 6451}, + {23761, 5222}, + {23767, 2164}, + {23773, 21462}, + {23789, 17533}, + {23801, 23246}, + {23813, 23655}, + {23819, 488}, + {23827, 12869}, + {23831, 6890}, + {23833, 13052}, + {23857, 200}, + {23869, 19126}, + {23873, 14640}, + {23879, 10902}, + {23887, 13844}, + {23893, 4122}, + {23899, 5774}, + {23909, 5655}, + {23911, 14135}, + {23917, 15289}, + {23929, 20453}, + {23957, 2646}, + {23971, 19810}, + {23977, 6836}, + {23981, 15504}, + {23993, 9752}, + {24001, 9183}, + {24007, 17511}, + {24019, 20176}, + {24023, 14414}, + {24029, 18262}, + {24043, 3037}, + {24049, 14237}, + {24061, 13136}, + {24071, 12394}, + {24077, 23441}, + {24083, 8327}, + {24091, 16612}, + {24097, 20664}, + {24103, 15072}, + {24107, 14987}, + {24109, 23485}, + {24113, 13655}, + {24121, 19446}, + {24133, 2524}, + {24137, 5041}, + {24151, 4602}, + {24169, 3467}, + {24179, 19312}, + {24181, 17743}, + {24197, 5259}, + {24203, 5733}, + {24223, 7839}, + {24229, 14041}, + {24239, 7531}, + {24247, 19963}, + {24251, 4722}, + {24281, 17214}, + {24317, 21877}, + {24329, 7881}, + {24337, 21429}, + {24359, 2385}, + {24371, 15044}, + {24373, 18814}, + {24379, 18116}, + {24391, 3868}, + {24407, 10553}, + {24413, 16154}, + {24419, 10868}, + {24421, 18651}, + {24439, 106}, + {24443, 18341}, + {24469, 20389}, + {24473, 16646}, + {24481, 9171}, + {24499, 19331}, + {24509, 12775}, + {24517, 2765}, + {24527, 11732}, + {24533, 20841}, + {24547, 3032}, + {24551, 22231}, + {24571, 10610}, + {24593, 15966}, + {24611, 21978}, + {24623, 11773}, + {24631, 12912}, + {24659, 9817}, + {24671, 18692}, + {24677, 8790}, + {24683, 10877}, + {24691, 21811}, + {24697, 7288}, + {24709, 101}, + {24733, 3921}, + {24749, 1700}, + {24763, 382}, + {24767, 20}, + {24781, 12217}, + {24793, 1367}, + {24799, 14873}, + {24809, 12572}, + {24821, 9972}, + {24841, 3077}, + {24847, 3007}, + {24851, 4243}, + {24859, 12885}, + {24877, 11479}, + {24889, 3073}, + {24907, 8874}, + {24917, 17986}, + {24919, 24106}, + {24923, 6526}, + {24943, 13853}, + {24953, 23379}, + {24967, 14869}, + {24971, 22524}, + {24977, 12727}, + {24979, 9254}, + {24989, 14548}, + {25013, 4082}, + {25031, 19990}, + {25033, 3781}, + {25037, 10519}, + {25057, 22088}, + {25073, 1850}, + {25087, 5041}, + {25097, 16223}, + {25111, 20865}, + {25117, 15755}, + {25121, 23431}, + {25127, 8078}, + {25147, 16069}, + {25153, 1613}, + {25163, 12270}, + {25169, 5513}, + {25171, 7751}, + {25183, 2942}, + {25189, 7174}, + {25219, 14684}, + {25229, 4581}, + {25237, 1989}, + {25243, 24775}, + {25247, 22039}, + {25253, 4878}, + {25261, 3394}, + {25301, 13021}, + {25303, 11601}, + {25307, 19500}, + {25309, 7638}, + {25321, 5236}, + {25339, 20171}, + {25343, 15763}, + {25349, 20658}, + {25357, 14031}, + {25367, 3619}, + {25373, 5763}, + {25391, 4703}, + {25409, 8307}, + {25411, 16126}, + {25423, 24558}, + {25439, 17561}, + {25447, 16731}, + {25453, 14969}, + {25457, 23780}, + {25463, 10394}, + {25469, 11647}, + {25471, 23327}, + {25523, 2680}, + {25537, 15572}, + {25541, 1586}, + {25561, 153}, + {25577, 23100}, + {25579, 8863}, + {25583, 16679}, + {25589, 16789}, + {25601, 3802}, + {25603, 574}, + {25609, 9174}, + {25621, 19977}, + {25633, 20414}, + {25639, 23445}, + {25643, 3871}, + {25657, 24001}, + {25667, 3290}, + {25673, 14205}, + {25679, 24807}, + {25693, 22374}, + {25703, 10569}, + {25717, 3594}, + {25733, 17593}, + {25741, 9193}, + {25747, 22857}, + {25759, 22757}, + {25763, 80}, + {25771, 21555}, + {25793, 14426}, + {25799, 10026}, + {25801, 4562}, + {25819, 20940}, + {25841, 13286}, + {25847, 8955}, + {25849, 7504}, + {25867, 24514}, + {25873, 19106}, + {25889, 9395}, + {25903, 6209}, + {25913, 9704}, + {25919, 10953}, + {25931, 21732}, + {25933, 2505}, + {25939, 9506}, + {25943, 24948}, + {25951, 25011}, + {25969, 6553}, + {25981, 19505}, + {25997, 12117}, + {25999, 8554}, + {26003, 4315}, + {26017, 530}, + {26021, 21424}, + {26029, 22703}, + {26041, 22945}, + {26053, 981}, + {26083, 2982}, + {26099, 16726}, + {26107, 5259}, + {26111, 25000}, + {26113, 5}, + {26119, 7054}, + {26141, 9066}, + {26153, 25470}, + {26161, 20777}, + {26171, 3318}, + {26177, 25394}, + {26183, 13539}, + {26189, 11453}, + {26203, 2001}, + {26209, 3812}, + {26227, 6174}, + {26237, 15479}, + {26249, 15924}, + {26251, 10234}, + {26261, 22225}, + {26263, 7371}, + {26267, 2396}, + {26293, 12705}, + {26297, 8198}, + {26309, 21966}, + {26317, 24763}, + {26321, 4540}, + {26339, 17485}, + {26347, 7413}, + {26357, 357}, + {26371, 13890}, + {26387, 21123}, + {26393, 24860}, + {26399, 5222}, + {26407, 1824}, + {26417, 13883}, + {26423, 14455}, + {26431, 20800}, + {26437, 25589}, + {26449, 9105}, + {26459, 15080}, + {26479, 5326}, + {26489, 18610}, + {26497, 6628}, + {26501, 20469}, + {26513, 22086}, + {26539, 4662}, + {26557, 23397}, + {26561, 4661}, + {26573, 5717}, + {26591, 8113}, + {26597, 10829}, + {26627, 13202}, + {26633, 8191}, + {26641, 24831}, + {26647, 18851}, + {26669, 18510}, + {26681, 22114}, + {26683, 20084}, + {26687, 2341}, + {26693, 17796}, + {26699, 2094}, + {26701, 26314}, + {26711, 26375}, + {26713, 15243}, + {26717, 11038}, + {26723, 15113}, + {26729, 9326}, + {26731, 9620}, + {26737, 16464}, + {26759, 17296}, + {26777, 20305}, + {26783, 7401}, + {26801, 15627}, + {26813, 6224}, + {26821, 817}, + {26833, 21048}, + {26839, 8455}, + {26849, 24281}, + {26861, 13475}, + {26863, 2199}, + {26879, 6579}, + {26881, 6955}, + {26891, 2872}, + {26893, 26025}, + {26903, 6601}, + {26921, 25594}, + {26927, 15032}, + {26947, 15604}, + {26951, 6392}, + {26953, 17911}, + {26959, 19912}, + {26981, 9546}, + {26987, 4942}, + {26993, 17605}, + {27011, 16080}, + {27017, 15062}, + {27031, 26862}, + {27043, 20409}, + {27059, 17990}, + {27061, 18883}, + {27067, 20757}, + {27073, 26970}, + {27077, 1584}, + {27091, 8667}, + {27103, 3058}, + {27107, 10055}, + {27109, 21993}, + {27127, 10627}, + {27143, 14876}, + {27179, 16142}, + {27191, 7291}, + {27197, 27185}, + {27211, 12049}, + {27239, 23484}, + {27241, 3211}, + {27253, 20901}, + {27259, 8492}, + {27271, 2009}, + {27277, 5229}, + {27281, 24083}, + {27283, 5763}, + {27299, 11168}, + {27329, 10409}, + {27337, 14676}, + {27361, 18696}, + {27367, 23598}, + {27397, 21838}, + {27407, 6648}, + {27409, 25043}, + {27427, 12457}, + {27431, 22948}, + {27437, 8293}, + {27449, 12100}, + {27457, 14905}, + {27479, 1263}, + {27481, 3706}, + {27487, 608}, + {27509, 8705}, + {27527, 12617}, + {27529, 13382}, + {27539, 10826}, + {27541, 14238}, + {27551, 7938}, + {27581, 9097}, + {27583, 14713}, + {27611, 9431}, + {27617, 27122}, + {27631, 22186}, + {27647, 24355}, + {27653, 16668}, + {27673, 17256}, + {27689, 18070}, + {27691, 11238}, + {27697, 25937}, + {27701, 6729}, + {27733, 4923}, + {27737, 251}, + {27739, 18867}, + {27743, 3897}, + {27749, 18622}, + {27751, 20314}, + {27763, 13658}, + {27767, 21132}, + {27773, 17212}, + {27779, 14306}, + {27791, 1927}, + {27793, 13999}, + {27799, 24226}, + {27803, 26695}, + {27809, 18315}, + {27817, 10015}, + {27823, 21901}, + {27827, 19885}, + {27847, 14303}, + {27851, 7621}, + {27883, 6224}, + {27893, 15503}, + {27901, 10494}, + {27917, 11980}, + {27919, 7317}, + {27941, 9774}, + {27943, 10969}, + {27947, 20920}, + {27953, 20884}, + {27961, 24525}, + {27967, 4111}, + {27983, 14945}, + {27997, 21645}, + {28001, 8746}, + {28019, 22519}, + {28027, 27093}, + {28031, 23982}, + {28051, 5163}, + {28057, 13577}, + {28069, 24258}, + {28081, 20787}, + {28087, 20010}, + {28097, 13587}, + {28099, 19168}, + {28109, 27681}, + {28111, 10917}, + {28123, 14397}, + {28151, 3105}, + {28163, 16265}, + {28181, 17234}, + {28183, 15934}, + {28201, 27750}, + {28211, 3633}, + {28219, 23112}, + {28229, 529}, + {28277, 6174}, + {28279, 13118}, + {28283, 14526}, + {28289, 27505}, + {28297, 23672}, + {28307, 1762}, + {28309, 6592}, + {28319, 20511}, + {28349, 1834}, + {28351, 26616}, + {28387, 23329}, + {28393, 516}, + {28403, 15070}, + {28409, 24216}, + {28411, 5655}, + {28429, 9318}, + {28433, 16215}, + {28439, 21365}, + {28447, 3329}, + {28463, 16225}, + {28477, 1334}, + {28493, 9802}, + {28499, 954}, + {28513, 8209}, + {28517, 9702}, + {28537, 6169}, + {28541, 4538}, + {28547, 11901}, + {28549, 27696}, + {28559, 18973}, + {28571, 19235}, + {28573, 3074}, + {28579, 7647}, + {28591, 26927}, + {28597, 454}, + {28603, 2270}, + {28607, 8368}, + {28619, 12337}, + {28621, 3245}, + {28627, 24184}, + {28631, 10995}, + {28643, 20491}, + {28649, 14060}, + {28657, 14125}, + {28661, 20763}, + {28663, 4723}, + {28669, 20280}, + {28687, 23160}, + {28697, 11383}, + {28703, 22068}, + {28711, 20902}, + {28723, 1390}, + {28729, 11411}, + {28751, 25632}, + {28753, 24019}, + {28759, 27045}, + {28771, 22081}, + {28789, 5237}, + {28793, 6209}, + {28807, 2220}, + {28813, 7878}, + {28817, 25105}, + {28837, 2532}, + {28843, 28193}, + {28859, 21176}, + {28867, 24877}, + {28871, 6732}, + {28879, 8261}, + {28901, 8262}, + {28909, 17504}, + {28921, 14128}, + {28927, 18181}, + {28933, 12073}, + {28949, 10491}, + {28961, 20908}, + {28979, 19556}, + {29009, 19569}, + {29017, 15375}, + {29021, 5774}, + {29023, 16003}, + {29027, 13667}, + {29033, 22561}, + {29059, 3479}, + {29063, 13983}, + {29077, 12807}, + {29101, 12021}, + {29123, 24122}, + {29129, 5100}, + {29131, 2568}, + {29137, 6648}, + {29147, 17305}, + {29153, 25887}, + {29167, 24917}, + {29173, 28756}, + {29179, 6729}, + {29191, 24955}, + {29201, 20527}, + {29207, 24212}, + {29209, 10522}, + {29221, 18376}, + {29231, 27228}, + {29243, 26354}, + {29251, 18709}, + {29269, 9798}, + {29287, 27799}, + {29297, 2548}, + {29303, 16294}, + {29311, 15746}, + {29327, 11274}, + {29333, 16655}, + {29339, 9394}, + {29347, 29014}, + {29363, 13702}, + {29383, 17405}, + {29387, 1154}, + {29389, 23784}, + {29399, 17064}, + {29401, 6579}, + {29411, 26382}, + {29423, 24297}, + {29429, 6990}, + {29437, 17759}, + {29443, 13455}, + {29453, 13310}, + {29473, 6601}, + {29483, 27071}, + {29501, 14151}, + {29527, 13927}, + {29531, 13863}, + {29537, 24729}, + {29567, 910}, + {29569, 8643}, + {29573, 28845}, + {29581, 19814}, + {29587, 551}, + {29599, 12104}, + {29611, 17756}, + {29629, 5597}, + {29633, 17373}, + {29641, 20402}, + {29663, 5678}, + {29669, 27676}, + {29671, 26551}, + {29683, 21749}, + {29717, 2065}, + {29723, 18710}, + {29741, 19733}, + {29753, 15333}, + {29759, 12546}, + {29761, 26193}, + {29789, 19128}, + {29803, 4628}, + {29819, 4275}, + {29833, 2688}, + {29837, 13102}, + {29851, 3377}, + {29863, 16675}, + {29867, 8841}, + {29873, 18409}, + {29879, 22805}, + {29881, 5164}, + {29917, 22173}, + {29921, 7343}, + {29927, 26513}, + {29947, 9832}, + {29959, 25001}, + {29983, 25039}, + {29989, 19566}, + {30011, 6713}, + {30013, 8386}, + {30029, 22522}, + {30047, 6628}, + {30059, 8033}, + {30071, 25487}, + {30089, 14917}, + {30091, 17142}, + {30097, 25268}, + {30103, 12268}, + {30109, 23344}, + {30113, 5170}, + {30119, 21574}, + {30133, 18504}, + {30137, 9365}, + {30139, 7673}, + {30161, 5353}, + {30169, 28921}, + {30181, 22236}, + {30187, 26678}, + {30197, 28434}, + {30203, 23176}, + {30211, 6134}, + {30223, 1840}, + {30241, 10785}, + {30253, 11294}, + {30259, 19523}, + {30269, 13963}, + {30271, 25969}, + {30293, 3945}, + {30307, 29842}, + {30313, 18236}, + {30319, 25362}, + {30323, 13635}, + {30341, 20707}, + {30347, 4284}, + {30367, 9439}, + {30389, 18390}, + {30391, 17237}, + {30403, 29323}, + {30427, 27802}, + {30431, 9467}, + {30449, 27415}, + {30467, 2353}, + {30469, 642}, + {30491, 6333}, + {30493, 14308}, + {30497, 25289}, + {30509, 12245}, + {30517, 6094}, + {30529, 933}, + {30539, 30524}, + {30553, 20578}, + {30557, 1696}, + {30559, 621}, + {30577, 17790}, + {30593, 22184}, + {30631, 8040}, + {30637, 20656}, + {30643, 2187}, + {30649, 18481}, + {30661, 28195}, + {30671, 21185}, + {30677, 27844}, + {30689, 18127}, + {30697, 1024}, + {30703, 25947}, + {30707, 28201}, + {30713, 15705}, + {30727, 28644}, + {30757, 29033}, + {30763, 12706}, + {30773, 16950}, + {30781, 16159}, + {30803, 28960}, + {30809, 26508}, + {30817, 18453}, + {30829, 17527}, + {30839, 26865}, + {30841, 14080}, + {30851, 4312}, + {30853, 20703}, + {30859, 24596}, + {30869, 19914}, + {30871, 1349}, + {30881, 8319}, + {30893, 19948}, + {30911, 18201}, + {30931, 10050}, + {30937, 20781}, + {30941, 8907}, + {30949, 21831}, + {30971, 28988}, + {30977, 1611}, + {30983, 1845}, + {31013, 20862}, + {31019, 9715}, + {31033, 905}, + {31039, 9344}, + {31051, 25630}, + {31063, 13404}, + {31069, 23840}, + {31079, 6955}, + {31081, 25647}, + {31091, 17018}, + {31121, 6083}, + {31123, 5517}, + {31139, 358}, + {31147, 28491}, + {31151, 27865}, + {31153, 5888}, + {31159, 6672}, + {31177, 14277}, + {31181, 6671}, + {31183, 11244}, + {31189, 8322}, + {31193, 19908}, + {31219, 6295}, + {31223, 12870}, + {31231, 21863}, + {31237, 21435}, + {31247, 7080}, + {31249, 4108}, + {31253, 13218}, + {31259, 10727}, + {31267, 8891}, + {31271, 9947}, + {31277, 18015}, + {31307, 20808}, + {31319, 20525}, + {31321, 3160}, + {31327, 11177}, + {31333, 4623}, + {31337, 14152}, + {31357, 22927}, + {31379, 11834}, + {31387, 20464}, + {31391, 24881}, + {31393, 15875}, + {31397, 10525}, + {31469, 17566}, + {31477, 2072}, + {31481, 7317}, + {31489, 26034}, + {31511, 16697}, + {31513, 2619}, + {31517, 1277}, + {31531, 7095}, + {31541, 16642}, + {31543, 5040}, + {31547, 6691}, + {31567, 4924}, + {31573, 10052}, + {31583, 14312}, + {31601, 12396}, + {31607, 9435}, + {31627, 29404}, + {31643, 14924}, + {31649, 9525}, + {31657, 30689}, + {31663, 15371}, + {31667, 15258}, + {31687, 6019}, + {31699, 660}, + {31721, 25404}, + {31723, 21881}, + {31727, 12989}, + {31729, 14758}, + {31741, 24622}, + {31751, 8482}, + {31769, 4864}, + {31771, 16766}, + {31793, 26135}, + {31799, 22555}, + {31817, 13447}, + {31847, 21151}, + {31849, 11823}, + {31859, 16439}, + {31873, 15863}, + {31883, 30485}, + {31891, 20748}, + {31907, 11963}, + {31957, 3636}, + {31963, 525}, + {31973, 25181}, + {31981, 25543}, + {31991, 20339}, + {32003, 515}, + {32009, 10113}, + {32027, 31173}, + {32029, 20641}, + {32051, 8322}, + {32057, 23252}, + {32059, 6016}, + {32063, 23306}, + {32069, 15370}, + {32077, 30984}, + {32083, 15014}, + {32089, 8482}, + {32099, 19994}, + {32117, 3451}, + {32119, 4824}, + {32141, 7647}, + {32143, 2278}, + {32159, 3984}, + {32173, 19821}, + {32183, 16738}, + {32189, 21473}, + {32191, 24754}, + {32203, 3553}, + {32213, 31774}, + {32233, 25316}, + {32237, 22980}, + {32251, 27136}, + {32257, 17414}, + {32261, 20277}, + {32297, 260}, + {32299, 20452}, + {32303, 27837}, + {32309, 24813}, + {32321, 26498}, + {32323, 15869}, + {32327, 10425}, + {32341, 18658}, + {32353, 26897}, + {32359, 8319}, + {32363, 18238}, + {32369, 3048}, + {32371, 27431}, + {32377, 21910}, + {32381, 29313}, + {32401, 25312}, + {32411, 20946}, + {32413, 20066}, + {32423, 2449}, + {32429, 22605}, + {32441, 7054}, + {32443, 16803}, + {32467, 30412}, + {32479, 5527}, + {32491, 30811}, + {32497, 23095}, + {32503, 26007}, + {32507, 29984}, + {32531, 452}, + {32533, 1355}, + {32537, 15214}, + {32561, 119}, + {32563, 14035}, + {32569, 27903}, + {32573, 15566}, + {32579, 11896}, + {32587, 26097}, + {32603, 31206}, + {32609, 27112}, + {32611, 1930}, + {32621, 13953}, + {32633, 1495}, + {32647, 2679}, + {32653, 8406}, + {32687, 31995}, + {32693, 20849}, + {32707, 4432}, + {32713, 5758}, + {32717, 4496}, + {32719, 23578}, + {32749, 7037}, + {32771, 4875}, + {32779, 20232}, + {32783, 10107}, + {32789, 13979}, + {32797, 19098}, + {32801, 6182}, + {32803, 22331}, + {32831, 18118}, + {32833, 18604}, + {32839, 30685}, + {32843, 7878}, + {32869, 7621}, + {32887, 13442}, + {32909, 13011}, + {32911, 2556}, + {32917, 31335}, + {32933, 3565}, + {32939, 14989}, + {32941, 2945}, + {32957, 12760}, + {32969, 5937}, + {32971, 17004}, + {32983, 14562}, + {32987, 16619}, + {32993, 24188}, + {32999, 26472}, + {33013, 14567}, + {33023, 3550}, + {33029, 16721}, + {33037, 4749}, + {33049, 29899}, + {33053, 20121}, + {33071, 24825}, + {33073, 10480}, + {33083, 20131}, + {33091, 4008}, + {33107, 27660}, + {33113, 30495}, + {33119, 25311}, + {33149, 23140}, + {33151, 11947}, + {33161, 6548}, + {33179, 8005}, + {33181, 8469}, + {33191, 8303}, + {33199, 33144}, + {33203, 18247}, + {33211, 19782}, + {33223, 26915}, + {33247, 8906}, + {33287, 1091}, + {33289, 12025}, + {33301, 28427}, + {33311, 19714}, + {33317, 14497}, + {33329, 4670}, + {33331, 5036}, + {33343, 2896}, + {33347, 30992}, + {33349, 17094}, + {33353, 29150}, + {33359, 17163}, + {33377, 24943}, + {33391, 26911}, + {33403, 11594}, + {33409, 20212}, + {33413, 26482}, + {33427, 6433}, + {33457, 27387}, + {33461, 24140}, + {33469, 6523}, + {33479, 28429}, + {33487, 9539}, + {33493, 19162}, + {33503, 20738}, + {33521, 10872}, + {33529, 6116}, + {33533, 280}, + {33547, 22375}, + {33563, 8386}, + {33569, 31532}, + {33577, 11485}, + {33581, 10036}, + {33587, 16116}, + {33589, 22955}, + {33599, 23966}, + {33601, 31251}, + {33613, 2676}, + {33617, 16525}, + {33619, 17224}, + {33623, 17890}, + {33629, 23979}, + {33637, 32054}, + {33641, 31277}, + {33647, 1607}, + {33679, 26053}, + {33703, 16395}, + {33713, 7371}, + {33721, 28196}, + {33739, 11050}, + {33749, 9803}, + {33751, 22447}, + {33757, 29774}, + {33767, 567}, + {33769, 21678}, + {33773, 10505}, + {33791, 15002}, + {33797, 7413}, + {33809, 3724}, + {33811, 30205}, + {33827, 31945}, + {33829, 31703}, + {33851, 12002}, + {33857, 14343}, + {33863, 31820}, + {33871, 2123}, + {33889, 12648}, + {33893, 14707}, + {33911, 12650}, + {33923, 33215}, + {33931, 22143}, + {33937, 30899}, + {33941, 7804}, + {33961, 29177}, + {33967, 921}, + {33997, 5804}, + {34019, 21054}, + {34031, 21364}, + {34033, 17584}, + {34039, 23033}, + {34057, 11377}, + {34061, 5824}, + {34123, 16480}, + {34127, 13767}, + {34129, 22591}, + {34141, 2643}, + {34147, 4286}, + {34157, 8891}, + {34159, 9396}, + {34171, 4685}, + {34183, 3208}, + {34211, 7174}, + {34213, 5253}, + {34217, 9539}, + {34231, 6044}, + {34253, 21399}, + {34259, 11072}, + {34261, 3816}, + {34267, 32235}, + {34273, 7813}, + {34283, 26341}, + {34297, 17042}, + {34301, 21148}, + {34303, 13260}, + {34313, 21008}, + {34319, 4903}, + {34327, 28022}, + {34337, 6348}, + {34351, 31185}, + {34361, 8261}, + {34367, 21623}, + {34369, 501}, + {34381, 18358}, + {34403, 19422}, + {34421, 20156}, + {34429, 12454}, + {34439, 24806}, + {34457, 16456}, + {34469, 24819}, + {34471, 29090}, + {34483, 20581}, + {34487, 11535}, + {34499, 17043}, + {34501, 20559}, + {34511, 6737}, + {34513, 5799}, + {34519, 15116}, + {34537, 13642}, + {34543, 26466}, + {34549, 21057}, + {34583, 8209}, + {34589, 20206}, + {34591, 1477}, + {34603, 19581}, + {34607, 31558}, + {34613, 29162}, + {34631, 22398}, + {34649, 29985}, + {34651, 5997}, + {34667, 30314}, + {34673, 18873}, + {34679, 34610}, + {34687, 9465}, + {34693, 12397}, + {34703, 32852}, + {34721, 24442}, + {34729, 6890}, + {34739, 10186}, + {34747, 34561}, + {34757, 1443}, + {34759, 34250}, + {34763, 30391}, + {34781, 20888}, + {34807, 10680}, + {34819, 14743}, + {34841, 31975}, + {34843, 22223}, + {34847, 15624}, + {34849, 4442}, + {34871, 7504}, + {34877, 13364}, + {34883, 24049}, + {34897, 432}, + {34913, 30060}, + {34919, 25675}, + {34939, 19820}, + {34949, 23384}, + {34961, 27894}, + {34963, 29844}, + {34981, 28638}, + {35023, 2797}, + {35027, 12223}, + {35051, 31126}, + {35053, 13226}, + {35059, 9556}, + {35069, 22133}, + {35081, 4544}, + {35083, 34748}, + {35089, 20983}, + {35099, 8889}, + {35107, 19768}, + {35111, 8643}, + {35117, 33172}, + {35129, 34366}, + {35141, 18717}, + {35149, 26760}, + {35153, 5052}, + {35159, 1335}, + {35171, 13243}, + {35201, 34556}, + {35221, 10186}, + {35227, 27437}, + {35251, 35013}, + {35257, 27839}, + {35267, 15689}, + {35279, 247}, + {35281, 12089}, + {35291, 12160}, + {35311, 15230}, + {35317, 24270}, + {35323, 14907}, + {35327, 12063}, + {35339, 25366}, + {35353, 19043}, + {35363, 7246}, + {35381, 23157}, + {35393, 20856}, + {35401, 3607}, + {35407, 13234}, + {35419, 8628}, + {35423, 34666}, + {35437, 775}, + {35447, 7288}, + {35449, 21517}, + {35461, 6642}, + {35491, 5646}, + {35507, 22358}, + {35509, 21110}, + {35521, 28672}, + {35527, 23110}, + {35531, 5889}, + {35533, 770}, + {35537, 22013}, + {35543, 13763}, + {35569, 29194}, + {35573, 20660}, + {35591, 23730}, + {35593, 20239}, + {35597, 22388}, + {35603, 25399}, + {35617, 26700}, + {35671, 8864}, + {35677, 1600}, + {35729, 27850}, + {35731, 6291}, + {35747, 29080}, + {35753, 16032}, + {35759, 23792}, + {35771, 22367}, + {35797, 6755}, + {35801, 22806}, + {35803, 17041}, + {35809, 10932}, + {35831, 32982}, + {35837, 6321}, + {35839, 8605}, + {35851, 15445}, + {35863, 10137}, + {35869, 25409}, + {35879, 27492}, + {35897, 24818}, + {35899, 10036}, + {35911, 5085}, + {35923, 10459}, + {35933, 15664}, + {35951, 18906}, + {35963, 23105}, + {35969, 29151}, + {35977, 5549}, + {35983, 18942}, + {35993, 12472}, + {35999, 34345}, + {36007, 13782}, + {36011, 32698}, + {36013, 2975}, + {36017, 13459}, + {36037, 32433}, + {36061, 17742}, + {36067, 3374}, + {36073, 8872}, + {36083, 7754}, + {36097, 25978}, + {36107, 29445}, + {36109, 20132}, + {36131, 23314}, + {36137, 27872}, + {36151, 9525}, + {36161, 9344}, + {36187, 32089}, + {36191, 25287}, + {36209, 33216}, + {36217, 12786}, + {36229, 7640}, + {36241, 17378}, + {36251, 7638}, + {36263, 32445}, + {36269, 26260}, + {36277, 286}, + {36293, 14842}, + {36299, 10172}, + {36307, 8293}, + {36313, 19415}, + {36319, 27297}, + {36341, 8138}, + {36343, 15283}, + {36353, 25126}, + {36373, 31311}, + {36383, 11544}, + {36389, 26565}, + {36433, 16895}, + {36451, 32964}, + {36457, 12288}, + {36467, 8791}, + {36469, 17746}, + {36473, 22877}, + {36479, 23032}, + {36493, 2723}, + {36497, 13055}, + {36523, 27381}, + {36527, 3861}, + {36529, 29690}, + {36541, 8560}, + {36551, 21668}, + {36559, 30107}, + {36563, 22139}, + {36571, 3370}, + {36583, 4822}, + {36587, 14668}, + {36599, 32029}, + {36607, 11854}, + {36629, 1711}, + {36637, 15112}, + {36643, 8216}, + {36653, 35055}, + {36671, 10932}, + {36677, 30835}, + {36683, 16788}, + {36691, 27353}, + {36697, 161}, + {36709, 36529}, + {36713, 17196}, + {36721, 33199}, + {36739, 9757}, + {36749, 28590}, + {36761, 35610}, + {36767, 2711}, + {36779, 25775}, + {36781, 2039}, + {36787, 24830}, + {36791, 2110}, + {36793, 7101}, + {36809, 3319}, + {36821, 14977}, + {36833, 3748}, + {36847, 22349}, + {36857, 10680}, + {36871, 15424}, + {36877, 7143}, + {36887, 15470}, + {36899, 29361}, + {36901, 866}, + {36913, 5981}, + {36919, 2078}, + {36923, 16197}, + {36929, 15578}, + {36931, 32033}, + {36943, 8191}, + {36947, 16178}, + {36973, 35004}, + {36979, 10929}, + {36997, 3692}, + {37003, 21050}, + {37013, 34327}, + {37019, 30455}, + {37021, 18954}, + {37039, 6636}, + {37049, 4451}, + {37057, 36146}, + {37061, 9484}, + {37087, 36166}, + {37097, 25870}, + {37117, 10675}, + {37123, 19709}, + {37139, 798}, + {37159, 12597}, + {37171, 11112}, + {37181, 4426}, + {37189, 18988}, + {37199, 29321}, + {37201, 6875}, + {37217, 18369}, + {37223, 2700}, + {37243, 8797}, + {37253, 28930}, + {37273, 31099}, + {37277, 17449}, + {37307, 26473}, + {37309, 12154}, + {37313, 8009}, + {37321, 7531}, + {37337, 9439}, + {37339, 11110}, + {37357, 8990}, + {37361, 26711}, + {37363, 10505}, + {37369, 9467}, + {37379, 31498}, + {37397, 35251}, + {37409, 5877}, + {37423, 12522}, + {37441, 28202}, + {37447, 8198}, + {37463, 36363}, + {37483, 23083}, + {37489, 36088}, + {37493, 35334}, + {37501, 20998}, + {37507, 36969}, + {37511, 21675}, + {37517, 25507}, + {37529, 16281}, + {37537, 14077}, + {37547, 25443}, + {37549, 11632}, + {37561, 7692}, + {37567, 23161}, + {37571, 30211}, + {37573, 26526}, + {37579, 17601}, + {37589, 22672}, + {37591, 9266}, + {37607, 20393}, + {37619, 20050}, + {37633, 18053}, + {37643, 31555}, + {37649, 23404}, + {37657, 30035}, + {37663, 19563}, + {37691, 32642}, + {37693, 27891}, + {37699, 21461}, + {37717, 22076}, + {37747, 34943}, + {37781, 29257}, + {37783, 20267}, + {37799, 36742}, + {37811, 10913}, + {37813, 33155}, + {37831, 26899}, + {37847, 31450}, + {37853, 8106}, + {37861, 7205}, + {37871, 26196}, + {37879, 24534}, + {37889, 4022}, + {37897, 30340}, + {37907, 17280}, + {37951, 10113}, + {37957, 25250}, + {37963, 25199}, + {37967, 36746}, + {37987, 36038}, + {37991, 36792}, + {37993, 17125}, + {37997, 29857}, + {38011, 8705}, + {38039, 25993}, + {38047, 32199}, + {38053, 22113}, + {38069, 33382}, + {38083, 19648}, + {38113, 11544}, + {38119, 34362}, + {38149, 8426}, + {38153, 1786}, + {38167, 3437}, + {38177, 3511}, + {38183, 31569}, + {38189, 25590}, + {38197, 35102}, + {38201, 12886}, + {38219, 5212}, + {38231, 7425}, + {38237, 23208}, + {38239, 35769}, + {38261, 19385}, + {38273, 20909}, + {38281, 36598}, + {38287, 5169}, + {38299, 34046}, + {38303, 21375}, + {38317, 37509}, + {38321, 28163}, + {38327, 37171}, + {38329, 24567}, + {38333, 33445}, + {38351, 21624}, + {38371, 15189}, + {38377, 38277}, + {38393, 16372}, + {38431, 18073}, + {38447, 14127}, + {38449, 25681}, + {38453, 26443}, + {38459, 4630}, + {38461, 9394}, + {38501, 23199}, + {38543, 678}, + {38557, 12861}, + {38561, 31113}, + {38567, 5926}, + {38569, 22409}, + {38593, 13540}, + {38603, 197}, + {38609, 4137}, + {38611, 26200}, + {38629, 13433}, + {38639, 7566}, + {38651, 7912}, + {38653, 24431}, + {38669, 32981}, + {38671, 24792}, + {38677, 35234}, + {38693, 20462}, + {38699, 30484}, + {38707, 12128}, + {38711, 37876}, + {38713, 26538}, + {38723, 26619}, + {38729, 4382}, + {38737, 10425}, + {38747, 17121}, + {38749, 12236}, + {38767, 9339}, + {38783, 32530}, + {38791, 21730}, + {38803, 5134}, + {38821, 11072}, + {38833, 28366}, + {38839, 27833}, + {38851, 8354}, + {38861, 31258}, + {38867, 36161}, + {38873, 7839}, + {38891, 5630}, + {38903, 31387}, + {38917, 8860}, + {38921, 1542}, + {38923, 19537}, + {38933, 25334}, + {38953, 16974}, + {38959, 10872}, + {38971, 24887}, + {38977, 25948}, + {38993, 2098}, + {39019, 23070}, + {39023, 11524}, + {39041, 6344}, + {39043, 27086}, + {39047, 16961}, + {39079, 18245}, + {39089, 29649}, + {39097, 10600}, + {39103, 779}, + {39107, 35642}, + {39113, 15077}, + {39119, 2775}, + {39133, 29152}, + {39139, 3591}, + {39157, 19985}, + {39161, 12623}, + {39163, 31512}, + {39181, 9609}, + {39191, 19357}, + {39199, 14620}, + {39209, 27429}, + {39217, 29242}, + {39227, 13140}, + {39229, 37665}, + {39233, 10420}, + {39239, 24853}, + {39241, 33282}, + {39251, 29915}, + {39293, 22899}, + {39301, 9874}, + {39313, 18584}, + {39317, 29166}, + {39323, 38738}, + {39341, 11050}, + {39343, 19060}, + {39359, 944}, + {39367, 22501}, + {39371, 9318}, + {39373, 15092}, + {39383, 11709}, + {39397, 37661}, + {39409, 19590}, + {39419, 37155}, + {39439, 6081}, + {39443, 21164}, + {39451, 38357}, + {39461, 13449}, + {39499, 28523}, + {39503, 13560}, + {39509, 30382}, + {39511, 15660}, + {39521, 8554}, + {39541, 15267}, + {39551, 11593}, + {39563, 39093}, + {39569, 15822}, + {39581, 17879}, + {39607, 3171}, + {39619, 9097}, + {39623, 1647}, + {39631, 7235}, + {39659, 23039}, + {39667, 17937}, + {39671, 24548}, + {39679, 33707}, + {39703, 4202}, + {39709, 25273}, + {39719, 14642}, + {39727, 39177}, + {39733, 21700}, + {39749, 28184}, + {39761, 22707}, + {39769, 13452}, + {39779, 18340}, + {39791, 16513}, + {39799, 22239}, + {39821, 22244}, + {39827, 23248}, + {39829, 2391}, + {39839, 16517}, + {39841, 37572}, + {39847, 14177}, + {39857, 20110}, + {39863, 38812}, + {39869, 3575}, + {39877, 8481}, + {39883, 21254}, + {39887, 869}, + {39901, 18276}, + {39929, 5156}, + {39937, 32053}, + {39953, 1990}, + {39971, 5986}, + {39979, 33862}, + {39983, 37411}, + {39989, 29273}, + {40009, 18929}, + {40013, 494}, + {40031, 28170}, + {40037, 31140}, + {40039, 26693}, + {40063, 35418}, + {40087, 23313}, + {40093, 17651}, + {40099, 16538}, + {40111, 23351}, + {40123, 3545}, + {40127, 11377}, + {40129, 25400}, + {40151, 8199}, + {40153, 27124}, + {40163, 32544}, + {40169, 35083}, + {40177, 11535}, + {40189, 9800}, + {40193, 12522}, + {40213, 27506}, + {40231, 28927}, + {40237, 13140}, + {40241, 36971}, + {40253, 30174}, + {40277, 22716}, + {40283, 29784}, + {40289, 36999}, + {40343, 29647}, + {40351, 24176}, + {40357, 2334}, + {40361, 38936}, + {40387, 27623}, + {40423, 36342}, + {40427, 29737}, + {40429, 29447}, + {40433, 10254}, + {40459, 33056}, + {40471, 313}, + {40483, 16114}, + {40487, 12288}, + {40493, 35815}, + {40499, 35705}, + {40507, 30214}, + {40519, 12886}, + {40529, 1630}, + {40531, 35358}, + {40543, 38313}, + {40559, 4741}, + {40577, 40174}, + {40583, 15147}, + {40591, 6802}, + {40597, 7823}, + {40609, 29071}, + {40627, 38989}, + {40637, 32378}, + {40639, 22140}, + {40693, 33485}, + {40697, 1466}, + {40699, 20648}, + {40709, 3935}, + {40739, 2137}, + {40751, 12189}, + {40759, 35846}, + {40763, 24112}, + {40771, 34264}, + {40787, 30613}, + {40801, 3342}, + {40813, 34970}, + {40819, 31719}, + {40823, 2798}, + {40829, 23321}, + {40841, 28587}, + {40847, 2767}, + {40849, 32181}, + {40853, 40786}, + {40867, 9702}, + {40879, 22965}, + {40883, 38151}, + {40897, 17625}, + {40903, 23003}, + {40927, 32960}, + {40933, 7716}, + {40939, 13449}, + {40949, 931}, + {40961, 10748}, + {40973, 17288}, + {40993, 40018}, + {41011, 12178}, + {41017, 12063}, + {41023, 24177}, + {41039, 7011}, + {41047, 35517}, + {41051, 3113}, + {41057, 1561}, + {41077, 2786}, + {41081, 18495}, + {41113, 4649}, + {41117, 16289}, + {41131, 4612}, + {41141, 3089}, + {41143, 32427}, + {41149, 38193}, + {41161, 33389}, + {41177, 21681}, + {41179, 22825}, + {41183, 1177}, + {41189, 7767}, + {41201, 14680}, + {41203, 22863}, + {41213, 16607}, + {41221, 10727}, + {41227, 18107}, + {41231, 38900}, + {41233, 13560}, + {41243, 26044}, + {41257, 5910}, + {41263, 14013}, + {41269, 10723}, + {41281, 9691}, + {41299, 26811}, + {41333, 36847}, + {41341, 805}, + {41351, 9105}, + {41357, 26713}, + {41381, 22578}, + {41387, 33296}, + {41389, 12160}, + {41399, 30605}, + {41411, 19895}, + {41413, 38256}, + {41443, 23700}, + {41453, 31322}, + {41467, 13987}, + {41479, 19697}, + {41491, 6186}, + {41507, 19004}, + {41513, 7459}, + {41519, 21859}, + {41521, 18541}, + {41539, 7131}, + {41543, 7039}, + {41549, 22321}, + {41579, 30385}, + {41593, 15382}, + {41597, 33974}, + {41603, 7444}, + {41609, 35925}, + {41611, 12855}, + {41617, 8955}, + {41621, 8863}, + {41627, 26877}, + {41641, 3702}, + {41647, 8535}, + {41651, 4490}, + {41659, 9066}, + {41669, 9814}, + {41681, 34713}, + {41687, 37806}, + {41719, 19936}, + {41729, 32110}, + {41737, 13609}, + {41759, 24989}, + {41761, 7676}, + {41771, 13433}, + {41777, 32389}, + {41801, 22661}, + {41809, 26171}, + {41813, 23198}, + {41843, 30394}, + {41849, 5822}, + {41851, 25012}, + {41863, 34040}, + {41879, 41712}, + {41887, 35658}, + {41893, 36565}, + {41897, 21223}, + {41903, 10114}, + {41911, 9326}, + {41927, 12013}, + {41941, 32660}, + {41947, 37951}, + {41953, 20293}, + {41957, 28358}, + {41959, 1188}, + {41969, 33259}, + {41981, 34858}, + {41983, 29566}, + {41999, 20853}, + {42013, 39188}, + {42017, 2437}, + {42019, 9774}, + {42023, 38816}, + {42043, 18919}, + {42061, 7416}, + {42071, 7036}, + {42073, 27076}, + {42083, 23043}, + {42089, 15358}, + {42101, 16662}, + {42131, 25965}, + {42139, 27651}, + {42157, 17431}, + {42169, 1710}, + {42179, 2971}, + {42181, 36218}, + {42187, 8161}, + {42193, 18428}, + {42197, 35813}, + {42209, 27082}, + {42221, 12112}, + {42223, 38129}, + {42227, 5033}, + {42239, 4642}, + {42257, 15242}, + {42281, 15276}, + {42283, 23589}, + {42293, 6226}, + {42299, 23643}, + {42307, 39122}, + {42323, 38776}, + {42331, 31177}, + {42337, 10125}, + {42349, 24161}, + {42359, 35631}, + {42373, 20348}, + {42379, 459}, + {42391, 34842}, + {42397, 33625}, + {42403, 11329}, + {42407, 12786}, + {42409, 364}, + {42433, 42102}, + {42437, 21009}, + {42443, 471}, + {42451, 5693}, + {42457, 2307}, + {42461, 33984}, + {42463, 37667}, + {42467, 20589}, + {42473, 33599}, + {42487, 37527}, + {42491, 31026}, + {42499, 9546}, + {42509, 22497}, + {42533, 27889}, + {42557, 31612}, + {42569, 32161}, + {42571, 39179}, + {42577, 10310}, + {42589, 12002}, + {42611, 29794}, + {42641, 22520}, + {42643, 41043}, + {42649, 15960}, + {42667, 41032}, + {42677, 19124}, + {42683, 16677}, + {42689, 25940}, + {42697, 38235}, + {42701, 20952}, + {42703, 23674}, + {42709, 31321}, + {42719, 26417}, + {42727, 2311}, + {42737, 14177}, + {42743, 3442}, + {42751, 8915}, + {42767, 5076}, + {42773, 26679}, + {42787, 8790}, + {42793, 9627}, + {42797, 8874}, + {42821, 32561}, + {42829, 12797}, + {42839, 10785}, + {42841, 20072}, + {42853, 6708}, + {42859, 41739}, + {42863, 35995}, + {42899, 9193}, + {42901, 3064}, + {42923, 12397}, + {42929, 25271}, + {42937, 746}, + {42943, 1070}, + {42953, 42432}, + {42961, 26008}, + {42967, 13055}, + {42979, 4158}, + {42989, 32328}, + {43003, 27943}, + {43013, 3453}, + {43019, 3331}, + {43037, 35924}, + {43049, 27922}, + {43051, 8655}, + {43063, 22626}, + {43067, 17481}, + {43093, 22631}, + {43103, 10662}, + {43117, 32430}, + {43133, 38624}, + {43151, 39332}, + {43159, 26531}, + {43177, 19384}, + {43189, 6821}, + {43201, 7207}, + {43207, 14466}, + {43223, 1883}, + {43237, 27337}, + {43261, 1361}, + {43271, 10522}, + {43283, 783}, + {43291, 32749}, + {43313, 11244}, + {43319, 15796}, + {43321, 22028}, + {43331, 24064}, + {43391, 12025}, + {43397, 38002}, + {43399, 15276}, + {43403, 21381}, + {43411, 29327}, + {43427, 16369}, + {43441, 694}, + {43451, 12454}, + {43457, 32172}, + {43481, 19923}, + {43487, 22061}, + {43499, 4020}, + {43517, 31673}, + {43541, 6749}, + {43543, 40278}, + {43573, 7256}, + {43577, 41577}, + {43579, 37303}, + {43591, 9395}, + {43597, 17286}, + {43607, 30791}, + {43609, 27472}, + {43613, 4024}, + {43627, 17810}, + {43633, 19580}, + {43649, 43137}, + {43651, 36946}, + {43661, 8774}, + {43669, 29233}, + {43691, 26359}, + {43711, 40250}, + {43717, 13534}, + {43721, 20164}, + {43753, 20814}, + {43759, 9064}, + {43777, 40864}, + {43781, 2325}, + {43783, 9970}, + {43787, 40476}, + {43789, 30057}, + {43793, 32237}, + {43801, 15796}, + {43853, 16707}, + {43867, 14928}, + {43889, 27853}, + {43891, 34606}, + {43913, 257}, + {43933, 39355}, + {43943, 24698}, + {43951, 6443}, + {43961, 512}, + {43963, 9462}, + {43969, 35781}, + {43973, 22771}, + {43987, 13299}, + {43991, 29023}, + {43997, 5211}, + {44017, 16683}, + {44021, 9506}, + {44027, 24776}, + {44029, 23580}, + {44041, 23978}, + {44053, 17458}, + {44059, 32212}, + {44071, 3863}, + {44087, 43506}, + {44089, 29360}, + {44101, 7247}, + {44111, 23065}, + {44119, 19981}, + {44123, 20237}, + {44129, 35632}, + {44131, 2215}, + {44159, 8691}, + {44171, 1055}, + {44179, 28460}, + {44189, 43163}, + {44201, 25066}, + {44203, 20730}, + {44207, 21543}, + {44221, 5588}, + {44249, 18268}, + {44257, 5146}, + {44263, 23964}, + {44267, 29068}, + {44269, 10618}, + {44273, 14545}, + {44279, 30832}, + {44281, 14642}, + {44293, 30341}, + {44351, 24564}, + {44357, 31664}, + {44371, 6970}, + {44381, 44122}, + {44383, 24295}, + {44389, 16722}, + {44417, 11007}, + {44449, 28312}, + {44453, 40783}, + {44483, 31334}, + {44491, 3122}, + {44497, 11175}, + {44501, 9254}, + {44507, 33494}, + {44519, 27708}, + {44531, 39322}, + {44533, 35933}, + {44537, 42137}, + {44543, 31799}, + {44549, 7466}, + {44563, 39374}, + {44579, 1136}, + {44587, 32990}, + {44617, 36968}, + {44621, 32637}, + {44623, 33877}, + {44633, 5701}, + {44641, 25152}, + {44647, 20122}, + {44651, 15965}, + {44657, 15840}, + {44683, 20598}, + {44687, 33250}, + {44699, 30343}, + {44701, 35881}, + {44711, 32044}, + {44729, 37457}, + {44741, 27540}, + {44753, 44389}, + {44771, 28084}, + {44773, 35411}, + {44777, 31181}, + {44789, 44286}, + {44797, 31814}, + {44809, 12650}, + {44819, 19410}, + {44839, 39479}, + {44843, 11294}, + {44851, 37424}, + {44867, 42819}, + {44879, 15782}, + {44887, 13459}, + {44893, 27209}, + {44909, 42969}, + {44917, 15835}, + {44927, 8519}, + {44939, 35983}, + {44953, 35486}, + {44959, 26335}, + {44963, 17478}, + {44971, 32133}, + {44983, 9704}, + {44987, 19294}, + {45007, 35976}, + {45013, 24089}, + {45053, 44349}, + {45061, 36260}, + {45077, 32223}, + {45083, 20317}, + {45119, 24160}, + {45121, 7347}, + {45127, 38867}, + {45131, 29978}, + {45137, 20790}, + {45139, 40397}, + {45161, 27009}, + {45179, 10494}, + {45181, 13247}, + {45191, 6384}, + {45197, 29103}, + {45233, 40030}, + {45247, 45163}, + {45259, 43805}, + {45263, 36880}, + {45281, 43818}, + {45289, 41832}, + {45293, 24450}, + {45307, 18179}, + {45317, 20805}, + {45319, 28221}, + {45329, 6125}, + {45337, 11703}, + {45341, 1819}, + {45343, 38591}, + {45361, 18715}, + {45377, 17546}, + {45389, 20303}, + {45403, 22971}, + {45413, 20840}, + {45427, 43777}, + {45433, 40676}, + {45439, 40552}, + {45481, 4316}, + {45491, 34080}, + {45497, 4366}, + {45503, 23211}, + {45523, 13345}, + {45533, 1108}, + {45541, 3753}, + {45553, 13843}, + {45557, 20187}, + {45569, 6294}, + {45587, 27430}, + {45589, 1917}, + {45599, 8200}, + {45613, 28739}, + {45631, 18815}, + {45641, 27980}, + {45659, 34142}, + {45667, 41271}, + {45673, 100}, + {45677, 35116}, + {45691, 30776}, + {45697, 29463}, + {45707, 32114}, + {45737, 44506}, + {45751, 10409}, + {45757, 33410}, + {45763, 16707}, + {45767, 33002}, + {45779, 32814}, + {45817, 42219}, + {45821, 465}, + {45823, 27189}, + {45827, 32473}, + {45833, 6129}, + {45841, 38376}, + {45853, 41533}, + {45863, 2502}, + {45869, 5671}, + {45887, 35839}, + {45893, 26241}, + {45943, 16199}, + {45949, 28051}, + {45953, 42733}, + {45959, 9183}, + {45971, 36644}, + {45979, 33432}, + {45989, 3940}, + {46021, 37952}, + {46027, 13364}, + {46049, 32490}, + {46051, 26556}, + {46061, 32908}, + {46073, 40129}, + {46091, 29925}, + {46093, 6064}, + {46099, 27210}, + {46103, 43690}, + {46133, 38453}, + {46141, 25928}, + {46147, 31747}, + {46153, 35880}, + {46171, 8083}, + {46181, 28980}, + {46183, 38660}, + {46187, 41541}, + {46199, 21323}, + {46219, 38547}, + {46229, 45248}, + {46237, 40181}, + {46261, 5892}, + {46271, 10327}, + {46273, 37545}, + {46279, 29651}, + {46301, 26095}, + {46307, 1032}, + {46309, 9118}, + {46327, 13104}, + {46337, 35878}, + {46349, 41013}, + {46351, 6517}, + {46381, 42419}, + {46399, 30006}, + {46411, 3164}, + {46439, 18743}, + {46441, 12155}, + {46447, 17546}, + {46451, 28813}, + {46457, 37224}, + {46471, 11687}, + {46477, 7331}, + {46489, 25478}, + {46499, 1603}, + {46507, 12760}, + {46511, 18326}, + {46523, 41648}, + {46549, 4422}, + {46559, 419}, + {46567, 937}, + {46573, 24319}, + {46589, 24377}, + {46591, 7342}, + {46601, 22563}, + {46619, 28526}, + {46633, 23768}, + {46639, 44931}, + {46643, 16174}, + {46649, 10917}, + {46663, 40740}, + {46679, 26814}, + {46681, 10026}, + {46687, 35360}, + {46691, 41929}, + {46703, 27369}, + {46723, 17991}, + {46727, 21464}, + {46747, 20905}, + {46751, 9033}, + {46757, 20999}, + {46769, 34680}, + {46771, 41409}, + {46807, 10855}, + {46811, 12435}, + {46817, 45136}, + {46819, 320}, + {46829, 10234}, + {46831, 15146}, + {46853, 28943}, + {46861, 1287}, + {46867, 9675}, + {46877, 36741}, + {46889, 3900}, + {46901, 4318}, + {46919, 6375}, + {46933, 16677}, + {46957, 16648}, + {46993, 24374}, + {46997, 34065}, + {47017, 21014}, + {47041, 28290}, + {47051, 38915}, + {47057, 10627}, + {47059, 1732}, + {47087, 28262}, + {47093, 39065}, + {47111, 7220}, + {47119, 12396}, + {47123, 44586}, + {47129, 30380}, + {47137, 12356}, + {47143, 25900}, + {47147, 10612}, + {47149, 44233}, + {47161, 31189}, + {47189, 8427}, + {47207, 23901}, + {47221, 10826}, + {47237, 4415}, + {47251, 47168}, + {47269, 23143}, + {47279, 6849}, + {47287, 18194}, + {47293, 2017}, + {47297, 1184}, + {47303, 2108}, + {47309, 8732}, + {47317, 29633}, + {47339, 1963}, + {47351, 29253}, + {47353, 43483}, + {47363, 9279}, + {47381, 24479}, + {47387, 32963}, + {47389, 35984}, + {47407, 40736}, + {47417, 29893}, + {47419, 3498}, + {47431, 6811}, + {47441, 41548}, + {47459, 42979}, + {47491, 13011}, + {47497, 14206}, + {47501, 45990}, + {47507, 40640}, + {47513, 373}, + {47521, 23499}, + {47527, 28352}, + {47533, 24108}, + {47543, 41160}, + {47563, 32284}, + {47569, 45126}, + {47581, 34295}, + {47591, 1208}, + {47599, 24743}, + {47609, 15660}, + {47623, 36440}, + {47629, 21416}, + {47639, 5521}, + {47653, 35975}, + {47657, 12286}, + {47659, 25655}, + {47681, 11511}, + {47699, 20419}, + {47701, 37336}, + {47711, 11411}, + {47713, 4871}, + {47717, 36732}, + {47737, 41413}, + {47741, 32439}, + {47743, 41826}, + {47777, 22531}, + {47779, 34884}, + {47791, 33026}, + {47797, 4913}, + {47807, 33088}, + {47809, 42488}, + {47819, 33703}, + {47837, 9250}, + {47843, 29686}, + {47857, 35780}, + {47869, 46104}, + {47881, 29130}, + {47903, 2709}, + {47911, 8603}, + {47917, 17850}, + {47933, 40097}, + {47939, 4574}, + {47947, 44529}, + {47951, 28474}, + {47963, 10834}, + {47969, 27567}, + {47977, 42436}, + {47981, 34088}, + {48017, 29120}, + {48023, 29198}, + {48029, 3539}, + {48049, 28829}, + {48073, 9230}, + {48079, 38153}, + {48091, 36236}, + {48109, 20190}, + {48119, 24805}, + {48121, 22017}, + {48131, 10670}, + {48157, 14668}, + {48163, 46404}, + {48179, 1324}, + {48187, 416}, + {48193, 35829}, + {48197, 18179}, + {48221, 39413}, + {48239, 31469}, + {48247, 25263}, + {48259, 9972}, + {48271, 20434}, + {48281, 30129}, + {48299, 14355}, + {48311, 8707}, + {48313, 22935}, + {48337, 42851}, + {48341, 24154}, + {48353, 44675}, + {48371, 37349}, + {48383, 33767}, + {48397, 47038}, + {48407, 31714}, + {48409, 20195}, + {48413, 41224}, + {48437, 41738}, + {48449, 7805}, + {48463, 29288}, + {48473, 1688}, + {48479, 45622}, + {48481, 18743}, + {48487, 3446}, + {48491, 25767}, + {48497, 42686}, + {48523, 18878}, + {48527, 21903}, + {48533, 5884}, + {48539, 39108}, + {48541, 34599}, + {48563, 14220}, + {48571, 35142}, + {48589, 26459}, + {48593, 45722}, + {48611, 37680}, + {48619, 1158}, + {48623, 44378}, + {48647, 32989}, + {48649, 5472}, + {48661, 5906}, + {48673, 24905}, + {48677, 15880}, + {48679, 37462}, + {48731, 27355}, + {48733, 29439}, + {48751, 8072}, + {48757, 17481}, + {48761, 33059}, + {48767, 624}, + {48779, 37742}, + {48781, 22587}, + {48787, 10510}, + {48799, 18298}, + {48809, 744}, + {48817, 12455}, + {48821, 48341}, + {48823, 9752}, + {48847, 30213}, + {48857, 45004}, + {48859, 14977}, + {48869, 48369}, + {48871, 35237}, + {48883, 5784}, + {48889, 43692}, + {48907, 10829}, + {48947, 22606}, + {48953, 12268}, + {48973, 41815}, + {48989, 38504}, + {48991, 9580}, + {49003, 47556}, + {49009, 39197}, + {49019, 11288}, + {49031, 35434}, + {49033, 10394}, + {49037, 17810}, + {49043, 18868}, + {49057, 17221}, + {49069, 33142}, + {49081, 23633}, + {49103, 13814}, + {49109, 19514}, + {49117, 40672}, + {49121, 12104}, + {49123, 14842}, + {49139, 2234}, + {49157, 3023}, + {49169, 36607}, + {49171, 11752}, + {49177, 12989}, + {49193, 40291}, + {49199, 3146}, + {49201, 20201}, + {49207, 15590}, + {49211, 33868}, + {49223, 620}, + {49253, 38495}, + {49261, 33439}, + {49277, 19374}, + {49279, 21481}, + {49297, 44687}, + {49307, 38584}, + {49331, 18279}, + {49333, 44488}, + {49339, 46916}, + {49363, 19550}, + {49367, 40579}, + {49369, 46439}, + {49391, 36681}, + {49393, 10569}, + {49409, 31751}, + {49411, 27457}, + {49417, 40797}, + {49429, 42471}, + {49433, 45821}, + {49451, 34873}, + {49459, 45449}, + {49463, 14360}, + {49477, 38993}, + {49481, 26429}, + {49499, 4080}, + {49523, 13759}, + {49529, 18815}, + {49531, 6593}, + {49537, 19369}, + {49547, 15112}, + {49549, 3717}, + {49559, 18715}, + {49597, 18129}, + {49603, 46949}, + {49613, 12706}, + {49627, 11038}, + {49633, 47560}, + {49639, 29721}, + {49663, 25548}, + {49667, 17431}, + {49669, 24715}, + {49681, 26602}, + {49697, 37437}, + {49711, 23328}, + {49727, 30393}, + {49739, 32373}, + {49741, 36796}, + {49747, 25626}, + {49757, 43969}, + {49783, 24068}, + {49787, 10112}, + {49789, 18806}, + {49801, 16517}, + {49807, 25433}, + {49811, 43437}, + {49823, 49256}, + {49831, 23683}, + {49843, 20487}, + {49853, 46036}, + {49871, 47201}, + {49877, 28230}, + {49891, 27325}, + {49919, 7780}, + {49921, 18801}, + {49927, 21953}, + {49937, 28688}, + {49939, 2287}, + {49943, 1128}, + {49957, 14817}, + {49991, 41871}, + {49993, 42611}, + {49999, 32434}, + {50021, 3306}, + {50023, 46472}, + {50033, 5641}, + {50047, 34755}, + {50051, 29196}, + {50053, 23636}, + {50069, 5490}, + {50077, 11901}, + {50087, 26510}, + {50093, 26891}, + {50101, 25951}, + {50111, 20195}, + {50119, 5024}, + {50123, 12073}, + {50129, 30511}, + {50131, 40177}, + {50147, 39592}, + {50153, 22439}, + {50159, 4410}, + {50177, 8725}, + {50207, 36003}, + {50221, 8052}, + {50227, 13881}, + {50231, 1827}, + {50261, 9548}, + {50263, 33489}, + {50273, 10389}, + {50287, 24171}, + {50291, 34762}, + {50311, 39693}, + {50321, 45880}, + {50329, 34169}, + {50333, 21891}, + {50341, 27232}, + {50359, 21499}, + {50363, 13288}, + {50377, 15470}, + {50383, 4829}, + {50387, 7264}, + {50411, 20190}, + {50417, 7155}, + {50423, 40228}, + {50441, 6332}, + {50459, 3403}, + {50461, 28658}, + {50497, 11118}, + {50503, 40460}, + {50513, 15283}, + {50527, 13232}, + {50539, 48360}, + {50543, 25075}, + {50549, 43669}, + {50551, 4633}, + {50581, 24330}, + {50587, 45869}, + {50591, 26706}, + {50593, 14667}, + {50599, 15384}, + {50627, 44624}, + {50647, 36133}, + {50651, 4853}, + {50671, 15578}, + {50683, 17288}, + {50707, 48308}, + {50723, 34412}, + {50741, 667}, + {50753, 48160}, + {50767, 13447}, + {50773, 25802}, + {50777, 39468}, + {50789, 50726}, + {50821, 37138}, + {50833, 50081}, + {50839, 24802}, + {50849, 20434}, + {50857, 50064}, + {50867, 5453}, + {50873, 25658}, + {50891, 44633}, + {50893, 43251}, + {50909, 242}, + {50923, 45960}, + {50929, 47245}, + {50951, 8063}, + {50957, 25736}, + {50969, 27458}, + {50971, 9127}, + {50989, 18648}, + {50993, 49916}, + {51001, 25067}, + {51031, 25069}, + {51043, 41632}, + {51047, 28395}, + {51059, 6861}, + {51061, 50678}, + {51071, 33643}, + {51109, 49633}, + {51131, 49645}, + {51133, 21030}, + {51137, 41638}, + {51151, 50729}, + {51157, 30658}, + {51169, 10765}, + {51193, 48390}, + {51197, 14912}, + {51199, 5388}, + {51203, 9929}, + {51217, 2476}, + {51229, 22830}, + {51239, 1792}, + {51241, 44074}, + {51257, 26630}, + {51263, 23691}, + {51283, 46746}, + {51287, 6036}, + {51307, 21099}, + {51329, 22678}, + {51341, 47964}, + {51343, 41492}, + {51347, 9762}, + {51349, 56}, + {51361, 7029}, + {51383, 48129}, + {51407, 24949}, + {51413, 17430}, + {51419, 31309}, + {51421, 20419}, + {51427, 33684}, + {51431, 43334}, + {51437, 31785}, + {51439, 2330}, + {51449, 48841}, + {51461, 46431}, + {51473, 2101}, + {51479, 29417}, + {51481, 7354}, + {51487, 12609}, + {51503, 33269}, + {51511, 32046}, + {51517, 19294}, + {51521, 34467}, + {51539, 8985}, + {51551, 3008}, + {51563, 51208}, + {51577, 40107}, + {51581, 15467}, + {51593, 7827}, + {51599, 7681}, + {51607, 37849}, + {51613, 4934}, + {51631, 6692}, + {51637, 29037}, + {51647, 39409}, + {51659, 40280}, + {51673, 23446}, + {51679, 7865}, + {51683, 16476}, + {51691, 38742}, + {51713, 13063}, + {51719, 44176}, + {51721, 27746}, + {51749, 15445}, + {51767, 17625}, + {51769, 26665}, + {51787, 35834}, + {51797, 42460}, + {51803, 5957}, + {51817, 36463}, + {51827, 8300}, + {51829, 38527}, + {51839, 14708}, + {51853, 33344}, + {51859, 2893}, + {51869, 10610}, + {51871, 5894}, + {51893, 17178}, + {51899, 37460}, + {51907, 21968}, + {51913, 8204}, + {51929, 11582}, + {51941, 1513}, + {51949, 26109}, + {51971, 18115}, + {51973, 17741}, + {51977, 49228}, + {51991, 38837}, + {52009, 21489}, + {52021, 19410}, + {52027, 50709}, + {52051, 29496}, + {52057, 37828}, + {52067, 45009}, + {52069, 43595}, + {52081, 4370}, + {52103, 15699}, + {52121, 4356}, + {52127, 30558}, + {52147, 37125}, + {52153, 12410}, + {52163, 47166}, + {52177, 16961}, + {52181, 40356}, + {52183, 41441}, + {52189, 51516}, + {52201, 7509}, + {52223, 49281}, + {52237, 1873}, + {52249, 1388}, + {52253, 32331}, + {52259, 28166}, + {52267, 14497}, + {52289, 13804}, + {52291, 14535}, + {52301, 42800}, + {52313, 29938}, + {52321, 22841}, + {52361, 21481}, + {52363, 15664}, + {52369, 39687}, + {52379, 4736}, + {52387, 3383}, + {52391, 35664}, + {52433, 23721}, + {52453, 48664}, + {52457, 40407}, + {52489, 36422}, + {52501, 33960}, + {52511, 41044}, + {52517, 28570}, + {52529, 2375}, + {52541, 49400}, + {52543, 30074}, + {52553, 45983}, + {52561, 42899}, + {52567, 34667}, + {52571, 888}, + {52579, 35342}, + {52583, 13900}, + {52609, 46964}, + {52627, 14702}, + {52631, 46974}, + {52639, 34725}, + {52667, 48211}, + {52673, 4781}, + {52691, 31315}, + {52697, 2530}, + {52709, 38795}, + {52711, 21471}, + {52721, 52545}, + {52727, 51084}, + {52733, 493}, + {52747, 13102}, + {52757, 18107}, + {52769, 2544}, + {52783, 28524}, + {52807, 6549}, + {52813, 41295}, + {52817, 21953}, + {52837, 25014}, + {52859, 40582}, + {52861, 36358}, + {52879, 49569}, + {52883, 17651}, + {52889, 3448}, + {52901, 39116}, + {52903, 46875}, + {52919, 50329}, + {52937, 41570}, + {52951, 12100}, + {52957, 32689}, + {52963, 47907}, + {52967, 38088}, + {52973, 50981}, + {52981, 47873}, + {52999, 35439}, + {53003, 14567}, + {53017, 29098}, + {53047, 39859}, + {53051, 3758}, + {53069, 39166}, + {53077, 17121}, + {53087, 36159}, + {53089, 40763}, + {53093, 7975}, + {53101, 2148}, + {53113, 8712}, + {53117, 16108}, + {53129, 5109}, + {53147, 1503}, + {53149, 37172}, + {53161, 44026}, + {53171, 10300}, + {53173, 27181}, + {53189, 12049}, + {53197, 9879}, + {53201, 4712}, + {53231, 22835}, + {53233, 51116}, + {53239, 7411}, + {53267, 5391}, + {53269, 44919}, + {53279, 39973}, + {53281, 8516}, + {53299, 10268}, + {53309, 10372}, + {53323, 9399}, + {53327, 40318}, + {53353, 38386}, + {53359, 3643}, + {53377, 41720}, + {53381, 13607}, + {53401, 10349}, + {53407, 42317}, + {53411, 34144}, + {53419, 50849}, + {53437, 15689}, + {53441, 1530}, + {53453, 44768}, + {53479, 1995}, + {53503, 45429}, + {53507, 6324}, + {53527, 34498}, + {53549, 843}, + {53551, 3838}, + {53569, 44396}, + {53591, 33804}, + {53593, 47821}, + {53597, 9400}, + {53609, 27702}, + {53611, 33165}, + {53617, 33391}, + {53623, 479}, + {53629, 49080}, + {53633, 48964}, + {53639, 18541}, + {53653, 42327}, + {53657, 42189}, + {53681, 7275}, + {53693, 28609}, + {53699, 32590}, + {53717, 20905}, + {53719, 13542}, + {53731, 20303}, + {53759, 8647}, + {53773, 47525}, + {53777, 38469}, + {53783, 1161}, + {53791, 52165}, + {53813, 13029}, + {53819, 26211}, + {53831, 39118}, + {53849, 41490}, + {53857, 15624}, + {53861, 2107}, + {53881, 17924}, + {53887, 40867}, + {53891, 48287}, + {53897, 43993}, + {53899, 29714}, + {53917, 17769}, + {53923, 49745}, + {53927, 19384}, + {53939, 53212}, + {53951, 26216}, + {53959, 32631}, + {53987, 46453}, + {53993, 28634}, + {54001, 31127}, + {54011, 21416}, + {54013, 13635}, + {54037, 25906}, + {54049, 31889}, + {54059, 27570}, + {54083, 46903}, + {54091, 16008}, + {54101, 14331}, + {54121, 23789}, + {54133, 20317}, + {54139, 39203}, + {54151, 30118}, + {54163, 46287}, + {54167, 51938}, + {54181, 50960}, + {54193, 30274}, + {54217, 21903}, + {54251, 537}, + {54269, 3294}, + {54277, 31118}, + {54287, 42020}, + {54293, 3328}, + {54311, 24926}, + {54319, 33934}, + {54323, 11945}, + {54331, 31765}, + {54347, 35307}, + {54361, 25578}, + {54367, 34279}, + {54371, 40298}, + {54377, 50143}, + {54401, 19981}, + {54403, 28394}, + {54409, 26829}, + {54413, 11163}, + {54419, 82}, + {54421, 49446}, + {54437, 9928}, + {54443, 22414}, + {54449, 10621}, + {54469, 41088}, + {54493, 33844}, + {54497, 37133}, + {54499, 31787}, + {54503, 23446}, + {54517, 36484}, + {54521, 23402}, + {54539, 14793}, + {54541, 43616}, + {54547, 47062}, + {54559, 4597}, + {54563, 32711}, + {54577, 47674}, + {54581, 35778}, + {54583, 33859}, + {54601, 9927}, + {54617, 50528}, + {54623, 21806}, + {54629, 3425}, + {54631, 35406}, + {54647, 5285}, + {54667, 14835}, + {54673, 11098}, + {54679, 36180}, + {54709, 32579}, + {54713, 10432}, + {54721, 34658}, + {54727, 2468}, + {54751, 29139}, + {54767, 45346}, + {54773, 30826}, + {54779, 44847}, + {54787, 33586}, + {54799, 49617}, + {54829, 19176}, + {54833, 25245}, + {54851, 8324}, + {54869, 52718}, + {54877, 47799}, + {54881, 50531}, + {54907, 11609}, + {54917, 46444}, + {54919, 47970}, + {54941, 26848}, + {54949, 39419}, + {54959, 22017}, + {54973, 16788}, + {54979, 211}, + {54983, 37769}, + {55001, 35861}, + {55009, 6627}, + {55021, 34051}, + {55049, 29436}, + {55051, 17777}, + {55057, 12617}, + {55061, 30207}, + {55073, 11601}, + {55079, 5833}, + {55103, 45393}, + {55109, 23770}, + {55117, 52413}, + {55127, 21853}, + {55147, 20805}, + {55163, 33732}, + {55171, 28398}, + {55201, 3198}, + {55207, 30948}, + {55213, 47860}, + {55217, 46284}, + {55219, 1922}, + {55229, 8980}, + {55243, 44285}, + {55249, 18357}, + {55259, 51478}, + {55291, 48897}, + {55313, 18393}, + {55331, 14643}, + {55333, 11536}, + {55337, 28805}, + {55339, 2866}, + {55343, 14132}, + {55351, 52959}, + {55373, 20598}, + {55381, 18340}, + {55399, 20164}, + {55411, 13963}, + {55439, 4265}, + {55441, 21323}, + {55457, 47427}, + {55469, 24424}, + {55487, 37960}, + {55501, 36954}, + {55511, 55090}, + {55529, 23757}, + {55541, 35575}, + {55547, 26875}, + {55579, 3045}, + {55589, 36361}, + {55603, 50906}, + {55609, 5366}, + {55619, 22587}, + {55621, 29477}, + {55631, 49985}, + {55633, 42972}, + {55639, 6022}, + {55661, 49442}, + {55663, 30414}, + {55667, 37388}, + {55673, 50159}, + {55681, 31706}, + {55691, 4557}, + {55697, 48912}, + {55711, 44009}, + {55717, 34504}, + {55721, 13118}, + {55733, 8984}, + {55763, 24183}, + {55787, 48169}, + {55793, 42018}, + {55799, 34840}, + {55807, 26880}, + {55813, 3384}, + {55817, 1230}, + {55819, 46665}, + {55823, 17266}, + {55829, 7739}, + {55837, 34913}, + {55843, 2814}, + {55849, 31333}, + {55871, 14758}, + {55889, 30276}, + {55897, 38999}, + {55901, 29886}, + {55903, 27306}, + {55921, 29217}, + {55927, 29452}, + {55931, 54529}, + {55933, 55357}, + {55949, 9656}, + {55967, 42929}, + {55987, 12117}, + {55997, 55301}, + {56003, 20147}, + {56009, 45840}, + {56039, 14724}, + {56041, 24409}, + {56053, 13702}, + {56081, 18245}, + {56087, 51986}, + {56093, 4447}, + {56099, 38530}, + {56101, 31749}, + {56113, 48500}, + {56123, 12509}, + {56131, 19808}, + {56149, 1127}, + {56167, 15214}, + {56171, 5438}, + {56179, 49267}, + {56197, 45861}, + {56207, 40474}, + {56209, 21259}, + {56237, 10481}, + {56239, 50359}, + {56249, 2487}, + {56263, 17196}, + {56267, 19129}, + {56269, 45931}, + {56299, 45379}, + {56311, 27044}, + {56333, 20730}, + {56359, 45174}, + {56369, 23328}, + {56377, 1768}, + {56383, 48325}, + {56393, 39146}, + {56401, 15607}, + {56417, 31058}, + {56431, 28060}, + {56437, 46226}, + {56443, 11415}, + {56453, 16770}, + {56467, 40539}, + {56473, 42831}, + {56477, 9623}, + {56479, 5323}, + {56489, 18073}, + {56501, 32013}, + {56503, 43517}, + {56509, 53748}, + {56519, 25578}, + {56527, 8}, + {56531, 29531}, + {56533, 45898}, + {56543, 32966}, + {56569, 52364}, + {56591, 52374}, + {56597, 38366}, + {56599, 24898}, + {56611, 22692}, + {56629, 29932}, + {56633, 24433}, + {56659, 8538}, + {56663, 3261}, + {56671, 38653}, + {56681, 36560}, + {56687, 51183}, + {56701, 46193}, + {56711, 32826}, + {56713, 28509}, + {56731, 41726}, + {56737, 21334}, + {56747, 9258}, + {56767, 20764}, + {56773, 46263}, + {56779, 37371}, + {56783, 18584}, + {56807, 28875}, + {56809, 23302}, + {56813, 1496}, + {56821, 10359}, + {56827, 50051}, + {56843, 55827}, + {56857, 43588}, + {56873, 37377}, + {56891, 14317}, + {56893, 47327}, + {56897, 1538}, + {56909, 56611}, + {56911, 497}, + {56921, 48770}, + {56923, 40855}, + {56929, 2991}, + {56941, 31428}, + {56951, 39906}, + {56957, 17557}, + {56963, 3136}, + {56983, 23621}, + {56989, 27845}, + {56993, 44459}, + {56999, 7346}, + {57037, 36575}, + {57041, 19697}, + {57047, 17542}, + {57059, 713}, + {57073, 28804}, + {57077, 46161}, + {57089, 23683}, + {57097, 29512}, + {57107, 46171}, + {57119, 41941}, + {57131, 24879}, + {57139, 32071}, + {57143, 20814}, + {57149, 9178}, + {57163, 8534}, + {57173, 17041}, + {57179, 9854}, + {57191, 7565}, + {57193, 56804}, + {57203, 48123}, + {57221, 1038}, + {57223, 34239}, + {57241, 11036}, + {57251, 18068}, + {57259, 39975}, + {57269, 35057}, + {57271, 49704}, + {57283, 29611}, + {57287, 32610}, + {57301, 47197}, + {57329, 9121}, + {57331, 29968}, + {57347, 4830}, + {57349, 54948}, + {57367, 16456}, + {57373, 6459}, + {57383, 6570}, + {57389, 4974}, + {57397, 35143}, + {57413, 2028}, + {57427, 31418}, + {57457, 11732}, + {57467, 3003}, + {57487, 16835}, + {57493, 45701}, + {57503, 25828}, + {57527, 47114}, + {57529, 14172}, + {57557, 11992}, + {57559, 13590}, + {57571, 15370}, + {57587, 25906}, + {57593, 31061}, + {57601, 54263}, + {57637, 16116}, + {57641, 5278}, + {57649, 1877}, + {57653, 18048}, + {57667, 10061}, + {57679, 34823}, + {57689, 27044}, + {57697, 51898}, + {57709, 19895}, + {57713, 33086}, + {57719, 23238}, + {57727, 39627}, + {57731, 57322}, + {57737, 24171}, + {57751, 34428}, + {57773, 51445}, + {57781, 27851}, + {57787, 22436}, + {57791, 35645}, + {57793, 13983}, + {57803, 21372}, + {57809, 15319}, + {57829, 35939}, + {57839, 23633}, + {57847, 6365}, + {57853, 31076}, + {57859, 45885}, + {57881, 1368}, + {57899, 27851}, + {57901, 33751}, + {57917, 36715}, + {57923, 17713}, + {57943, 43642}, + {57947, 10380}, + {57973, 8264}, + {57977, 28905}, + {57991, 36367}, + {58013, 16480}, + {58027, 30355}, + {58031, 3618}, + {58043, 12705}, + {58049, 32142}, + {58057, 41608}, + {58061, 35159}, + {58067, 39464}, + {58073, 24068}, + {58099, 35686}, + {58109, 26225}, + {58111, 28489}, + {58129, 25121}, + {58147, 39712}, + {58151, 198}, + {58153, 15232}, + {58169, 3153}, + {58171, 42204}, + {58189, 54939}, + {58193, 19060}, + {58199, 34885}, + {58207, 17104}, + {58211, 21046}, + {58217, 43797}, + {58229, 5454}, + {58231, 42742}, + {58237, 20589}, + {58243, 34122}, + {58271, 46594}, + {58309, 12471}, + {58313, 15371}, + {58321, 5651}, + {58337, 47384}, + {58363, 49060}, + {58367, 32700}, + {58369, 26216}, + {58379, 47561}, + {58391, 13382}, + {58393, 35887}, + {58403, 3507}, + {58411, 31933}, + {58417, 33404}, + {58427, 44670}, + {58439, 35204}, + {58441, 55463}, + {58451, 17746}, + {58453, 56216}, + {58477, 50701}, + {58481, 4537}, + {58511, 54677}, + {58537, 21543}, + {58543, 2219}, + {58549, 42294}, + {58567, 56586}, + {58573, 12270}, + {58579, 42184}, + {58601, 24802}, + {58603, 50257}, + {58613, 10795}, + {58631, 30013}, + {58657, 34889}, + {58661, 7862}, + {58679, 14128}, + {58687, 14255}, + {58693, 53691}, + {58699, 26848}, + {58711, 51247}, + {58727, 8613}, + {58733, 30473}, + {58741, 28079}, + {58757, 6020}, + {58763, 52488}, + {58771, 34948}, + {58787, 4364}, + {58789, 40588}, + {58831, 53350}, + {58889, 28489}, + {58897, 36032}, + {58901, 57910}, + {58907, 52393}, + {58909, 2124}, + {58913, 46663}, + {58921, 36082}, + {58937, 3595}, + {58943, 19762}, + {58963, 9863}, + {58967, 4289}, + {58979, 6629}, + {58991, 27840}, + {58997, 29443}, + {59009, 25069}, + {59011, 1547}, + {59021, 28488}, + {59023, 5834}, + {59029, 8674}, + {59051, 56037}, + {59053, 17798}, + {59063, 31131}, + {59069, 54688}, + {59077, 34106}, + {59083, 51554}, + {59093, 13658}, + {59107, 11257}, + {59113, 11704}, + {59119, 18565}, + {59123, 50447}, + {59141, 32209}, + {59149, 56909}, + {59159, 54727}, + {59167, 57875}, + {59183, 37757}, + {59197, 35772}, + {59207, 14125}, + {59209, 58061}, + {59219, 12217}, + {59221, 35822}, + {59233, 55043}, + {59239, 6530}, + {59243, 57829}, + {59263, 41380}, + {59273, 38599}, + {59281, 23096}, + {59333, 18159}, + {59341, 17043}, + {59351, 55877}, + {59357, 7979}, + {59359, 51611}, + {59369, 4167}, + {59377, 43859}, + {59387, 24046}, + {59393, 12867}, + {59399, 23499}, + {59407, 20424}, + {59417, 46896}, + {59419, 33232}, + {59441, 38459}, + {59443, 50146}, + {59447, 10619}, + {59453, 34232}, + {59467, 21009}, + {59471, 47910}, + {59473, 12310}, + {59497, 31228}, + {59509, 59455}, + {59513, 39766}, + {59539, 17656}, + {59557, 13202}, + {59561, 13070}, + {59567, 34979}, + {59581, 50563}, + {59611, 25026}, + {59617, 45823}, + {59621, 13649}, + {59627, 54463}, + {59629, 9477}, + {59651, 948}, + {59659, 56014}, + {59663, 20063}, + {59669, 57151}, + {59671, 26154}, + {59693, 56196}, + {59699, 40764}, + {59707, 40002}, + {59723, 56090}, + {59729, 28060}, + {59743, 6502}, + {59747, 48962}, + {59753, 22675}, + {59771, 24715}, + {59779, 2021}, + {59791, 37675}, + {59797, 7162}, + {59809, 48014}, + {59833, 54166}, + {59863, 50291}, + {59879, 2812}, + {59887, 28905}, + {59921, 17459}, + {59929, 4346}, + {59951, 59676}, + {59957, 38128}, + {59971, 32007}, + {59981, 28472}, + {59999, 40819}, + {60013, 35114}, + {60017, 32800}, + {60029, 18396}, + {60037, 16967}, + {60041, 58461}, + {60077, 58310}, + {60083, 43103}, + {60089, 1036}, + {60091, 41676}, + {60101, 35914}, + {60103, 27256}, + {60107, 24938}, + {60127, 35448}, + {60133, 9473}, + {60139, 31592}, + {60149, 28047}, + {60161, 22337}, + {60167, 3655}, + {60169, 276}, + {60209, 4647}, + {60217, 38163}, + {60223, 57452}, + {60251, 33280}, + {60257, 9635}, + {60259, 13475}, + {60271, 6427}, + {60289, 23826}, + {60293, 19537}, + {60317, 36730}, + {60331, 49979}, + {60337, 44327}, + {60343, 21216}, + {60353, 12050}, + {60373, 10898}, + {60383, 28509}, + {60397, 3674}, + {60413, 19938}, + {60427, 3540}, + {60443, 44267}, + {60449, 33954}, + {60457, 40127}, + {60493, 5239}, + {60497, 50045}, + {60509, 35106}, + {60521, 57961}, + {60527, 35059}, + {60539, 9163}, + {60589, 46673}, + {60601, 26940}, + {60607, 20110}, + {60611, 55}, + {60617, 1578}, + {60623, 28804}, + {60631, 56012}, + {60637, 48394}, + {60647, 48094}, + {60649, 11790}, + {60659, 22937}, + {60661, 757}, + {60679, 21419}, + {60689, 1592}, + {60703, 12792}, + {60719, 20685}, + {60727, 47571}, + {60733, 36142}, + {60737, 40596}, + {60757, 41449}, + {60761, 7931}, + {60763, 52595}, + {60773, 22971}, + {60779, 43323}, + {60793, 9911}, + {60811, 16721}, + {60821, 55666}, + {60859, 19385}, + {60869, 37808}, + {60887, 4307}, + {60889, 33309}, + {60899, 24062}, + {60901, 48337}, + {60913, 46381}, + {60917, 16100}, + {60919, 56132}, + {60923, 24108}, + {60937, 22061}, + {60943, 39996}, + {60953, 1331}, + {60961, 4567}, + {61001, 41845}, + {61007, 48928}, + {61027, 46922}, + {61031, 7951}, + {61043, 25802}, + {61051, 4528}, + {61057, 28875}, + {61091, 52114}, + {61099, 31608}, + {61121, 18175}, + {61129, 32280}, + {61141, 54269}, + {61151, 57816}, + {61153, 56705}, + {61169, 46580}, + {61211, 59004}, + {61223, 23768}, + {61231, 31609}, + {61253, 9935}, + {61261, 27570}, + {61283, 10598}, + {61291, 20588}, + {61297, 2106}, + {61331, 18988}, + {61333, 56780}, + {61339, 21989}, + {61343, 4327}, + {61357, 6552}, + {61363, 55076}, + {61379, 32039}, + {61381, 51600}, + {61403, 27181}, + {61409, 7807}, + {61417, 24689}, + {61441, 46648}, + {61463, 24905}, + {61469, 8398}, + {61471, 50340}, + {61483, 58869}, + {61487, 10492}, + {61493, 14397}, + {61507, 50179}, + {61511, 60430}, + {61519, 35482}, + {61543, 51272}, + {61547, 48654}, + {61553, 2082}, + {61559, 308}, + {61561, 60023}, + {61583, 38919}, + {61603, 4212}, + {61609, 4037}, + {61613, 12517}, + {61627, 41904}, + {61631, 8768}, + {61637, 2990}, + {61643, 8197}, + {61651, 30748}, + {61657, 41909}, + {61667, 2360}, + {61673, 13669}, + {61681, 24524}, + {61687, 44379}, + {61703, 26420}, + {61717, 58011}, + {61723, 10448}, + {61729, 47582}, + {61751, 34016}, + {61757, 9844}, + {61781, 1059}, + {61813, 1957}, + {61819, 13021}, + {61837, 4750}, + {61843, 10839}, + {61861, 14306}, + {61871, 26665}, + {61879, 7501}, + {61909, 39526}, + {61927, 41644}, + {61933, 4745}, + {61949, 17004}, + {61961, 37923}, + {61967, 45736}, + {61979, 53404}, + {61981, 16439}, + {61987, 53543}, + {61991, 35201}, + {62003, 33331}, + {62011, 34025}, + {62017, 40357}, + {62039, 4091}, + {62047, 36332}, + {62053, 19880}, + {62057, 44888}, + {62071, 27702}, + {62081, 599}, + {62099, 14238}, + {62119, 890}, + {62129, 23167}, + {62131, 15}, + {62137, 31248}, + {62141, 31608}, + {62143, 31161}, + {62171, 61420}, + {62189, 54346}, + {62191, 42915}, + {62201, 43041}, + {62207, 1666}, + {62213, 16803}, + {62219, 25951}, + {62233, 53541}, + {62273, 55421}, + {62297, 46493}, + {62299, 11255}, + {62303, 24374}, + {62311, 45799}, + {62323, 30473}, + {62327, 47247}, + {62347, 6829}, + {62351, 35530}, + {62383, 36267}, + {62401, 37278}, + {62417, 39100}, + {62423, 6274}, + {62459, 27923}, + {62467, 42912}, + {62473, 16738}, + {62477, 55459}, + {62483, 45012}, + {62497, 42917}, + {62501, 47151}, + {62507, 44792}, + {62533, 34402}, + {62539, 60155}, + {62549, 45850}, + {62563, 49528}, + {62581, 58423}, + {62591, 47172}, + {62597, 4725}, + {62603, 14266}, + {62617, 34492}, + {62627, 12845}, + {62633, 44291}, + {62639, 36420}, + {62653, 59379}, + {62659, 25905}, + {62683, 466}, + {62687, 49837}, + {62701, 32039}, + {62723, 24319}, + {62731, 57294}, + {62743, 58101}, + {62753, 44752}, + {62761, 54547}, + {62773, 57486}, + {62791, 52801}, + {62801, 56443}, + {62819, 11077}, + {62827, 20878}, + {62851, 24377}, + {62861, 18975}, + {62869, 43028}, + {62873, 62236}, + {62897, 25263}, + {62903, 36297}, + {62921, 56928}, + {62927, 428}, + {62929, 54605}, + {62939, 9149}, + {62969, 12912}, + {62971, 52858}, + {62981, 27631}, + {62983, 55366}, + {62987, 8640}, + {62989, 35559}, + {63029, 34805}, + {63031, 36883}, + {63059, 16159}, + {63067, 56366}, + {63073, 43678}, + {63079, 41297}, + {63097, 37719}, + {63103, 4220}, + {63113, 22626}, + {63127, 13883}, + {63131, 32285}, + {63149, 32474}, + {63179, 28308}, + {63197, 17839}, + {63199, 9050}, + {63211, 331}, + {63241, 21859}, + {63247, 21681}, + {63277, 1131}, + {63281, 54725}, + {63299, 51759}, + {63311, 37342}, + {63313, 31131}, + {63317, 49563}, + {63331, 38229}, + {63337, 42608}, + {63347, 11727}, + {63353, 40180}, + {63361, 57094}, + {63367, 43372}, + {63377, 43057}, + {63389, 16766}, + {63391, 10876}, + {63397, 36980}, + {63409, 26706}, + {63419, 11753}, + {63421, 35258}, + {63439, 22520}, + {63443, 34422}, + {63463, 47863}, + {63467, 46748}, + {63473, 38227}, + {63487, 36097}, + {63493, 53515}, + {63499, 60000}, + {63521, 35578}, + {63527, 34512}, + {63533, 23443}, + {63541, 21804}, + {63559, 59263}, + {63577, 26510}, + {63587, 11962}, + {63589, 30371}, + {63599, 43840}, + {63601, 34818}, + {63607, 5855}, + {63611, 3108}, + {63617, 14621}, + {63629, 29479}, + {63647, 15375}, + {63649, 16697}, + {63659, 29477}, + {63667, 44754}, + {63671, 43279}, + {63689, 32020}, + {63691, 3324}, + {63697, 19624}, + {63703, 28634}, + {63709, 33356}, + {63719, 46087}, + {63727, 19490}, + {63737, 9109}, + {63743, 61744}, + {63761, 12654}, + {63773, 19709}, + {63781, 26474}, + {63793, 59854}, + {63799, 25006}, + {63803, 3895}, + {63809, 33164}, + {63823, 10134}, + {63839, 54911}, + {63841, 41072}, + {63853, 42145}, + {63857, 44340}, + {63863, 932}, + {63901, 51931}, + {63907, 46838}, + {63913, 17890}, + {63929, 29139}, + {63949, 57758}, + {63977, 15982}, + {63997, 49733}, + {64007, 8684}, + {64013, 21254}, + {64019, 27789}, + {64033, 4682}, + {64037, 13598}, + {64063, 17084}, + {64067, 48406}, + {64081, 47244}, + {64091, 59027}, + {64109, 32007}, + {64123, 797}, + {64151, 56679}, + {64153, 14945}, + {64157, 9842}, + {64171, 53096}, + {64187, 661}, + {64189, 1609}, + {64217, 32850}, + {64223, 19415}, + {64231, 29436}, + {64237, 56786}, + {64271, 28213}, + {64279, 62824}, + {64283, 24089}, + {64301, 10545}, + {64303, 62886}, + {64319, 26602}, + {64327, 15882}, + {64333, 8785}, + {64373, 7097}, + {64381, 42352}, + {64399, 49238}, + {64403, 24520}, + {64433, 20267}, + {64439, 27746}, + {64451, 21628}, + {64453, 21164}, + {64483, 26891}, + {64489, 6545}, + {64499, 30317}, + {64513, 22376}, + {64553, 41328}, + {64567, 9362}, + {64577, 3810}, + {64579, 23215}, + {64591, 36957}, + {64601, 38119}, + {64609, 490}, + {64613, 63797}, + {64621, 51225}, + {64627, 54403}, + {64633, 20416}, + {64661, 25655}, + {64663, 9363}, + {64667, 18367}, + {64679, 39803}, + {64693, 51295}, + {64709, 48403}, + {64717, 1480}, + {64747, 40662}, + {64763, 42255}, + {64781, 61426}, + {64783, 31061}, + {64793, 40446}, + {64811, 22720}, + {64817, 35229}, + {64849, 11246}, + {64853, 11102}, + {64871, 43317}, + {64877, 12869}, + {64879, 56929}, + {64891, 54340}, + {64901, 62642}, + {64919, 61158}, + {64921, 2010}, + {64927, 49499}, + {64937, 12070}, + {64951, 26327}, + {64969, 20613}, + {64997, 40424}, + {65003, 3189}, + {65011, 36970}, + {65027, 41141}, + {65029, 16182}, + {65033, 23964}, + {65053, 53985}, + {65063, 50153}, + {65071, 30276}, + {65089, 1469}, + {65099, 24811}, + {65101, 43476}, + {65111, 57267}, + {65119, 22661}, + {65123, 42620}, + {65129, 212}, + {65141, 64891}, + {65147, 45252}, + {65167, 64395}, + {65171, 18419}, + {65173, 34422}, + {65179, 33328}, + {65183, 58255}, + {65203, 10060}, + {65213, 51425}, + {65239, 5171}, + {65257, 34512}, + {65267, 54268}, + {65269, 55364}, + {65287, 35229}, + {65293, 56141}, + {65309, 49439}, + {65323, 16278}, + {65327, 15324}, + {65353, 11242}, + {65357, 5978}, + {65371, 63297}, + {65381, 16078}, + {65393, 62444}, + {65407, 52936}, + {65413, 58466}, + {65419, 32209}, + {65423, 22196}, + {65437, 8099}, + {65447, 52162}, + {65449, 65030}, + {65479, 23375}, + {65497, 39350}, + {65519, 53607}, + {65521, 59564}, +} diff --git a/src/vdf_go/discriminant.go b/src/vdf_go/discriminant.go index 917f759..0e6cae5 100644 --- a/src/vdf_go/discriminant.go +++ b/src/vdf_go/discriminant.go @@ -12,41 +12,7 @@ type Pair struct { q int64 } -var odd_primes = primeLessThanN(1 << 16) var m = 8 * 3 * 5 * 7 * 11 * 13 -var residues = make([]int, 0, m) -var sieve_info = make([]Pair, 0, len(odd_primes)) -var isLibraryReady = false - -func Init() { - if !isLibraryReady { - for x := 7; x < m; x += 8 { - if (x%3 != 0) && (x%5 != 0) && (x%7 != 0) && (x%11 != 0) && (x%13 != 0) { - residues = append(residues, x) - } - } - - var odd_primes_above_13 = odd_primes[5:] - - for i := 0; i < len(odd_primes_above_13); i++ { - prime := int64(odd_primes_above_13[i]) - sieve_info = append(sieve_info, Pair{p: int64(prime), q: modExp(int64(m)%prime, prime-2, prime)}) - } - isLibraryReady = true - } -} - -func modExp(base, exponent, modulus int64) int64 { - if modulus == 1 { - return 0 - } - base = base % modulus - result := int64(1) - for i := int64(0); i < exponent; i++ { - result = (result * base) % modulus - } - return result -} func EntropyFromSeed(seed []byte, byte_count int) []byte { buffer := bytes.Buffer{} diff --git a/src/vdf_go/proof_wesolowski.go b/src/vdf_go/proof_wesolowski.go index 31870dc..2620cd8 100644 --- a/src/vdf_go/proof_wesolowski.go +++ b/src/vdf_go/proof_wesolowski.go @@ -73,7 +73,6 @@ func GenerateVDF(seed []byte, iterations, int_size_bits int) ([]byte, []byte) { func GenerateVDFWithStopChan(seed []byte, iterations, int_size_bits int, stop <-chan struct{}) ([]byte, []byte) { defer timeTrack(time.Now()) - Init() D := CreateDiscriminant(seed, int_size_bits) x := NewClassGroupFromAbDiscriminant(big.NewInt(2), big.NewInt(1), D) @@ -90,7 +89,7 @@ func VerifyVDF(seed, proof_blob []byte, iterations, int_size_bits int) bool { defer timeTrack(time.Now()) int_size := (int_size_bits + 16) >> 4 - Init() + D := CreateDiscriminant(seed, int_size_bits) x := NewClassGroupFromAbDiscriminant(big.NewInt(2), big.NewInt(1), D) y, _ := NewClassGroupFromBytesDiscriminant(proof_blob[:(2*int_size)], D)