41
39
36
33
30
28
24
19
18
17
17
15
15
13
13
11
10
10
9
9
8
7
7
6
6
6
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
7
7
7
10
10
12
13
13
13
13
13
13
13
13
14
15
15
16
16
17
18
18
21
25
29
33
35
37
38
39
39
40
41
41
43
46
47
49
51
52
54
54
54
55
55
55
54
50
48
44
42
40
37
34
31
25
19
19
19
21
25
31
35
36
36
35
35
41
47
55
57
52
41
34
31
33
35
38
40
42
43
45
44
43
42
44
50
56
60
63
64
65
64
57
51
44
36
33
31
29
27
25
23
22
20
17
16
15
14
14
14
15
15
16
16
18
20
22
24
26
26
26
26
26
26
28
29
30
32
32
33
33
33
32
30
29
28
27
26
25
24
27
31
34
40
38
33
31
26
22
22
24
24
25
25
23
23
21
20
18
16
16
17
18
18
16
15
13
13
15
17
18
15
12
7
7
8
8
9
10
10
10
10
10
9
8
8
11
12
15
14
9
7
5
5
4
4
4
4
4
5
5
5
6
6
7
9
10
11
13
15
16
18
20
20
20
20
20
20
20
21
21
22
22
21
19
18
17
14
13
11
10
9
9
9
9
9
9
10
10
11
11
12
12
13
13
13
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
16
16
17
18
18
19
20
21
21
22
22
23
23
24
25
26
26
27
28
29
29
29
29
29
29
29
29
30
30
31
31
31
32
33
34
34
35
36
37
37
37
36
36
35
35
35
36
37
38
40
40
38
37
36
36
33
33
32
32
31
31
32
32
33
34
34
35
36
37
37
38
39
39
40
40
42
42
44
45
45
46
46
48
49
49
49
49
49
49
49
49
49
50
51
52
52
54
56
56
57
58
60
60
60
60
60
60
60
60
60
61
62
64
65
66
67
68
69
71
71
72
72
72
72
72
72
72
72
73
73
73
73
73
73
73
73
73
74
74
75
76
77
78
79
80
80
82
82
83
84
84
85
86
86
88
88
89
89
91
92
93
94
94
95
96
97
97
98
98
99
100
100
100
100
100
100
100
100
100
101
102
102
102
104
104
106
107
108
109
111
111
111
111
111
111
110
110
110
110
112
114
115
117
118
121
122
124
124
124
124
124
124
124
124
123
121
120
119
118
117
117
117
117
117
117
117
117
117
117
117
118
120
121
123
124
124
123
122
122
121
121
121
121
121
122
123
123
123
125
126
127
128
129
130
131
131
132
133
133
134
135
136
136
137
137
137
138
138
138
139
139
141
142
144
146
149
151
154
156
159
163
164
165
167
168
168
168
168
168
168
168
168
168
168
168
167
166
165
164
163
162
161
159
159
159
159
158
158
158
158
158
158
160
161
162
163
165
165
164
161
160
159
158
157
157
160
161
163
165
168
172
174
177
181
181
182
182
183
183
184
185
185
186
186
186
184
182
181
180
177
175
173
172
174
176
177
179
181
182
184
186
187
186
186
184
179
179
179
179
180
180
180
181
181
181
181
183
185
187
188
190
192
194
198
201
202
203
205
207
208
209
211
212
214
214
215
214
212
211
209
208
205
203
201
200
201
203
205
206
207
209
210
211
212
215
217
219
222
231
233
235
238
235
234
229
226
224
220
220
223
224
227
229
233
234
235
236
236
237
238
238
238
238
240
241
242
243
244
245
247
248
249
249
248
246
244
243
242
240
239
237
236
235
234
233
234
234
234
235
236
236
237
238
239
240
242
242
245
246
247
250
252
254
255
256
257
257
258
258
258
259
272
277
278
281
284
287
290
290
288
288
287
287
286
285
284
284
283
282
281
281
281
280
280
279
280
281
282
283
286
289
290
291
293
295
296
297
298
300
300
302
304
307
307
305
304
303
302
300
299
298
296
300
303
307
309
312
316
320
324
325
324
324
323
322
321
321
320
319
318
318
319
319
320
320
320
322
322
322
324
325
326
327
327
329
330
330
330
329
329
328
327
326
326
326
326
326
326
326
326
327
327
328
328
329
330
331
331
332
333
334
336
338
339
342
343
344
345
345
346
346
347
348
351
351
352
355
356
356
356
356
357
357
358
358
358
358
361
366
368
370
373
372
371
370
369
368
366
366
365
364
364
364
365
365
366
367
367
367
368
368
369
370
371
372
372
374
374
376
376
377
378
378
378
378
377
377
377
376
376
376
376
377
377
378
379
381
382
383
383
384
385
385
386
386
387
389
389
390
390
390
390
390
390
390
390
390
390
391
394
395
396
400
401
403
406
407
410
411
413
415
417
419
421
424
425
426
426
425
423
421
419
417
415
414
412
411
409
411
413
414
415
416
418
419
421
422
422
422
423
423
424
424
424
426
430
432
433
433
435
435
436
436
437
438
438
436
434
425
423
419
414
420
425
429
439
442
448
451
457
464
469
470
472
473
476
477
479
480
482
481
479
469
461
460
453
449
447
445
444
443
441
439
438
436
435
435
435
436
437
437
438
438
439
439
439
440
440
440
437
436
434
433
431
430
428
428
429
430
431
431
432
433
434
434
436
437
438
440
441
441
443
443
445
446
448
449
450
450
450
450
450
450
450
450
451
452
453
454
455
457
458
459
459
462
468
470
473
477
479
483
484
484
483
483
483
482
482
481
481
479
476
475
472
471
469
468
465
464
462
458
455
454
453
450
447
450
451
455
457
460
464
460
458
452
447
452
457
466
471
477
477
476
475
475
466
461
449
444
443
441
440
439
439
441
445
448
451
454
458
461
470
473
478
482
484
480
471
467
456
450
445
442
440
434
431
432
433
434
436
437
438
438
438
438
438
438
436
433
430
428
426
429
431
433
436
438
439
440
440
441
441
442
442
443
443
444
444
443
442
440
440
436
435
432
430
429
430
433
436
437
441
442
446
448
453
455
457
457
458
459
458
456
452
450
446
442
441
444
445
448
449
447
444
430
430
431
431
432
432
434
436
437
438
439
439
441
441
444
445
448
449
449
449
450
450
450
450
452
454
456
458
461
462
464
465
467
468
470
471
472
473
475
476
479
481
483
485
487
489
492
493
496
498
499
503
506
506
505
504
503
499
499
498
497
496
493
493
492
491
490
489
489
488
487
486
486
485
485
484
485
486
487
490
491
492
493
495
499
500
502
504
509
513
515
519
525
547
549
551
553
557
559
563
566
567
564
559
557
555
552
549
547
546
552
558
565
571
573
576
579
582
583
583
582
581
581
580
579
578
578
577
576
576
574
574
574
573
573
571
571
569
567
566
564
557
555
553
552
551
550
548
546
545
543
541
541
543
546
549
552
557
559
562
565
568
581
583
588
591
593
598
602
607
609
609
608
608
607
606
604
603
598
597
594
593
592
592
595
595
596
612
615
620
628
632
635
636
634
632
630
627
625
623
627
629
631
633
636
635
634
633
632
631
630
628
627
626
625
624
624
622
621
620
619
619
619
620
621
623
624
625
626
627
628
630
631
631
629
628
624
622
621
620
618
618
621
624
629
633
637
643
645
647
648
649
651
654
660
662
663
663
663
662
662
661
660
660
660
658
656
654
652
651
649
647
647
644
644
643
642
641
639
639
640
640
640
641
641
641
647
650
656
660
668
670
674
676
676
675
674
673
672
671
670
668
668
671
674
676
679
680
682
684
687
686
683
677
671
668
665
662
658
655
653
653
654
654
655
655
656
656
657
658
658
659
659
659
651
637
632
618
614
611
606
602
599
599
601
605
607
608
604
600
594
588
581
577
575
572
571
568
567
565
562
554
551
548
552
555
557
559
561
562
564
564
567
568
571
573
581
584
595
597
599
600
602
599
594
589
583
577
571
564
556
550
546
543
538
535
526
524
528
530
532
534
537
544
547
554
558
562
564
566
564
562
562
561
556
553
550
548
547
543
540
537
534
530
526
523
519
518
517
515
514
510
505
501
497
495
493
492
490
489
492
499
502
506
502
501
497
496
496
496
496
495
492
489
486
484
486
488
489
490
490
488
487
486
487
488
491
493
495
493
489
486
484
482
481
480
479
475
473
466
461
460
463
466
476
478
477
475
473
477
482
490
494
500
503
506
508
511
513
514
512
499
493
478
475
474
474
473
472
463
459
450
448
446
445
442
439
432
429
423
418
415
409
407
403
401
400
399
397
395
391
388
389
395
399
409
413
419
422
426
426
426
426
424
422
418
416
411
408
401
398
417
419
420
421
421
421
421
421
421
421
420
418
417
416
414
414
412
412
412
412
413
413
413
413
413
413
414
414
414
414
414
414
414
414
414
414
417
420
423
427
428
433
436
437
438
438
437
436
436
435
435
434
434
434
434
434
434
434
433
430
428
423
422
427
429
432
432
430
429
427
426
428
430
431
431
432
433
433
433
433
431
431
430
430
431
432
432
433
434
436
437
438
439
440
441
442
442
443
443
443
444
444
445
445
447
449
450
452
453
455
457
459
460
456
454
451
449
446
444
441
440
440
441
441
442
443
443
447
451
455
459
463
468
472
473
470
468
466
464
462
461
459
457
457
460
462
465
468
471
474
477
476
471
466
462
458
455
453
450
448
443
441
440
434
431
428
430
431
432
433
434
435
436
438
441
444
446
448
449
451
454
457
460
461
463
464
465
467
469
470
472
474
475
477
478
481
482
483
485
488
489
491
494
495
496
497
497
498
499
500
501
501
502
503
504
505
503
501
497
493
489
488
489
490
491
492
494
495
496
496
494
490
487
482
479
477
476
473
470
469
467
464
463
460
458
455
453
451
448
447
444
444
446
446
448
448
450
450
454
463
472
480
486
490
499
502
504
505
506
508
509
511
512
513
514
514
513
513
511
510
510
509
508
508
508
507
507
506
506
505
505
505
505
507
508
509
511
512
514
514
516
517
518
520
522
523
525
525
528
528
529
529
526
525
523
523
522
520
518
518
517
521
522
524
526
528
529
530
531
532
533
534
534
534
536
536
537
537
539
541
543
544
545
546
547
549
549
548
544
542
540
539
537
536
534
529
528
524
521
520
518
517
517
518
521
522
527
529
532
532
532
532
532
532
532
531
526
524
519
517
513
509
506
505
505
506
506
507
507
507
508
508
509
510
514
515
520
525
527
528
531
534
535
536
537
537
538
539
540
540
541
542
538
536
532
528
523
521
518
514
514
515
517
518
520
521
523
528
533
542
546
551
555
561
564
564
565
565
565
566
566
566
566
566
565
565
564
564
563
563
564
569
572
574
575
577
582
583
585
585
586
588
589
591
591
593
594
594
595
595
595
595
596
596
596
594
593
592
591
590
587
585
581
578
576
577
583
585
594
597
602
607
606
604
603
602
600
599
598
597
597
596
595
595
595
594
594
593
593
596
599
602
605
609
611
613
615
618
618
619
621
621
623
624
624
626
627
627
627
627
626
626
626
626
625
625
625
624
622
622
620
618
617
613
611
610
610
613
615
617
619
621
624
627
627
628
628
629
627
624
620
613
610
603
597
591
583
577
564
558
542
532
523
517
517
518
523
524
526
526
529
530
534
537
539
543
546
548
549
550
550
550
549
549
548
548
548
549
551
552
554
555
558
559
565
567
569
569
568
567
566
565
563
563
562
561
562
563
565
567
568
565
562
557
553
551
547
545
545
547
548
549
550
552
553
554
556
560
562
566
570
575
580
585
588
591
593
599
599
599
600
600
599
592
588
586
581
577
573
570
570
571
571
571
571
571
572
572
572
569
567
564
563
561
555
554
557
560
566
571
576
581
582
579
574
570
568
562
558
555
547
544
544
544
542
536
532
520
512
512
512
512
520
528
533
533
533
533
534
534
534
534
534
534
534
534
534
533
533
533
534
534
532
526
523
521
515
510
506
499
497
494
491
485
481
486
493
498
500
500
500
500
497
490
485
481
479
479
479
479
468
462
451
444
435
431
428
425
425
425
425
428
433
441
445
447
444
436
432
427
423
420
415
411
407
407
407
407
406
406
406
405
405
407
409
412
414
411
409
407
406
406
406
406
406
406
406
408
409
411
413
414
417
418
417
417
416
416
415
415
414
414
414
414
413
413
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
413
413
413
413
413
413
413
413
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
412
410
410
410
409
409
408
408
408
407
407
410
414
419
422
427
430
433
436
438
435
433
431
429
426
424
421
417
414
411
408
403
400
397
394
392
389
390
393
395
396
396
395
393
387
382
375
370
365
361
358
356
354
351
348
345
345
346
347
347
349
352
355
358
363
372
369
363
357
356
354
351
350
361
373
385
387
385
383
382
381
381
382
383
378
374
364
360
354
349
346
343
350
368
380
383
386
391
387
373
363
353
345
338
334
323
325
329
335
343
349
355
365
371
380
382
387
388
368
360
344
327
308
297
300
302
304
309
311
316
322
330
335
344
348
352
356
358
349
342
330
325
315
311
308
300
298
292
290
292
293
296
298
300
303
306
312
315
323
326
337
340
344
347
350
352
355
357
361
364
366
370
372
374
373
372
371
366
364
360
354
351
346
343
345
347
351
356
359
364
363
361
361
356
354
351
349
347
343
342
336
333
330
328
326
326
337
348
351
358
360
358
347
337
337
341
344
347
346
342
336
324
313
306
300
297
290
284
275
276
279
281
280
279
259
254
252
250
245
235
230
230
230
228
223
220
211
205
198
195
179
175
173
171
170
168
165
161
158
155
154
149
145
142
140
137
136
134
132
132
134
139
142
142
142
142
141
140
137
136
134
128
124
123
121
121
120
119
118
118
117
117
116
115
114
114
110
107
104
102
100
100
101
102
104
104
105
106
106
105
105
105
104
103
102
101
97
94
85
80
73
71
68
67
66
65
65
64
64
64
64
63
63
62
62
62
61
61
61
61
60
59
58
58
57
57
57
57
57
57
57
57
56
55
55
54
54
54
55
56
56
57
57
56
55
53
51
50
49
47
46
46
45
45
45
45
45
45
45
43
41
38
38
38
38
37
36
35
35
35
36
36
36
36
36
36
36
35
35
34
34
33
33
33
33
33
33
34
34
33
32
31
28
27
24
23
23
23
23
24
24
24
23
23
22
22
21
20
19
18
17
17
16
16
15
14
14
13
13
13
13
13
14
14
14
14
14
13
13
12
12
12
12
12
12
12
12
13
13
13
14
14
15
15
16
16
16
17
17
17
17
18
18
18
19
19
19
19
19
19
19
19
19
18
17
16
15
12
11
9
9
9
9
9
8
8
5
5
3
3
3
3
3
3
3
3
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
4
4
5
5
5
6
6
7
8
8
10
11
11
13
13
14
14
13
12
11
11
10
10
9
8
7
7
6
6
6
6
6
6
7
7
7
8
9
10
12
12
13
13
14
14
14
13
12
9
8
7
6
6
6
6
6
6
6
6
6
7
7
7
7
7
6
6
6
5
5
5
5
6
6
6
6
6
6
6
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
4
3
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
6
7
10
11
12
13
13
13
13
13
13
13
15
15
17
17
19
20
22
23
24
25
26
29
30
32
34
36
37
35
33
32
30
27
27
27
26
26
26
25
25
25
25
26
28
30
32
29
24
21
18
18
19
20
21
22
24
26
28
29
30
28
26
24
23
22
22
21
21
19
17
15
13
11
9
8
7
7
6
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
7
8
9
9
9
9
9
11
12
14
15
16
17
18
18
19
19
19
18
18
17
17
17
18
18
19
20
20
20
21
21
21
20
19
18
16
15
15
16
17
19
20
21
22
22
23
23
24
26
27
29
30
29
27
25
22
20
17
15
12
10
7
6
6
5
5
5
5
5
5
5
5
4
4
4
4
4
4
4
4
4
4
4
4
5
6
7
8
8
10
11
13
14
15
15
13
13
11
10
8
8
7
7
7
7
6
6
6
6
6
6
8
9
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
10
10
9
8
7
7
9
9
10
11
11
11
12
12
12
12
12
10
9
9
8
8
8
8
8
8
8
8
8
8
9
9
9
9
8
8
7
7
7
7
7
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
8
8
7
7
6
6
6
6
6
6
6
6
6
7
7
7
7
7
6
6
6
6
6
6
6
6
6
6
5
5
5
5
5
5
5
5
6
6
7
8
9
10
11
11
11
11
10
10
10
10
10
11
11
11
12
12
12
13
13
13
13
13
12
12
12
12
12
12
12
12
12
12
13
13
14
14
14
13
13
12
12
12
12
12
12
12
12
13
13
14
14
14
14
14
14
14
13
13
12
12
11
11
10
10
9
9
9
9
9
9
9
10
11
12
13
14
15
15
17
17
18
19
19
20
20
21
21
21
21
20
20
18
16
14
12
10
9
7
6
5
5
5
5
5
4
4
4
4
4
4
4
6
6
7
8
9
11
12
14
15
14
13
12
10
8
8
8
9
9
10
10
10
9
9
8
8
7
7
7
7
7
7
8
10
12
13
15
16
16
15
13
12
12
12
12
13
13
14
14
14
14
14
14
15
17
18
19
20
22
22
23
23
24
24
25
25
24
24
23
22
22
21
23
26
28
31
34
35
31
28
24
21
18
19
20
21
22
23
25
26
27
29
31
31
33
32
31
30
30
29
28
27
25
24
23
21
21
20
21
22
24
26
27
28
25
22
20
18
16
14
14
14
13
13
13
13
14
15
16
16
20
24
28
32
35
35
35
34
34
38
47
55
63
70
69
64
60
56
51
48
47
47
46
45
45
45
45
45
45
45
43
41
39
36
35
38
41
43
46
48
50
52
55
58
60
59
57
56
54
53
51
48
44
42
39
36
34
30
26
23
21
19
18
18
18
19
19
20
20
20
21
22
24
26
28
29
31
32
34
35
36
37
38
39
39
40
41
41
41
40
39
39
38
38
37
37
38
41
44
47
50
54
55
54
51
49
47
45
43
41
40
38
36
34
33
31
29
25
23
21
19
20
22
25
26
28
29
31
32
32
35
35
36
36
37
37
38
39
40
40
40
41
41
41
41
41
42
45
46
48
48
48
48
47
42
41
40
36
35
32