51
42
43
37
38
38
39
40
41
41
39
40
43
41
43
38
32
32
32
35
38
39
37
38
38
40
38
38
38
38
38
38
40
39
42
41
42
41
41
42
46
53
55
42
43
38
38
42
42
46
46
46
44
44
43
44
44
44
43
45
46
44
44
44
47
47
47
45
45
46
46
49
52
51
52
54
50
50
59
53
56
56
53
53
57
57
58
52
54
54
55
56
58
61
64
66
62
61
63
67
69
61
63
66
63
60
70
66
63
63
58
64
63
60
60
60
67
61
59
57
59
63
68
67
63
61
62
63
67
65
63
64
65
66
66
66
70
75
69
64
68
67
68
69
72
74
77
83
86
89
91
93
93
94
105
108
115
116
116
116
116
119
128
141
143
143
145
146
146
148
145
149
150
153
174
187
191
193
194
194
195
201
201
202
202
202
202
203
205
205
205
203
203
207
207
213
209
203
199
198
203
199
198
202
202
197
197
198
199
197
198
197
198
199
201
203
203
204
211
209
208
206
207
210
213
214
216
209
202
201
200
200
199
199
199
199
200
201
201
200
200
200
201
202
201
200
200
199
198
197
198
198
198
197
196
196
197
198
199
199
200
200
200
200
200
200
200
200
203
203
204
204
204
203
202
195
194
193
191
188
188
188
186
176
173
174
173
159
159
167
172
176
174
155
154
154
158
161
158
162
166
167
173
176
174
168
166
171
172
173
176
173
174
175
177
177
189
188
190
189
198
198
198
204
204
204
204
216
215
219
221
224
224
225
225
230
234
226
227
231
232
229
231
236
237
244
244
245
246
248
250
252
252
252
255
255
255
253
251
249
234
231
230
228
226
225
225
224
222
219
208
208
208
203
199
195
191
190
190
192
193
194
197
193
191
187
189
191
186
182
181
179
177
177
177
178
178
177
177
175
175
170
176
180
180
176
173
170
173
172
175
177
177
175
169
162
162
161
161
161
163
163
162
163
164
167
158
157
156
157
156
154
162
162
162
162
162
162
161
167
175
166
167
164
159
159
158
158
159
160
161
161
160
159
160
164
174
173
173
170
175
185
183
181
181
181
189
199
215
213
215
221
221
221
222
222
227
233
236
239
241
241
247
248
248
248
248
253
255
254
251
236
235
237
238
233
230
222
218
209
210
217
216
222
228
224
217
221
217
215
215
215
219
217
223
216
217
217
217
223
225
237
236
234
235
238
246
245
247
247
247
251
256
258
258
258
260
261
262
262
250
235
235
231
230
228
227
223
217
219
221
221
210
212
213
215
214
213
211
216
219
222
228
241
244
242
210
209
208
199
198
195
189
185
184
184
184
184
185
187
193
197
197
212
209
212
217
217
219
227
229
233
242
244
247
247
247
249
253
250
251
255
255
252
242
241
240
236
230
228
226
224
220
219
218
216
215
212
209
207
209
209
205
204
204
204
202
197
196
197
193
189
189
189
189
188
187
186
183
179
176
171
171
172
177
174
171
167
162
166
165
160
157
160
162
162
149
143
138
146
142
141
142
138
137
139
149
146
150
142
140
129
127
128
129
129
132
131
140
137
131
126
125
124
127
133
141
138
138
143
147
146
142
141
144
146
154
158
159
160
161
161
163
166
169
176
177
180
181
185
186
189
193
202
203
204
207
214
219
228
230
232
233
225
230
231
234
239
240
244
247
250
250
250
250
249
249
247
245
231
225
227
224
217
214
212
210
212
207
194
188
186
186
186
185
184
177
175
174
164
162
162
161
160
159
158
156
133
130
131
135
136
138
139
139
141
144
146
152
155
164
170
173
171
169
186
191
186
181
178
175
175
176
178
180
184
185
183
189
189
221
239
240
240
242
244
248
251
253
255
264
268
267
267
267
268
268
269
272
267
265
264
264
265
264
261
258
269
271
270
262
257
257
260
261
264
262
261
252
248
246
245
238
234
231
230
231
231
224
216
210
201
198
200
206
208
209
203
185
180
174
171
167
165
164
130
133
137
137
137
138
139
139
137
137
137
147
149
147
145
145
145
146
150
125
122
139
127
121
127
121
118
118
124
123
121
129
126
130
129
124
120
136
128
133
133
128
133
147
143
132
130
124
124
128
132
138
137
126
129
117
120
120
118
118
116
117
118
119
119
118
118
118
121
122
122
122
122
123
126
128
134
136
121
121
121
121
128
134
137
139
143
156
162
160
159
158
160
156
152
150
150
150
150
150
150
150
150
149
154
161
139
137
140
141
159
160
143
133
136
147
143
123
130
126
129
129
121
121
121
120
120
117
117
117
118
120
121
123
131
138
142
144
143
143
143
151
152
156
156
151
138
142
143
147
152
160
159
159
158
150
149
148
148
147
145
140
140
136
151
141
167
165
162
163
144
139
154
156
151
149
146
128
123
122
122
123
126
127
125
126
131
131
130
129
135
136
138
131
132
129
126
125
125
127
129
132
133
133
134
134
132
133
135
141
144
153
148
146
145
144
145
145
145
144
145
148
149
148
146
145
147
151
157
154
153
157
155
151
157
165
166
168
168
165
159
165
164
163
163
170
172
169
164
162
161
161
161
164
166
167
168
167
166
166
166
166
166
168
169
169
168
173
174
174
173
172
171
171
175
178
179
179
179
180
179
178
179
179
179
178
178
180
182
180
184
185
184
184
183
183
182
184
182
182
184
185
185
184
184
184
184
184
184
189
189
189
189
189
190
190
189
190
195
197
198
199
199
198
198
200
203
205
208
204
211
211
210
214
216
216
217
217
217
217
218
218
218
217
219
221
223
228
228
229
230
232
232
235
236
236
236
236
236
237
237
237
238
239
240
239
238
238
239
241
248
249
250
251
256
263
267
268
271
273
274
276
276
279
280
280
281
280
280
279
278
276
273
270
270
267
263
263
261
255
255
255
254
253
252
247
247
247
248
249
256
256
255
255
254
253
252
243
242
236
238
240
241
246
251
251
251
251
255
249
247
246
244
241
241
237
240
240
239
239
240
242
243
242
241
241
241
241
244
248
248
248
249
254
254
251
252
256
260
261
260
261
262
263
263
263
264
264
264
264
265
266
267
267
269
272
272
272
272
273
275
275
275
276
278
281
284
286
286
298
300
301
303
303
303
306
310
319
320
321
323
320
316
313
303
301
294
294
294
297
303
306
311
312
314
315
317
319
328
331
333
335
335
335
335
337
337
337
342
356
367
368
370
378
381
390
390
390
396
396
394
393
380
378
377
376
374
373
341
339
339
339
344
344
344
345
347
355
355
355
355
355
356
351
350
349
340
341
336
336
336
342
344
344
346
347
349
349
374
373
375
371
371
368
366
366
366
371
372
374
375
376
377
380
382
385
391
391
391
390
389
388
385
385
374
367
367
370
369
379
379
380
380
386
391
391
388
387
387
387
389
391
396
397
396
395
390
389
388
385
382
378
373
363
361
359
352
352
352
352
352
351
351
351
351
351
351
351
355
355
357
359
335
340
338
339
336
336
341
346
344
319
303
296
295
321
323
337
339
354
355
357
353
352
350
349
348
347
344
343
336
302
295
290
288
288
288
289
290
296
300
300
302
307
325
333
336
336
334
334
338
348
352
354
367
372
374
375
375
381
387
394
402
406
409
426
430
431
441
438
435
452
452
451
452
455
465
481
486
486
486
491
494
498
497
495
496
499
506
498
493
488
484
484
484
492
494
497
498
504
508
512
512
511
511
511
514
511
520
521
520
520
520
520
518
517
515
514
514
514
500
481
476
479
481
484
486
496
506
504
514
513
493
494
494
506
507
509
510
513
513
515
517
518
525
525
523
523
537
539
540
539
542
542
543
545
548
549
546
546
541
539
531
528
524
524
534
534
534
531
515
507
499
498
498
493
489
486
484
482
478
475
473
461
459
458
458
457
459
473
463
463
463
462
461
461
461
467
471
472
476
476
477
478
479
481
483
501
507
515
519
520
526
531
534
533
533
530
524
519
517
514
517
529
530
530
531
532
541
561
566
571
573
578
575
571
576
584
585
584
586
587
588
590
599
609
619
619
621
623
622
622
623
621
618
609
607
607
607
609
611
616
623
608
605
602
605
601
598
597
594
588
586
585
576
562
558
560
557
557
558
560
543
564
569
570
571
569
567
576
558
549
545
544
541
532
532
533
544
551
554
553
567
564
559
560
560
556
553
561
550
551
553
568
565
557
556
552
535
535
536
536
540
544
545
547
549
553
565
571
574
577
577
586
586
582
582
583
580
579
579
579
576
572
569
569
570
572
575
580
601
605
610
616
625
626
595
581
571
568
568
578
578
578
580
581
571
571
571
545
546
545
535
539
544
551
570
572
569
569
568
568
565
565
563
555
539
537
528
525
524
524
524
524
523
523
523
523
523
523
523
523
523
523
525
524
524
526
528
528
528
528
528
528
527
526
525
527
527
524
522
522
523
520
526
525
525
525
525
525
523
523
523
523
522
522
522
519
519
524
530
530
531
550
549
547
547
540
537
536
536
538
538
537
537
536
536
535
535
535
534
534
539
537
536
536
551
550
549
551
553
553
549
547
544
543
542
543
543
545
543
544
547
551
552
552
554
555
557
557
557
558
560
561
562
567
567
567
567
567
570
574
591
598
599
600
604
608
607
608
615
617
616
616
617
619
622
634
641
641
641
648
650
648
662
659
662
669
673
680
672
667
676
685
670
672
676
680
685
710
709
695
697
702
704
706
709
720
726
733
745
751
750
750
749
749
749
751
753
754
754
755
756
761
766
767
768
770
777
777
777
778
778
779
782
783
788
805
805
807
810
811
819
828
830
829
840
842
842
844
845
846
847
856
857
860
867
869
869
871
873
875
876
876
876
876
875
877
877
867
867
867
867
866
862
865
863
860
859
858
849
850
851
853
858
854
850
847
846
846
840
834
829
828
827
827
827
821
820
820
820
827
833
834
836
836
832
831
829
830
835
844
844
850
851
848
834
832
831
830
829
827
825
824
822
821
819
815
810
795
797
777
775
771
768
766
756
755
754
749
748
746
738
735
739
736
733
751
748
743
740
738
737
739
736
738
741
737
740
743
736
737
740
744
754
746
742
743
741
744
744
738
738
743
746
745
746
744
741
741
742
743
744
745
747
750
751
755
755
758
765
774
775
779
781
784
788
791
800
806
808
810
819
806
801
801
806
814
814
814
814
814
814
814
810
810
810
803
800
798
797
796
797
798
798
798
794
792
788
786
785
785
785
792
784
778
775
775
770
770
775
774
770
773
778
784
786
787
784
784
783
782
782
782
778
778
779
780
782
784
792
793
790
787
787
788
795
795
792
791
789
787
793
797
799
803
808
801
794
799
800
804
806
808
806
807
810
812
807
809
812
814
810
808
809
813
814
814
811
808
810
814
814
814
814
811
810
810
809
812
812
813
814
818
818
817
817
819
818
818
826
828
828
826
825
824
824
833
833
834
836
835
831
836
835
834
830
830
833
834
834
842
844
845
846
846
854
856
868
868
868
868
871
871
873
873
873
876
874
875
871
868
864
861
860
859
859
854
851
851
851
851
844
844
843
841
836
831
831
815
809
811
814
816
820
829
830
839
843
842
842
856
855
854
854
854
852
851
851
851
851
850
854
854
854
855
854
854
861
851
852
850
849
849
846
844
841
835
840
836
836
833
831
827
824
822
806
796
777
773
762
752
743
744
724
718
704
703
653
656
654
652
648
648
648
648
648
646
645
644
631
631
631
628
615
611
607
609
612
610
607
604
582
585
585
582
579
580
582
577
576
574
553
553
553
549
546
537
537
538
531
528
527
526
525
522
519
511
510
509
507
507
507
503
503
503
503
503
503
503
502
491
486
481
478
474
467
462
461
461
460
460
459
444
437
429
380
380
378
378
378
378
378
373
373
373
373
372
370
369
368
366
366
366
363
359
359
358
358
358
357
357
357
357
357
357
358
359
361
362
362
363
366
365
362
362
361
361
363
367
368
366
365
373
375
379
388
387
375
372
368
364
364
362
362
370
370
371
376
379
380
380
402
398
396
389
402
405
403
399
384
389
408
410
404
390
379
377
378
379
380
382
385
386
385
383
387
388
389
387
407
382
388
379
381
381
381
381
381
382
391
389
389
388
394
395
393
391
390
384
387
384
383
387
390
396
396
397
399
386
389
393
395
390
391
400
426
414
413
413
399
400
397
394
405
410
405
402
403
403
406
427
414
417
413
411
405
397
399
407
412
404
404
403
404
403
404
409
412
414
416
416
414
411
408
400
398
415
408
404
403
403
404
404
409
410
408
406
406
413
435
415
417
403
402
403
406
410
413
406
404
404
410
409
408
413
424
430
415
416
419
421
410
413
417
424
414
421
411
427
426
425
427
434
448
429
421
424
418
416
417
418
419
415
419
429
431
426
424
424
418
420
421
421
421
422
427
427
430
434
436
437
435
427
451
428
433
435
437
459
442
435
426
429
431
435
439
441
444
446
443
441
436
435
431
430
433
433
431
437
436
437
436
432
433
434
437
441
447
455
459
438
439
435
438
443
437
433
429
434
441
437
445
451
445
446
451
463
437
436
437
446
444
456
464
464
464
500
502
497
494
465
450
446
449
446
458
469
469
457
451
458
468
480
475
456
458
461
461
459
461
463
463
463
477
471
478
486
492
492
493
493
484
472
471
475
481
485
484
486
490
498
505
507
506
495
468
472
488
477
473
473
482
475
480
491
500
491
487
471
492
474
479
487
489
490
484
482
481
491
506
500
492
491
486
483
487
487
486
487
486
483
493
499
513
525
532
531
529
527
519
515
511
533
514
513
524
524
521
509
521
525
527
525
520
519
522
523
525
524
523
517
516
516
516
518
519
517
513
506
505
505
507
510
514
518
517
514
510
491
500
506
501
495
494
494
491
490
490
500
486
496
495
494
492
492
493
497
495
492
491
490
490
490
490
490
490
491
489
485
484
488
487
487
487
489
494
494
494
493
499
502
498
498
497
510
504
508
517
521
521
508
517
522
510
503
503
503
514
529
529
521
521
533
539
534
531
529
525
527
531
531
528
527
526
530
533
533
533
544
551
570
575
579
578
602
609
610
611
611
611
609
613
621
619
622
630
633
638
648
661
689
690
690
690
690
691
696
697
695
694
690
691
693
694
697
719
725
733
742
752
756
756
754
753
754
752
752
753
759
761
763
765
768
772
773
774
774
776
779
802
802
798
795
793
793
794
794
794
789
786
786
785
783
783
783
773
773
775
775
775
775
770
763
762
762
741
728
728
728
728
728
729
729
730
732
732
731
730
738
737
738
740
742
744
747
747
747
745
749
754
755
759
765
765
765
765
781
780
799
802
806
804
801
811
813
808
809
809
808
807
805
807
811
809
805
796
793
788
789
797
805
805
801
795
786
787
794
789
778
772
773
773
775
774
771
760
759
757
754
766
762
760
755
741
747
751
766
738
736
745
749
752
754
753
749
730
730
725
722
710
720
724
719
715
713
709
707
704
700
700
700
700
700
705
708
713
700
697
696
695
694
692
682
678
677
685
688
679
670
674
665
659
648
645
641
633
624
625
626
611
610
609
615
590
592
594
598
600
601
600
595
595
595
600
605
611
613
615
620
621
621
620
619
618
616
616
617
617
617
619
623
627
637
638
640
644
688
709
693
649
646
644
636
636
636
635
632
630
632
630
623
622
622
622
622
620
618
616
613
613
610
609
569
570
571
572
573
568
567
569
569
569
569
566
558
536
522
522
522
520
518
516
515
519
523
503
506
505
504
501
499
497
495
478
464
467
471
468
459
451
443
428
435
451
466
471
444
434
438
434
433
431
430
427
424
423
413
414
415
415
413
413
412
412
408
400
400
400
387
366
363
361
364
366
363
358
349
348
348
348
352
346
338
338
341
347
347
335
338
334
327
326
327
325
329
325
323
321
326
326
325
324
322
316
315
319
321
324
324
312
315
319
323
327
322
314
308
304
312
312
312
315
317
325
325
316
316
316
317
317
311
305
302
303
306
304
302
299
299
302
328
326
323
321
321
298
294
298
305
305
303
273
277
280
279
276
274
272
272
280
292
290
278
276
276
277
272
266
267
267
269
269
266
265
265
267
265
260
266
269
270
271
272
272
270
269
262
256
256
255
255
255
256
256
255
248
247
246
246
246
246
245
245
245
245
245
243
236
236
235
231
230
230
231
231
229
228
228
228
228
227
227
226
226
225
222
221
220
218
218
219
221
222
224
226
224
221
223
225
221
217
218
217
218
215
218
217
216
210
210
209
209
220
217
219
220
220
211
206
205
209
217
218
218
219
207
201
204
209
211
205
202
200
201
203
199
196
198
202
200
198
197
195
201
203
205
204
198
199
200
200
199
200
200
202
210
192
196
189
189
198
206
201
196
188
189
190
191
191
188
186
185
184
183
183
184
185
186
187
189
189
189
208
197
186
188
178
181
182
183
184
189
189
185
182
180
179
179
178
177
176
178
177
183
190
196
199
202
190
206
207
188
186
190
191
187
185
181
181
174
177
176
175
178
174
171
176
185
186
175
168
170
175
164
164
163
164
165
166
166
174
183
184
183
182
175
175
172
170
171
172
169
166
166
159
162
157
162
164
163
161
160
161
163
169
167
175
182
179
171
172
167
162
153
155
158
162
167
167
157
167
152
150
151
154
155
154
154
154
153
153
152
152
151
151
150
149
148
148
148
148
149
149
150
149
149
148
147
146
146
148
149
149
150
151
152
149
150
150
154
168
167
166
165
166
170
175
178
179
181
181
182
185
187
189
190
190
190
190
190
190
185
173
172
170
170
171
174
174
184
184
184
184
184
197
209
209
213
213
213
217
218
226
228
228
222
221
221
211
212
206
208
230
223
214
211
207
201
199
199
196
196
195
192
191
189
189
189
188
187
179
178
178
177
175
174
177
174
174
178
175
173
171
170
169
169
165
164
163
163
163
163
163
161
160
159
161
162
162
162
161
161
160
159
159
158
157
156
155
156
153
152
152
152
152
152
153
153
154
152
151
152
157
164
163
161
154
154
152
150
149
145
123
126
131
131
131
111
109
104
97
97
97
96
95
94
94
95
97
97
97
100
100
100
100
99
102
99
100
100
100
99
98
98
98
98
96
95
90
90
89
89
88
87
88
90
92
90
90
88
88
93
93
100
97
91
89
86
84
82
82
82
81
80
78
78
78
75
73
73
73
74
74
75
75
75
75
75
76
76
76
75
75
72
73
68
75
71
71
70
70
70
68
75
73
74
79
88
87
80
75
71
65
66
64
63
63
63
64
61
59
60
62
62
59
58
58
64
60
58
57
57
62
57
63
62
67
68
72
64
60
56
54
52
57
54
48
47
47
46
45
43
46
46
49
49
54
58
61
65
71
84
91
95
101
105
109
112
117
118
118
119
119
118
117
117
117
117
118
118
119
119
119
119
119
119
120
123
133
129
124
127
131
135
137
137
135
126
126
122
120
121
116
110
108
107
106
104
105
104
104
108
108
110
120
119
115
113
113
113
114
130
131
132
133
126
121
119
128
132
142
142
146
147
147
147
147
147
148
151
152
152
151
151
151
151
148
155
158
159
168
167
168
170
169
167
153
151
147
147
146
149
153
154
149
141
145
145
146
146
147
147
147
148
163
162
157
154
160
163
170
166
164
165
170
171
169
168
168
164
160
160
157
153
154
156
154
150
159
148
147
145
134
134
134
134
135
135
135
134
127
126
124
123
121
122
122
121
118
118
117
117
114
113
115
113
104
99
86
74
58
58
55
54
54
53
53
53
53
51
51
53
53
49
48
52
51
47
42
35
33
33
32
32
32
32
32
33
33
33
33
33
33
35
35
34
34
33
34
35
35
35
35
35
35
35
37
35
35
35
35
35
35
35
34
34
34
34
34
35
33
33
34
36
38
39
39
40
41
41
41
41
38
37
37
37
37
37
37
36
36
36
36
36
38
37
37
39
38
37
36
36
36
36
35
37
37
38
39
40
39
39
40
40
40
40
40
39
38
38
39
39
40
40
41
42
42
42
40
44
44
44
44
44
44
44
47
50
52
53
55
53
53
54
55
55
55
55
54
54
54
53
53
52
54
55
55
55
54
54
54
53
53
53
53
56
56
60
60
60
60
60
59
59
60
61
61
62
63
63
62
62
64
66
59
53
54
53
50
48
47
45
43
40
32
31
28
28
28
27
26
26
19
21
21
22
26
28
29
36
41
49
55
55
61
63
62
61
62
62
64
64
64
66
65
58
46
44
35
35
35
35
36
37
38
40
41
41
42
42
48
50
31
30
31
26
22
16
14
12
11
13
13
13
12
11
10
11
15
9
9
8
7
11
11
14
15
13
14
16
16
15
15
11
11
14
13
12
17
20
18
15
13
13
15
15
17
16
13
15
13
11
11
12
12
12
12
14
15
15
14
14
16
15
14
13
14
14
13
13
13
13
13
13
14
14
14
14
15
14
14
14
14
21
22
23
23
22
17
19
19
16
18
17
19
16
17
16
16
14
14
15
15
15
14
19
19
20
23
21
21
23
33
18
18
18
17
19
20
30
31
16
15
13
17
16
15
16
18
18
17
17
17
17
16
16
17
19
18
18
18
18
16
21
22
23
23
24
24
24
24
24
24
24