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