@peerbit/riblt 0.0.1-5cf61cb
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +101 -0
- package/package.json +58 -0
- package/src/encoding.rs +397 -0
- package/src/lib.rs +7 -0
- package/src/sketch.rs +101 -0
- package/src/testing.rs +50 -0
- package/src/tests.rs +2343 -0
- package/src/wasm.rs +173 -0
package/src/tests.rs
ADDED
|
@@ -0,0 +1,2343 @@
|
|
|
1
|
+
use super::encoding::*;
|
|
2
|
+
use super::testing::*;
|
|
3
|
+
use std::collections::BTreeSet;
|
|
4
|
+
|
|
5
|
+
#[test]
|
|
6
|
+
fn diff() {
|
|
7
|
+
let alice: [TestU64; 10] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
|
|
8
|
+
let bob: [TestU64; 10] = [1, 3, 4, 5, 6, 7, 8, 9, 10, 11];
|
|
9
|
+
|
|
10
|
+
let mut enc = Encoder::<TestU64>::new();
|
|
11
|
+
for x in alice {
|
|
12
|
+
enc.add_symbol(&x);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
let mut dec = Decoder::<TestU64>::new();
|
|
16
|
+
for x in bob {
|
|
17
|
+
dec.add_symbol(&x);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
let mut cost = 0;
|
|
21
|
+
|
|
22
|
+
loop {
|
|
23
|
+
let s = enc.produce_next_coded_symbol();
|
|
24
|
+
cost += 1;
|
|
25
|
+
dec.add_coded_symbol(&s);
|
|
26
|
+
assert!(!dec.try_decode().is_err());
|
|
27
|
+
if dec.decoded() {
|
|
28
|
+
break;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// 2 is exclusive to Alice
|
|
33
|
+
assert_eq!(dec.remote.symbols[0].symbol, 2);
|
|
34
|
+
|
|
35
|
+
// 11 is exclusive to Bob
|
|
36
|
+
assert_eq!(dec.local.symbols[0].symbol, 11);
|
|
37
|
+
|
|
38
|
+
assert_eq!(cost, 2);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
#[test]
|
|
42
|
+
fn encode_and_decode() {
|
|
43
|
+
let mut enc = Encoder::<TestSymbol>::new();
|
|
44
|
+
let mut dec = Decoder::<TestSymbol>::new();
|
|
45
|
+
|
|
46
|
+
let mut local = BTreeSet::<u64>::new();
|
|
47
|
+
let mut remote = BTreeSet::<u64>::new();
|
|
48
|
+
|
|
49
|
+
let nlocal = 5000; // 50000;
|
|
50
|
+
let nremote = 5000; // 50000;
|
|
51
|
+
let ncommon = 10000; // 100000;
|
|
52
|
+
|
|
53
|
+
let mut next_id: u64 = 0;
|
|
54
|
+
|
|
55
|
+
for _ in 0..nlocal {
|
|
56
|
+
let s = new_test_symbol(next_id);
|
|
57
|
+
next_id += 1;
|
|
58
|
+
dec.add_symbol(&s);
|
|
59
|
+
local.insert(s.hash());
|
|
60
|
+
}
|
|
61
|
+
for _ in 0..nremote {
|
|
62
|
+
let s = new_test_symbol(next_id);
|
|
63
|
+
next_id += 1;
|
|
64
|
+
enc.add_symbol(&s);
|
|
65
|
+
remote.insert(s.hash());
|
|
66
|
+
}
|
|
67
|
+
for _ in 0..ncommon {
|
|
68
|
+
let s = new_test_symbol(next_id);
|
|
69
|
+
next_id += 1;
|
|
70
|
+
enc.add_symbol(&s);
|
|
71
|
+
dec.add_symbol(&s);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
let mut ncw = 0;
|
|
75
|
+
|
|
76
|
+
loop {
|
|
77
|
+
dec.add_coded_symbol(&enc.produce_next_coded_symbol());
|
|
78
|
+
ncw += 1;
|
|
79
|
+
assert!(!dec.try_decode().is_err());
|
|
80
|
+
if dec.decoded() {
|
|
81
|
+
break;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
for v in dec.remote.symbols.iter() {
|
|
86
|
+
remote.remove(&v.hash);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
for v in dec.local.symbols.iter() {
|
|
90
|
+
local.remove(&v.hash);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
assert_eq!(remote.len(), 0);
|
|
94
|
+
assert_eq!(local.len(), 0);
|
|
95
|
+
assert!(dec.decoded());
|
|
96
|
+
|
|
97
|
+
println!("{} codewords until fully decoded", ncw);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
#[test]
|
|
101
|
+
fn encode_to_decoder() {
|
|
102
|
+
let alice: [TestU64; 10] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
|
|
103
|
+
let bob: [TestU64; 10] = [1, 3, 4, 5, 6, 7, 8, 9, 10, 11];
|
|
104
|
+
|
|
105
|
+
let mut enc = Encoder::<TestU64>::new();
|
|
106
|
+
for x in alice {
|
|
107
|
+
enc.add_symbol(&x);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
let mut enc2: Encoder<u64> = Encoder::<TestU64>::new();
|
|
111
|
+
for x in bob {
|
|
112
|
+
enc2.add_symbol(&x);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
let mut dec = enc2.to_decoder();
|
|
116
|
+
|
|
117
|
+
let mut cost = 0;
|
|
118
|
+
|
|
119
|
+
loop {
|
|
120
|
+
let s = enc.produce_next_coded_symbol();
|
|
121
|
+
cost += 1;
|
|
122
|
+
dec.add_coded_symbol(&s);
|
|
123
|
+
assert!(!dec.try_decode().is_err());
|
|
124
|
+
if dec.decoded() {
|
|
125
|
+
break;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
// 2 is exclusive to Alice
|
|
130
|
+
assert_eq!(dec.remote.symbols[0].symbol, 2);
|
|
131
|
+
|
|
132
|
+
// 11 is exclusive to Bob
|
|
133
|
+
assert_eq!(dec.local.symbols[0].symbol, 11);
|
|
134
|
+
|
|
135
|
+
assert_eq!(cost, 2);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
#[test]
|
|
139
|
+
fn reset() {
|
|
140
|
+
let alice_0: [TestU64; 10] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
|
|
141
|
+
let bob_0: [TestU64; 10] = [1, 3, 4, 5, 6, 7, 8, 9, 10, 11];
|
|
142
|
+
let alice_1: [TestU64; 10] = [1, 2, 3, 4, 5, 6, 7, 8, 10, 11];
|
|
143
|
+
let bob_1: [TestU64; 10] = [1, 2, 4, 5, 6, 7, 8, 9, 10, 11];
|
|
144
|
+
|
|
145
|
+
let mut enc = Encoder::<TestU64>::new();
|
|
146
|
+
for x in alice_0 {
|
|
147
|
+
enc.add_symbol(&x);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
let mut dec = Decoder::<TestU64>::new();
|
|
151
|
+
for x in bob_0 {
|
|
152
|
+
dec.add_symbol(&x);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
let mut cost = 0;
|
|
156
|
+
|
|
157
|
+
loop {
|
|
158
|
+
let s = enc.produce_next_coded_symbol();
|
|
159
|
+
cost += 1;
|
|
160
|
+
dec.add_coded_symbol(&s);
|
|
161
|
+
assert!(!dec.try_decode().is_err());
|
|
162
|
+
if dec.decoded() {
|
|
163
|
+
break;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
enc.reset();
|
|
168
|
+
dec.reset();
|
|
169
|
+
|
|
170
|
+
for x in alice_1 {
|
|
171
|
+
enc.add_symbol(&x);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
for x in bob_1 {
|
|
175
|
+
dec.add_symbol(&x);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
cost = 0;
|
|
179
|
+
|
|
180
|
+
loop {
|
|
181
|
+
let s = enc.produce_next_coded_symbol();
|
|
182
|
+
cost += 1;
|
|
183
|
+
dec.add_coded_symbol(&s);
|
|
184
|
+
assert!(!dec.try_decode().is_err());
|
|
185
|
+
if dec.decoded() {
|
|
186
|
+
break;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
// 3 is exclusive to Alice
|
|
191
|
+
assert_eq!(dec.remote.symbols[0].symbol, 3);
|
|
192
|
+
|
|
193
|
+
// 9 is exclusive to Bob
|
|
194
|
+
assert_eq!(dec.local.symbols[0].symbol, 9);
|
|
195
|
+
|
|
196
|
+
assert_eq!(cost, 2);
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
#[test]
|
|
200
|
+
fn get_symbols() {
|
|
201
|
+
let alice: [TestU64; 10] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
|
|
202
|
+
let bob: [TestU64; 10] = [1, 3, 4, 5, 6, 7, 8, 9, 10, 11];
|
|
203
|
+
|
|
204
|
+
let mut enc = Encoder::<TestU64>::new();
|
|
205
|
+
for x in alice {
|
|
206
|
+
enc.add_symbol(&x);
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
let mut dec = Decoder::<TestU64>::new();
|
|
210
|
+
for x in bob {
|
|
211
|
+
dec.add_symbol(&x);
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
let mut cost = 0;
|
|
215
|
+
|
|
216
|
+
loop {
|
|
217
|
+
let s = enc.produce_next_coded_symbol();
|
|
218
|
+
cost += 1;
|
|
219
|
+
dec.add_coded_symbol(&s);
|
|
220
|
+
assert!(!dec.try_decode().is_err());
|
|
221
|
+
if dec.decoded() {
|
|
222
|
+
break;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
let remote = dec.get_remote_symbols();
|
|
227
|
+
let local = dec.get_local_symbols();
|
|
228
|
+
|
|
229
|
+
// 2 is exclusive to Alice
|
|
230
|
+
assert_eq!(remote[0].symbol, 2);
|
|
231
|
+
|
|
232
|
+
// 11 is exclusive to Bob
|
|
233
|
+
assert_eq!(local[0].symbol, 11);
|
|
234
|
+
|
|
235
|
+
assert_eq!(cost, 2);
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
#[test]
|
|
239
|
+
fn test_remove_symbol() {
|
|
240
|
+
let mut encoder = Encoder::<TestU64>::new();
|
|
241
|
+
|
|
242
|
+
// Add symbols to the encoder
|
|
243
|
+
encoder.add_symbol(&1);
|
|
244
|
+
encoder.add_symbol(&2);
|
|
245
|
+
encoder.add_symbol(&3);
|
|
246
|
+
|
|
247
|
+
assert_eq!(encoder.symbols.len(), 3);
|
|
248
|
+
|
|
249
|
+
// Remove a symbol
|
|
250
|
+
encoder.remove_symbol(&2);
|
|
251
|
+
|
|
252
|
+
// Check that the symbol was removed
|
|
253
|
+
assert_eq!(encoder.symbols.len(), 2);
|
|
254
|
+
assert!(!encoder.symbols.iter().any(|s| s.symbol == 2));
|
|
255
|
+
|
|
256
|
+
// Check that mappings and queue are updated correctly
|
|
257
|
+
assert_eq!(encoder.mappings.len(), 2);
|
|
258
|
+
assert_eq!(encoder.queue.len(), 2);
|
|
259
|
+
assert!(encoder.queue.iter().all(|sm| sm.source_idx < 2));
|
|
260
|
+
|
|
261
|
+
// Ensure that the heap property is maintained
|
|
262
|
+
for i in 1..encoder.queue.len() {
|
|
263
|
+
let parent = (i - 1) / 2;
|
|
264
|
+
assert!(
|
|
265
|
+
encoder.queue[parent].coded_idx <= encoder.queue[i].coded_idx,
|
|
266
|
+
"Heap property violated at index {}",
|
|
267
|
+
i
|
|
268
|
+
);
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
#[test]
|
|
273
|
+
fn test_diff_after_removal_of_symbol() {
|
|
274
|
+
let alice: [TestU64; 5] = [1, 2, 3, 5, 10];
|
|
275
|
+
let bob: [TestU64; 4] = [1, 2, 3, 6];
|
|
276
|
+
|
|
277
|
+
let mut enc = Encoder::<TestU64>::new();
|
|
278
|
+
for x in alice {
|
|
279
|
+
enc.add_symbol(&x);
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
enc.remove_symbol(&10);
|
|
283
|
+
|
|
284
|
+
let mut dec = Decoder::<TestU64>::new();
|
|
285
|
+
for x in bob {
|
|
286
|
+
dec.add_symbol(&x);
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
let mut cost = 0;
|
|
290
|
+
|
|
291
|
+
loop {
|
|
292
|
+
let s = enc.produce_next_coded_symbol();
|
|
293
|
+
cost += 1;
|
|
294
|
+
dec.add_coded_symbol(&s);
|
|
295
|
+
assert!(!dec.try_decode().is_err());
|
|
296
|
+
if dec.decoded() {
|
|
297
|
+
break;
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
// 5 is exclusive to Alice
|
|
302
|
+
assert_eq!(dec.remote.symbols[0].symbol, 5);
|
|
303
|
+
|
|
304
|
+
// 6 is exclusive to Bob
|
|
305
|
+
assert_eq!(dec.local.symbols[0].symbol, 6);
|
|
306
|
+
|
|
307
|
+
assert_eq!(cost, 2);
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
#[test]
|
|
311
|
+
fn test_clone() {
|
|
312
|
+
let alice: [TestU64; 5] = [1, 2, 3, 5, 10];
|
|
313
|
+
let mut enc = Encoder::<TestU64>::new();
|
|
314
|
+
for x in alice {
|
|
315
|
+
enc.add_symbol(&x);
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
// produce some symbols and reuse and produce the same symbols and assert they are equal
|
|
319
|
+
let mut enc2 = enc.clone();
|
|
320
|
+
|
|
321
|
+
let mut produces: Vec<CodedSymbol<TestU64>> = Vec::new();
|
|
322
|
+
for _ in 0..10 {
|
|
323
|
+
produces.push(enc.produce_next_coded_symbol());
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
for i in 0..10 {
|
|
327
|
+
assert_eq!(enc2.produce_next_coded_symbol(), produces[i]);
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
const MAPPING_REF: [u64; 2000] = [
|
|
331
|
+
2,
|
|
332
|
+
3,
|
|
333
|
+
9,
|
|
334
|
+
10,
|
|
335
|
+
11,
|
|
336
|
+
16,
|
|
337
|
+
27,
|
|
338
|
+
31,
|
|
339
|
+
42,
|
|
340
|
+
133,
|
|
341
|
+
258,
|
|
342
|
+
271,
|
|
343
|
+
1969,
|
|
344
|
+
2167,
|
|
345
|
+
4018,
|
|
346
|
+
19352,
|
|
347
|
+
25878,
|
|
348
|
+
38498,
|
|
349
|
+
40513,
|
|
350
|
+
64416,
|
|
351
|
+
169690,
|
|
352
|
+
740928,
|
|
353
|
+
1519972,
|
|
354
|
+
1968074,
|
|
355
|
+
8208040,
|
|
356
|
+
10400231,
|
|
357
|
+
11695869,
|
|
358
|
+
12610398,
|
|
359
|
+
13893610,
|
|
360
|
+
17287422,
|
|
361
|
+
18066631,
|
|
362
|
+
23660562,
|
|
363
|
+
25888307,
|
|
364
|
+
179863602,
|
|
365
|
+
215986671,
|
|
366
|
+
801810653,
|
|
367
|
+
3402781043,
|
|
368
|
+
4764885828,
|
|
369
|
+
5866803996,
|
|
370
|
+
7543450409,
|
|
371
|
+
12720236490,
|
|
372
|
+
13661179802,
|
|
373
|
+
13753445813,
|
|
374
|
+
111830685287,
|
|
375
|
+
195882855340,
|
|
376
|
+
226531037293,
|
|
377
|
+
242336935646,
|
|
378
|
+
1129731321329,
|
|
379
|
+
1294351746820,
|
|
380
|
+
1599276494338,
|
|
381
|
+
5057796363277,
|
|
382
|
+
16408421055474,
|
|
383
|
+
22599230754570,
|
|
384
|
+
59952571173986,
|
|
385
|
+
78564300477335,
|
|
386
|
+
89699944202590,
|
|
387
|
+
157610705439900,
|
|
388
|
+
219719584416704,
|
|
389
|
+
481011332100199,
|
|
390
|
+
769537964478830,
|
|
391
|
+
1951573105410798,
|
|
392
|
+
10085780461085687,
|
|
393
|
+
13787072445283817,
|
|
394
|
+
37342710031612493,
|
|
395
|
+
59480048735071153,
|
|
396
|
+
121481616280401865,
|
|
397
|
+
793200340131224137,
|
|
398
|
+
2412173016519570249,
|
|
399
|
+
3146877963700278857,
|
|
400
|
+
3268001426615912441,
|
|
401
|
+
5674548168104436217,
|
|
402
|
+
5956047874350559353,
|
|
403
|
+
8538589375516646521,
|
|
404
|
+
9187948460596693497,
|
|
405
|
+
9287078302212508649,
|
|
406
|
+
11901191482218757609,
|
|
407
|
+
3039525328105790953,
|
|
408
|
+
3160019853479824921,
|
|
409
|
+
3316894547750845017,
|
|
410
|
+
3360199901558658041,
|
|
411
|
+
3973211352801976185,
|
|
412
|
+
4495634179432494649,
|
|
413
|
+
13839094117823393337,
|
|
414
|
+
1873544722954184249,
|
|
415
|
+
1978397965294508569,
|
|
416
|
+
4106526400364231705,
|
|
417
|
+
4106526400364231704,
|
|
418
|
+
5748900985946378264,
|
|
419
|
+
6413241262779981208,
|
|
420
|
+
7540893577959613720,
|
|
421
|
+
14503551309577267480,
|
|
422
|
+
15808630469550402584,
|
|
423
|
+
1342473340942458392,
|
|
424
|
+
1424762746350639176,
|
|
425
|
+
1684460149527201672,
|
|
426
|
+
2379581915029727240,
|
|
427
|
+
3747569155815616776,
|
|
428
|
+
5592924978515277576,
|
|
429
|
+
6066607445344116232,
|
|
430
|
+
6390483890218260936,
|
|
431
|
+
7400848894829915464,
|
|
432
|
+
9114065277016819016,
|
|
433
|
+
16187285940290710856,
|
|
434
|
+
7849920258579342664,
|
|
435
|
+
11101256641551275848,
|
|
436
|
+
16129462018875097928,
|
|
437
|
+
16129462018875097927,
|
|
438
|
+
4801353112721507143,
|
|
439
|
+
6136779504944517447,
|
|
440
|
+
7503218853735661639,
|
|
441
|
+
2080860561266718791,
|
|
442
|
+
10786716632668951623,
|
|
443
|
+
10786716632668951622,
|
|
444
|
+
16961429938863261766,
|
|
445
|
+
10311279425160263750,
|
|
446
|
+
104292808938934342,
|
|
447
|
+
134112991484844162,
|
|
448
|
+
198471139819754274,
|
|
449
|
+
733115700081127394,
|
|
450
|
+
2089443019692571106,
|
|
451
|
+
3369894856054728418,
|
|
452
|
+
6050017276115829474,
|
|
453
|
+
11936690373413264098,
|
|
454
|
+
15562840077570483938,
|
|
455
|
+
5636000350790340322,
|
|
456
|
+
6351779967804027490,
|
|
457
|
+
12469315387929274978,
|
|
458
|
+
12469315387929274977,
|
|
459
|
+
14633785144808694369,
|
|
460
|
+
2279805332619779681,
|
|
461
|
+
2419514708606640513,
|
|
462
|
+
4704777080346762369,
|
|
463
|
+
5201870862512480833,
|
|
464
|
+
7012842863031724097,
|
|
465
|
+
14150149540635211841,
|
|
466
|
+
1331373460529622081,
|
|
467
|
+
2149758645815525441,
|
|
468
|
+
2329291395182032929,
|
|
469
|
+
2329291395182032928,
|
|
470
|
+
4232619690558051872,
|
|
471
|
+
6056262690198436128,
|
|
472
|
+
6468462729948783456,
|
|
473
|
+
11038122849812092768,
|
|
474
|
+
2591110160050411360,
|
|
475
|
+
7672237843530619744,
|
|
476
|
+
14304804239604551520,
|
|
477
|
+
14304804239604551519,
|
|
478
|
+
15619874751055778399,
|
|
479
|
+
17743347839792802143,
|
|
480
|
+
6058358948741427551,
|
|
481
|
+
9303564995229632863,
|
|
482
|
+
17729416846251748703,
|
|
483
|
+
5369005043210817887,
|
|
484
|
+
8569050157856370015,
|
|
485
|
+
8569050157856370014,
|
|
486
|
+
8569050157856370013,
|
|
487
|
+
3227349021934157149,
|
|
488
|
+
3535287945783948573,
|
|
489
|
+
3935946846676377821,
|
|
490
|
+
4236074163382057309,
|
|
491
|
+
9107024244014938461,
|
|
492
|
+
10914459567294415965,
|
|
493
|
+
11667108085865846109,
|
|
494
|
+
3662179474506839389,
|
|
495
|
+
7967130254775215965,
|
|
496
|
+
8830960836245594589,
|
|
497
|
+
14905851974320035293,
|
|
498
|
+
1007073299401230813,
|
|
499
|
+
2245994131707039453,
|
|
500
|
+
4143338838841905629,
|
|
501
|
+
4337517823382254813,
|
|
502
|
+
4337517823382254812,
|
|
503
|
+
10109133361272261852,
|
|
504
|
+
10134678711284725404,
|
|
505
|
+
10134678711284725403,
|
|
506
|
+
10134678711284725402,
|
|
507
|
+
8941302127777003162,
|
|
508
|
+
17843741186085099162,
|
|
509
|
+
5949065987573128858,
|
|
510
|
+
10547605048042827418,
|
|
511
|
+
13614866558375183514,
|
|
512
|
+
10704794643328619674,
|
|
513
|
+
10704794643328619673,
|
|
514
|
+
11098375608905362777,
|
|
515
|
+
774368807631029593,
|
|
516
|
+
1060479282120162617,
|
|
517
|
+
1156698037664071209,
|
|
518
|
+
1590750824257224489,
|
|
519
|
+
1960183947388709929,
|
|
520
|
+
2204782844626302121,
|
|
521
|
+
5010682958806542505,
|
|
522
|
+
5010682958806542504,
|
|
523
|
+
5996548184666151848,
|
|
524
|
+
10756391040068727720,
|
|
525
|
+
14041383793343730088,
|
|
526
|
+
16597313514341048744,
|
|
527
|
+
9345895310700212648,
|
|
528
|
+
10847562036107868840,
|
|
529
|
+
10875646772256257720,
|
|
530
|
+
10875646772256257719,
|
|
531
|
+
11013737712730298087,
|
|
532
|
+
16494856621529915111,
|
|
533
|
+
8990302363676042983,
|
|
534
|
+
1212708886654643943,
|
|
535
|
+
1546773102096956071,
|
|
536
|
+
1855797033275182567,
|
|
537
|
+
1867403762412013191,
|
|
538
|
+
2121163876524052615,
|
|
539
|
+
2189469989128491199,
|
|
540
|
+
4048073549205111999,
|
|
541
|
+
4696327277030687039,
|
|
542
|
+
5109128328956650239,
|
|
543
|
+
11032757470468873983,
|
|
544
|
+
11340821017985174975,
|
|
545
|
+
13045245911355948991,
|
|
546
|
+
16294018844911885759,
|
|
547
|
+
15012600996198518207,
|
|
548
|
+
5667489610198021567,
|
|
549
|
+
6987594811386372543,
|
|
550
|
+
11555425923718443967,
|
|
551
|
+
4397077840473162687,
|
|
552
|
+
212688111898520511,
|
|
553
|
+
511935402764606847,
|
|
554
|
+
765931598683386463,
|
|
555
|
+
935962892665704287,
|
|
556
|
+
1074947402708844895,
|
|
557
|
+
2843137294803817311,
|
|
558
|
+
4071635093069174879,
|
|
559
|
+
13450160332418609247,
|
|
560
|
+
17591506076150091871,
|
|
561
|
+
17591506076150091870,
|
|
562
|
+
17591506076150091869,
|
|
563
|
+
17591506076150091868,
|
|
564
|
+
3996360260946153564,
|
|
565
|
+
9251564056549053532,
|
|
566
|
+
12080025123908720220,
|
|
567
|
+
11451311144194158172,
|
|
568
|
+
14287408862835552348,
|
|
569
|
+
14287408862835552347,
|
|
570
|
+
14287408862835552346,
|
|
571
|
+
7697035038012051546,
|
|
572
|
+
10490906337534715482,
|
|
573
|
+
12092945331948120410,
|
|
574
|
+
12092945331948120409,
|
|
575
|
+
17639632411565625689,
|
|
576
|
+
4968025126303783257,
|
|
577
|
+
7583734645732994393,
|
|
578
|
+
10382747139942565209,
|
|
579
|
+
10382747139942565208,
|
|
580
|
+
749351793097401688,
|
|
581
|
+
3115043874914375000,
|
|
582
|
+
3375666296643347192,
|
|
583
|
+
3581616863776224760,
|
|
584
|
+
4073229105489566392,
|
|
585
|
+
7264348951097761976,
|
|
586
|
+
7264348951097761975,
|
|
587
|
+
12460208134977411255,
|
|
588
|
+
12460208134977411254,
|
|
589
|
+
14822130477695273654,
|
|
590
|
+
14896883595007080502,
|
|
591
|
+
13481528102242852918,
|
|
592
|
+
4504929675373891638,
|
|
593
|
+
9059438753399210550,
|
|
594
|
+
15536702655252100662,
|
|
595
|
+
18212473996666107446,
|
|
596
|
+
9735007041578853942,
|
|
597
|
+
16721439083358467638,
|
|
598
|
+
2006208160468298806,
|
|
599
|
+
4121422338237695030,
|
|
600
|
+
4616653305766488054,
|
|
601
|
+
8427675690005462006,
|
|
602
|
+
9297686377550328182,
|
|
603
|
+
9765582082340188982,
|
|
604
|
+
11573330517875114294,
|
|
605
|
+
1648438546803889462,
|
|
606
|
+
1824050446740942806,
|
|
607
|
+
3242486533589436886,
|
|
608
|
+
3455833905520347318,
|
|
609
|
+
5746040762568682678,
|
|
610
|
+
16919766134631230646,
|
|
611
|
+
5495077392503105718,
|
|
612
|
+
6505409277154677814,
|
|
613
|
+
6853867560213600822,
|
|
614
|
+
6872156644204672306,
|
|
615
|
+
7615281762359784882,
|
|
616
|
+
8879680434793755570,
|
|
617
|
+
9146209630066408498,
|
|
618
|
+
14340780210831361074,
|
|
619
|
+
3677427333757067314,
|
|
620
|
+
5936714088789761586,
|
|
621
|
+
5936714088789761585,
|
|
622
|
+
6924509312226656049,
|
|
623
|
+
9298149807732436273,
|
|
624
|
+
11442751604756895281,
|
|
625
|
+
13627510964669988913,
|
|
626
|
+
3242600861773065265,
|
|
627
|
+
4418716695301362481,
|
|
628
|
+
6279770279865943089,
|
|
629
|
+
7080614287168706225,
|
|
630
|
+
8868132673244289457,
|
|
631
|
+
13250878510997881777,
|
|
632
|
+
11140319760833881009,
|
|
633
|
+
1386651027510632369,
|
|
634
|
+
4879455484125002161,
|
|
635
|
+
9807258256661681585,
|
|
636
|
+
15254328444464814513,
|
|
637
|
+
16861185821523256241,
|
|
638
|
+
720561401534259633,
|
|
639
|
+
1213326202632017457,
|
|
640
|
+
1324923267627093009,
|
|
641
|
+
2642886930942882065,
|
|
642
|
+
4351366928436156177,
|
|
643
|
+
10001443333026609937,
|
|
644
|
+
4117712398055246609,
|
|
645
|
+
8041725503837959953,
|
|
646
|
+
5690686515061557009,
|
|
647
|
+
9267760599216976657,
|
|
648
|
+
13145745567287923985,
|
|
649
|
+
535121766751720721,
|
|
650
|
+
1776278538722383889,
|
|
651
|
+
2819231399375208849,
|
|
652
|
+
3156258793919518993,
|
|
653
|
+
3195505683648100521,
|
|
654
|
+
3909151620718254633,
|
|
655
|
+
4041707011506702649,
|
|
656
|
+
4415924873336150137,
|
|
657
|
+
14623990791718021241,
|
|
658
|
+
15304369016570783865,
|
|
659
|
+
15304369016570783864,
|
|
660
|
+
15492985554779062456,
|
|
661
|
+
591712209572007096,
|
|
662
|
+
1141041567186543672,
|
|
663
|
+
6426935400094639160,
|
|
664
|
+
12198487325760820280,
|
|
665
|
+
12198487325760820279,
|
|
666
|
+
1985207128622509111,
|
|
667
|
+
4108397071827430967,
|
|
668
|
+
5285663325754501687,
|
|
669
|
+
8567963281274080311,
|
|
670
|
+
9690436044127668279,
|
|
671
|
+
13822575389986857015,
|
|
672
|
+
16319747630671061047,
|
|
673
|
+
16319747630671061046,
|
|
674
|
+
6838110274107079734,
|
|
675
|
+
17493640444133237814,
|
|
676
|
+
2434946842334960182,
|
|
677
|
+
2748641586803816246,
|
|
678
|
+
8664059778309442358,
|
|
679
|
+
17310887894315394870,
|
|
680
|
+
8061747692493136694,
|
|
681
|
+
10325187897630181174,
|
|
682
|
+
13068215639429351222,
|
|
683
|
+
14393009318676563254,
|
|
684
|
+
16151308358003295542,
|
|
685
|
+
16151308358003295541,
|
|
686
|
+
16151308358003295540,
|
|
687
|
+
16151308358003295539,
|
|
688
|
+
3279103478365257011,
|
|
689
|
+
7932421138780178739,
|
|
690
|
+
10239360785730409779,
|
|
691
|
+
16269469339889926451,
|
|
692
|
+
17301577628376316595,
|
|
693
|
+
7663399801777203,
|
|
694
|
+
10111713497201638,
|
|
695
|
+
16793534378646062,
|
|
696
|
+
37796564450121254,
|
|
697
|
+
40510573942190703,
|
|
698
|
+
61095404467931503,
|
|
699
|
+
90664919420718003,
|
|
700
|
+
164225949503925331,
|
|
701
|
+
167703546435912332,
|
|
702
|
+
450030985582817068,
|
|
703
|
+
607029827812203628,
|
|
704
|
+
1715165266276769132,
|
|
705
|
+
1982206033663210028,
|
|
706
|
+
3274496668076299820,
|
|
707
|
+
14632154208406124076,
|
|
708
|
+
15193245561180224684,
|
|
709
|
+
15193245561180224683,
|
|
710
|
+
15193245561180224682,
|
|
711
|
+
15193245561180224681,
|
|
712
|
+
14693257013194747049,
|
|
713
|
+
14693257013194747048,
|
|
714
|
+
1260451792652077224,
|
|
715
|
+
1817314206087697320,
|
|
716
|
+
4598541984669108136,
|
|
717
|
+
5065123073334363048,
|
|
718
|
+
5065123073334363047,
|
|
719
|
+
7913466063836160423,
|
|
720
|
+
10034590712668692135,
|
|
721
|
+
11779663320141337767,
|
|
722
|
+
1852993380154852519,
|
|
723
|
+
2029240397134927495,
|
|
724
|
+
2527066433590579655,
|
|
725
|
+
2670066914385354647,
|
|
726
|
+
2794783324967854263,
|
|
727
|
+
6695454003378708151,
|
|
728
|
+
7054920514771564791,
|
|
729
|
+
7392279547809657207,
|
|
730
|
+
8460454710182186999,
|
|
731
|
+
12100326690382434295,
|
|
732
|
+
15502190327429098487,
|
|
733
|
+
15376601188307016695,
|
|
734
|
+
18367304860456649719,
|
|
735
|
+
438745625002594359,
|
|
736
|
+
455737588787321151,
|
|
737
|
+
607876801982513823,
|
|
738
|
+
691584183040083247,
|
|
739
|
+
3782714566037112623,
|
|
740
|
+
5582586217547786543,
|
|
741
|
+
6033908658628388591,
|
|
742
|
+
6263042309660455247,
|
|
743
|
+
8992676503636456271,
|
|
744
|
+
11456094689090022223,
|
|
745
|
+
12253094249166591439,
|
|
746
|
+
5004884290622160335,
|
|
747
|
+
4802888933591418319,
|
|
748
|
+
11602584180111897039,
|
|
749
|
+
2551254008312383951,
|
|
750
|
+
2858000437557115151,
|
|
751
|
+
2893323042672188095,
|
|
752
|
+
3490721800283430335,
|
|
753
|
+
3599211071732072191,
|
|
754
|
+
4146049438355731583,
|
|
755
|
+
7785116432328217215,
|
|
756
|
+
13662863109004246655,
|
|
757
|
+
7434103734628214399,
|
|
758
|
+
7598277463587282431,
|
|
759
|
+
13167997918261143039,
|
|
760
|
+
13649810065555690495,
|
|
761
|
+
16219671385903446015,
|
|
762
|
+
7124076053489528831,
|
|
763
|
+
8095954420648467711,
|
|
764
|
+
9455768188905832959,
|
|
765
|
+
16006891143521369599,
|
|
766
|
+
18304487460635246591,
|
|
767
|
+
5985568248488173567,
|
|
768
|
+
6670492080163209343,
|
|
769
|
+
13006163544356538495,
|
|
770
|
+
558981499886182527,
|
|
771
|
+
734203918081934655,
|
|
772
|
+
1306311136489416575,
|
|
773
|
+
2199080194124775423,
|
|
774
|
+
2204014970168438464,
|
|
775
|
+
2677532920992289792,
|
|
776
|
+
7763619023790427136,
|
|
777
|
+
8061537008911296832,
|
|
778
|
+
7994533451102937408,
|
|
779
|
+
15733937288311780672,
|
|
780
|
+
3645579292257011008,
|
|
781
|
+
7575506083351276352,
|
|
782
|
+
10522321382105718080,
|
|
783
|
+
11627267256141996480,
|
|
784
|
+
15529471346967541696,
|
|
785
|
+
13518346408563013568,
|
|
786
|
+
13789150794918120160,
|
|
787
|
+
18295921206246532832,
|
|
788
|
+
18295921206246532831,
|
|
789
|
+
18295921206246532830,
|
|
790
|
+
18295921206246532829,
|
|
791
|
+
2455860669762837213,
|
|
792
|
+
4863652702128650973,
|
|
793
|
+
12801632327299876573,
|
|
794
|
+
1744041328380590813,
|
|
795
|
+
6120073262166574813,
|
|
796
|
+
6405439158612758749,
|
|
797
|
+
6803574031023280605,
|
|
798
|
+
7332859202147331613,
|
|
799
|
+
16963546894591522333,
|
|
800
|
+
9663176594168378909,
|
|
801
|
+
17289597825083598365,
|
|
802
|
+
10595846411042084381,
|
|
803
|
+
11237742828835274141,
|
|
804
|
+
13521168706418817693,
|
|
805
|
+
13521168706418817692,
|
|
806
|
+
13521168706418817691,
|
|
807
|
+
3734849715481359003,
|
|
808
|
+
7059636390507414171,
|
|
809
|
+
8098477720558839963,
|
|
810
|
+
15655798136345616539,
|
|
811
|
+
9053556749004941467,
|
|
812
|
+
16654286657261163675,
|
|
813
|
+
2438928347775514779,
|
|
814
|
+
3499568405059315099,
|
|
815
|
+
3653023030263055067,
|
|
816
|
+
5734097350188369115,
|
|
817
|
+
1796150891847507163,
|
|
818
|
+
5297480757649161435,
|
|
819
|
+
6737428511491960283,
|
|
820
|
+
6737428511491960282,
|
|
821
|
+
7862932842544314202,
|
|
822
|
+
7862932842544314201,
|
|
823
|
+
12628502756558249817,
|
|
824
|
+
14066101229828399961,
|
|
825
|
+
6506676357252694873,
|
|
826
|
+
13970725504127661913,
|
|
827
|
+
16518868686146604889,
|
|
828
|
+
3182138951096461145,
|
|
829
|
+
3467098968746149241,
|
|
830
|
+
5824296719264797561,
|
|
831
|
+
6299069438895972473,
|
|
832
|
+
10852046434976852601,
|
|
833
|
+
12647288613099902073,
|
|
834
|
+
12647288613099902072,
|
|
835
|
+
12647288613099902071,
|
|
836
|
+
1197601911237631095,
|
|
837
|
+
2536000324662698103,
|
|
838
|
+
3360806796937775095,
|
|
839
|
+
4264479948225387511,
|
|
840
|
+
5648548827899768823,
|
|
841
|
+
12360501644630577143,
|
|
842
|
+
12575105432591125687,
|
|
843
|
+
15414839324730960567,
|
|
844
|
+
16831236938747147191,
|
|
845
|
+
17386299312283135543,
|
|
846
|
+
5350865444586980919,
|
|
847
|
+
5350865444586980918,
|
|
848
|
+
5846325935525269238,
|
|
849
|
+
8493997117802679030,
|
|
850
|
+
8493997117802679029,
|
|
851
|
+
15233343920734526197,
|
|
852
|
+
15233343920734526196,
|
|
853
|
+
15233343920734526195,
|
|
854
|
+
10402336415933627123,
|
|
855
|
+
13306747317797690099,
|
|
856
|
+
172423886554456819,
|
|
857
|
+
235093768354044755,
|
|
858
|
+
274278928091726155,
|
|
859
|
+
815555173724480971,
|
|
860
|
+
1358224609319414219,
|
|
861
|
+
4114146503939427275,
|
|
862
|
+
4114146503939427274,
|
|
863
|
+
4842798692646627274,
|
|
864
|
+
6073989416414690762,
|
|
865
|
+
6387218905996121674,
|
|
866
|
+
17768348201205147210,
|
|
867
|
+
213827373535185866,
|
|
868
|
+
224999651994780120,
|
|
869
|
+
371661416072733752,
|
|
870
|
+
512788446130206536,
|
|
871
|
+
637004821074715992,
|
|
872
|
+
812400060704099960,
|
|
873
|
+
1010280335095798584,
|
|
874
|
+
2011734429044706360,
|
|
875
|
+
2140189181934856648,
|
|
876
|
+
2540138820600191880,
|
|
877
|
+
3392225995897270792,
|
|
878
|
+
5877175894797278216,
|
|
879
|
+
6444215418135477128,
|
|
880
|
+
9589006231051259272,
|
|
881
|
+
14356492983432860040,
|
|
882
|
+
2141030629822185864,
|
|
883
|
+
10291095590779518344,
|
|
884
|
+
10804897693298627784,
|
|
885
|
+
14434227708324260040,
|
|
886
|
+
17367217914520751304,
|
|
887
|
+
13977268904173001928,
|
|
888
|
+
13977268904173001927,
|
|
889
|
+
14201142646666160295,
|
|
890
|
+
471405179039873191,
|
|
891
|
+
628042997769406695,
|
|
892
|
+
637937620029070897,
|
|
893
|
+
1346442351500603441,
|
|
894
|
+
1897346492384765681,
|
|
895
|
+
9569736632675697393,
|
|
896
|
+
11907002184982130417,
|
|
897
|
+
12603131827748757745,
|
|
898
|
+
12603131827748757744,
|
|
899
|
+
4203489835472029936,
|
|
900
|
+
14909711131972129008,
|
|
901
|
+
13703067797726363888,
|
|
902
|
+
13806918162867601904,
|
|
903
|
+
13806918162867601903,
|
|
904
|
+
17326301439671113199,
|
|
905
|
+
5855221972805893615,
|
|
906
|
+
8135803613048781807,
|
|
907
|
+
2978513161234545647,
|
|
908
|
+
3191627864187428431,
|
|
909
|
+
9956375716763635279,
|
|
910
|
+
10121944667464956687,
|
|
911
|
+
10564601358692830543,
|
|
912
|
+
4864112268851582287,
|
|
913
|
+
1358700452733969743,
|
|
914
|
+
3122688545059995215,
|
|
915
|
+
3184823747257893431,
|
|
916
|
+
5121220522120640567,
|
|
917
|
+
12551354916339080247,
|
|
918
|
+
16087851325076568631,
|
|
919
|
+
1567013784948739127,
|
|
920
|
+
3331402000051755319,
|
|
921
|
+
7108355168516743479,
|
|
922
|
+
7257938556249012503,
|
|
923
|
+
12395575137879764247,
|
|
924
|
+
2412335946019374359,
|
|
925
|
+
2527260729504634535,
|
|
926
|
+
2676081941794603335,
|
|
927
|
+
7509834828231417159,
|
|
928
|
+
12967781164392852807,
|
|
929
|
+
1122689003859337543,
|
|
930
|
+
1738081118764021191,
|
|
931
|
+
2471327875145313863,
|
|
932
|
+
2485305357076994673,
|
|
933
|
+
2599724040082483329,
|
|
934
|
+
2797044173890111617,
|
|
935
|
+
4123438405324609665,
|
|
936
|
+
10722935475910631553,
|
|
937
|
+
11539252334849213825,
|
|
938
|
+
12982136989933200513,
|
|
939
|
+
13063484018031778353,
|
|
940
|
+
14675222137969350961,
|
|
941
|
+
5509222644882821425,
|
|
942
|
+
6097201728669887793,
|
|
943
|
+
7561455278321717809,
|
|
944
|
+
10749712198971170353,
|
|
945
|
+
10749712198971170352,
|
|
946
|
+
11118451738346123312,
|
|
947
|
+
7070221022846707760,
|
|
948
|
+
7850211155200323632,
|
|
949
|
+
7850211155200323631,
|
|
950
|
+
10895131596388989999,
|
|
951
|
+
10895131596388989998,
|
|
952
|
+
3138488928871128110,
|
|
953
|
+
4628097130719688750,
|
|
954
|
+
4705375842631349630,
|
|
955
|
+
6004909730802699134,
|
|
956
|
+
6643109853932156286,
|
|
957
|
+
11767303352613623166,
|
|
958
|
+
3821486401272016254,
|
|
959
|
+
10931270539226161534,
|
|
960
|
+
16933746660186269054,
|
|
961
|
+
8230936049701139838,
|
|
962
|
+
12737286266577481086,
|
|
963
|
+
12737286266577481085,
|
|
964
|
+
17012244533832036733,
|
|
965
|
+
18180890801861117821,
|
|
966
|
+
4929885343274308477,
|
|
967
|
+
6744103390834400125,
|
|
968
|
+
7591044803972387581,
|
|
969
|
+
17676747883797326589,
|
|
970
|
+
1710654960804591357,
|
|
971
|
+
1826830537258005069,
|
|
972
|
+
2851993802345766861,
|
|
973
|
+
4014290189392070605,
|
|
974
|
+
4606220398090404685,
|
|
975
|
+
1527257684351138637,
|
|
976
|
+
1845586286293585805,
|
|
977
|
+
2523793153998591757,
|
|
978
|
+
2577285662229223429,
|
|
979
|
+
4381791019784655109,
|
|
980
|
+
12284476459794040069,
|
|
981
|
+
15622054220470734597,
|
|
982
|
+
3993037773802959621,
|
|
983
|
+
7001729604456251141,
|
|
984
|
+
8972819200975527173,
|
|
985
|
+
14045638883308540165,
|
|
986
|
+
14045638883308540164,
|
|
987
|
+
14106481026365820660,
|
|
988
|
+
14106481026365820659,
|
|
989
|
+
14106481026365820658,
|
|
990
|
+
18198746188065431282,
|
|
991
|
+
3897442175926695666,
|
|
992
|
+
3954958411078334402,
|
|
993
|
+
1714165145075705794,
|
|
994
|
+
2589591962139182658,
|
|
995
|
+
2682979438433656098,
|
|
996
|
+
6034984240696378658,
|
|
997
|
+
7395936397114999842,
|
|
998
|
+
16473600213173004322,
|
|
999
|
+
4687821345277505570,
|
|
1000
|
+
7340934609458844706,
|
|
1001
|
+
10505047417595489314,
|
|
1002
|
+
16326696246595638306,
|
|
1003
|
+
2479502544030752802,
|
|
1004
|
+
7386151824240192546,
|
|
1005
|
+
9539142366847393314,
|
|
1006
|
+
1388848535703850530,
|
|
1007
|
+
1953073389858627682,
|
|
1008
|
+
3733296676614538594,
|
|
1009
|
+
6527091105387786594,
|
|
1010
|
+
6527091105387786593,
|
|
1011
|
+
6527091105387786592,
|
|
1012
|
+
6881586890081991520,
|
|
1013
|
+
12464956017750928224,
|
|
1014
|
+
677191353117629280,
|
|
1015
|
+
718386929126216032,
|
|
1016
|
+
1869622718624958688,
|
|
1017
|
+
2054581349096977120,
|
|
1018
|
+
2443112915582636128,
|
|
1019
|
+
2839173060003418464,
|
|
1020
|
+
5195927576969998688,
|
|
1021
|
+
9826550571260129632,
|
|
1022
|
+
12028162567179664736,
|
|
1023
|
+
16572473553400646496,
|
|
1024
|
+
2825960339134377824,
|
|
1025
|
+
5149349389599241056,
|
|
1026
|
+
10955254324236911456,
|
|
1027
|
+
16188401955194988384,
|
|
1028
|
+
2370942892202845024,
|
|
1029
|
+
5846634392391080800,
|
|
1030
|
+
8185994816344251744,
|
|
1031
|
+
14023610316681234784,
|
|
1032
|
+
4443301396598636896,
|
|
1033
|
+
5930489040908629088,
|
|
1034
|
+
10255336387203877984,
|
|
1035
|
+
10255336387203877983,
|
|
1036
|
+
11433565865794755423,
|
|
1037
|
+
1170766804768340831,
|
|
1038
|
+
1435283324628909023,
|
|
1039
|
+
3953284687349114335,
|
|
1040
|
+
4457245622288501727,
|
|
1041
|
+
5469474268941294943,
|
|
1042
|
+
10441150964351233375,
|
|
1043
|
+
10441150964351233374,
|
|
1044
|
+
11601251111242418014,
|
|
1045
|
+
1763195542727753566,
|
|
1046
|
+
1837728948154195678,
|
|
1047
|
+
3623280471072208862,
|
|
1048
|
+
4105534738515041118,
|
|
1049
|
+
4241284085090525790,
|
|
1050
|
+
10717726151308439134,
|
|
1051
|
+
10717726151308439133,
|
|
1052
|
+
4388233340257226333,
|
|
1053
|
+
5626040806428601181,
|
|
1054
|
+
6991682580491271517,
|
|
1055
|
+
8935411939880060765,
|
|
1056
|
+
14195493671570302813,
|
|
1057
|
+
15864339428889189213,
|
|
1058
|
+
15864339428889189212,
|
|
1059
|
+
4071698720759076700,
|
|
1060
|
+
5763105875874021980,
|
|
1061
|
+
5763105875874021979,
|
|
1062
|
+
12098150707851634267,
|
|
1063
|
+
13043237370565116763,
|
|
1064
|
+
3500436186422466395,
|
|
1065
|
+
3506542149752768640,
|
|
1066
|
+
7878312341747334784,
|
|
1067
|
+
17035409291051351680,
|
|
1068
|
+
6854293806235519616,
|
|
1069
|
+
15999300030099154560,
|
|
1070
|
+
7501375900319078016,
|
|
1071
|
+
11743171231527586944,
|
|
1072
|
+
12290431523090949248,
|
|
1073
|
+
1234559374866811008,
|
|
1074
|
+
1437766224176868480,
|
|
1075
|
+
2453919035704952192,
|
|
1076
|
+
2877263367353987584,
|
|
1077
|
+
4595086108069975040,
|
|
1078
|
+
5143798563027738944,
|
|
1079
|
+
6030783298970488384,
|
|
1080
|
+
18289787856074464832,
|
|
1081
|
+
10040684728529526336,
|
|
1082
|
+
12674337089460002880,
|
|
1083
|
+
17234889232432624704,
|
|
1084
|
+
16629229489473137728,
|
|
1085
|
+
7712984413556028480,
|
|
1086
|
+
7753663321175646488,
|
|
1087
|
+
10531078925226205976,
|
|
1088
|
+
14887937489276995864,
|
|
1089
|
+
15503293062566559896,
|
|
1090
|
+
12755487125347301528,
|
|
1091
|
+
18248150475905938584,
|
|
1092
|
+
5573294874704658584,
|
|
1093
|
+
8073790294759450776,
|
|
1094
|
+
9053494746822062744,
|
|
1095
|
+
9053494746822062743,
|
|
1096
|
+
12284951255820024983,
|
|
1097
|
+
3712006074869777559,
|
|
1098
|
+
4109618009464899415,
|
|
1099
|
+
4323262633161249367,
|
|
1100
|
+
7058203876470315095,
|
|
1101
|
+
8290772181976291415,
|
|
1102
|
+
8421869164889668647,
|
|
1103
|
+
10661024789238288679,
|
|
1104
|
+
436248196341287207,
|
|
1105
|
+
450784978247787933,
|
|
1106
|
+
1800543283741090717,
|
|
1107
|
+
3099944133626130077,
|
|
1108
|
+
5906692513761556125,
|
|
1109
|
+
18334543399677120157,
|
|
1110
|
+
1009855006753453469,
|
|
1111
|
+
1598356742800940061,
|
|
1112
|
+
2915969723578597149,
|
|
1113
|
+
4313139855520024605,
|
|
1114
|
+
10887788444399547421,
|
|
1115
|
+
17049939406656320541,
|
|
1116
|
+
16569748191391730717,
|
|
1117
|
+
3498163336521603101,
|
|
1118
|
+
17244879048921204765,
|
|
1119
|
+
5712562001479069725,
|
|
1120
|
+
7616053037155112477,
|
|
1121
|
+
7616053037155112476,
|
|
1122
|
+
10352391394980493852,
|
|
1123
|
+
12451468793125596700,
|
|
1124
|
+
2957476027545890332,
|
|
1125
|
+
3097371398935375084,
|
|
1126
|
+
3280589456226898444,
|
|
1127
|
+
4608344988203708428,
|
|
1128
|
+
5328517169964254732,
|
|
1129
|
+
8371884177507782668,
|
|
1130
|
+
11714007261664256524,
|
|
1131
|
+
11714007261664256523,
|
|
1132
|
+
12525986711352066955,
|
|
1133
|
+
12525986711352066954,
|
|
1134
|
+
14270455956347697290,
|
|
1135
|
+
2670973179265179786,
|
|
1136
|
+
2689591541810142914,
|
|
1137
|
+
3746005967071017794,
|
|
1138
|
+
4536832856672851906,
|
|
1139
|
+
10544004865515061186,
|
|
1140
|
+
706351010424615874,
|
|
1141
|
+
1573571788235460546,
|
|
1142
|
+
1581582820870426624,
|
|
1143
|
+
4152940247817247744,
|
|
1144
|
+
4655881756689642944,
|
|
1145
|
+
5701926937485794240,
|
|
1146
|
+
11026727211824601024,
|
|
1147
|
+
1666168095103582144,
|
|
1148
|
+
2071546857553993920,
|
|
1149
|
+
2326026564669060960,
|
|
1150
|
+
3755889887531971936,
|
|
1151
|
+
3994454971245137984,
|
|
1152
|
+
5094376675792070720,
|
|
1153
|
+
6416051241726226240,
|
|
1154
|
+
6973051309459127296,
|
|
1155
|
+
10816889179287808512,
|
|
1156
|
+
10816889179287808511,
|
|
1157
|
+
14626133090305324031,
|
|
1158
|
+
14626133090305324030,
|
|
1159
|
+
15406527937074692990,
|
|
1160
|
+
7287832884711306110,
|
|
1161
|
+
14429135190850205566,
|
|
1162
|
+
15833307679015403134,
|
|
1163
|
+
14205279123860727422,
|
|
1164
|
+
16874140183841068158,
|
|
1165
|
+
17084441953362490078,
|
|
1166
|
+
17084441953362490077,
|
|
1167
|
+
17084441953362490076,
|
|
1168
|
+
127889397896271580,
|
|
1169
|
+
252450723139095900,
|
|
1170
|
+
439966331021094044,
|
|
1171
|
+
449847069835553148,
|
|
1172
|
+
560163700073906268,
|
|
1173
|
+
1103206687310252828,
|
|
1174
|
+
2407368016850245660,
|
|
1175
|
+
7431141481035033628,
|
|
1176
|
+
9606885333568885020,
|
|
1177
|
+
2534543663765920028,
|
|
1178
|
+
3726098703991462428,
|
|
1179
|
+
4181157371493861660,
|
|
1180
|
+
6608480044305049372,
|
|
1181
|
+
8191577378584003868,
|
|
1182
|
+
1961290141505223964,
|
|
1183
|
+
2916086701140409500,
|
|
1184
|
+
4540217669290830492,
|
|
1185
|
+
6053557941134170524,
|
|
1186
|
+
6053557941134170523,
|
|
1187
|
+
14544476210220695963,
|
|
1188
|
+
16357457233179619739,
|
|
1189
|
+
17517284623978993051,
|
|
1190
|
+
17517284623978993050,
|
|
1191
|
+
3016394599199373722,
|
|
1192
|
+
3670588966335771546,
|
|
1193
|
+
4924856422828138906,
|
|
1194
|
+
6309613834694717594,
|
|
1195
|
+
272184248183302298,
|
|
1196
|
+
607330080953279642,
|
|
1197
|
+
714922197231861546,
|
|
1198
|
+
873698777898716106,
|
|
1199
|
+
1219573271260265418,
|
|
1200
|
+
1292531681867363882,
|
|
1201
|
+
1594016567402486634,
|
|
1202
|
+
2683576885721744618,
|
|
1203
|
+
3751931850710722922,
|
|
1204
|
+
521535283699659114,
|
|
1205
|
+
708486852023139178,
|
|
1206
|
+
1025742567306535914,
|
|
1207
|
+
1446138811524226986,
|
|
1208
|
+
2389699280010874026,
|
|
1209
|
+
6923280280055377066,
|
|
1210
|
+
8198842818068085418,
|
|
1211
|
+
8198842818068085417,
|
|
1212
|
+
12320291559544198313,
|
|
1213
|
+
9400853668371817641,
|
|
1214
|
+
14040587825164758185,
|
|
1215
|
+
14040587825164758184,
|
|
1216
|
+
15884176913516887208,
|
|
1217
|
+
1899270425208165544,
|
|
1218
|
+
4004338500207248040,
|
|
1219
|
+
8979276254422019752,
|
|
1220
|
+
10444890577497397928,
|
|
1221
|
+
15606643062409333416,
|
|
1222
|
+
8459523305353280168,
|
|
1223
|
+
8862507401590009896,
|
|
1224
|
+
10095970725061301544,
|
|
1225
|
+
11229941160548655016,
|
|
1226
|
+
12280920101255863592,
|
|
1227
|
+
8081130273348791592,
|
|
1228
|
+
9773011318298942760,
|
|
1229
|
+
11341193956986566184,
|
|
1230
|
+
1376969343288155688,
|
|
1231
|
+
2881554194483245096,
|
|
1232
|
+
3089740478265464552,
|
|
1233
|
+
3327339550474649160,
|
|
1234
|
+
3364397181626040856,
|
|
1235
|
+
4893221168889581848,
|
|
1236
|
+
3437775516054421784,
|
|
1237
|
+
8896002838824390936,
|
|
1238
|
+
2686469195368943896,
|
|
1239
|
+
4669936156622788888,
|
|
1240
|
+
6055702296815669016,
|
|
1241
|
+
11724632063987535640,
|
|
1242
|
+
13109529812107704856,
|
|
1243
|
+
12433935199602995736,
|
|
1244
|
+
15301325603370840600,
|
|
1245
|
+
17475976749011699480,
|
|
1246
|
+
17866445371019528536,
|
|
1247
|
+
3625267521999371096,
|
|
1248
|
+
4258706793516922072,
|
|
1249
|
+
4765357880920806040,
|
|
1250
|
+
5863817499257608088,
|
|
1251
|
+
5863817499257608087,
|
|
1252
|
+
17088763835666046871,
|
|
1253
|
+
17088763835666046870,
|
|
1254
|
+
17680901380690752278,
|
|
1255
|
+
18292610953008499094,
|
|
1256
|
+
11148215825253511574,
|
|
1257
|
+
7816817600800979350,
|
|
1258
|
+
9114247444007469206,
|
|
1259
|
+
1511388835463411862,
|
|
1260
|
+
2719218459272579990,
|
|
1261
|
+
7844460822910522262,
|
|
1262
|
+
12975515492048395158,
|
|
1263
|
+
6927710224568970134,
|
|
1264
|
+
3848479706511250326,
|
|
1265
|
+
3969950389959337510,
|
|
1266
|
+
4584901265357836070,
|
|
1267
|
+
6283991776912298534,
|
|
1268
|
+
11045952358039764518,
|
|
1269
|
+
15855504234265897510,
|
|
1270
|
+
4306872465958984230,
|
|
1271
|
+
5201815689055328422,
|
|
1272
|
+
6111920562831923878,
|
|
1273
|
+
6568196694870762214,
|
|
1274
|
+
8571158140569352678,
|
|
1275
|
+
10445048960766348262,
|
|
1276
|
+
13470277966276812262,
|
|
1277
|
+
3786135201332197862,
|
|
1278
|
+
9822189696817861094,
|
|
1279
|
+
9822189696817861093,
|
|
1280
|
+
11644156323941638373,
|
|
1281
|
+
11754059577782094037,
|
|
1282
|
+
11366906098552948949,
|
|
1283
|
+
2118095597433926869,
|
|
1284
|
+
5265636449667624661,
|
|
1285
|
+
5603343442595632789,
|
|
1286
|
+
7079599552202442133,
|
|
1287
|
+
9946140429763868053,
|
|
1288
|
+
9027435279280299413,
|
|
1289
|
+
9027435279280299412,
|
|
1290
|
+
9445610049022018004,
|
|
1291
|
+
11910097446707630036,
|
|
1292
|
+
11910097446707630035,
|
|
1293
|
+
11910097446707630034,
|
|
1294
|
+
255798921602212818,
|
|
1295
|
+
582875590123583762,
|
|
1296
|
+
654432092657539162,
|
|
1297
|
+
941825204317154138,
|
|
1298
|
+
969197382706799602,
|
|
1299
|
+
2101956294464611570,
|
|
1300
|
+
3016996606868097650,
|
|
1301
|
+
3745172501298307442,
|
|
1302
|
+
11296382027599154546,
|
|
1303
|
+
2216566037180491122,
|
|
1304
|
+
10587862906952171890,
|
|
1305
|
+
10587862906952171889,
|
|
1306
|
+
10657868832013220185,
|
|
1307
|
+
15524148418710711641,
|
|
1308
|
+
3392026838324267353,
|
|
1309
|
+
16497004712743807321,
|
|
1310
|
+
16497004712743807320,
|
|
1311
|
+
6705634318082896216,
|
|
1312
|
+
7841262213936617688,
|
|
1313
|
+
11354720427057428696,
|
|
1314
|
+
11794016347989165912,
|
|
1315
|
+
12882298425639143128,
|
|
1316
|
+
15065232187980461528,
|
|
1317
|
+
7360973375854243288,
|
|
1318
|
+
10331666052933145048,
|
|
1319
|
+
331022285745113560,
|
|
1320
|
+
412410177905431784,
|
|
1321
|
+
654158848034943848,
|
|
1322
|
+
1068648528843927976,
|
|
1323
|
+
4619486751907519400,
|
|
1324
|
+
5986393043440491176,
|
|
1325
|
+
6163231393693450696,
|
|
1326
|
+
6226638632947000752,
|
|
1327
|
+
8182803978756988592,
|
|
1328
|
+
8895079814176428080,
|
|
1329
|
+
12521664342870848048,
|
|
1330
|
+
13794982234146390320,
|
|
1331
|
+
17375865019722643760,
|
|
1332
|
+
6954619729724510512,
|
|
1333
|
+
14430893314247995696,
|
|
1334
|
+
16167225781188536880,
|
|
1335
|
+
16167225781188536879,
|
|
1336
|
+
18033100615745940271,
|
|
1337
|
+
18033100615745940270,
|
|
1338
|
+
5166133196801984302,
|
|
1339
|
+
13332115378936656686,
|
|
1340
|
+
15400649676237426734,
|
|
1341
|
+
10997831161920880686,
|
|
1342
|
+
10997831161920880685,
|
|
1343
|
+
13900956262600556589,
|
|
1344
|
+
4442348829623821357,
|
|
1345
|
+
6127194445592804141,
|
|
1346
|
+
6538002989186488813,
|
|
1347
|
+
12386034965187148269,
|
|
1348
|
+
997030431326847469,
|
|
1349
|
+
1003306887430542907,
|
|
1350
|
+
1690378565878190395,
|
|
1351
|
+
3003020181478337083,
|
|
1352
|
+
3074328476100917771,
|
|
1353
|
+
3236902413453164907,
|
|
1354
|
+
3971277471748861803,
|
|
1355
|
+
4255240429905547467,
|
|
1356
|
+
4519426003522297483,
|
|
1357
|
+
5865413147941299851,
|
|
1358
|
+
7319554201538699403,
|
|
1359
|
+
8451400965643207819,
|
|
1360
|
+
9834667420713259147,
|
|
1361
|
+
11296956657983972491,
|
|
1362
|
+
8599624391656256651,
|
|
1363
|
+
9922778480456777867,
|
|
1364
|
+
9922778480456777866,
|
|
1365
|
+
13859994480388296842,
|
|
1366
|
+
13859994480388296841,
|
|
1367
|
+
14474714474045948169,
|
|
1368
|
+
14474714474045948168,
|
|
1369
|
+
308875542952938248,
|
|
1370
|
+
404523171942102200,
|
|
1371
|
+
410070381125591131,
|
|
1372
|
+
425260101746810739,
|
|
1373
|
+
600586393441650515,
|
|
1374
|
+
801442085161952243,
|
|
1375
|
+
914610083719041603,
|
|
1376
|
+
1608627392804901059,
|
|
1377
|
+
1932062379091445699,
|
|
1378
|
+
3769647948093315267,
|
|
1379
|
+
4679791407024666947,
|
|
1380
|
+
6229040244644205123,
|
|
1381
|
+
7633030891562655299,
|
|
1382
|
+
10308588904585689155,
|
|
1383
|
+
10308588904585689154,
|
|
1384
|
+
11207595291438600898,
|
|
1385
|
+
2769168709690757826,
|
|
1386
|
+
4789340567267173826,
|
|
1387
|
+
7104429299009222594,
|
|
1388
|
+
7104429299009222593,
|
|
1389
|
+
11542920603218105281,
|
|
1390
|
+
8709531402246501313,
|
|
1391
|
+
4241164543833056193,
|
|
1392
|
+
4583181457551390913,
|
|
1393
|
+
9036754188274833601,
|
|
1394
|
+
11239752604911742913,
|
|
1395
|
+
11239752604911742912,
|
|
1396
|
+
12695432009250846400,
|
|
1397
|
+
12821757634110207024,
|
|
1398
|
+
501680895386929200,
|
|
1399
|
+
843927800961977968,
|
|
1400
|
+
925576475388633440,
|
|
1401
|
+
1509171386611760736,
|
|
1402
|
+
1544348339008032076,
|
|
1403
|
+
1766732708154041516,
|
|
1404
|
+
2782266194809203500,
|
|
1405
|
+
4033111405577832492,
|
|
1406
|
+
9502072876975814700,
|
|
1407
|
+
12925150649490378284,
|
|
1408
|
+
598115884705507884,
|
|
1409
|
+
1156471006175156204,
|
|
1410
|
+
1176427771173714956,
|
|
1411
|
+
2202535343653263372,
|
|
1412
|
+
2784182828086505996,
|
|
1413
|
+
3038830279116726796,
|
|
1414
|
+
5046909343961458188,
|
|
1415
|
+
11609062262454383116,
|
|
1416
|
+
14846082047594833420,
|
|
1417
|
+
15952546044482276492,
|
|
1418
|
+
7145632425167846540,
|
|
1419
|
+
7629776477658622476,
|
|
1420
|
+
11123678116183404556,
|
|
1421
|
+
14954971249349444620,
|
|
1422
|
+
684017940032738316,
|
|
1423
|
+
913920805378072524,
|
|
1424
|
+
1720904179991951436,
|
|
1425
|
+
1778359420320291884,
|
|
1426
|
+
1787356367637573271,
|
|
1427
|
+
2670009146636139159,
|
|
1428
|
+
3067346807336122839,
|
|
1429
|
+
3922551525962438231,
|
|
1430
|
+
14235489780412950103,
|
|
1431
|
+
9501770271444121175,
|
|
1432
|
+
10221580565669939415,
|
|
1433
|
+
11861197078883820247,
|
|
1434
|
+
2439222362156999383,
|
|
1435
|
+
2748558996220749207,
|
|
1436
|
+
5922781385036829079,
|
|
1437
|
+
12469276121924187543,
|
|
1438
|
+
16261091325936184215,
|
|
1439
|
+
1065302461586130839,
|
|
1440
|
+
1313194656961708183,
|
|
1441
|
+
4258499049233723543,
|
|
1442
|
+
6150849355889500567,
|
|
1443
|
+
7774774181373209751,
|
|
1444
|
+
8386447789819160343,
|
|
1445
|
+
8390698769112166150,
|
|
1446
|
+
11233626514830742790,
|
|
1447
|
+
11566095727518764102,
|
|
1448
|
+
11789919516503042982,
|
|
1449
|
+
11789919516503042981,
|
|
1450
|
+
2844853441099072421,
|
|
1451
|
+
8430625674097104805,
|
|
1452
|
+
8480202722222333421,
|
|
1453
|
+
17732091128504853997,
|
|
1454
|
+
17732091128504853996,
|
|
1455
|
+
17732091128504853995,
|
|
1456
|
+
4414796066977755627,
|
|
1457
|
+
4414796066977755626,
|
|
1458
|
+
7451487185131929066,
|
|
1459
|
+
8555891019940854250,
|
|
1460
|
+
11593992013280065002,
|
|
1461
|
+
4502633820883023338,
|
|
1462
|
+
12979650325278875114,
|
|
1463
|
+
15954703408495532522,
|
|
1464
|
+
3859618228383229418,
|
|
1465
|
+
14311189686992346602,
|
|
1466
|
+
4987730461245840874,
|
|
1467
|
+
5198082454964545450,
|
|
1468
|
+
5327507181074753274,
|
|
1469
|
+
5327507181074753273,
|
|
1470
|
+
5327507181074753272,
|
|
1471
|
+
10468625485069993720,
|
|
1472
|
+
17275100207696341752,
|
|
1473
|
+
17275100207696341751,
|
|
1474
|
+
17778797259624325751,
|
|
1475
|
+
1997984705122499191,
|
|
1476
|
+
2099971728119725447,
|
|
1477
|
+
2224378042729169959,
|
|
1478
|
+
4327612543524775975,
|
|
1479
|
+
4812435553609650599,
|
|
1480
|
+
5962745053204333479,
|
|
1481
|
+
8325577189824028583,
|
|
1482
|
+
9978972728687877287,
|
|
1483
|
+
10077806047741341911,
|
|
1484
|
+
12202317357952467415,
|
|
1485
|
+
1352910984421435863,
|
|
1486
|
+
2338734967841443031,
|
|
1487
|
+
2483359055622301271,
|
|
1488
|
+
5922378700196194391,
|
|
1489
|
+
6328551558072674903,
|
|
1490
|
+
10424031416437693015,
|
|
1491
|
+
10698781916674329879,
|
|
1492
|
+
17169162390675406103,
|
|
1493
|
+
17368133612914365751,
|
|
1494
|
+
3083368016455255863,
|
|
1495
|
+
4832066269266587191,
|
|
1496
|
+
7300872927079646775,
|
|
1497
|
+
7300872927079646774,
|
|
1498
|
+
14750905298401877558,
|
|
1499
|
+
15049730970460232246,
|
|
1500
|
+
15049730970460232245,
|
|
1501
|
+
16661469099975841333,
|
|
1502
|
+
16661469099975841332,
|
|
1503
|
+
3403833985131825716,
|
|
1504
|
+
3422529930114549580,
|
|
1505
|
+
3482057606134175868,
|
|
1506
|
+
4936449609935147132,
|
|
1507
|
+
5391218451900543228,
|
|
1508
|
+
8850335501755297532,
|
|
1509
|
+
8850335501755297531,
|
|
1510
|
+
14080581041774116603,
|
|
1511
|
+
17640448369345624827,
|
|
1512
|
+
3633710964280852219,
|
|
1513
|
+
9088599404451745531,
|
|
1514
|
+
12008797913545080571,
|
|
1515
|
+
12868687079378866939,
|
|
1516
|
+
14424365779403309563,
|
|
1517
|
+
15499639983597769467,
|
|
1518
|
+
15499639983597769466,
|
|
1519
|
+
3136919987983454970,
|
|
1520
|
+
3645489439360431290,
|
|
1521
|
+
4529474371207286586,
|
|
1522
|
+
4806640043543531546,
|
|
1523
|
+
5411160074265142554,
|
|
1524
|
+
7085377384168862234,
|
|
1525
|
+
17802468599890317850,
|
|
1526
|
+
2424684770854237210,
|
|
1527
|
+
2907974234933496282,
|
|
1528
|
+
10751197726656609754,
|
|
1529
|
+
10751197726656609753,
|
|
1530
|
+
14414888153423757785,
|
|
1531
|
+
14636321645467660665,
|
|
1532
|
+
1786355786501504377,
|
|
1533
|
+
4127333380259304825,
|
|
1534
|
+
4929941538268599417,
|
|
1535
|
+
12414952944004203641,
|
|
1536
|
+
13670081667276227705,
|
|
1537
|
+
2120754810724071545,
|
|
1538
|
+
3179329737692592377,
|
|
1539
|
+
6620442040589215993,
|
|
1540
|
+
8490623194097208313,
|
|
1541
|
+
11695171555897624057,
|
|
1542
|
+
13177275465083618297,
|
|
1543
|
+
211546157117899769,
|
|
1544
|
+
320749467525961337,
|
|
1545
|
+
349213088045767085,
|
|
1546
|
+
412131893202623101,
|
|
1547
|
+
506856187678209373,
|
|
1548
|
+
666784164608719357,
|
|
1549
|
+
1303371303855810813,
|
|
1550
|
+
1930378421758479229,
|
|
1551
|
+
2621188798574144893,
|
|
1552
|
+
7600594111377204605,
|
|
1553
|
+
12674460081327185277,
|
|
1554
|
+
15377802127551755133,
|
|
1555
|
+
3006242324990722941,
|
|
1556
|
+
5765794533254929789,
|
|
1557
|
+
7335224966942379389,
|
|
1558
|
+
9623910184685666685,
|
|
1559
|
+
9889355523019821437,
|
|
1560
|
+
14758752567485514109,
|
|
1561
|
+
14758752567485514108,
|
|
1562
|
+
4019865820151266684,
|
|
1563
|
+
11601797397321334140,
|
|
1564
|
+
1869227528538967420,
|
|
1565
|
+
1881779672627538978,
|
|
1566
|
+
3151804677483153442,
|
|
1567
|
+
4133104632852513186,
|
|
1568
|
+
5673195104985093794,
|
|
1569
|
+
5734861036930332370,
|
|
1570
|
+
7222044071019309778,
|
|
1571
|
+
13459016231996628690,
|
|
1572
|
+
13507261253857721130,
|
|
1573
|
+
15706222877530619434,
|
|
1574
|
+
1346331933656094250,
|
|
1575
|
+
2637946847932604458,
|
|
1576
|
+
3543506397364355754,
|
|
1577
|
+
12055956501713318570,
|
|
1578
|
+
16891105159317728938,
|
|
1579
|
+
17246851038874396330,
|
|
1580
|
+
7482836825459697322,
|
|
1581
|
+
9465180803964927402,
|
|
1582
|
+
10007800834391580970,
|
|
1583
|
+
10007800834391580969,
|
|
1584
|
+
1581693141309634857,
|
|
1585
|
+
2166897738768590121,
|
|
1586
|
+
2743733508801417513,
|
|
1587
|
+
3808062288019684905,
|
|
1588
|
+
7165397493723556905,
|
|
1589
|
+
7196100967729997273,
|
|
1590
|
+
13705246706122409433,
|
|
1591
|
+
15739647594445283033,
|
|
1592
|
+
15739647594445283032,
|
|
1593
|
+
15739647594445283031,
|
|
1594
|
+
15739647594445283030,
|
|
1595
|
+
2714196810552409814,
|
|
1596
|
+
2932290006255658006,
|
|
1597
|
+
4772786156303073302,
|
|
1598
|
+
6390622992451065110,
|
|
1599
|
+
7068190313846733846,
|
|
1600
|
+
8587742380791638806,
|
|
1601
|
+
8587742380791638805,
|
|
1602
|
+
10326175651737335061,
|
|
1603
|
+
14325120451967594261,
|
|
1604
|
+
16225511881989943317,
|
|
1605
|
+
16622105063286023765,
|
|
1606
|
+
2593052609205260373,
|
|
1607
|
+
2997012664878212437,
|
|
1608
|
+
3393813252265404053,
|
|
1609
|
+
6427403231910434965,
|
|
1610
|
+
5168247330128691349,
|
|
1611
|
+
12047491644632076437,
|
|
1612
|
+
1670969891992164501,
|
|
1613
|
+
3960144567613356437,
|
|
1614
|
+
10107562045706182037,
|
|
1615
|
+
15359490314407223701,
|
|
1616
|
+
644200674478206357,
|
|
1617
|
+
741246148779854245,
|
|
1618
|
+
1163957745478030181,
|
|
1619
|
+
6408972696640758629,
|
|
1620
|
+
8133844190775216741,
|
|
1621
|
+
8133844190775216740,
|
|
1622
|
+
12081498339891932260,
|
|
1623
|
+
18343369839292402788,
|
|
1624
|
+
232489412116415396,
|
|
1625
|
+
978374700451243428,
|
|
1626
|
+
1927710544952613540,
|
|
1627
|
+
3303174642789874340,
|
|
1628
|
+
9693435142129229476,
|
|
1629
|
+
8832448830115059364,
|
|
1630
|
+
17368039572107397796,
|
|
1631
|
+
10102480269991199396,
|
|
1632
|
+
5551937437376123556,
|
|
1633
|
+
8960430093689752228,
|
|
1634
|
+
10646289463540592036,
|
|
1635
|
+
10860742166713500580,
|
|
1636
|
+
12077160696708896676,
|
|
1637
|
+
12744119942175153060,
|
|
1638
|
+
14907604740084203172,
|
|
1639
|
+
8649887888469272228,
|
|
1640
|
+
16617867066405959332,
|
|
1641
|
+
5323522536854555300,
|
|
1642
|
+
7127381856165292196,
|
|
1643
|
+
8111022323637701284,
|
|
1644
|
+
9279382060067231652,
|
|
1645
|
+
1859151779839936420,
|
|
1646
|
+
2305484865548678500,
|
|
1647
|
+
2356392258033422404,
|
|
1648
|
+
2577927251842197668,
|
|
1649
|
+
6275799879767040164,
|
|
1650
|
+
6924685622465520932,
|
|
1651
|
+
17430591832560516388,
|
|
1652
|
+
2247737942245957924,
|
|
1653
|
+
2663982786741361316,
|
|
1654
|
+
4380330254404428452,
|
|
1655
|
+
4758128829898996452,
|
|
1656
|
+
10053967586463790820,
|
|
1657
|
+
10492127106585750308,
|
|
1658
|
+
11421197087346901924,
|
|
1659
|
+
13928905398154182052,
|
|
1660
|
+
6320151068089011620,
|
|
1661
|
+
8494088921686834852,
|
|
1662
|
+
10492404496671416996,
|
|
1663
|
+
11770454605043346340,
|
|
1664
|
+
11770454605043346339,
|
|
1665
|
+
15223109380615005603,
|
|
1666
|
+
15223109380615005602,
|
|
1667
|
+
9288930292358163874,
|
|
1668
|
+
9288930292358163873,
|
|
1669
|
+
11726653682520058785,
|
|
1670
|
+
7321875519128032161,
|
|
1671
|
+
7321875519128032160,
|
|
1672
|
+
13301696272522470304,
|
|
1673
|
+
10095356829886759840,
|
|
1674
|
+
11590790975408607136,
|
|
1675
|
+
11590790975408607135,
|
|
1676
|
+
10251447202807459743,
|
|
1677
|
+
17428114707010782111,
|
|
1678
|
+
3232228983672833951,
|
|
1679
|
+
8770673548489468831,
|
|
1680
|
+
807747085469232031,
|
|
1681
|
+
4735243734526799263,
|
|
1682
|
+
7562856761840869279,
|
|
1683
|
+
9743729014510387871,
|
|
1684
|
+
14558973271077953183,
|
|
1685
|
+
401258500005249183,
|
|
1686
|
+
524250169130960847,
|
|
1687
|
+
1555012228561607631,
|
|
1688
|
+
4000986154528494031,
|
|
1689
|
+
6358303210209832911,
|
|
1690
|
+
5298727189516636111,
|
|
1691
|
+
5361963089431269567,
|
|
1692
|
+
5361963089431269566,
|
|
1693
|
+
6629695073173940670,
|
|
1694
|
+
3435743172048714174,
|
|
1695
|
+
5689623086085965246,
|
|
1696
|
+
6029950830251935422,
|
|
1697
|
+
9424306115056016574,
|
|
1698
|
+
16448660604637728958,
|
|
1699
|
+
4941556264197980350,
|
|
1700
|
+
6524007462261048766,
|
|
1701
|
+
7638470506911088190,
|
|
1702
|
+
7638470506911088189,
|
|
1703
|
+
7638470506911088188,
|
|
1704
|
+
8856308810634172732,
|
|
1705
|
+
14330603763862833468,
|
|
1706
|
+
7043708083563106620,
|
|
1707
|
+
8932319076854850108,
|
|
1708
|
+
9301924881839394876,
|
|
1709
|
+
11138001737289404988,
|
|
1710
|
+
921640518520305212,
|
|
1711
|
+
1794724617224308412,
|
|
1712
|
+
4152066157713517756,
|
|
1713
|
+
10953503744565702844,
|
|
1714
|
+
10953503744565702843,
|
|
1715
|
+
11820032308391020987,
|
|
1716
|
+
14655286063716152763,
|
|
1717
|
+
17794332976522127291,
|
|
1718
|
+
14146006795330742203,
|
|
1719
|
+
15747354331172679867,
|
|
1720
|
+
15685435999577026747,
|
|
1721
|
+
18016708702998273211,
|
|
1722
|
+
10585519808871668923,
|
|
1723
|
+
12482290391525052859,
|
|
1724
|
+
11955677820789885371,
|
|
1725
|
+
17174672636861415867,
|
|
1726
|
+
15029372885326199227,
|
|
1727
|
+
1222465468443808187,
|
|
1728
|
+
8702421068484227515,
|
|
1729
|
+
11387021710996459451,
|
|
1730
|
+
13700551950374941115,
|
|
1731
|
+
8387941606501577147,
|
|
1732
|
+
8875606637956156795,
|
|
1733
|
+
13371549380212185979,
|
|
1734
|
+
14002991779568213371,
|
|
1735
|
+
3568478738044616059,
|
|
1736
|
+
9070287937134341499,
|
|
1737
|
+
15632100548063213947,
|
|
1738
|
+
15632100548063213946,
|
|
1739
|
+
442866334230488442,
|
|
1740
|
+
558554158313330442,
|
|
1741
|
+
1302996691653858698,
|
|
1742
|
+
3546747871275822986,
|
|
1743
|
+
3680926818587527898,
|
|
1744
|
+
5306784414155800282,
|
|
1745
|
+
14199949967880532698,
|
|
1746
|
+
14199949967880532697,
|
|
1747
|
+
1404791177162242777,
|
|
1748
|
+
2235507341550873433,
|
|
1749
|
+
6268617819429951833,
|
|
1750
|
+
9401884506653902169,
|
|
1751
|
+
2034999793394283865,
|
|
1752
|
+
2252181457612260633,
|
|
1753
|
+
2778060460671599705,
|
|
1754
|
+
6042849745129092185,
|
|
1755
|
+
13565119951965832281,
|
|
1756
|
+
14754465551753225561,
|
|
1757
|
+
14754465551753225560,
|
|
1758
|
+
13681967506433008984,
|
|
1759
|
+
17665070055383803224,
|
|
1760
|
+
4879272269194343768,
|
|
1761
|
+
6136684528084950872,
|
|
1762
|
+
8538443186898749272,
|
|
1763
|
+
8538443186898749271,
|
|
1764
|
+
10768029892441278551,
|
|
1765
|
+
11482115893184207063,
|
|
1766
|
+
14265006200089748695,
|
|
1767
|
+
14452664656623861463,
|
|
1768
|
+
17287533201914998487,
|
|
1769
|
+
1371745446464836311,
|
|
1770
|
+
2133558637981044183,
|
|
1771
|
+
2153681521472870951,
|
|
1772
|
+
2503513951808293735,
|
|
1773
|
+
2917882133442156391,
|
|
1774
|
+
9867069420785436519,
|
|
1775
|
+
958781497084577639,
|
|
1776
|
+
1201104507161837767,
|
|
1777
|
+
2898466368431051975,
|
|
1778
|
+
4221334129439839431,
|
|
1779
|
+
4707085239991906247,
|
|
1780
|
+
8618506178202607559,
|
|
1781
|
+
4422695886937511879,
|
|
1782
|
+
7519849872633012167,
|
|
1783
|
+
13280866895139761095,
|
|
1784
|
+
13280866895139761094,
|
|
1785
|
+
14252825993772534470,
|
|
1786
|
+
15699213879152489670,
|
|
1787
|
+
259818969537988294,
|
|
1788
|
+
511640037076557734,
|
|
1789
|
+
1226614568936444198,
|
|
1790
|
+
2046068174445526182,
|
|
1791
|
+
3052704686056933926,
|
|
1792
|
+
3378583527545082022,
|
|
1793
|
+
5063977342503669414,
|
|
1794
|
+
8073745120997007526,
|
|
1795
|
+
8565313973200271910,
|
|
1796
|
+
10247639060068986662,
|
|
1797
|
+
11146502187011488934,
|
|
1798
|
+
10843419173568486566,
|
|
1799
|
+
13831780086668959910,
|
|
1800
|
+
15140847448621253798,
|
|
1801
|
+
17114858490777360294,
|
|
1802
|
+
17291232970866818438,
|
|
1803
|
+
17291232970866818437,
|
|
1804
|
+
17291232970866818436,
|
|
1805
|
+
84567754716009604,
|
|
1806
|
+
494098864300076484,
|
|
1807
|
+
590127124379434468,
|
|
1808
|
+
3659946587763744228,
|
|
1809
|
+
4020206153039663012,
|
|
1810
|
+
4615495522167791780,
|
|
1811
|
+
6440205470323309220,
|
|
1812
|
+
7605276889695630756,
|
|
1813
|
+
9327918279838982564,
|
|
1814
|
+
10516949827751674020,
|
|
1815
|
+
10516949827751674019,
|
|
1816
|
+
6838102259936397475,
|
|
1817
|
+
7141596446158566819,
|
|
1818
|
+
13866019963326972323,
|
|
1819
|
+
14059243927043663683,
|
|
1820
|
+
16348380432772085315,
|
|
1821
|
+
16348380432772085314,
|
|
1822
|
+
16348380432772085313,
|
|
1823
|
+
6379674255943484993,
|
|
1824
|
+
12807658199701023297,
|
|
1825
|
+
12807658199701023296,
|
|
1826
|
+
12807658199701023295,
|
|
1827
|
+
12807658199701023294,
|
|
1828
|
+
7062373452694514238,
|
|
1829
|
+
12205080988497083966,
|
|
1830
|
+
14480587047806553918,
|
|
1831
|
+
14738908233938336414,
|
|
1832
|
+
14738908233938336413,
|
|
1833
|
+
17319702710730351773,
|
|
1834
|
+
581855396173792669,
|
|
1835
|
+
695972944588200077,
|
|
1836
|
+
1387453093228731405,
|
|
1837
|
+
1987138076185600909,
|
|
1838
|
+
12729853818227628941,
|
|
1839
|
+
14695227127176358541,
|
|
1840
|
+
16409664451348105357,
|
|
1841
|
+
1873210416656525453,
|
|
1842
|
+
3433410203089390477,
|
|
1843
|
+
4337437976290478861,
|
|
1844
|
+
7370363075372461325,
|
|
1845
|
+
7593314921649340365,
|
|
1846
|
+
7593314921649340364,
|
|
1847
|
+
10287212949426003404,
|
|
1848
|
+
15507012771307402700,
|
|
1849
|
+
15958276500454567692,
|
|
1850
|
+
4688861721972093708,
|
|
1851
|
+
4881664833011587244,
|
|
1852
|
+
10772108742587263148,
|
|
1853
|
+
12122071793340881068,
|
|
1854
|
+
4624346157141487788,
|
|
1855
|
+
5173397283181926764,
|
|
1856
|
+
6280408896845763948,
|
|
1857
|
+
6280408896845763947,
|
|
1858
|
+
8627670315674580843,
|
|
1859
|
+
8627670315674580842,
|
|
1860
|
+
9075015608831656106,
|
|
1861
|
+
4879145629315989674,
|
|
1862
|
+
5470177807681659562,
|
|
1863
|
+
5550615217731229178,
|
|
1864
|
+
6284954147790471034,
|
|
1865
|
+
10090854299603017082,
|
|
1866
|
+
16022121977386978682,
|
|
1867
|
+
10157003382316303738,
|
|
1868
|
+
16980148826027841914,
|
|
1869
|
+
3720994189353975162,
|
|
1870
|
+
6707816169288890234,
|
|
1871
|
+
16078575165736353658,
|
|
1872
|
+
10867882734548393850,
|
|
1873
|
+
11934292695110172410,
|
|
1874
|
+
12648990085327884282,
|
|
1875
|
+
7466455601212620794,
|
|
1876
|
+
9078219704935058682,
|
|
1877
|
+
15344071957755628794,
|
|
1878
|
+
17671255303162470138,
|
|
1879
|
+
6374870092487508730,
|
|
1880
|
+
12311035521920403194,
|
|
1881
|
+
12805364828266044922,
|
|
1882
|
+
18242178189049358842,
|
|
1883
|
+
18242178189049358841,
|
|
1884
|
+
18242178189049358840,
|
|
1885
|
+
18242178189049358839,
|
|
1886
|
+
1124327567097281527,
|
|
1887
|
+
2207147541150420215,
|
|
1888
|
+
3741186621196412407,
|
|
1889
|
+
3815043427441784055,
|
|
1890
|
+
3855459055723799791,
|
|
1891
|
+
4840550141405099631,
|
|
1892
|
+
7197647170333111407,
|
|
1893
|
+
8677875041157155183,
|
|
1894
|
+
9122531585467108783,
|
|
1895
|
+
5221595673768396207,
|
|
1896
|
+
6594378754293576879,
|
|
1897
|
+
7253768281383678767,
|
|
1898
|
+
13021953075503924015,
|
|
1899
|
+
15900454656763540271,
|
|
1900
|
+
17356042144280264495,
|
|
1901
|
+
18004247052927964975,
|
|
1902
|
+
4257688612621039407,
|
|
1903
|
+
4489876300225366639,
|
|
1904
|
+
5160557940591182191,
|
|
1905
|
+
9740413772972283759,
|
|
1906
|
+
9740413772972283758,
|
|
1907
|
+
13386784365896071534,
|
|
1908
|
+
8632156008570515822,
|
|
1909
|
+
9304088102779316078,
|
|
1910
|
+
17430163026129986414,
|
|
1911
|
+
17430163026129986413,
|
|
1912
|
+
4595306224968714093,
|
|
1913
|
+
5798327345475387245,
|
|
1914
|
+
6648538621662849773,
|
|
1915
|
+
12261321498280723181,
|
|
1916
|
+
5508452710882376429,
|
|
1917
|
+
8423421480748001005,
|
|
1918
|
+
11039789597233989357,
|
|
1919
|
+
12499993227407187693,
|
|
1920
|
+
13391457797731906157,
|
|
1921
|
+
16509448350931092589,
|
|
1922
|
+
478833824647426157,
|
|
1923
|
+
718015444867204781,
|
|
1924
|
+
737542288563961269,
|
|
1925
|
+
1700086806348677301,
|
|
1926
|
+
2347978654546164533,
|
|
1927
|
+
2579610440953417909,
|
|
1928
|
+
3974945285386880949,
|
|
1929
|
+
15107213213016868789,
|
|
1930
|
+
149851701645731765,
|
|
1931
|
+
215813321248023917,
|
|
1932
|
+
246470759156772937,
|
|
1933
|
+
343795938278501081,
|
|
1934
|
+
371257717828579285,
|
|
1935
|
+
403074429616759721,
|
|
1936
|
+
1078946744346352425,
|
|
1937
|
+
1512238714692172713,
|
|
1938
|
+
2125876902257547177,
|
|
1939
|
+
2715321478029492649,
|
|
1940
|
+
3512508678610949929,
|
|
1941
|
+
3514389518647856275,
|
|
1942
|
+
9456511133309198483,
|
|
1943
|
+
13153633325500286099,
|
|
1944
|
+
18235477270701114515,
|
|
1945
|
+
7073402308713625747,
|
|
1946
|
+
12703993286564534419,
|
|
1947
|
+
13319365118764914707,
|
|
1948
|
+
18360084410494849043,
|
|
1949
|
+
18360084410494849042,
|
|
1950
|
+
7807800011072812050,
|
|
1951
|
+
12315637604711111186,
|
|
1952
|
+
12635791962427379154,
|
|
1953
|
+
1602387724814269906,
|
|
1954
|
+
1719845537303410018,
|
|
1955
|
+
4107722057880799586,
|
|
1956
|
+
9044027502225527138,
|
|
1957
|
+
12810022681072149346,
|
|
1958
|
+
6163467844557138786,
|
|
1959
|
+
7657064255563407458,
|
|
1960
|
+
18357925597176610914,
|
|
1961
|
+
14815116201221431394,
|
|
1962
|
+
1304898406574300258,
|
|
1963
|
+
1919427839577249890,
|
|
1964
|
+
3283469148025780322,
|
|
1965
|
+
11655222440183109730,
|
|
1966
|
+
5728065491134275682,
|
|
1967
|
+
7217777316056643426,
|
|
1968
|
+
12656760341255337826,
|
|
1969
|
+
7843558366485413730,
|
|
1970
|
+
8242662580150457250,
|
|
1971
|
+
11986166157202762658,
|
|
1972
|
+
1291706733552774050,
|
|
1973
|
+
4172210926780488610,
|
|
1974
|
+
6681825956635170722,
|
|
1975
|
+
7540832353365891362,
|
|
1976
|
+
8383600753398905250,
|
|
1977
|
+
8519493645581589874,
|
|
1978
|
+
9808501073647890290,
|
|
1979
|
+
12469537751359050610,
|
|
1980
|
+
12834667454489574514,
|
|
1981
|
+
12834667454489574513,
|
|
1982
|
+
4942705830984414321,
|
|
1983
|
+
5642113917208456561,
|
|
1984
|
+
8242505876032958321,
|
|
1985
|
+
8503330049093268561,
|
|
1986
|
+
8584486142693059729,
|
|
1987
|
+
8584486142693059728,
|
|
1988
|
+
11127932761356047504,
|
|
1989
|
+
15119290196144686736,
|
|
1990
|
+
6855513181771169424,
|
|
1991
|
+
6855513181771169423,
|
|
1992
|
+
10960823355906153103,
|
|
1993
|
+
14860350724431727759,
|
|
1994
|
+
11429338504085468303,
|
|
1995
|
+
11429338504085468302,
|
|
1996
|
+
13791733421747052174,
|
|
1997
|
+
16716635464672646798,
|
|
1998
|
+
2399815970303436430,
|
|
1999
|
+
7120672792328101518,
|
|
2000
|
+
8267059781891539854,
|
|
2001
|
+
8386609570171070638,
|
|
2002
|
+
9700364998640324526,
|
|
2003
|
+
6354079465464573870,
|
|
2004
|
+
6929635712325204206,
|
|
2005
|
+
1735533337817268462,
|
|
2006
|
+
8555831323013353710,
|
|
2007
|
+
9062745020961657326,
|
|
2008
|
+
10112075018622933614,
|
|
2009
|
+
4342785169459827310,
|
|
2010
|
+
5002188901785258478,
|
|
2011
|
+
5698396090230750958,
|
|
2012
|
+
10601339481650139886,
|
|
2013
|
+
10601339481650139885,
|
|
2014
|
+
12099505708495607277,
|
|
2015
|
+
1454765363633301997,
|
|
2016
|
+
1674577906236206573,
|
|
2017
|
+
2192090564544927277,
|
|
2018
|
+
3877067180281275437,
|
|
2019
|
+
18185385993681859629,
|
|
2020
|
+
18185385993681859628,
|
|
2021
|
+
8408334277107132460,
|
|
2022
|
+
9144615287624441900,
|
|
2023
|
+
12232465038946418732,
|
|
2024
|
+
9273447683742535724,
|
|
2025
|
+
10228546324403593900,
|
|
2026
|
+
11083256510429689772,
|
|
2027
|
+
18334768575713005484,
|
|
2028
|
+
7251026204274046892,
|
|
2029
|
+
8484906119836330924,
|
|
2030
|
+
9210411474436193708,
|
|
2031
|
+
12521294371941167532,
|
|
2032
|
+
12521294371941167531,
|
|
2033
|
+
610004857444905387,
|
|
2034
|
+
913191495210999723,
|
|
2035
|
+
1030272043811550747,
|
|
2036
|
+
1110236932160471803,
|
|
2037
|
+
1999645308739240315,
|
|
2038
|
+
2086573428118404683,
|
|
2039
|
+
5843347887524072011,
|
|
2040
|
+
9243584807752930379,
|
|
2041
|
+
5253729860862665803,
|
|
2042
|
+
5895785554990510155,
|
|
2043
|
+
5945276465452839731,
|
|
2044
|
+
7810173142717594675,
|
|
2045
|
+
8334823575502698419,
|
|
2046
|
+
11129257463275462067,
|
|
2047
|
+
17056751797513252275,
|
|
2048
|
+
6868942910473446835,
|
|
2049
|
+
8877663658463558835,
|
|
2050
|
+
8877663658463558834,
|
|
2051
|
+
10652687822555051954,
|
|
2052
|
+
12007590165892691378,
|
|
2053
|
+
15840171347272206770,
|
|
2054
|
+
15840171347272206769,
|
|
2055
|
+
15840171347272206768,
|
|
2056
|
+
2276554202225405360,
|
|
2057
|
+
3178271644043407024,
|
|
2058
|
+
4232280875750859440,
|
|
2059
|
+
4321245930697321408,
|
|
2060
|
+
17289467543257770944,
|
|
2061
|
+
1764930096972730304,
|
|
2062
|
+
2381172034405432640,
|
|
2063
|
+
2455777229121811648,
|
|
2064
|
+
4947511763546844864,
|
|
2065
|
+
6222279714182143424,
|
|
2066
|
+
8294028695873774016,
|
|
2067
|
+
8353994993758897808,
|
|
2068
|
+
8591965286868291856,
|
|
2069
|
+
14579527372061752592,
|
|
2070
|
+
14579527372061752591,
|
|
2071
|
+
16357124301157118991,
|
|
2072
|
+
4251893070815504399,
|
|
2073
|
+
4485162970698688303,
|
|
2074
|
+
4917041968843694319,
|
|
2075
|
+
7306947182534098671,
|
|
2076
|
+
8613308793411774703,
|
|
2077
|
+
8613308793411774702,
|
|
2078
|
+
17036904177263666414,
|
|
2079
|
+
2800582427354497774,
|
|
2080
|
+
3509775508072424430,
|
|
2081
|
+
4969801852504232942,
|
|
2082
|
+
5598975449871570030,
|
|
2083
|
+
8902647067988073070,
|
|
2084
|
+
10636369429694444142,
|
|
2085
|
+
10636369429694444141,
|
|
2086
|
+
11096051293948462957,
|
|
2087
|
+
16634642709528783725,
|
|
2088
|
+
6309850189102255981,
|
|
2089
|
+
10304687641695390573,
|
|
2090
|
+
12332839039226269805,
|
|
2091
|
+
1541175507479416941,
|
|
2092
|
+
3581567296998624877,
|
|
2093
|
+
6823304254315797613,
|
|
2094
|
+
7959700875596860269,
|
|
2095
|
+
16333204252639423341,
|
|
2096
|
+
9732985721335116653,
|
|
2097
|
+
14634493685928651629,
|
|
2098
|
+
14634493685928651628,
|
|
2099
|
+
993087284848275308,
|
|
2100
|
+
1052442086119711892,
|
|
2101
|
+
1257368203592663412,
|
|
2102
|
+
1345538642524794484,
|
|
2103
|
+
2174028316317399028,
|
|
2104
|
+
2646045148123416884,
|
|
2105
|
+
2781990910824851204,
|
|
2106
|
+
3749112370258388868,
|
|
2107
|
+
5017401491699856516,
|
|
2108
|
+
5299852675429381028,
|
|
2109
|
+
6222830143629134884,
|
|
2110
|
+
7071367287056310948,
|
|
2111
|
+
7071367287056310947,
|
|
2112
|
+
10874837926877909667,
|
|
2113
|
+
14657123343645860515,
|
|
2114
|
+
14657123343645860514,
|
|
2115
|
+
15955016321180192674,
|
|
2116
|
+
2658971102809510818,
|
|
2117
|
+
4026596097454930082,
|
|
2118
|
+
4559023457166986978,
|
|
2119
|
+
14946636852028704482,
|
|
2120
|
+
17225779003482939618,
|
|
2121
|
+
7161163407777309922,
|
|
2122
|
+
8353682879190542050,
|
|
2123
|
+
8353682879190542049,
|
|
2124
|
+
8353682879190542048,
|
|
2125
|
+
9940712480064018912,
|
|
2126
|
+
11479367098290396640,
|
|
2127
|
+
15058563452332707296,
|
|
2128
|
+
15429348797611683872,
|
|
2129
|
+
10296550067847241760,
|
|
2130
|
+
13251758678795606560,
|
|
2131
|
+
853733735716700704,
|
|
2132
|
+
1918344670327310752,
|
|
2133
|
+
3564054056043504800,
|
|
2134
|
+
3817590970594028384,
|
|
2135
|
+
4405349867917873888,
|
|
2136
|
+
13679578553297138400,
|
|
2137
|
+
17377660510317205728,
|
|
2138
|
+
2735899076803714784,
|
|
2139
|
+
3091079997032393888,
|
|
2140
|
+
4467682783310698912,
|
|
2141
|
+
4467682783310698911,
|
|
2142
|
+
4636778876404072287,
|
|
2143
|
+
11209752763783374687,
|
|
2144
|
+
14747242783137576287,
|
|
2145
|
+
7871910813479572831,
|
|
2146
|
+
9199789787130009951,
|
|
2147
|
+
14939702503488289119,
|
|
2148
|
+
18004343438988200287,
|
|
2149
|
+
6150332406255846751,
|
|
2150
|
+
6461455146060506975,
|
|
2151
|
+
10611581083436961119,
|
|
2152
|
+
14447067821038211423,
|
|
2153
|
+
14447067821038211422,
|
|
2154
|
+
7417783215667159390,
|
|
2155
|
+
9489682585806688094,
|
|
2156
|
+
12295443428572403038,
|
|
2157
|
+
8452515910179614046,
|
|
2158
|
+
8452515910179614045,
|
|
2159
|
+
8452515910179614044,
|
|
2160
|
+
11103636693569337180,
|
|
2161
|
+
16125316559694421852,
|
|
2162
|
+
325984463423881564,
|
|
2163
|
+
663572886879408860,
|
|
2164
|
+
2204221409364112092,
|
|
2165
|
+
2883618248031593564,
|
|
2166
|
+
3535517432033449692,
|
|
2167
|
+
3583752879821638884,
|
|
2168
|
+
5087769015721161188,
|
|
2169
|
+
5216908205732824292,
|
|
2170
|
+
5267822082021660372,
|
|
2171
|
+
5267822082021660371,
|
|
2172
|
+
5973556082137549779,
|
|
2173
|
+
10127135586151408083,
|
|
2174
|
+
15132238521457916371,
|
|
2175
|
+
636216646173196243,
|
|
2176
|
+
1416222438070155219,
|
|
2177
|
+
1480606782568549883,
|
|
2178
|
+
2485172544837393403,
|
|
2179
|
+
2913126202474447611,
|
|
2180
|
+
3708071420352327675,
|
|
2181
|
+
7170218502226462203,
|
|
2182
|
+
11670554480557308411,
|
|
2183
|
+
11896977379484717051,
|
|
2184
|
+
2083558176980763643,
|
|
2185
|
+
5200211012084422139,
|
|
2186
|
+
6722687888964775419,
|
|
2187
|
+
263860744537800187,
|
|
2188
|
+
356626634200162043,
|
|
2189
|
+
374995728060726799,
|
|
2190
|
+
562626396649581455,
|
|
2191
|
+
668090710731765631,
|
|
2192
|
+
1314920694865210367,
|
|
2193
|
+
1565971694795356799,
|
|
2194
|
+
1626801138371177143,
|
|
2195
|
+
3050399631543600311,
|
|
2196
|
+
3252588417982718999,
|
|
2197
|
+
3943649882267154711,
|
|
2198
|
+
5690223247184898327,
|
|
2199
|
+
10500972580993406231,
|
|
2200
|
+
16587979528985333015,
|
|
2201
|
+
16587979528985333014,
|
|
2202
|
+
8435841878647835926,
|
|
2203
|
+
8842759330760244694,
|
|
2204
|
+
6900278005880804822,
|
|
2205
|
+
6913177521579022276,
|
|
2206
|
+
17403930227288176580,
|
|
2207
|
+
1582598453877586372,
|
|
2208
|
+
1767622453382162468,
|
|
2209
|
+
4561632501269398052,
|
|
2210
|
+
12074023931716663844,
|
|
2211
|
+
13462712387529293604,
|
|
2212
|
+
3390174784045954852,
|
|
2213
|
+
4432628136775169316,
|
|
2214
|
+
4942173446888271140,
|
|
2215
|
+
6840248833121737252,
|
|
2216
|
+
8471563730871628580,
|
|
2217
|
+
8584088084519716836,
|
|
2218
|
+
13055320889882013156,
|
|
2219
|
+
17488325539115324388,
|
|
2220
|
+
17488325539115324387,
|
|
2221
|
+
193141193810237155,
|
|
2222
|
+
217073021245487651,
|
|
2223
|
+
246357510466964667,
|
|
2224
|
+
375761730363109387,
|
|
2225
|
+
1691334113702703627,
|
|
2226
|
+
3134845592284406795,
|
|
2227
|
+
3940496189983812107,
|
|
2228
|
+
4086215182968352939,
|
|
2229
|
+
4325590533965633931,
|
|
2230
|
+
7343354270724715915,
|
|
2231
|
+
7973055256243169163,
|
|
2232
|
+
8318138276740459659,
|
|
2233
|
+
8604211150130435019,
|
|
2234
|
+
11442842369059280331,
|
|
2235
|
+
12359841103181922507,
|
|
2236
|
+
3490773153013303499,
|
|
2237
|
+
5528336751933505227,
|
|
2238
|
+
6540783476039867467,
|
|
2239
|
+
6540783476039867466,
|
|
2240
|
+
7804674356539685450,
|
|
2241
|
+
11895908996407579722,
|
|
2242
|
+
12826223092255614154,
|
|
2243
|
+
13382695616004497738,
|
|
2244
|
+
14815700757333594186,
|
|
2245
|
+
16439951890618587722,
|
|
2246
|
+
16439951890618587721,
|
|
2247
|
+
11693579203267162697,
|
|
2248
|
+
7218948442838297161,
|
|
2249
|
+
16022324428703904329,
|
|
2250
|
+
16022324428703904328,
|
|
2251
|
+
16022324428703904327,
|
|
2252
|
+
2779978180900834887,
|
|
2253
|
+
2887174734074284759,
|
|
2254
|
+
3197367898534435991,
|
|
2255
|
+
4962165147331154583,
|
|
2256
|
+
8063214183669008535,
|
|
2257
|
+
9395576161783525527,
|
|
2258
|
+
9395576161783525526,
|
|
2259
|
+
10393682632565385238,
|
|
2260
|
+
15604714973635722262,
|
|
2261
|
+
16867294769871843862,
|
|
2262
|
+
3000940605405179926,
|
|
2263
|
+
3936818220251076118,
|
|
2264
|
+
6620908367456711702,
|
|
2265
|
+
7301930289720303126,
|
|
2266
|
+
10229665190399330838,
|
|
2267
|
+
10229665190399330837,
|
|
2268
|
+
12549601405140259861,
|
|
2269
|
+
10040344842128778261,
|
|
2270
|
+
13159132507357842453,
|
|
2271
|
+
321189401840807957,
|
|
2272
|
+
333910489905004547,
|
|
2273
|
+
339550278152555729,
|
|
2274
|
+
389902709000592145,
|
|
2275
|
+
407146608122730327,
|
|
2276
|
+
3135218545626629463,
|
|
2277
|
+
3270900916826941895,
|
|
2278
|
+
7096255531431399367,
|
|
2279
|
+
10420104930240492487,
|
|
2280
|
+
12135436139587214791,
|
|
2281
|
+
12135436139587214790,
|
|
2282
|
+
6823062890375009734,
|
|
2283
|
+
7613107709739409606,
|
|
2284
|
+
7892697010757912838,
|
|
2285
|
+
7892697010757912837,
|
|
2286
|
+
8550469289887318533,
|
|
2287
|
+
16907485337985849861,
|
|
2288
|
+
16907485337985849860,
|
|
2289
|
+
73749600326477828,
|
|
2290
|
+
129358754018433956,
|
|
2291
|
+
135210429371105938,
|
|
2292
|
+
154749653951984478,
|
|
2293
|
+
502664213482999262,
|
|
2294
|
+
539434336070337334,
|
|
2295
|
+
4535220881640194870,
|
|
2296
|
+
4535220881640194869,
|
|
2297
|
+
10527845868963820341,
|
|
2298
|
+
2758850809430377269,
|
|
2299
|
+
3206016028606945589,
|
|
2300
|
+
5841644046833004853,
|
|
2301
|
+
14380517732157750581,
|
|
2302
|
+
17302280880833042229,
|
|
2303
|
+
2812794098610766133,
|
|
2304
|
+
4938000534506490165,
|
|
2305
|
+
6908876623200493621,
|
|
2306
|
+
9786215493805186101,
|
|
2307
|
+
14203569168050332213,
|
|
2308
|
+
2148423167720436277,
|
|
2309
|
+
2694516932039285493,
|
|
2310
|
+
4825779066626087413,
|
|
2311
|
+
7688339857985808373,
|
|
2312
|
+
7688339857985808372,
|
|
2313
|
+
12122724923918984180,
|
|
2314
|
+
12455148497246117812,
|
|
2315
|
+
12455148497246117811,
|
|
2316
|
+
6921502123845785523,
|
|
2317
|
+
7036243606352893939,
|
|
2318
|
+
7036243606352893938,
|
|
2319
|
+
10018792792569501170,
|
|
2320
|
+
10475539572065165554,
|
|
2321
|
+
10489419441236018372,
|
|
2322
|
+
11793475133879807172,
|
|
2323
|
+
13428423999554646212,
|
|
2324
|
+
14292726630349214148,
|
|
2325
|
+
2159664365246519748,
|
|
2326
|
+
4282783759924356548,
|
|
2327
|
+
8024508970010077124,
|
|
2328
|
+
11977766724815483844,
|
|
2329
|
+
13893156378369939140,
|
|
2330
|
+
13893156378369939139,
|
|
2331
|
+
];
|
|
2332
|
+
|
|
2333
|
+
#[test]
|
|
2334
|
+
fn mapping() {
|
|
2335
|
+
let mut m = RandomMapping {
|
|
2336
|
+
prng: 1234567891,
|
|
2337
|
+
last_idx: 0,
|
|
2338
|
+
};
|
|
2339
|
+
|
|
2340
|
+
for i in 0..2000 {
|
|
2341
|
+
assert_eq!(m.next_index(), MAPPING_REF[i]);
|
|
2342
|
+
}
|
|
2343
|
+
}
|