12
13
13
14
15
17
18
18
20
20
21
21
21
21
22
23
24
25
27
36
43
43
43
43
47
42
36
35
35
34
34
33
29
29
25
9
8
7
5
5
4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
5
5
6
6
6
6
3
3
3
3
3
3
3
3
3
3
3
3
2
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
4
4
5
5
5
5
4
4
4
3
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
1
1
1
0
0
1
1
1
1
1
1
1
1
1
2
2
3
5
8
9
12
13
14
15
18
27
28
29
30
37
38
40
40
40
40
40
41
41
41
41
41
41
39
39
35
34
33
31
30
27
21
20
19
16
15
15
14
13
13
8
6
2
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
2
2
2
3
3
4
7
8
8
9
9
9
11
25
26
25
24
23
22
22
22
20
19
19
19
19
18
18
14
12
12
11
11
9
9
7
7
6
5
5
3
3
3
3
3
3
2
1
1
1
0
0
7
7
7
8
15
19
20
21
21
23
25
26
28
29
31
31
32
32
32
33
30
29
27
26
27
29
30
31
32
33
33
32
31
31
31
30
29
28
28
26
25
24
23
22
22
22
22
23
23
25
25
25
26
27
28
29
29
31
31
32
32
33
34
34
35
35
36
36
37
38
38
39
47
47
49
51
52
55
59
61
66
66
66
66
66
66
65
67
69
69
70
72
73
73
72
71
70
70
69
69
68
67
67
67
67
67
69
70
71
72
73
74
74
75
76
76
76
76
76
76
76
76
76
76
76
76
77
77
78
78
78
79
80
81
82
82
84
84
85
86
87
90
92
94
96
96
96
96
96
98
99
99
100
101
104
108
109
109
110
111
112
115
116
116
116
116
116
114
112
109
109
109
109
109
109
110
111
111
111
106
105
105
104
104
103
102
102
102
101
97
96
94
94
92
92
92
92
91
91
91
91
91
91
91
90
90
90
90
90
90
90
90
90
90
90
90
90
88
88
86
84
83
83
83
83
83
83
83
85
86
89
90
91
88
88
88
87
87
87
87
86
85
83
83
83
82
81
81
81
81
80
79
79
78
78
77
77
76
74
71
70
70
71
71
71
66
65
65
65
65
65
65
65
66
67
67
67
67
67
67
67
67
67
66
66
66
66
66
66
66
66
65
65
60
59
59
58
57
57
57
57
57
57
57
57
57
57
57
57
56
55
54
54
54
54
54
53
53
52
52
51
50
50
51
52
53
53
54
57
58
59
60
60
61
61
62
62
62
60
56
57
58
59
60
60
61
63
64
65
66
66
66
66
66
66
67
67
68
68
68
68
68
68
68
68
69
69
70
71
69
68
68
68
68
71
71
71
71
71
71
71
72
72
73
74
77
78
78
75
75
76
76
79
86
86
87
87
87
85
85
85
86
91
93
94
94
94
94
94
95
97
99
102
104
112
111
111
110
110
110
110
110
110
109
108
108
109
110
111
117
117
121
123
123
122
122
122
123
124
125
126
126
127
129
131
132
133
135
137
141
139
137
137
136
136
135
135
135
136
136
137
137
138
138
138
139
139
139
139
139
140
140
140
141
141
145
147
148
150
151
152
152
152
152
152
152
152
152
151
150
150
148
148
148
148
148
148
148
148
150
151
151
152
153
153
153
153
153
154
154
155
156
157
158
159
159
159
159
159
159
160
161
161
162
162
163
164
164
164
164
164
164
164
164
165
172
172
172
173
173
173
173
173
173
174
174
174
174
174
174
175
177
177
178
178
181
183
185
186
187
190
191
195
196
197
198
201
205
206
206
205
205
204
204
201
199
199
199
198
197
197
196
196
196
196
196
196
196
196
195
195
195
193
189
187
186
182
182
182
182
182
182
182
182
182
182
182
183
183
184
184
185
185
186
187
187
189
190
190
191
192
193
195
195
197
210
214
218
223
224
235
236
240
242
248
255
260
262
264
267
267
268
268
268
268
269
269
270
271
271
272
273
274
274
274
275
280
281
284
287
288
289
291
295
298
300
302
303
304
305
305
306
309
314
316
318
319
322
324
328
330
333
335
336
338
340
342
347
357
358
360
362
366
367
368
369
372
374
383
388
389
391
394
397
399
400
401
402
403
404
404
404
403
400
397
395
391
389
385
383
376
372
367
365
363
363
362
361
361
361
359
359
358
357
357
356
356
356
356
357
358
358
358
359
360
360
361
361
361
362
362
362
362
360
353
346
342
337
334
330
321
318
317
314
310
306
305
302
299
297
296
295
294
293
291
289
288
287
286
282
277
275
274
273
267
260
254
254
254
254
254
254
253
249
248
247
245
244
243
242
236
235
233
232
230
230
230
231
231
234
239
241
244
246
254
255
256
256
256
256
256
256
256
257
257
259
270
271
271
271
271
271
268
265
263
261
256
254
251
252
254
259
261
265
270
272
273
274
275
276
278
278
279
280
282
282
283
284
284
282
280
278
277
275
274
273
269
266
268
270
271
274
276
277
280
284
285
286
286
289
290
291
290
287
285
284
284
284
285
285
287
289
290
291
295
296
301
301
300
295
293
291
287
287
287
287
287
287
287
287
287
287
287
287
287
288
289
290
292
296
297
298
298
299
302
303
303
304
304
305
305
305
305
305
305
305
309
315
318
324
328
330
330
329
329
328
328
328
328
328
328
328
328
332
333
336
337
338
342
344
347
348
350
351
351
351
350
350
350
350
350
350
351
352
353
354
354
358
360
362
365
368
374
376
380
382
383
384
385
386
386
387
389
390
394
396
396
399
401
402
403
405
408
408
408
409
409
411
412
413
414
418
426
427
428
428
429
430
433
435
441
444
450
451
454
455
456
457
460
461
463
464
464
465
465
466
468
470
471
471
473
475
476
478
479
480
480
481
484
485
485
486
486
490
492
492
496
497
503
504
505
506
506
509
509
510
512
512
513
518
523
525
525
525
526
526
527
528
528
528
529
530
531
533
534
536
538
538
539
539
539
540
540
541
542
543
543
544
545
547
548
548
550
553
554
556
558
559
564
565
566
570
570
571
571
573
576
578
579
580
582
585
585
584
584
584
583
583
583
583
584
585
586
588
589
590
591
594
594
594
595
595
596
597
602
604
606
610
610
610
610
610
610
610
610
613
616
618
622
623
624
625
627
628
630
632
634
635
636
637
637
638
639
640
641
642
646
648
651
662
665
667
669
672
673
676
677
678
680
680
681
682
684
685
691
693
694
695
696
698
700
701
704
706
709
710
711
711
712
713
714
714
714
715
715
716
716
717
720
726
728
731
732
734
735
739
741
742
743
743
747
750
751
751
751
750
750
750
750
750
750
751
753
754
755
755
756
756
756
756
757
759
759
760
761
763
765
766
766
767
767
767
768
769
770
771
772
773
776
776
778
779
780
783
785
789
792
793
800
803
805
807
809
817
819
821
823
825
825
827
829
832
833
834
835
837
839
840
840
841
843
846
848
851
855
856
857
858
861
861
864
865
866
867
872
876
882
885
887
891
894
895
895
897
897
900
900
900
901
902
903
904
906
907
908
909
909
909
910
910
918
919
920
921
921
921
921
921
921
921
922
923
924
926
927
932
933
934
934
934
934
934
934
934
935
936
939
940
941
945
946
946
946
946
946
946
945
945
945
946
952
953
954
955
956
957
960
962
963
964
967
976
979
983
985
990
991
993
994
995
995
998
998
999
1001
1004
1005
1006
1006
1007
1007
1008
1008
1008
1008
1009
1009
1011
1011
1011
1011
1012
1012
1013
1013
1014
1014
1014
1013
1013
1012
1011
1011
1011
1011
1013
1013
1014
1015
1016
1017
1017
1017
1013
1012
1010
1008
1007
1004
1005
1005
1006
1008
1009
1010
1008
1007
1004
1003
1001
1001
1000
1000
999
999
999
1000
1000
1001
1002
1002
1003
1003
1003
1003
1003
1004
1004
1004
1005
1005
1005
1006
1006
1006
1006
1004
1003
998
996
992
991
991
990
990
990
989
988
988
988
988
988
991
991
992
993
993
997
1008
1011
1013
1013
1015
1016
1016
1016
1016
1016
1016
1016
1017
1017
1017
1018
1019
1019
1019
1019
1018
1006
1003
992
984
983
983
981
980
979
977
975
974
972
971
970
968
966
958
957
956
956
957
957
958
958
957
953
952
950
948
945
942
940
939
937
936
934
932
928
925
924
923
922
919
918
915
913
908
907
907
906
906
905
903
901
901
899
898
898
899
901
900
900
899
897
896
896
895
895
896
896
900
901
901
900
900
899
896
895
893
890
888
886
883
881
879
870
868
867
865
863
855
854
851
847
845
844
840
838
836
833
831
829
826
820
818
805
801
797
793
791
790
789
790
790
791
791
792
792
792
793
795
796
796
796
796
796
796
796
796
796
796
796
796
797
797
797
797
798
798
798
798
797
796
796
795
793
794
797
802
803
799
793
786
784
781
780
777
774
773
769
768
767
766
765
760
758
751
741
739
737
732
722
721
720
718
714
713
711
707
707
707
704
703
703
702
701
704
706
708
710
712
712
708
707
704
700
699
697
696
695
692
690
688
687
687
687
688
689
689
689
690
690
692
692
693
693
693
694
695
695
695
695
694
692
692
689
689
689
693
695
695
696
697
699
699
700
701
705
707
707
709
712
714
720
720
721
723
723
723
722
721
719
718
717
716
716
715
715
714
714
714
713
713
713
713
713
713
713
713
707
707
706
705
705
704
704
703
702
700
700
700
701
702
702
702
702
702
702
702
702
702
701
701
700
700
700
700
700
703
703
703
703
701
700
697
695
694
693
693
690
688
686
686
684
683
680
680
679
678
678
678
678
677
677
675
674
673
673
672
672
672
672
672
673
673
673
673
672
672
672
672
672
673
673
674
674
674
673
671
678
678
679
680
680
680
680
680
680
678
676
674
673
669
667
666
666
666
665
664
663
663
663
664
665
666
666
667
669
670
669
667
666
668
668
671
675
675
675
675
676
676
676
676
676
676
676
676
677
677
679
680
679
679
679
679
679
680
681
681
682
683
684
684
684
684
684
684
684
684
684
684
684
680
679
676
676
677
678
678
678
678
679
679
679
680
680
680
680
680
680
680
678
676
675
671
669
666
651
652
652
653
654
649
645
648
668
669
669
669
669
669
669
669
669
667
665
651
652
652
653
653
654
654
654
654
652
652
651
651
650
650
649
648
647
647
646
645
645
644
642
643
645
645
646
646
647
648
648
649
649
650
652
652
654
655
655
655
656
657
659
660
662
662
662
661
661
659
659
659
658
658
657
657
656
656
656
654
654
654
654
654
654
654
655
655
655
655
655
655
654
654
654
653
652
651
651
651
651
651
652
652
652
652
652
652
652
648
647
646
644
643
643
643
643
643
643
643
641
639
635
634
634
634
633
633
632
632
630
627
627
627
627
627
627
626
626
625
621
619
617
617
617
617
617
617
617
617
617
617
617
617
617
618
620
620
621
621
621
621
622
623
623
624
624
624
624
623
623
622
622
621
620
620
620
620
621
623
624
624
624
624
623
623
623
622
621
621
621
621
621
622
622
619
614
615
615
615
616
616
617
616
615
614
613
613
613
613
614
614
614
614
614
613
612
612
612
612
613
614
621
623
622
621
617
616
614
614
613
613
613
613
614
614
613
611
609
608
607
606
605
605
605
604
604
603
603
602
602
601
601
600
600
599
599
600
600
600
599
598
598
599
599
598
598
598
596
596
596
597
597
598
600
602
603
605
606
606
606
606
606
606
615
616
616
617
637
643
644
645
645
647
647
647
648
657
657
658
658
658
659
659
659
659
663
662
653
646
645
644
643
642
641
639
636
631
628
625
623
620
619
617
616
612
594
597
598
598
600
600
600
600
600
600
599
599
598
598
598
598
597
597
597
596
596
595
592
591
591
591
591
590
590
591
593
604
602
601
598
597
595
594
594
593
593
592
592
592
592
593
594
594
593
593
593
593
594
594
594
594
593
591
591
590
590
589
589
588
588
587
583
580
580
581
581
581
582
582
584
585
585
586
587
588
588
587
587
586
585
584
584
583
580
578
577
576
575
575
574
574
574
576
576
576
577
578
578
579
579
580
581
581
582
583
583
585
587
588
588
589
593
595
596
597
603
606
607
610
610
610
610
611
611
611
612
612
612
612
611
610
609
607
606
605
604
603
600
598
595
592
591
590
590
588
588
587
586
586
585
585
584
584
583
582
582
581
578
578
577
575
575
575
575
573
572
572
571
570
570
570
569
569
569
569
569
569
570
570
570
570
568
571
571
571
571
571
571
572
573
573
573
573
573
573
574
576
578
578
578
578
578
579
580
583
583
583
585
586
587
594
595
599
600
602
604
604
605
605
606
606
606
607
607
608
608
609
610
615
617
618
620
620
621
622
622
624
624
627
632
633
636
641
640
639
636
635
633
632
628
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
627
628
628
628
629
629
630
634
634
638
638
637
637
636
636
634
633
630
629
629
629
630
630
630
631
632
637
638
641
641
641
641
641
637
635
631
628
626
614
613
610
609
600
600
599
599
598
596
596
596
595
595
595
594
594
593
593
592
592
592
591
589
590
591
595
597
600
601
601
601
602
603
604
604
604
605
605
606
606
606
607
607
608
609
618
629
632
632
628
626
624
623
622
622
623
626
627
628
628
628
627
625
625
624
624
623
623
623
621
620
618
618
617
615
614
613
611
610
607
607
607
606
605
604
604
604
603
602
599
595
595
594
594
594
591
589
589
587
587
586
586
585
584
583
581
581
581
581
581
581
581
581
581
580
580
580
580
580
580
580
580
580
580
580
579
578
578
578
577
577
577
577
578
579
580
581
583
583
583
584
584
585
586
584
584
583
582
581
580
579
579
579
578
578
577
577
575
571
568
566
565
565
565
564
564
563
563
563
563
563
563
563
563
563
563
563
562
562
566
566
567
567
567
569
568
568
568
571
572
574
575
577
577
577
578
579
580
581
581
582
582
583
583
584
585
585
586
586
586
586
587
588
588
589
590
590
591
592
592
593
594
595
595
597
597
600
601
603
607
609
612
616
619
621
620
618
618
616
614
609
608
607
606
606
605
604
603
603
602
601
599
596
592
592
589
587
586
583
582
581
579
578
577
576
575
574
571
572
576
577
577
578
580
581
581
581
582
582
582
582
581
581
581
591
594
598
600
604
601
599
597
596
595
592
591
588
587
585
585
587
588
590
594
594
593
592
586
584
583
581
580
579
580
583
585
586
587
589
590
591
593
593
593
593
593
592
591
589
587
585
582
580
578
578
578
578
578
579
579
579
579
578
578
577
577
576
576
576
576
576
576
576
576
576
576
576
576
576
576
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
578
578
578
578
579
579
579
579
579
579
579
579
579
580
580
581
581
582
582
581
581
580
580
582
582
582
582
582
582
583
583
584
584
584
584
584
584
584
584
584
584
584
585
586
587
588
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
592
594
598
601
601
602
602
602
602
602
602
602
602
602
602
603
603
603
603
603
603
602
602
602
602
602
603
603
603
603
600
605
606
606
606
608
613
618
619
619
620
622
623
627
628
628
629
630
636
635
635
635
635
635
635
639
640
640
641
642
642
647
647
647
647
653
653
654
654
655
655
656
656
657
657
659
661
661
666
667
667
667
666
667
668
670
672
673
673
674
675
675
675
675
680
682
682
690
693
696
698
700
704
704
703
703
703
713
716
724
725
727
729
732
732
732
732
733
733
732
729
727
724
723
724
725
729
730
731
731
733
733
733
731
731
732
735
738
738
737
737
738
739
739
740
740
740
742
744
745
746
748
749
749
749
751
751
752
753
756
757
760
762
766
768
771
774
777
779
784
788
792
797
796
796
794
791
786
783
782
781
778
777
777
776
773
772
772
772
772
772
773
773
773
778
780
783
786
786
787
788
789
790
790
790
791
792
793
799
799
800
802
803
803
803
805
806
809
810
811
811
813
814
815
824
825
826
828
829
831
831
831
831
831
835
838
838
839
840
840
849
851
853
855
857
859
864
865
867
868
870
871
872
873
874
874
875
875
876
881
883
886
886
886
886
886
886
886
892
894
897
897
897
897
898
913
914
915
918
919
928
932
936
937
940
946
949
951
954
955
956
956
956
955
954
953
952
952
951
949
945
944
942
941
936
934
932
925
924
923
923
922
921
921
920
919
918
916
913
913
913
913
913
913
913
914
915
915
914
913
910
907
906
905
901
900
899
898
897
897
896
896
896
896
896
896
896
896
896
896
895
894
894
894
894
894
895
895
897
898
898
895
895
893
893
893
893
893
894
894
894
895
900
900
900
900
900
903
904
904
904
904
904
910
914
915
917
920
922
923
924
926
927
946
953
955
956
957
958
958
958
958
957
945
944
938
936
934
931
928
924
917
915
910
904
901
900
898
896
895
895
894
894
893
893
893
893
894
894
896
899
900
901
901
904
905
910
911
913
914
920
920
920
920
920
920
920
921
925
927
928
928
930
930
930
930
930
931
935
935
934
939
939
939
939
939
937
937
937
935
932
930
930
931
932
929
929
927
926
925
924
922
920
915
915
915
914
914
914
914
913
912
910
904
902
901
900
900
900
900
896
896
895
892
892
892
891
885
885
885
885
883
883
884
884
884
885
884
885
886
888
888
888
888
887
886
885
885
885
884
884
884
883
883
883
882
882
881
880
880
880
880
879
878
874
873
873
873
873
873
873
873
870
871
871
871
871
871
871
866
864
864
864
864
864
864
864
865
865
866
866
866
866
865
864
864
866
867
869
869
868
868
868
867
867
866
866
866
866
866
866
866
866
866
866
866
867
867
867
866
866
866
866
866
867
867
867
867
867
864
864
862
863
864
862
862
862
862
862
862
862
862
862
862
862
862
861