16
15
15
15
11
8
8
8
8
8
8
11
12
12
14
15
16
17
17
17
19
21
22
24
26
26
26
28
29
30
30
29
28
28
28
28
28
28
28
29
32
32
33
34
37
38
39
39
42
45
47
52
56
57
59
60
62
62
62
62
64
67
68
70
72
73
74
76
82
86
92
97
101
104
107
108
110
121
123
123
133
133
137
139
140
140
140
140
140
140
140
140
139
140
139
139
138
138
138
136
134
135
135
136
136
139
139
143
143
145
148
154
156
157
159
164
167
172
178
182
185
186
186
186
186
186
186
184
184
184
182
182
180
179
177
176
174
173
172
172
170
169
168
168
168
168
167
167
166
164
164
161
154
153
153
152
152
152
152
152
152
151
151
150
150
150
149
149
149
149
148
147
145
141
139
136
133
130
126
124
123
106
103
101
97
92
89
85
82
80
73
71
70
68
66
63
61
60
59
59
58
58
57
55
54
53
51
49
39
37
37
35
32
21
18
16
6
3
3
3
3
3
3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
2
3
4
5
6
9
10
12
13
15
18
19
21
23
24
25
25
26
28
28
32
34
38
39
41
42
43
44
45
46
48
49
50
51
51
51
51
51
51
51
51
51
52
52
54
57
58
56
55
55
55
51
50
49
46
45
44
42
41
41
40
39
38
37
35
35
35
35
35
35
34
34
34
34
34
34
32
32
32
31
31
28
26
25
23
23
21
21
20
20
20
21
21
22
23
23
23
24
24
26
26
27
28
29
29
30
27
25
23
20
17
16
15
15
15
16
17
17
18
18
18
19
19
19
20
20
21
21
22
22
22
22
22
22
24
24
24
26
26
26
27
27
27
28
28
28
30
31
32
32
34
37
38
42
44
46
52
53
56
59
60
60
60
60
60
61
63
64
66
66
67
67
67
69
70
71
72
74
74
76
77
77
78
78
78
78
78
78
78
78
77
77
77
77
77
77
77
77
77
77
76
75
74
74
74
74
74
73
73
71
71
71
70
70
70
72
73
73
73
73
73
73
73
74
75
75
75
75
76
76
77
77
77
78
79
81
87
95
91
85
83
83
83
83
83
83
83
83
83
82
81
60
59
57
56
54
54
47
45
44
44
45
46
48
48
48
48
48
48
49
53
55
60
63
62
60
54
36
16
16
50
52
54
58
59
62
63
64
65
70
73
76
78
80
83
84
85
87
87
88
90
91
92
96
101
106
111
114
115
117
118
120
122
127
130
132
134
136
138
139
140
141
141
142
142
143
143
143
144
146
146
147
149
151
154
154
153
154
156
157
158
159
161
164
166
168
170
169
167
164
163
162
166
170
171
172
174
175
176
178
180
180
181
182
183
183
188
191
191
191
192
192
193
196
198
200
200
201
204
205
206
211
212
213
215
216
217
219
220
225
225
225
225
224
224
223
221
219
216
214
212
211
211
211
210
210
210
208
207
206
205
204
203
203
202
202
205
206
207
208
209
210
213
215
218
219
222
226
230
231
232
232
230
231
231
236
239
237
233
234
235
235
236
236
239
242
246
248
252
253
254
254
254
252
250
247
245
245
244
241
240
239
239
239
240
241
242
242
242
242
243
243
244
244
244
244
243
243
243
243
243
242
241
240
238
238
237
236
240
243
245
247
249
252
253
253
252
250
250
249
248
243
241
238
233
230
230
227
225
224
223
223
223
223
223
223
223
223
225
234
234
237
238
239
239
239
239
239
239
240
240
241
241
242
248
249
250
255
257
258
260
260
263
264
265
265
266
270
270
272
273
274
276
278
281
282
284
285
287
290
300
302
304
307
310
311
311
313
315
323
324
324
325
326
329
330
330
331
331
334
335
336
338
341
342
346
349
350
352
353
354
357
358
360
364
365
366
367
368
369
370
372
382
384
385
387
389
391
393
394
398
406
411
412
415
415
417
417
418
419
420
423
424
428
430
433
437
437
438
440
442
445
451
455
458
461
463
468
473
476
475
474
478
491
496
498
504
508
511
513
518
520
520
523
525
530
532
534
534
539
541
546
553
553
554
557
564
570
573
576
580
586
586
587
590
591
592
594
596
597
601
602
602
602
602
602
602
601
601
600
599
601
603
604
606
607
608
609
611
612
614
616
618
618
619
619
621
628
639
646
650
655
657
659
662
666
680
685
688
709
712
713
718
721
723
724
725
727
729
729
730
734
734
735
741
742
744
746
746
746
744
744
744
745
742
745
746
753
758
760
762
763
769
775
778
782
784
787
791
789
787
786
787
790
792
799
807
810
828
838
840
843
856
857
857
862
864
865
867
873
874
875
876
876
878
880
882
883
883
883
883
871
867
867
866
865
864
866
869
872
871
871
871
870
867
865
863
862
857
854
852
852
850
850
860
861
858
856
854
853
865
866
868
870
871
871
871
871
870
869
868
867
869
872
874
877
877
881
885
889
892
893
894
897
902
905
909
911
914
914
914
914
914
916
923
926
929
930
929
928
926
925
929
929
929
927
915
911
908
907
917
918
919
919
913
908
899
895
892
889
879
878
876
876
876
875
874
874
875
870
866
862
847
835
832
831
824
820
819
819
818
818
816
815
813
810
807
801
799
799
796
795
794
792
788
786
783
781
774
771
774
778
771
767
769
771
772
778
784
787
795
802
814
817
820
826
828
832
832
831
831
829
829
828
823
822
821
819
819
819
819
819
819
819
820
822
825
825
820
819
818
818
818
818
819
820
820
820
821
821
821
821
821
820
813
814
816
816
815
815
817
818
821
823
833
833
831
829
828
827
827
826
825
824
824
826
830
831
833
834
834
835
836
836
836
832
831
831
829
828
828
828
828
828
828
828
828
828
827
827
824
823
822
822
822
824
825
825
822
819
817
806
802
798
792
792
792
791
792
798
803
807
809
804
801
799
798
795
791
792
793
795
798
798
795
793
786
779
778
776
775
775
772
761
756
754
752
744
742
741
742
742
742
742
742
720
715
706
705
704
704
705
709
711
713
714
716
716
718
721
725
728
739
744
744
744
746
745
742
741
737
733
731
731
731
731
731
730
730
728
727
726
726
726
726
725
725
725
724
724
724
725
726
727
727
726
725
725
723
722
722
721
721
722
722
724
724
721
720
720
720
720
721
720
719
717
717
715
711
709
707
705
705
704
697
695
695
695
695
695
695
695
695
695
695
695
695
696
696
697
700
700
702
704
706
707
704
703
703
704
704
706
707
707
707
707
708
708
708
708
707
706
703
705
706
708
709
709
709
709
710
711
712
716
719
723
737
739
740
742
748
755
760
766
772
772
772
773
773
774
779
784
785
789
792
794
797
800
802
804
809
811
812
815
820
822
824
825
826
827
828
830
833
845
846
847
848
850
851
851
851
852
855
862
866
868
870
870
869
870
869
864
859
865
868
871
873
875
876
878
882
883
882
882
889
892
897
898
897
895
890
887
882
880
877
872
867
864
862
854
853
852
850
849
846
842
843
845
846
847
845
844
843
839
836
839
839
834
831
829
831
826
811
804
804
802
801
799
795
793
791
786
786
786
786
786
785
784
783
782
782
782
783
784
787
788
789
789
789
790
791
792
793
793
793
793
793
793
794
795
796
790
787
784
777
776
773
773
772
772
771
770
770
768
767
766
765
764
764
764
764
765
765
765
765
767
768
770
773
771
769
768
762
759
758
757
755
753
751
750
748
747
744
743
743
743
743
743
742
740
739
739
737
732
727
725
724
722
721
719
719
717
716
714
713
712
710
710
709
709
709
705
703
701
699
697
693
693
692
691
690
672
669
669
667
662
658
656
655
655
655
655
654
654
654
654
654
657
657
657
655
654
652
651
650
648
649
646
641
639
634
633
625
624
622
609
605
599
597
596
592
592
591
590
590
588
586
583
583
583
583
581
579
577
577
577
577
576
574
574
572
572
572
572
570
568
568
567
567
566
565
565
565
565
564
563
564
564
563
562
561
562
563
564
565
565
565
565
565
564
564
564
564
562
559
556
553
549
549
550
550
551
552
554
554
555
555
550
548
545
543
541
540
540
540
540
540
540
540
540
540
541
541
541
541
541
540
539
539
540
541
541
541
542
543
543
545
547
550
553
554
556
554
553
552
550
549
549
548
548
551
561
563
565
567
563
563
563
563
563
564
564
565
565
564
562
561
560
563
564
564
563
563
565
565
565
565
565
568
567
567
565
565
565
565
565
565
564
563
563
563
563
564
564
564
563
563
563
562
562
562
562
562
563
563
563
566
562
560
557
555
547
548
548
549
550
552
556
556
555
555
552
549
545
542
541
540
540
540
539
539
539
539
539
540
540
539
539
538
538
538
537
536
537
539
540
543
547
548
549
547
546
547
545
546
546
547
547
555
556
557
564
567
570
573
576
579
581
589
591
595
604
606
609
609
609
608
607
607
609
612
613
615
617
618
620
622
625
627
629
637
638
640
643
643
644
646
647
647
649
654
655
657
658
660
666
668
669
670
671
672
674
675
675
675
676
678
682
684
690
695
702
709
720
721
722
723
724
725
726
725
723
722
722
722
728
742
748
757
760
762
763
763
763
763
762
762
761
763
765
766
769
771
776
777
779
783
786
788
789
790
791
791
792
792
793
794
795
795
795
795
796
797
799
803
806
808
817
819
820
824
826
827
829
831
832
834
836
837
837
838
838
839
840
840
841
841
841
841
839
838
838
837
836
836
839
842
844
845
846
848
850
853
855
857
858
859
860
862
863
864
864
865
866
867
871
876
878
878
877
875
868
866
864
864
864
855
854
851
850
848
846
845
844
842
840
836
831
828
827
826
826
826
826
825
825
824
824
824
824
824
824
823
823
823
823
822
817
816
816
816
816
812
809
809
807
808
815
818
814
816
817
817
822
823
823
823
823
822
821
820
823
823
826
828
829
829
830
831
831
831
831
834
836
843
843
843
842
841
840
839
837
835
836
838
840
845
846
846
846
846
844
841
840
839
836
836
834
833
833
833
833
833
833
833
833
835
835
835
835
836
838
841
843
845
848
851
861
858
851
840
835
830
826
821
820
819
818
818
808
802
801
798
797
805
805
818
818
819
820
822
825
833
842
861
870
870
877
889
892
894
897
898
901
909
909
911
912
915
916
918
918
918
918
917
916
915
915
915
915
914
909
909
910
905
906
907
908
908
905
903
901
901
901
901
901
901
901
904
904
902
900
898
895
885
878
876
875
871
869
867
864
863
861
857
854
842
839
832
832
830
828
827
824
822
821
819
809
804
802
803
804
805
806
808
806
804
803
801
794
787
783
780
780
776
771
771
768
765
764
763
762
761
761
761
761
761
761
761
762
762
763
763
763
763
762
761
757
754
754
754
754
754
756
759
755
756
754
753
753
752
750
752
752
749
750
749
749
749
750
750
749
749
748
750
750
748
751
751
752
752
753
755
758
759
760
760
761
762
763
763
764
764
764
764
764
764
764
764
764
763
763
763
763
764
765
765
766
767
768
768
768
769
769
769
770
770
770
770
770
770
769
769
768
765
764
762
758
758
758
758
759
759
760
756
755
753
752
752
752
752
752
752
749
746
742
740
737
736
735
731
730
729
728
726
724
717
717
707
701
701
700
700
700
700
700
699
698
697
696
686
684
683
683
682
682
677
674
673
671
666
666
662
658
648
639
635
635
634
633
633
631
627
624
623
621
621
621
616
614
611
610
609
607
606
604
604
604
604
604
605
605
605
605
605
604
604
602
602
601
600
597
592
592
591
590
588
587
586
586
586
585
582
582
582
583
583
583
584
585
585
586
586
585
584
581
581
581
581
581
581
581
581
580
580
578
578
580
578
578
578
579
579
578
577
577
577
576
575
573
572
572
572
572
572
573
574
574
575
576
576
576
576
576
576
576
576
577
578
579
578
578
578
578
578
578
578
578
578
578
580
580
581
581
582
583
584
584
584
584
584
582
581
581
580
580
580
580
580
580
580
580
581
581
581
581
582
583
583
583
585
585
585
586
586
586
587
590
590
591
591
591
592
592
592
593
593
593
594
594
594
596
596
596
596
596
596
600
602
606
607
609
612
620
623
627
629
629
631
632
633
635
637
639
639
641
643
646
652
651
651
651
651
652
652
654
666
669
670
670
670
669
669
670
670
672
671
670
669
666
659
658
656
655
658
660
661
663
666
674
675
677
679
680
682
687
689
689
688
687
685
684
684
684
684
684
683
682
681
680
680
681
683
684
685
686
682
682
682
684
684
684
685
687
687
688
688
689
690
691
694
696
697
696
689
678
678
678
678
674
673
671
670
670
670
674
680
679
679
677
674
673
672
670
668
666
665
664
662
656
656
644
639
636
632
628
622
621
619
618
617
615
612
614
615
615
617
618
618
618
618
621
622
623
624
624
624
624
624
622
622
621
620
619
613
612
611
609
606
606
605
603
601
598
594
593
592
591
590
589
588
586
585
584
580
579
578
578
578
578
579
579
580
581
582
582
583
583
582
581
581
580
579
579
576
575
574
572
565
564
564
564
565
567
568
568
568
568
569
570
571
573
573
573
573
573
573
573
573
570
570
570
570
570
568
567
564
563
560
560
560
560
560
560
561
563
563
563
563
563
564
564
564
565
565
565
564
564
564
565
566
567
568
566
566
562
562
562
562
562
563
568
569
570
572
572
572
572
572
572
570
568
568
568
567
566
566
566
564
561
561
561
561
564
564
564
565
566
566
568
568
569
569
569
568
566
566
566
566
566
566
566
566
565
565
565
564
564
564
564
564