-
Notifications
You must be signed in to change notification settings - Fork 21
/
cauchy_tables_256.inc
565 lines (552 loc) · 127 KB
/
cauchy_tables_256.inc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
// Optimal improved Cauchy matrices for some small values of m:
/*
* These were generated by the code in tabgen.cpp. I'm attempting to summarize the
* process here, but it's a little bit of a hack. I basically tried a bunch of ways
* to solve for the Cauchy matrices with the smallest number of ones and hit on an
* approach that worked:
*
* (1) Sort all of the GF(256) symbols in order by how many ones appear in their
* 8x8 submatrix representation. Recall this submatrix is produced by repeatedly
* multiplying each row by 2. The best symbols are preferred.
* (2) Set up the Cauchy matrix with vectors X[] and Y[] as follows:
*
* A B C D E
* F 1 1 1 1 1
* G a b c d e
* H f g h i j
*
* Note that this is a special case of the Cauchy matrix, where each element in the
* matrix is equal to 1 / (X_i + Y_j) scaled so that the first row is all ones. This
* is ideal because the all-one row can be recovered faster and it has the least
* number of ones, and it reduces to the m = 1 case.
*
* (3) Since each value X[] and Y[] can only be used once, keep track of what has been
* used. Solve for the best first column values to come up with Y[].
* (4) Then solve for X[] that give the best column values from left to right.
*
* Note that in practice, columns are selected up to the value of k, so the left side
* should have the best submatrix representations for best performance.
*
* Also note that to generate the whole matrix, only X[] and Y[] values are needed.
*
* (5) Finally use the method from Jerasure to "improve" the matrix rows by dividing
* each row by the value that minimizes the number of ones.
*
* Note that the matrix improving process has diminishing returns. It saves roughly
* 128 ones for k = 29 regardless to and asymptotic in m, meaning that for values of
* m above about 6 for k = 29, improving the matrix only makes about 1% reduction in
* the number of ones.
*
* The matrix row improving process proceeds as follows as in Jerasure:
*
* (5a) For each row, trial divide the whole row by that element.
* (5b) Pick the option that has the lowest number of ones for k = 29 (heuristic).
* (5c) Sort the resulting columns so the best ones are on the left.
*
* Note that this process is very expensive. To store all the data required to
* reconstruct these would take 256 table entries to store the best sort, and 256
* table entries to store the best column for each row. For each of the 255 values
* of m, which is not worth it. Fortunately skipping it for most values of m is a
* good option because there are serious diminishing returns for improving the
* matrix rows. Note that the matrix columns are already "improved" by construction.
*
* So I have only applied this expensive improving step for the precomputed tables.
* For the reconstructed tables, I just store the optimal X[] and Y[] values with my
* version of column improving, which only requires 256 bytes for each m from 7..255,
* and it can be stored in a 65KB table.
*
* There's a good chance that due to the "solving" approach taken to minimize the
* number ones that there are only very small improvements possible.
*/
static const uint8_t CAUCHY_MATRIX_2[1 * 254] = {
1,195,2,4,162,81,8,194,3,97,6,163,5,10,12,20,80,40,235,16,
146,193,24,73,48,243,9,96,160,18,36,199,182,192,72,231,186,89,178,32,
176,17,166,83,234,227,69,138,7,147,161,203,21,88,65,225,13,197,11,41,
34,93,85,91,201,25,242,44,198,22,14,82,144,64,233,117,170,239,179,49,
99,164,28,183,68,167,113,121,67,226,42,84,154,207,77,168,215,230,134,152,
19,211,26,33,98,202,219,101,180,241,187,56,37,251,209,92,237,90,139,50,
130,76,75,174,229,177,112,249,46,171,145,38,150,238,100,128,116,115,232,196,
87,158,224,184,45,66,52,58,190,105,23,15,30,60,74,120,200,155,29,247,
165,181,210,136,255,240,79,142,71,214,250,206,131,43,103,169,35,104,228,148,
213,109,27,151,188,107,95,70,86,57,135,114,218,153,205,175,191,245,119,208,
51,140,132,185,236,248,39,159,143,129,125,246,172,54,78,137,94,217,53,102,
156,223,118,204,124,254,47,106,212,123,108,61,149,59,133,253,31,221,189,173,
122,62,216,127,141,157,244,222,252,111,55,126,110,220};
static const uint8_t CAUCHY_MATRIX_3[2 * 253] = {
4,16,81,6,5,80,162,83,8,235,48,163,9,178,195,33,1,103,40,161,
3,177,2,156,69,231,171,12,166,11,199,233,229,182,226,96,146,74,205,28,
138,97,73,58,160,46,174,18,186,84,35,113,24,17,164,21,185,10,179,201,
194,145,72,106,90,147,168,44,101,93,181,75,192,211,13,198,234,150,79,32,
124,20,219,239,215,167,142,89,228,176,183,193,36,119,65,255,130,253,202,14,
170,29,105,251,61,77,52,249,227,191,225,107,98,243,190,42,68,45,85,148,
88,236,100,53,30,49,66,165,99,137,7,245,151,188,187,196,136,76,139,125,
64,242,203,56,197,27,120,238,200,115,70,54,184,67,91,128,232,82,246,60,
153,131,26,41,92,143,38,240,254,117,118,25,204,109,34,144,39,207,108,112,
209,213,50,248,155,214,172,132,51,230,180,237,210,221,104,22,169,15,57,71,
134,47,121,19,62,149,23,152,159,31,122,127,241,154,95,59,208,140,86,158,
223,216,114,250,37,189,94,87,218,212,43,217,252,224,55,135,222,173,206,116,
244,247,102,63,78,111,141,175,126,129,110,220,157,
// For row 2:
16,4,6,81,80,5,83,162,178,48,235,9,163,8,33,195,103,1,161,40,
177,3,156,2,231,69,12,171,11,166,233,199,96,226,182,229,74,146,97,138,
28,205,58,73,46,160,18,174,84,186,24,17,35,113,21,164,10,185,201,179,
106,72,145,194,147,90,44,168,93,101,192,13,181,198,75,211,150,234,32,79,
20,124,239,219,167,215,176,228,89,142,130,253,119,36,255,65,183,193,251,29,
105,14,170,202,243,52,77,98,191,227,107,225,249,61,42,190,45,68,148,85,
236,88,196,7,139,188,76,187,151,203,53,242,99,49,165,100,56,66,30,197,
27,245,137,136,125,64,128,60,115,200,67,91,232,70,54,120,184,246,82,238,
26,92,153,254,131,117,240,38,41,143,144,204,25,112,108,118,207,39,34,109,
213,209,132,180,214,155,230,50,237,172,248,51,169,22,71,221,210,57,15,104,
47,134,62,149,121,19,159,31,23,152,241,154,122,127,208,158,95,86,140,59,
250,37,94,223,216,87,114,189,217,43,212,218,224,252,116,173,206,135,222,55,
102,63,244,247,111,78,133,126,175,110,129,157,220};
static const uint8_t CAUCHY_MATRIX_4[3 * 252] = {
195,2,1,65,149,99,34,81,16,163,186,72,224,243,86,148,242,246,38,25,
41,191,24,182,194,215,162,12,73,234,69,245,5,75,84,20,141,218,36,187,
96,192,6,10,205,166,139,152,37,7,198,44,17,30,174,105,201,74,144,168,
142,235,97,26,91,179,13,164,115,117,33,22,167,67,214,138,4,107,29,40,
211,66,32,171,236,82,134,160,46,76,231,239,28,60,8,209,172,189,176,146,
58,184,165,153,177,123,87,68,130,83,51,193,180,3,203,247,109,178,47,131,
19,89,132,85,219,101,95,230,248,48,54,233,199,77,112,232,79,170,225,135,
183,137,92,197,57,244,161,125,237,129,227,64,147,45,106,23,108,114,35,56,
188,252,212,185,143,49,229,61,181,70,226,196,157,93,104,120,71,202,9,18,
80,238,208,145,158,116,27,255,249,217,100,11,15,228,204,63,113,121,14,59,
150,156,254,240,200,241,220,52,39,210,88,53,206,175,253,50,154,155,124,98,
119,216,173,222,31,190,94,207,250,102,42,128,90,251,21,78,122,111,223,136,
55,213,221,126,140,118,127,110,169,159,43,133,
// For row 2:
167,6,22,235,1,96,163,138,198,241,8,160,251,97,80,162,186,72,3,85,
32,4,82,195,31,10,206,42,68,89,227,41,19,178,90,144,5,81,12,73,
74,114,106,117,69,77,255,158,16,53,109,193,15,116,2,30,93,20,65,171,
9,176,37,83,197,177,147,203,17,192,145,170,226,91,161,199,248,234,231,27,
224,153,223,48,230,215,183,148,36,44,7,188,50,23,189,243,24,194,239,156,
155,76,14,18,46,52,28,211,168,242,40,70,218,108,238,146,84,94,213,64,
164,233,112,174,205,182,33,121,99,204,184,151,217,38,254,225,240,247,61,79,
26,88,104,103,107,172,71,21,169,115,51,54,139,180,92,232,219,58,137,135,
214,179,159,166,105,45,249,49,87,86,196,236,209,185,128,35,134,102,228,124,
57,133,100,34,142,39,140,190,245,187,60,126,66,132,119,98,149,123,216,25,
122,165,136,101,200,152,130,250,120,127,220,191,202,13,207,252,208,210,229,222,
253,237,56,201,154,95,29,47,212,157,111,62,63,43,246,143,131,11,244,75,
67,150,181,173,129,55,78,113,59,125,141,110,
// For row 3:
81,154,192,4,2,162,146,34,73,163,230,186,1,46,194,182,96,195,83,235,
178,234,121,221,40,49,67,98,28,179,25,8,211,231,193,45,80,187,102,101,
85,18,89,35,243,164,97,48,145,5,24,151,138,10,62,6,68,120,19,36,
183,149,245,152,38,225,103,128,167,104,32,90,226,251,44,156,208,203,215,74,
227,16,147,86,9,158,168,87,52,209,106,17,26,199,155,94,58,115,51,116,
176,14,202,15,99,12,50,232,249,123,236,175,22,119,214,212,64,76,20,130,
153,173,65,188,233,31,170,95,207,131,72,139,105,71,166,78,144,79,42,11,
140,66,237,135,161,3,54,60,75,242,206,112,59,210,197,150,91,239,7,171,
198,69,160,191,117,129,218,241,23,93,39,174,13,57,200,184,132,100,252,53,
110,113,30,244,205,190,219,213,181,136,159,37,125,238,82,41,142,70,250,185,
177,196,229,133,223,111,88,143,228,77,224,180,253,216,114,134,254,124,107,247,
84,240,27,172,246,217,109,108,165,201,148,169,33,127,55,255,29,47,56,220,
137,126,118,21,204,92,43,61,189,222,122,248};
static const uint8_t CAUCHY_MATRIX_5[4 * 251] = {
81,227,178,171,4,24,46,101,67,243,83,10,195,96,194,162,43,228,32,99,
229,26,70,12,134,125,213,235,25,242,14,1,76,97,85,190,174,36,94,37,
88,112,208,48,5,8,197,209,182,84,6,80,128,79,65,53,152,234,92,11,
35,187,161,3,169,16,40,86,51,52,148,241,44,9,20,191,163,160,131,193,
93,186,90,144,55,56,72,226,71,33,202,100,206,89,41,217,2,58,95,222,
179,214,196,175,68,192,199,249,236,168,78,34,210,30,238,136,137,27,211,176,
172,215,124,147,13,50,60,28,114,138,180,248,166,183,143,164,145,207,212,75,
73,159,19,126,150,140,139,122,54,77,231,49,253,252,237,225,239,117,17,91,
198,64,69,129,155,181,7,146,121,39,15,233,221,188,156,113,29,251,245,98,
57,224,38,107,62,232,158,185,59,118,115,200,135,21,109,250,18,247,255,66,
177,230,31,45,102,151,203,105,170,104,189,204,149,167,87,216,74,219,165,184,
244,127,106,130,116,201,173,223,103,108,120,111,154,218,205,254,119,22,153,47,
157,23,133,61,42,63,240,142,132,246,110,
// For row 2:
229,4,32,162,227,213,10,102,48,44,12,46,11,6,14,171,3,49,178,112,
81,234,235,83,86,80,24,70,111,20,194,76,1,241,163,207,193,239,30,68,
167,99,176,67,197,79,5,35,34,202,96,125,91,8,98,237,50,26,233,195,
209,144,248,43,211,191,180,134,7,192,9,97,243,148,242,16,85,185,199,174,
244,251,56,187,146,90,60,108,154,166,84,117,156,188,179,224,222,138,142,2,
41,231,143,105,37,52,131,255,215,61,204,182,198,94,145,147,22,158,169,208,
23,236,245,136,223,152,72,73,139,58,40,161,33,121,196,225,238,190,177,250,
28,230,17,170,153,47,114,205,120,181,214,228,18,218,53,164,36,100,19,128,
210,59,155,232,69,77,51,55,183,42,115,92,203,89,206,149,106,186,124,65,
200,217,135,21,130,129,27,160,64,165,15,57,38,107,151,75,253,189,249,103,
212,159,132,216,101,109,221,175,126,127,247,78,113,88,63,45,116,119,118,110,
93,104,29,62,74,254,240,13,66,226,54,25,71,252,122,201,219,137,150,140,
133,172,157,168,39,87,173,95,31,123,184,
// For row 3:
48,64,8,81,227,162,88,80,166,20,134,97,139,37,198,140,33,4,65,3,
45,68,195,96,1,113,77,209,72,29,224,188,60,109,231,5,25,50,2,154,
9,28,193,24,168,32,19,192,83,10,70,243,15,249,187,112,165,235,41,172,
12,242,186,213,6,16,202,22,161,55,155,248,92,190,244,158,39,215,201,251,
197,160,93,233,179,106,62,171,163,94,13,240,255,191,133,147,79,71,18,98,
87,210,135,73,237,90,176,128,85,199,49,52,229,152,100,14,75,196,86,170,
17,184,101,102,226,91,143,51,206,53,204,111,159,167,182,253,183,219,11,34,
127,44,115,138,67,203,132,40,234,74,217,59,84,146,180,105,222,108,150,153,
47,117,252,82,211,136,151,142,241,36,103,95,46,27,178,26,218,250,194,54,
76,116,114,126,205,225,130,122,121,131,221,137,23,174,58,38,78,69,118,145,
35,149,144,7,239,212,223,43,177,148,207,238,57,129,42,104,208,156,124,21,
119,232,169,236,254,247,230,173,228,181,200,89,110,56,99,220,31,185,216,66,
107,61,246,245,125,214,30,175,120,189,123,
// For row 4:
81,8,16,233,112,25,40,1,18,101,72,98,209,183,168,12,235,138,14,21,
36,6,236,39,219,20,24,48,2,179,87,45,205,186,159,34,26,69,242,193,
128,160,22,31,188,218,214,9,35,105,95,52,146,56,227,195,194,119,197,78,
144,198,225,88,171,53,153,96,91,162,13,33,27,82,117,28,15,154,196,114,
243,122,134,116,41,5,73,163,129,85,206,65,4,178,203,83,136,67,113,217,
135,226,3,150,50,131,254,147,202,211,97,204,145,192,99,143,170,32,199,240,
77,11,80,201,177,191,237,253,231,215,94,10,165,212,71,38,79,103,152,255,
132,155,59,164,130,176,89,232,158,238,76,7,185,42,84,221,228,180,244,169,
207,58,44,200,189,190,184,100,127,61,229,86,37,109,29,74,182,216,47,106,
142,92,187,17,161,172,151,43,51,93,239,121,148,157,139,248,107,57,224,175,
174,49,90,70,108,234,241,30,46,166,23,68,210,110,75,167,125,181,64,250,
247,251,66,249,140,133,213,104,156,118,102,126,120,60,54,19,245,222,208,62,
115,124,230,55,63,246,111,220,252,137,123};
static const uint8_t CAUCHY_MATRIX_6[5 * 250] = {
120,3,193,22,16,87,2,233,6,239,10,101,20,65,195,179,145,175,232,38,
99,182,100,91,40,49,171,69,1,81,83,8,48,139,64,247,14,166,183,186,
19,76,25,79,39,237,93,157,188,189,184,197,177,90,227,4,77,165,89,163,
167,58,243,97,209,56,52,133,86,246,88,190,162,68,82,98,221,18,178,107,
95,240,159,147,250,12,192,146,134,80,172,201,181,13,199,29,21,155,74,169,
226,7,41,219,28,200,141,211,36,224,118,109,245,137,47,92,54,15,158,73,
115,238,198,17,127,35,185,24,26,150,70,63,206,116,229,176,71,104,75,128,
42,60,234,5,138,53,112,225,114,205,156,30,94,241,108,154,110,34,72,113,
117,187,27,67,164,228,235,170,96,23,11,216,230,161,129,106,168,135,119,144,
61,33,160,66,103,123,255,244,142,84,210,231,31,102,121,236,191,46,32,194,
130,208,105,203,140,222,85,152,51,151,149,202,122,59,153,215,214,173,37,204,
148,9,126,44,217,180,43,196,45,242,174,57,125,252,50,223,111,143,207,251,
55,212,253,249,78,254,131,62,136,248,
// For row 2:
81,162,168,178,97,194,8,4,35,152,93,24,25,10,139,243,96,161,51,40,
227,134,228,3,2,99,101,208,49,13,187,144,9,43,84,54,29,88,32,15,
56,36,193,37,125,80,75,209,171,235,72,85,112,190,172,27,195,83,117,203,
48,6,159,250,78,140,46,175,26,206,91,53,200,202,74,217,92,207,57,16,
77,181,226,28,160,68,224,240,14,64,12,86,18,174,215,67,114,20,130,179,
44,237,138,90,177,65,198,199,186,89,196,184,146,1,70,94,155,95,147,113,
124,231,79,107,176,156,45,116,197,7,158,234,41,52,210,38,249,242,252,17,
238,212,60,205,214,145,30,167,19,213,131,69,229,211,58,137,5,39,149,251,
239,109,164,241,129,182,23,62,105,143,191,136,151,55,189,128,122,135,21,108,
163,232,165,157,71,204,11,169,183,118,66,22,104,170,76,150,148,115,102,153,
233,180,173,254,120,103,98,188,87,236,50,216,126,31,247,106,255,121,132,218,
245,142,192,59,219,111,100,154,225,222,73,221,230,127,119,33,166,133,63,244,
248,34,47,253,185,42,110,201,61,123,
// For row 3:
195,48,66,64,97,41,102,71,201,6,194,100,8,15,227,19,85,138,235,237,
32,98,161,231,169,84,4,88,28,77,22,87,207,162,35,241,81,137,56,154,
20,147,79,10,80,208,242,36,170,192,163,245,9,136,179,128,74,167,89,202,
124,251,229,238,3,73,160,209,24,16,45,2,99,54,115,203,26,27,177,212,
182,113,5,250,225,200,247,59,219,232,156,7,43,104,44,72,146,83,234,149,
108,215,82,145,49,130,50,246,111,65,12,230,23,180,190,198,125,67,42,175,
199,183,224,68,206,116,159,185,86,105,213,91,34,1,205,101,197,69,168,222,
11,233,186,216,134,187,14,63,236,96,30,176,144,18,139,33,121,244,70,110,
158,165,152,132,46,140,119,13,120,155,112,181,166,164,92,193,174,217,253,95,
60,57,135,75,141,151,191,37,94,243,53,118,17,184,58,129,52,178,55,78,
223,255,90,76,31,249,47,51,171,38,117,21,25,239,228,143,142,123,254,240,
188,126,133,204,93,127,131,103,122,106,153,148,196,226,218,211,29,150,214,210,
40,62,248,109,172,252,107,157,220,61,
// For row 4:
48,140,199,8,109,198,32,227,12,165,197,162,72,97,132,20,37,186,161,202,
64,1,4,213,79,3,80,193,59,226,242,233,190,33,10,234,218,9,65,103,
106,50,251,154,113,243,34,192,81,209,62,231,28,5,17,196,139,134,108,223,
24,70,44,38,49,203,88,73,68,255,153,112,137,13,208,147,41,219,76,16,
74,136,171,51,215,237,116,30,224,117,96,22,78,25,184,166,206,244,236,87,
92,180,53,93,35,187,47,176,160,191,135,21,142,188,195,2,211,18,102,26,
101,217,249,126,170,178,7,254,19,151,130,235,133,55,229,114,128,29,146,150,
100,11,143,99,210,183,152,129,115,77,201,252,45,86,71,75,168,36,57,250,
222,58,253,248,82,83,61,205,43,182,158,14,212,179,207,15,40,23,174,181,
39,225,124,107,163,238,172,6,167,131,145,185,148,177,60,67,155,221,239,216,
95,204,230,220,200,228,54,27,42,85,91,104,138,144,69,169,118,241,120,56,
194,175,90,121,156,89,240,110,105,98,127,46,149,232,31,94,159,246,214,119,
111,52,66,84,122,125,123,247,245,141,
// For row 5:
209,69,1,80,14,194,187,235,18,2,23,242,86,85,12,231,4,3,81,16,
34,189,170,101,95,87,61,225,19,188,83,150,74,183,82,195,25,168,56,10,
160,215,99,49,5,136,67,243,75,65,186,91,50,21,11,98,106,88,233,92,
218,201,64,226,249,52,255,97,116,73,176,79,205,89,146,28,24,238,22,228,
144,40,60,17,217,123,33,178,100,252,103,132,36,120,124,47,153,181,93,6,
13,129,114,190,237,155,162,191,108,131,113,42,112,244,148,220,8,240,241,118,
152,229,180,20,72,166,182,239,165,211,9,119,198,125,234,210,66,57,142,197,
102,251,53,71,169,121,156,193,147,159,41,232,177,222,199,105,248,37,161,48,
76,77,44,117,137,216,58,130,221,175,246,203,200,54,227,59,111,96,230,164,
109,122,206,192,107,163,196,133,51,141,84,149,38,185,62,128,219,39,174,151,
43,179,184,32,138,7,250,139,212,172,157,70,207,171,254,154,167,202,26,158,
63,45,90,140,223,224,94,145,253,27,126,30,208,68,214,127,204,15,35,245,
213,173,115,55,134,135,46,110,236,104};
/*
* The remaining optimal matrices are represented in a special form to
* reduce the amount of memory required.
*
* First off Y[0] = 0, X[0] = 1 so that does not need to be stored.
*
* Also the values for Y[] are all constant as m increases so only the
* values for X[] are stored, which cuts the memory cost in half.
*
* So yeah it's a little bit magical but trust me on this one.
*/
static const uint8_t CAUCHY_MATRIX_Y[256] = {
194,3,163,5,9,80,130,131,64,128,226,221,111,54,62,127,126,179,234,255,253,
17,88,122,238,217,55,132,26,207,33,181,109,102,49,25,183,140,247,190,76,
157,79,38,154,228,106,91,13,155,7,218,105,215,173,31,209,176,248,117,175,
208,65,156,42,87,222,143,61,44,115,90,56,178,241,86,170,116,214,212,36,97,
197,211,229,235,82,121,99,75,246,70,233,48,104,14,169,213,185,149,52,193,
95,74,107,151,40,53,67,168,46,32,2,93,174,6,83,202,232,138,84,59,167,188,
150,34,239,28,133,24,47,210,165,189,144,171,216,85,137,206,129,224,231,
182,16,15,20,166,135,71,227,43,51,27,204,200,164,225,22,254,252,112,69,35,
145,101,66,78,195,73,45,12,37,153,89,120,250,142,57,159,113,23,124,243,98,
191,201,177,29,141,110,223,118,19,119,196,77,68,114,94,134,245,158,58,186,
96,160,10,152,8,237,230,136,251,146,249,139,199,184,123,18,39,72,203,148,
60,240,100,147,198,244,242,125,220,205,180,236,172,63,103,30,50,92,187,
108,161,162,219,192,81,41,4,11,21,
};
// Starts with 248 X[] values for k = 249 and m = 7,
// then provides 247 X[] values for k = 248 and m = 8,
// down to 1 X[] value for k = 1 and m = 255.
// 1 + 2 + 3 + ... = n(n + 1)/2
// n = m - 7
// offset into table = n*249 - n(n+1)/2
static const uint8_t CAUCHY_MATRIX_X[30876] = {
88,49,27,7,166,118,21,45,96,142,41,134,229,211,196,47,121,128,193,15,64,89,176,33,92,215,177,14,98,137,181,202,112,44,99,120,144,22,42,131,156,221,248,57,11,16,56,147,232,253,183,53,179,191,209,2,62,225,68,224,25,61,190,240,67,85,159,162,169,192,251,111,127,164,188,189,214,236,36,48,146,158,231,233,235,58,76,153,197,4,28,101,154,200,242,71,132,237,66,130,155,171,244,32,87,170,201,223,168,195,206,217,245,46,107,126,255,50,84,122,151,184,254,59,65,79,81,82,116,165,174,43,95,123,175,208,90,119,210,54,69,77,100,143,145,161,204,51,72,139,173,218,83,86,103,106,182,207,74,167,198,10,19,70,149,185,203,26,35,78,138,187,241,8,23,93,109,157,186,212,226,246,38,94,108,234,29,75,97,114,6,17,148,18,24,30,60,117,135,228,243,13,37,140,238,63,136,55,150,178,199,40,102,73,115,125,113,141,152,160,220,239,133,249,20,110,252,52,91,129,172,31,105,222,104,124,205,213,216,227,247,219,230,180,34,39,250,12,
88,7,118,27,42,166,49,144,134,15,96,45,128,202,44,193,253,41,47,57,92,21,181,229,98,89,126,137,176,196,211,53,168,159,191,14,33,142,48,120,2,195,214,225,68,85,177,188,215,244,25,189,64,67,99,121,131,164,179,248,251,146,232,236,16,101,127,184,209,90,112,156,169,171,174,221,147,158,231,162,170,224,240,11,242,22,62,190,237,28,56,61,145,151,153,165,203,207,4,76,18,77,183,235,32,155,233,54,74,84,97,201,206,36,51,87,111,122,182,223,59,65,66,116,143,175,208,58,70,79,81,86,187,192,50,82,103,136,197,200,217,238,252,69,71,106,139,173,185,204,210,254,35,43,83,94,107,132,138,167,8,75,149,245,255,23,93,154,46,95,109,123,161,198,218,37,114,246,38,228,26,72,157,19,119,212,78,140,199,55,13,60,63,172,234,241,152,243,30,40,135,141,186,226,24,102,148,150,230,180,100,239,249,17,113,6,29,110,115,178,10,31,39,108,117,124,125,220,91,219,34,205,20,160,222,213,247,52,105,250,73,104,129,133,216,227,12,
88,118,49,96,166,27,7,134,215,127,202,2,14,253,42,176,45,144,211,68,193,25,15,236,196,21,47,57,89,126,168,181,159,188,84,128,209,41,137,151,229,248,252,36,98,225,53,120,169,195,244,16,92,99,170,44,165,177,184,33,48,64,147,189,191,232,111,164,221,85,142,167,207,214,223,90,158,171,203,235,237,251,4,62,153,162,174,231,240,67,74,75,121,145,156,183,185,11,101,56,76,206,28,54,106,43,201,50,70,79,136,69,112,179,187,255,78,154,182,190,224,32,61,77,97,114,139,217,254,22,59,87,146,173,192,245,51,18,66,95,204,242,86,103,107,122,138,149,180,19,35,46,81,82,93,94,175,208,239,71,140,197,218,8,155,228,241,17,116,157,210,233,6,83,132,148,212,30,37,143,172,26,238,58,91,102,123,150,198,219,125,135,161,249,38,186,23,65,119,246,109,113,115,247,60,63,72,108,152,200,10,205,226,29,55,110,40,199,39,100,117,230,31,243,13,178,220,234,24,213,160,124,73,141,105,52,34,222,250,129,104,20,133,216,227,12,
96,253,88,127,118,134,7,166,202,189,68,2,196,211,236,215,14,49,193,195,42,225,57,144,188,176,89,170,45,98,15,209,159,181,191,25,43,120,244,21,44,151,27,185,229,92,99,221,251,47,53,128,177,201,126,232,107,147,165,168,36,48,62,192,85,169,214,237,252,164,235,41,84,114,183,50,61,184,206,223,240,248,90,111,153,156,4,28,121,142,162,174,203,19,106,171,33,182,190,207,22,74,137,145,231,59,67,78,217,56,139,146,179,11,16,75,91,94,112,254,32,37,54,76,79,167,218,51,63,148,161,66,149,197,212,233,6,71,101,136,173,175,228,255,103,119,150,46,70,95,143,154,180,241,81,87,138,155,158,242,245,69,77,187,238,249,30,35,72,157,199,204,239,210,224,65,97,122,125,186,17,23,86,93,140,18,29,132,208,8,38,123,172,205,26,82,10,110,124,39,83,108,200,226,152,58,116,117,219,213,230,246,247,31,34,102,109,113,40,115,198,222,135,178,243,24,55,52,13,160,220,60,141,100,129,234,73,105,250,104,133,227,20,216,12,
253,88,7,96,118,2,68,127,211,196,134,144,14,189,21,188,15,126,45,214,236,225,166,193,195,42,192,44,170,57,202,27,191,43,47,89,215,251,49,181,248,176,185,229,209,53,92,85,182,159,177,221,25,59,99,235,244,254,61,114,151,74,169,171,240,62,98,111,153,48,147,184,237,165,125,142,156,33,84,183,197,206,19,139,4,86,107,203,228,41,78,120,145,162,245,28,106,223,50,51,56,69,90,91,175,201,217,252,36,37,67,79,168,190,207,232,238,121,136,174,255,95,249,75,164,231,233,76,122,212,22,46,101,161,167,173,38,103,112,6,148,179,81,87,16,77,94,242,137,180,218,29,65,70,35,63,143,146,158,239,30,93,155,224,11,23,66,150,199,132,154,157,58,71,72,123,124,17,97,117,119,241,113,138,205,8,10,32,208,54,149,186,160,204,210,140,172,198,102,178,26,108,219,243,18,187,226,246,82,152,34,39,110,13,213,31,109,116,247,100,115,135,220,222,230,55,83,40,60,200,24,52,234,141,104,250,129,133,73,105,20,216,227,12,
88,253,96,118,68,188,127,7,196,144,2,166,189,15,211,85,14,214,192,44,193,236,59,195,21,25,49,92,45,61,183,147,134,215,191,225,248,19,43,89,254,27,47,126,209,53,57,221,240,170,202,176,42,62,182,244,74,99,114,94,48,159,161,177,197,235,84,111,125,185,98,156,171,184,229,153,56,165,169,173,145,151,231,33,41,86,87,174,251,136,206,228,77,137,181,255,106,122,69,142,237,37,78,241,249,28,29,50,120,168,179,233,4,148,162,201,207,51,67,95,157,38,75,103,132,203,232,238,36,76,97,121,217,11,90,180,190,112,212,245,6,16,22,79,91,143,46,65,66,139,146,155,158,72,164,167,239,252,93,107,101,175,205,8,35,224,63,71,223,54,150,81,124,154,178,218,242,199,102,113,123,17,30,100,108,138,172,58,70,160,26,119,23,117,210,243,246,10,39,82,115,116,213,110,135,219,34,40,208,24,32,149,186,31,198,13,140,83,109,60,222,152,187,204,230,105,220,18,52,141,247,104,234,55,20,200,129,73,227,250,133,12,216,
96,118,88,253,188,7,85,2,68,196,166,127,144,43,45,57,59,15,195,211,14,44,47,192,191,214,240,189,254,225,235,248,27,53,193,228,236,61,92,134,126,202,84,19,49,176,182,25,41,147,153,170,251,21,75,89,183,184,209,74,94,114,145,106,111,125,171,215,197,42,174,162,62,112,229,99,173,177,181,56,86,150,151,159,161,203,241,33,67,87,103,156,169,72,167,69,95,132,157,206,224,255,48,165,233,11,90,185,244,4,101,142,28,168,98,121,146,249,137,139,175,50,136,179,29,66,97,155,231,37,77,78,143,232,36,91,237,239,245,246,51,148,217,238,242,16,71,93,122,124,178,212,65,164,190,205,252,180,17,22,35,113,120,154,158,201,207,8,76,108,6,46,58,79,32,199,102,208,138,63,70,107,160,243,13,210,30,38,219,223,39,172,204,110,116,218,198,23,40,81,123,34,82,100,213,115,135,10,54,83,26,117,152,24,119,186,31,109,222,230,105,187,140,141,234,60,52,104,129,55,149,18,250,227,133,12,73,220,20,200,247,216,
88,96,188,253,118,57,196,7,68,144,15,191,85,166,248,195,2,74,134,84,192,25,21,43,214,45,89,189,251,47,176,236,241,53,86,225,44,59,127,177,126,211,228,240,170,182,254,14,75,94,19,153,174,202,49,209,61,114,37,112,125,147,41,92,183,235,145,151,197,229,27,193,4,28,99,137,159,181,155,162,165,171,42,173,33,66,158,161,169,56,106,121,150,184,72,136,156,16,48,11,62,103,132,215,139,249,90,95,185,244,29,67,87,157,255,91,142,212,237,76,203,224,98,178,36,167,190,208,245,22,35,108,146,148,232,50,58,206,242,252,69,101,17,65,77,78,93,124,175,179,246,6,8,154,32,71,231,239,120,164,143,168,205,97,138,180,243,38,201,217,233,238,63,82,102,13,46,51,113,219,79,54,160,186,10,34,207,210,122,123,198,204,83,199,107,223,30,100,152,218,116,172,39,81,40,135,149,70,24,23,187,140,26,117,119,110,222,141,213,109,55,105,230,31,104,115,250,234,129,18,220,52,20,73,12,60,133,227,247,216,200,
88,96,253,188,57,248,196,85,118,45,68,191,166,7,14,15,214,144,2,74,89,75,126,192,25,84,241,43,86,134,170,228,47,127,125,177,53,56,195,236,21,99,189,251,49,174,176,155,48,211,240,37,44,59,153,36,42,61,90,254,106,147,173,181,145,225,215,27,28,197,209,41,87,114,136,182,193,4,150,202,229,33,92,162,235,6,72,112,132,139,151,94,19,169,184,137,159,183,212,142,158,121,171,156,161,244,249,29,101,208,255,58,95,98,138,165,238,11,22,185,246,50,103,175,16,62,67,69,219,179,203,224,76,78,157,178,146,168,66,82,108,164,242,245,180,35,63,120,124,143,167,34,46,71,91,123,190,231,239,252,93,148,217,30,32,38,102,13,201,232,243,116,113,205,17,65,154,237,10,79,198,8,51,81,100,122,172,207,206,97,186,160,204,77,218,70,18,233,23,107,152,199,140,26,83,104,135,223,149,187,210,110,40,117,39,105,141,24,60,31,119,213,230,234,115,222,129,52,220,109,250,133,73,55,227,247,12,20,200,216,
88,96,57,188,15,253,14,191,196,68,85,89,118,7,45,2,49,74,240,248,144,214,86,125,43,48,47,189,192,228,241,251,75,84,151,177,166,170,169,37,155,174,25,33,197,126,236,153,176,99,195,21,59,184,211,235,56,106,127,254,36,173,182,28,61,145,53,162,44,92,134,139,150,72,132,147,136,181,229,19,90,158,4,94,244,42,66,208,209,27,41,215,245,159,164,183,242,249,112,202,212,35,50,87,101,114,225,6,121,123,137,156,193,238,138,161,165,224,67,103,206,246,142,179,157,185,198,16,58,65,82,167,175,255,13,32,78,113,98,146,171,180,252,95,108,168,178,46,154,8,22,30,34,143,203,205,219,11,69,91,71,124,17,77,116,122,232,29,76,38,120,152,217,148,237,239,243,100,172,186,70,102,201,233,51,97,10,79,93,223,190,231,218,81,207,63,83,105,149,140,160,135,210,23,110,107,199,187,26,104,109,213,117,24,141,204,234,18,31,73,60,230,39,129,52,55,250,40,115,133,220,227,119,222,12,216,247,20,200,
88,96,15,188,57,14,253,74,68,85,86,45,240,196,191,89,43,2,118,56,170,214,228,241,248,251,166,7,174,75,229,236,84,151,169,192,49,48,47,53,189,215,37,125,144,147,155,106,177,4,92,99,176,184,197,182,235,36,21,25,72,195,158,173,114,145,150,254,59,137,33,94,153,19,211,50,101,103,136,159,168,35,28,41,134,208,66,126,132,154,249,27,61,162,242,90,245,121,138,139,198,238,42,146,161,206,6,44,71,183,30,209,181,244,157,225,116,142,164,202,212,87,112,165,178,58,156,193,120,239,11,65,67,78,113,224,76,175,185,252,22,179,123,219,237,82,108,32,17,46,77,93,98,143,167,69,91,152,255,16,34,171,243,83,217,223,246,124,201,122,180,205,232,186,203,218,233,23,29,38,8,81,100,140,190,79,95,13,172,207,102,231,10,70,148,105,129,210,39,149,160,55,107,110,117,51,204,31,63,97,199,187,234,109,230,18,141,250,52,73,135,213,133,26,104,60,40,115,216,220,24,222,227,12,20,119,247,200,
88,14,188,57,196,253,96,84,86,15,74,229,240,191,68,214,155,228,85,248,251,89,45,166,169,43,192,236,241,49,56,99,48,2,144,92,7,42,47,75,170,177,118,151,182,158,215,59,147,174,184,53,125,153,162,19,21,176,90,106,37,189,35,242,50,195,25,114,168,136,137,197,209,211,235,4,30,101,103,112,72,159,150,208,245,249,33,134,138,173,181,65,120,145,183,238,36,66,121,198,27,94,154,225,175,41,44,108,206,28,139,212,71,239,254,132,61,156,157,244,87,146,69,223,178,16,202,224,17,29,78,116,123,142,164,58,98,165,193,243,46,76,82,93,179,185,100,217,237,252,255,23,32,91,113,161,231,232,233,6,167,152,171,219,34,207,67,11,22,205,246,38,95,102,180,70,77,105,117,201,13,190,203,79,81,83,107,143,51,148,160,218,8,140,124,122,129,172,187,10,55,63,234,104,18,39,97,210,73,186,31,199,110,204,230,52,149,250,133,135,141,60,213,109,115,40,216,24,26,227,222,247,12,20,119,220,200,
88,14,57,188,86,236,74,196,253,15,68,84,191,192,96,155,229,240,228,48,85,248,106,45,214,49,37,251,2,42,56,151,166,7,43,174,170,92,150,169,89,118,147,144,177,184,208,53,215,241,245,47,125,176,197,21,103,136,25,41,59,162,35,75,134,72,71,249,19,90,158,168,238,242,254,114,153,195,50,99,112,145,182,121,137,30,159,206,173,183,211,4,28,209,217,65,142,156,44,154,235,33,61,82,94,157,178,181,93,95,101,146,165,189,225,27,29,36,87,132,255,108,139,198,66,98,175,76,120,164,116,212,246,17,138,32,58,70,193,202,224,239,244,201,233,16,23,78,91,123,185,237,13,100,117,232,46,69,102,161,223,11,203,243,207,6,34,190,231,113,252,160,180,205,219,171,38,67,83,129,167,8,81,10,124,105,22,143,148,55,97,152,39,172,51,63,18,187,218,52,230,77,79,107,140,73,149,199,104,234,110,133,186,204,210,250,60,122,141,31,135,109,227,24,40,119,213,115,26,222,247,216,220,12,20,200,
88,14,57,86,188,253,49,68,84,45,74,85,196,236,228,229,15,48,37,248,191,192,240,251,96,106,2,155,208,43,144,147,42,197,169,215,214,59,118,136,174,177,71,19,170,245,151,159,241,25,53,56,89,92,103,41,44,7,90,206,21,72,150,166,176,33,158,235,242,162,75,168,198,134,173,209,254,125,184,195,35,137,182,217,50,145,30,76,178,238,112,189,225,28,47,95,99,120,153,156,185,165,114,121,146,157,139,142,4,65,98,108,154,94,181,212,219,239,249,69,132,183,246,255,27,116,164,17,87,211,66,82,16,101,13,224,61,244,70,93,32,36,78,46,161,202,100,117,29,58,123,233,252,193,201,232,39,102,138,205,23,91,129,73,6,175,223,237,34,207,180,243,11,113,160,167,190,67,124,148,231,38,10,83,105,149,8,55,218,18,187,203,81,97,22,51,171,210,52,172,140,79,110,133,63,143,40,152,230,104,31,227,135,186,77,141,107,109,60,24,204,247,122,250,199,119,115,220,26,216,12,213,222,20,200,
88,14,57,85,188,86,236,15,240,74,84,45,48,49,68,170,253,37,196,208,248,96,228,214,144,43,106,191,2,53,136,192,251,71,229,155,147,169,44,174,197,41,42,134,150,103,209,245,59,217,177,72,176,241,90,118,185,215,7,21,92,159,156,198,50,195,158,19,89,184,33,153,206,56,76,151,238,173,145,166,70,125,157,235,25,28,146,178,189,13,162,165,168,225,75,139,242,254,35,120,82,95,137,161,30,93,69,112,116,219,211,224,114,121,132,154,249,16,47,87,108,212,32,101,129,73,142,164,181,182,246,4,17,98,183,202,239,244,27,65,193,61,67,36,99,66,100,252,23,123,233,29,102,243,51,237,6,39,94,190,232,91,205,207,175,78,10,58,117,138,223,113,11,55,34,124,148,149,201,230,46,22,160,180,187,63,8,171,231,81,83,97,167,204,210,18,38,172,110,105,218,79,135,152,133,203,77,140,227,40,52,104,119,143,186,199,31,107,109,60,122,247,250,141,115,12,24,220,213,222,20,216,26,200,
85,57,88,14,188,86,214,43,96,15,236,37,228,48,196,42,74,240,53,84,170,248,144,208,45,49,68,2,106,169,174,215,50,150,191,90,134,7,192,136,155,41,159,92,103,59,147,251,176,217,44,72,177,229,71,209,245,185,241,89,153,158,184,19,156,197,198,76,118,21,151,112,120,165,238,33,161,25,142,178,189,206,239,242,254,13,35,56,87,173,47,121,195,101,125,145,166,75,95,67,116,162,212,219,82,137,181,235,4,17,168,193,207,211,27,30,69,70,139,146,224,28,93,182,16,129,202,32,108,225,154,190,73,157,233,66,114,246,51,65,244,249,164,183,99,102,132,148,23,98,123,6,36,175,232,61,83,100,187,58,91,11,171,22,39,204,237,29,46,94,205,149,201,10,180,230,34,124,243,252,113,63,81,160,55,97,117,138,223,78,110,152,218,38,135,8,231,172,60,119,167,210,79,104,140,31,133,52,227,213,199,122,203,18,107,186,109,143,77,12,105,247,220,20,141,222,40,250,24,26,115,216,200,
85,88,57,14,15,188,86,214,43,42,96,37,45,236,191,196,208,228,84,53,134,240,106,49,74,159,192,229,215,169,41,48,7,144,170,217,248,251,89,153,92,103,174,197,2,90,147,50,68,155,177,150,241,245,30,71,184,59,19,136,176,209,44,185,198,156,189,21,118,151,158,161,178,25,47,70,173,73,165,207,16,82,27,72,190,238,51,76,120,195,33,116,129,219,249,101,145,235,239,242,56,66,125,95,112,142,183,206,254,32,108,146,181,202,4,137,182,65,67,114,224,246,13,35,162,225,244,75,139,168,87,193,28,123,175,23,102,164,211,233,121,166,69,154,157,232,93,99,212,132,61,100,230,22,36,91,98,218,29,171,180,39,58,6,94,237,10,46,204,252,63,110,83,148,205,124,11,34,104,117,160,187,243,135,55,149,38,78,113,201,81,138,8,60,152,223,97,119,167,122,213,20,31,52,199,231,140,210,18,79,227,105,203,133,172,109,26,107,220,77,12,24,141,186,216,247,143,115,250,40,222,200,
85,57,15,14,214,86,188,43,96,191,42,236,53,37,228,106,41,84,215,240,45,229,89,192,208,74,170,196,7,251,49,197,2,153,159,48,169,248,134,150,92,174,144,71,90,155,238,241,50,68,103,147,217,177,184,21,181,59,116,158,245,182,242,30,44,47,165,185,70,72,19,198,176,156,189,195,207,118,173,56,25,102,219,27,120,139,190,244,136,202,209,76,151,175,66,183,224,121,161,225,232,32,65,145,146,16,82,95,178,212,246,129,137,193,237,23,33,51,101,239,35,87,4,123,125,142,235,13,73,114,162,206,28,67,112,249,168,254,108,93,61,75,233,110,166,36,99,157,46,83,132,218,91,69,135,154,171,78,98,252,29,94,58,148,164,230,39,160,211,6,124,180,100,104,10,205,34,55,63,204,22,38,79,60,187,11,20,243,97,149,167,81,122,138,201,113,117,152,52,210,105,119,199,223,227,18,24,31,213,115,8,26,220,12,107,231,133,140,109,203,216,172,186,250,143,77,141,40,247,222,200,
214,85,57,188,14,15,86,228,53,96,236,43,191,215,42,37,7,229,71,41,170,251,49,106,158,153,45,208,2,48,159,21,74,89,240,68,84,150,155,196,192,134,209,238,47,92,197,19,174,144,147,248,90,44,59,169,181,241,165,198,177,70,30,156,184,217,242,27,116,245,50,139,189,176,182,103,142,202,95,185,232,4,207,237,65,118,136,162,25,72,219,121,225,120,175,193,56,161,212,239,171,173,224,244,246,76,178,206,16,32,190,195,28,102,145,67,87,137,33,66,73,129,35,101,135,235,51,183,93,78,108,112,151,166,254,164,233,146,13,23,36,61,99,110,249,82,98,114,168,211,123,180,157,75,132,218,125,154,58,160,34,69,205,39,83,94,230,167,252,6,29,46,55,63,22,52,91,148,38,124,79,81,10,100,117,243,104,105,138,204,119,149,20,60,97,201,187,11,113,223,172,199,8,18,31,115,213,12,26,220,227,24,152,210,231,133,203,140,107,143,141,109,250,77,186,216,40,247,222,200,
214,14,57,188,85,43,53,86,228,191,15,96,236,153,170,42,7,240,37,215,71,90,158,208,229,159,21,49,45,181,48,74,150,134,251,30,84,106,196,144,2,41,89,59,92,209,147,155,19,177,165,185,192,241,139,217,47,169,174,245,44,68,197,242,189,202,50,116,118,224,4,16,102,232,198,237,103,156,35,70,121,27,180,248,195,219,225,239,32,162,184,244,246,33,76,137,142,56,72,129,176,190,25,65,136,182,207,146,206,212,175,183,95,120,145,171,173,78,151,166,178,108,114,135,157,51,66,73,112,193,93,101,161,28,75,99,13,164,67,69,82,211,233,22,110,154,249,61,34,36,132,218,23,87,168,58,125,235,46,252,29,98,63,100,123,79,204,104,160,254,83,6,39,38,230,52,138,149,81,91,55,94,10,105,117,124,119,167,205,243,148,20,201,97,115,223,11,113,31,60,133,18,140,12,187,8,172,227,210,213,24,220,26,199,216,203,152,143,231,141,250,109,186,107,77,247,40,222,200,
214,57,188,14,85,43,236,53,86,96,191,159,153,15,42,240,49,150,228,71,170,215,19,158,37,7,30,90,134,251,202,229,21,147,181,2,208,41,48,118,45,74,192,70,155,189,209,44,59,196,198,232,165,47,89,242,106,169,239,92,144,241,84,102,139,174,27,177,185,245,116,237,33,50,103,224,162,171,32,68,244,246,16,180,195,176,219,4,142,197,51,35,121,13,65,95,129,25,146,206,156,190,193,76,93,114,145,175,183,184,248,46,137,61,108,112,135,136,207,225,166,182,125,72,173,101,56,82,132,161,211,66,120,75,178,218,73,168,28,34,78,99,252,110,151,212,157,22,98,154,36,233,235,249,67,69,254,58,63,23,204,38,87,123,149,29,81,164,79,100,167,230,6,52,91,39,160,201,243,104,124,94,97,105,119,138,205,10,83,11,115,20,55,117,133,223,227,12,140,172,113,8,60,187,18,210,141,148,203,213,26,220,231,143,31,250,24,199,77,152,216,247,109,107,186,40,222,200,
214,188,57,14,85,43,71,240,236,49,86,7,15,53,215,96,159,191,19,37,150,48,42,228,229,181,144,153,158,208,30,134,170,196,209,89,90,251,202,239,2,118,44,21,70,139,174,103,189,41,59,147,232,106,45,47,155,198,74,185,192,245,33,241,169,84,165,197,50,237,246,27,112,177,224,242,92,171,32,116,25,176,16,180,68,102,114,65,46,156,184,175,195,13,162,206,35,183,248,51,93,193,66,142,95,146,151,219,244,78,22,82,166,145,4,72,73,161,207,235,129,135,178,182,61,76,121,173,34,167,190,101,132,120,137,98,125,212,254,99,136,154,157,28,56,218,252,91,110,164,230,38,75,108,168,249,211,225,36,87,204,23,233,29,94,100,67,79,201,205,39,69,104,52,123,124,138,58,10,8,149,63,81,6,83,97,105,115,133,172,20,11,119,12,187,117,160,223,227,213,243,60,113,203,18,210,77,140,141,143,148,26,231,247,31,220,216,250,186,24,199,109,107,40,152,222,200,
214,188,57,85,14,49,43,7,71,236,215,19,159,240,48,158,86,150,96,191,53,202,15,37,228,45,89,134,208,209,251,169,196,198,42,170,41,229,144,147,239,59,241,2,30,44,70,90,165,174,106,21,153,155,189,74,118,192,103,181,245,139,84,112,177,185,232,248,237,50,224,197,47,183,166,242,16,27,46,246,32,102,68,195,34,92,184,33,176,13,180,171,175,178,65,114,4,82,161,25,116,146,193,22,156,35,66,162,72,93,142,157,206,129,137,101,51,95,182,145,75,76,151,36,233,23,61,87,124,154,29,121,125,173,235,28,94,98,99,135,167,219,244,136,254,73,164,212,168,230,38,110,207,56,78,120,190,249,225,204,79,91,201,252,6,39,52,67,211,11,218,100,104,81,149,108,205,105,115,160,8,10,172,12,243,69,119,123,227,63,138,58,97,223,83,213,20,133,18,113,117,187,60,141,210,148,203,140,143,231,220,186,250,77,31,216,247,109,24,26,107,199,152,40,222,200,
214,188,57,43,49,85,7,53,14,202,191,236,215,150,159,71,19,15,45,48,89,158,240,37,86,96,139,134,196,169,229,42,2,189,44,59,170,209,144,174,177,70,165,192,228,251,90,103,153,155,239,41,147,198,241,47,30,224,232,21,74,112,118,181,46,208,245,248,84,185,102,106,237,166,114,68,242,145,50,92,178,183,32,176,142,195,246,25,175,27,66,121,156,13,34,99,157,184,4,23,16,180,206,33,137,162,124,197,22,95,135,164,219,61,161,36,98,116,51,129,136,82,93,146,225,65,75,193,182,35,72,125,173,94,120,154,171,151,87,230,244,101,167,28,38,207,233,29,56,76,201,91,235,78,10,212,110,168,39,69,249,254,81,115,252,52,67,100,160,11,204,6,73,211,223,79,190,83,218,108,123,149,12,105,172,205,63,104,18,187,138,58,8,97,119,20,117,243,227,113,60,213,133,210,220,24,203,143,140,216,247,77,231,141,148,31,186,107,199,109,250,222,152,40,200,
214,57,43,188,7,85,49,191,14,236,215,15,45,202,53,159,19,71,42,59,139,158,96,174,150,37,48,89,196,86,134,144,240,84,90,155,165,228,2,44,147,153,251,103,189,209,245,224,229,241,248,46,70,30,237,208,102,170,192,239,118,169,181,185,21,47,198,41,112,145,92,177,106,232,157,74,195,68,156,242,27,32,142,166,183,121,16,99,246,4,114,13,33,124,146,25,66,175,23,72,176,244,34,50,171,178,184,36,61,93,206,116,137,164,180,219,69,129,35,94,230,38,98,197,233,225,95,120,75,136,161,65,162,22,51,151,173,87,154,39,182,190,193,167,135,91,110,28,56,201,10,125,52,235,249,82,138,168,78,101,12,160,83,76,212,204,252,254,73,18,113,115,218,67,172,6,81,108,11,29,149,223,79,123,211,205,60,105,187,100,104,210,227,63,117,58,119,24,97,203,140,213,20,143,107,243,247,8,199,220,216,77,133,186,141,231,31,148,109,250,152,222,40,200,
214,43,57,7,188,85,49,215,139,158,174,71,202,14,159,96,191,42,15,19,45,53,165,228,48,236,59,89,169,150,241,86,144,37,84,239,209,251,2,90,134,153,237,70,196,46,229,240,147,185,189,224,44,21,155,198,103,242,248,41,181,47,102,99,118,192,30,112,145,246,245,232,32,142,74,92,156,170,195,208,157,183,13,16,106,114,4,121,136,177,93,124,68,244,116,146,184,206,166,69,180,25,94,66,162,34,230,27,50,72,129,178,23,171,175,95,219,182,161,176,22,35,36,38,137,233,120,151,51,135,164,28,61,76,168,173,193,125,138,154,190,212,98,12,56,75,39,65,101,167,225,249,52,197,115,78,87,110,91,235,10,18,160,201,204,81,108,113,218,252,100,73,82,83,123,149,254,6,211,11,187,203,104,223,67,105,172,29,210,79,205,31,60,133,243,24,117,63,20,58,140,97,119,199,8,216,227,247,107,213,220,77,231,141,143,186,148,152,40,250,109,222,200,
214,7,43,49,57,188,15,139,19,85,48,96,191,239,215,90,158,14,159,236,71,165,150,53,228,174,241,42,209,169,202,37,44,45,86,84,144,70,89,153,59,134,251,2,224,229,237,155,185,232,41,46,147,102,99,242,170,32,103,142,198,240,248,21,189,196,145,121,192,30,246,47,13,118,184,245,114,34,112,157,4,92,156,183,106,16,74,124,244,25,177,195,151,94,69,116,136,146,180,95,50,68,162,76,66,171,208,230,23,93,125,176,182,206,38,72,166,91,129,101,137,178,61,167,175,28,154,22,233,51,56,219,164,12,27,35,135,39,65,212,75,18,161,36,168,98,138,120,173,190,78,211,52,193,201,115,149,252,10,225,235,73,172,218,82,197,160,83,87,113,249,108,203,81,187,11,67,104,110,254,6,204,210,100,58,123,223,29,105,8,243,60,63,20,79,247,31,205,119,24,97,117,140,77,227,213,220,107,199,216,133,231,152,148,141,40,109,186,143,250,222,200,
214,15,7,43,57,49,239,90,139,215,42,85,241,71,19,236,169,188,48,96,202,158,191,174,37,45,150,159,14,44,46,59,165,228,53,89,224,70,86,144,84,153,209,242,103,251,237,229,41,134,170,240,246,32,99,2,142,183,147,192,232,21,196,145,155,189,92,114,184,248,94,124,245,112,121,166,185,13,47,102,118,4,16,157,30,198,50,195,25,34,91,106,74,230,136,182,23,35,98,129,137,206,156,180,12,151,212,244,69,76,162,177,178,208,28,116,38,72,233,175,68,101,171,56,135,146,93,161,22,154,39,61,65,66,176,219,95,125,167,27,164,203,190,78,138,87,18,75,51,115,120,10,168,225,11,36,52,172,211,58,193,201,210,252,81,173,235,249,160,254,83,104,113,218,110,149,197,73,204,6,82,123,108,223,187,97,105,243,63,79,100,220,67,119,205,29,8,24,60,152,247,31,117,107,133,140,199,216,77,227,213,20,148,231,40,141,222,143,186,250,200,
214,43,49,15,85,215,90,7,19,239,139,188,96,57,241,236,71,159,48,42,150,158,191,89,169,37,53,224,86,170,202,45,174,228,14,70,165,251,144,59,229,46,44,84,246,30,103,147,209,34,134,237,32,92,121,155,192,142,153,41,242,183,189,2,114,240,184,196,21,157,4,124,99,232,185,248,166,245,94,23,68,13,195,16,106,112,198,47,50,182,136,145,76,118,177,129,162,91,98,74,212,25,28,35,244,116,156,171,206,137,87,175,120,180,208,69,38,135,138,151,178,233,95,230,66,93,12,65,164,27,56,72,101,22,176,39,78,125,11,161,146,81,252,190,219,61,115,154,203,18,51,168,211,36,167,10,75,173,225,210,249,6,52,201,83,172,197,58,104,149,235,193,254,108,204,110,123,223,247,105,160,8,119,82,140,73,113,218,243,220,79,67,100,187,205,60,97,29,107,133,227,24,63,152,199,216,213,31,231,117,20,77,148,40,141,186,222,143,250,200,
214,43,85,19,90,139,159,96,215,188,48,239,241,15,71,57,158,236,224,150,7,89,251,191,42,37,169,45,170,134,229,53,84,144,165,86,147,59,30,228,14,240,32,70,237,242,246,46,21,155,202,245,34,41,174,44,103,121,192,184,157,189,209,142,114,153,4,166,92,99,124,232,248,47,50,185,13,68,2,94,106,112,196,198,23,183,16,175,129,177,145,178,156,195,76,146,206,28,35,120,230,116,74,91,98,182,39,137,151,162,69,136,212,38,244,25,95,118,164,72,101,87,138,154,11,93,125,180,233,12,65,171,208,176,190,27,36,78,135,66,161,168,252,61,83,115,219,81,56,75,203,18,58,22,167,51,52,210,201,249,211,10,243,254,6,173,193,197,108,225,149,104,29,105,123,223,8,204,187,110,172,220,247,100,235,67,73,160,82,140,24,63,97,205,60,107,152,119,199,113,218,133,79,227,213,216,20,77,117,231,31,148,222,40,141,250,186,143,200,
214,43,85,159,90,188,139,48,215,19,251,15,71,96,241,236,239,147,57,158,191,150,224,84,144,7,89,165,169,170,42,37,86,30,14,134,45,32,240,70,189,209,184,242,34,245,237,53,155,59,174,246,192,21,46,229,121,166,41,153,92,228,142,157,202,114,248,2,4,99,103,232,44,124,76,35,198,23,120,177,185,138,145,50,112,196,118,47,68,129,183,13,94,146,206,125,156,39,178,106,175,182,28,93,74,168,69,136,230,36,38,72,180,252,78,151,212,16,195,219,98,101,154,65,95,116,75,233,135,162,66,244,91,161,12,11,83,176,208,27,87,137,167,81,190,56,164,171,51,10,61,201,249,254,115,203,22,243,210,18,52,104,173,6,108,105,204,211,58,193,197,225,223,24,8,220,149,187,29,123,172,160,119,205,235,247,110,140,199,60,67,73,63,107,82,100,113,79,133,97,218,152,216,117,20,227,213,31,77,231,186,222,148,141,40,250,143,200,
214,43,251,159,48,241,188,85,19,139,215,96,90,236,15,57,239,71,169,147,150,158,224,86,144,191,7,165,30,166,237,14,84,240,37,189,209,89,184,32,45,229,42,114,170,245,59,157,153,242,21,70,121,134,228,34,46,53,174,192,124,4,41,47,92,155,202,94,145,142,246,44,103,99,248,2,120,138,78,129,23,118,185,206,182,232,101,28,50,146,68,196,198,93,125,178,13,35,69,76,177,36,106,151,175,112,72,168,195,230,136,156,39,66,212,65,98,154,161,252,75,116,16,38,167,249,74,162,11,12,180,208,233,219,91,95,164,176,81,201,254,51,83,115,135,243,244,190,27,137,10,203,210,87,173,56,223,61,171,29,22,52,105,211,8,149,18,58,104,6,204,218,24,108,123,187,82,119,193,220,235,199,140,100,247,133,225,160,197,63,172,79,110,73,113,20,107,205,227,67,152,97,60,216,117,77,213,31,148,231,186,222,40,141,250,143,200,
214,43,19,241,159,188,251,48,96,215,85,90,15,144,239,158,236,71,139,30,57,147,237,86,169,150,14,184,7,191,224,89,189,32,37,121,209,228,165,229,53,166,45,59,124,145,170,202,21,92,34,42,84,134,94,70,242,192,41,174,157,46,153,240,114,248,4,155,245,47,50,142,99,2,246,146,175,177,182,28,118,78,138,206,23,44,103,120,151,249,129,101,219,196,13,68,232,252,72,76,136,65,69,125,178,185,39,66,93,16,36,198,38,75,154,168,12,87,156,195,106,162,95,116,161,98,112,35,180,230,233,51,167,212,29,91,176,74,208,11,135,243,61,81,244,10,164,223,203,56,83,115,171,201,52,137,254,210,27,82,108,8,22,105,173,211,58,149,190,235,123,220,6,218,18,100,193,24,225,119,204,63,117,187,133,199,197,247,104,97,107,227,20,79,110,113,152,172,60,160,73,213,216,205,31,67,77,148,186,231,40,222,141,250,143,200,
214,43,159,19,48,158,241,90,96,215,251,85,86,188,147,139,236,237,30,169,239,15,37,144,71,14,224,57,150,184,134,42,89,191,32,34,124,166,7,228,21,41,53,121,209,229,240,145,189,165,59,202,50,70,174,45,94,170,248,153,84,114,157,92,242,142,182,46,177,39,44,47,192,146,129,155,219,78,245,138,118,120,4,103,249,28,101,151,246,2,23,175,66,185,99,252,206,168,13,68,76,136,36,72,208,112,51,69,212,232,125,195,178,12,154,180,198,16,87,93,162,230,65,156,196,233,75,135,171,29,98,38,203,176,61,116,243,223,95,167,58,137,91,106,164,244,161,10,81,115,11,201,35,108,82,254,56,74,83,52,100,27,173,8,190,199,24,235,105,22,149,123,6,113,210,211,79,225,187,63,204,205,218,193,107,220,18,104,119,227,110,117,133,97,197,213,20,160,172,73,152,31,216,60,67,77,231,148,186,250,40,141,143,200,222,
214,241,43,159,19,90,96,158,48,30,139,85,251,215,239,86,237,147,188,224,14,15,150,42,71,144,169,184,89,7,32,134,145,236,57,209,166,229,37,53,21,124,191,41,34,240,170,45,92,228,121,59,189,202,174,165,242,153,114,129,155,84,94,44,70,157,50,146,248,47,219,39,177,212,138,78,103,182,192,69,206,101,142,246,249,2,28,120,245,23,46,175,136,151,168,118,66,252,76,12,13,38,99,180,185,208,93,4,68,106,51,72,87,135,198,203,232,36,112,125,58,154,16,195,244,75,171,196,65,81,116,176,230,82,162,11,137,178,233,61,29,95,156,223,98,161,201,243,108,115,164,56,52,79,149,91,173,10,167,225,35,83,211,24,74,123,100,235,8,27,63,6,22,199,254,117,193,205,18,152,105,133,204,107,187,210,113,119,213,104,97,20,197,73,227,31,172,218,220,110,60,216,160,67,77,148,231,186,250,200,40,141,222,143,
214,241,158,159,251,43,90,215,86,96,85,30,139,239,48,188,166,237,89,19,134,144,150,224,7,37,184,42,32,57,169,14,147,41,236,71,124,165,229,153,15,191,240,53,34,145,209,59,155,170,92,189,212,228,121,248,21,245,114,129,44,177,45,202,47,94,70,84,185,138,174,50,242,192,208,219,136,182,2,157,146,106,69,39,46,151,246,252,12,103,120,78,101,249,93,206,72,99,23,68,168,38,135,175,13,66,142,28,118,125,36,156,4,196,95,198,223,180,232,51,162,81,137,203,87,112,244,16,230,65,11,171,178,195,75,58,243,176,29,82,116,154,164,52,98,10,56,115,161,91,211,167,35,61,108,225,79,83,233,24,173,149,201,74,187,235,8,100,133,123,22,18,193,63,6,205,107,97,27,73,117,152,199,220,254,31,204,119,210,172,197,105,110,104,113,20,60,218,227,213,160,216,67,77,148,231,186,250,200,141,40,222,143,
214,241,90,96,158,251,159,215,30,43,139,188,85,224,86,166,239,37,32,48,19,89,144,57,237,236,134,15,150,124,7,42,53,14,71,84,169,229,41,184,228,70,153,240,165,191,245,145,147,170,246,34,92,209,248,45,121,189,59,138,44,212,47,114,202,151,155,21,106,129,136,146,182,185,94,242,177,23,50,103,46,252,101,120,2,99,38,39,175,219,249,174,208,28,69,192,12,78,135,168,68,206,162,13,16,51,65,198,118,142,232,72,82,93,180,36,4,66,230,75,196,87,203,171,244,156,116,223,137,95,125,58,195,29,178,201,24,79,81,243,176,11,112,164,211,161,35,56,98,107,115,52,187,74,108,61,91,154,149,225,167,233,83,117,8,10,100,123,173,235,205,18,152,220,97,193,27,22,113,6,31,227,133,119,197,254,63,172,213,105,110,20,73,204,199,218,210,104,60,160,216,148,67,77,186,231,200,250,141,40,143,222,
214,90,43,159,86,241,96,239,158,251,85,215,224,30,37,188,19,144,89,237,139,48,184,32,124,236,7,166,15,42,57,150,14,134,138,209,71,44,228,245,153,240,70,84,41,53,136,169,229,45,165,191,246,92,170,39,103,155,47,189,106,59,121,147,151,212,248,252,99,202,129,145,182,34,94,38,146,242,21,185,2,23,249,101,219,46,208,51,72,114,135,174,12,118,28,68,120,175,171,13,168,50,244,177,69,82,78,93,206,66,142,180,232,16,65,192,125,87,36,75,162,198,58,4,230,137,156,223,201,81,196,211,203,61,243,115,29,195,233,164,11,24,56,116,95,178,117,176,107,108,225,98,149,161,35,74,154,123,52,91,112,10,83,152,167,97,187,197,220,193,8,235,254,63,18,100,205,173,104,119,20,22,133,227,113,31,73,105,27,172,110,213,204,6,218,210,199,60,148,160,216,77,67,186,200,231,250,40,141,143,222,
214,159,43,158,239,86,90,96,215,241,30,85,237,37,19,144,188,236,251,224,89,124,184,48,209,57,15,139,53,42,134,150,166,7,32,153,245,106,185,14,136,246,155,170,228,229,45,145,44,84,92,70,129,71,165,191,240,41,138,212,34,47,252,94,103,39,189,242,151,182,248,99,147,21,23,68,146,169,59,72,78,135,168,121,2,12,46,51,120,114,249,28,101,174,202,219,118,142,175,244,69,66,192,82,208,36,16,50,180,65,177,93,75,13,125,171,198,211,117,81,206,223,232,4,243,156,162,87,107,61,195,230,58,137,115,233,83,203,11,201,98,24,74,176,164,56,95,116,154,196,193,225,161,178,29,35,104,91,123,149,108,112,187,197,235,119,52,8,10,18,172,220,97,100,110,133,205,254,152,22,167,63,173,204,227,20,6,31,27,113,105,73,213,210,199,218,60,67,148,160,216,231,186,77,40,200,250,143,141,222,
214,43,159,215,96,236,158,86,90,237,224,30,188,239,85,209,37,89,53,241,124,19,184,251,144,7,139,166,48,57,185,15,44,71,134,136,145,245,41,42,14,32,150,240,153,191,92,155,106,129,84,138,45,103,170,248,94,165,118,246,34,228,21,175,212,47,70,146,68,78,252,39,229,147,189,59,249,12,23,168,51,151,219,75,135,182,46,72,121,99,28,114,192,208,244,2,16,82,36,101,142,169,242,120,66,223,65,202,174,50,195,198,125,93,177,243,180,232,4,87,69,13,171,211,81,24,117,58,137,156,206,115,162,203,233,104,193,35,123,178,107,201,230,83,95,161,74,56,61,98,116,164,196,29,11,176,197,149,119,167,112,205,225,235,110,220,91,97,108,52,133,22,187,8,63,152,173,254,18,10,31,227,20,100,172,6,204,27,73,113,213,105,210,199,67,218,216,60,160,148,231,186,200,77,40,250,141,143,222,
214,43,159,215,237,86,90,184,96,239,224,209,236,158,19,85,188,30,53,37,241,7,89,124,251,92,185,245,144,150,240,44,41,15,71,136,139,166,32,48,145,14,191,42,170,45,134,248,57,129,68,153,21,84,94,106,34,249,59,208,252,103,118,212,246,47,138,175,165,229,78,36,72,155,242,70,51,146,192,39,135,168,46,75,121,23,28,66,147,12,142,182,114,151,189,202,219,65,69,82,120,169,101,174,171,99,180,2,195,243,244,16,223,232,50,125,198,87,93,117,161,177,4,13,95,137,211,233,24,156,203,193,104,115,35,123,206,162,178,29,81,74,230,107,164,58,116,201,52,196,119,197,11,61,220,112,176,22,167,97,98,235,110,83,149,56,10,91,205,254,225,20,31,173,8,18,100,133,152,6,27,108,172,227,63,204,187,213,73,199,218,113,105,210,67,231,216,60,148,160,186,200,77,40,250,141,143,222,
214,159,43,184,209,237,37,86,90,215,239,236,19,85,188,245,241,7,53,96,224,30,89,251,158,185,44,150,41,144,166,15,42,71,136,14,92,240,48,145,32,124,153,57,21,45,134,139,68,191,34,170,84,242,246,248,208,118,129,146,252,229,59,182,212,155,189,69,36,165,103,121,175,249,94,168,174,46,66,70,51,47,72,75,135,138,12,78,120,192,244,142,82,114,28,243,125,195,202,39,101,2,23,151,95,147,171,65,169,219,198,4,99,180,211,223,87,115,232,93,177,178,50,16,117,13,137,161,52,193,206,24,196,35,156,230,104,197,233,29,162,22,74,58,123,164,81,119,176,203,107,61,116,11,10,98,235,112,201,220,254,149,91,205,97,83,167,20,31,56,108,8,204,110,152,225,27,100,63,133,172,73,173,210,6,199,227,18,187,213,113,218,105,67,216,231,160,148,186,60,200,250,40,77,141,143,222,
214,159,43,237,184,239,86,209,245,37,90,236,19,53,96,158,215,85,224,89,44,7,251,188,241,71,185,150,30,32,145,15,92,42,166,14,41,48,144,139,124,240,68,153,21,57,208,136,252,34,103,45,242,118,84,189,70,191,229,134,249,138,59,66,69,129,170,248,135,146,168,246,182,28,36,165,121,212,244,180,155,51,2,142,94,114,39,47,46,243,72,125,147,171,12,75,211,175,78,101,169,192,195,120,65,198,202,174,23,82,99,87,151,219,93,95,115,4,232,223,161,230,137,177,178,117,16,35,50,206,24,176,233,156,193,52,13,162,58,104,10,196,203,22,74,164,107,108,197,31,61,116,149,29,204,98,167,112,205,81,123,254,11,119,220,8,83,97,20,152,225,235,173,100,201,133,27,56,6,110,172,210,63,187,199,73,227,213,218,18,113,60,105,216,200,67,148,186,231,160,250,40,141,77,143,222,
214,159,43,184,239,237,86,236,209,37,158,90,245,19,96,44,89,71,53,85,215,251,139,185,224,30,145,188,7,32,42,15,241,92,57,242,68,166,240,124,134,144,14,150,48,103,208,34,153,21,41,45,118,212,252,136,229,249,155,189,135,51,70,168,84,191,246,69,146,59,138,12,28,101,121,142,170,244,2,180,248,23,46,129,165,195,47,75,78,182,82,94,174,36,72,39,66,243,192,171,65,211,147,87,114,202,169,175,151,198,115,120,125,219,99,156,177,93,232,35,230,223,16,193,50,4,95,117,137,162,176,203,206,24,178,22,196,10,116,107,108,161,233,58,164,112,52,197,31,149,167,74,225,29,98,61,104,220,204,254,81,83,123,11,235,172,119,205,97,56,110,152,8,100,201,20,27,6,173,199,63,133,187,213,210,18,218,60,73,200,113,227,105,148,67,216,160,250,141,186,40,77,231,143,222,
214,159,184,43,209,239,237,86,90,236,37,19,44,96,158,245,53,215,42,85,30,139,185,251,145,89,241,15,32,14,71,224,7,21,134,92,166,242,68,188,57,48,208,240,45,150,144,212,244,249,41,124,153,28,69,135,189,103,70,34,51,84,118,136,12,182,168,246,252,191,142,229,39,59,72,138,146,170,180,75,165,2,174,66,82,125,36,47,121,129,243,46,195,23,147,248,78,101,99,192,65,230,202,35,198,171,87,151,175,211,94,232,156,114,120,24,169,219,115,177,203,50,178,74,117,162,206,16,176,193,197,4,93,116,223,22,52,95,220,10,108,31,196,29,204,225,112,161,137,58,123,167,233,164,107,104,235,149,61,83,254,6,81,205,97,98,119,11,56,100,8,20,110,173,201,172,27,152,18,133,63,199,210,218,187,73,113,200,213,227,60,105,160,216,67,148,141,231,250,40,186,143,77,222,
214,159,184,209,239,43,237,236,86,44,37,53,19,85,90,215,158,185,30,42,245,251,96,15,71,242,139,145,89,134,21,32,14,224,135,188,68,241,57,92,150,45,208,103,166,48,240,124,212,249,144,118,244,69,70,41,84,142,34,51,12,189,153,168,182,39,28,138,252,72,146,147,170,59,246,78,229,23,75,125,66,121,136,165,195,243,180,99,171,36,174,191,82,101,192,47,129,248,35,46,151,232,230,2,175,202,114,65,203,94,93,177,169,87,24,198,116,156,219,120,211,50,115,162,176,197,204,16,206,31,52,95,117,225,178,4,10,22,112,193,137,196,6,74,108,167,223,220,161,164,123,58,29,104,119,235,81,205,233,27,98,149,152,61,97,20,107,11,172,83,133,8,100,254,199,110,18,63,173,201,200,210,56,113,218,187,227,213,60,73,250,67,160,105,216,141,231,148,186,40,143,77,222,
214,159,184,237,209,239,43,86,236,30,44,19,53,85,90,158,37,71,251,42,89,215,188,15,32,145,185,92,96,242,139,224,135,14,21,245,103,208,57,68,48,70,124,134,45,118,84,150,166,241,240,69,144,182,41,212,142,244,249,34,12,189,174,23,51,39,59,153,168,180,99,75,147,47,101,35,78,138,203,246,125,252,28,170,248,66,72,146,165,195,2,46,82,230,171,229,243,136,36,116,24,151,121,175,192,114,202,129,65,93,191,232,94,156,206,162,198,225,196,197,211,50,219,22,169,87,120,177,31,95,117,52,115,178,16,137,112,176,233,74,193,223,10,4,123,204,6,220,235,29,149,167,107,100,27,20,161,63,81,104,133,61,152,58,97,119,164,254,8,98,108,205,172,83,199,11,18,56,110,210,113,173,213,201,227,200,187,73,60,67,160,105,141,250,216,148,143,231,186,77,40,222,
214,159,209,237,184,239,43,158,53,236,44,85,86,19,30,71,215,251,139,42,90,37,185,224,96,188,89,145,245,103,32,68,84,92,242,48,57,21,45,208,15,241,14,39,124,135,240,69,41,118,166,134,144,78,150,244,182,70,47,142,12,34,180,249,212,23,116,174,189,75,147,203,82,153,51,125,246,248,72,101,138,170,2,28,229,252,66,99,146,168,165,195,230,136,59,151,35,46,24,129,171,192,202,243,65,93,36,156,114,121,219,175,206,94,191,162,225,232,50,196,169,74,137,211,22,29,87,115,117,95,31,198,16,178,52,177,197,100,204,233,120,112,6,149,220,235,223,123,193,161,133,4,119,10,172,176,20,81,164,97,152,107,27,58,83,98,104,108,167,254,63,199,110,205,200,61,8,11,56,187,18,213,173,210,113,201,227,73,60,67,160,216,141,250,231,148,77,143,186,40,222,
214,159,184,209,237,236,239,53,43,158,44,19,30,85,251,71,86,188,245,92,89,42,96,185,37,90,103,241,139,57,145,224,32,144,208,21,48,68,14,39,45,242,124,240,15,84,118,70,166,182,41,78,134,244,47,69,135,142,180,23,174,59,150,212,12,116,153,75,249,51,125,203,34,189,246,2,138,72,28,147,248,136,66,146,151,229,165,168,252,24,35,99,82,170,101,230,192,46,129,93,202,219,243,156,191,36,114,115,171,206,195,50,65,94,196,162,121,117,137,175,211,100,29,225,232,87,204,169,178,235,120,233,112,198,220,22,52,133,95,177,6,74,123,31,161,197,20,97,58,167,223,254,10,98,149,16,172,4,104,193,199,119,107,81,176,152,83,108,27,173,110,164,63,8,56,187,18,200,205,61,11,113,210,213,73,227,201,60,67,160,77,216,141,250,143,231,148,186,222,40,
214,159,236,237,209,53,184,239,43,158,44,85,251,42,92,89,30,71,86,241,188,32,245,139,144,19,96,185,37,48,103,224,57,90,208,45,182,145,240,166,14,21,124,68,75,134,39,84,242,15,244,47,69,41,59,118,142,70,174,212,78,180,150,135,230,153,203,23,12,116,51,66,146,2,125,99,28,35,114,136,72,165,101,249,189,36,138,151,246,147,192,82,195,34,248,170,229,252,156,24,129,168,243,202,206,46,93,121,115,191,94,162,112,117,219,29,65,123,171,233,87,196,211,120,223,50,197,225,175,198,232,6,133,169,16,22,178,204,52,20,100,177,104,161,220,137,95,97,235,58,81,74,31,98,149,199,4,254,193,167,172,119,10,56,107,83,108,63,176,152,187,8,213,164,18,27,73,200,110,113,205,210,11,227,61,201,160,67,77,60,143,141,216,148,250,186,231,222,40,
214,159,209,239,53,236,237,43,184,44,92,251,158,245,85,103,185,32,42,86,241,30,89,37,144,139,71,96,182,188,19,90,224,48,208,14,145,240,57,45,134,75,68,166,15,142,39,47,21,84,242,41,69,212,70,124,136,118,78,59,151,244,99,203,174,180,230,23,125,66,135,153,12,82,116,195,35,146,150,165,2,114,36,24,51,72,229,249,121,192,219,28,138,147,101,120,189,246,129,34,170,196,202,211,46,93,156,243,191,94,112,115,117,252,168,123,197,206,87,162,223,248,65,29,50,233,161,171,16,169,178,104,137,175,133,204,225,177,81,198,232,6,22,52,97,199,254,58,4,149,172,20,100,235,74,95,98,119,220,108,107,167,56,193,10,187,210,152,8,83,213,63,227,18,176,73,27,164,200,113,61,110,11,205,201,77,160,216,143,60,141,67,231,148,250,186,222,40,
214,159,53,184,43,236,158,239,237,44,85,251,92,185,32,42,245,71,188,182,30,103,241,37,89,90,139,86,14,19,224,144,240,96,145,48,69,57,208,244,242,47,15,45,134,78,21,75,125,166,142,41,68,135,39,59,70,116,151,212,118,124,136,153,165,99,180,23,66,230,84,174,146,203,195,2,12,35,51,72,249,219,36,82,192,114,120,24,28,121,129,246,196,138,147,170,211,189,229,243,65,150,202,34,93,46,101,191,115,117,169,94,223,162,133,252,112,248,123,168,156,29,171,87,233,197,206,175,178,204,6,50,137,198,104,232,16,161,149,58,254,4,235,22,20,81,177,225,52,119,97,172,199,220,100,167,193,108,56,98,107,74,95,152,187,200,8,18,176,227,210,10,83,164,213,63,27,73,113,61,11,110,216,201,77,205,60,141,160,67,143,250,231,186,148,222,40,
214,237,158,159,43,184,53,236,239,92,42,85,251,71,245,185,44,188,30,182,32,103,86,145,241,89,144,19,48,242,14,47,37,69,240,90,139,96,208,166,224,244,124,142,99,41,57,135,78,134,230,212,68,70,15,21,75,45,116,118,125,136,165,249,2,39,59,153,174,180,84,151,72,93,192,82,51,66,35,203,195,23,24,34,12,114,120,219,246,36,129,211,28,170,46,121,196,146,189,65,147,101,138,229,156,87,243,94,115,202,112,191,204,150,232,171,137,248,178,162,235,6,233,168,169,175,252,117,133,29,123,223,104,198,206,50,4,149,197,220,225,161,58,254,108,177,52,199,172,20,22,16,119,81,100,95,193,56,97,107,187,167,18,98,74,10,152,210,8,200,63,113,61,83,213,227,164,27,11,110,73,201,160,205,77,216,60,67,141,143,231,250,186,222,148,40,
214,159,237,158,184,43,53,236,239,85,92,42,32,185,188,71,245,182,251,30,241,44,86,19,103,89,144,47,69,14,90,48,139,240,45,208,242,96,166,145,142,244,124,135,37,78,230,57,224,99,41,70,125,21,68,134,165,51,192,153,75,35,136,249,15,174,212,196,2,39,114,203,180,118,84,36,59,66,151,93,23,116,246,12,120,170,82,195,28,121,129,24,72,34,211,229,115,219,189,101,112,65,87,233,162,202,46,94,150,156,191,204,206,147,133,146,175,198,138,171,243,6,232,223,4,169,235,137,117,178,220,29,225,168,149,22,58,104,123,52,161,50,197,252,254,56,107,172,81,199,108,16,177,97,119,167,193,20,95,100,213,187,8,18,200,152,74,98,63,10,227,61,210,83,110,27,11,113,164,73,60,201,205,77,67,143,216,160,141,231,250,222,186,148,40,
214,159,184,158,43,237,236,53,239,42,182,85,185,188,92,245,71,103,251,32,44,89,208,30,144,19,241,86,45,240,99,47,90,139,224,14,145,48,69,68,124,135,96,174,242,244,37,78,142,230,21,165,70,134,166,51,57,41,180,249,35,15,125,153,114,59,203,219,151,192,39,136,195,36,75,84,23,72,211,66,196,2,93,116,118,12,82,34,121,24,129,146,202,120,189,212,233,246,112,170,28,65,138,87,115,101,147,162,204,175,94,171,137,229,6,46,206,133,178,225,22,156,104,168,150,198,232,243,161,223,4,169,149,191,235,58,220,29,123,197,50,52,254,252,97,20,81,108,172,213,56,107,177,16,199,100,187,119,167,193,8,63,95,74,10,98,200,18,27,110,152,227,210,60,61,73,113,83,164,231,11,201,77,67,216,205,143,141,222,160,250,186,148,40,
214,184,159,158,237,43,236,53,188,182,239,85,185,71,245,103,42,32,92,99,144,251,44,19,86,208,89,241,30,240,224,48,90,139,47,45,96,145,14,35,174,69,142,21,68,180,135,165,166,59,70,230,242,244,124,23,37,51,57,219,41,75,134,125,195,202,15,78,118,211,116,66,84,153,203,249,151,101,192,121,233,129,39,120,189,136,36,114,196,212,138,93,72,2,34,229,146,170,24,133,12,94,206,112,162,246,115,137,150,82,87,147,22,171,178,6,28,243,65,198,156,168,197,46,223,4,204,123,225,235,104,169,149,58,232,191,220,161,29,81,20,56,254,50,119,172,16,97,252,52,107,63,167,177,100,199,213,193,108,187,8,95,27,10,18,152,110,227,98,200,74,61,210,73,113,60,83,11,164,201,231,67,77,143,205,216,222,141,250,186,160,40,148,
214,184,158,159,237,43,236,239,53,185,188,182,144,103,71,32,85,245,251,47,42,92,30,86,19,89,99,44,240,90,139,96,224,241,48,35,145,142,45,166,219,21,69,14,202,230,37,68,135,165,174,125,51,59,242,41,134,180,70,244,153,23,84,192,57,118,124,15,66,195,116,196,249,151,136,203,211,75,78,36,121,229,120,22,101,93,34,147,39,146,2,72,114,138,198,206,233,189,133,129,150,212,170,12,24,87,171,28,115,162,137,6,65,94,246,178,243,82,29,112,197,168,223,161,4,46,169,225,58,104,123,191,204,220,235,149,50,81,156,232,16,252,56,172,213,119,167,20,108,254,100,8,97,199,107,95,177,63,52,10,18,187,193,200,27,98,73,152,227,110,113,60,210,61,164,231,11,205,74,83,77,201,67,143,250,216,222,141,186,160,40,148,
214,184,158,159,237,43,236,239,53,92,144,85,182,47,86,103,185,188,245,42,90,251,44,30,71,32,139,19,21,240,99,45,166,241,89,35,145,68,48,59,84,37,69,230,142,174,224,125,192,165,14,96,135,195,219,134,51,70,180,202,153,41,118,242,57,196,244,72,124,136,229,15,22,23,151,101,116,121,75,34,211,189,120,66,78,114,233,36,146,162,249,150,203,206,87,115,2,24,133,147,243,39,93,138,212,94,198,137,170,82,171,12,223,129,246,4,197,28,46,112,6,169,225,29,104,168,58,156,178,204,123,191,161,220,149,235,119,81,252,63,232,16,213,167,172,20,50,56,107,97,8,108,254,100,95,177,199,193,27,52,10,200,73,187,227,18,98,164,110,210,152,60,61,83,113,74,67,11,205,231,201,143,77,216,222,250,141,160,186,40,148,
214,184,158,159,237,43,236,92,44,239,53,144,85,103,99,182,90,42,21,245,185,30,35,240,47,188,71,251,32,86,166,69,45,89,241,19,37,230,139,224,48,68,145,59,165,180,135,14,134,125,70,84,174,41,116,96,118,136,192,196,142,23,57,153,195,51,101,219,244,229,151,202,242,75,233,72,34,15,203,124,189,22,114,133,206,78,87,93,120,121,66,146,150,138,147,243,36,211,2,94,162,212,198,249,28,24,115,171,170,82,129,246,223,12,39,232,235,225,46,119,137,197,123,168,169,4,6,58,112,204,104,29,81,161,178,191,220,252,16,213,63,149,167,172,50,108,97,8,56,107,193,199,254,20,100,177,187,95,27,52,210,227,10,73,110,18,60,164,200,98,113,152,61,83,74,77,67,11,205,201,231,222,143,216,250,141,160,186,40,148,
214,184,159,158,237,43,236,92,53,239,103,144,44,85,90,182,21,35,99,245,251,30,185,69,86,240,71,47,135,188,32,45,165,241,166,174,244,89,145,224,14,37,19,48,180,101,134,230,68,116,41,96,139,125,23,59,84,70,219,118,142,192,136,153,195,196,229,202,233,34,57,15,51,72,93,151,75,36,242,203,211,87,120,66,147,22,124,146,206,121,133,114,78,162,189,212,138,198,243,94,150,24,39,170,249,223,82,232,246,119,2,12,115,171,28,161,129,46,197,63,81,112,204,123,191,225,58,104,137,6,252,4,29,235,169,178,213,220,168,16,50,172,177,193,149,167,97,108,8,227,254,20,95,10,56,199,18,52,107,187,200,100,164,210,110,27,60,73,98,83,113,152,11,61,222,74,77,205,67,216,141,201,231,250,143,40,160,186,148,
214,184,237,158,159,43,236,92,103,53,144,35,85,30,90,21,239,44,251,182,165,69,245,71,145,86,47,188,37,241,185,240,99,180,135,244,19,45,14,125,166,224,89,32,174,101,134,23,142,68,118,139,59,84,192,229,136,195,70,96,230,153,15,211,34,41,196,202,48,116,72,93,219,151,242,233,36,120,57,114,206,51,147,203,75,121,22,249,189,133,66,78,146,138,212,124,150,246,28,94,198,24,191,243,232,12,39,162,115,170,2,81,129,82,6,197,223,123,171,225,119,46,161,204,4,252,63,104,112,177,58,137,169,220,178,29,168,235,213,193,16,50,172,149,227,108,97,10,52,167,199,8,254,18,56,20,164,95,100,107,73,200,113,210,27,98,187,110,60,83,11,152,74,61,222,231,205,67,216,77,201,186,250,143,40,141,160,148,
214,184,237,158,159,43,236,92,103,144,53,30,44,251,35,182,21,239,90,47,145,165,85,245,69,101,188,185,71,241,32,37,99,240,180,224,86,166,135,139,229,125,19,14,89,174,68,70,142,45,134,15,136,244,96,116,34,59,84,195,211,151,23,93,219,242,114,192,48,72,196,118,153,202,249,41,230,233,36,147,206,22,203,51,57,121,66,120,75,146,39,189,243,133,150,2,246,198,12,78,119,124,212,115,129,138,191,24,94,28,162,177,197,232,171,6,82,178,63,170,225,123,168,172,81,169,204,223,252,58,50,112,149,161,46,104,137,4,29,235,227,16,193,213,108,8,97,56,220,167,18,20,164,10,199,52,187,95,113,107,100,254,74,200,110,152,73,98,210,27,11,60,83,231,205,61,67,216,77,186,250,40,201,148,143,141,160,
214,184,158,43,237,159,92,144,53,90,236,44,85,21,103,188,30,35,101,182,239,251,165,185,245,47,69,32,71,224,37,145,19,99,135,229,68,14,139,174,180,240,241,86,166,89,96,125,72,45,59,134,244,70,136,142,15,93,118,211,233,151,195,219,23,192,34,48,196,202,203,22,84,242,230,116,153,41,249,114,36,119,189,121,150,2,206,12,57,243,75,147,39,133,120,78,212,24,115,198,124,51,146,162,197,177,246,66,82,58,191,171,178,129,138,46,63,213,94,168,223,28,161,149,170,204,6,227,232,123,104,225,252,172,81,169,112,16,108,235,8,97,50,4,29,137,193,199,56,187,220,164,20,10,167,18,113,98,95,100,52,110,11,254,210,107,152,200,73,74,205,83,27,60,67,231,61,77,216,186,148,250,201,40,141,160,
214,184,237,158,43,159,144,90,236,92,103,53,44,85,101,35,188,71,224,165,182,30,21,99,145,239,69,86,251,19,47,32,185,14,68,135,180,37,245,229,139,174,241,134,166,89,142,195,192,118,240,59,70,72,114,202,45,15,125,219,34,22,96,150,116,211,203,242,244,136,249,93,2,48,153,84,151,230,233,189,206,23,119,39,196,121,41,212,36,171,75,133,147,243,78,82,12,57,24,115,177,120,168,170,94,66,198,124,146,197,51,138,162,58,191,246,81,227,46,129,178,213,223,204,6,123,232,28,161,104,149,172,252,97,225,235,169,4,112,8,63,193,16,29,137,199,220,50,56,113,108,164,187,18,20,167,10,107,11,110,95,210,98,100,52,83,254,74,152,200,205,73,27,231,60,67,216,77,201,186,250,148,40,141,160,
214,237,43,184,158,159,144,236,92,90,53,85,101,35,224,103,188,71,239,30,145,21,165,182,99,47,14,19,69,185,134,135,251,37,174,86,180,195,32,139,68,245,116,118,153,241,192,229,142,203,119,125,45,114,166,59,96,202,150,15,22,34,72,240,48,89,219,244,39,242,121,23,211,233,70,2,84,93,196,206,151,36,136,249,212,230,12,75,189,243,51,41,78,57,24,58,168,177,133,171,120,147,82,115,94,162,66,124,146,197,227,246,6,28,198,232,178,81,123,138,223,46,170,129,161,193,112,191,204,149,213,252,16,199,235,104,225,29,97,172,63,169,8,113,137,187,4,18,164,220,107,108,56,10,50,20,167,110,95,210,254,52,200,27,74,83,11,152,98,100,73,205,60,250,148,201,67,216,231,77,186,40,141,160,
214,237,43,184,159,158,53,90,236,85,92,103,144,101,145,188,35,14,165,224,182,21,47,71,180,30,239,37,19,99,135,32,69,134,174,229,86,251,139,142,185,245,153,118,195,23,202,116,89,203,68,241,72,96,45,192,48,219,59,114,211,244,22,166,240,242,39,34,119,93,233,206,84,136,15,121,125,196,150,151,2,36,212,12,133,189,230,249,70,78,57,58,24,223,75,227,243,171,51,124,41,120,162,168,198,94,146,149,6,177,178,82,66,147,172,81,197,28,246,204,129,161,193,232,46,138,170,8,137,164,191,252,16,123,235,104,213,112,56,187,97,29,63,113,225,18,107,199,220,169,20,108,4,50,10,167,100,110,210,74,95,254,200,98,152,11,27,83,52,205,60,73,216,250,201,148,67,186,231,40,77,141,160,
214,184,43,159,237,158,236,92,85,103,53,101,144,165,145,35,21,14,135,188,182,30,47,71,19,99,180,37,224,251,134,68,72,86,142,174,185,239,32,202,69,118,229,139,23,153,119,245,34,203,116,114,45,195,96,211,219,240,22,166,39,121,233,241,84,89,242,192,244,48,15,59,136,206,196,125,36,151,249,93,150,2,12,70,243,57,189,78,212,133,171,58,230,75,227,124,223,24,162,172,177,51,161,178,82,146,168,246,41,120,147,149,6,232,129,46,94,193,81,66,197,204,28,170,198,18,8,112,235,16,138,108,123,187,252,137,97,113,164,191,56,104,107,29,225,10,63,220,199,213,4,169,50,20,254,210,167,74,95,100,11,98,110,200,83,152,27,205,52,73,250,216,148,201,60,141,186,231,40,67,77,160,
214,184,237,159,236,158,43,85,92,103,165,144,145,53,101,182,35,21,30,47,72,188,99,135,37,134,68,180,174,251,229,14,142,19,239,69,71,118,185,245,224,23,202,86,153,32,114,116,139,45,203,48,219,119,22,36,96,195,240,241,39,136,242,34,233,121,166,244,189,192,211,249,133,75,59,84,125,151,196,243,206,2,15,89,12,124,150,93,149,230,24,78,57,58,70,171,212,227,177,147,94,162,168,172,223,82,120,146,41,161,6,178,197,46,66,8,51,81,198,204,246,28,97,129,18,193,170,232,112,225,235,138,187,123,191,63,108,113,137,164,16,29,252,104,10,220,4,107,169,199,50,74,100,210,254,11,213,20,167,95,98,83,110,200,216,27,52,152,205,73,148,201,250,186,40,60,231,141,67,77,160,
214,184,237,159,158,236,43,85,92,103,21,35,144,165,53,101,145,182,188,134,30,72,135,37,251,68,47,174,229,19,23,245,99,180,116,86,142,48,69,185,14,118,71,153,114,224,139,203,119,202,45,32,239,39,166,34,240,36,22,219,96,195,125,136,189,133,241,243,121,244,192,233,249,242,124,75,93,84,211,151,196,230,59,150,15,89,171,2,12,70,78,212,57,149,58,206,41,162,227,6,24,82,223,146,147,172,81,168,18,120,161,198,177,235,46,94,204,51,66,232,197,123,246,28,129,187,220,8,193,63,170,113,97,108,225,169,191,16,164,112,138,137,29,107,10,213,167,252,4,104,11,50,199,210,74,110,100,254,52,95,20,98,200,152,216,83,205,148,27,73,250,201,40,60,141,186,67,231,160,77,
214,184,237,159,85,43,236,35,92,158,21,103,53,182,144,165,101,134,72,188,145,37,30,251,229,135,68,180,47,86,153,71,185,245,69,99,174,116,166,203,114,22,119,19,23,224,239,45,14,48,118,142,32,125,133,243,139,219,96,136,189,240,202,39,195,121,211,36,59,78,230,124,242,244,93,192,34,75,150,233,57,89,249,84,196,12,70,223,15,171,212,227,151,6,149,58,2,147,162,41,206,82,197,172,120,235,24,81,146,168,51,94,123,177,191,198,204,18,161,246,66,8,46,187,193,232,129,16,97,112,107,169,63,225,170,213,28,210,108,137,220,164,113,74,252,104,138,167,11,199,50,10,29,4,52,110,100,20,148,152,200,254,95,98,83,201,27,73,216,205,231,250,40,160,141,67,186,60,77,
214,184,35,159,158,237,43,92,85,21,236,103,182,165,53,144,134,229,101,37,145,188,47,72,68,180,30,153,135,185,251,19,71,125,245,114,166,69,174,202,224,116,22,45,99,203,239,48,14,23,121,39,119,133,136,36,189,196,243,142,118,242,32,233,219,59,192,230,12,78,211,34,75,240,124,139,249,84,89,195,96,150,147,151,244,197,93,70,6,171,212,57,15,227,2,223,206,82,58,146,162,168,120,149,41,172,24,123,204,81,235,129,161,51,66,177,8,94,246,198,18,137,191,16,46,169,187,28,50,63,97,210,220,225,170,232,112,193,107,164,100,104,213,113,110,252,11,108,74,29,167,4,10,138,52,199,254,83,200,148,20,98,152,95,73,216,250,27,201,205,231,160,141,40,60,186,67,77,
214,158,184,35,237,85,21,159,92,43,236,182,53,229,134,103,165,37,101,144,188,19,153,180,68,72,47,125,145,30,251,121,135,136,224,245,166,45,185,69,174,14,202,243,22,71,34,99,203,239,114,189,249,36,48,23,39,32,139,116,242,118,240,12,133,119,84,230,196,150,192,195,211,75,96,142,57,219,59,78,93,124,197,212,233,70,151,244,6,171,204,89,227,223,147,162,2,206,82,24,146,58,149,168,235,15,172,120,161,8,81,129,41,123,51,198,232,94,46,177,187,225,50,97,137,246,18,210,112,107,169,66,191,220,28,16,63,29,193,10,164,108,213,167,100,104,254,4,11,113,252,138,199,83,74,110,148,200,52,95,152,73,98,250,27,20,160,216,201,231,141,205,67,40,60,186,77,
214,158,35,237,85,184,236,21,92,182,159,43,53,134,153,144,229,101,103,165,188,37,47,68,125,180,30,251,45,19,224,145,185,72,135,136,245,69,139,189,203,14,36,71,99,22,34,121,243,166,239,23,48,114,249,240,39,133,174,196,32,78,84,59,142,202,119,230,242,57,192,118,195,150,219,171,75,89,211,12,96,212,93,223,124,233,147,162,6,197,206,244,151,82,70,120,204,227,146,58,2,149,15,41,24,137,81,168,161,235,51,172,198,46,94,97,8,129,187,123,225,232,18,220,112,191,107,66,210,63,177,193,16,50,108,10,169,246,28,167,254,100,213,164,199,113,74,104,252,4,11,83,29,110,138,52,200,20,95,98,148,27,160,73,152,250,201,216,141,231,67,205,40,60,186,77,
35,158,237,85,92,184,21,236,159,182,43,53,134,101,188,103,153,165,68,144,229,69,19,37,125,45,30,47,180,189,185,136,245,145,72,251,139,224,99,203,22,71,135,32,34,48,114,239,36,166,23,249,121,240,243,119,133,14,174,196,202,57,192,147,230,78,242,142,171,59,195,219,118,39,75,84,206,211,12,96,223,150,89,162,233,93,70,6,212,244,197,82,124,204,120,151,15,2,227,41,58,149,51,146,129,94,168,235,161,198,137,81,24,220,232,46,112,187,18,8,107,123,225,108,50,66,193,97,63,172,210,169,167,16,191,252,10,177,254,28,164,104,213,100,74,4,199,246,113,52,110,138,20,83,29,11,148,200,98,152,216,160,95,73,27,201,250,231,141,40,205,67,186,77,60,
35,158,237,92,85,184,236,43,182,21,159,134,101,37,68,165,185,53,103,153,229,251,144,30,189,188,69,19,180,245,47,136,99,72,125,45,203,135,139,145,114,224,34,22,48,240,23,71,32,166,230,239,243,14,121,219,36,249,242,174,59,196,202,84,119,142,57,75,171,195,133,39,96,118,147,192,78,12,150,211,223,206,6,93,15,227,70,82,89,162,233,204,2,151,197,124,244,120,146,235,58,149,129,51,225,8,168,123,137,81,24,41,97,107,198,108,254,112,161,94,232,16,104,46,66,172,18,74,177,28,193,220,167,187,210,252,169,191,63,10,138,164,50,199,4,113,20,213,100,110,11,152,29,246,83,52,216,148,200,98,250,160,95,73,231,27,40,201,141,67,205,77,186,60,
35,158,237,184,92,85,43,21,236,134,68,37,182,165,185,188,159,101,153,53,180,251,45,103,229,69,19,189,136,99,114,144,30,245,139,145,47,72,32,125,240,135,203,22,34,224,249,48,243,14,84,242,23,219,166,230,71,196,202,75,121,174,119,239,142,59,57,171,133,96,12,82,39,78,227,147,192,70,195,6,204,206,223,211,93,197,15,146,162,151,118,150,244,89,137,2,233,120,225,149,235,108,28,129,124,58,123,66,81,8,112,51,97,168,177,254,161,41,94,4,74,46,107,18,187,193,232,252,20,113,198,24,104,16,164,138,210,220,63,172,10,191,100,169,50,152,110,167,29,199,213,246,11,52,216,200,83,231,148,73,95,250,160,40,98,27,201,205,141,77,67,60,186,
35,237,158,92,85,184,43,236,153,180,21,103,185,68,37,182,134,188,53,101,159,165,229,189,69,99,45,251,19,32,22,135,114,30,144,136,139,245,47,145,224,72,219,34,23,48,166,243,84,240,227,195,75,125,14,59,121,142,71,203,242,96,239,174,70,78,39,162,230,171,249,196,147,202,12,133,146,57,119,211,82,150,192,204,206,223,244,151,233,93,6,118,149,28,15,89,197,137,120,2,225,58,124,168,235,123,129,108,66,81,94,8,46,254,112,51,74,252,107,193,177,232,18,138,164,41,152,161,213,4,24,20,198,10,187,220,113,210,172,191,50,100,16,104,63,167,29,169,246,199,52,110,200,83,216,11,148,98,231,160,73,95,40,201,27,250,205,141,60,67,77,186,
35,158,237,92,134,85,188,180,184,153,43,21,182,103,236,68,185,101,159,37,53,189,229,22,69,165,251,30,99,45,224,144,32,139,136,219,34,19,135,47,121,48,23,145,245,114,72,142,166,240,84,195,125,227,239,71,78,243,59,162,14,39,96,203,230,70,133,171,174,242,196,211,202,223,119,249,75,12,82,6,146,204,206,150,57,147,244,233,118,151,28,192,15,120,137,149,58,93,225,89,123,235,168,193,2,81,124,66,41,8,74,107,46,164,232,254,100,129,94,177,108,213,161,51,112,191,210,252,20,138,18,198,104,152,50,24,113,172,4,10,199,220,16,169,200,63,167,187,110,246,29,11,98,83,216,52,148,73,160,40,231,201,95,250,27,67,141,205,60,77,186,
35,237,158,92,134,180,188,68,43,153,184,21,103,85,182,236,159,101,69,189,37,99,224,229,121,22,185,251,53,145,166,45,114,48,144,47,136,165,219,139,32,30,19,23,72,84,195,34,135,71,245,239,14,125,240,242,142,78,39,162,203,243,59,204,171,227,70,133,96,174,223,202,230,119,151,6,75,196,12,249,57,146,244,147,82,150,28,58,192,123,206,233,225,137,118,120,149,15,235,81,93,168,89,2,129,8,74,100,193,124,254,164,20,177,46,50,108,66,107,41,191,199,94,112,213,187,232,16,24,51,210,138,113,152,198,10,252,4,18,161,172,63,169,200,220,110,167,246,11,104,29,216,52,83,73,98,160,250,201,148,231,27,40,95,67,141,205,60,77,186,
35,237,158,134,92,180,153,188,68,21,184,159,103,43,85,182,236,189,69,101,145,37,47,224,22,84,48,72,53,166,185,251,99,121,144,165,34,23,32,45,114,139,59,219,239,30,135,136,125,195,71,242,78,14,19,96,162,245,240,204,6,142,171,203,39,174,202,70,196,146,151,223,243,150,147,227,230,249,75,133,82,119,244,12,192,58,28,57,168,81,120,225,137,118,149,74,93,206,233,123,235,129,89,124,15,2,20,107,112,8,100,24,50,177,46,94,164,193,108,113,41,138,254,213,191,4,66,187,198,199,16,152,232,11,51,252,10,210,18,172,167,63,200,161,110,169,104,220,246,52,216,29,83,73,160,98,231,148,201,250,67,40,95,27,205,141,60,77,186,
35,158,237,134,92,180,153,159,21,188,68,43,189,182,184,69,101,236,103,37,47,85,22,84,165,48,224,32,34,145,166,99,144,219,23,45,59,72,78,135,125,251,240,53,185,239,136,245,121,114,242,139,19,71,96,30,14,223,142,204,6,203,174,195,39,70,150,151,162,243,171,196,147,202,133,227,249,75,230,146,244,93,119,192,58,168,89,82,149,57,12,28,81,137,233,118,123,124,120,225,74,112,206,8,46,129,15,2,177,24,254,66,50,41,100,138,4,20,108,164,94,193,198,107,187,232,51,152,220,191,213,11,113,161,16,172,10,252,199,18,110,167,200,63,210,73,104,246,29,169,216,52,160,83,40,148,231,27,98,250,201,95,67,205,60,141,186,77,
35,134,237,158,92,153,21,159,180,188,236,68,43,69,103,101,184,189,182,85,37,22,23,84,166,32,47,224,34,144,145,48,78,219,72,135,59,99,121,245,45,165,139,125,240,96,71,251,53,185,30,114,239,242,6,136,39,162,14,19,133,202,204,75,195,70,150,203,243,171,174,196,223,151,227,142,249,147,225,119,89,123,57,146,192,81,244,230,168,58,93,137,149,28,120,12,15,233,74,112,118,124,206,8,129,177,24,46,66,254,232,4,50,152,41,220,20,100,107,94,193,2,138,164,213,51,199,18,108,161,187,191,11,16,198,113,172,104,246,200,10,252,167,63,210,110,29,73,169,216,231,52,83,40,250,201,98,27,160,67,95,148,205,141,60,186,77,
35,134,158,237,180,153,43,92,159,21,103,68,236,69,188,189,37,101,184,85,182,32,245,23,22,135,139,144,47,84,145,166,53,59,219,224,30,34,78,45,72,96,71,251,114,48,165,240,39,133,75,99,185,6,19,125,162,242,171,202,239,14,136,204,151,223,142,174,243,227,70,195,196,146,203,150,249,225,119,192,147,230,89,244,57,93,123,137,168,58,81,12,74,28,120,206,15,149,233,118,24,124,46,8,129,112,232,2,177,4,20,66,152,100,220,164,191,138,107,108,193,254,213,18,94,41,11,50,199,51,16,161,187,252,246,200,167,113,172,10,63,104,110,198,231,40,29,73,210,216,95,250,83,169,52,201,98,160,67,148,27,205,186,141,60,77,
35,134,158,237,180,21,92,43,153,103,159,236,37,69,182,188,68,184,189,101,145,47,23,85,135,251,139,165,32,96,224,59,144,245,53,72,185,219,114,48,22,30,78,166,84,171,34,125,75,45,71,6,14,133,240,202,19,39,242,239,223,136,174,243,204,146,151,150,162,142,196,225,227,70,119,195,203,93,147,244,89,249,192,120,123,230,124,137,58,168,12,74,149,57,81,8,66,206,28,233,15,24,46,177,20,118,193,112,232,4,100,129,213,254,138,191,2,220,94,152,164,172,18,108,41,51,50,107,161,16,104,252,187,199,167,231,63,113,11,10,246,110,198,40,200,210,29,148,160,216,73,250,27,201,83,95,98,52,169,67,205,186,141,60,77,
35,134,237,158,92,180,21,43,153,37,189,68,103,23,188,236,101,182,47,159,145,32,114,224,69,184,85,135,251,53,96,165,245,144,22,72,219,78,139,30,48,59,84,34,166,185,242,125,19,240,133,239,39,171,6,202,243,223,14,45,71,196,136,227,174,204,119,162,89,150,225,151,57,146,70,244,142,195,124,147,192,123,203,230,137,249,81,93,66,149,74,120,58,168,233,177,15,206,8,12,24,28,46,118,232,4,193,129,112,100,20,191,213,254,51,152,104,138,220,2,94,50,172,231,167,108,164,187,252,199,41,161,16,63,110,246,10,18,107,11,113,198,27,210,29,160,73,148,216,200,40,169,83,95,98,250,52,205,67,201,141,186,60,77,
35,134,158,237,92,180,153,23,189,37,47,101,69,21,43,236,32,159,68,188,103,184,182,85,251,145,96,114,245,224,72,135,22,144,165,139,53,166,219,240,34,84,48,30,71,19,78,125,239,242,59,243,185,39,223,227,133,171,174,14,202,45,196,136,57,204,162,6,225,89,146,119,70,150,124,151,195,137,123,177,66,142,203,147,244,249,8,120,206,233,81,149,230,12,58,168,93,192,74,24,28,191,46,15,4,112,193,220,232,129,100,118,164,213,51,152,20,94,63,108,187,167,138,254,172,2,50,252,41,10,199,104,161,11,110,16,198,231,18,27,160,210,107,29,216,169,98,148,40,113,83,73,200,95,250,67,201,52,205,141,186,60,77,
35,134,92,158,237,180,101,47,189,153,23,236,21,43,69,37,68,103,182,184,114,32,85,139,72,159,251,188,96,245,224,145,135,48,144,166,174,243,30,165,19,22,239,34,202,84,219,227,53,71,240,59,78,125,242,171,14,39,136,196,223,45,204,133,185,6,119,249,162,195,124,150,57,225,151,177,89,137,8,66,244,146,123,142,191,147,81,203,230,46,168,192,232,12,58,206,15,93,233,149,28,74,120,164,24,220,193,51,129,4,100,118,213,112,152,41,94,20,63,108,172,187,50,254,252,138,10,2,16,161,167,110,27,199,148,160,11,104,107,169,231,18,29,198,73,98,113,216,210,40,200,205,201,83,67,250,95,52,141,186,60,77,
35,134,92,158,101,237,189,47,21,153,180,23,236,37,43,103,188,114,68,182,184,72,96,159,32,69,85,251,34,245,139,165,202,135,144,145,224,22,243,19,53,48,30,166,227,71,174,240,242,219,39,171,239,59,14,45,84,136,78,196,125,6,133,57,223,185,204,162,119,195,150,225,203,249,89,124,8,151,123,66,58,177,230,93,147,81,244,137,146,51,142,191,164,192,28,46,206,232,193,12,15,74,168,149,213,24,94,118,129,220,120,172,4,100,252,20,112,41,138,50,2,16,187,63,108,10,152,167,161,254,27,110,169,113,199,231,104,40,160,18,198,148,11,67,201,107,200,210,73,29,205,83,98,216,250,95,52,141,186,60,77,
35,134,158,92,189,237,101,153,47,21,23,188,32,236,37,180,184,68,114,182,103,43,251,96,34,69,72,139,85,159,243,19,245,202,144,240,165,22,135,71,224,174,166,242,30,53,145,239,59,219,14,227,45,196,78,136,39,57,125,84,204,223,6,171,185,225,133,119,203,150,151,195,230,8,146,162,124,177,249,123,81,89,51,93,137,58,244,147,193,66,142,191,164,28,46,232,192,24,206,168,213,15,94,149,16,74,118,129,172,220,12,41,112,120,4,252,100,50,20,138,2,152,161,187,108,10,40,167,104,113,63,27,110,160,198,254,199,210,231,148,29,67,201,11,18,169,205,83,107,200,98,141,73,250,95,52,216,60,186,77,
35,92,134,101,158,237,189,188,47,184,236,23,153,21,180,114,68,96,103,32,251,43,72,37,165,182,34,159,69,139,245,85,144,202,240,243,174,71,19,135,224,53,22,30,239,14,145,227,59,166,45,242,125,219,136,196,203,119,57,84,204,171,225,6,185,78,39,133,223,151,177,8,150,195,249,147,124,146,142,244,81,89,162,123,93,230,51,137,58,28,191,66,46,164,149,193,232,15,168,192,16,24,172,206,129,4,138,213,118,74,94,252,100,120,112,41,12,20,40,50,220,2,161,152,11,27,108,205,231,110,187,10,198,63,210,167,199,18,169,254,29,148,67,160,113,201,83,98,107,73,200,141,95,250,52,216,60,186,77,
35,134,92,237,158,189,101,188,23,153,236,47,184,114,68,21,32,37,103,251,96,34,159,43,165,180,72,69,182,135,139,144,245,243,202,85,125,59,71,240,224,30,174,19,22,239,145,242,45,53,6,196,227,136,219,166,171,185,78,223,119,204,84,225,203,39,137,195,57,147,150,133,177,8,142,244,162,93,151,89,124,249,146,81,51,123,46,232,230,149,28,206,66,191,193,15,164,58,16,168,12,24,213,138,172,120,118,74,129,252,40,100,41,94,161,192,2,4,20,220,152,110,50,10,112,18,231,27,205,198,11,169,187,29,108,199,113,167,160,141,201,210,83,63,67,254,73,200,107,148,98,52,95,250,216,60,186,77,
35,134,237,92,189,158,23,236,101,188,47,103,153,32,184,37,114,69,159,21,68,165,180,96,243,34,139,72,144,251,43,135,182,85,202,245,71,59,174,30,240,224,125,166,242,19,239,53,78,145,203,219,22,227,171,6,45,137,185,204,225,119,196,223,136,195,84,124,57,150,133,39,89,147,206,249,8,142,93,151,177,244,51,81,162,230,46,123,191,149,146,232,164,66,168,16,58,118,15,172,193,28,12,94,100,129,213,161,24,41,10,120,138,40,252,2,110,20,74,192,220,50,112,4,152,160,27,167,11,18,187,198,29,205,141,231,199,201,113,63,108,210,83,254,73,67,98,107,200,95,52,250,148,216,60,186,77,
35,134,237,92,189,236,23,188,101,158,103,47,32,37,114,139,69,153,21,184,43,68,34,159,165,72,144,135,96,182,243,180,85,251,125,59,71,224,245,202,174,240,203,30,166,239,19,145,227,22,219,53,124,242,185,196,78,119,137,171,206,223,45,39,204,225,249,6,133,136,150,93,195,57,142,89,46,149,162,147,51,244,84,191,8,177,123,146,66,164,81,230,193,232,151,58,129,172,28,94,118,138,20,100,16,252,168,27,74,40,120,12,24,2,15,220,161,18,10,41,152,110,192,4,112,199,50,167,201,198,11,160,205,29,187,231,141,210,254,63,83,108,113,200,98,67,95,107,73,52,250,148,60,216,186,77,
35,134,92,237,236,23,158,188,101,189,103,37,32,114,153,47,184,43,69,21,139,34,159,182,68,180,165,96,125,144,251,72,135,59,224,243,85,219,240,202,245,166,227,239,53,71,30,145,174,203,19,119,124,171,223,22,204,6,45,136,196,78,225,242,133,137,249,93,162,206,39,195,244,46,149,84,89,51,57,150,123,8,142,147,191,193,81,164,177,66,146,232,230,151,138,28,172,20,129,252,100,58,120,168,16,94,74,40,50,118,4,18,112,152,161,10,15,24,27,2,12,201,205,220,110,41,167,199,192,83,254,11,198,98,160,200,187,210,141,29,63,231,67,95,107,108,73,250,113,52,148,60,216,186,77,
35,134,237,158,236,92,23,188,189,101,103,32,21,37,47,114,184,43,153,69,72,159,139,68,96,34,182,180,251,165,125,243,224,144,166,59,239,85,240,71,227,135,145,203,219,53,245,119,174,202,30,19,223,78,124,162,242,171,22,57,225,133,196,136,204,249,6,93,45,51,137,8,46,195,230,244,39,81,89,147,172,150,28,142,206,232,84,123,193,66,191,164,177,168,146,16,120,151,252,129,20,138,100,58,74,18,161,24,40,94,118,27,112,205,10,152,4,254,2,220,83,50,201,41,15,110,12,187,192,11,199,167,160,198,210,98,107,95,29,200,231,63,67,73,141,52,108,113,250,60,148,216,186,77,
35,134,92,237,236,23,189,158,188,101,21,103,69,184,32,37,114,43,165,47,72,153,34,139,159,68,182,166,96,145,180,71,224,125,240,227,243,59,203,239,251,219,144,19,119,135,242,245,85,30,53,57,174,204,162,249,46,137,171,196,223,78,124,136,202,93,225,22,133,8,195,230,45,6,51,206,244,89,147,150,191,193,81,84,172,138,177,20,39,151,232,168,66,142,28,120,123,94,164,129,252,74,18,16,24,100,118,27,161,146,40,58,205,2,4,10,112,50,41,198,254,15,152,220,83,201,199,12,187,167,110,160,192,11,231,95,98,210,107,63,200,29,67,73,108,250,141,113,60,148,216,186,77,
35,134,92,236,237,189,23,188,101,158,37,21,72,114,32,69,184,47,103,153,182,43,165,139,145,34,68,71,166,203,224,119,96,240,19,159,242,180,59,125,144,243,219,245,227,196,135,239,251,85,57,30,136,195,204,249,223,46,124,174,78,53,93,162,171,202,225,22,6,230,8,137,45,133,206,84,244,191,89,177,172,28,94,51,138,39,81,150,66,147,151,123,232,142,2,129,164,168,120,18,100,118,20,252,112,16,205,40,74,27,254,24,50,161,83,4,58,15,198,201,199,146,152,10,220,41,98,95,160,192,63,210,167,12,11,110,187,231,67,107,29,200,108,73,141,113,250,60,216,148,77,186,
35,134,237,92,189,236,188,32,101,158,21,23,103,37,69,72,182,184,114,139,47,165,153,166,19,43,68,203,145,240,34,180,119,224,96,71,219,242,125,245,159,243,59,53,135,85,227,239,249,46,144,57,195,196,30,225,204,174,136,251,171,22,137,6,93,223,78,124,230,162,244,202,8,45,84,177,133,51,191,28,142,206,172,164,232,39,150,138,147,94,123,129,81,100,89,151,120,252,112,16,168,2,66,18,20,40,74,254,198,205,15,41,58,83,118,161,199,50,220,24,27,4,201,10,63,98,187,192,146,152,167,12,160,210,29,231,11,107,67,110,200,73,141,108,250,60,113,216,148,77,186,
35,134,237,92,189,236,188,101,32,21,103,158,72,37,182,47,69,23,114,139,184,153,166,165,43,240,19,68,245,203,224,46,242,145,85,180,119,34,96,59,125,159,239,243,219,53,71,225,135,30,227,144,174,204,196,57,22,124,195,230,93,249,136,45,171,162,251,6,137,244,78,8,133,202,223,191,84,100,147,172,177,206,81,28,142,232,164,39,150,89,123,94,51,120,138,129,168,66,112,16,151,198,252,2,187,254,205,20,220,24,83,18,40,10,118,4,41,161,199,15,58,152,98,50,146,12,29,63,167,192,27,201,210,110,160,231,11,107,67,73,141,200,108,250,60,113,216,148,77,186,
35,134,189,237,92,188,236,103,21,101,32,114,72,158,37,69,47,184,182,139,23,166,240,68,153,165,19,203,46,224,225,43,34,242,85,219,53,119,145,180,245,96,159,125,59,239,144,196,249,71,57,174,243,195,204,22,135,30,227,230,93,124,45,6,136,162,171,202,78,251,164,244,142,133,137,8,191,223,172,81,138,84,100,147,28,94,150,177,89,206,16,232,39,66,120,187,168,51,129,151,2,123,252,10,20,112,24,198,199,220,83,205,254,18,63,15,40,41,161,27,58,4,118,152,192,50,98,210,167,146,201,29,11,110,231,12,160,67,108,141,200,73,250,113,60,216,148,77,186,
35,134,189,237,103,92,188,236,101,114,158,47,72,166,240,32,21,69,23,37,184,139,182,225,43,245,153,203,224,165,219,242,119,145,46,68,19,59,34,180,85,144,53,125,239,159,96,135,249,174,57,243,195,196,227,71,204,230,30,124,22,171,136,78,162,244,133,6,93,251,137,191,202,8,45,164,142,223,147,89,84,16,100,172,81,28,39,66,150,94,138,177,206,187,232,199,120,252,83,51,129,10,123,168,20,198,112,63,205,41,220,2,254,15,24,118,146,18,161,50,58,152,27,40,167,4,210,192,67,201,231,29,98,160,110,108,200,12,11,141,73,250,113,60,216,148,186,77,
35,134,189,92,237,103,32,188,236,72,21,101,158,47,240,166,69,114,23,37,139,184,242,219,43,224,165,182,225,34,59,245,153,46,119,239,203,145,68,159,125,195,96,19,85,144,53,249,71,180,135,22,230,57,136,204,196,8,30,174,124,227,243,251,244,137,45,93,78,133,6,162,171,223,142,164,191,100,16,202,89,138,147,84,120,187,206,177,172,66,28,81,150,39,232,94,198,51,168,24,83,254,252,41,146,20,63,199,220,205,112,2,123,129,50,15,10,118,161,18,58,167,152,27,67,210,4,98,192,29,231,201,110,12,11,200,73,160,108,60,141,250,113,216,186,148,77,
35,134,92,189,103,237,236,21,188,32,72,101,114,158,240,23,47,139,166,37,69,225,224,219,43,165,182,242,184,19,34,59,153,239,203,245,68,195,159,46,125,145,119,22,96,249,71,135,85,144,180,204,230,196,57,136,171,30,137,93,8,174,244,251,227,45,124,133,162,243,223,6,78,89,142,164,16,66,84,100,202,187,206,177,147,120,191,172,138,81,232,150,28,252,94,51,83,24,39,198,2,41,254,205,220,20,63,161,123,146,168,199,50,10,129,118,18,112,15,98,58,27,152,192,4,67,210,167,201,231,29,11,73,160,110,12,108,250,200,60,141,113,216,186,148,77,
35,189,134,92,103,236,188,101,237,32,21,72,114,225,240,37,158,166,47,184,23,69,219,43,139,165,224,203,153,34,239,59,242,19,182,68,119,22,195,245,125,159,46,96,249,144,204,71,85,135,230,136,145,174,196,30,180,227,137,171,244,45,124,223,57,133,78,89,8,251,93,142,164,162,6,16,243,177,187,206,66,100,120,147,232,191,202,172,84,138,28,2,81,150,94,24,161,51,83,252,254,41,198,50,123,39,118,220,146,10,168,205,63,199,20,112,18,58,98,15,192,210,129,167,27,152,29,4,231,73,201,11,108,200,250,160,12,110,141,60,216,113,186,148,77,
35,189,92,103,134,236,188,72,237,101,32,21,114,240,158,47,166,225,219,69,184,37,203,19,23,239,182,43,59,224,139,242,68,165,34,153,46,144,195,22,245,249,119,135,136,71,96,159,145,230,174,125,204,85,30,180,196,244,171,223,227,137,243,251,57,78,89,124,187,164,45,93,142,66,133,6,16,147,177,8,120,206,162,202,232,100,252,84,28,81,94,118,172,2,191,50,51,138,254,24,10,83,150,161,123,39,198,205,199,41,220,129,98,63,210,15,18,58,146,29,192,20,27,167,112,4,231,152,73,250,160,201,200,12,11,108,110,60,216,113,141,186,77,148,
35,189,92,103,134,236,237,32,188,72,21,114,101,166,158,225,240,139,165,203,23,47,43,239,37,19,182,68,184,245,69,219,144,224,34,242,59,22,230,119,136,153,71,135,159,249,96,195,145,204,30,125,174,85,57,164,180,227,243,223,244,78,124,196,171,251,187,6,66,93,45,142,89,147,232,84,137,177,206,202,28,81,133,191,252,16,118,150,51,8,120,172,100,162,94,254,2,50,138,161,83,198,10,199,220,24,123,39,41,98,205,15,63,167,129,210,58,20,27,29,192,112,18,146,4,152,231,73,12,250,160,201,108,113,200,110,60,11,141,216,186,77,148,
35,189,103,92,134,236,72,188,237,21,114,101,165,166,240,139,158,47,225,239,23,203,19,182,37,34,43,224,69,242,22,184,68,159,96,245,195,119,59,136,153,219,144,249,230,71,85,57,145,204,125,135,227,174,30,223,180,164,78,147,171,244,196,243,187,93,252,202,124,142,251,137,6,66,45,89,177,191,162,232,118,84,81,16,28,133,94,120,150,100,220,172,206,254,2,161,51,138,83,8,167,98,198,205,24,50,10,39,15,199,123,129,210,41,192,63,20,146,27,58,18,152,29,160,112,4,73,12,231,201,250,108,200,113,60,11,110,141,216,186,77,148,
35,189,103,134,92,236,237,72,114,101,21,188,158,165,240,182,225,166,43,47,19,203,139,34,242,37,224,23,59,239,159,230,68,69,119,96,245,184,219,136,204,22,153,249,125,135,195,85,71,144,57,145,227,30,252,180,174,244,147,164,6,171,177,196,124,187,202,93,243,251,78,223,66,232,45,254,142,191,137,89,133,150,94,84,118,162,51,81,28,220,120,172,83,100,10,16,129,161,98,206,138,50,39,210,24,198,167,205,8,15,199,41,18,123,192,63,160,27,152,29,112,20,146,58,73,108,12,4,231,110,201,250,113,200,11,60,141,216,186,148,77,
35,189,92,103,134,72,237,21,236,114,101,182,188,158,165,225,19,240,166,239,47,139,34,203,43,224,136,37,159,59,242,230,119,204,23,245,96,184,68,69,57,249,22,135,219,85,153,174,195,71,125,252,144,145,244,6,164,196,227,147,171,177,180,66,232,30,202,251,223,124,254,45,137,142,187,191,133,89,243,94,118,28,51,81,150,220,78,129,162,84,100,120,16,50,83,172,210,161,98,39,10,206,192,198,205,167,199,15,24,138,8,41,152,160,18,123,112,27,20,29,231,12,73,4,63,146,58,108,250,201,200,11,110,60,113,141,216,186,148,77,
189,35,92,103,134,72,21,237,236,101,165,182,114,239,158,188,240,19,225,166,159,47,139,203,224,204,34,37,136,43,249,242,230,59,69,184,68,119,22,153,245,23,135,219,252,57,96,125,71,85,144,244,6,145,196,251,30,195,227,177,147,171,180,164,202,243,66,223,142,187,232,133,254,191,28,45,118,94,124,137,162,51,81,89,220,78,150,129,100,84,206,205,120,16,39,83,161,50,172,167,210,24,10,231,8,41,73,160,15,138,199,98,192,12,18,198,20,27,123,152,112,29,146,4,63,108,250,58,110,60,113,200,201,11,141,216,148,186,77,
189,35,103,92,237,72,134,236,21,101,165,19,114,188,166,182,240,158,239,139,224,225,47,37,159,203,34,249,59,204,43,184,69,136,242,22,119,135,245,23,85,125,230,153,219,71,196,180,252,96,30,68,244,144,145,57,66,251,227,164,133,177,195,147,243,171,202,191,187,142,223,232,45,254,162,84,81,124,28,137,51,118,150,94,129,220,89,100,78,206,50,10,205,39,161,16,167,120,73,172,8,138,231,41,83,4,199,15,160,18,98,123,192,210,20,198,24,12,152,112,27,29,146,250,108,63,58,110,60,113,200,201,11,141,216,77,186,148,
189,35,92,103,236,237,134,72,21,101,165,240,19,114,188,166,37,158,47,239,182,225,139,159,224,34,136,69,245,204,249,59,203,184,43,135,119,125,242,23,22,230,252,180,85,196,219,71,96,66,144,145,68,153,30,227,133,244,57,251,195,142,164,177,243,147,187,191,81,232,171,202,118,84,223,45,137,51,78,254,28,89,124,39,220,150,162,161,50,206,167,129,100,205,98,138,10,172,41,94,16,4,120,160,73,231,8,24,199,123,152,210,146,15,20,192,12,27,18,198,29,108,63,112,250,11,113,110,60,200,201,58,141,216,77,148,186,
189,35,236,103,134,237,92,101,21,72,114,182,19,165,240,166,158,224,37,47,159,188,239,139,34,59,43,204,203,225,249,69,245,119,125,184,242,85,23,66,135,136,219,71,196,180,230,22,153,252,145,227,30,96,68,133,244,144,191,57,251,142,195,243,81,164,147,84,171,232,187,51,118,177,45,150,124,254,223,220,162,78,28,39,89,137,100,167,50,206,10,161,98,138,172,129,94,205,123,4,41,146,160,24,16,73,231,120,199,152,15,18,210,20,12,198,8,27,108,29,63,192,113,112,250,11,110,60,200,201,216,58,141,77,148,186,
189,35,103,134,237,236,92,72,114,101,21,240,139,165,37,224,182,166,59,188,47,239,19,34,159,249,158,245,66,204,43,225,69,125,203,184,71,136,196,23,145,119,135,85,191,227,242,252,22,96,180,219,68,153,230,57,251,30,133,144,244,195,164,142,51,118,243,187,177,147,254,84,171,45,81,150,124,162,78,137,28,89,39,167,220,223,161,206,138,50,123,10,98,94,100,160,129,205,172,210,15,231,4,41,199,146,73,152,20,120,16,18,198,27,24,12,63,108,8,29,113,192,112,250,11,60,110,201,200,216,141,77,58,148,186,
189,35,103,236,237,134,92,72,114,37,101,21,165,240,182,166,139,224,43,47,239,59,188,159,66,34,249,158,125,19,69,204,245,184,71,136,135,203,119,225,251,23,196,191,242,145,57,68,252,96,219,30,230,85,227,51,133,144,153,180,244,22,177,164,142,118,84,243,195,187,45,254,171,28,81,147,39,94,124,137,150,78,89,167,98,162,10,50,223,220,100,161,15,73,123,129,206,210,205,231,160,199,146,4,16,18,41,172,20,8,198,113,120,108,152,63,12,27,29,24,112,192,201,200,11,60,110,250,216,58,77,141,148,186,
189,35,103,237,236,72,134,92,114,37,101,165,240,166,139,224,182,59,21,43,47,239,125,158,159,66,34,249,19,188,184,251,23,245,69,71,252,191,225,136,204,196,68,135,219,57,242,203,30,119,177,85,145,22,51,96,227,180,144,230,243,133,153,244,164,142,195,45,118,28,137,254,187,39,147,171,78,124,89,94,162,81,150,223,167,220,100,205,50,161,98,210,206,10,123,160,20,15,231,108,199,16,73,113,129,172,18,146,152,120,8,198,63,12,4,41,27,29,192,24,112,11,60,200,201,250,110,216,58,77,141,148,186,
189,35,103,237,134,72,236,92,165,101,114,37,224,166,139,240,182,125,239,21,158,47,43,249,34,66,159,188,19,184,71,245,251,23,252,225,69,136,68,191,145,135,196,203,30,227,119,204,219,242,177,57,85,96,22,144,230,51,133,180,243,153,45,164,244,142,254,195,78,118,137,28,223,171,39,94,187,100,81,147,89,124,167,220,150,161,162,98,205,210,231,16,206,15,50,73,113,160,20,10,152,199,4,123,129,108,198,146,172,120,18,29,8,12,24,112,192,27,63,41,11,60,201,200,216,250,77,110,148,58,186,141,
189,35,103,134,237,236,92,224,72,165,101,166,239,114,139,158,182,37,71,240,249,43,47,125,159,66,21,34,69,135,19,225,23,184,188,136,245,242,252,251,57,191,196,119,145,68,85,203,96,30,219,22,204,177,227,144,153,243,51,230,180,118,164,45,133,142,137,39,244,28,195,78,223,254,187,147,171,94,81,124,100,220,89,161,210,205,73,160,231,98,199,150,50,15,206,113,10,16,20,152,162,123,129,108,29,4,172,198,8,18,12,27,120,41,146,112,24,63,192,11,60,110,200,201,216,250,77,148,58,141,186,
35,189,103,134,237,236,92,224,72,101,165,158,114,139,166,37,159,239,240,182,71,125,43,66,249,21,47,85,225,34,196,184,69,19,135,245,251,68,119,191,145,22,57,136,252,23,242,203,30,96,219,118,243,204,51,153,227,144,177,164,45,78,195,180,230,142,147,137,171,223,133,254,244,124,187,220,94,39,28,231,100,160,73,89,81,161,205,150,98,199,10,210,50,16,113,162,206,15,152,20,123,120,41,129,8,27,4,112,24,108,18,198,29,172,146,63,12,11,192,60,200,110,216,201,250,77,58,148,141,186,
35,189,103,134,237,236,72,92,224,114,139,165,101,71,158,166,159,239,184,125,240,47,37,182,249,43,85,66,135,196,225,136,69,34,251,19,68,119,191,21,57,242,245,30,252,22,145,203,23,164,96,51,204,144,219,243,153,45,118,177,78,227,195,180,133,171,137,223,254,220,124,147,94,142,244,230,160,100,187,231,73,50,89,28,199,39,81,98,205,161,210,10,15,162,113,16,206,112,152,20,123,29,41,129,8,108,146,18,27,120,4,172,198,24,63,12,192,11,60,200,110,201,216,250,58,77,148,141,186,
35,189,103,134,237,236,92,72,114,224,139,101,165,71,239,158,249,159,166,125,184,182,240,37,225,43,251,30,85,47,66,69,135,196,19,68,191,136,51,164,252,245,57,119,21,145,22,23,204,242,45,203,96,227,219,78,133,243,177,118,153,254,195,220,144,137,244,94,180,230,124,142,147,171,50,223,10,160,28,187,39,89,199,73,100,231,81,98,205,161,210,113,15,16,146,162,206,129,18,20,112,41,29,8,123,152,108,120,172,60,27,198,63,4,24,192,11,12,200,201,110,216,77,250,58,141,148,186,
189,35,72,103,134,237,92,236,114,101,224,139,249,71,165,166,159,182,184,158,37,125,43,251,30,47,66,136,240,225,69,196,85,135,191,19,51,57,68,245,119,242,252,145,21,164,23,203,204,45,22,177,219,78,96,133,144,244,118,137,153,227,254,195,230,243,220,180,124,94,199,50,100,171,223,10,147,187,231,113,142,160,89,210,81,28,98,205,39,15,129,161,16,73,162,29,206,146,18,123,120,41,20,112,108,8,60,152,172,12,27,198,4,11,63,24,216,192,200,110,77,201,250,58,141,148,186,
189,35,72,103,92,134,237,236,139,101,71,114,166,165,159,224,249,37,182,158,184,47,125,251,30,225,240,191,43,136,57,69,68,135,66,19,252,85,245,196,242,119,145,51,21,137,23,164,177,230,45,204,118,203,243,220,78,153,22,96,124,195,219,144,180,50,227,254,244,133,94,199,171,187,223,129,147,100,231,10,113,142,81,160,210,15,205,89,161,98,39,18,73,162,20,16,29,108,146,206,12,120,41,27,60,198,24,123,4,112,152,172,11,8,63,250,216,192,200,77,110,58,201,141,148,186,
189,35,72,103,237,92,134,236,114,101,139,159,165,224,71,249,37,158,166,47,184,182,251,191,225,125,68,30,57,43,240,66,85,135,196,242,21,245,136,145,252,19,69,119,51,254,45,23,144,164,243,137,230,177,204,203,50,118,124,220,153,180,78,219,227,171,22,195,94,96,199,100,244,187,231,147,89,210,129,223,98,10,81,205,113,161,73,160,142,15,29,162,16,39,123,18,20,108,120,206,146,24,4,41,12,8,27,172,60,112,11,198,152,63,250,216,200,58,77,192,201,110,141,148,186,
35,189,72,92,134,236,237,103,101,114,165,224,159,139,71,166,47,158,184,251,182,30,37,249,66,68,125,225,191,43,57,136,85,135,21,240,242,245,69,196,145,19,252,243,119,45,51,254,230,23,144,164,177,94,118,137,153,204,180,219,124,22,195,89,50,244,78,199,227,203,147,220,171,210,100,223,96,98,16,73,142,187,10,205,231,129,20,161,120,113,160,8,15,39,29,81,162,18,27,123,146,4,206,12,108,172,41,60,250,11,152,198,216,112,63,200,77,58,201,192,110,148,141,186,
189,35,237,72,134,103,92,236,114,101,251,159,224,165,30,184,139,158,71,125,166,37,66,249,182,68,245,225,136,69,191,43,57,135,85,242,21,240,196,145,19,252,243,230,164,23,144,153,254,45,51,118,137,119,177,22,124,147,180,204,219,50,94,78,195,199,227,244,220,89,171,16,203,73,187,210,223,113,129,205,96,10,231,98,81,100,142,20,8,123,18,160,15,120,161,39,162,4,29,12,146,152,206,27,108,41,60,198,172,216,11,250,112,200,63,77,58,110,192,148,201,141,186,
189,35,237,103,72,134,92,236,114,101,159,71,165,224,37,166,251,158,184,139,30,245,182,66,125,249,68,136,225,43,191,145,69,57,85,196,19,135,164,252,21,23,242,240,230,144,254,243,51,45,204,78,94,119,124,177,153,22,147,220,50,219,137,244,187,89,180,118,227,223,195,199,96,73,171,203,98,113,16,205,81,18,129,142,10,100,123,4,120,161,231,15,162,206,39,8,20,12,146,160,41,29,27,108,152,216,60,198,172,200,250,58,112,11,63,77,148,192,110,201,141,186,
35,189,237,103,72,236,92,134,114,159,101,251,71,184,166,37,224,136,30,66,182,245,125,158,43,68,139,196,249,57,191,225,145,85,135,19,69,164,240,230,242,45,23,21,252,144,78,243,254,51,177,94,220,124,204,153,50,147,89,119,118,137,22,113,219,187,180,244,227,203,73,129,96,195,199,18,16,171,98,223,10,205,81,142,100,231,161,15,123,160,120,20,146,12,39,4,162,206,8,108,198,41,27,60,29,216,152,172,250,112,200,11,63,77,58,148,192,110,201,141,186,
35,237,103,72,92,114,236,159,71,134,101,251,184,30,166,37,136,158,224,245,43,182,164,68,66,145,139,125,196,225,249,57,191,21,45,85,135,19,240,23,69,230,242,243,78,254,51,252,144,220,94,147,153,204,124,137,89,180,119,177,113,50,118,195,22,187,203,244,199,227,219,129,96,16,98,10,223,18,73,171,142,231,81,205,100,160,15,206,123,198,120,161,4,8,12,108,146,39,41,20,162,60,27,29,216,152,11,63,172,112,200,192,58,77,148,250,110,201,186,141,
35,237,103,72,159,114,92,236,71,101,134,251,224,184,30,158,37,166,136,225,182,68,43,145,245,196,66,164,191,125,139,240,85,135,23,57,249,45,19,69,21,230,242,254,78,243,89,153,180,51,252,147,220,94,124,137,118,177,204,16,50,195,219,223,113,203,244,199,119,187,22,171,231,10,98,160,227,100,205,18,129,96,73,206,142,198,146,161,15,123,4,81,12,108,120,216,20,8,29,39,112,41,60,162,27,152,11,63,172,58,77,200,148,192,250,110,186,141,201,
35,237,92,103,159,114,101,71,72,224,236,251,134,30,184,158,225,136,145,37,182,166,125,66,196,68,191,139,43,85,164,45,135,19,23,245,249,240,21,57,69,153,242,230,89,254,94,252,204,137,180,243,78,220,51,124,147,16,195,118,199,119,244,177,100,113,223,227,50,203,219,98,129,22,10,187,231,142,205,198,96,18,206,73,160,146,108,123,4,15,81,216,161,39,120,12,60,29,20,112,152,8,162,27,41,63,58,77,172,11,200,148,192,110,250,186,141,201,
35,92,237,72,159,224,103,134,114,101,71,251,236,184,30,158,136,182,166,225,196,145,37,66,125,191,240,19,23,68,43,139,57,164,45,85,249,245,69,135,153,21,94,242,89,180,252,230,254,195,78,204,124,147,243,16,137,219,98,199,177,223,51,118,227,244,50,220,119,22,100,129,231,187,113,203,10,142,205,4,198,18,206,96,123,108,120,146,161,73,39,160,15,60,81,20,112,12,152,41,8,63,11,29,162,77,27,58,172,192,200,148,250,110,141,186,201,
35,237,92,134,103,72,114,159,224,101,236,158,184,251,182,30,71,136,191,166,225,68,19,66,125,23,37,45,145,196,153,164,43,21,240,69,57,139,245,135,249,94,242,252,180,51,195,78,89,204,147,230,223,243,254,16,124,137,119,177,118,100,199,219,244,98,220,50,231,187,205,227,129,22,113,4,142,203,10,18,120,206,198,161,73,160,96,108,123,15,146,39,81,12,112,20,60,41,162,152,11,29,27,8,172,63,192,77,58,200,148,250,110,186,141,201,
35,237,92,134,224,114,159,236,72,158,103,182,184,251,30,101,71,136,191,66,166,19,68,125,37,23,225,45,145,196,153,240,21,164,139,43,135,69,223,242,249,57,180,245,94,147,204,195,230,252,89,51,78,243,16,119,124,254,177,244,231,219,4,187,118,199,220,98,129,100,205,50,22,227,113,142,206,10,120,18,198,81,203,108,12,73,39,160,161,96,146,123,60,112,15,152,20,8,162,27,11,29,172,41,192,77,63,148,58,250,200,110,186,201,141,
35,237,92,134,224,114,158,159,182,251,103,236,72,184,30,71,191,101,136,66,225,125,19,45,166,68,196,23,37,145,43,164,242,57,21,249,180,245,69,94,135,153,139,223,240,147,230,78,195,243,51,204,89,199,252,254,16,124,220,187,219,100,119,205,231,244,22,129,98,118,227,4,177,142,50,12,203,113,18,198,10,120,73,15,161,160,81,162,39,146,123,96,60,108,20,192,112,29,8,152,172,41,27,11,77,148,200,63,250,58,110,201,186,141,
35,237,92,182,72,159,114,134,158,224,236,103,251,184,30,136,71,101,191,66,125,19,37,45,225,166,196,68,57,145,245,23,21,43,164,69,139,180,223,242,254,89,249,94,147,230,240,78,204,243,135,51,153,195,199,252,124,220,205,231,4,16,100,119,187,98,219,50,12,22,244,118,227,142,203,18,177,113,198,10,161,15,73,81,120,160,192,146,60,123,20,108,29,162,41,39,8,96,112,152,27,172,148,250,11,77,200,63,58,110,201,186,141,
35,237,92,182,72,134,114,159,103,236,251,158,184,30,101,71,125,136,191,225,45,66,19,37,145,23,196,57,245,166,68,164,180,21,139,147,89,43,78,69,249,242,51,240,252,135,223,230,254,94,195,119,199,204,205,243,153,4,231,16,98,124,187,118,100,12,220,22,219,50,244,113,203,177,198,18,192,160,227,81,123,142,120,161,146,10,15,96,73,20,29,41,108,162,112,8,60,39,27,152,148,11,77,250,172,200,58,63,110,201,186,141,
35,182,237,92,134,72,159,103,236,114,184,251,158,191,125,101,30,71,136,37,45,225,19,68,66,23,145,196,164,245,166,21,57,69,43,94,139,147,180,199,240,89,249,223,242,254,78,230,4,252,51,119,243,187,195,135,205,153,98,12,204,16,124,220,219,22,203,100,198,244,50,81,118,113,227,142,177,18,96,192,20,10,160,123,29,120,15,161,73,41,146,8,108,60,112,39,162,152,11,27,172,148,77,250,63,200,110,58,186,201,141,
35,237,92,72,134,236,184,159,103,114,158,251,191,125,30,136,71,101,225,45,23,68,37,19,145,66,89,245,196,166,69,147,164,57,78,254,4,94,180,21,223,230,187,242,252,43,249,139,240,51,199,195,243,135,119,205,12,16,98,153,204,124,198,203,220,118,142,244,100,22,113,20,50,120,81,219,96,227,192,29,161,177,123,18,39,160,10,15,41,8,73,108,60,146,112,172,152,11,27,77,162,148,250,110,200,63,186,201,58,141,
35,237,92,236,134,72,158,159,114,184,251,191,30,103,101,71,125,136,37,225,23,45,68,145,66,245,19,89,196,147,69,78,166,223,57,230,164,180,243,252,94,240,119,254,139,43,195,21,187,51,135,4,242,153,249,124,199,12,204,98,203,205,244,198,20,81,100,142,118,219,123,50,220,120,22,113,96,18,192,39,161,177,227,29,10,41,160,8,146,172,112,60,73,152,162,11,110,15,108,27,77,148,250,200,63,201,58,186,141,
35,237,92,236,72,159,158,191,134,184,101,114,251,103,30,125,136,71,23,37,225,45,145,68,66,89,245,19,69,196,223,166,230,119,78,147,180,139,252,51,57,164,243,12,94,240,21,203,135,254,43,242,249,4,124,205,187,195,153,199,20,198,204,244,142,98,81,50,123,219,113,118,220,22,100,96,192,10,18,39,120,161,177,29,227,8,41,172,152,160,73,146,110,11,27,108,112,162,60,77,250,148,63,200,186,201,58,141,
237,35,236,92,159,158,72,191,134,30,114,103,251,125,184,101,23,68,136,225,71,145,45,37,69,66,245,89,19,196,12,180,223,147,230,78,166,252,51,164,4,119,139,240,21,135,94,243,57,203,187,43,124,254,195,205,249,153,199,198,204,142,242,113,50,98,244,22,123,219,81,220,18,10,100,118,96,120,192,177,39,41,73,29,152,161,11,172,8,162,60,110,146,227,108,27,112,160,77,250,148,200,63,201,186,58,141,
35,237,236,158,72,159,92,191,134,103,30,125,251,114,184,101,23,68,136,45,196,245,225,145,71,180,69,37,89,223,147,78,66,19,4,12,164,119,51,139,94,21,252,230,240,135,254,57,124,203,187,243,199,98,205,249,153,198,22,142,242,195,43,204,113,50,81,100,220,123,219,192,244,96,118,120,10,41,29,162,172,39,18,8,73,177,152,161,110,11,27,160,227,108,60,146,77,112,148,250,201,63,200,58,186,141,
237,35,236,158,92,125,191,159,30,72,103,134,251,184,114,136,101,145,68,245,45,71,23,225,196,69,180,4,89,66,37,119,223,252,147,78,12,94,19,164,139,199,51,43,230,21,124,57,187,254,249,205,203,243,198,240,153,204,98,195,123,242,142,113,22,81,118,244,172,50,100,219,18,10,120,192,96,220,162,29,8,39,152,73,177,41,11,250,110,161,227,27,112,160,60,77,148,146,108,200,201,63,58,186,141,
236,237,35,158,191,92,125,134,72,103,159,251,30,184,114,101,145,136,245,68,196,45,23,69,225,4,147,89,66,180,37,119,12,252,19,94,199,78,223,51,139,164,21,243,230,124,254,43,240,98,249,153,198,204,57,205,22,242,187,195,203,113,142,192,244,220,123,81,18,50,118,172,10,96,100,162,29,250,8,219,120,39,73,11,161,227,27,152,110,41,177,77,148,60,160,201,146,112,108,200,63,58,186,141,
35,236,237,158,134,92,72,103,125,191,30,159,251,114,184,145,45,68,136,101,245,23,196,225,69,199,12,4,66,147,78,119,180,223,37,89,19,252,51,94,139,164,21,43,243,230,98,254,220,22,240,153,57,124,203,187,249,81,195,204,242,113,198,205,172,162,192,244,96,142,250,123,10,18,100,50,118,29,120,219,8,11,73,39,161,201,41,177,110,152,77,27,148,60,146,63,160,108,112,200,186,58,141,
35,236,237,125,158,30,103,72,191,92,134,159,251,184,101,114,136,145,68,45,245,23,225,196,199,4,69,12,252,66,147,180,51,89,119,19,37,139,94,98,78,164,223,21,230,243,153,220,254,124,187,57,195,203,240,244,22,81,198,50,205,204,249,96,113,192,242,142,250,18,100,123,162,172,10,161,177,8,73,29,118,11,219,120,201,41,110,39,27,152,148,60,146,77,108,63,160,112,200,186,58,141,
236,35,237,125,158,191,30,92,134,184,103,72,159,114,45,68,136,101,145,251,245,69,199,4,225,196,23,252,12,119,180,66,94,147,89,19,37,98,164,78,223,153,139,57,187,230,21,195,254,243,124,198,203,81,220,240,142,244,50,96,113,205,250,22,18,100,192,123,204,242,172,219,249,161,162,118,177,10,8,11,27,73,29,39,110,60,201,120,152,41,148,146,108,63,77,112,160,200,186,58,141,
35,236,237,30,134,158,191,125,92,184,45,72,159,114,103,68,251,136,69,101,145,199,225,119,245,23,252,196,4,66,180,12,19,147,94,89,164,37,195,230,98,254,153,21,78,124,223,187,139,142,57,113,18,220,50,81,198,244,243,203,96,205,240,242,250,123,219,22,204,249,161,100,192,172,118,177,11,162,29,39,41,10,60,73,110,8,120,201,148,152,63,146,112,200,108,160,77,58,186,141,
35,236,237,30,184,134,158,159,68,191,125,72,45,92,136,114,103,251,101,145,69,23,225,245,119,252,12,180,196,4,199,147,66,98,89,195,230,94,19,254,164,153,187,21,37,78,139,18,142,223,240,113,57,124,242,243,220,81,96,203,22,50,198,205,250,192,244,161,123,249,162,172,177,219,60,100,41,118,29,11,8,39,73,120,152,10,63,148,110,201,108,146,160,200,77,112,58,186,141,
35,236,159,237,184,134,191,72,30,158,136,68,125,45,114,103,92,251,69,101,145,196,252,23,245,119,225,66,12,89,98,147,230,180,199,4,139,21,223,19,78,195,153,164,37,240,94,57,254,124,242,18,142,187,113,250,243,192,220,22,123,203,172,96,198,249,205,244,41,81,161,118,177,162,219,50,60,100,29,8,11,10,73,120,148,39,63,201,152,110,108,160,112,146,77,58,186,141,
35,159,237,184,30,236,134,72,191,158,136,45,68,251,69,125,114,103,92,225,145,196,101,252,23,12,245,21,98,139,119,66,230,19,147,180,78,195,89,199,153,223,4,124,240,18,142,242,254,187,37,192,57,113,94,203,250,22,123,243,249,172,220,96,198,162,244,60,118,161,100,177,81,219,8,205,41,73,50,29,63,11,148,10,39,120,152,201,160,108,110,112,58,77,146,141,186,
35,184,191,237,30,236,159,134,72,136,114,251,158,68,69,45,125,103,92,196,252,145,21,101,23,139,98,245,12,119,78,66,19,199,230,180,195,142,4,223,124,89,147,153,242,18,254,240,123,187,37,96,172,250,94,113,192,22,203,57,249,243,220,162,205,219,161,60,118,177,100,198,41,244,8,50,81,73,39,63,10,29,148,152,120,11,110,160,108,201,58,112,146,77,186,141,
184,30,236,35,159,237,114,191,134,72,251,136,158,125,68,69,45,103,196,145,252,92,139,21,98,101,245,23,78,119,153,12,180,230,19,195,66,199,142,147,18,89,223,242,4,124,254,123,37,96,240,172,187,162,192,94,113,203,250,57,249,220,243,205,219,60,100,161,118,29,81,8,63,177,73,39,244,41,198,10,50,152,11,58,160,120,148,112,201,108,110,146,77,186,141,
184,30,159,35,236,72,114,136,191,134,237,251,158,125,68,69,103,45,196,78,101,21,92,23,139,145,245,252,98,12,142,153,119,89,180,230,147,19,199,18,195,242,66,223,4,240,124,172,187,123,37,162,96,113,203,192,57,60,94,161,100,219,249,250,220,8,243,41,205,81,118,29,63,39,177,73,10,152,198,11,148,244,112,50,110,160,58,77,120,108,201,146,186,141,
184,159,30,114,35,237,191,136,251,236,125,72,158,134,69,103,68,45,196,92,78,21,101,139,23,145,180,245,98,119,89,142,195,147,230,199,153,18,12,240,19,242,66,172,37,223,187,57,124,4,60,113,203,96,162,100,249,123,94,192,161,177,250,118,220,219,41,205,8,73,29,243,81,10,198,39,77,11,58,152,148,63,112,108,50,110,244,160,120,146,201,186,141,
184,159,35,237,72,136,251,114,191,236,30,125,69,134,158,103,68,196,139,78,45,92,21,101,230,119,180,245,89,23,145,195,98,199,147,18,240,142,12,153,66,242,19,187,96,37,223,60,124,172,4,113,57,162,249,203,161,94,100,192,123,219,177,205,250,73,243,8,118,41,77,39,198,10,220,148,29,81,11,108,58,152,63,160,50,244,120,110,146,201,141,186,
184,159,251,72,35,136,237,191,236,30,114,134,158,125,68,103,78,196,92,139,101,230,45,119,145,180,21,245,23,89,195,199,242,98,240,18,142,153,147,223,66,96,4,12,19,113,60,187,37,249,57,192,172,124,203,100,177,243,162,123,94,219,205,8,148,161,73,250,118,29,220,41,10,77,198,39,108,58,81,152,11,244,63,160,50,120,141,110,146,201,186,
184,251,191,159,134,72,136,237,30,114,158,236,68,196,125,78,101,103,92,23,180,230,45,89,119,139,145,245,195,21,98,142,153,240,18,199,147,242,4,96,57,66,192,223,12,19,249,187,203,37,113,172,124,162,100,243,123,60,8,177,205,219,161,148,118,94,220,29,77,250,10,73,198,39,41,63,108,152,58,81,50,160,11,141,110,244,120,201,146,186,
251,184,159,191,237,72,30,134,136,114,68,158,196,236,125,92,23,78,101,103,45,180,98,119,89,139,230,242,21,142,240,195,153,199,245,147,66,18,12,96,223,4,57,192,249,187,124,19,37,113,203,8,60,177,100,219,162,123,172,220,118,243,250,94,148,161,205,73,10,198,39,77,29,108,41,58,63,50,81,152,244,110,146,160,11,120,141,186,201,
251,184,237,191,159,114,72,30,134,136,196,158,68,236,23,125,92,45,78,103,21,98,89,119,139,180,242,142,199,195,240,230,66,153,245,57,249,18,12,147,192,223,203,96,124,4,37,113,177,118,148,19,187,100,8,60,162,172,220,250,73,161,123,219,243,205,94,10,108,39,198,77,41,29,81,50,110,152,58,146,63,160,244,141,11,120,186,201,
251,184,237,191,159,114,30,72,134,136,23,68,196,125,158,236,92,89,45,78,98,103,195,142,21,230,119,242,139,180,199,240,18,245,147,124,57,12,192,153,249,96,4,223,37,203,113,187,19,148,118,8,250,177,219,162,73,100,205,172,161,60,198,220,123,243,94,108,41,77,10,152,39,110,81,50,141,29,146,63,186,11,58,244,160,201,120,
251,237,184,114,159,191,30,72,68,136,158,23,134,196,236,125,92,45,98,242,89,195,103,230,199,21,142,240,180,139,119,18,147,245,57,124,192,12,153,4,223,249,37,96,113,187,203,148,177,8,19,219,118,73,162,172,205,220,250,161,100,123,198,60,243,41,94,108,77,58,39,10,152,110,146,50,29,81,186,63,141,160,201,11,244,120,
251,237,184,114,159,191,30,68,72,136,158,196,23,236,125,45,134,199,230,98,92,103,142,242,89,21,119,139,240,245,18,180,153,124,147,192,12,249,57,37,223,113,203,148,187,4,19,96,8,219,177,250,162,118,73,161,60,123,172,205,243,220,100,198,41,77,58,94,146,108,63,152,39,110,50,10,186,141,11,244,29,81,120,160,201,
251,184,237,114,159,191,30,136,72,196,158,68,23,125,236,119,45,134,199,98,103,230,242,89,142,92,21,139,18,192,240,249,147,153,180,57,37,124,245,223,12,219,113,8,4,162,19,96,203,177,187,243,148,118,205,250,172,198,123,161,220,100,60,58,77,41,94,186,146,63,108,11,39,152,141,10,110,244,29,50,81,120,160,201,
251,184,237,191,159,114,136,72,30,158,196,23,119,68,125,236,92,98,134,230,242,89,21,103,199,142,147,153,139,18,249,240,57,223,245,192,37,124,180,8,219,4,12,148,203,113,19,243,250,96,162,177,118,123,187,198,205,172,161,100,41,186,220,58,60,63,77,108,94,39,11,146,141,244,110,152,29,201,120,10,81,160,50,
251,184,237,159,191,114,72,30,68,119,136,125,196,158,23,236,242,92,142,230,98,103,199,21,89,134,147,153,249,139,245,18,8,4,192,57,240,37,124,223,180,219,203,250,148,177,113,118,162,243,19,198,123,172,187,96,186,205,60,100,161,108,41,77,141,58,220,63,94,146,11,39,10,244,201,29,160,110,152,81,120,50,
251,184,237,159,158,114,23,191,30,72,119,68,125,136,196,142,242,92,236,230,103,21,98,134,147,199,249,89,245,18,153,139,240,8,4,57,124,250,192,180,223,177,219,187,203,118,113,243,19,148,162,205,198,123,186,60,96,141,161,172,100,41,108,94,63,58,244,11,77,220,146,39,201,10,50,110,120,160,81,29,152,
251,184,237,159,119,158,114,136,23,30,196,72,125,68,191,92,142,242,236,230,134,21,103,199,245,98,249,89,147,4,139,180,18,57,240,8,192,124,219,250,177,223,118,187,19,203,243,148,205,113,198,123,162,186,141,96,41,60,172,77,108,63,161,100,94,220,58,11,244,146,39,10,29,110,201,81,50,152,160,120,
251,184,237,159,158,114,119,30,136,23,196,125,72,142,68,191,92,236,230,242,134,249,245,21,98,199,103,147,57,18,240,8,4,139,219,180,124,192,177,250,118,203,223,187,186,198,148,113,19,205,243,162,123,96,41,141,172,58,60,244,77,100,220,94,108,63,110,11,161,201,39,146,29,81,10,152,120,50,160,
251,184,237,119,114,136,159,158,23,125,68,72,196,191,236,30,142,92,230,134,242,245,249,21,98,147,199,18,57,219,240,8,139,103,4,118,186,180,124,192,250,223,177,187,203,148,205,96,198,113,123,58,41,243,19,77,162,172,94,63,60,244,108,141,161,100,201,110,220,11,39,29,81,152,10,146,160,50,
251,184,237,119,136,158,114,159,68,125,23,236,30,196,72,142,191,92,134,245,230,242,98,219,199,249,240,139,147,18,21,103,57,4,8,177,203,118,124,223,186,192,148,180,187,113,198,172,205,96,19,123,58,94,77,63,243,108,41,162,60,100,141,201,110,161,244,220,11,39,29,10,81,50,152,146,160,
251,184,237,119,136,159,158,68,114,125,23,196,92,191,236,30,72,242,134,230,245,21,219,249,139,98,18,103,199,147,240,4,8,57,118,113,203,187,186,177,223,124,192,180,148,205,198,96,63,58,172,19,123,244,77,201,243,108,110,161,41,94,100,60,162,141,220,11,39,81,10,29,50,152,146,160,
251,184,237,159,119,136,23,158,68,114,191,92,125,196,30,236,72,230,242,134,245,21,249,18,103,219,139,98,147,199,8,118,240,4,186,203,124,113,187,177,223,192,198,180,96,148,63,19,58,205,77,123,60,108,201,244,41,161,172,243,162,94,110,220,100,11,141,81,39,10,29,50,152,146,160,
184,251,237,119,23,136,158,68,125,114,92,30,191,236,242,196,72,230,134,245,249,21,139,219,18,118,147,98,8,103,240,4,199,187,192,124,186,203,58,177,19,113,223,180,198,63,96,77,60,148,244,205,108,100,41,172,123,161,201,243,162,220,94,110,81,141,11,10,50,39,29,152,146,160,
184,251,237,119,23,68,136,158,114,125,30,191,92,196,242,72,236,230,147,219,245,139,134,249,98,18,118,21,187,4,8,199,240,103,124,58,186,198,19,203,180,192,223,177,96,205,77,63,60,244,243,94,41,161,123,148,108,100,201,162,141,220,172,110,50,10,152,81,11,39,29,146,160,
251,184,237,119,68,136,158,236,114,196,30,191,72,125,242,92,230,134,245,147,139,249,219,21,18,103,187,240,98,118,199,4,8,58,186,223,203,19,124,180,192,198,177,96,63,77,205,243,244,60,201,41,94,161,123,108,141,220,148,110,172,162,100,10,50,11,152,81,39,29,146,160,
251,184,237,68,119,30,114,136,158,236,72,191,196,92,125,242,134,230,245,103,147,98,219,249,18,187,21,139,118,4,240,199,8,223,186,96,19,58,180,177,203,198,192,77,244,205,243,63,201,60,94,110,161,41,123,148,220,141,172,108,100,11,81,162,10,39,50,152,146,29,160,
251,184,237,30,68,119,114,136,236,158,72,242,196,191,125,230,92,245,134,103,249,187,147,219,18,240,98,21,118,4,139,199,8,186,223,19,58,180,177,96,192,77,203,205,198,244,63,60,141,94,201,81,110,162,148,123,11,41,172,220,100,161,108,39,146,50,10,29,152,160,
251,237,184,119,68,30,136,114,72,236,158,242,191,196,230,134,92,103,125,245,18,187,240,249,139,147,21,118,219,199,58,4,8,96,186,180,77,192,177,203,223,244,19,63,205,198,94,60,110,123,201,141,11,108,162,148,100,161,81,220,41,172,146,39,10,50,29,152,160,
251,237,184,68,119,114,30,136,236,72,103,158,242,134,18,196,92,125,230,245,187,139,147,240,249,21,118,219,4,58,186,199,180,96,244,77,8,203,198,223,192,177,205,60,110,63,201,19,141,94,162,81,11,108,100,123,148,220,161,41,172,146,10,152,39,29,50,160,
237,184,251,114,68,119,30,236,136,72,242,134,158,92,18,196,245,187,103,139,230,125,147,240,249,118,21,199,244,219,58,186,4,96,203,77,192,180,110,8,198,223,177,205,63,19,220,60,162,100,94,161,81,148,108,141,11,41,123,146,10,50,39,152,172,29,160,
237,251,184,114,30,119,68,236,136,72,139,158,134,245,242,92,187,18,103,196,230,125,147,240,249,21,199,118,58,244,219,96,203,180,4,198,186,192,63,8,77,110,148,205,60,223,19,81,161,220,100,162,94,108,141,11,41,146,10,123,39,152,50,172,29,160,
184,251,237,30,236,114,119,68,72,245,136,158,134,139,187,242,92,196,103,18,240,230,21,118,199,219,244,125,249,96,147,58,180,203,186,4,198,192,63,77,8,110,60,161,205,11,148,223,19,100,81,94,141,220,162,108,146,41,39,123,10,172,50,152,160,
251,184,237,30,114,236,119,136,68,245,72,158,134,196,242,139,187,103,230,240,18,118,249,92,58,125,219,244,199,21,147,180,96,186,4,8,203,198,110,192,161,60,63,81,148,223,205,19,77,100,94,41,123,146,11,108,162,220,10,39,152,172,50,160,
251,237,184,30,114,236,68,119,245,136,72,158,196,134,139,103,187,242,18,230,92,240,118,219,244,96,58,125,249,21,147,180,199,186,4,203,81,198,223,8,60,77,192,19,123,100,41,161,94,148,205,146,63,11,108,162,39,220,10,50,172,152,160,
251,237,184,30,236,245,68,114,119,136,72,158,196,103,187,230,134,139,242,240,244,18,118,219,92,58,96,125,21,147,199,180,203,249,4,81,198,123,186,8,63,41,192,60,100,148,94,19,205,77,146,161,108,39,11,220,162,10,50,172,152,160,
251,237,30,184,136,245,236,68,119,114,72,158,196,230,139,242,187,134,103,244,219,240,58,18,21,92,96,125,147,199,81,249,4,198,203,180,8,123,186,41,19,77,63,60,192,146,205,148,94,100,161,11,108,39,220,162,10,172,50,152,160,
251,237,30,184,136,236,68,245,119,114,72,139,158,230,196,187,242,18,244,103,134,219,240,96,92,58,249,21,125,147,180,199,198,186,4,203,8,123,81,41,77,63,60,146,148,192,205,39,94,100,11,161,162,108,220,172,10,50,152,160,
251,237,30,184,136,245,72,68,114,236,139,230,158,242,187,196,134,244,18,103,240,219,58,96,125,249,21,92,180,8,147,199,203,63,123,198,186,4,81,77,41,60,146,192,205,11,148,39,94,108,162,100,161,220,50,172,10,152,160,
251,237,30,184,245,136,68,72,114,139,236,230,134,242,158,187,103,18,244,240,96,249,58,219,21,125,180,203,92,199,147,198,4,41,8,63,186,77,123,81,192,146,205,148,11,60,39,94,108,220,100,162,161,172,10,50,152,160,
251,237,30,184,245,230,68,139,136,236,72,114,134,242,18,158,240,244,96,103,187,219,58,249,203,21,92,147,199,125,180,8,186,41,4,192,198,63,148,123,81,205,146,94,11,39,108,162,60,220,100,161,172,10,50,152,160,
237,251,245,30,184,230,139,72,136,236,114,134,242,18,96,240,244,158,103,187,58,249,92,125,21,180,219,4,199,203,186,147,63,41,8,123,198,148,81,39,192,60,205,11,108,146,162,100,94,220,161,172,10,50,152,160,
237,251,184,245,30,230,236,139,72,136,18,134,96,92,242,240,187,244,249,125,58,103,158,180,147,21,63,219,186,199,4,203,41,123,192,198,8,148,11,60,39,81,205,146,162,108,100,161,94,220,172,10,50,152,160,
237,251,230,30,184,236,245,139,136,18,72,96,134,242,92,244,187,125,240,158,58,103,147,249,63,186,21,180,4,219,199,148,41,198,11,39,60,203,8,123,192,81,162,146,108,205,161,100,220,172,10,50,152,160,
237,251,236,30,230,245,184,139,136,18,96,72,244,242,125,92,240,58,4,187,158,219,249,147,63,103,180,21,186,60,148,199,123,41,11,203,39,192,198,8,146,81,162,100,205,108,161,172,220,10,152,50,160,
237,251,30,230,236,184,139,136,96,18,242,72,240,187,244,92,125,147,21,4,58,180,249,103,219,158,63,123,186,198,148,60,39,203,8,199,11,192,100,146,41,162,81,108,205,161,172,152,220,10,50,160,
251,237,236,230,30,184,139,136,96,18,72,147,242,240,244,187,92,4,180,21,123,125,103,198,249,63,58,219,186,39,148,60,8,146,162,11,41,199,203,108,192,81,100,172,205,161,220,152,50,10,160,
251,237,236,230,30,184,139,18,96,136,72,242,147,240,244,187,103,180,92,21,249,4,39,198,60,63,219,123,125,148,186,192,41,8,162,11,146,81,199,203,108,100,172,205,161,220,152,10,50,160,
251,230,236,237,30,184,96,139,18,72,136,244,242,187,240,103,147,198,219,180,249,21,63,148,39,92,123,125,4,81,60,8,41,162,146,192,11,199,100,203,108,172,152,205,161,220,10,50,160,
251,230,236,237,30,184,139,18,136,244,72,103,187,240,242,219,147,180,21,198,249,63,92,4,148,39,81,125,123,60,162,41,8,11,199,100,192,146,203,108,172,205,152,50,161,220,10,160,
251,236,230,237,184,30,136,139,103,72,240,18,187,198,147,180,244,242,21,219,63,249,162,39,125,4,92,148,192,41,123,81,60,8,199,100,11,203,146,108,172,152,161,205,50,220,10,
251,236,230,237,30,184,139,18,136,72,103,240,198,242,187,244,180,219,147,21,148,249,81,162,63,8,125,4,39,192,123,60,92,41,203,11,199,100,146,108,172,152,161,205,50,220,
251,236,230,237,139,184,30,136,18,103,72,187,198,240,242,244,147,180,63,39,219,249,4,148,162,81,21,203,41,125,8,192,60,92,123,146,11,199,172,100,108,205,50,161,220,
251,236,230,237,139,184,30,72,136,198,18,187,103,63,244,39,242,180,240,81,219,147,4,162,148,203,249,125,192,21,41,60,123,92,146,172,100,11,199,108,50,205,161,220,
251,236,230,30,139,184,198,18,72,136,180,187,242,63,103,244,81,147,240,39,219,249,4,192,125,162,21,148,203,60,41,146,172,92,123,100,11,108,199,50,205,161,220,
251,236,139,30,184,18,198,72,180,136,63,187,242,103,244,39,81,219,240,148,192,147,41,162,4,249,21,125,203,123,60,172,92,146,11,100,108,199,50,205,161,220,
251,236,139,184,30,72,180,18,198,242,63,103,240,244,187,39,219,81,192,147,41,148,162,4,249,21,203,125,123,60,172,100,92,11,146,108,199,50,205,220,161,
236,184,139,18,30,180,72,103,198,240,244,242,39,63,187,81,162,219,192,147,4,148,41,125,21,249,203,60,172,123,11,146,100,92,108,199,50,205,220,161,
236,18,184,139,30,72,180,81,240,219,198,103,242,244,39,192,63,162,147,187,21,4,41,148,249,60,125,11,203,172,123,100,92,199,108,50,205,161,220,
236,18,139,184,30,72,180,242,240,81,219,147,162,63,103,244,39,198,192,21,187,4,148,41,11,125,60,203,172,92,123,199,100,108,50,205,161,220,
236,18,242,30,184,72,180,240,162,219,244,81,103,147,192,39,198,21,63,187,148,4,41,125,11,60,172,203,199,92,123,100,108,50,161,205,220,
236,30,18,242,72,184,180,192,103,240,219,81,244,4,162,198,147,187,39,21,63,148,11,41,125,172,60,203,92,100,123,108,50,161,205,220,
236,18,30,242,72,180,219,192,240,103,81,244,162,4,21,39,198,187,41,63,147,148,11,125,172,60,203,92,100,108,123,50,205,161,220,
236,18,30,180,72,103,242,4,81,192,219,41,162,240,244,198,21,187,39,63,147,172,11,148,125,60,203,92,108,100,50,161,220,205,
236,30,103,242,41,180,72,219,81,244,4,192,21,240,162,198,39,187,147,11,172,148,63,125,60,203,92,100,108,50,161,205,220,
236,30,103,242,41,72,180,244,4,192,81,219,240,162,11,187,21,198,172,147,60,63,203,125,148,92,100,108,161,50,205,220,
30,236,103,41,242,180,192,244,219,4,162,240,81,172,21,187,11,147,198,63,60,203,148,125,92,108,100,50,161,205,220,
30,236,41,103,242,244,192,180,21,219,4,162,240,187,81,11,147,172,198,63,148,60,108,125,92,100,161,50,205,220,
30,103,236,242,41,162,244,219,192,180,240,11,4,187,81,172,21,63,147,198,60,92,125,108,161,100,50,220,205,
30,242,236,41,219,103,244,180,162,192,11,21,4,187,240,172,147,81,63,198,92,108,125,161,100,50,220,205,
242,30,236,192,41,219,103,21,180,162,244,172,11,147,4,81,187,63,198,92,125,108,161,50,220,100,205,
41,30,192,242,103,236,21,172,219,180,162,4,11,147,244,81,187,198,63,125,161,92,108,50,220,205,
41,30,192,236,242,103,21,219,162,172,11,198,180,4,81,244,187,125,63,92,161,108,50,220,205,
41,192,30,21,219,236,103,242,162,172,11,81,180,244,4,187,125,92,108,161,63,50,220,205,
41,192,21,30,219,236,242,11,103,162,187,81,172,180,4,125,161,108,63,92,50,205,220,
41,192,30,219,21,236,103,4,172,187,162,180,11,81,125,63,92,108,161,50,220,205,
41,192,219,21,30,236,180,172,187,4,103,162,11,81,92,63,108,50,161,220,205,
192,41,21,30,219,162,4,172,236,187,180,103,11,81,92,63,161,108,50,205,
192,41,219,30,21,11,236,4,162,172,180,103,187,92,81,63,50,161,108,
192,30,219,41,21,236,172,103,4,162,11,187,92,81,108,50,63,161,
192,30,219,21,41,162,4,11,172,103,187,92,50,81,108,63,161,
192,30,219,21,41,162,4,11,187,103,108,92,50,161,81,63,
21,192,30,219,41,162,4,11,187,103,50,81,108,92,161,
21,192,30,219,41,162,11,4,81,50,187,108,92,161,
21,192,219,41,162,11,4,50,92,81,187,108,161,
21,192,219,41,4,11,162,92,161,108,81,187,
21,192,219,41,11,162,4,108,81,161,187,
21,219,192,11,41,161,162,4,81,108,
21,219,192,11,41,162,161,4,81,
219,11,21,192,41,162,4,81,
219,11,21,41,192,4,81,
41,21,11,192,4,81,
21,11,41,4,81,
11,41,21,4,
11,21,4,
11,21,
21,
};