685
685
686
686
686
686
686
686
687
687
687
687
687
687
688
689
690
693
695
697
698
699
701
702
702
703
703
703
705
713
711
710
709
700
698
695
690
688
692
695
697
707
710
712
721
722
726
726
726
726
726
726
726
726
726
726
726
726
726
723
722
719
717
715
713
709
706
705
703
703
699
697
694
694
695
695
696
697
697
699
700
701
701
704
705
706
706
707
707
711
712
717
717
723
723
724
724
730
734
734
735
737
737
738
738
732
725
723
720
719
717
706
703
698
700
701
705
706
708
711
713
713
713
712
712
711
711
711
710
710
709
709
709
707
705
704
701
700
700
700
699
699
699
698
698
700
700
700
701
702
704
710
716
722
723
728
733
737
741
743
747
752
763
766
768
770
770
771
774
774
776
778
781
777
776
768
767
767
760
760
759
758
757
757
756
755
751
750
750
749
749
747
744
744
742
733
729
725
722
718
709
707
702
700
699
697
697
696
696
695
695
694
694
694
694
693
693
693
693
693
694
695
696
697
699
702
704
707
709
710
710
711
714
715
715
716
718
718
718
718
718
718
718
718
718
718
718
718
719
719
719
719
719
719
719
722
735
752
760
765
770
775
780
780
780
780
779
779
779
778
778
778
776
774
773
769
765
764
762
777
807
825
846
860
767
742
731
731
732
732
732
733
735
736
737
738
738
739
740
742
743
744
745
746
747
748
749
750
751
739
734
735
736
738
739
743
744
745
747
748
748
750
752
754
757
758
759
759
762
762
762
760
750
748
747
750
751
751
742
739
756
771
778
782
782
782
780
780
780
780
780
781
780
779
778
775
766
758
756
755
756
757
779
780
782
784
785
786
787
789
760
756
744
743
742
741
736
727
717
710
706
703
696
693
689
686
684
683
683
681
679
679
676
675
674
676
681
687
689
692
698
700
701
702
703
706
706
707
707
706
706
706
706
707
708
708
709
709
716
719
722
726
727
728
730
730
731
732
728
727
727
726
725
722
721
718
701
695
694
705
712
725
727
729
726
722
719
708
705
702
701
702
705
708
710
711
713
715
718
718
718
717
717
717
716
705
703
704
705
705
705
704
704
703
704
705
706
709
713
715
720
721
724
726
729
732
739
738
734
733
732
728
728
728
726
722
720
719
718
714
712
714
720
721
722
723
726
728
729
729
729
730
730
731
731
732
732
731
731
730
729
727
728
729
730
731
731
732
733
734
734
734
734
731
730
730
729
726
725
724
722
721
720
719
714
713
711
709
710
711
712
713
714
715
717
722
726
732
731
731
730
729
729
729
728
728
728
728
728
730
733
733
733
733
732
732
731
729
726
722
721
720
719
711
704
705
708
711
711
711
711
711
711
711
711
707
707
706
704
704
694
691
689
688
690
691
692
693
694
696
698
699
699
699
698
698
698
696
694
694
694
693
692
690
689
688
687
687
686
686
700
701
697
695
685
681
673
672
671
670
669
668
666
666
667
670
677
679
681
684
689
691
697
697
697
697
696
696
696
696
696
696
698
698
698
696
695
695
694
693
692
692
690
690
689
683
681
679
675
673
672
671
669
667
671
681
684
692
694
702
701
701
698
697
693
691
688
684
680
678
672
667
664
662
655
654
652
651
651
651
651
651
650
650
650
666
674
667
664
663
657
653
652
641
629
624
606
605
603
601
597
595
589
586
584
578
571
570
569
571
573
585
587
589
590
582
581
580
580
569
568
567
566
565
563
561
560
562
567
568
575
583
589
590
600
587
585
583
578
578
577
576
576
575
574
573
572
571
571
572
575
578
580
576
572
544
544
543
543
542
542
533
526
530
533
537
541
544
549
553
550
547
545
542
540
536
533
537
539
543
549
553
554
554
554
554
555
555
555
555
555
556
556
556
557
559
561
563
567
557
544
535
517
515
514
512
510
508
507
506
505
504
500
499
499
499
499
499
500
500
500
500
496
490
484
474
448
420
408
405
402
394
393
392
390
388
386
384
383
384
388
390
391
390
390
389
387
385
383
384
386
388
391
400
399
397
396
395
393
390
389
388
386
384
383
381
376
374
375
375
375
375
375
375
379
374
376
372
370
377
380
373
374
373
370
370
369
369
375
378
379
371
367
365
364
363
362
361
359
358
360
361
363
363
362
360
359
357
356
355
353
352
349
347
347
347
347
347
347
349
350
350
351
351
351
347
342
337
331
326
322
319
317
314
311
307
303
297
291
282
277
273
269
264
251
248
242
239
234
230
218
216
214
212
211
208
207
207
206
206
205
205
205
205
205
206
206
206
209
210
211
213
214
216
217
218
218
218
217
217
216
216
215
215
214
214
214
214
216
216
217
217
218
218
219
219
219
218
218
218
218
216
208
204
202
200
197
197
197
197
198
199
200
202
203
204
204
204
204
205
205
206
207
207
209
210
212
213
214
215
211
209
208
207
208
208
209
211
212
213
214
215
215
216
217
217
215
219
226
230
247
252
258
259
259
259
260
260
260
252
246
242
238
233
224
225
225
225
226
223
220
218
216
213
210
217
215
213
210
208
206
204
201
199
196
197
199
202
203
205
206
207
207
207
209
214
219
224
226
225
224
223
222
221
220
219
216
214
212
210
207
205
202
202
203
207
210
212
213
212
211
210
209
208
210
212
215
218
220
220
220
219
220
226
228
230
231
229
226
223
222
221
220
220
219
219
219
220
221
221
221
217
216
210
199
196
192
179
175
171
168
161
160
157
158
159
159
156
150
152
158
158
158
156
153
151
154
155
157
158
156
140
138
138
138
138
137
136
130
128
125
123
122
121
121
123
125
125
126
127
126
123
120
117
118
119
120
120
117
116
115
112
110
102
98
98
99
104
106
106
104
102
100
110
111
112
113
113
112
112
116
121
120
119
116
112
110
112
115
119
131
131
132
133
134
134
134
134
135
136
137
140
144
148
150
146
143
138
136
134
132
133
155
153
152
155
156
160
161
158
156
153
151
148
145
143
143
143
138
138
132
130
128
125
125
127
129
130
131
130
129
127
129
131
134
137
138
139
141
142
146
146
147
148
144
136
133
130
128
125
121
114
105
100
95
97
99
99
99
99
99
133
137
128
123
117
111
105
104
107
115
117
117
117
117
115
109
106
104
102
100
99
98
98
97
97
97
97
97
97
96
94
93
93
94
94
95
96
97
92
92
93
94
94
95
95
95
91
89
81
116
125
119
113
107
92
88
83
78
75
72
71
70
69
69
68
68
68
66
63
63
63
63
63
64
64
64
72
69
64
60
55
57
61
66
70
72
74
76
75
75
74
72
70
67
79
74
66
62
59
57
50
50
50
49
44
44
45
46
51
54
54
52
53
55
56
56
56
56
56
56
68
73
60
62
63
65
67
69
74
73
58
53
53
61
51
58
59
57
54
52
51
52
49
49
50
54
56
57
57
58
59
59
59
43
45
46
48
50
44
44
48
48
49
49
50
45
40
39
37
36
35
37
41
43
45
46
48
49
51
52
50
46
42
42
44
50
46
41
45
46
47
51
50
49
48
48
50
51
51
52
52
52
53
55
61
60
59
59
59
57
56
55
54
52
52
53
54
55
56
57
55
54
53
53
52
47
47
47
49
59
59
59
59
59
58
57
56
53
51
49
53
57
59
59
50
48
46
45
45
42
42
44
43
41
39
38
37
37
40
42
43
45
45
46
46
47
48
49
49
49
49
49
49
50
52
59
49
50
50
51
51
51
51
44
42
39
37
37
36
36
36
36
36
45
46
48
49
45
45
45
44
44
44
44
44
45
45
46
46
42
40
39
51
51
50
50
50
49
46
41
42
43
46
46
45
43
43
42
41
40
40
39
39
38
36
36
35
35
34
33
33
32
34
35
39
37
37
36
35
32
30
27
24
23
22
21
21
21
21
21
20
20
21
21
22
23
23
23
23
23
23
28
30
32
34
34
29
20
28
27
25
24
19
13
13
12
12
12
12
12
12
11
11
11
11
13
13
14
14
14
21
23
25
30
30
27
24
21
21
23
26
24
23
23
23
23
21
19
19
18
18
18
20
20
20
20
21
22
24
25
26
26
26
26
26
26
26
26
25
25
25
26
26
24
17
17
17
18
18
19
19
19
19
18
18
18
18
17
16
15
14
12
12
12
12
12
13
13
13
14
14
15
15
15
16
16
16
16
17
17
17
17
15
14
13
12
12
11
11
12
12
14
13
12
10
10
10
10
11
12
12
12
12
12
12
12
12
12
15
17
19
21
19
17
15
13
12
12
12
12
11
11
11
12
15
18
17
15
15
15
15
16
17
17
14
13
12
10
10
9
8
15
18
16
14
13
14
15
14
14
14
13
13
12
12
11
8
8
9
9
10
11
11
12
13
13
13
13
13
13
13
13
13
13
14
16
18
19
19
20
20
20
21
22
22
22
23
24
25
25
26
28
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
28
28
28
28
28
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
25
25
25
24
24
23
23
23
22
22
21
21
21
21
21
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
21
21
21
21
22
22
22
23
23
23
24
25
25
25
25
24
24
23
22
21
21
21
21
21
21
21
21
21
21
21
20
20
20
20
18
11
10
10
8
7
7
7
7
11
12
12
13
14
14
16
18
20
23
24
26
27
33
32
30
27
24
23
23
24
24
25
26
27
27
29
31
33
33
37
41
41
41
41
41
43
47
48
49
50
51
54
54
54
54
54
54
54
54
54
55
56
57
57
57
57
57
57
53
46
43
43
43
43
43
43
43
43
42
42
42
47
52
53
51
51
50
50
49
49
51
52
53
54
56
54
53
52
51
51
50
49
47
47
47
47
49
49
49
48
47
47
46
43
41
41
40
38
38
38
37
35
35
35
34
33
33
32
32
32
31
31
31
31
31
31
31
31
31
31
31
31
33
34
35
36
37
37
37
37
37
37
36
36
35
34
36
37
38
39
39
41
44
45
45
46
48
52
53
62
65
64
55
51
51
53
54
54
55
57
57
57
57
58
58
58
58
57
57
57
58
59
62
63
64
65
65
64
63
59
63
67
66
65
65
64
65
67
68
68
64
63
62
60
62
63
64
65
67
69
69
70
71
71
73
77
78
80
78
78
77
75
74
73
71
70
70
70
70
70
69
69
68
64
63
63
62
64
66
67
68
72
72
73
73
74
74
75
75
75
75
75
74
73
72
74
77
81
83
97
93
87
84
83
80
77
74
75
76
78
80
81
85
85
85
85
86
86
88
90
96
91
85
87
88
86
83
82
84
90
95
99
101
100
96
94
94
99
102
106
113
110
104
111
124
121
118
114
112
106
100
99
97
94
93
91
89
89
88
87
87
87
87
88
88
88
88
89
83
81
79
80
81
83
87
88
88
90
90
92
94
95
95
95
94
94
94
94
94
94
94
94
94
94
94
96
96
97
98
98
99
99
99
99
98
97
96
95
93
92
88
80
79
77
78
78
82
82
84
86
87
90
92
92
92
91
91
89
88
92
95
97
99
102
106
108
115
121
127
128
130
132
134
136
138
139
141
142
143
146
147
144
140
138
137
130
128
113
106
103
103
103
102
101
101
102
102
103
103
105
105
101
101
100
99
99
99
99
99
97
97
97
97
97
97
97
98
99
100
101
101
100
96
95
94
95
96
98
100
101
104
104
101
100
99
97
96
94
92
94
95
99
100
102
98
94
93
93
94
94
96
96
97
97
99
99
98
98
98
97
97
96
95
94
94
94
94
94
95
95
95
95
95
95
95
95
95
98
98
100
104
111
116
118
118
119
121
122
125
133
139
142
145
150
152
155
159
162
163
164
164
177
178
180
183
187
189
194
195
198
201
204
209
214
219
215
213
209
205
204
203
193
192
192
192
191
191
191
191
192
193
194
198
198
193
186
186
187
187
188
190
191
194
195
196
200
209
207
204
203
201
201
200
197
194
196
198
200
203
209
210
210
211
213
213
214
216
217
218
218
218
218
218
218
218
218
222
228
231
233
239
248
252
261
269
281
283
286
286
287
291
292
293
295
295
297
300
296
285
283
281
288
304
339
347
347
347
347
347
347
347
347
349
361
365
370
372
376
383
383
383
382
382
382
384
386
388
388
390
395
397
400
401
404
410
410
409
409
409
408
408
408
408
408
408
408
407
406
404
404
404
404
404
404
403
403
403
403
403
403
403
403
403
405
408
429
432
431
425
416
414
411
413
414
416
427
428
432
431
420
419
416
408
406
405
403
403
402
401
400
400
399
399
399
400
405
408
409
411
411
411
412
412
412
413
413
413
413
417
423
429
429
425
422
422
427
428
435
442
446
451
455
460
465
471
472
472
478
496
511
519
535
541
547
552
564
566
568
570
573
581
587
587
587
587
587
587
587
588
591
592
593
594
595
596
595
592
591
589
588
585
584
586
587
588
589
589
589
589
589
589
588
588
589
594
596
597
603
604
611
611
610
610
610
608
608
608
608
608
608
608
611
612
613
615
617
619
620
619
618
615
617
618
619
620
621
621
621
621
621
643
655
656
641
633
630
629
630
631
639
639
645
646
647
649
646
643
641
640
639
635
634
636
639
640
645
645
644
644
644
645
645
646
646
647
648
650
653
653
658
659
663
663
663
660
647
641
640
637
635
634
635
639
640
640
646
654
656
657
659
660
659
653
651
649
648
647
646
646
645
645
646
647
648
648
649
649
650
651
658
661
664
663
662
662
662
661
660
659
659
658
658
656
655
654
653
652
652
653
653
654
655
656
658
659
664
665
666
674
675
676
677
677
677
677
677
677
677
677
677
677
678
678
679
679
680
680
680
680
677
676
675
673
672
673
677
677
678
679
682
684
686
690
698
698
696
696
695
695
695
690
688
687
684
684
683
679
678
676
674
674
674
669
668
667
669
670
672
672
673
674
675
677
676
676
676
675
675
675
675
675
675
676
679
681
682
683
684
685
690
691
695
695
695
694
693
692
691
690
685
658
662
666
667
669
670
671
672
672
671
671
670
668
666
664
664
664
664
666
667
667
668
668
668
668
672
672
673
677
669
667
665
660
650
644
644
644
645
646
646
646
644
644
644
646
646
646
642
640
638
643
651
652
651
646
644
641
641
641
641
640
639
639
639
638
633
632
631
631
631
632
632
633
634
635
635
632
631
630
629
629
627
626
623
622
625
625
628
630
629
627
625
622
620
619
618
615
613
617
619
620
621
623
625
626
627
628
628
628
629
630
631
631
627
626
624
621
615
611
610
610
609
609
608
608
607
607
607
607
606
606
606
606
606
606
606
604
603
603
602
604
613
615
615
612
611
606
600
602
604
606
606
607
609
609
611
613
614
615
615
616
598
597
597
597
597
598
599
602
603
604
605
621
625
631
633
635
629
628
626
614
612
606
603
586
585
585
585
585
585
585
585
584
584
584
586
593
594
596
596
588
588
588
587
584
581
580
581
584
587
586
585
585
582
581
584
584
587
588
591
587
581
580
576
590
598
604
608
609
609
602
590
586
579
579
578
578
578
577
577
577
577
579
580
581
585
586
586
587
588
591
593
589
588
588
587
586
585
580
580
583
586
588
590
603
604
604
604
604
597
590
592
593
596
597
598
599
599
600
600
600
601
602
602
601
599
597
596
594
591
586
585
586
586
587
589
595
597
598
598
594
592
590
589
589
589
589
590
591
592
593
593
594
594
595
595
589
586
585
585
586
588
590
597
599
599
599
599
599
599
599
599
599
598
598
596
596
595
594
592
593
596
597
598
599
604
604
604
605
605
605
605
605
606
606
606
606
607
607
607
607
607
607
607
606
604
601
598
594
589
589
589
589
588
588
587
587
587
586
586
583
580
580
580
582
583
584
589
590
592
598
600
602
606
612
613
612
611
610
609
608
607
607
607
606
606
596
590
585
582
588
589
589
589
589
589
594
596
600
603
607
610
610
596
594
592
590
589
588
588
586
586
586
589
593
593
591
588
586
587
587
590
591
592
593
594
596
598
598
599
602
602
602
601
603
603
600
596
591
592
592
591
591
603
604
611
621
626
634
629
622
618
615
612
609
609
609
608
607
607
606
606
607
609
610
611
612
607
607
607
608
608
646
649
652
656
667
669
672
674
677
699
702
702
702
703
703
703
705
706
707
709
711
710
709
706
704
696
696
695
695
689
688
691
696
702
707
715
718
718
718
718
718
718
718
724
727
722
718
713
708
702
688
687
687
687
685
685
685
684
684
685
685
686
686
687
688
690
690
691
691
692
693
693
693
695
695
695
695
695
695
695
694
706
711
712
707
709
710
712
714
714
714
714
705
702
697
690
687
684
685
688
684
681
676
680
689
694
694
694
693
689
687
685
698
700
702
704
704
704
704
703
703
702
702
702
702
702
703
704
705
706
714
712
711
710
708
707
705
707
711
712
715
717
721
719
712
706
712
715
717
717
718
721
723
718
715
711
704
701
702
704
706
707
708
705
694
693
693
693
692
692
692
692
708
711
714
718
720
723
725
727
730
732
722
720
717
714
709
706
704
703
699
699
702
706
708
711
713
719
719
719
719
719
719
720
728
730
727
723
719
713
706
700
694
695
696
696
697
697
698
691
692
693
693
692
692
691
690
690
690
691
691
691
691
692
692
692
691
690
690
689
688
687
685
685
684
684
684
684
685
685
686
687
689
687
684
682
682
684
685
688
681
679
679
679
679
681
689
692
686
680
677
676
673
669
664
663
662
662
661
661
660
660
660
660
660
660
660
666
673
673
671
669
668
664
663
660
658
658
658
658
658
658
658
656
655
656
663
667
670
673
676
675
673
670
667
663
654
651
658
663
668
670
673
673
673
673
673
673
673
672
670
667
666
662
660
657
655
655
653
652
651
650
654
657
664
674
678
677
675
672
668
668
668
671
673
675
680
684
686
682
679
671
671
670
667
655
652
651
652
667
667
667
671
675
682
684
688
691
694
694
693
693
692
692
691
687
681
678
671
671
676
684
686
696
697
697
696
696
695
694
694
694
694
691
661
672
674
668
644
643
643
640
644
648
652
655
658
663
666
670
679
681
685
687
692
689
688
689
689
689
682
678
675
673
660
654
656
659
661
666
670
670
669
669
669
669
672
675
676
677
677
676
675
673
668
667
664
662
663
668
670
676
680
677
669
661
658
661
664
666
672
670
681
686
695
689
686
683
676
673
671
668
667
665
668
671
676
679
679
679
679
679
675
668
659
655
652
655
666
685
685
685
686
686
691
692
693
690
684
675
675
662
656
647
668
670
672
672
672
671
670
669
668
666
666
664
663
650
647
645
639
647
652
654
655
657
660
661
661
661
661
662
662
662
663
663
663
661
660
658
654
652
650
648
646
652
657
668
671
672
674
676
677
678
679
681
683
684
684
685
687
687
688
688
688
688
688
689
689
689
688
688
687
686
690
691
695
696
697
698
698
699
700
701
701
701
701
701
701
701
701
701
698
696
691
691
692
692
693
708
709
713
714
715
715
713
711
707
704
704
704
706
706
708
708
709
709
709
709
707
704
700
695
693
687
688
689
690
692
694
691
682
677
674
677
680
687
690
703
708
710
708
702
700
698
695
693
692
690
689
684
683
682
681
680
678
678
678
679
680
681
682
683
684
685
687
691
688
684
664
665
668
669
669
671
672
673
678
679
680
681
682
686
686
685
685
685
684
683
690
695
697
708
703
697
693
688
684
680
676
670
669
668
666
667
668
668
669
670
671
672
673
674
674
674
674
674
674
674
674
668
666
665
664
663
662
664
665
667
668
670
670
672
676
676
677
677
677
676
674
673
670
667
667
667
667
667
667
667
667
668
670
670
671
673
674
675
676
677
677
679
679
680
680
681
682
683
677
676
675
671
671
672
673
675
676
680
682
684
683
679
667
665
663
661
660
660
660
660
660
660
660
660
660
660
660
660
661
685
686
686
687
688
689
690
693
687
686
686
685
685
684
684
687
688
696
698
703
701
698
697
696
692
695
697
701
701
700
700
691
691
691
691
691
691
690
690
689
689
689
689
686
686
685
685
683
682
681
681
682
683
683
683
684
684
687
687
688
688
688
688
688
689
689
689
690
690
692
693
695
695
696
697
698
698
699
700
701
702
706
708
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
709
713
714
715
715
715
715
714
713
713
706
705
703
702
701
697
696
694
695
696
701
701
702
704
709
712
715
721
727
727
726
725
719
719
718
716
716
715
714
714
714
713
710
707
707
706
705
703
702
701
700
700
703
708
711
713
715
717
723
725
725
728
729
731
734
734
735
735
735
736
737
737
737
737
737
737
737
737
737
737
737