-
Notifications
You must be signed in to change notification settings - Fork 5.9k
/
tables.go
6995 lines (6983 loc) · 363 KB
/
tables.go
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
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
// Copyright (c) 2014 The mathutil Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// "Static" data
package mathutil
var (
// Set bits count in a byte
popcnt = [256]byte{
0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, // 0
1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, // 1
1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, // 2
2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, // 3
1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, // 4
2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, // 5
2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, // 6
3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, // 7
1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, // 8
2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, // 9
2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, // 10
3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, // 11
2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, // 12
3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, // 13
3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, // 14
4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8, // 15
}
// Highest set bit index in a byte
log2 = [256]int{
-1, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, // 0
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, // 1
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, // 2
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, // 3
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, // 4
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, // 5
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, // 6
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, // 7
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 8
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 9
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 10
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 11
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 12
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 13
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 14
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 15
}
// "Predivisors": 2-53
liars = [3660]uint32{
31621, 42799, 49141, 49981, 65077, 65281, 80581, 83333, 88357, 90751,
104653, 130561, 164737, 188057, 194221, 196093, 215749, 219781, 220729, 253241,
256999, 271951, 280601, 282133, 357761, 390937, 458989, 486737, 489997, 514447,
580337, 587861, 611701, 647089, 653333, 657901, 665281, 665333, 688213, 710533,
721801, 722261, 738541, 741751, 742813, 745889, 769757, 818201, 838861, 873181,
877099, 916327, 976873, 983401, 1016801, 1018921, 1053761, 1064053, 1073021, 1082401,
1109461, 1132657, 1145257, 1168513, 1194649, 1207361, 1251949, 1252697, 1302451, 1325843,
1357441, 1373653, 1397419, 1441091, 1493857, 1507963, 1509709, 1530787, 1584133, 1678541,
1690501, 1730977, 1735841, 1811573, 1876393, 1969417, 1987021, 2004403, 2081713, 2163001,
2181961, 2205967, 2261953, 2264369, 2269093, 2284453, 2304167, 2387797, 2487941, 2510569,
2670361, 2746477, 2748023, 2757241, 2811271, 2909197, 2944261, 2976487, 3048841, 3090091,
3116107, 3125281, 3225601, 3363121, 3375041, 3400013, 3413533, 3429037, 3539101, 3542533,
3567481, 3568661, 3605429, 3656449, 3763801, 3828001, 3898129, 3911197, 3985921, 4072729,
4181921, 4188889, 4209661, 4360621, 4469471, 4480477, 4513841, 4835209, 4863127, 4869313,
4877641, 4922413, 5016191, 5044033, 5095177, 5173169, 5173601, 5176153, 5256091, 5271841,
5284333, 5351537, 5489641, 5590621, 5672041, 5919187, 6027193, 6118141, 6140161, 6159301,
6189121, 6226193, 6233977, 6236257, 6278533, 6334351, 6368689, 6386993, 6631549, 6658669,
6779137, 6787327, 6836233, 6952037, 6955541, 6998881, 7017193, 7232321, 7306261, 7306561,
7429117, 7462001, 7674967, 7725901, 7759937, 7820201, 7883731, 8036033, 8095447, 8239477,
8384513, 8534233, 8725753, 8727391, 8902741, 9006401, 9056501, 9073513, 9131401, 9345541,
9371251, 9439201, 9480461, 9533701, 9564169, 9567673, 9588151, 9591661, 9729301, 9774181,
9863461, 10024561, 10084177, 10323769, 10331141, 10386241, 10425511, 10610063, 10700761, 10712857,
10763653, 10974881, 11081459, 11115037, 11335501, 11541307, 11585293, 11592397, 11777599, 12032021,
12096613, 12263131, 12322133, 12327121, 12599233, 12854437, 13057787, 13338371, 13446253, 13500313,
13635289, 13694761, 13747361, 13773061, 14026897, 14154337, 14179537, 14324473, 14469841, 14671801,
14676481, 14709241, 14794081, 14796289, 14865121, 15101893, 15139199, 15162941, 15188557, 15220951,
15247621, 15479777, 15525241, 15603391, 15621409, 15700301, 15802681, 15976747, 15978007, 16070429,
16132321, 16149169, 16153633, 16324001, 16349477, 16360381, 16705021, 16773121, 16822081, 16843009,
16853077, 16879501, 16973393, 17098369, 17116837, 17134043, 17208601, 17236801, 17327773, 17375249,
17405537, 17585969, 17870561, 18067501, 18073817, 18366937, 18443701, 18454921, 18535177, 18653353,
18740971, 19328653, 19384289, 19404139, 19471033, 19607561, 20261251, 20417311, 20647621, 20968501,
21042001, 21303343, 21306157, 21359521, 21397381, 21400481, 21623659, 21654533, 22075579, 22087477,
22369621, 22591301, 22669501, 22711873, 22849481, 22953673, 23247901, 23382529, 23464033, 23577497,
23634181, 23734901, 23828017, 23872213, 23963869, 24214051, 24356377, 25080101, 25150501, 25276421,
25326001, 25457833, 25629913, 25696133, 25768261, 25909453, 26280073, 26377921, 26821601, 26840269,
26877421, 26886817, 27108397, 27118601, 27219697, 27271151, 27279409, 27331921, 27380831, 27392041,
27409541, 27491237, 27509653, 27664033, 27798461, 27808463, 28325881, 28527049, 28572961, 29111881,
29214541, 29581501, 30022129, 30090817, 30185569, 30219757, 30295141, 30338593, 30388753, 30418957,
30576151, 30662497, 30740417, 30881551, 30894307, 31040833, 31166803, 31436123, 31735621, 31759121,
32091781, 32095057, 32168117, 32285041, 32497921, 32676481, 33146717, 33298337, 33600533, 33627301,
33704101, 33872593, 34003061, 34043101, 34124641, 34540801, 34856167, 34944001, 35576599, 35703361,
35820937, 35851037, 36291193, 36307981, 36861901, 36919681, 36974341, 37109467, 37376509, 37439201,
37964809, 37988497, 38010307, 38046817, 38118763, 38210323, 39465091, 39512773, 39655153, 39684157,
40165093, 40238797, 40315441, 40361197, 40629601, 40782589, 40827473, 40987201, 41121433, 41568101,
41604109, 41642681, 41662297, 41840809, 42009217, 42485119, 42623017, 42984589, 43224397, 43363601,
43661257, 44070841, 44314129, 44465221, 44482901, 45100177, 45175201, 45219329, 45414433, 45819541,
45879941, 46094401, 46325029, 46386589, 46469809, 46517857, 46679761, 46860001, 47220367, 47903701,
47918581, 48064021, 48191653, 48269761, 48316969, 48400753, 48448661, 48551161, 48563089, 49075417,
49303801, 49411801, 49459801, 50155733, 50201089, 50443201, 50523661, 51030601, 51129781, 51302353,
51500521, 52072021, 52119289, 52204237, 53283169, 53399449, 53656021, 53675623, 53695721, 53711113,
54029741, 54449431, 55109401, 55176097, 55318957, 55729957, 56052361, 56420033, 56479897, 56810137,
57762433, 58003213, 58422409, 58449847, 58509977, 58679941, 58755877, 59631211, 59840537, 59913157,
59953741, 60155201, 60352921, 60547831, 60566431, 60581401, 60696661, 60738257, 60957361, 61201009,
61219789, 61377109, 61832377, 62756641, 63001801, 63002501, 63065281, 63167743, 63318169, 63328469,
63346999, 63388033, 64148717, 64605041, 64735897, 65144501, 65254393, 65301013, 65350801, 65359477,
66096253, 67194401, 67642513, 67928221, 68102641, 68154001, 68165761, 68512867, 68621701, 68839597,
69030901, 69128641, 69176647, 69228967, 69231061, 69485281, 69612061, 69885649, 70149631, 70463489,
70593931, 70728121, 71079661, 71734417, 72498253, 72543547, 73562833, 73645001, 74411131, 74927161,
75140137, 75565873, 76725091, 76745101, 77533123, 77648941, 77812153, 77817979, 78939089, 79398901,
79411201, 79417801, 79464533, 79786523, 80142761, 80146909, 80375707, 80556337, 80687881, 80891009,
81433591, 81954133, 82273201, 82506439, 82870517, 82929001, 83083001, 83103329, 83204801, 84164033,
84350561, 84421081, 84487457, 84998503, 85328717, 85519337, 85823401, 86027329, 86438857, 86530621,
86999837, 87499651, 87694261, 88256449, 88368853, 88661861, 89308771, 89784581, 90270613, 90278161,
90341197, 90665789, 90698401, 91433281, 91659283, 92438581, 92625121, 93431521, 93541537, 93571633,
93643201, 93677761, 93926197, 94316401, 94502701, 95451361, 95452781, 96135601, 96618397, 96791881,
96888641, 96895441, 96904081, 96925921, 97255801, 97496449, 97796953, 97863529, 97924217, 99036001,
99115297, 99486889, 99789673, 99898801, 100463443, 100618933, 100943201, 101152133, 101218921, 101270251,
101276579, 101649241, 102004421, 102678031, 102690677, 102690901, 103301633, 104078857, 104524421, 104988673,
105305443, 105919633, 106485121, 106622353, 106743073, 107360641, 107543333, 108596953, 109231229, 109437751,
109541461, 109879837, 110135821, 110139499, 110312773, 110413333, 110717861, 111370141, 111654401, 112032001,
112402981, 112828801, 113589601, 113605201, 113730481, 113892589, 114305441, 114329881, 114701341, 114842677,
114910489, 115039081, 115174681, 115497901, 115804501, 115873801, 116090081, 116321617, 116617289, 116682721,
116696161, 116998669, 117987841, 118466401, 118901521, 119092801, 119204809, 119261113, 119327041, 119558011,
119743537, 119940853, 120296677, 120517021, 120838609, 121062001, 121374241, 121472359, 121609489, 122166307,
122396737, 122941981, 123481777, 123671671, 123877081, 123987793, 124145473, 124630273, 124818601, 125284141,
125686241, 125848577, 126132553, 127050067, 128079409, 128124151, 128396921, 128468957, 128665319, 128987429,
129205781, 129256273, 129357061, 129461617, 129524669, 130556329, 130693393, 130944133, 131023201, 131567929,
131938561, 132332201, 132338881, 132440521, 132575071, 133216381, 133302781, 133467517, 133800661, 134696801,
134767153, 134868029, 135263269, 135296053, 135308881, 135945853, 135969401, 136043641, 136661201, 136722433,
137415821, 137763037, 138030721, 138403981, 138828821, 139295701, 139487041, 140197051, 142525333, 142922413,
143106133, 143168581, 145348529, 146156617, 146272901, 146659801, 146843929, 146884393, 147028001, 147287141,
148109473, 148171769, 148910653, 149389633, 150379693, 150960239, 150988753, 151533377, 151589881, 152716537,
152922001, 152991841, 153369061, 153589801, 153754873, 153928133, 154287451, 154513633, 154944533, 155203361,
156114061, 156532799, 157069189, 157368661, 157405249, 157725829, 158068153, 158192317, 158397247, 158496911,
158544401, 158895281, 160348189, 160378861, 160491329, 160587841, 160672201, 160730389, 161184013, 161216021,
161289649, 161304001, 161423377, 162026869, 162067441, 162690481, 162771337, 162776041, 163442551, 163954561,
164111281, 165061909, 165224321, 165938653, 166082309, 166339057, 166406561, 166827943, 167579497, 167582377,
167692141, 167881121, 168566501, 169655641, 170640961, 170782921, 170856533, 171454321, 172116181, 172436713,
172947529, 173401621, 174479729, 176030977, 176597821, 176609441, 176977921, 177167233, 177254533, 177693521,
177927641, 177951973, 178837201, 178956971, 179083601, 179285137, 179820257, 180115489, 180497633, 180703451,
181285001, 181285537, 181542601, 181647497, 182383111, 183677341, 184411567, 185653333, 186183469, 186393481,
186983521, 187050529, 187667969, 187761241, 188516329, 188985961, 189714193, 189738361, 189941761, 190212181,
190382161, 190913297, 191233813, 191648161, 191981609, 192346153, 192857761, 193330237, 193638337, 193949641,
194556451, 196035001, 196049701, 196231393, 198982759, 199674721, 200143351, 200753281, 201261061, 202130197,
202156813, 202538857, 203505697, 204280501, 204582457, 204766381, 205057561, 206304961, 206453509, 206504033,
206529737, 207008569, 207030541, 207132481, 207477001, 207618781, 208051201, 208969223, 209246701, 209404369,
209990881, 210592873, 210842113, 213035761, 214038533, 214110541, 214852609, 214858717, 215436241, 216821881,
217123069, 217875571, 218603617, 218642029, 218947121, 219621781, 220531501, 220883521, 221368153, 221415781,
221884001, 222010721, 222630193, 223449463, 223625851, 223782263, 224074369, 224136013, 224769241, 224957893,
225853633, 226359547, 226450297, 227132641, 227444101, 227475481, 228652201, 228842209, 228988033, 229589413,
230357761, 231383461, 231405701, 231927781, 232114433, 232460821, 232771501, 233110081, 234869009, 235426913,
235928071, 237791143, 238001653, 238833421, 240068041, 240371713, 240694513, 240785047, 241505377, 242067841,
242650717, 242860069, 243583201, 243955141, 244883981, 245006623, 245950561, 246099317, 246282511, 246434761,
246658441, 247318957, 247321301, 247416101, 249582481, 250436033, 250958401, 250988173, 251528401, 251663837,
251855893, 252853921, 253610281, 253893397, 255416897, 256831433, 257590661, 258020473, 258043229, 258234401,
258944401, 259763093, 259765747, 260156101, 260518801, 260736341, 260963389, 261186001, 261703417, 262979501,
263428181, 264269449, 264384469, 265020001, 265584133, 265735969, 265836161, 266790481, 266925601, 270525737,
271272569, 271763467, 271826629, 271950829, 273361789, 273480637, 274701913, 274810241, 274919401, 275283401,
275619961, 276018913, 276131137, 276542401, 276638321, 277787141, 278943061, 279377281, 280885153, 282253141,
282471853, 282769771, 283900961, 284166877, 284301751, 284736091, 284834299, 285820501, 286316801, 287160301,
287449091, 287715121, 288099001, 288117721, 288735277, 290643601, 290706781, 290953921, 291088513, 291461633,
292153681, 292290181, 292433321, 292902481, 293346637, 293847721, 293938261, 295419097, 295743017, 297624961,
297798961, 298212601, 299367877, 299736181, 301413001, 302635351, 304080001, 307629401, 307694323, 307972801,
308483209, 309666361, 310474249, 310978027, 311177213, 311411629, 311655829, 311671361, 312408113, 312614021,
314184487, 315034513, 315351521, 317137969, 317365933, 317641171, 317796119, 319053281, 319374577, 319440769,
319726177, 320326003, 321324589, 321850849, 322469701, 322941881, 324477697, 325028089, 325352101, 325546873,
326266051, 326405713, 326469137, 326628721, 326694301, 326695141, 327073601, 327093409, 327398009, 328302901,
329153653, 329769721, 330198331, 330759617, 331658081, 331934989, 337135501, 337420679, 337665901, 337783981,
338125537, 338458807, 338914369, 339195097, 339492169, 339794641, 341958121, 341994131, 343017529, 343052833,
344201441, 344255551, 344776301, 346080391, 348989101, 349752913, 350031973, 350244577, 351058753, 351177769,
352802803, 352932337, 353815801, 353932801, 354062809, 356604421, 356836819, 357348601, 357872971, 358416577,
359394751, 359727073, 360145633, 360375181, 360787771, 361307521, 361312337, 362569201, 363170837, 363430637,
364550761, 365077373, 365231401, 366487201, 366532321, 366652201, 367559501, 367632301, 368016949, 368476501,
369667561, 371011801, 371611153, 372167101, 373012777, 373533617, 373669453, 373906513, 374346361, 374988661,
376957153, 377192353, 377334497, 377458849, 377806687, 377869031, 378792649, 379732501, 380137633, 382304161,
384100001, 385175113, 385319089, 387072661, 388695301, 390609941, 390612221, 391014937, 392679737, 393611653,
394723177, 396864469, 399156661, 399302581, 399647221, 400385701, 400557109, 401100881, 403095967, 403293313,
405739681, 405782623, 407737201, 407889161, 409302001, 409458241, 410613809, 410680357, 411618241, 411851389,
412836689, 413138881, 413429801, 413778817, 414216461, 414368641, 415200361, 415204501, 415476343, 416964241,
417767201, 417779909, 418044563, 418226581, 418616161, 418617281, 418667401, 419184481, 420607441, 421942951,
422429041, 422928101, 423384001, 423465001, 424175761, 424411501, 424431541, 425967301, 426174101, 426219649,
426770437, 426783811, 427294141, 428180191, 428758201, 429135841, 429509837, 430046857, 430381921, 430646401,
430733701, 432227449, 434042801, 435016187, 435358657, 435993301, 436465501, 437247841, 437462101, 437597101,
437866087, 439309261, 441354497, 441650591, 441758461, 442050577, 442181291, 442543553, 444660421, 445429693,
446414621, 446619617, 449501761, 450807481, 450866021, 450872573, 452990401, 453366029, 453967739, 454745773,
455198563, 457274161, 457320533, 459785089, 460251733, 460585861, 461151121, 461272267, 461329601, 462587329,
462639409, 462701513, 464012033, 464955857, 465505633, 466290949, 466758181, 467100937, 468410113, 468950021,
470120257, 470268137, 470644021, 471535373, 471664513, 472814413, 473581057, 474892741, 474970501, 474983881,
475723849, 478614067, 479962009, 480668347, 481153501, 481239361, 482488393, 482824669, 482921297, 483006889,
483029821, 483945601, 484200289, 486063001, 486902929, 487896601, 488104681, 488169289, 488585521, 488656981,
489994201, 490950461, 491738801, 493108481, 494288677, 495909871, 496109729, 496560349, 497148599, 497285713,
498662561, 498706651, 498905189, 500747293, 501172241, 501472333, 502686713, 504870241, 505473263, 505532773,
505798213, 506349421, 507142567, 507323521, 508606771, 509302873, 509551201, 510925609, 511098521, 511215521,
511611673, 512330281, 514738981, 516045197, 516259657, 516764063, 517662001, 518216201, 518548801, 521501473,
522390109, 522758233, 523756711, 526067821, 526359289, 526686889, 528013333, 528043753, 528220117, 530630701,
531095029, 531681281, 532126801, 532758241, 532800133, 533429881, 534782293, 535252867, 535428577, 535517581,
536003333, 536114197, 536342419, 536870911, 540207097, 540621181, 540654409, 540680141, 542497201, 542536457,
544861633, 545550433, 545622401, 546102481, 546117301, 546322201, 548080513, 548989561, 549308761, 550132741,
550230409, 550635373, 550853137, 551313001, 552573793, 553027201, 554487121, 554599051, 554964001, 555321007,
555465601, 556001377, 556069849, 556095433, 556114609, 557165209, 558235109, 558900821, 558977761, 561448487,
562367821, 563298061, 563947141, 564298489, 564689381, 565664761, 565707061, 567358513, 567596401, 568902001,
568967221, 569332177, 569495809, 570941881, 572123521, 572228929, 572430769, 572567353, 572936869, 573817861,
573862021, 574998841, 575326033, 576724219, 577210181, 577352641, 577613261, 579606301, 579956653, 581618143,
582389641, 582799951, 585261637, 586706821, 587343541, 588049001, 591242653, 591822001, 592467451, 592468777,
593682169, 593728489, 595405201, 595590841, 597537361, 597717121, 599135767, 599945293, 600893921, 601606487,
602379181, 604584221, 605454917, 605961049, 606872449, 607148653, 607750681, 608421637, 608917753, 609361567,
609813781, 611097401, 611374453, 611770513, 611812321, 611817421, 612006253, 613849601, 614742241, 615361183,
615760133, 615895897, 616280897, 617087701, 619239457, 619365121, 619480601, 620169409, 620544961, 620755537,
621769669, 622137601, 623735953, 624303241, 624732421, 625060801, 625482001, 626717471, 627886657, 628868467,
629134081, 630496621, 630622753, 630811513, 631767943, 631974613, 633289807, 635155291, 635291077, 635319361,
636287653, 636337073, 636936697, 638502913, 638837761, 639305921, 639807781, 640650931, 640977373, 643036321,
643316461, 643552909, 644004817, 644453633, 644457551, 644731357, 644900257, 645556481, 648056449, 648328801,
651011329, 651064681, 651151801, 651514753, 652469641, 653235841, 653260633, 655264369, 657732349, 659526601,
659846021, 660095641, 660754117, 661122881, 661207177, 662134201, 663760681, 665462081, 668498321, 670976641,
670987021, 671716921, 672103001, 672108193, 673778827, 675260477, 676359391, 678481693, 680983817, 681019921,
681124207, 681303241, 682528687, 683316001, 683362681, 684350833, 686059921, 687741401, 689537441, 690035713,
690562601, 691131349, 692535637, 693456521, 694116893, 696042901, 696321949, 696998251, 697821857, 698192041,
698819711, 702683101, 705303457, 705351583, 706728377, 707691601, 709409993, 710382401, 710617861, 710721001,
714490481, 717096641, 717653129, 717831211, 720767521, 722955773, 724160251, 724969087, 725508241, 731276521,
732805681, 734166217, 736668013, 739444021, 739576801, 740988151, 741182401, 741214237, 742017181, 742550401,
744500641, 745493761, 745745461, 746331041, 747406801, 748638001, 749172821, 749640161, 750632137, 751226401,
751705597, 752186593, 753233717, 753574537, 753594001, 754020361, 754874257, 756205633, 756271909, 756980137,
758581651, 758687581, 758901701, 759252367, 759266621, 759638881, 762699649, 763907741, 764033999, 764240611,
765378241, 766303693, 766823797, 770201221, 770909107, 770937931, 771043201, 771337891, 772495777, 773131927,
773807401, 775368901, 775896181, 776443769, 777218989, 781471001, 782823281, 784450393, 784777393, 784783477,
784966297, 787085857, 787209277, 788046901, 788931361, 789082001, 790453049, 791118043, 792144161, 792145729,
794201333, 794399041, 794937601, 795064909, 796072003, 796200901, 796560703, 797418997, 797834017, 799162561,
799630753, 799898833, 799916101, 801093011, 801227269, 801866647, 804978721, 805505957, 805771501, 807115753,
807218413, 808214161, 809790881, 810023881, 810455101, 811110301, 811478533, 811607777, 811730923, 815430533,
815796413, 816024161, 816215401, 816549121, 817832329, 818401321, 819466201, 819743233, 822018961, 822531841,
824389441, 826004467, 829512001, 830664451, 831933901, 832048447, 832127489, 832169857, 833610751, 837766217,
839268139, 839280691, 839908217, 840749761, 841217653, 841660961, 842785841, 842824981, 842960981, 843161887,
844545271, 845376533, 846961321, 848090377, 848755969, 849548671, 852432769, 854094781, 854868257, 855734401,
857100421, 857902861, 858687103, 859096477, 860334301, 862082677, 862678081, 863196181, 863609113, 863984881,
865242841, 867022747, 867110501, 867638201, 868088341, 868111597, 868691401, 870985223, 871157233, 871195561,
871908481, 876850801, 877542481, 878492941, 878940833, 879995689, 880870513, 880922657, 883276549, 884304037,
884952001, 886180429, 887795221, 888868441, 892740853, 893692819, 894264337, 896901461, 897087361, 897283213,
899019353, 900736411, 901848301, 902566501, 903108821, 903390643, 905040953, 907378669, 907670501, 907711561,
908005249, 910202509, 910867481, 911484421, 914348737, 914906539, 920375821, 920696653, 921858631, 922845241,
923437213, 926756881, 927106561, 927877001, 929159941, 930530701, 932148253, 933729421, 935794081, 936421141,
937675393, 938376181, 939947009, 940123801, 941056273, 941734657, 943271569, 944832533, 946034057, 946787377,
947878081, 949317217, 949697233, 952893881, 954924013, 957600541, 957631249, 958131157, 958735681, 960269377,
960946321, 962442001, 962489557, 962523169, 964412837, 965501857, 967266451, 967287751, 967790401, 968283247,
968413217, 968751241, 969528337, 970586713, 971975071, 974113601, 974471243, 974774401, 975576281, 976396961,
977483449, 979363153, 980056507, 980725201, 981484561, 983456377, 984133441, 984252001, 985052881, 985075681,
987842101, 994133479, 995586373, 995650921, 997836841, 998489017, 998590601, 998596741, 998724481, 999828727,
1002261781, 1003062061, 1005402133, 1005833971, 1006800829, 1008777001, 1008839999, 1009025263, 1009140161, 1011319501,
1011333061, 1011570457, 1011909271, 1012438391, 1013833153, 1015339441, 1015626151, 1017748057, 1020515761, 1021281301,
1022336611, 1024041853, 1024123501, 1024605121, 1025035129, 1026738161, 1027744453, 1028494429, 1034252929, 1034958601,
1040234231, 1049584313, 1050102901, 1050535501, 1054999441, 1055009117, 1056121453, 1057426651, 1063212481, 1065508321,
1065602281, 1066972301, 1069388497, 1070639389, 1070941987, 1071512749, 1071643249, 1072898711, 1073159281, 1073288581,
1073484823, 1075100041, 1077133397, 1078467589, 1081798061, 1082472553, 1084241341, 1084444481, 1090858081, 1093150081,
1093352833, 1093526353, 1094042321, 1097416321, 1098743563, 1100624857, 1101623381, 1101673501, 1102573501, 1102750013,
1104194521, 1105038871, 1106529761, 1106580817, 1106595493, 1107138961, 1108135381, 1109304913, 1110582947, 1111205873,
1111939201, 1112671603, 1114277221, 1116379301, 1117202557, 1117785881, 1117828001, 1117890019, 1119412321, 1120076281,
1120981021, 1121176981, 1123406047, 1123625501, 1123727617, 1124396521, 1125038377, 1127040769, 1130933429, 1134367777,
1138289041, 1138607233, 1139137057, 1140573601, 1142466151, 1147434289, 1148578201, 1150229761, 1151670001, 1153164097,
1153440289, 1154343961, 1154691409, 1154987209, 1155939709, 1156761911, 1156993373, 1157839381, 1159421509, 1160844821,
1163098249, 1163227759, 1164218641, 1165717129, 1166475601, 1166598217, 1168221121, 1168256953, 1168492417, 1173229201,
1173545533, 1174300093, 1180970407, 1181566219, 1183338241, 1184554801, 1186325981, 1187235193, 1191153937, 1191216133,
1192314817, 1192412033, 1192903531, 1193229577, 1193557093, 1195524181, 1196852273, 1198650961, 1198880261, 1200456577,
1200778753, 1202142061, 1204205449, 1205606533, 1205772499, 1209998077, 1210393801, 1210562701, 1210653541, 1213619761,
1217181061, 1217823517, 1217924159, 1219816261, 1219858921, 1220114377, 1221127013, 1222861271, 1223531677, 1223941657,
1225128829, 1226230297, 1226855293, 1227220801, 1229491063, 1229751667, 1230446653, 1231362793, 1232445677, 1234125721,
1234646533, 1235188597, 1235864033, 1236313501, 1236442421, 1238825569, 1242171349, 1242858317, 1249166881, 1249785941,
1250656621, 1252236421, 1254277909, 1255665613, 1257102001, 1258903981, 1260332137, 1263293281, 1264145401, 1265477791,
1266003461, 1266273793, 1266425101, 1267345081, 1269295201, 1269835201, 1270193401, 1270489621, 1270667353, 1272558739,
1272866167, 1282447477, 1282568741, 1285636801, 1286298133, 1286298263, 1296613501, 1297443913, 1299072721, 1299784141,
1299963601, 1301509249, 1301926081, 1302745481, 1306836001, 1307004641, 1307520469, 1307823661, 1308758533, 1308998741,
1309723213, 1309983901, 1310329567, 1311255661, 1311616153, 1312332001, 1312573123, 1313396221, 1315858381, 1316169541,
1318126321, 1318717531, 1319978701, 1319992181, 1320793813, 1321058213, 1323668917, 1325172421, 1325329297, 1328256247,
1329174601, 1329431689, 1331973329, 1341010577, 1341926401, 1343575381, 1344597577, 1344975721, 1345514101, 1345523401,
1347387361, 1348964401, 1350685001, 1351126261, 1352453257, 1353051517, 1356241321, 1356328121, 1357459183, 1362463807,
1362515701, 1362742561, 1365662917, 1366587661, 1366608377, 1368769681, 1371908137, 1372681861, 1375322101, 1376799577,
1378646179, 1379464633, 1382453333, 1383283129, 1385656829, 1386705433, 1388972353, 1389353941, 1389975149, 1391890033,
1393851553, 1394640941, 1394746081, 1394942473, 1397357851, 1398883201, 1400859847, 1401840833, 1404008369, 1404253369,
1406826241, 1406851249, 1409372779, 1413803197, 1414154827, 1414529533, 1415969101, 1417986901, 1421475031, 1424503849,
1425860101, 1426319563, 1426534201, 1427771089, 1428966001, 1432354901, 1435091377, 1438648993, 1440231941, 1440922891,
1441139641, 1441678411, 1442945689, 1443388481, 1443742273, 1446298309, 1446434677, 1446818651, 1448921633, 1451635201,
1454282449, 1454445413, 1456527461, 1457378449, 1461307717, 1463065501, 1463178817, 1463992661, 1464568381, 1465908193,
1465945417, 1468540477, 1468824787, 1469059481, 1469960377, 1470080501, 1470650851, 1471628401, 1472221921, 1473580001,
1477289941, 1481626513, 1482274513, 1482876673, 1483873861, 1483918801, 1485061471, 1486564301, 1493114149, 1495190699,
1497221281, 1497965713, 1499971457, 1499989177, 1500142001, 1501165097, 1502171117, 1502403121, 1503240559, 1503705601,
1504139521, 1504832033, 1507746241, 1509156013, 1510870241, 1511558533, 1515175087, 1515785041, 1517039371, 1518014689,
1518290707, 1520190341, 1521221473, 1522302121, 1526732803, 1529648231, 1529819971, 1530495289, 1532419099, 1532569681,
1532755369, 1533343261, 1534063081, 1535020133, 1536112001, 1536251047, 1536883357, 1537433899, 1537641691, 1538012449,
1539583921, 1539804001, 1540454761, 1540550413, 1541047813, 1541849761, 1541955409, 1544145121, 1545019813, 1545177581,
1546106773, 1546340401, 1546508057, 1547140841, 1547543161, 1547712601, 1550924873, 1554270481, 1557118081, 1560312001,
1560620041, 1561800833, 1565893201, 1566594551, 1567830241, 1568916311, 1574362441, 1574601601, 1577983489, 1578009401,
1580449201, 1581576641, 1581714481, 1582783777, 1583230241, 1583658649, 1586436193, 1587650401, 1590394313, 1593706201,
1595647351, 1595887921, 1598197201, 1602517949, 1603765021, 1603810561, 1603994701, 1609916491, 1609935913, 1612121473,
1614508267, 1617795181, 1617921667, 1619447741, 1620646177, 1627103521, 1627898401, 1628692201, 1630062253, 1630307617,
1631314609, 1632286673, 1632513601, 1633044241, 1636185601, 1637434657, 1637436457, 1637930893, 1638294661, 1639351981,
1639846391, 1641971701, 1642814653, 1644637051, 1645413001, 1647225529, 1648076041, 1649430889, 1650265549, 1650682153,
1654940509, 1655660761, 1656229921, 1656280033, 1656917377, 1659009601, 1661202113, 1668037621, 1668926629, 1669893661,
1671603667, 1671714241, 1672125131, 1674091141, 1674658133, 1675978193, 1678274581, 1679130641, 1680901381, 1683174533,
1685433413, 1686001861, 1687248001, 1691745821, 1692605041, 1694128129, 1695158921, 1696893101, 1698707377, 1699279441,
1700250049, 1709909293, 1710753001, 1712392321, 1714322377, 1716160321, 1716714793, 1716774481, 1718013133, 1718088301,
1719197621, 1721061497, 1721986313, 1722007169, 1722685777, 1725675451, 1726372441, 1731048937, 1731995497, 1732924001,
1734059291, 1734285601, 1735071913, 1736481601, 1738687469, 1740214841, 1742288881, 1742815621, 1743166441, 1744605097,
1746692641, 1746721681, 1749124829, 1750412161, 1754818561, 1757148121, 1760014561, 1766984389, 1767234613, 1769091241,
1769267761, 1770236893, 1771303801, 1772267281, 1773582977, 1776439261, 1776820033, 1779649381, 1779892577, 1784306273,
1784638309, 1785843547, 1786005521, 1787934881, 1790023861, 1791426787, 1792442737, 1792588813, 1794814103, 1801558201,
1801774081, 1802510669, 1803768091, 1804906517, 1805947313, 1809888967, 1816408273, 1817067169, 1819829749, 1820306953,
1821514633, 1828682101, 1828887061, 1831258601, 1835114401, 1837156049, 1837599769, 1839568981, 1841034961, 1841099261,
1841479501, 1844028961, 1846171781, 1847811673, 1849964117, 1850233897, 1850598961, 1852496761, 1853926777, 1854084649,
1854940231, 1856689453, 1857221281, 1858098497, 1858197961, 1860373241, 1861026133, 1861880689, 1862880401, 1866409861,
1867906721, 1868682241, 1871987041, 1872937057, 1873177693, 1874634721, 1874849929, 1878691753, 1879111697, 1879623157,
1879775501, 1883509633, 1883785681, 1885915841, 1894909141, 1894955311, 1897700113, 1899081757, 1899525601, 1900687381,
1903447841, 1904658913, 1905958891, 1908088001, 1909566073, 1910134309, 1911197947, 1912950241, 1914303841, 1915391521,
1916987593, 1917397637, 1920301951, 1921309633, 1922092567, 1922687293, 1923224689, 1923311317, 1923845801, 1924201501,
1925042737, 1928903971, 1929862849, 1930403333, 1930447501, 1930534453, 1930915169, 1934350351, 1938264241, 1940048881,
1943951041, 1944125633, 1945042181, 1950987193, 1952513369, 1952968753, 1957705177, 1959659857, 1960708261, 1963149553,
1965007601, 1968002149, 1970065681, 1974474049, 1977257441, 1982123893, 1982826961, 1988071801, 1988713189, 1988835713,
1988965861, 1989192277, 1991063449, 1995784961, 1995830761, 1996231189, 1996339649, 1997844157, 1998780001, 1999053601,
1999111801, 1999743661, 2004299641, 2007646961, 2013554869, 2013834961, 2016481477, 2017021333, 2017509601, 2019564769,
2021392369, 2021884343, 2027675701, 2028279793, 2028631361, 2028812399, 2029830409, 2030600833, 2036224321, 2043173273,
2049293401, 2050617713, 2052149221, 2054711381, 2055634561, 2057267941, 2057835781, 2058072041, 2059739221, 2062612033,
2068867841, 2070739441, 2072624761, 2076192007, 2081039297, 2081551753, 2082146617, 2083034113, 2083997441, 2085453649,
2085882661, 2086645009, 2093300401, 2095627153, 2096046457, 2097317377, 2100292841, 2101470541, 2101744837, 2104994449,
2106147457, 2107148761, 2114643217, 2115769633, 2115986557, 2116483027, 2116541221, 2117031263, 2117555641, 2118621097,
2120096161, 2123601751, 2124078653, 2124691213, 2127197489, 2128104001, 2129304997, 2130134533, 2131004737, 2131811501,
2140699681, 2140771609, 2141340833, 2144961253, 2147418113, 2147429509, 2152627801, 2154446641, 2155416251, 2156151313,
2164282177, 2168431201, 2170282969, 2172155819, 2173499329, 2173540951, 2173579801, 2175126601, 2175406201, 2175646177,
2177374321, 2177645557, 2178082901, 2178939221, 2180221201, 2182281601, 2182802689, 2185362233, 2187717761, 2193980881,
2199617701, 2200115713, 2201924341, 2202101761, 2202205897, 2203649197, 2203856497, 2206095589, 2210578759, 2213431729,
2216960929, 2217879901, 2219072017, 2224252801, 2229468697, 2231332357, 2233031701, 2240507821, 2241880033, 2241982009,
2244932281, 2245519981, 2246762899, 2248354153, 2251732033, 2254314241, 2254757077, 2256197761, 2256748777, 2256751837,
2262861901, 2269307587, 2274584089, 2283289681, 2284416181, 2289251669, 2289624793, 2290316377, 2290910257, 2291205461,
2292068143, 2295209281, 2296995121, 2299190401, 2300628601, 2300795353, 2301745249, 2304120001, 2308966661, 2309241601,
2309405617, 2311558021, 2311575001, 2315137261, 2320527613, 2323147201, 2324867399, 2329584217, 2330569541, 2331181621,
2335341601, 2338157597, 2338728001, 2340460487, 2345907961, 2347597981, 2352371251, 2354453561, 2355230749, 2355320101,
2355622721, 2355649921, 2355735089, 2358534361, 2360261989, 2370771181, 2370928337, 2371350101, 2372976563, 2374232977,
2375415841, 2377166401, 2378309041, 2381782597, 2382678101, 2383164577, 2385574201, 2389072321, 2389544977, 2393708761,
2394311233, 2398393661, 2404912501, 2411128441, 2412172153, 2412675721, 2413973071, 2422296241, 2423401681, 2425249601,
2428648967, 2428870753, 2428986913, 2429407961, 2430697513, 2431136401, 2431144801, 2432761633, 2432860273, 2433791593,
2434964321, 2434974433, 2435091221, 2436691321, 2437907779, 2438778413, 2442050353, 2442454561, 2443708961, 2444950561,
2448039497, 2448374689, 2453473049, 2454285751, 2456536681, 2457846161, 2463713281, 2471205361, 2473120961, 2473189441,
2473823353, 2474308069, 2474676949, 2476283239, 2477814193, 2478643907, 2480147521, 2480343553, 2482435981, 2482682131,
2484408301, 2486017249, 2488420801, 2488591117, 2492480233, 2494660033, 2494984321, 2495834329, 2499327041, 2501012599,
2501771329, 2502525637, 2504008609, 2506529257, 2506733189, 2507121037, 2508178843, 2513230891, 2516684801, 2519297089,
2525070241, 2526566041, 2528291341, 2529410281, 2529827821, 2529854713, 2530351561, 2532630787, 2533465661, 2533797017,
2535516173, 2537105761, 2539406281, 2539736257, 2540469901, 2541660367, 2542479481, 2544590161, 2545934077, 2548051801,
2550139253, 2550780277, 2551365769, 2552418761, 2553272929, 2555391481, 2561945401, 2564536201, 2565186137, 2570087521,
2571180247, 2575060949, 2575737361, 2577345541, 2582092189, 2582246701, 2582952769, 2583322381, 2584460701, 2588054401,
2588582089, 2590663681, 2593065721, 2595276353, 2597289241, 2597294701, 2598933481, 2600611861, 2602343521, 2602378721,
2604465013, 2604803701, 2611122229, 2611461529, 2613382201, 2614688801, 2616180821, 2617563031, 2621080741, 2621977627,
2622993661, 2624549929, 2625903601, 2626783921, 2627284987, 2630643401, 2632605049, 2634284801, 2634804481, 2634820813,
2638067881, 2639099233, 2642159809, 2642582251, 2646751249, 2646790033, 2648662777, 2649907201, 2650820329, 2651507713,
2654716321, 2656494271, 2658630913, 2658696301, 2659265701, 2668095181, 2668469431, 2670972949, 2672605657, 2672651521,
2676053333, 2677147201, 2677821121, 2678785621, 2681041843, 2682823681, 2683742491, 2684284441, 2687655169, 2688124001,
2689427281, 2690408533, 2690867401, 2693739751, 2695115473, 2700818017, 2700891839, 2701878941, 2704957909, 2706863833,
2707661501, 2716157989, 2716275007, 2717428033, 2719319513, 2721666817, 2721721939, 2723859001, 2725357249, 2733156029,
2736316301, 2738184697, 2740336561, 2744329909, 2746021741, 2753333227, 2753538001, 2759392633, 2765323397, 2766006253,
2767672189, 2769080161, 2769602333, 2774295577, 2777887297, 2778304273, 2779477741, 2781117721, 2781226477, 2786028337,
2787998641, 2789218909, 2800352011, 2805762961, 2809635901, 2812672981, 2814748201, 2823570433, 2824256377, 2824804693,
2824854913, 2828205397, 2832384133, 2832743713, 2837697773, 2837917633, 2840634109, 2840871041, 2841190381, 2847894377,
2848466281, 2848722131, 2855046421, 2855071801, 2855512909, 2862066481, 2865483601, 2866005139, 2866527841, 2870377309,
2871536561, 2872527733, 2872948321, 2874382853, 2877769501, 2881429741, 2882370481, 2885594497, 2887955533, 2890316801,
2890414873, 2892426029, 2894667781, 2895004927, 2899294889, 2903776129, 2915953633, 2916247819, 2918295451, 2920691161,
2923042141, 2924158001, 2929062533, 2929106753, 2930831641, 2931708097, 2932327549, 2936227603, 2936958181, 2941174897,
2941343633, 2944555681, 2944677961, 2945208001, 2945549881, 2951136343, 2956724317, 2957320351, 2965700233, 2967053953,
2968206601, 2974506841, 2975377429, 2976930001, 2978766341, 2980689601, 2986025677, 2987414977, 2990152901, 2993462713,
2993495041, 2994098281, 2994415201, 2998202353, 2998919873, 3000688381, 3001561441, 3002647829, 3004443679, 3009628301,
3011421841, 3014101261, 3015502181, 3016957381, 3017444761, 3018147217, 3018576689, 3019916461, 3025350343, 3026575553,
3028586471, 3030393901, 3033332641, 3034402681, 3034817209, 3035375047, 3036079729, 3037295801, 3037781251, 3038880473,
3039681457, 3041984353, 3042630533, 3048159841, 3050190163, 3056100623, 3056160929, 3057886591, 3058670677, 3059397793,
3063685633, 3065998717, 3076505209, 3077122133, 3079496551, 3082054697, 3082068013, 3083053387, 3083537689, 3083884651,
3088408429, 3089013313, 3091019777, 3094763851, 3099670657, 3103800701, 3112974481, 3114125071, 3115667521, 3120445697,
3122287981, 3129914881, 3133899409, 3135040133, 3143282221, 3145410761, 3150972917, 3156599161, 3156643141, 3157579861,
3163106953, 3166504273, 3167442721, 3170262409, 3172658653, 3175204531, 3175255717, 3178375201, 3181356263, 3181391641,
3182606857, 3182655361, 3182891401, 3185472001, 3187035113, 3187421077, 3187939921, 3196397821, 3196431829, 3197565001,
3197632441, 3197911001, 3197911741, 3199164901, 3205663921, 3207297773, 3208902491, 3212465437, 3215031751, 3217412881,
3219808411, 3221580281, 3222693421, 3224143441, 3225081473, 3227082823, 3227209057, 3229131137, 3233558021, 3237992101,
3242533897, 3248236309, 3250348417, 3250700737, 3252148621, 3257334541, 3258647809, 3258892801, 3261114601, 3263097641,
3263568901, 3263626957, 3264820001, 3265122451, 3267417677, 3268506541, 3268841941, 3270933121, 3271999249, 3272030401,
3272702497, 3274264033, 3275671969, 3276075709, 3277047649, 3278640289, 3280067129, 3282974857, 3287174129, 3288757249,
3295362727, 3296403601, 3299246833, 3302322241, 3304307341, 3305829073, 3306686659, 3306957593, 3310858777, 3312489577,
3312536569, 3313196881, 3315139717, 3320669437, 3323308501, 3323590463, 3323829169, 3328354801, 3332800021, 3334350781,
3340214413, 3342005633, 3344191241, 3346172189, 3347908801, 3349218881, 3350993969, 3352091557, 3355382857, 3355953001,
3357417181, 3359737921, 3360511981, 3369139201, 3371024521, 3371452921, 3371693063, 3372667121, 3373086601, 3381052177,
3381901921, 3385842877, 3386603221, 3387014401, 3387487351, 3389030261, 3395091311, 3399205591, 3399890413, 3402234749,
3407609221, 3407772817, 3407952169, 3408135121, 3409339393, 3411250081, 3411574801, 3411829693, 3412575097, 3415379701,
3415832137, 3417522841, 3420143941, 3421845001, 3423222757, 3423580481, 3427050673, 3428133103, 3429457921, 3429982081,
3430804297, 3432695921, 3432997537, 3433458073, 3434575327, 3435973837, 3440195713, 3443704261, 3449768513, 3450717901,
3453900913, 3458257741, 3461861761, 3463907761, 3464236901, 3466158361, 3470716657, 3474335437, 3480174001, 3482161261,
3485747521, 3489958697, 3491763493, 3492178873, 3492883081, 3493262761, 3497607433, 3504132113, 3512030497, 3512291021,
3512369857, 3513604657, 3516565057, 3519318721, 3524086333, 3525088961, 3529119361, 3529864391, 3532687201, 3533662129,
3533856913, 3538213381, 3542303047, 3543203333, 3548378341, 3549286001, 3549988261, 3552158521, 3553567057, 3557646401,
3562963973, 3563340457, 3566428301, 3574891757, 3582711841, 3583249921, 3583604161, 3584800801, 3586833253, 3587553971,
3589937261, 3590409439, 3593276353, 3594110081, 3596491907, 3596815169, 3598772761, 3602006101, 3605151241, 3611571121,
3612298321, 3612825221, 3614770573, 3616574081, 3620631169, 3628526287, 3630596257, 3631828481, 3632452741, 3635993089,
3649116277, 3649965281, 3650158849, 3651572609, 3656355841, 3658730893, 3662387977, 3662503093, 3663084541, 3668926801,
3669587533, 3672754633, 3677180797, 3679657997, 3682471321, 3685647701, 3685775741, 3692307161, 3695628133, 3697278427,
3700801861, 3705582073, 3705623281, 3708123301, 3708905341, 3709626961, 3712887289, 3713287801, 3713448769, 3718226401,
3721486081, 3723410161, 3723699373, 3725016749, 3727828501, 3729097633, 3733761739, 3736293461, 3745192001, 3746101189,
3749383681, 3751554581, 3751782737, 3754680403, 3756668401, 3759781369, 3760622689, 3760896133, 3762110881, 3767640601,
3773061337, 3774337201, 3784123501, 3787491457, 3798040471, 3798626833, 3799111681, 3800084401, 3805699501, 3807112123,
3807308269, 3807749821, 3809018947, 3813919453, 3817561777, 3817706621, 3821233121, 3827035237, 3832807681, 3833208961,
3842941741, 3846174151, 3846532801, 3847106803, 3850058689, 3852800033, 3863326897, 3865604023, 3867183937, 3874471147,
3874523017, 3875096893, 3875965417, 3886515361, 3886643801, 3887423437, 3887635753, 3891892421, 3891919417, 3894053311,
3896079281, 3897241129, 3897869201, 3898906129, 3900327241, 3903711841, 3905533721, 3905876501, 3907577521, 3907752241,
3912174421, 3914880337, 3914923211, 3915467341, 3915604421, 3915921241, 3918227437, 3922321561, 3926912669, 3929293061,
3934940833, 3935864017, 3936123601, 3945165841, 3947233201, 3947383201, 3953408801, 3953949421, 3955572001, 3958597301,
3958930441, 3959578801, 3960728641, 3962037061, 3966350203, 3967343161, 3971095301, 3973556837, 3979485931, 3982017601,
3987528793, 3987960913, 3991124341, 3992697997, 3997536427, 4005660961, 4007365741, 4011996871, 4015548769, 4017684529,
4018283501, 4020144133, 4026822577, 4027012021, 4027518961, 4028465873, 4028771849, 4031223841, 4034969401, 4034993269,
4035498409, 4036395581, 4042538497, 4044601751, 4044884689, 4048493983, 4053267217, 4054039841, 4057195309, 4058433931,
4059776533, 4060942381, 4061009971, 4064633821, 4067039461, 4067887501, 4068671881, 4071644893, 4075241633, 4075721921,
4076009857, 4079665633, 4079682361, 4083376067, 4085074909, 4088147617, 4088838913, 4092929149, 4098258707, 4099180801,
4100934241, 4103745689, 4105691393, 4108970251, 4109461709, 4109711581, 4110320663, 4113013141, 4115891893, 4117058221,
4117447441, 4121286907, 4127050621, 4129914673, 4133928761, 4135847101, 4136916001, 4137262541, 4138838401, 4139015987,
4150174393, 4155375349, 4157008813, 4162880401, 4166032873, 4183664101, 4185636781, 4186561633, 4187360341, 4191864013,
4192060699, 4195843037, 4196323561, 4204344601, 4206006229, 4206295433, 4212105409, 4215885697, 4218900001, 4220122321,
4232966251, 4234224601, 4237212061, 4243744201, 4244022301, 4244663651, 4247990917, 4250920459, 4251904273, 4255695013,
4257003353, 4261352869, 4271267333, 4275011401, 4277526901, 4278305651, 4282867213, 4285148981, 4293088801, 4294901761,
}
primes16 = [65536]byte{
2, 1, 1, 2, 1, 2, 1, 4, 3, 2, // 0-9
1, 2, 1, 4, 3, 2, 1, 2, 1, 4, // 10-19
3, 2, 1, 6, 5, 4, 3, 2, 1, 2, // 20-29
1, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 30-39
1, 2, 1, 4, 3, 2, 1, 6, 5, 4, // 40-49
3, 2, 1, 6, 5, 4, 3, 2, 1, 2, // 50-59
1, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 60-69
1, 2, 1, 6, 5, 4, 3, 2, 1, 4, // 70-79
3, 2, 1, 6, 5, 4, 3, 2, 1, 8, // 80-89
7, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 90-99
1, 2, 1, 4, 3, 2, 1, 2, 1, 4, // 100-109
3, 2, 1, 14, 13, 12, 11, 10, 9, 8, // 110-119
7, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 120-129
1, 6, 5, 4, 3, 2, 1, 2, 1, 10, // 130-139
9, 8, 7, 6, 5, 4, 3, 2, 1, 2, // 140-149
1, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 150-159
3, 2, 1, 4, 3, 2, 1, 6, 5, 4, // 160-169
3, 2, 1, 6, 5, 4, 3, 2, 1, 2, // 170-179
1, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 180-189
1, 2, 1, 4, 3, 2, 1, 2, 1, 12, // 190-199
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 200-209
1, 12, 11, 10, 9, 8, 7, 6, 5, 4, // 210-219
3, 2, 1, 4, 3, 2, 1, 2, 1, 4, // 220-229
3, 2, 1, 6, 5, 4, 3, 2, 1, 2, // 230-239
1, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 240-249
1, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 250-259
3, 2, 1, 6, 5, 4, 3, 2, 1, 2, // 260-269
1, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 270-279
1, 2, 1, 10, 9, 8, 7, 6, 5, 4, // 280-289
3, 2, 1, 14, 13, 12, 11, 10, 9, 8, // 290-299
7, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 300-309
1, 2, 1, 4, 3, 2, 1, 14, 13, 12, // 310-319
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 320-329
1, 6, 5, 4, 3, 2, 1, 10, 9, 8, // 330-339
7, 6, 5, 4, 3, 2, 1, 2, 1, 4, // 340-349
3, 2, 1, 6, 5, 4, 3, 2, 1, 8, // 350-359
7, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 360-369
3, 2, 1, 6, 5, 4, 3, 2, 1, 4, // 370-379
3, 2, 1, 6, 5, 4, 3, 2, 1, 8, // 380-389
7, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 390-399
1, 8, 7, 6, 5, 4, 3, 2, 1, 10, // 400-409
9, 8, 7, 6, 5, 4, 3, 2, 1, 2, // 410-419
1, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 420-429
1, 2, 1, 6, 5, 4, 3, 2, 1, 4, // 430-439
3, 2, 1, 6, 5, 4, 3, 2, 1, 8, // 440-449
7, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 450-459
1, 2, 1, 4, 3, 2, 1, 12, 11, 10, // 460-469
9, 8, 7, 6, 5, 4, 3, 2, 1, 8, // 470-479
7, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 480-489
1, 8, 7, 6, 5, 4, 3, 2, 1, 4, // 490-499
3, 2, 1, 6, 5, 4, 3, 2, 1, 12, // 500-509
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 510-519
1, 2, 1, 18, 17, 16, 15, 14, 13, 12, // 520-529
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 530-539
1, 6, 5, 4, 3, 2, 1, 10, 9, 8, // 540-549
7, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 550-559
3, 2, 1, 6, 5, 4, 3, 2, 1, 2, // 560-569
1, 6, 5, 4, 3, 2, 1, 10, 9, 8, // 570-579
7, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 580-589
3, 2, 1, 6, 5, 4, 3, 2, 1, 2, // 590-599
1, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 600-609
3, 2, 1, 4, 3, 2, 1, 2, 1, 12, // 610-619
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 620-629
1, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 630-639
1, 2, 1, 4, 3, 2, 1, 6, 5, 4, // 640-649
3, 2, 1, 6, 5, 4, 3, 2, 1, 2, // 650-659
1, 12, 11, 10, 9, 8, 7, 6, 5, 4, // 660-669
3, 2, 1, 4, 3, 2, 1, 6, 5, 4, // 670-679
3, 2, 1, 8, 7, 6, 5, 4, 3, 2, // 680-689
1, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 690-699
1, 8, 7, 6, 5, 4, 3, 2, 1, 10, // 700-709
9, 8, 7, 6, 5, 4, 3, 2, 1, 8, // 710-719
7, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 720-729
3, 2, 1, 6, 5, 4, 3, 2, 1, 4, // 730-739
3, 2, 1, 8, 7, 6, 5, 4, 3, 2, // 740-749
1, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 750-759
1, 8, 7, 6, 5, 4, 3, 2, 1, 4, // 760-769
3, 2, 1, 14, 13, 12, 11, 10, 9, 8, // 770-779
7, 6, 5, 4, 3, 2, 1, 10, 9, 8, // 780-789
7, 6, 5, 4, 3, 2, 1, 12, 11, 10, // 790-799
9, 8, 7, 6, 5, 4, 3, 2, 1, 2, // 800-809
1, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 810-819
1, 2, 1, 4, 3, 2, 1, 2, 1, 10, // 820-829
9, 8, 7, 6, 5, 4, 3, 2, 1, 14, // 830-839
13, 12, 11, 10, 9, 8, 7, 6, 5, 4, // 840-849
3, 2, 1, 4, 3, 2, 1, 2, 1, 4, // 850-859
3, 2, 1, 14, 13, 12, 11, 10, 9, 8, // 860-869
7, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 870-879
1, 2, 1, 4, 3, 2, 1, 20, 19, 18, // 880-889
17, 16, 15, 14, 13, 12, 11, 10, 9, 8, // 890-899
7, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 900-909
1, 8, 7, 6, 5, 4, 3, 2, 1, 10, // 910-919
9, 8, 7, 6, 5, 4, 3, 2, 1, 8, // 920-929
7, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 930-939
1, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 940-949
3, 2, 1, 14, 13, 12, 11, 10, 9, 8, // 950-959
7, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 960-969
1, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 970-979
3, 2, 1, 8, 7, 6, 5, 4, 3, 2, // 980-989
1, 6, 5, 4, 3, 2, 1, 12, 11, 10, // 990-999
9, 8, 7, 6, 5, 4, 3, 2, 1, 4, // 1000-1009
3, 2, 1, 6, 5, 4, 3, 2, 1, 2, // 1010-1019
1, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 1020-1029
1, 2, 1, 6, 5, 4, 3, 2, 1, 10, // 1030-1039
9, 8, 7, 6, 5, 4, 3, 2, 1, 2, // 1040-1049
1, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 1050-1059
1, 2, 1, 6, 5, 4, 3, 2, 1, 18, // 1060-1069
17, 16, 15, 14, 13, 12, 11, 10, 9, 8, // 1070-1079
7, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 1080-1089
1, 2, 1, 4, 3, 2, 1, 6, 5, 4, // 1090-1099
3, 2, 1, 6, 5, 4, 3, 2, 1, 8, // 1100-1109
7, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 1110-1119
3, 2, 1, 6, 5, 4, 3, 2, 1, 22, // 1120-1129
21, 20, 19, 18, 17, 16, 15, 14, 13, 12, // 1130-1139
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 1140-1149
1, 2, 1, 10, 9, 8, 7, 6, 5, 4, // 1150-1159
3, 2, 1, 8, 7, 6, 5, 4, 3, 2, // 1160-1169
1, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 1170-1179
1, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 1180-1189
3, 2, 1, 8, 7, 6, 5, 4, 3, 2, // 1190-1199
1, 12, 11, 10, 9, 8, 7, 6, 5, 4, // 1200-1209
3, 2, 1, 4, 3, 2, 1, 6, 5, 4, // 1210-1219
3, 2, 1, 6, 5, 4, 3, 2, 1, 2, // 1220-1229
1, 6, 5, 4, 3, 2, 1, 12, 11, 10, // 1230-1239
9, 8, 7, 6, 5, 4, 3, 2, 1, 10, // 1240-1249
9, 8, 7, 6, 5, 4, 3, 2, 1, 18, // 1250-1259
17, 16, 15, 14, 13, 12, 11, 10, 9, 8, // 1260-1269
7, 6, 5, 4, 3, 2, 1, 2, 1, 4, // 1270-1279
3, 2, 1, 6, 5, 4, 3, 2, 1, 2, // 1280-1289
1, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 1290-1299
1, 2, 1, 4, 3, 2, 1, 12, 11, 10, // 1300-1309
9, 8, 7, 6, 5, 4, 3, 2, 1, 2, // 1310-1319
1, 6, 5, 4, 3, 2, 1, 34, 33, 32, // 1320-1329
31, 30, 29, 28, 27, 26, 25, 24, 23, 22, // 1330-1339
21, 20, 19, 18, 17, 16, 15, 14, 13, 12, // 1340-1349
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 1350-1359
1, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 1360-1369
3, 2, 1, 8, 7, 6, 5, 4, 3, 2, // 1370-1379
1, 18, 17, 16, 15, 14, 13, 12, 11, 10, // 1380-1389
9, 8, 7, 6, 5, 4, 3, 2, 1, 10, // 1390-1399
9, 8, 7, 6, 5, 4, 3, 2, 1, 14, // 1400-1409
13, 12, 11, 10, 9, 8, 7, 6, 5, 4, // 1410-1419
3, 2, 1, 4, 3, 2, 1, 2, 1, 4, // 1420-1429
3, 2, 1, 6, 5, 4, 3, 2, 1, 8, // 1430-1439
7, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 1440-1449
1, 2, 1, 6, 5, 4, 3, 2, 1, 12, // 1450-1459
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 1460-1469
1, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 1470-1479
1, 2, 1, 4, 3, 2, 1, 2, 1, 4, // 1480-1489
3, 2, 1, 6, 5, 4, 3, 2, 1, 12, // 1490-1499
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 1500-1509
1, 12, 11, 10, 9, 8, 7, 6, 5, 4, // 1510-1519
3, 2, 1, 8, 7, 6, 5, 4, 3, 2, // 1520-1529
1, 12, 11, 10, 9, 8, 7, 6, 5, 4, // 1530-1539
3, 2, 1, 6, 5, 4, 3, 2, 1, 4, // 1540-1549
3, 2, 1, 6, 5, 4, 3, 2, 1, 8, // 1550-1559
7, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 1560-1569
1, 8, 7, 6, 5, 4, 3, 2, 1, 4, // 1570-1579
3, 2, 1, 14, 13, 12, 11, 10, 9, 8, // 1580-1589
7, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 1590-1599
1, 6, 5, 4, 3, 2, 1, 2, 1, 4, // 1600-1609
3, 2, 1, 6, 5, 4, 3, 2, 1, 2, // 1610-1619
1, 6, 5, 4, 3, 2, 1, 10, 9, 8, // 1620-1629
7, 6, 5, 4, 3, 2, 1, 20, 19, 18, // 1630-1639
17, 16, 15, 14, 13, 12, 11, 10, 9, 8, // 1640-1649
7, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 1650-1659
3, 2, 1, 4, 3, 2, 1, 2, 1, 24, // 1660-1669
23, 22, 21, 20, 19, 18, 17, 16, 15, 14, // 1670-1679
13, 12, 11, 10, 9, 8, 7, 6, 5, 4, // 1680-1689
3, 2, 1, 4, 3, 2, 1, 2, 1, 10, // 1690-1699
9, 8, 7, 6, 5, 4, 3, 2, 1, 12, // 1700-1709
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 1710-1719
1, 2, 1, 10, 9, 8, 7, 6, 5, 4, // 1720-1729
3, 2, 1, 8, 7, 6, 5, 4, 3, 2, // 1730-1739
1, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 1740-1749
3, 2, 1, 6, 5, 4, 3, 2, 1, 18, // 1750-1759
17, 16, 15, 14, 13, 12, 11, 10, 9, 8, // 1760-1769
7, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 1770-1779
3, 2, 1, 4, 3, 2, 1, 2, 1, 12, // 1780-1789
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 1790-1799
1, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 1800-1809
1, 12, 11, 10, 9, 8, 7, 6, 5, 4, // 1810-1819
3, 2, 1, 8, 7, 6, 5, 4, 3, 2, // 1820-1829
1, 16, 15, 14, 13, 12, 11, 10, 9, 8, // 1830-1839
7, 6, 5, 4, 3, 2, 1, 14, 13, 12, // 1840-1849
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 1850-1859
1, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 1860-1869
1, 2, 1, 4, 3, 2, 1, 2, 1, 10, // 1870-1879
9, 8, 7, 6, 5, 4, 3, 2, 1, 12, // 1880-1889
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 1890-1899
1, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 1900-1909
3, 2, 1, 18, 17, 16, 15, 14, 13, 12, // 1910-1919
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 1920-1929
1, 2, 1, 16, 15, 14, 13, 12, 11, 10, // 1930-1939
9, 8, 7, 6, 5, 4, 3, 2, 1, 2, // 1940-1949
1, 22, 21, 20, 19, 18, 17, 16, 15, 14, // 1950-1959
13, 12, 11, 10, 9, 8, 7, 6, 5, 4, // 1960-1969
3, 2, 1, 6, 5, 4, 3, 2, 1, 8, // 1970-1979
7, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 1980-1989
3, 2, 1, 4, 3, 2, 1, 2, 1, 4, // 1990-1999
3, 2, 1, 8, 7, 6, 5, 4, 3, 2, // 2000-2009
1, 6, 5, 4, 3, 2, 1, 10, 9, 8, // 2010-2019
7, 6, 5, 4, 3, 2, 1, 2, 1, 10, // 2020-2029
9, 8, 7, 6, 5, 4, 3, 2, 1, 14, // 2030-2039
13, 12, 11, 10, 9, 8, 7, 6, 5, 4, // 2040-2049
3, 2, 1, 10, 9, 8, 7, 6, 5, 4, // 2050-2059
3, 2, 1, 6, 5, 4, 3, 2, 1, 12, // 2060-2069
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 2070-2079
1, 2, 1, 4, 3, 2, 1, 2, 1, 10, // 2080-2089
9, 8, 7, 6, 5, 4, 3, 2, 1, 12, // 2090-2099
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 2100-2109
1, 2, 1, 16, 15, 14, 13, 12, 11, 10, // 2110-2119
9, 8, 7, 6, 5, 4, 3, 2, 1, 2, // 2120-2129
1, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 2130-2139
1, 2, 1, 10, 9, 8, 7, 6, 5, 4, // 2140-2149
3, 2, 1, 8, 7, 6, 5, 4, 3, 2, // 2150-2159
1, 18, 17, 16, 15, 14, 13, 12, 11, 10, // 2160-2169
9, 8, 7, 6, 5, 4, 3, 2, 1, 24, // 2170-2179
23, 22, 21, 20, 19, 18, 17, 16, 15, 14, // 2180-2189
13, 12, 11, 10, 9, 8, 7, 6, 5, 4, // 2190-2199
3, 2, 1, 4, 3, 2, 1, 6, 5, 4, // 2200-2209
3, 2, 1, 8, 7, 6, 5, 4, 3, 2, // 2210-2219
1, 16, 15, 14, 13, 12, 11, 10, 9, 8, // 2220-2229
7, 6, 5, 4, 3, 2, 1, 2, 1, 4, // 2230-2239
3, 2, 1, 8, 7, 6, 5, 4, 3, 2, // 2240-2249
1, 16, 15, 14, 13, 12, 11, 10, 9, 8, // 2250-2259
7, 6, 5, 4, 3, 2, 1, 2, 1, 4, // 2260-2269
3, 2, 1, 8, 7, 6, 5, 4, 3, 2, // 2270-2279
1, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 2280-2289
3, 2, 1, 4, 3, 2, 1, 12, 11, 10, // 2290-2299
9, 8, 7, 6, 5, 4, 3, 2, 1, 2, // 2300-2309
1, 22, 21, 20, 19, 18, 17, 16, 15, 14, // 2310-2319
13, 12, 11, 10, 9, 8, 7, 6, 5, 4, // 2320-2329
3, 2, 1, 6, 5, 4, 3, 2, 1, 2, // 2330-2339
1, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 2340-2349
1, 6, 5, 4, 3, 2, 1, 14, 13, 12, // 2350-2359
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 2360-2369
1, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 2370-2379
1, 2, 1, 6, 5, 4, 3, 2, 1, 4, // 2380-2389
3, 2, 1, 6, 5, 4, 3, 2, 1, 12, // 2390-2399
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 2400-2409
1, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 2410-2419
3, 2, 1, 14, 13, 12, 11, 10, 9, 8, // 2420-2429
7, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 2430-2439
1, 6, 5, 4, 3, 2, 1, 12, 11, 10, // 2440-2449
9, 8, 7, 6, 5, 4, 3, 2, 1, 8, // 2450-2459
7, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 2460-2469
3, 2, 1, 4, 3, 2, 1, 26, 25, 24, // 2470-2479
23, 22, 21, 20, 19, 18, 17, 16, 15, 14, // 2480-2489
13, 12, 11, 10, 9, 8, 7, 6, 5, 4, // 2490-2499
3, 2, 1, 18, 17, 16, 15, 14, 13, 12, // 2500-2509
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 2510-2519
1, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 2520-2529
1, 8, 7, 6, 5, 4, 3, 2, 1, 4, // 2530-2539
3, 2, 1, 6, 5, 4, 3, 2, 1, 2, // 2540-2549
1, 6, 5, 4, 3, 2, 1, 22, 21, 20, // 2550-2559
19, 18, 17, 16, 15, 14, 13, 12, 11, 10, // 2560-2569
9, 8, 7, 6, 5, 4, 3, 2, 1, 12, // 2570-2579
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 2580-2589
1, 2, 1, 16, 15, 14, 13, 12, 11, 10, // 2590-2599
9, 8, 7, 6, 5, 4, 3, 2, 1, 8, // 2600-2609
7, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 2610-2619
1, 12, 11, 10, 9, 8, 7, 6, 5, 4, // 2620-2629
3, 2, 1, 14, 13, 12, 11, 10, 9, 8, // 2630-2639
7, 6, 5, 4, 3, 2, 1, 10, 9, 8, // 2640-2649
7, 6, 5, 4, 3, 2, 1, 2, 1, 4, // 2650-2659
3, 2, 1, 8, 7, 6, 5, 4, 3, 2, // 2660-2669
1, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 2670-2679
3, 2, 1, 4, 3, 2, 1, 2, 1, 4, // 2680-2689
3, 2, 1, 6, 5, 4, 3, 2, 1, 8, // 2690-2699
7, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 2700-2709
1, 2, 1, 6, 5, 4, 3, 2, 1, 10, // 2710-2719
9, 8, 7, 6, 5, 4, 3, 2, 1, 2, // 2720-2729
1, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 2730-2739
1, 8, 7, 6, 5, 4, 3, 2, 1, 4, // 2740-2749
3, 2, 1, 14, 13, 12, 11, 10, 9, 8, // 2750-2759
7, 6, 5, 4, 3, 2, 1, 10, 9, 8, // 2760-2769
7, 6, 5, 4, 3, 2, 1, 12, 11, 10, // 2770-2779
9, 8, 7, 6, 5, 4, 3, 2, 1, 2, // 2780-2789
1, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 2790-2799
1, 2, 1, 16, 15, 14, 13, 12, 11, 10, // 2800-2809
9, 8, 7, 6, 5, 4, 3, 2, 1, 14, // 2810-2819
13, 12, 11, 10, 9, 8, 7, 6, 5, 4, // 2820-2829
3, 2, 1, 4, 3, 2, 1, 6, 5, 4, // 2830-2839
3, 2, 1, 8, 7, 6, 5, 4, 3, 2, // 2840-2849
1, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 2850-2859
1, 18, 17, 16, 15, 14, 13, 12, 11, 10, // 2860-2869
9, 8, 7, 6, 5, 4, 3, 2, 1, 8, // 2870-2879
7, 6, 5, 4, 3, 2, 1, 10, 9, 8, // 2880-2889
7, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 2890-2899
3, 2, 1, 6, 5, 4, 3, 2, 1, 8, // 2900-2909
7, 6, 5, 4, 3, 2, 1, 10, 9, 8, // 2910-2919
7, 6, 5, 4, 3, 2, 1, 12, 11, 10, // 2920-2929
9, 8, 7, 6, 5, 4, 3, 2, 1, 14, // 2930-2939
13, 12, 11, 10, 9, 8, 7, 6, 5, 4, // 2940-2949
3, 2, 1, 4, 3, 2, 1, 6, 5, 4, // 2950-2959
3, 2, 1, 6, 5, 4, 3, 2, 1, 2, // 2960-2969
1, 28, 27, 26, 25, 24, 23, 22, 21, 20, // 2970-2979
19, 18, 17, 16, 15, 14, 13, 12, 11, 10, // 2980-2989
9, 8, 7, 6, 5, 4, 3, 2, 1, 2, // 2990-2999
1, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 3000-3009
1, 8, 7, 6, 5, 4, 3, 2, 1, 4, // 3010-3019
3, 2, 1, 14, 13, 12, 11, 10, 9, 8, // 3020-3029
7, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 3030-3039
1, 8, 7, 6, 5, 4, 3, 2, 1, 12, // 3040-3049
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 3050-3059
1, 6, 5, 4, 3, 2, 1, 12, 11, 10, // 3060-3069
9, 8, 7, 6, 5, 4, 3, 2, 1, 4, // 3070-3079
3, 2, 1, 6, 5, 4, 3, 2, 1, 20, // 3080-3089
19, 18, 17, 16, 15, 14, 13, 12, 11, 10, // 3090-3099
9, 8, 7, 6, 5, 4, 3, 2, 1, 10, // 3100-3109
9, 8, 7, 6, 5, 4, 3, 2, 1, 2, // 3110-3119
1, 16, 15, 14, 13, 12, 11, 10, 9, 8, // 3120-3129
7, 6, 5, 4, 3, 2, 1, 26, 25, 24, // 3130-3139
23, 22, 21, 20, 19, 18, 17, 16, 15, 14, // 3140-3149
13, 12, 11, 10, 9, 8, 7, 6, 5, 4, // 3150-3159
3, 2, 1, 4, 3, 2, 1, 2, 1, 12, // 3160-3169
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 3170-3179
1, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 3180-3189
1, 12, 11, 10, 9, 8, 7, 6, 5, 4, // 3190-3199
3, 2, 1, 6, 5, 4, 3, 2, 1, 8, // 3200-3209
7, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 3210-3219
1, 8, 7, 6, 5, 4, 3, 2, 1, 22, // 3220-3229
21, 20, 19, 18, 17, 16, 15, 14, 13, 12, // 3230-3239
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 3240-3249
1, 2, 1, 4, 3, 2, 1, 2, 1, 12, // 3250-3259
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 3260-3269
1, 28, 27, 26, 25, 24, 23, 22, 21, 20, // 3270-3279
19, 18, 17, 16, 15, 14, 13, 12, 11, 10, // 3280-3289
9, 8, 7, 6, 5, 4, 3, 2, 1, 2, // 3290-3299
1, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 3300-3309
3, 2, 1, 6, 5, 4, 3, 2, 1, 4, // 3310-3319
3, 2, 1, 6, 5, 4, 3, 2, 1, 2, // 3320-3329
1, 12, 11, 10, 9, 8, 7, 6, 5, 4, // 3330-3339
3, 2, 1, 4, 3, 2, 1, 12, 11, 10, // 3340-3349
9, 8, 7, 6, 5, 4, 3, 2, 1, 2, // 3350-3359
1, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 3360-3369
1, 2, 1, 16, 15, 14, 13, 12, 11, 10, // 3370-3379
9, 8, 7, 6, 5, 4, 3, 2, 1, 2, // 3380-3389
1, 16, 15, 14, 13, 12, 11, 10, 9, 8, // 3390-3399
7, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 3400-3409
3, 2, 1, 20, 19, 18, 17, 16, 15, 14, // 3410-3419
13, 12, 11, 10, 9, 8, 7, 6, 5, 4, // 3420-3429
3, 2, 1, 16, 15, 14, 13, 12, 11, 10, // 3430-3439
9, 8, 7, 6, 5, 4, 3, 2, 1, 8, // 3440-3449
7, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 3450-3459
1, 2, 1, 4, 3, 2, 1, 2, 1, 22, // 3460-3469
21, 20, 19, 18, 17, 16, 15, 14, 13, 12, // 3470-3479
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 3480-3489
1, 8, 7, 6, 5, 4, 3, 2, 1, 12, // 3490-3499
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 3500-3509
1, 6, 5, 4, 3, 2, 1, 10, 9, 8, // 3510-3519
7, 6, 5, 4, 3, 2, 1, 2, 1, 4, // 3520-3529
3, 2, 1, 6, 5, 4, 3, 2, 1, 2, // 3530-3539
1, 6, 5, 4, 3, 2, 1, 10, 9, 8, // 3540-3549
7, 6, 5, 4, 3, 2, 1, 2, 1, 12, // 3550-3559
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 3560-3569
1, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 3570-3579
1, 2, 1, 10, 9, 8, 7, 6, 5, 4, // 3580-3589
3, 2, 1, 14, 13, 12, 11, 10, 9, 8, // 3590-3599
7, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 3600-3609
3, 2, 1, 4, 3, 2, 1, 6, 5, 4, // 3610-3619
3, 2, 1, 8, 7, 6, 5, 4, 3, 2, // 3620-3629
1, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 3630-3639
3, 2, 1, 16, 15, 14, 13, 12, 11, 10, // 3640-3649
9, 8, 7, 6, 5, 4, 3, 2, 1, 12, // 3650-3659
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 3660-3669
1, 2, 1, 4, 3, 2, 1, 14, 13, 12, // 3670-3679
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 3680-3689
1, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 3690-3699
1, 8, 7, 6, 5, 4, 3, 2, 1, 10, // 3700-3709
9, 8, 7, 6, 5, 4, 3, 2, 1, 8, // 3710-3719
7, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 3720-3729
3, 2, 1, 6, 5, 4, 3, 2, 1, 22, // 3730-3739
21, 20, 19, 18, 17, 16, 15, 14, 13, 12, // 3740-3749
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 3750-3759
1, 6, 5, 4, 3, 2, 1, 2, 1, 10, // 3760-3769
9, 8, 7, 6, 5, 4, 3, 2, 1, 14, // 3770-3779
13, 12, 11, 10, 9, 8, 7, 6, 5, 4, // 3780-3789
3, 2, 1, 4, 3, 2, 1, 6, 5, 4, // 3790-3799
3, 2, 1, 18, 17, 16, 15, 14, 13, 12, // 3800-3809
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 3810-3819
1, 2, 1, 10, 9, 8, 7, 6, 5, 4, // 3820-3829
3, 2, 1, 14, 13, 12, 11, 10, 9, 8, // 3830-3839
7, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 3840-3849
1, 2, 1, 10, 9, 8, 7, 6, 5, 4, // 3850-3859
3, 2, 1, 14, 13, 12, 11, 10, 9, 8, // 3860-3869
7, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 3870-3879
1, 8, 7, 6, 5, 4, 3, 2, 1, 18, // 3880-3889
17, 16, 15, 14, 13, 12, 11, 10, 9, 8, // 3890-3899
7, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 3900-3909
1, 6, 5, 4, 3, 2, 1, 2, 1, 4, // 3910-3919
3, 2, 1, 6, 5, 4, 3, 2, 1, 2, // 3920-3929
1, 12, 11, 10, 9, 8, 7, 6, 5, 4, // 3930-3939
3, 2, 1, 4, 3, 2, 1, 20, 19, 18, // 3940-3949
17, 16, 15, 14, 13, 12, 11, 10, 9, 8, // 3950-3959
7, 6, 5, 4, 3, 2, 1, 22, 21, 20, // 3960-3969
19, 18, 17, 16, 15, 14, 13, 12, 11, 10, // 3970-3979
9, 8, 7, 6, 5, 4, 3, 2, 1, 12, // 3980-3989
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 3990-3999
1, 2, 1, 4, 3, 2, 1, 6, 5, 4, // 4000-4009
3, 2, 1, 6, 5, 4, 3, 2, 1, 2, // 4010-4019
1, 6, 5, 4, 3, 2, 1, 22, 21, 20, // 4020-4029
19, 18, 17, 16, 15, 14, 13, 12, 11, 10, // 4030-4039
9, 8, 7, 6, 5, 4, 3, 2, 1, 2, // 4040-4049
1, 6, 5, 4, 3, 2, 1, 16, 15, 14, // 4050-4059
13, 12, 11, 10, 9, 8, 7, 6, 5, 4, // 4060-4069
3, 2, 1, 6, 5, 4, 3, 2, 1, 12, // 4070-4079
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 4080-4089
1, 2, 1, 6, 5, 4, 3, 2, 1, 12, // 4090-4099
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 4100-4109
1, 16, 15, 14, 13, 12, 11, 10, 9, 8, // 4110-4119
7, 6, 5, 4, 3, 2, 1, 2, 1, 4, // 4120-4129
3, 2, 1, 6, 5, 4, 3, 2, 1, 14, // 4130-4139
13, 12, 11, 10, 9, 8, 7, 6, 5, 4, // 4140-4149
3, 2, 1, 4, 3, 2, 1, 2, 1, 18, // 4150-4159
17, 16, 15, 14, 13, 12, 11, 10, 9, 8, // 4160-4169
7, 6, 5, 4, 3, 2, 1, 24, 23, 22, // 4170-4179
21, 20, 19, 18, 17, 16, 15, 14, 13, 12, // 4180-4189
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 4190-4199
1, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 4200-4209
1, 6, 5, 4, 3, 2, 1, 2, 1, 10, // 4210-4219
9, 8, 7, 6, 5, 4, 3, 2, 1, 2, // 4220-4229
1, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 4230-4239
1, 2, 1, 10, 9, 8, 7, 6, 5, 4, // 4240-4249
3, 2, 1, 6, 5, 4, 3, 2, 1, 2, // 4250-4259
1, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 4260-4269
1, 2, 1, 10, 9, 8, 7, 6, 5, 4, // 4270-4279
3, 2, 1, 6, 5, 4, 3, 2, 1, 8, // 4280-4289
7, 6, 5, 4, 3, 2, 1, 30, 29, 28, // 4290-4299
27, 26, 25, 24, 23, 22, 21, 20, 19, 18, // 4300-4309
17, 16, 15, 14, 13, 12, 11, 10, 9, 8, // 4310-4319
7, 6, 5, 4, 3, 2, 1, 10, 9, 8, // 4320-4329
7, 6, 5, 4, 3, 2, 1, 2, 1, 10, // 4330-4339
9, 8, 7, 6, 5, 4, 3, 2, 1, 8, // 4340-4349
7, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 4350-4359
3, 2, 1, 10, 9, 8, 7, 6, 5, 4, // 4360-4369
3, 2, 1, 18, 17, 16, 15, 14, 13, 12, // 4370-4379
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 4380-4389
1, 6, 5, 4, 3, 2, 1, 12, 11, 10, // 4390-4399
9, 8, 7, 6, 5, 4, 3, 2, 1, 12, // 4400-4409
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 4410-4419
1, 2, 1, 18, 17, 16, 15, 14, 13, 12, // 4420-4429
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 4430-4439
1, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 4440-4449
1, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 4450-4459
3, 2, 1, 18, 17, 16, 15, 14, 13, 12, // 4460-4469
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 4470-4479
1, 2, 1, 10, 9, 8, 7, 6, 5, 4, // 4480-4489
3, 2, 1, 14, 13, 12, 11, 10, 9, 8, // 4490-4499
7, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 4500-4509
3, 2, 1, 4, 3, 2, 1, 2, 1, 4, // 4510-4519
3, 2, 1, 24, 23, 22, 21, 20, 19, 18, // 4520-4529
17, 16, 15, 14, 13, 12, 11, 10, 9, 8, // 4530-4539
7, 6, 5, 4, 3, 2, 1, 2, 1, 12, // 4540-4549
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 4550-4559
1, 6, 5, 4, 3, 2, 1, 16, 15, 14, // 4560-4569
13, 12, 11, 10, 9, 8, 7, 6, 5, 4, // 4570-4579
3, 2, 1, 8, 7, 6, 5, 4, 3, 2, // 4580-4589
1, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 4590-4599
3, 2, 1, 18, 17, 16, 15, 14, 13, 12, // 4600-4609
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 4610-4619
1, 16, 15, 14, 13, 12, 11, 10, 9, 8, // 4620-4629
7, 6, 5, 4, 3, 2, 1, 2, 1, 4, // 4630-4639
3, 2, 1, 6, 5, 4, 3, 2, 1, 2, // 4640-4649
1, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 4650-4659
3, 2, 1, 10, 9, 8, 7, 6, 5, 4, // 4660-4669
3, 2, 1, 6, 5, 4, 3, 2, 1, 12, // 4670-4679
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 4680-4689
1, 12, 11, 10, 9, 8, 7, 6, 5, 4, // 4690-4699
3, 2, 1, 18, 17, 16, 15, 14, 13, 12, // 4700-4709
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 4710-4719
1, 2, 1, 6, 5, 4, 3, 2, 1, 4, // 4720-4729
3, 2, 1, 18, 17, 16, 15, 14, 13, 12, // 4730-4739
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 4740-4749
1, 8, 7, 6, 5, 4, 3, 2, 1, 24, // 4750-4759
23, 22, 21, 20, 19, 18, 17, 16, 15, 14, // 4760-4769
13, 12, 11, 10, 9, 8, 7, 6, 5, 4, // 4770-4779
3, 2, 1, 4, 3, 2, 1, 2, 1, 4, // 4780-4789
3, 2, 1, 6, 5, 4, 3, 2, 1, 2, // 4790-4799
1, 12, 11, 10, 9, 8, 7, 6, 5, 4, // 4800-4809
3, 2, 1, 4, 3, 2, 1, 14, 13, 12, // 4810-4819
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 4820-4829
1, 30, 29, 28, 27, 26, 25, 24, 23, 22, // 4830-4839
21, 20, 19, 18, 17, 16, 15, 14, 13, 12, // 4840-4849
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 4850-4859
1, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 4860-4869
1, 6, 5, 4, 3, 2, 1, 12, 11, 10, // 4870-4879
9, 8, 7, 6, 5, 4, 3, 2, 1, 14, // 4880-4889
13, 12, 11, 10, 9, 8, 7, 6, 5, 4, // 4890-4899
3, 2, 1, 6, 5, 4, 3, 2, 1, 10, // 4900-4909
9, 8, 7, 6, 5, 4, 3, 2, 1, 12, // 4910-4919
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 4920-4929
1, 2, 1, 4, 3, 2, 1, 6, 5, 4, // 4930-4939
3, 2, 1, 8, 7, 6, 5, 4, 3, 2, // 4940-4949
1, 6, 5, 4, 3, 2, 1, 10, 9, 8, // 4950-4959
7, 6, 5, 4, 3, 2, 1, 2, 1, 4, // 4960-4969
3, 2, 1, 14, 13, 12, 11, 10, 9, 8, // 4970-4979
7, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 4980-4989
3, 2, 1, 6, 5, 4, 3, 2, 1, 4, // 4990-4999
3, 2, 1, 6, 5, 4, 3, 2, 1, 2, // 5000-5009
1, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 5010-5019
1, 2, 1, 16, 15, 14, 13, 12, 11, 10, // 5020-5029
9, 8, 7, 6, 5, 4, 3, 2, 1, 12, // 5030-5039
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 5040-5049
1, 8, 7, 6, 5, 4, 3, 2, 1, 18, // 5050-5059
17, 16, 15, 14, 13, 12, 11, 10, 9, 8, // 5060-5069
7, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 5070-5079
1, 6, 5, 4, 3, 2, 1, 12, 11, 10, // 5080-5089
9, 8, 7, 6, 5, 4, 3, 2, 1, 2, // 5090-5099
1, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 5100-5109
3, 2, 1, 6, 5, 4, 3, 2, 1, 28, // 5110-5119
27, 26, 25, 24, 23, 22, 21, 20, 19, 18, // 5120-5129
17, 16, 15, 14, 13, 12, 11, 10, 9, 8, // 5130-5139
7, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 5140-5149
3, 2, 1, 14, 13, 12, 11, 10, 9, 8, // 5150-5159
7, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 5160-5169
1, 8, 7, 6, 5, 4, 3, 2, 1, 10, // 5170-5179
9, 8, 7, 6, 5, 4, 3, 2, 1, 8, // 5180-5189
7, 6, 5, 4, 3, 2, 1, 12, 11, 10, // 5190-5199
9, 8, 7, 6, 5, 4, 3, 2, 1, 18, // 5200-5209
17, 16, 15, 14, 13, 12, 11, 10, 9, 8, // 5210-5219
7, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 5220-5229
1, 2, 1, 4, 3, 2, 1, 24, 23, 22, // 5230-5239
21, 20, 19, 18, 17, 16, 15, 14, 13, 12, // 5240-5249
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 5250-5259
1, 12, 11, 10, 9, 8, 7, 6, 5, 4, // 5260-5269
3, 2, 1, 6, 5, 4, 3, 2, 1, 2, // 5270-5279
1, 16, 15, 14, 13, 12, 11, 10, 9, 8, // 5280-5289
7, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 5290-5299
3, 2, 1, 6, 5, 4, 3, 2, 1, 14, // 5300-5309
13, 12, 11, 10, 9, 8, 7, 6, 5, 4, // 5310-5319
3, 2, 1, 10, 9, 8, 7, 6, 5, 4, // 5320-5329
3, 2, 1, 14, 13, 12, 11, 10, 9, 8, // 5330-5339
7, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 5340-5349
1, 30, 29, 28, 27, 26, 25, 24, 23, 22, // 5350-5359
21, 20, 19, 18, 17, 16, 15, 14, 13, 12, // 5360-5369
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 5370-5379
1, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 5380-5389
3, 2, 1, 6, 5, 4, 3, 2, 1, 8, // 5390-5399
7, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 5400-5409
3, 2, 1, 4, 3, 2, 1, 2, 1, 12, // 5410-5419
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 5420-5429
1, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 5430-5439
1, 2, 1, 6, 5, 4, 3, 2, 1, 22, // 5440-5449
21, 20, 19, 18, 17, 16, 15, 14, 13, 12, // 5450-5459
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 5460-5469
1, 6, 5, 4, 3, 2, 1, 2, 1, 4, // 5470-5479
3, 2, 1, 18, 17, 16, 15, 14, 13, 12, // 5480-5489
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 5490-5499
1, 2, 1, 4, 3, 2, 1, 12, 11, 10, // 5500-5509
9, 8, 7, 6, 5, 4, 3, 2, 1, 2, // 5510-5519
1, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 5520-5529
1, 26, 25, 24, 23, 22, 21, 20, 19, 18, // 5530-5539
17, 16, 15, 14, 13, 12, 11, 10, 9, 8, // 5540-5549
7, 6, 5, 4, 3, 2, 1, 6, 5, 4, // 5550-5559
3, 2, 1, 6, 5, 4, 3, 2, 1, 4, // 5560-5569
3, 2, 1, 8, 7, 6, 5, 4, 3, 2, // 5570-5579
1, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 5580-5589
1, 32, 31, 30, 29, 28, 27, 26, 25, 24, // 5590-5599
23, 22, 21, 20, 19, 18, 17, 16, 15, 14, // 5600-5609
13, 12, 11, 10, 9, 8, 7, 6, 5, 4, // 5610-5619
3, 2, 1, 16, 15, 14, 13, 12, 11, 10, // 5620-5629
9, 8, 7, 6, 5, 4, 3, 2, 1, 2, // 5630-5639
1, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 5640-5649
1, 2, 1, 4, 3, 2, 1, 2, 1, 10, // 5650-5659
9, 8, 7, 6, 5, 4, 3, 2, 1, 14, // 5660-5669
13, 12, 11, 10, 9, 8, 7, 6, 5, 4, // 5670-5679
3, 2, 1, 6, 5, 4, 3, 2, 1, 4, // 5680-5689
3, 2, 1, 8, 7, 6, 5, 4, 3, 2, // 5690-5699
1, 10, 9, 8, 7, 6, 5, 4, 3, 2, // 5700-5709
1, 6, 5, 4, 3, 2, 1, 20, 19, 18, // 5710-5719
17, 16, 15, 14, 13, 12, 11, 10, 9, 8, // 5720-5729
7, 6, 5, 4, 3, 2, 1, 4, 3, 2, // 5730-5739
1, 2, 1, 6, 5, 4, 3, 2, 1, 30, // 5740-5749
29, 28, 27, 26, 25, 24, 23, 22, 21, 20, // 5750-5759