152
152
153
154
149
148
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
146
145
145
145
145
145
145
145
145
145
145
145
145
143
143
142
142
142
142
142
140
140
140
140
140
140
140
140
140
140
140
139
139
139
139
138
138
137
136
136
135
135
135
135
135
135
135
134
134
134
134
134
134
134
134
134
134
133
131
131
131
130
130
129
129
129
129
128
128
128
128
129
129
129
127
127
127
127
127
125
125
125
124
124
124
121
121
121
121
121
121
121
121
120
120
120
120
120
120
120
120
120
120
120
119
119
117
117
117
117
116
116
116
115
115
115
114
114
114
113
113
113
113
112
112
111
111
110
109
109
109
109
108
108
107
107
107
107
107
107
107
107
107
107
107
107
106
106
106
106
106
105
105
105
105
105
106
106
106
106
106
106
106
106
104
103
102
102
102
102
102
102
101
101
101
101
101
101
101
100
100
100
100
100
100
100
100
100
100
98
98
98
98
98
98
97
96
96
96
96
96
96
96
96
96
95
95
95
95
95
95
94
94
94
94
94
94
93
93
93
93
93
93
93
93
93
93
93
93
93
92
92
92
92
92
91
91
91
91
91
91
91
91
91
91
91
91
92
96
97
97
97
97
96
95
93
93
92
92
91
91
90
90
89
89
88
88
88
87
87
87
87
87
87
88
88
89
90
90
91
91
91
93
93
93
93
93
93
93
93
93
92
92
92
92
92
92
92
92
91
91
91
90
89
89
89
89
89
89
89
89
89
89
90
90
90
89
89
89
89
89
89
90
90
90
90
90
90
90
91
92
92
92
92
92
92
92
92
92
91
91
90
90
90
90
90
90
90
90
91
91
91
91
91
91
91
91
91
91
91
91
91
91
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
91
90
90
90
90
90
90
90
90
90
89
89
89
89
89
90
90
91
91
92
92
92
91
91
91
91
90
90
90
89
88
88
88
88
88
88
88
88
87
87
87
87
88
88
88
88
88
88
88
88
88
88
88
90
90
90
90
89
88
88
87
87
87
87
87
86
86
86
86
85
85
85
85
85
84
84
84
84
84
84
84
84
84
84
84
83
82
81
78
78
78
78
78
78
78
78
78
78
78
77
77
77
77
77
77
77
77
77
77
76
75
75
76
76
77
76
76
75
72
72
72
74
74
74
73
72
72
72
72
72
72
72
73
72
72
72
71
71
71
71
71
71
71
71
71
71
71
71
71
70
70
70
70
69
69
69
69
69
70
70
70
70
70
70
70
70
70
70
70
70
71
71
71
71
71
71
71
71
71
71
71
71
71
71
72
72
73
73
73
74
74
74
74
74
74
74
73
73
71
71
70
69
69
69
70
70
70
70
71
71
71
71
71
71
70
68
68
69
70
71
71
70
70
70
69
69
69
69
69
69
69
69
69
69
69
69
67
67
66
66
64
65
65
66
68
68
68
68
69
69
69
70
70
71
72
72
72
72
72
72
71
71
71
70
69
69
69
68
68
68
68
68
68
68
68
68
68
68
68
68
67
66
66
65
65
65
65
65
66
66
66
66
66
66
66
66
66
64
60
58
53
51
51
50
50
50
47
46
46
45
45
45
45
45
45
44
44
43
45
44
44
44
45
46
46
46
46
46
54
54
55
55
56
57
57
57
57
57
58
58
59
60
60
60
61
62
63
64
65
65
65
62
62
62
65
65
64
64
65
62
62
63
63
63
63
64
64
64
64
64
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
60
59
59
58
58
58
58
58
58
58
58
58
58
59
59
59
59
62
62
63
63
63
63
63
63
64
64
64
64
65
65
65
66
66
66
66
66
67
67
66
66
66
66
66
66
67
67
68
68
68
68
68
68
68
65
65
65
64
64
64
64
64
63
63
62
62
61
61
61
61
61
61
60
60
60
60
61
61
61
61
61
61
62
62
62
61
61
62
62
61
60
60
60
60
60
60
60
59
58
61
59
59
58
58
58
58
58
58
58
58
58
58
58
58
59
59
60
60
56
55
49
49
49
49
49
49
49
50
50
50
51
51
51
51
50
50
50
57
59
59
59
59
59
59
59
59
59
59
59
57
57
57
56
56
56
57
58
57
57
57
57
57
58
58
58
58
57
56
53
51
51
50
49
49
49
49
49
49
50
51
49
49
49
47
45
45
45
45
45
45
41
41
41
41
42
42
42
44
44
44
44
44
44
43
42
42
42
42
41
41
41
41
41
41
41
41
41
41
41
41
41
41
40
40
40
39
39
39
39
40
41
45
45
46
46
46
46
46
45
45
44
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
42
42
40
40
41
41
41
42
42
54
54
56
57
57
57
57
57
58
58
58
58
57
57
57
57
57
57
57
55
55
54
54
54
54
54
54
54
53
53
53
53
53
53
55
55
55
55
55
55
54
53
53
53
53
53
53
53
53
53
53
52
52
52
52
52
52
52
52
52
52
52
51
51
50
50
51
51
51
51
52
52
52
51
51
50
50
50
50
49
49
48
48
48
48
48
48
47
47
47
47
46
45
45
44
44
44
44
43
43
45
45
45
45
44
44
44
44
43
41
41
41
43
43
43
43
43
43
44
44
43
43
43
43
43
43
43
43
43
42
42
42
41
41
41
41
41
41
42
43
43
43
43
43
43
43
43
43
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
43
43
44
42
42
43
44
44
44
44
44
45
45
46
44
44
45
45
45
45
45
45
45
45
45
45
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
47
47
47
47
47
47
47
47
47
47
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
47
51
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
53
53
53
55
56
56
57
57
58
58
58
58
58
59
59
61
61
61
62
64
64
64
65
65
65
65
64
64
63
62
62
62
62
62
62
62
60
58
58
57
56
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
56
56
56
56
57
57
57
58
57
57
57
57
57
57
57
57
57
57
57
58
59
59
58
57
57
57
57
57
56
56
56
56
55
55
55
54
54
54
53
53
53
55
55
55
55
55
55
55
55
56
56
55
55
55
55
55
55
56
57
58
58
58
58
59
60
61
61
63
64
65
66
66
66
67
67
67
67
67
67
67
67
67
67
67
67
67
68
69
70
71
72
72
73
73
73
73
73
74
75
76
76
76
76
77
77
77
77
79
80
81
82
82
82
82
82
81
82
82
84
85
85
85
85
85
85
85
85
87
87
87
87
87
87
88
88
89
90
90
90
89
89
89
89
90
91
93
94
94
95
96
96
97
97
97
98
98
99
100
100
101
101
101
101
101
101
101
103
104
105
106
107
107
106
106
105
105
106
107
107
107
108
109
109
109
109
108
108
108
107
107
107
107
107
109
111
112
113
113
113
115
116
117
117
117
117
117
116
116
116
116
115
115
115
115
115
115
115
115
115
115
116
116
117
117
117
117
117
117
117
117
117
123
123
123
123
124
124
124
126
126
126
126
126
126
127
125
125
126
128
128
128
128
128
128
127
127
127
127
127
130
132
136
137
137
137
137
139
141
141
141
142
142
142
143
143
143
143
143
143
142
142
141
141
141
142
142
142
142
142
143
143
143
143
143
143
142
141
140
138
138
137
137
137
138
139
140
141
141
142
142
142
142
142
142
142
142
143
143
144
144
145
150
156
161
169
171
173
174
174
176
177
178
179
181
189
184
181
179
179
179
177
176
176
175
175
174
173
173
172
171
170
169
168
167
167
162
159
153
150
153
154
154
157
158
159
159
159
160
160
161
162
162
162
163
164
162
160
167
171
172
173
174
175
174
172
171
173
174
176
177
181
183
183
182
181
180
180
179
178
177
176
174
176
178
186
184
181
178
174
172
169
166
164
161
161
167
169
170
175
175
176
174
173
171
171
169
169
169
174
184
188
182
182
178
178
177
177
177
178
180
180
181
182
182
181
180
179
178
177
177
182
184
185
186
187
188
188
190
191
188
188
188
189
190
191
192
192
192
192
192
192
192
192
195
198
200
201
208
206
204
202
193
191
191
191
191
192
193
194
194
195
195
196
196
196
196
196
196
196
194
193
196
198
200
200
200
199
198
197
196
196
195
194
194
194
194
194
194
196
198
199
200
202
201
201
201
200
199
198
195
194
193
193
191
190
190
190
190
190
190
191
191
192
194
195
200
204
205
207
211
212
214
215
215
214
213
212
211
210
208
207
207
207
207
207
207
207
207
207
207
208
210
210
210
211
214
215
217
217
217
217
217
217
217
217
217
217
217
217
216
213
213
212
211
210
205
204
203
208
211
212
216
215
214
214
213
213
213
213
213
212
212
210
209
208
208
207
207
207
207
207
207
207
207
207
207
207
208
208
208
209
209
211
211
211
211
211
211
211
211
211
212
213
213
211
209
210
211
211
214
214
216
217
217
218
218
218
218
218
218
219
219
219
219
219
219
220
220
221
223
226
228
227
224
222
220
220
221
222
223
224
224
224
224
224
225
227
229
231
237
239
240
241
242
239
238
234
233
230
229
229
229
229
229
228
228
227
239
240
244
244
242
257
262
264
266
267
269
270
271
271
272
272
273
276
281
282
290
292
293
294
294
294
294
292
291
287
280
276
276
276
276
275
274
273
273
270
269
269
272
281
280
279
278
278
277
276
275
275
274
274
273
271
271
270
272
272
273
274
276
276
276
278
278
278
278
275
274
273
272
266
268
275
275
275
274
268
268
267
266
266
269
269
269
270
270
270
269
269
268
267
267
268
269
270
272
276
283
288
292
297
302
313
316
323
323
323
322
322
318
316
314
311
309
307
304
303
300
298
296
292
297
303
308
318
322
327
329
329
327
327
326
326
325
325
325
327
329
330
330
330
330
330
330
330
329
328
327
327
326
325
324
322
318
317
316
315
314
313
310
309
307
306
306
307
308
309
311
313
316
318
319
319
319
319
319
319
319
319
319
318
318
325
333
337
341
345
355
357
359
361
369
370
370
370
369
369
369
366
364
362
361
360
359
356
355
354
353
351
351
350
351
358
360
364
362
357
352
323
320
316
313
309
307
305
304
306
308
309
310
311
313
316
317
323
324
324
323
323
322
322
318
317
314
312
311
309
309
309
310
311
312
312
312
315
318
319
319
322
323
324
327
331
329
326
321
318
314
313
312
311
310
310
309
309
309
310
310
311
311
312
312
313
313
313
314
314
314
314
314
314
313
313
313
314
324
324
325
325
326
327
328
332
333
335
337
338
340
341
342
343
346
347
350
352
355
362
365
368
370
375
378
381
383
390
392
395
397
399
401
403
409
428
432
435
437
437
437
437
437
437
437
438
438
438
439
439
440
440
442
446
448
451
452
455
459
460
463
466
469
471
474
478
483
482
479
477
472
470
470
471
471
472
474
475
476
477
477
476
475
474
473
473
473
473
473
477
478
478
483
484
485
486
489
490
493
494
494
494
487
486
483
482
479
478
477
476
474
474
476
476
477
478
478
479
480
480
481
480
477
476
470
466
463
459
459
459
460
461
462
463
465
466
466
468
469
469
468
464
463
462
458
456
454
448
446
444
442
432
429
425
422
421
420
420
418
417
416
414
413
415
417
418
420
421
422
423
425
426
429
431
434
435
436
437
438
439
438
436
435
431
430
427
426
422
416
412
409
406
404
404
404
404
404
404
404
404
404
404
404
404
405
405
406
407
408
409
410
407
392
390
388
377
376
376
376
376
376
382
382
384
387
388
392
392
392
392
392
391
391
391
390
390
389
390
391
392
393
393
394
395
396
397
400
401
402
403
404
405
409
409
408
408
408
406
406
405
405
404
404
403
404
406
407
408
409
410
415
416
418
421
422
423
427
428
429
432
439
449
452
454
460
463
465
467
465
459
456
450
449
447
444
441
440
438
436
434
441
446
456
466
474
477
482
483
483
483
483
482
482
481
481
481
481
481
481
481
481
482
483
484
485
486
486
487
488
489
489
491
496
496
497
498
504
506
508
511
514
515
516
522
525
532
537
541
546
548
550
552
552
552
552
552
553
554
557
561
564
566
567
571
572
574
577
565
563
561
546
544
542
535
532
527
527
529
530
531
533
534
535
536
538
539
538
537
536
534
533
533
532
536
542
548
551
558
570
574
577
582
580
578
568
566
563
559
555
551
549
548
547
543
542
539
536
536
537
539
540
542
543
545
546
547
554
557
563
574
567
561
554
546
543
525
530
534
537
538
538
539
538
537
536
535
532
528
526
524
523
522
518
517
516
515
513
512
511
517
519
521
524
529
532
536
537
538
539
535
531
528
518
516
512
513
515
517
518
519
522
523
525
526
528
525
523
523
519
514
511
503
499
498
496
495
494
493
490
488
488
487
481
480
479
476
475
473
472
471
470
469
468
467
467
462
461
460
453
450
444
444
450
453
454
457
459
462
464
461
460
459
459
458
453
452
452
455
459
462
466
465
465
464
464
463
462
462
461
461
460
459
459
459
459
460
461
462
464
467
469
479
484
485
485
483
480
477
475
474
472
476
477
478
481
484
485
483
482
481
480
480
480
480
480
480
480
480
480
481
481
481
481
482
483
486
487
492
494
497
509
520
507
494
490
490
491
492
493
495
497
498
499
499
502
504
504
505
517
522
544
547
549
554
554
554
555
556
557
557
557
557
558
558
557
556
555
555
553
552
552
556
558
562
564
566
565
560
545
543
533
533
534
535
536
537
538
538
536
533
530
528
530
531
532
533
546
549
553
556
561
565
571
583
586
587
591
581
566
564
561
555
554
552
550
540
534
530
529
528
527
521
529
535
540
554
562
560
557
557
548
546
544
542
537
535
532
532
532
532
533
534
535
536
540
541
543
543
543
543
543
543
543
544
544
545
544
542
542
543
544
546
548
550
550
551
552
553
553
553
553
552
552
551
551
550
550
553
555
555
555
555
564
566
577
581
581
582
584
584
584
584
585
587
588
597
602
603
604
606
607
608
609
610
611
613
616
617
622
623
626
629
634
636
638
639
641
645
648
658
659
653
652
651
649
647
635
633
632
632
632
631
630
629
626
625
624
620
617
610
608
604
595
594
594
593
593
593
594
595
596
596
598
601
612
619
624
626
620
619
618
616
613
609
607
605
605
605
604
604
603
601
601
601
602
614
617
618
619
621
622
623
622
622
620
620
619
619
618
616
614
614
614
614
614
614
614
640
642
645
655
657
657
655
652
651
640
631
623
620
621
621
622
624
624
630
631
631
633
636
639
647
639
631
631
630
630
627
624
625
626
628
632
635
637
639
651
653
652
652
651
650
648
648
649
650
652
656
660
662
668
668
666
664
659
650
648
648
648
647
647
647
646
646
646
646
646
646
647
647
647
647
647
648
653
655
659
667
673
678
682
691
688
675
668
669
673
679
687
700
701
695
690
685
680
676
671
664
659
655
655
655
656
659
659
661
661
663
666
668
669
669
670
671
679
680
682
683
686
691
694
681
678
677
675
673
673
680
684
685
686
687
696
698
702
704
708
711
712
709
707
704
700
708
712
719
724
725
732
734
737
739
742
743
749
750
750
750
749
752
763
765
770
773
779
783
788
809
811
815
817
818
820
817
813
808
805
802
801
796
791
787
784
781
774
773
775
777
778
779
780
782
786
788
790
791
794
795
795
795
797
795
791
788
786
784
777
773
771
769
769
768
765
763
769
778
787
796
795
792
790
783
781
778
772
771
768
767
766
766
763
761
757
756
755
752
750
750
750
750
752
754
754
754
754
755
755
755
757
760
765
767
768
770
772
778
782
784
789
792
793
795
795
797
797
799
801
803
804
806
810
816
819
819
817
814
811
808
806
802
799
801
802
803
805
807
809
810
811
813
815
817
818
818
819
817
816
814
812
810
809
808
808
808
806
792
779
775
775
775
775
775
775
775
775
775
775
775
775
775
777
778
781
782
783
784
785
786
787
787
787
788
788
790
791
791
791
792
792
792
793
794
794
794
882
735
734
733
736
739
742
743
746
750
751
755
752
748
744
740
743
747
745
739
729
726
723
721
721
723
731
678
673
667
663
658
652
650
654
658
604
601
600
598
590
589
587
587
589
591
592
594
596
598
602
605
610
633
635
640
652
654
654
653
652
651
648
648
647
647
647
646
646
644
644
644
645
646
647
648
649
652
655
656
656
656
658
659
660
662
668
669
671
672
673
679
680
683
683
683
684
684
684
684
685
685
685
684
684
683
683
682
682
681
681
681
680
679
678
678
678
676
675
674
673
672
672
670
668
667
666
664
663
659
657
656
655
651
647
643
641
643
647
653
654
656
657
661
660
657
656
650
649
647
645
646
647
651
651
651
648
647
644
639
633
625
614
610
609
609
608
606
606
605
604
604
603
602
601
598
597
596
595
593
592
592
587
584
580
578
577
575
573
566
565
568
570
571
573
574
578
578
579
581
581
581
582
582
582
583
583
584
585
585
586
586
586
586
584
582
572
566
565
564
563
565
572
575
577
580
583
585
588
586
585
584
582
580
577
575
572
567
561
554
545
541
534
530
528
526
531
537
547
549
551
553
560
566
569
565
563
560
557
544
542
540
537
523
522
518
517
516
516
515
514
513
512
512
511
510
510
509
509
508
511
513
518
529
530
534
535
534
534
533
533
533
532
531
531
529
529
528
526
525
524
523
522
521
521
520
519
519
518
518
518
518
518
518
518
517
516
516
514
512
511
509
515
515
516
518
519
521
521
522
522
526
528
527
526
522
518
517
515
512
513
513
514
516
519
519
520
521
522
523
523
523
522
522
520
519
519
517
517
515
515
516
517
517
519
519
520
520
520
521
525
527
529
532
533
535
536
537
537
536
536
535
534
533
532
530
530
530
531
531
532
532
532
533
533
533
534
534
534
534
534
534
534
533
533
533
533
533
533
533
532
528
527
526
525
520
519
517
516
515
514
514
514
514
514
514
514
514
514
514
514
514
514
514
513
512
512
512
512
512
511
507
500
498
496
490
487
481
474
469
467
466
461
460
460
458
458
457
457
455
455
454
453
452
451
448
446
444
443
443
442
442
439
437
436
434
434
434
433
433
433
433
432
432
436
437
437
439
441
442
443
444
444
444
444
444
444
444
444
444
444
443
441
440
439
435
433
428
427
422
421
421
422
423
424
424
426
426
426
425
425
425
423
423
422
420
420
417
416
415
410
406
402
399
397
393
393
393
393
392
392
392
392
394
404
407
410
412
414
418
419
420
424
421
419
414
409
407
393
390
386
382
378
372
374
375
377
381
385
387
389
390
393
394
394
391
391
390
387
386
385
383
379
376
374
369
367
359
355
353
352
346
340
338
336
330
331
336
338
340
341
347
349
351
352
349
348
343
333
333
330
330
329
327
326
326
325
323
322
322
318
316
315
312
311
309
308
306
305
301
301
300
299
299
297
296
296
296
296
296
296
295
295
295
294
294
294
294
293
293
291
290
287
286
284
279
279
278
278
277
276
273
270
268
266
257
256
256
254
250
249
248
246
243
237
235
233
232
231
231
230
230
218
217
206
191
189
187
185
175
169
163
154
152
151
151
149
149
149
148
148
148
147
146
144
142
141
141
140
139
138
137
137
136
135
134
134
134
133
133
132
131
129
128
127
127
127
127
126
126
124
123
122
121
119
118
116
116
114
121
124
126
127
129
130
132
141
140
138
137
136
135
133
132
130
128
126
125
124
123
122
115
113
112
111
110
110
109
107
106
106
105
105
104
103
100
99
97
97
96
89
89
88
86
86
84
80
79
79
78
78
76
72
72
71
70
70
78
87
60
60
60
60
60
60
60
60
60
60
60
60
61
63
66
61
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
54
42
40
40
40
40
40
40
40
40
39
39
39
39
39
39
39
39
39
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
39
38
34
34
34
31
29
25
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
21
21
22
22
23
23
25
38
43
44
45
49
50