15
14
7
6
7
13
16
21
30
30
30
30
30
25
19
23
23
22
21
17
17
18
20
20
20
21
22
22
22
22
22
22
22
22
22
24
27
28
29
31
31
30
30
28
27
25
25
26
28
28
28
28
28
28
28
28
28
29
29
29
28
28
27
26
25
21
18
18
18
17
17
17
16
16
16
16
16
16
17
17
18
18
18
18
18
18
18
18
18
17
17
17
17
17
17
17
17
17
17
17
17
17
15
14
14
14
14
14
14
14
14
14
13
13
13
13
12
11
13
13
13
13
13
11
11
13
14
15
16
18
19
19
19
18
16
13
11
11
11
11
11
12
12
10
10
8
7
6
6
6
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
7
7
7
7
7
8
8
12
12
12
12
12
12
12
11
8
7
7
8
9
10
10
8
7
8
14
14
13
12
12
11
11
9
9
9
9
11
12
12
12
13
13
12
12
12
12
11
11
11
10
10
11
11
11
11
10
9
11
13
14
15
15
15
15
15
15
14
12
13
14
16
17
20
24
24
23
23
22
22
21
21
21
21
21
21
21
21
20
20
20
19
18
15
14
13
13
13
16
18
18
18
18
19
19
19
19
19
18
18
18
18
18
18
18
18
20
21
21
20
20
20
19
19
19
20
21
21
21
21
21
23
23
24
23
23
14
14
13
13
16
19
21
29
32
32
32
32
33
33
33
34
35
35
35
36
37
38
38
34
31
27
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
27
27
28
29
29
30
30
31
33
33
33
33
33
33
31
30
28
24
23
22
22
22
21
19
18
16
15
14
13
12
9
8
8
8
8
8
7
9
9
9
9
10
10
11
11
11
11
11
11
11
11
11
10
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
10
13
15
15
15
15
16
16
16
16
16
16
20
20
19
19
18
18
19
20
20
20
20
21
21
21
22
22
21
19
19
18
18
16
15
15
15
15
15
15
15
15
15
15
19
20
22
22
21
21
20
19
18
15
17
19
20
21
22
22
23
24
24
25
26
26
26
26
26
26
26
24
24
24
24
23
23
23
23
23
22
22
21
18
18
18
18
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
19
17
16
17
17
18
18
20
20
20
20
20
19
19
19
19
19
19
19
19
18
17
17
17
17
17
17
17
16
16
16
16
16
13
13
12
12
12
10
10
10
10
11
11
12
12
12
14
16
16
18
19
20
21
23
23
24
25
27
28
34
35
29
26
26
25
24
23
23
22
22
22
20
17
17
16
16
15
14
14
14
14
16
16
17
17
17
16
15
14
12
12
12
11
10
9
8
8
8
7
6
6
6
6
6
6
7
7
7
7
7
7
8
8
8
8
8
9
10
10
10
11
10
9
6
6
6
6
7
7
7
8
8
8
8
8
7
7
7
8
10
13
15
16
17
20
24
25
26
26
29
29
30
30
30
31
32
33
33
38
39
44
50
50
51
52
52
55
57
58
59
60
62
63
63
63
62
62
61
60
59
59
58
57
57
56
55
55
54
54
54
54
53
51
51
48
43
42
35
34
33
32
31
29
29
27
26
26
24
24
24
23
19
16
15
13
8
8
10
11
11
12
14
19
21
23
26
31
34
37
35
30
30
29
27
20
20
22
23
24
25
25
25
26
26
26
27
27
28
29
29
29
28
28
28
28
28
28
28
28
29
29
29
30
30
32
31
30
27
26
26
25
25
24
24
23
23
23
20
20
19
18
17
16
16
15
15
15
15
15
16
18
19
21
22
21
21
20
19
19
17
15
15
14
12
8
8
10
11
12
13
13
13
17
18
19
17
16
16
16
15
15
15
15
15
14
14
14
14
13
13
13
13
13
14
14
14
13
13
10
9
7
6
9
13
14
20
21
22
21
21
20
18
18
17
16
16
16
16
17
17
22
26
26
32
33
33
33
32
32
31
31
30
29
29
29
28
27
27
26
23
23
22
21
21
20
20
21
22
22
24
27
28
28
29
30
31
31
31
30
30
27
26
26
26
28
33
33
33
34
35
36
36
36
35
35
36
38
48
59
61
66
69
68
64
61
60
59
57
57
56
56
56
56
56
55
54
53
53
50
49
48
47
45
44
40
39
38
37
37
36
36
36
36
36
36
36
36
36
35
34
33
26
21
17
18
19
20
20
21
22
22
22
22
22
21
20
19
17
16
15
14
14
13
12
12
12
13
13
13
14
14
14
14
14
13
10
10
11
11
11
11
12
14
16
18
21
20
20
17
19
19
26
27
28
29
33
33
33
33
33
33
34
34
34
31
30
29
28
25
25
25
26
26
26
26
26
27
27
27
26
25
24
24
23
22
21
20
20
20
20
20
21
21
21
23
23
23
23
23
23
24
25
26
26
26
26
27
27
27
28
28
28
28
28
27
27
27
27
26
26
26
27
27
27
27
30
31
31
31
31
31
30
29
29
27
27
27
27
28
28
28
28
29
29
29
29
29
29
28
27
27
27
26
25
25
24
23
23
22
21
21
19
19
19
18
17
17
14
14
13
13
13
12
12
12
12
12
11
10
10
9
9
8
7
7
6
5
4
5
11
9
9
9
9
9
9
9
6
6
7
9
7
6
6
8
7
7
8
8
8
9
9
8
10
10
11
10
9
8
9
9
7
7
7
7
7
7
7
7
7
7
7
8
8
12
16
17
19
19
19
19
20
20
20
20
20
20
20
20
21
21
21
21
20
20
19
20
20
22
23
26
27
28
30
30
31
31
32
32
32
33
34
35
35
35
36
38
40
42
43
48
48
48
48
49
50
50
52
52
54
59
60
60
60
60
60
60
60
60
60
61
62
62
62
63
63
63
64
64
62
62
62
62
62
62
62
62
63
64
64
66
68
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
69
69
69
67
67
67
66
66
64
64
63
60
58
57
56
50
48
48
46
46
41
40
40
38
37
37
38
38
39
39
39
41
41
41
42
43
44
44
44
43
43
43
44
44
50
51
57
58
59
59
60
60
62
62
62
62
63
63
63
63
63
63
63
64
64
62
62
61
58
57
58
58
63
65
67
67
66
66
66
66
65
65
65
64
64
63
55
55
56
56
56
56
56
53
53
52
51
49
48
48
46
45
45
45
45
45
41
40
39
28
24
23
22
21
15
14
14
13
12
13
13
14
15
15
15
15
15
15
15
15
16
16
18
22
25
26
29
35
38
44
46
49
51
52
56
58
63
64
66
66
68
70
71
72
74
78
82
83
84
85
92
94
95
95
96
97
103
106
108
112
113
113
114
119
121
121
122
125
125
127
127
128
131
132
134
135
135
144
144
148
148
149
153
154
155
156
167
170
174
173
172
171
171
170
170
169
169
169
169
168
168
167
167
167
164
163
161
157
156
154
149
145
143
135
134
134
133
133
133
133
132
128
128
128
126
126
125
125
125
125
124
124
123
123
122
122
122
122
122
122
122
122
121
120
116
116
114
114
114
114
113
113
112
113
115
120
120
119
120
121
121
122
123
123
123
126
128
131
132
134
135
136
140
140
140
140
140
140
139
139
138
138
138
135
133
133
135
135
138
139
146
149
149
150
150
151
151
149
145
142
139
135
131
128
124
120
116
115
114
112
110
108
108
108
110
110
111
111
111
111
110
110
109
108
107
103
94
93
92
92
91
90
89
88
87
86
83
82
80
79
77
76
73
71
70
65
64
59
59
58
56
55
54
48
45
41
39
36
32
25
25
25
25
26
28
28
28
28
28
28
28
28
28
28
28
28
28
27
26
22
20
20
20
19
17
17
17
15
14
14
13
10
10
10
10
11
11
11
11
20
20
21
22
27
28
27
26
24
24
25
25
22
18
14
12
12
11
11
11
11
12
12
13
14
16
16
16
16
16
15
15
15
14
14
14
10
10
9
9
9
9
10
10
11
11
11
11
10
10
10
10
9
9
9
9
10
11
12
12
13
16
16
17
19
19
20
20
20
28
36
39
40
40
47
47
45
43
42
38
38
38
38
38
37
36
37
37
39
37
30
25
23
24
25
25
26
27
28
29
28
26
26
23
23
20
20
20
20
21
22
22
21
19
18
17
17
17
17
17
17
23
26
26
26
26
26
25
25
25
25
25
23
22
22
22
22
22
17
11
11
10
10
9
9
8
8
7
7
7
7
7
7
7
7
7
7
7
7
7
7
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
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
6
6
6
6
5
5
5
5
5
5
5
5
5
5
2
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
5
7
7
7
3
7
7
7
7
7
7
6
6
8
8
8
8
8
8
8
8
8
8
8
8
8
8
7
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
5
5
5
5
5
5
5
5
5
5
5
6
5
4
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
5
4
4
4
5
5
5
5
5
6
5
4
4
3
2
3
3
3
4
4
4
4
3
2
3
3
3
3
3
3
3
3
3
3
2
2
2
2
2
2
2
2
4
5
9
11
11
10
10
10
9
8
8
6
4
2
2
2
2
2
3
2
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
2
2
3
3
3
3
3
3
3
3
3
4
5
5
6
8
8
8
8
8
8
8
8
8
19
20
20
21
22
23
24
25
26
26
26
27
28
28
29
29
28
27
26
24
24
9
8
8
9
9
9
9
9
9
8
8
8
10
12
13
13
14
14
15
15
17
17
17
17
17
14
14
13
12
12
12
12
12
12
13
14
14
15
16
16
16
16
17
17
17
17
18
18
19
20
20
21
22
23
26
30
31
32
32
32
32
34
34
35
35
35
37
41
42
44
45
45
45
44
42
40
40
37
36
36
33
32
31
30
30
30
30
30
30
30
30
30
30
30
32
39
39
40
42
43
43
43
43
43
44
44
45
47
47
47
47
47
47
47
47
47
46
46
46
46
46
46
46
46
46
45
45
44
44
43
47
48
49
53
54
54
55
56
58
59
60
61
61
61
61
61
61
61
61
61
61
60
60
60
59
58
58
57
57
57
57
57
57
57
58
58
58
58
58
59
59
59
59
59
59
59
59
59
59
59
59
58
57
57
56
55
53
53
53
53
53
53
53
53
53
54
55
58
62
63
63
64
64
64
63
63
63
62
62
62
62
62
62
62
62
62
62
65
66
67
70
72
75
76
78
82
83
84
89
89
90
90
90
90
89
89
89
89
89
89
89
89
89
89
89
91
91
92
102
108
108
107
111
111
110
107
107
106
106
106
107
109
110
111
111
112
112
112
112
112
113
113
112
109
108
107
106
105
104
103
102
101
99
101
103
105
107
108
110
112
117
119
116
116
116
116
116
116
116
116
116
116
116
116
116
116
117
118
118
117
116
112
113
113
113
120
126
128
128
132
131
132
142
151
153
155
159
165
186
190
192
200
209
209
209
209
209
209
207
205
204
206
207
208
211
216
217
219
224
232
235
237
250
256
258
260
265
267
270
276
283
285
286
288
289
293
294
295
300
305
306
302
303
304
305
306
306
307
316
320
325
326
327
327
328
328
329
331
332
333
335
336
336
337
337
339
341
342
343
344
345
345
352
353
354
354
355
356
357
358
359
361
362
364
365
366
373
374
375
376
377
378
379
381
382
384
385
386
388
390
392
393
395
396
396
397
397
398
398
398
399
399
399
401
402
405
408
411
415
415
415
416
416
416
416
416
417
418
419
422
429
432
434
436
437
438
441
445
445
447
447
447
447
448
448
449
449
449
450
451
452
452
453
453
453
453
453
453
453
453
453
453
453
453
453
453
454
455
458
461
462
465
466
466
466
466
467
467
468
470
475
485
486
486
491
492
495
495
496
496
496
496
497
497
498
498
500
502
503
503
504
505
505
507
507
508
508
509
509
509
510
510
511
511
512
513
514
514
517
518
519
523
525
527
528
530
530
531
531
532
532
536
537
538
538
540
543
545
549
549
550
551
552
554
555
556
561
563
569
569
569
571
572
574
575
576
580
581
582
592
592
593
595
597
598
599
600
601
602
603
603
605
606
607
607
607
609
610
613
618
621
628
643
644
645
645
647
649
656
656
657
662
663
666
667
669
670
675
676
679
680
683
685
686
687
688
689
689
690
690
694
695
695
696
696
701
702
702
703
704
705
706
707
709
713
714
719
720
723
724
725
726
727
727
728
728
729
730
731
732
733
736
739
744
746
747
748
750
752
753
754
754
755
755
756
756
762
763
763
764
767
771
772
774
775
775
777
777
778
785
786
786
787
788
788
789
791
792
792
792
794
796
796
797
797
803
803
804
804
810
812
818
822
823
823
824
824
825
825
832
832
832
832
833
834
835
838
838
842
842
844
848
849
852
854
855
857
858
862
863
863
864
864
865
867
877
877
878
878
879
884
885
885
886
886
886
886
886
887
887
887
887
887
887
886
886
886
885
886
885
884
882
874
870
867
865
864
864
862
862
861
860
842
840
839
838
838
838
838
837
837
836
836
836
835
835
835
833
832
832
832
831
831
828
827
826
826
825
824
822
821
821
816
814
811
810
809
808
807
806
806
802
801
795
793
790
788
785
780
771
769
767
765
765
764
762
761
760
760
758
757
756
754
751
749
746
739
738
736
734
733
730
728
727
722
721
720
719
715
714
714
712
712
711
711
710
710
710
711
712
712
712
713
713
713
713
713
713
715
715
717
717
717
719
721
722
723
723
724
725
727
728
729
731
733
735
742
742
742
742
743
744
749
752
753
754
755
757
757
758
759
759
759
759
759
759
759
757
757
755
755
755
754
753
753
751
750
749
748
747
745
744
743
741
740
740
739
733
733
732
732
731
730
730
730
728
727
727
726
725
724
721
716
714
707
705
703
703
702
699
696
691
685
682
676
670
666
661
658
653
650
645
643
641
639
636
635
634
631
630
629
628
625
623
618
609
608
607
606
604
603
602
602
597
596
595
595
594
593
592
591
586
582
579
578
576
574
570
568
562
562
562
561
560
559
558
557
557
552
550
550
550
549
549
548
547
541
540
539
535
530
527
526
524
522
520
518
515
515
514
514
512
511
510
510
512
514
517
519
521
524
525
527
528
530
532
534
535
537
540
541
542
544
550
550
551
552
552
553
553
554
555
555
555
555
555
556
556
557
557
557
558
558
558
559
559
559
561
562
562
562
562
563
563
563
564
564
564
564
574
584
585
586
587
589
591
617
619
622
624
637
640
643
645
651
653
655
662
664
666
670
672
681
688
692
695
696
699
700
700
700
700
701
701
702
703
703
703
703
703
703
703
703
703
704
704
705
706
707
707
707
708
708
708
707
707
703
702
702
695
693
692
686
685
685
684
683
682
682
682
683
683
683
683
683
682
682
681
681
681
681
680
680
680
679
678
678
678
674
673
673
671
672
672
671
668
667
667
665
664
661
660
653
652
649
648
644
643
644
644
645
644
643
642
643
646
650
651
651
651
651
652
652
652
653
653
653
653
654
654
654
654
654
653
653
651
651
648
644
644
642
641
640
639
639
638
637
637
637
639
639
639
642
644
647
649
652
653
653
653
653
653
653
653
653
652
652
651
649
648
648
647
647
647
649
648
647
646
646
641
640
639
637
633
632
630
628
625
622
620
618
618
617
617
614
613
613
612
612
610
610
609
606
606
605
604
603
602
601
593
592
591
589
586
586
585
585
585
587
588
600
602
605
606
607
607
604
602
602
601
599
599
597
597
596
596
593
592
590
589
588
586
584
581
581
581
582
582
583
583
584
585
586
587
588
590
590
591
591
591
591
591
590
590
590
589
589
589
589
589
593
593
593
592
590
589
588
587
586
586
584
583
581
581
579
577
575
575
573
573
573
573
572
572
571
570
569
568
567
567
566
566
564
562
557
555
553
546
545
545
545
545
544
543
543
542
541
540
540
539
538
537
536
534
533
533
533
532
532
532
531
531
530
530
529
528
528
528
527
527
528
528
528
528
528
526
526
525
519
517
516
515
514
514
512
511
510
508
507
507
506
503
501
499
497
496
495
494
494
493
492
491
489
488
487
486
483
482
481
479
477
473
472
467
466
466
462
458
457
456
455
454
454
453
453
451
450
449
447
446
446
444
441
440
439
437
434
432
429
427
421
415
412
411
411
410
408
407
406
406
405
394
392
390
389
389
388
387
386
385
384
380
377
374
372
371
371
370
369
369
369
362
361
360
359
358
357
356
355
340
335
328
327
326
323
321
319
318
315
314
313
311
310
309
308
303
303
301
300
300
300
300
299
299
299
298
298
298
296
295
294
293
289
289
288
287
287
284
283
283
280
279
276
275
273
272
272
270
270
269
269
268
268
267
266
266
265
264
264
263
263
263
262
262
262
261
261
259
259
258
257
250
246
245
245
243
242
241
239
238
237
236
236
234
233
233
232
231
230
229
228
227
226
222
221
220
220
219
213
210
209
205
198
193
182
179
177
175
175
174
174
174
173
170
170
169
169
168
163
156
154
152
149
145
141
137
124
123
122
125
123
120
119
118
112
111
95
86
86
85
85
83
80
78
73
71
71
71
71
71
71
71
71
71
71
71
71
73
75
75
76
76
76
75
75
74
74
74
73
73
69
69
68
61
62
62
64
65
65
65
65
64
62
61
60
60
59
59
57
56
56
55
54
54
53
47
46
49
50
50
51
50
47
47
47
47
47
47
47
46
45
43
41
41
40
39
39
39
38
38
38
38
38
39
39
39
40
40
42
42
42
42
42
42
42
42
42
42
42
42
42
42
41
41
41
41
40
39
39
39
38
37
37
37
37
37
37
37
37
38
38
38
38
40
40
42
42
43
43
43
43
43
44
44
44
44
44
44
48
50
52
53
53
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
56
56
58
59
59
59
59
59
59
60
60
62
63
63
63
65
66
67
67
67
69
69
73
73
75
75
75
77
77
77
79
79
80
81
81
86
87
87
87
88
89
90
90
91
98
109
109
107
105
104
102
99
95
94
93
93
93
94
95
96
100
100
101
102
103
104
105
105
104
101
96
90
89
88
87
88
89
92
91
91
91
91
91
91
91
91
91
91
92
92
88
87
85
84
84
84
85
87
86
83
80
79
79
78
77
77
77
77
75
73
70
69
69
69
69
69
69
69
68
68
68
68
68
68
68
68
69
70
70
70
70
70
70
70
70
70
69
68
67
65
65
66
66
67
67
67
68
68
68
68
68
68
54
52
51
42
40
39
31
31
31
30
28
28
27
25
24
22
17
16
16
15
15
14
14
14
8
8
6
9
12
17
18
18
18
18
17
16
15
14
10
10
9
9
8
7
6
6
6
6
5
5
5
5
5
5
5
5
5
6
6
6
7
8
9
10
10
11
11
11
11
11
12
14
14
13
11
9
3
4
5
6
8
8
6
4
2
6
7
7
7
7
8
8
15
16
16
16
16
16
16
16
16
16
16
16
17
18
18
19
17
16
16
16
15
14
14
15
18
18
18