-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathPatternHash.h
821 lines (821 loc) · 39.2 KB
/
PatternHash.h
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
constexpr std::array<int, Matcher::G_SIZE> Matcher::G{
5980, 6171, 7792, 1391, 41852, 6843, 11834, 875, 3392,
3174, 13799, 13800, 5847, 23483, 4410, 11222, 6382, 46694, 168496,
42735, 44074, 6075, 303532, 324744, 5889, 34854, 2800, 34991, 36814,
0, 2156, 23851, 25564, 347, 6270, 0, 380, 187, 5882,
470, 5916, 9115, 16154, 950, 4055, 920, 6750, 342, 1473,
923, 16816, 175, 24032, 31, 16606, 8171, 0, 15590, 2599,
16104, 151, 152, 0, 662, 518263, 9599, 18110, 138742, 6615,
4027, 2064, 21014, 2268, 39807, 2202, 2102, 2272, 2335, 5242,
8, 5834, 106278, 29708, 3631, 38030, 0, 7788, 3755, 5550,
7846, 3888, 5679, 5610, 6470, 3335, 517896, 6428, 1755, 13658,
8758, 57367, 4696, 4382, 598, 284, 411, 5566, 0, 0,
6360, 5498, 662, 7041, 17190, 27573, 13736, 0, 0, 0,
0, 2369, 0, 304, 0, 10410, 0, 7020, 10603, 5166,
4863, 184432, 4399, 3818, 4475, 5100, 2539, 15681, 3064, 4903,
37942, 0, 0, 0, 0, 4718, 19775, 37374, 1583, 32672,
15430, 314, 939, 3255, 6840, 2855, 18166, 12494, 4760, 10832,
4566, 7068, 32091, 2522, 4335, 37610, 32671, 40492, 4907, 577,
678, 2087, 12904, 1623, 1240, 0, 3670, 13696, 4443, 7578,
0, 2912, 31, 14074, 0, 897, 248, 0, 4022, 535,
2648, 0, 0, 226606, 3768, 10032, 32879, 14030, 0, 13520,
14251, 12416, 30975, 30206, 1256, 892, 16507, 9530, 328, 18688,
2790, 3687, 4619, 2812, 763, 1360, 10639, 2734, 56, 880,
2934, 42, 2310, 1388, 491, 0, 0, 0, 0, 407,
152, 0, 2326, 38172, 987, 3034, 0, 9312, 25631, 1438,
0, 412, 219, 1242, 0, 1312, 2271, 1182, 0, 0,
0, 0, 0, 23, 0, 0, 278, 27164, 25627, 40702,
0, 7200, 59, 13982, 0, 30583, 43320, 0, 22838, 10199,
142505, 0, 94550, 348, 27, 15216, 6191, 11946, 5535, 1822,
6123, 9857, 15782, 24679, 14632, 407, 408, 0, 3926, 7744,
7999, 11006, 1007, 12540, 7931, 11166, 1259, 34039, 112870, 39,
29814, 39959, 22680, 0, 22806, 28654, 767, 2544, 3183, 33276,
187, 10028, 175339, 22647, 110648, 11111, 95144, 0, 0, 0,
477, 88183, 23480, 112, 88559, 8151, 12376, 108, 38038, 4544,
17051, 9790, 0, 0, 1503, 6366, 0, 3713, 8486, 18622,
15336, 1660, 1723, 634, 0, 3310, 376, 6064, 6063, 7658,
0, 1964, 20025, 6967, 10232, 0, 14774, 3415, 17624, 0,
26390, 0, 639, 3390, 0, 0, 3515, 3386, 0, 18524,
20646, 11687, 15784, 2144, 415, 1941, 0, 7854, 0, 0,
47, 34986, 664, 7404, 1288214, 15068, 20984, 3866, 10031, 15072,
23711, 4382, 2667, 5824, 4031, 91518, 7656, 23932, 23704, 1210,
2902, 19712, 20134, 32999, 232, 6844, 9439, 15674, 0, 29998,
30456, 2544, 26671, 87, 29528, 2860, 46742, 1408, 0, 16752,
687, 10026, 315, 24748, 34774, 10113, 38875, 12775, 6056, 2656,
12191, 1694, 0, 3630, 4571, 16304, 3567, 5664, 16315, 16698,
7595, 11639, 43768, 6247, 33576, 83223, 3352, 0, 470, 64,
63, 3262, 0, 23, 0, 378, 342, 25975, 4571, 3866,
886, 23328, 16095, 3870, 0, 3374, 0, 3312, 12143, 4458,
0, 684, 6635, 0, 934, 39, 168, 0, 0, 0,
0, 2012, 13688, 858, 1078, 1888, 1887, 2206, 0, 3776,
3967, 254, 0, 727, 1944, 4538, 790, 0, 934, 487,
424, 0, 0, 0, 0, 110, 0, 240, 367, 1194,
0, 9388, 0, 7808, 3007, 12094, 4406, 60, 0, 698,
0, 2039, 2495, 16446, 6262, 2748, 22779, 10362, 0, 494,
39910, 5722, 47, 544, 287, 108, 0, 9454, 20774, 231,
239, 30167, 6040, 6252, 48939, 0, 91, 7024, 36271, 290647,
95, 8158, 363, 4828, 225691, 28890, 22120, 663, 4056, 14622,
11990, 1, 255, 165182, 0, 39612, 99835, 186, 0, 7415,
8760, 0, 0, 0, 0, 0, 0, 9390, 4280, 15856,
9270, 25258, 9915, 8492, 235, 4032, 4344, 2942, 886, 0,
2555, 0, 0, 8768, 8998, 11312, 2088, 1002, 1019, 149141,
18859, 238, 166, 0, 0, 298, 0, 0, 24541, 213861,
859, 8602, 0, 15712, 6168, 11550, 13782, 28, 86701, 4314,
0, 0, 41, 4446, 0, 1884, 2075, 410, 0, 1312,
2335, 990, 0, 1, 0, 0, 37181, 23, 0, 0,
121, 0, 248, 26, 175, 18080, 159, 0, 747, 640,
10623, 5415, 8424, 13975, 40408, 2554, 99670, 13504, 3263, 28135,
232, 124, 3067, 1978, 0, 1079, 13048, 1520, 13302, 1578,
0, 2860, 171, 192, 0, 0, 0, 0, 0, 0,
0, 15937, 56, 922, 56758, 1888, 5407, 606, 0, 0,
539, 243184, 0, 262762, 4127, 393694, 49707, 0, 0, 48039,
111336, 279, 11352, 0, 406, 3008, 4479, 3632, 3183, 9559,
126843, 5100, 44246, 412, 486, 551, 808, 416, 159, 41950,
0, 4654, 1855, 18878, 1135, 11004, 4411, 7226, 1643, 119,
56, 0, 1974, 0, 0, 0, 0, 11548, 56, 1370,
310, 96, 3679, 3102, 0, 0, 0, 62, 0, 0,
24, 0, 0, 0, 164390, 41767, 40, 20000, 735, 10206,
0, 302, 0, 0, 47, 87, 0, 47916, 2070, 0,
120, 7088, 55087, 467616, 223, 5740, 77035, 1536, 55231, 62,
168, 0, 5563, 5882, 9110, 0, 38, 62, 3816, 69436,
104315, 69306, 0, 0, 312, 1776, 175, 2794, 0, 4076,
12985, 3968, 0, 318, 0, 0, 0, 634, 1558, 375,
3867, 1626, 6454, 1568, 479, 1502, 0, 385, 14683, 4464,
0, 7914, 22751, 6878, 1195, 0, 4838, 2023, 11624, 343,
216, 0, 49757, 3840, 1535, 510, 0, 0, 0, 570,
5270, 0, 184, 410, 566, 32, 0, 862, 0, 0,
0, 37040, 175, 1386, 0, 1836, 6379, 0, 3622, 13543,
3560, 0, 0, 0, 41145, 0, 0, 858, 3830, 1504,
1503, 606, 0, 0, 0, 62, 0, 0, 3323, 186,
534, 0, 4582, 2023, 6440, 0, 0, 0, 0, 174,
0, 48, 0, 1194, 0, 236, 9771, 0, 191, 0,
0, 0, 0, 0, 0, 0, 632, 0, 822, 0,
0, 0, 0, 0, 27, 432, 0, 0, 671, 0,
43, 0, 166, 423, 808, 215, 13848, 0, 1942, 0,
27, 0, 111, 426, 31, 1580, 107, 0, 45734, 103,
31080, 0, 88, 0, 342, 64, 0, 126, 0, 0,
187, 0, 0, 2231, 14456, 0, 51510, 0, 0, 0,
0, 247, 888, 304, 694, 1066, 0, 2924, 1195, 119872,
191, 50046, 872, 0, 251, 58, 0, 192, 0, 103,
0, 572, 443, 1594, 0, 55, 1464, 0, 0, 170,
0, 0, 60011, 0, 0, 0, 0, 0, 24, 0,
214, 412, 219, 410, 0, 416, 31, 222, 0, 668,
27, 1050, 0, 4128, 1183, 1374, 0, 0, 0, 0,
0, 151, 408, 0, 0, 35840, 29631, 36158, 8431, 4522,
2911, 33146, 5931, 631, 32678, 0, 108648, 8087, 88, 0,
406, 37952, 2047, 36400, 815, 34602, 5947, 6778, 1643, 9463,
32760, 2215, 118774, 0, 0, 0, 0, 11868, 1215, 6526,
0, 2912, 6495, 7006, 0, 6583, 4216, 0, 4470, 6423,
3736, 0, 8470, 11310, 10459, 323546, 5871, 130400, 6367, 35820,
3243, 833, 742, 8551, 3624, 87, 472, 0, 0, 31598,
7288, 624, 47599, 4311, 1368, 0, 1899, 19392, 34715, 96830,
296, 124, 16159, 8954, 0, 11456, 29990, 33511, 24616, 0,
5563, 2581, 0, 3639, 56, 816, 0, 5866, 0, 2028,
3741, 13029, 5112, 0, 4086, 1943, 7064, 0, 8214, 256,
0, 18970, 0, 96, 2591, 21406, 0, 20993, 2331, 15477,
2664, 1440, 0, 1118, 0, 6126, 0, 6064, 0, 2026,
280, 8492, 185, 46135, 40895, 114032, 687, 8234, 1851, 40748,
8363, 56448, 691320, 2942, 11830, 10940, 1019, 2682, 0, 13678,
37222, 254128, 9391, 9194, 9531, 826, 10731, 10350, 50022, 47408,
255030, 8554, 0, 1324, 299, 13532, 31707, 61210, 6191, 271520,
32607, 189164, 534, 97372, 3430, 16794, 296, 51351, 36056, 4830,
406, 1545217, 1115, 5886, 0, 2144, 488927, 25630, 0, 10753,
1592, 0, 5942, 663, 24, 0, 86, 29623, 3896, 11262,
1398, 3772, 4091, 13114, 0, 1792, 39551, 10750, 1526, 1468,
187579, 14778, 0, 4846, 2598, 53863, 5480, 7530, 0, 4652,
3115, 39918, 3494, 4583, 40, 40362, 0, 7276, 57899, 412,
1371, 10138, 0, 36183, 4056, 19166, 1430, 40284, 171739, 56794,
0, 4503, 3288, 926, 342, 449, 0, 0, 0, 0,
0, 0, 0, 2305, 0, 0, 0, 0, 0, 0,
0, 25664, 20415, 19838, 0, 6396, 6111, 17502, 0, 13953,
5752, 0, 6390, 6167, 856, 0, 982, 8686, 9243, 6320,
4143, 8352, 15839, 876, 9899, 193, 3942, 12135, 4264, 1623,
4504, 0, 854, 4316, 4799, 3902, 0, 7402, 4347, 28346,
24043, 8119, 36902, 2983, 26088, 8855, 24, 0, 0, 2734,
3071, 2416, 9135, 572, 123, 21612, 11243, 10743, 35384, 8615,
23016, 0, 0, 0, 0, 12599, 6968, 0, 5110, 1751,
8792, 0, 7894, 12608, 1069, 31642, 0, 544, 671, 6814,
0, 4033, 1382, 26471, 40, 0, 0, 0, 0, 7982,
0, 6256, 623, 5162, 0, 6956, 10745, 30519, 21304, 0,
23414, 3159, 2072, 0, 470, 128, 155, 16638, 0, 160,
17759, 18042, 0, 6465, 24614, 8807, 9832, 0, 0, 853,
0, 1390, 0, 5744, 1305, 4330, 0, 31468, 13213, 366,
6875, 6106, 6959, 31392, 7199, 10654, 9771, 705, 102, 6247,
808, 599, 15320, 0, 1302, 7936, 7003, 21786, 0, 2620,
19195, 10362, 0, 0, 4984, 0, 2486, 0, 344, 0,
598, 15040, 0, 2430, 3887, 0, 0, 7468, 875, 6071,
4920, 5351, 2614, 0, 0, 0, 0, 7552, 15899, 12528,
303, 24874, 3835, 12524, 8235, 503, 15096, 2343, 9448, 663,
280, 0, 1430, 0, 0, 0, 0, 3287, 88, 0,
23318, 6876, 2139, 23706, 0, 6816, 6943, 23198, 0, 193,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2103, 760, 0, 1590, 0,
0, 0, 0, 0, 255, 6846, 0, 316, 23803, 6842,
0, 0, 9574, 7079, 5288, 0, 0, 0, 0, 6830,
0, 304, 559, 22506, 0, 23788, 41707, 46, 120, 5360,
1199, 298, 0, 940, 5099, 1728, 1855, 5182, 488, 9084,
8443, 5754, 0, 192, 767, 318, 40, 188, 2363, 2426,
0, 5358, 0, 4784, 9142, 6378, 0, 6124, 363, 0,
0, 0, 0, 87, 280, 0, 1366, 348, 795, 5274,
0, 928, 1695, 3038, 0, 1985, 1179, 346, 0, 864,
7391, 48542, 0, 0, 0, 0, 0, 0, 24, 0,
854, 20718, 5695, 16638, 12463, 1852, 7099, 15660, 2539, 183,
358, 0, 424, 0, 0, 0, 0, 3118, 0, 15806,
8111, 15612, 187, 1658, 5931, 311, 1702, 743, 1078, 0,
0, 0, 0, 4764, 667, 4250, 0, 1120, 3551, 2654,
0, 65, 0, 0, 0, 0, 24, 0, 22, 6876,
4059, 794, 0, 20512, 2335, 18974, 0, 193, 0, 0,
0, 87, 24, 0, 22, 832, 3583, 8126, 310, 252,
0, 634, 0, 384, 1720, 15550, 1334, 1724, 24571, 9338,
0, 494, 102, 4007, 47, 874, 0, 172, 0, 8238,
7590, 48, 239, 17322, 0, 5612, 24747, 156, 0, 3418,
0, 4384, 31, 4190, 854, 3676, 13083, 15578, 0, 3104,
3032, 16478, 6294, 0, 0, 0, 0, 0, 0, 0,
0, 193, 0, 0, 0, 0, 0, 0, 0, 25655,
4287, 8702, 1391, 1002, 443, 13164, 171, 6464, 2943, 2599,
438, 700, 10363, 826, 0, 2240, 4134, 7664, 175, 14762,
4091, 1018, 2347, 878, 0, 1904, 3176, 0, 0, 4076,
5739, 7452, 411, 16282, 0, 20512, 287, 16734, 790, 4764,
411, 1626, 0, 4247, 3743, 3422, 726, 12353, 283, 26,
0, 288, 31, 0, 0, 0, 0, 0, 0, 0,
0, 0, 22, 503, 120, 0, 118, 0, 0, 0,
0, 384, 255, 318, 0, 892, 361, 122, 0, 156,
2651, 858, 40, 2848, 415, 11294, 0, 942, 0, 304,
61, 362, 24, 1388, 43, 558, 0, 1456, 0, 1962,
24, 2092, 939, 732, 2459, 1063, 168, 544, 735, 222,
0, 577, 703, 446, 0, 124, 187, 58, 0, 887,
184, 0, 25, 0, 0, 0, 3741, 128, 3647, 574,
0, 508, 3771, 570, 0, 3319, 0, 0, 0, 0,
0, 0, 0, 558, 0, 2992, 3887, 298, 0, 1964,
6891, 0, 38, 3431, 232, 0, 0, 0, 0, 476,
667, 90, 0, 288, 223, 94, 0, 0, 0, 0,
0, 0, 88, 0, 470, 0, 0, 0, 0, 0,
0, 0, 0, 3841, 0, 0, 0, 0, 0, 0,
0, 92, 0, 3290, 0, 4960, 95, 3294, 0, 0,
0, 0, 0, 151, 88, 0, 22, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2880, 0, 254, 0, 0, 0, 250,
0, 119, 2872, 0, 1462, 0, 0, 0, 0, 814,
0, 3248, 239, 1962, 0, 0, 1259, 0, 934, 1255,
2856, 0, 0, 0, 0, 1390, 0, 0, 751, 855,
88, 1004, 0, 4060, 0, 359, 40, 2720, 287, 926,
0, 0, 447, 126, 0, 1980, 763, 250, 0, 55,
0, 0, 374, 0, 0, 0, 0, 503, 888, 0,
758, 0, 0, 0, 0, 448, 2751, 190, 0, 444,
2811, 314, 0, 220, 5286, 167, 1512, 32, 0, 350,
0, 5358, 0, 304, 495, 0, 152, 4332, 0, 11420,
11327, 24062, 0, 8508, 8507, 11514, 427, 30775, 95654, 167,
94262, 38935, 30872, 0, 32726, 9326, 0, 30128, 17007, 9386,
1211, 4204, 3179, 30785, 91384, 35111, 92392, 0, 0, 0,
0, 16960, 475, 9598, 0, 6752, 507, 9694, 0, 32887,
31864, 0, 32054, 11095, 472, 0, 54806, 8814, 411, 22640,
5999, 23712, 991, 32044, 24555, 24641, 24486, 40999, 39016, 0,
728, 0, 278, 10551, 15032, 0, 24502, 41047, 29976, 0,
19606, 6592, 19035, 22206, 0, 60, 7291, 4602, 0, 35073,
18534, 9639, 12072, 0, 0, 533, 0, 8174, 0, 432,
25, 8106, 0, 428, 6379, 38885, 22584, 0, 30902, 8855,
18200, 0, 24470, 64, 3327, 6618, 0, 0, 1467, 8158,
0, 4097, 38566, 43893, 25768, 0, 0, 0, 0, 8942,
0, 5872, 3759, 39210, 0, 33068, 39161, 16320, 11455, 16432,
6639, 188, 59, 2220, 12075, 14337, 32742, 13415, 24360, 0,
0, 0, 0, 7424, 20799, 18138, 3951, 1824, 5855, 158,
4779, 33591, 97464, 1255, 19958, 95831, 34456, 0, 1110, 9006,
7259, 8816, 21807, 14176, 8607, 23006, 21291, 2241, 10086, 98663,
36072, 10455, 24, 0, 3542, 16640, 6427, 4478, 0, 1980,
5819, 1502, 0, 21111, 14136, 0, 950, 37335, 87192, 0,
6934, 439, 2232, 0, 2550, 0, 0, 0, 0, 7232,
8511, 2302, 0, 60, 6779, 0, 0, 0, 230, 487,
488, 0, 0, 0, 0, 46, 0, 624, 7407, 5098,
0, 3116, 9067, 0, 0, 0, 0, 599, 280, 0,
662, 9628, 0, 13018, 0, 9696, 10975, 4638, 0, 193,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 24476, 34431, 31130, 182, 39456,
9247, 42142, 0, 188279, 9535, 1150, 4406, 17495, 683800, 2426,
90070, 301550, 157211, 1699815, 39983, 12586, 11846, 9708, 11499, 18954,
0, 48, 36968, 20394, 216, 3244, 3983, 46574, 8127, 8538,
623, 8892, 7931, 13114, 683, 17911, 96283, 2535, 33718, 52631,
3039, 798, 2390, 26177, 383, 30000, 12527, 298492, 699, 26028,
423851, 1463, 74854, 295, 92086, 0, 0, 0, 0, 34944,
42360, 3582, 246, 6679, 7960, 1850, 24214, 576, 37183, 8346,
310, 0, 361, 5946, 0, 3594, 0, 4085, 3304, 20366,
0, 40976, 3279, 13889, 294, 39207, 38831, 3498, 11654, 3783,
39545, 8193, 3320, 1370, 19126, 34976, 52632, 5726, 598, 0,
191, 1626, 0, 0, 6616, 2874, 342, 3777, 14374, 11943,
9896, 0, 0, 789, 0, 2350, 0, 48, 47, 9194,
0, 8364, 25131, 8302, 6875, 16688, 3375, 556000, 7967, 12382,
0, 1921, 3430, 8039, 7080, 2071, 1816, 0, 3606, 21376,
37311, 21722, 0, 35324, 32507, 9758, 0, 2039, 7480, 0,
118, 13399, 81560, 0, 82646, 11438, 3583, 5936, 6703, 5948,
3963, 10284, 18987, 16503, 25254, 39, 23222, 0, 0, 0,
0, 2670, 6143, 10686, 2351, 352, 6203, 10782, 3371, 1655,
85816, 1063, 19496, 4567, 6680, 0, 342, 32842, 0, 32496,
267055, 165674, 3096, 42640, 81494, 13788, 411, 99098, 488, 8160,
11743, 5406, 3592, 2560, 575, 3902, 0, 1916, 187, 1146,
0, 247, 0, 0, 0, 0, 0, 0, 0, 823,
1464, 0, 3254, 0, 0, 0, 0, 9536, 7039, 3518,
0, 7036, 187, 4602, 0, 9436, 2342, 807, 744, 0,
1823, 542, 0, 622, 0, 112, 2159, 2090, 24, 7276,
0, 695, 1755, 1882, 9078, 2016, 2271, 2014, 0, 0,
511, 4542, 0, 215, 5563, 506, 22, 0, 6246, 1127,
2920, 0, 0, 0, 0, 1838, 0, 0, 47, 746,
0, 0, 7403, 1920, 63, 894, 0, 0, 0, 634,
8150, 0, 3547, 1818, 2806, 0, 223, 6622, 0, 641,
0, 3952, 0, 0, 0, 2668, 43, 0, 8102, 69159,
8488, 0, 0, 0, 0, 1006, 1151, 4606, 0, 11882,
1083, 9338, 5782, 1692, 1830, 167, 1960, 1760, 1695, 542,
0, 16366, 703, 10366, 12271, 26108, 1659, 16762, 1835, 0,
15206, 1895, 23080, 0, 0, 0, 0, 3447, 2744, 3290,
2998, 1248, 10271, 7966, 0, 0, 127, 1726, 0, 60,
216, 1210, 1814, 2652, 1243, 7975, 168, 672, 31, 798,
0, 1729, 0, 0, 0, 23, 88, 1708, 0, 55,
120, 0, 246, 0, 0, 0, 0, 64, 319, 766,
0, 2812, 1275, 3002, 0, 860, 27, 986, 40, 352,
0, 30, 0, 0, 0, 1072, 175, 11434, 88, 1132,
43, 1326, 0, 3376, 367, 215, 0, 364, 43, 412,
614, 65562, 0, 1696, 2527, 606, 0, 1280, 767, 830,
0, 0, 635, 0, 0, 12279, 376, 0, 11254, 0,
0, 0, 0, 9216, 511, 3646, 623, 1002, 187, 44,
3243, 247, 1528, 1575, 4648, 0, 0, 0, 0, 15022,
3327, 13118, 495, 4330, 5051, 890, 235, 631, 1574, 1127,
3176, 0, 0, 0, 0, 924, 475, 6234, 0, 96,
607, 9630, 0, 0, 0, 0, 0, 279, 1816, 0,
278, 2844, 27, 2778, 0, 1568, 3423, 2782, 0, 321,
0, 0, 0, 23, 2392, 0, 726, 2560, 703, 574,
0, 572, 379, 3002, 0, 7095, 5119, 2302, 1334, 7676,
5755, 8314, 0, 942, 1958, 2864, 495, 2346, 0, 492,
491, 3118, 1958, 4071, 104, 1066, 0, 19820, 4715, 2460,
2139, 2522, 0, 6368, 2143, 3038, 726, 11228, 1883, 2970,
0, 7127, 5855, 350, 3286, 193, 0, 0, 0, 0,
0, 341, 0, 23105, 0, 0, 729, 0, 0, 0,
2397, 20151, 5631, 6718, 54, 7356, 12091, 9530, 0, 21559,
3455, 894, 0, 0, 2683, 2426, 0, 7726, 102, 8816,
6568, 490, 0, 876, 16107, 46, 166, 48, 0, 298,
0, 0, 8811, 7324, 16347, 2138, 0, 9687, 6680, 6750,
1878, 2396, 411, 3802, 0, 1952, 2015, 798, 470, 2689,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 110, 0, 1904, 495, 4138,
0, 236, 3819, 0, 742, 60455, 40, 0, 0, 0,
0, 1664, 959, 0, 0, 0, 955, 890, 0, 9655,
376, 0, 630, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1281, 0, 0, 0, 0,
0, 0, 0, 2332, 1243, 602, 0, 544, 6687, 350,
0, 0, 0, 0, 0, 18903, 0, 0, 22, 1966,
0, 0, 13679, 0, 0, 0, 619, 0, 358, 679,
0, 0, 0, 0, 0, 1728, 4799, 1342, 0, 188,
955, 14586, 0, 0, 248, 0, 566, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 129,
0, 0, 0, 0, 0, 0, 0, 4892, 5723, 602,
0, 1824, 14047, 606, 0, 0, 0, 0, 0, 343,
536, 0, 150, 3612, 19035, 8304, 495, 3232, 3551, 3244,
1515, 15991, 9144, 871, 24232, 6999, 24, 0, 2390, 6912,
33471, 28158, 8367, 2474, 827, 2170, 9259, 16823, 16934, 12135,
32758, 0, 0, 0, 0, 19008, 4955, 16126, 0, 14908,
8443, 14302, 0, 31745, 4472, 0, 6518, 6615, 2584, 0,
5078, 9500, 0, 17584, 19503, 31840, 15903, 25438, 20139, 2177,
422, 42279, 6376, 4887, 7832, 0, 86, 16961, 39992, 0,
21302, 3543, 6616, 0, 918, 20188, 16639, 3006, 0, 316,
16543, 14394, 0, 9921, 12774, 5479, 11432, 0, 0, 11285,
0, 5486, 0, 7024, 1583, 9194, 0, 8236, 17565, 18469,
20664, 0, 2102, 8535, 11160, 0, 15574, 1308, 1133, 1150,
0, 10876, 13243, 23262, 0, 8001, 0, 565, 25448, 0,
0, 0, 0, 18734, 0, 22384, 0, 618, 0, 31724,
13227, 28480, 1727, 12222, 8175, 0, 187, 2554, 1067, 13303,
13688, 5479, 22248, 0, 0, 0, 0, 8064, 25535, 15856,
623, 1788, 8123, 428, 491, 8887, 806, 0, 4584, 663,
408, 0, 1750, 942, 7323, 12890, 9967, 23840, 7647, 15326,
12203, 1281, 294, 6119, 5800, 7703, 18392, 0, 23958, 576,
2239, 894, 0, 25084, 24571, 14110, 0, 567, 2616, 0,
1974, 151, 1304, 0, 0, 8375, 6840, 0, 23478, 0,
0, 0, 0, 5696, 7871, 21310, 0, 700, 19899, 7162,
0, 0, 4710, 3303, 616, 0, 0, 0, 0, 7534,
0, 944, 943, 7594, 0, 940, 20075, 0, 0, 0,
0, 7511, 7832, 0, 23446, 7452, 23643, 15770, 0, 7264,
7583, 15838, 0, 705, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 31168,
31643, 25946, 0, 22908, 5983, 5498, 0, 25857, 14776, 0,
4790, 7895, 7192, 0, 8918, 4060, 3227, 20912, 5935, 4448,
671, 350, 363, 257, 7014, 59047, 25085, 855, 5464, 0,
5113, 192, 3839, 410, 495, 4412, 17247, 18654, 19819, 6967,
16888, 615, 20712, 8087, 0, 0, 4374, 896, 0, 6398,
7727, 316, 443, 9402, 1771, 4919, 10790, 2599, 18294, 0,
0, 0, 8477, 10826, 26360, 2188, 15115, 151, 8344, 75856,
22038, 31516, 32155, 20734, 0, 1148, 17083, 22535, 72, 385,
4454, 29671, 24616, 0, 0, 0, 0, 26606, 0, 23472,
559, 6058, 0, 4652, 16121, 18039, 48440, 0, 13558, 0,
4184, 0, 406, 256, 8795, 11966, 0, 416, 19423, 10846,
0, 65, 6822, 1383, 4712, 0, 0, 21, 0, 7598,
0, 1648, 1327, 2794, 0, 2092, 1643, 0, 219, 3354,
12399, 15658, 0, 7198, 6123, 193, 998, 1127, 0, 919,
8216, 0, 8086, 385, 11007, 7934, 0, 15868, 10655, 14535,
9224, 311, 312, 18956, 1803, 38606, 1112, 18704, 8847, 8000,
255, 112, 879, 252, 59, 506, 875, 1793, 614, 2535,
950, 0, 0, 0, 0, 0, 12955, 7408, 0, 9194,
30139, 7404, 7723, 311, 2744, 1063, 7656, 983, 152, 0,
0, 0, 0, 0, 0, 215, 600, 0, 10646, 412,
15835, 7386, 0, 2208, 1631, 7326, 0, 2433, 0, 6220,
7307, 12110, 0, 23376, 7887, 1089, 0, 0, 0, 0,
4614, 2631, 10696, 55, 376, 0, 2870, 0, 0, 0,
0, 192, 191, 3262, 0, 188, 7547, 3258, 0, 0,
10982, 1255, 488, 0, 0, 0, 0, 3310, 0, 176,
239, 17770, 0, 684, 25323, 759, 568, 0, 0, 0,
0, 0, 0, 2880, 511, 3518, 0, 2172, 5691, 3578,
0, 0, 102, 807, 1896, 0, 0, 0, 0, 110,
0, 1840, 1647, 2538, 0, 3244, 0, 0, 0, 0,
0, 0, 1624, 0, 22, 1564, 1435, 3610, 0, 2464,
1567, 4766, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1070,
63, 2288, 11055, 764, 1531, 236, 427, 887, 632, 39,
2344, 0, 0, 0, 0, 1600, 895, 52336, 3439, 188,
955, 1429, 4779, 0, 696, 359, 3880, 0, 0, 0,
1501, 10396, 1435, 1882, 0, 800, 223, 158, 0, 449,
45, 0, 0, 0, 0, 0, 342, 2460, 219, 8053,
0, 8864, 95, 5406, 0, 0, 0, 0, 0, 471,
0, 0, 57, 439, 440, 0, 950, 0, 0, 0,
0, 0, 255, 6782, 0, 0, 4667, 698, 0, 0,
870, 167, 0, 0, 0, 0, 0, 2414, 0, 0,
0, 5098, 0, 108, 619, 0, 0, 0, 0, 23,
24, 0, 0, 0, 2651, 6874, 0, 0, 223, 6750,
0, 193, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 79232, 127, 752,
0, 124, 0, 556, 171, 823, 1528, 359, 2024, 0,
0, 0, 0, 622, 0, 7998, 0, 2794, 443, 122,
0, 0, 1702, 615, 1832, 0, 0, 0, 0, 0,
155, 7322, 0, 61408, 0, 7134, 0, 129, 0, 0,
0, 791, 600, 0, 3798, 220, 283, 90, 0, 32,
0, 798, 0, 129, 0, 0, 0, 151, 88, 0,
150, 933, 0, 0, 54, 0, 0, 0, 0, 4608,
12653, 702, 0, 6204, 12969, 122, 0, 0, 38, 53,
296, 0, 0, 0, 0, 7406, 0, 48, 6127, 234,
0, 7212, 11499, 129, 0, 0, 0, 23, 0, 0,
150, 732, 155, 474, 0, 6048, 735, 94, 0, 0,
0, 0, 0, 0, 0, 277, 0, 0, 0, 0,
3545, 0, 0, 0, 2845, 4325, 3391, 2814, 0, 9148,
9083, 1338, 0, 0, 429, 0, 118, 0, 233, 0,
0, 814, 0, 10485, 8367, 618, 0, 6188, 7147, 0,
38, 359, 10621, 0, 0, 0, 57, 924, 4187, 4506,
0, 416, 6943, 3870, 0, 0, 0, 0, 0, 87,
280, 0, 534, 0, 0, 0, 0, 0, 0, 8021,
0, 193, 0, 0, 2137, 0, 0, 0, 605, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1198, 0, 48, 239, 106, 0, 1004,
747, 0, 38, 39, 0, 0, 0, 0, 0, 64,
767, 3006, 0, 316, 4667, 1850, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 257, 0, 0, 0, 0, 0, 0,
0, 1372, 475, 90, 0, 2336, 479, 3934, 0, 0,
0, 0, 0, 0, 0, 0, 214, 0, 9464, 432,
2998, 8764, 6267, 8890, 299, 1655, 191, 3966, 78952, 0,
20603, 4218, 0, 12846, 2150, 26343, 1960, 298, 1851, 7916,
10411, 4151, 6712, 0, 47, 5226, 0, 2220, 21675, 2908,
24731, 2650, 0, 471, 14751, 0, 0, 668, 26331, 12378,
0, 288, 991, 13150, 13526, 1409, 795, 858, 0, 32,
3359, 0, 0, 0, 0, 0, 0, 87, 0, 0,
534, 12288, 1976, 1982, 7862, 1532, 1915, 4922, 0, 1984,
4927, 29886, 2294, 444, 4731, 442, 0, 5422, 24806, 5360,
0, 10666, 0, 3820, 3563, 814, 166, 0, 0, 1962,
0, 364, 5867, 3676, 1051, 12314, 0, 8800, 88, 12382,
27734, 1436, 8283, 8602, 0, 0, 0, 8606, 662, 513,
0, 0, 0, 0, 0, 0, 0, 193, 0, 0,
0, 0, 0, 0, 0, 14958, 7359, 816, 1519, 0,
0, 0, 1259, 3383, 5624, 7463, 6504, 0, 0, 0,
0, 0, 17087, 23280, 47, 0, 5883, 0, 171, 3383,
5030, 2215, 1192, 0, 0, 0, 0, 3548, 0, 3226,
0, 672, 1119, 3678, 0, 257, 0, 0, 0, 0,
536, 0, 2006, 0, 347, 538, 0, 39328, 0, 8862,
0, 1473, 0, 0, 0, 5143, 13784, 0, 30870, 10734,
248, 1968, 4854, 8490, 0, 13228, 7083, 0, 831, 318,
40, 188, 1467, 762, 0, 13824, 166, 12478, 1320, 9468,
8443, 10170, 0, 183, 760, 0, 0, 3946, 0, 0,
619, 0, 0, 0, 0, 0, 536, 0, 214, 796,
987, 5018, 0, 7200, 159, 1246, 0, 12097, 155, 90,
0, 12448, 3551, 19614, 0, 0, 0, 0, 0, 0,
600, 0, 150, 3292, 1592, 9690, 502, 4448, 8671, 139550,
0, 1473, 1535, 1534, 0, 1468, 54616, 2746, 33942, 1820,
91, 8103, 2088, 1888, 31, 414, 0, 3393, 0, 1840,
1519, 1706, 0, 1644, 1195, 277312, 1791, 9264, 303, 1431,
1467, 11948, 2006, 8028, 402587, 167, 16232, 480, 1503, 1502,
0, 576, 63, 140862, 1455, 316, 187, 12524, 10795, 55,
64550, 39, 58230, 0, 0, 0, 0, 896, 1919, 702,
0, 764, 699, 2362, 13334, 156, 4635, 8346, 54, 160,
0, 8478, 0, 1921, 0, 2096, 2799, 1962, 0, 3180,
4203, 0, 678, 11687, 2344, 0, 0, 0, 0, 2359,
2040, 794, 9270, 2656, 2527, 862, 0, 192, 0, 1214,
0, 60, 4987, 1210, 598, 0, 11750, 2215, 11240, 0,
0, 0, 0, 449, 0, 176, 0, 6058, 0, 2156,
10027, 0, 0, 4698, 0, 480, 0, 3422, 0, 0,
0, 0, 0, 855, 600, 0, 598, 3420, 411, 474,
0, 70816, 1567, 15710, 0, 641, 0, 0, 0, 2199,
6488, 0, 38102, 366, 0, 126, 111, 42, 59, 250,
363, 1399, 2534, 167, 3126, 0, 0, 0, 0, 0,
127, 510, 0, 234, 59, 1338, 939, 4791, 9080, 3495,
68712, 0, 0, 0, 0, 110, 0, 1840, 303, 874,
152, 44, 662, 92, 0, 1626, 296, 0, 31, 158,
0, 64, 255, 382, 0, 1468, 3131, 698, 0, 439,
0, 0, 438, 0, 0, 0, 0, 375, 376, 0,
886, 0, 0, 0, 0, 0, 127, 0, 0, 0,
59, 1914, 0, 28, 3302, 935, 1128, 32, 3807, 0,
0, 366, 0, 0, 0, 4439, 600, 2796, 22, 39616,
4095, 36926, 0, 508, 59, 3642, 0, 1079, 5375, 13758,
37302, 4284, 761019, 1466, 2326, 878, 13286, 7728, 0, 1834,
4486, 236, 0, 14062, 31846, 2352, 4143, 41898, 0, 7596,
21711, 988, 63, 3774, 0, 4832, 59, 4382, 1302, 12764,
324728, 794, 29494, 1175, 4760, 17694, 38038, 40878, 0, 1712,
6959, 3498, 0, 12588, 18539, 4225, 38, 9383, 616, 0,
0, 0, 0, 9920, 3832, 14654, 28598, 756028, 628411, 100972,
6891, 4215, 4479, 19303, 2550, 0, 2747, 30, 0, 241674,
27430, 7088, 1135, 6076, 379, 129146, 35791, 183, 5606, 0,
47, 490, 11270, 0, 4808, 492215, 20792, 90, 2358, 8855,
24543, 2398, 37142, 0, 5147, 1882, 0, 0, 223, 3998,
342, 2204, 2918, 16487, 1704, 1632, 1055, 1886, 0, 41390,
0, 15152, 13103, 0, 0, 18028, 86, 2286, 0, 8944,
303, 42, 0, 236, 0, 4865, 29670, 3326, 13416, 1340,
0, 2042, 0, 47708, 33126, 178942, 104, 60, 11067, 0,
0, 48814, 696, 9840, 49014, 39210, 984, 364, 1558, 2286,
0, 1392, 943, 298, 24, 2412, 1174, 449, 731, 23847,
232, 224, 223, 1118, 0, 15260, 667, 17854, 0, 10592,
13727, 33310, 0, 4727, 1208, 0, 3638, 1175, 12376, 0,
2134, 870976, 2431, 1018316, 15371, 39118, 1659, 100204, 2923, 759,
2022, 2855, 6006, 0, 6, 391, 7368, 5614, 1407, 6448,
303, 5034, 8315, 49786, 5419, 55, 312, 743, 1512, 0,
0, 0, 0, 1692, 4123, 1818, 0, 4064, 6879, 4702,
0, 2753, 0, 0, 0, 87, 280, 0, 534, 2332,
4315, 922, 0, 1696, 6943, 9310, 0, 0, 0, 0,
0, 151, 216, 0, 0, 3932, 3803, 5438, 0, 2400,
59, 4538, 0, 38775, 21624, 0, 35126, 3991, 36696, 0,
36822, 10734, 0, 752, 2223, 10922, 0, 2284, 2155, 4097,
18598, 20711, 18728, 0, 0, 0, 0, 3392, 63, 3838,
0, 864, 479, 3834, 0, 4023, 29368, 0, 29430, 38935,
35160, 0, 35926, 4078, 0, 24624, 239, 32042, 0, 4972,
5291, 13249, 35110, 4071, 36712, 0, 0, 0, 0, 42615,
18360, 0, 35126, 7703, 29656, 0, 36630, 732, 20507, 20186,
0, 0, 955, 4410, 0, 0, 20838, 5799, 6184, 0,
0, 0, 0, 5742, 0, 2544, 2479, 12714, 0, 2476,
14955, 4599, 9976, 0, 31158, 35671, 16984, 0, 24726, 0,
255, 1278, 0, 0, 3003, 478, 0, 16577, 36518, 12775,
13160, 0, 0, 0, 0, 4270, 0, 176, 175, 36522,
0, 20652, 39531, 5742, 0, 10288, 2543, 10794, 0, 6380,
1579, 769, 11622, 16935, 1384, 0, 0, 0, 0, 12096,
14399, 15934, 0, 4640, 12191, 3486, 0, 31799, 10296, 0,
31094, 151, 53656, 0, 23126, 10542, 0, 816, 7599, 14186,
0, 4332, 4651, 2689, 48934, 39, 45800, 0, 0, 0,
0, 2752, 2687, 1342, 0, 636, 735, 442, 0, 375,
12344, 0, 16246, 77015, 3928, 0, 31830, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1408, 8639, 190, 0, 42, 123, 108, 2411, 2039,
824, 935, 3688, 0, 0, 0, 0, 18414, 7551, 19966,
623, 60, 571, 58, 235, 55, 68088, 807, 1064, 0,
0, 0, 0, 2844, 987, 4698, 0, 672, 1375, 3870,
0, 513, 0, 0, 0, 87, 1240, 0, 1558, 15452,
731, 26, 0, 19552, 2783, 13726, 0, 1, 0, 0,
0, 1175, 4248, 0, 342, 1911, 1464, 48, 16879, 4266,
0, 6124, 939, 9536, 9190, 3390, 488, 0, 9787, 186,
0, 13120, 7359, 4519, 21288, 11516, 3451, 14138, 0, 567,
120, 112, 47, 1002, 0, 0, 19179, 0, 0, 0,
0, 919, 10456, 0, 4118, 1500, 1115, 4506, 0, 1504,
1311, 2206, 0, 11484, 1691, 5338, 0, 16288, 7263, 17630,
0, 0, 0, 0, 0, 151, 88, 0, 0, 401472,
7999, 10096, 8438, 0, 0, 236, 10347, 3200, 5542, 6270,
0, 14140, 2107, 24378, 0, 46, 4390, 8062, 0, 0,
9531, 0, 0, 14327, 7544, 304, 1327, 4586, 0, 13676,
43, 92, 155, 7642, 0, 25760, 95, 8542, 0, 543617,
1499, 24090, 0, 2967, 8472, 10974, 3990, 2241, 859, 1562,
0, 736, 671, 0, 0, 1, 0, 0, 0, 215,
1176, 0, 214, 5239, 1016, 11326, 5302, 508, 1403, 3898,
0, 6016, 4792, 24894, 886, 444, 7099, 954, 0, 5102,
11494, 3120, 0, 11498, 0, 2796, 1387, 1134, 358, 0,
0, 1130, 0, 108, 8043, 2972, 2267, 11226, 0, 9047,
31, 12318, 7510, 604, 4955, 7578, 0, 0, 0, 7582,
342, 65, 0, 0, 0, 0, 0, 0, 0, 193,
0, 0, 0, 0, 0, 0, 0, 5605, 27, 2330,
0, 992, 543, 1886, 0, 641, 1261, 0, 0, 1047,
1304, 0, 1878, 3100, 347, 117, 0, 66016, 3295, 3870,
0, 1153, 0, 0, 1341, 23, 600, 0, 1529, 1,
63, 0, 47, 0, 0, 442, 1131, 1783, 998, 615,
3702, 0, 0, 0, 0, 110, 127, 62, 0, 0,
443, 277, 1451, 1015, 2872, 2471, 1689, 0, 0, 0,
477, 0, 0, 0, 0, 535, 3160, 0, 1686, 860,
5979, 5786, 0, 736, 735, 2974, 0, 129, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1527, 8376, 0, 17526, 0, 0, 0,
0, 0, 0, 318, 0, 0, 69051, 58, 0, 0,
742, 1831, 3240, 0, 0, 0, 0, 302, 0, 48,
47, 11050, 0, 7404, 1899, 0, 0, 7514, 0, 12576,
95, 7518, 0, 1281, 0, 0, 0, 23, 24, 0,
0, 2012, 0, 1370, 0, 32, 0, 94, 0, 0,
0, 0, 0, 343, 728, 0, 0, 1518, 127, 0,
1327, 0, 0, 300, 1643, 0, 3384, 487, 1704, 0,
0, 0, 0, 110, 959, 1520, 47, 1898, 0, 428,
0, 1655, 7992, 0, 296, 0, 0, 0, 0, 0,
0, 0, 0, 727, 728, 0, 5206, 28, 5979, 3226,
0, 160, 31, 7070, 0, 385, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 759, 760, 0, 4918, 0, 0, 0, 0, 128,
0, 382, 0, 60, 6907, 1210, 0, 0, 3110, 231,
936, 0, 0, 0, 0, 110, 0, 176, 175, 6250,
0, 1516, 3563, 2478, 312, 7280, 6255, 1450, 0, 1196,
9643, 12480, 33190, 2046, 168, 1532, 8059, 22266, 0, 19008,
54822, 30311, 25320, 2556, 10235, 10682, 3400, 230538, 1592, 98316,
34927, 30954, 0, 80, 98411, 0, 0, 0, 0, 0,
216, 0, 22, 641, 1755, 4954, 0, 6112, 1247, 7646,
0, 29468, 3547, 14490, 0, 12960, 1951, 8158, 0, 0,
0, 0, 0, 343, 1624, 0, 2838, 98112, 511, 99184,
32623, 42, 2939, 52154, 4779, 55, 2406, 423, 2614, 0,
0, 0, 0, 230858, 767, 379824, 4847, 359420, 507, 2462672,
27371, 705, 5222, 295, 6134, 0, 1286, 135, 15560, 4956,
2395, 1114, 0, 1248, 5023, 30, 0, 65, 6573, 0,
0, 87, 280, 0, 278, 3868, 923, 16117, 0, 8288,
351, 8286, 0, 257, 0, 0, 7037, 23, 216, 0,
9302, 57271, 3199, 3390, 2166, 252, 635, 186, 0, 1207,
1144, 25150, 3126, 3644, 188411, 9274, 0, 3118, 7334, 3111,
168, 3050, 0, 620, 619, 49838, 2982, 3184, 2607, 7146,
0, 42028, 41003, 796, 3035, 3738, 0, 36759, 24, 4638,
2966, 3420, 2971, 17114, 0, 96, 3544, 670, 5910, 1729,
0, 0, 0, 0, 0, 0, 0, 513, 0, 0,
0, 0, 0, 0, 0, 780938, 1016, 26686, 173551, 9916,
59, 13676, 1167, 55936, 54079, 32615, 2216, 4348, 14907, 23751,
136, 46446, 25791, 58544, 13295, 1514, 2107, 38060, 45163, 24759,
2406, 2992, 5423, 3946, 0, 3820, 50603, 668, 27, 23834,
0, 27415, 24, 27614, 33878, 34433, 7899, 54106, 0, 6688,
6879, 49246, 1878, 13505, 155, 1242, 0, 0, 415, 30,
0, 193, 0, 0, 0, 0, 0, 0, 214, 0,
0, 0, 0, 0, 0, 0, 0, 641, 0, 0,
0, 0, 0, 0, 0, 11484, 5147, 730, 0, 27488,
4191, 37086, 0, 0, 0, 0, 0, 151, 792, 0,
27350, 5550, 0, 6512, 2863, 14826, 0, 6700, 3499, 0,
9254, 2343, 14120, 0, 0, 0, 0, 27392, 4095, 19582,
0, 8828, 6459, 12666, 0, 183, 12984, 0, 758, 0,
0, 0, 0, 7589, 0, 0, 0, 0, 0, 0,
0, 0, 1965, 0, 0, 0, 2537, 0, 0, 0,
0, 21173, 0, 0, 0, 0, 0, 0, 0, 0,
3581, 0, 0, 0, 1721, 961, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 22933, 0, 0,
0, 0, 9753, 0, 0, 0, 9885, 3292, 3291, 20698,
0, 27936, 3423, 21086, 0, 0, 0, 0, 0, 3479,
21720, 0, 24470, 0, 0, 0, 0, 0, 0, 0,
0, 321, 0, 0, 0, 0, 0, 0, 0, 10944,
255, 3326, 0, 1404, 1403, 3450, 0, 2231, 4984, 0,
5558, 0, 0, 0, 0, 3374, 0, 19696, 751, 21482,
0, 19692, 8747, 0, 24294, 4327, 19368, 0, 0, 0,
0, 0, 0, 0, 0, 4887, 25112, 0, 35606, 34332,
25499, 102874, 0, 34080, 32223, 39902, 0, 5313, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 4279, 2744, 0, 886, 0, 0, 0,
0, 19712, 21055, 32766, 0, 21052, 167739, 29370, 0, 0,
26854, 5095, 17128, 0, 0, 0, 0, 33454, 0, 19696,
24815, 33130, 0, 49644, 29995, 476, 696, 90, 4598, 2400,
1951, 2078, 0, 384, 959, 7870, 0, 23, 5848, 3514,
3670, 0, 7590, 2599, 3880, 0, 0, 0, 0, 366,
0, 0, 0, 4842, 0, 1516, 13867, 576, 63, 446,
0, 23, 0, 186, 5078, 0, 7160, 6362, 7542, 864,
0, 4574, 0, 46, 0, 6960, 111, 426, 0, 7276,
10283, 0, 422, 22695, 13992, 0, 0, 0, 0, 124864,
639, 45118, 0, 407, 88, 1722, 2134, 2012, 7003, 2266,
4662, 5920, 2783, 2462, 0, 1710, 0, 8368, 943, 10346,
0, 2284, 3755, 0, 14246, 1511, 57945, 0, 0, 0,
2397, 439, 27, 6746, 7286, 8672, 1503, 8158, 0, 128,
0, 5950, 0, 188, 7291, 6010, 36886, 0, 230, 6311,
168, 0, 0, 0, 0, 1902, 0, 176, 0, 234,
0, 3308, 7929, 0, 0, 0, 0, 0, 0, 0,
0, 4097, 0, 0, 0, 0, 0, 0, 0, 1500,
283, 0, 0, 1440, 2207, 1310, 0, 0, 0, 0,
0, 35991, 2072, 0, 86, 1006, 0, 880, 1071, 42,
0, 300, 3051, 0, 1638, 18215, 1000, 0, 0, 0,
0, 896, 1215, 766, 0, 188, 635, 0, 0, 24055,
2808, 0, 1142, 0, 0, 0, 0, 4270, 0, 6448,
2351, 106, 0, 812, 427, 0, 1958, 103, 0, 0,
0, 0, 0, 9920, 6335, 5886, 0, 828, 2427, 1658,
0, 631, 376, 0, 502, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 3804, 1243, 3482, 0, 3616,
1439, 3486, 0, 0, 0, 0, 0, 0, 344, 0,
342, 0, 248, 0, 694, 252, 59, 1658, 0, 192,
2495, 382, 438, 3068, 17787, 12986, 0, 174, 166, 6768,
0, 8426, 0, 0, 43, 9006, 294, 39, 47, 3242,
0, 2220, 1003, 6108, 7451, 2778, 0, 2327, 6175, 0,
22, 1564, 155, 1306, 0, 4000, 2399, 3486, 9174, 65,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 12928, 4920, 2046, 310, 3388,
4219, 11642, 0, 8064, 6125, 766, 246, 700, 2939, 3514,
0, 4910, 2406, 10343, 1512, 5354, 0, 4460, 1387, 1582,
2022, 432, 431, 6506, 0, 556, 7531, 2716, 6811, 4250,
0, 15392, 2975, 8286, 86, 7004, 9115, 8218, 0, 2784,
2136, 2718, 0, 2625, 0, 0, 0, 0, 0, 21,
0, 0, 0, 0, 4185, 0, 0, 0, 2845, 1390,
0, 1008, 7343, 11754, 0, 4076, 2347, 0, 0, 34087,
5608, 0, 0, 0, 0, 1920, 17151, 126, 0, 1148,
6331, 14970, 0, 30711, 1976, 0, 182, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 65,
0, 0, 0, 0, 0, 0, 0, 220, 2075, 90,
0, 2208, 6367, 2334, 0, 0, 0, 0, 0, 30551,
3160, 0, 342, 16238, 0, 1200, 9647, 1002, 0, 172,
683, 0, 166, 295, 296, 0, 0, 0, 0, 1792,
10943, 2430, 0, 11772, 10555, 1018, 0, 0, 56, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 129, 0, 0, 0, 0, 0, 0,
0, 1116, 347, 1306, 0, 9056, 1567, 1054, 0, 0,
0, 0, 0, 87, 0, 0, 86, 7388, 4251, 19006,
0, 1020, 507, 1850, 0, 4407, 22776, 0, 24630, 39575,
35608, 0, 36886, 4910, 0, 13872, 2031, 4714, 0, 2028,
2027, 26369, 20582, 4263, 20520, 0, 0, 0, 0, 4060,
475, 4734, 0, 1980, 479, 4510, 0, 35319, 34744, 0,
34934, 4311, 20888, 0, 25622, 18158, 0, 19056, 2543, 35242,
0, 28972, 34923, 5185, 38310, 38631, 38568, 0, 0, 0,
0, 17335, 20408, 0, 21942, 89751, 27544, 0, 34710, 2752,
14527, 19006, 0, 60, 3515, 1722, 0, 34497, 20390, 4647,
10664, 0, 0, 0, 0, 4590, 0, 0, 495, 4522,
0, 556, 17835, 38327, 23480, 0, 34614, 20375, 20376, 0,
21398, 64, 1023, 4698, 0, 0, 1311, 4702, 0, 257,
34662, 100071, 22632, 0, 0, 0, 0, 18478, 0, 2416,
2799, 35434, 0, 34540, 16811, 12462, 0, 12464, 11183, 3050,
0, 556, 9323, 2497, 35110, 167, 25768, 0, 0, 0,
0, 19392, 16255, 28826, 0, 444, 5855, 1082, 0, 183,
39096, 0, 35958, 93463, 12248, 0, 31702, 14126, 0, 16880,
10671, 29354, 0, 5292, 15979, 1921, 32742, 94951, 7400, 0,
0, 0, 0, 12160, 3675, 12798, 0, 10428, 12475, 12666,
0, 58359, 3768, 0, 14582, 9175, 38040, 0, 83158, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 21175, 5211, 21850, 0, 1532, 507, 2206,
0, 9088, 2360, 6782, 30710, 13884, 370939, 3642, 75478, 3374,
2150, 7920, 111, 2282, 19782, 2055, 0, 33153, 36518, 3824,
9896, 24618, 0, 4012, 7311, 2432, 2111, 3902, 0, 2748,
2072, 3614, 342, 20124, 104603, 1050, 72118, 34839, 6879, 5918,
35030, 4865, 0, 139824, 7727, 32170, 0, 19285, 3115, 34817,
72486, 12071, 87961, 0, 0, 0, 1757, 249216, 4287, 90878,
28918, 25742, 13464, 14074, 88086, 4480, 37496, 22106, 0, 188,
3935, 1479, 0, 41034, 37286, 40396, 7435, 2346, 0, 58448,
102827, 2030, 294, 112, 47, 2090, 12934, 0, 9643, 10972,
21979, 3930, 65334, 23063, 30623, 1630, 35158, 284, 3355, 3838,
0, 288, 671, 3770, 0, 34881, 81254, 1575, 30888, 0,
0, 0, 0, 36097, 0, 5040, 4783, 37034, 0, 89964,
4267, 4142, 0, 27632, 9135, 874, 0, 2028, 10411, 769,
8998, 94375, 11176, 0, 0, 0, 0, 22592, 30783, 98522,
0, 1532, 13883, 15518, 8, 116215, 27640, 524, 29686, 31374,
12056, 4624, 18383, 5486, 0, 9200, 14703, 1002, 0, 5356,
5419, 12097, 4326, 1319, 616, 0, 0, 0, 0, 27100,
16987, 18650, 0, 0, 12639, 9758, 0, 247, 10360, 0,
6390, 12439, 536, 0, 30870, 226926, 0, 1264, 243439, 17550,
0, 35792, 116431, 1153, 294, 8295, 2152, 0, 3526, 15559,
3912, 29952, 1023, 4620, 523, 2638, 4091, 8016, 399, 3703,
120, 0, 54, 0, 198, 71, 2568, 0, 0, 0,
0, 0, 0, 0, 0, 129, 0, 0, 0, 0,
0, 0, 0, 5980, 2523, 218, 0, 1696, 1055, 0,
0, 0, 0, 0, 0, 343, 344, 0, 0, 284,
155, 1306, 0, 1312, 543, 926, 0, 0, 0, 0,
0, 3415, 408, 0, 790, 0, 0, 0, 0, 0,
0, 0, 0, 2497, 0, 0, 0, 0, 0, 0,
0, 1920, 191, 190, 0, 124, 0, 58, 0, 38519,
312, 0, 1782, 0, 0, 0, 0, 494, 0, 50736,
303, 746, 0, 13740, 7275, 0, 166, 3815, 808, 0,
0, 0, 0, 577, 0, 2544, 495, 215, 1688, 1964,
1195, 92, 27, 410, 0, 32, 31, 542, 0, 1984,
1919, 6910, 0, 2748, 59, 19322, 0, 0, 0, 0,
537, 0, 0, 0, 1117, 9911, 312, 0, 0, 0,
0, 0, 0, 128, 45, 446, 0, 0, 1257, 186,
0, 3036, 0, 2741, 0, 10144, 799, 414, 0, 1646,
0, 0, 61, 426, 24, 15020, 57, 183, 0, 0,
438, 0, 0, 0, 0, 7425, 6975, 7166, 0, 3836,
763, 378, 0, 2012, 422, 922, 1896, 608, 159, 158,
0, 4142, 0, 112, 4335, 3498, 0, 4972, 3350, 3502,
0, 1072, 2351, 234, 344, 4396, 1558, 1948, 102, 474,
232, 7008, 2527, 1502, 0, 5440, 4031, 638, 0, 3964,
59, 0, 0, 183, 56, 0, 118, 0, 0, 0,
0, 9728, 511, 19774, 0, 188, 635, 314, 0, 567,
4216, 0, 1142, 0, 0, 0, 0, 2606, 0, 3888,
47, 10218, 0, 2668, 1387, 0, 1574, 743, 1576, 0,
0, 0, 0, 540, 539, 8218, 0, 6688, 543, 48414,
0, 0, 0, 0, 0, 151, 1368, 0, 2582, 0,
0, 0, 0, 0, 0, 0, 0, 769, 0, 0,
0, 0, 0, 0, 0, 704, 9023, 382, 0, 60,
187, 1082, 0, 5879, 9400, 0, 118, 0, 169, 0,
0, 686, 0, 3445, 431, 19498, 0, 428, 1195, 0,
806, 18855, 6525, 0, 0, 0, 1913, 129, 5147, 2778,
0, 2656, 4511, 30, 0, 0, 0, 0, 0, 87,
408, 0, 982, 0, 0, 0, 0, 0, 0, 21,
0, 385, 0, 0, 1561, 0, 0, 0, 8477, 229,
120, 0, 246, 0, 0, 0, 0, 9664, 0, 382,
0, 380, 0, 1018, 0, 0, 486, 1447, 0, 0,
0, 0, 0, 3246, 0, 0, 0, 170, 0, 0,
0, 0, 0, 0, 0, 663, 408, 0, 1302, 796,
27, 2138, 0, 928, 3423, 734, 0, 1729, 0, 0,
0, 0, 0, 149, 0, 0, 0, 0, 729, 0,
0, 0, 0, 494, 0, 6832, 6127, 0, 0, 4460,
4459, 0, 870, 167, 360, 0, 0, 0, 0, 192,
4671, 446, 0, 4156, 7227, 1530, 0, 183, 120, 0,
118, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 129, 0, 0, 0, 0, 0, 0,
0, 1180, 1051, 666, 0, 736, 351, 606, 0, 0,
0, 0, 0, 343, 24, 0, 22, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 11438, 0, 13104, 6831, 12074, 0, 11628, 8107, 0,
7910, 39, 12520, 0, 0, 0, 0, 12352, 2815, 17086,
0, 11388, 11899, 13562, 0, 1975, 13688, 0, 28982, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1409, 0, 0, 0, 0, 0, 0, 0, 11484,
5723, 6426, 0, 14368, 11103, 23582, 0, 0, 0, 0,
0, 2775, 8408, 0, 27862, 2049, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 7061, 0, 0,
0, 0, 23449, 0, 0, 0, 17565, 19237, 0, 0,
0, 0, 0, 0, 0, 0, 3629, 0, 0, 0,
8489, 0, 0, 0, 0, 7093, 0, 0, 0, 0,
0, 0, 0, 0, 5949, 0, 0, 0, 3321, 41472,
11839, 20158, 0, 1724, 1723, 3770, 0, 3895, 22520, 0,
22710, 0, 0, 0, 0, 4590, 0, 11760, 1455, 4970,
0, 1516, 1515, 0, 6886, 3047, 9384, 0, 0, 0,
0, 3932, 4059, 11290, 0, 21344, 4063, 11742, 0, 0,
0, 0, 0, 8535, 20760, 0, 20758, 0, 0, 0,
0, 0, 0, 0, 0, 3457, 0, 0, 0, 0,
0, 0, 0, 11191, 19896, 0, 14582, 0, 0, 0,
0, 39552, 37695, 32190, 0, 15740, 102203, 15610, 0, 0,
2918, 3815, 6376, 0, 0, 0, 0, 15982, 0, 16432,
16047, 16234, 0, 16812, 173099, 0, 0, 0, 0, 4439,
25816, 0, 20822, 21340, 13915, 151898, 0, 17376, 20063, 19678,
0, 12417, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 3621, 0, 0,
310, 0, 0, 0, 0, 3201, 47341, 190, 0, 188,
95611, 2042, 0, 17052, 3803, 22311, 936, 352, 12678, 13534,
328, 89006, 0, 88560, 98607, 28750, 152, 33168, 27663, 19950,
0, 496, 13807, 343, 0, 300, 1963, 284, 1254, 679,
168, 0, 5471, 478, 0, 1089, 3327, 2686, 0, 3388,
3579, 1274, 0, 55, 2680, 0, 3481, 0, 0, 0,
3549, 36544, 959, 32396, 189963, 35836, 571, 21306, 7503, 769,
2861, 0, 182, 0, 233, 7, 72, 10762, 0, 16245,
3247, 7594, 0, 3664, 34411, 0, 102, 5159, 19965, 0,
646, 2439, 328, 2332, 155, 1242, 0, 1888, 735, 3230,
0, 0, 0, 0, 0, 151, 0, 0, 0, 0,
0, 0, 0, 0, 0, 14357, 0, 513, 0, 0,
7385, 0, 0, 0, 26653, 11356, 667, 150938, 0, 157024,
12127, 9246, 0, 0, 0, 0, 0, 3287, 5464, 0,
15062, 3713, 0, 0, 0, 0, 24710, 4871, 11144, 14218,
0, 9868, 156427, 5070, 0, 14992, 14479, 150656, 3071, 7358,
0, 3836, 6587, 19770, 0, 1463, 91192, 0, 91126, 0,
0, 0, 0, 20014, 0, 151728, 5743, 7786, 0, 2220,
2283, 0, 8998, 0, 24680, 0, 0, 0, 0, 3950,
0, 24716, 16623, 974, 856, 1324, 90326, 12289, 486, 39,
104, 864, 10911, 9415, 72, 22794, 63, 9292, 15051, 13052,
1595, 1082, 15055, 4535, 0, 0, 54, 0, 29062, 2951,
13576, 3063, 9528, 0, 14582, 0, 0, 0, 0, 25472,
13183, 9790, 0, 22140, 7547, 2874, 0, 1500, 6246, 3047,
4200, 352, 1055, 478, 0, 3054, 0, 156336, 26479, 0,
0, 19692, 43};