27
27
27
27
27
27
27
26
26
27
27
27
28
28
27
27
26
26
25
24
23
23
22
22
23
23
24
24
24
24
24
24
24
24
23
23
23
23
23
22
15
14
13
14
15
16
20
20
21
21
25
26
26
26
26
26
24
24
24
24
24
23
23
22
24
24
24
22
22
22
26
27
27
26
26
25
22
21
20
19
21
21
21
21
21
14
14
14
14
14
14
14
15
16
17
17
17
17
17
18
17
15
14
13
13
14
14
15
15
16
16
16
16
15
15
15
16
18
17
15
18
18
18
18
18
18
19
19
20
20
20
19
19
19
19
20
20
20
20
20
20
21
22
23
23
23
23
23
23
24
24
24
24
24
24
24
24
24
26
27
27
27
27
30
30
33
33
33
33
33
33
36
38
38
38
39
45
46
47
47
47
47
48
48
48
49
49
49
49
49
56
58
60
61
64
64
64
66
65
63
63
65
65
66
67
68
70
69
69
69
69
69
69
69
69
69
67
71
71
70
70
70
70
70
69
73
73
73
73
73
75
76
79
79
77
76
75
75
74
74
74
74
74
73
73
71
71
70
70
73
73
73
76
77
81
82
82
82
80
78
78
78
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
80
82
88
89
90
86
88
93
93
93
90
90
90
92
93
93
93
94
94
94
94
100
101
102
103
103
103
104
104
104
104
104
104
104
104
105
105
105
105
105
106
106
106
107
107
108
111
112
113
114
114
114
114
114
114
114
113
113
111
111
111
110
122
122
123
123
123
123
123
124
126
142
149
152
157
157
162
163
163
171
172
172
172
172
175
176
176
176
177
185
186
187
188
189
190
190
190
190
190
190
190
190
190
191
191
191
192
192
192
192
194
193
192
191
191
191
190
190
190
189
189
190
194
194
194
195
197
198
199
199
199
199
199
200
203
204
205
206
207
207
207
205
205
205
205
205
206
206
206
206
206
207
207
208
209
207
206
205
205
204
203
201
201
201
202
205
206
212
219
223
222
225
226
227
227
227
228
228
229
229
230
230
231
231
232
236
237
239
241
241
243
245
248
251
264
270
272
273
289
292
295
298
302
304
306
307
306
302
298
295
282
276
276
272
270
270
270
271
271
272
275
275
273
272
272
273
273
273
274
274
274
274
275
275
276
279
279
279
280
280
280
280
281
281
281
283
287
287
289
290
291
294
296
297
299
301
302
302
303
304
305
305
306
307
308
310
311
314
324
325
326
327
329
330
333
330
330
329
328
328
326
326
326
325
325
325
323
317
316
312
309
316
319
321
323
320
320
319
318
320
328
331
335
336
338
339
345
346
346
346
327
322
321
322
322
324
335
342
345
349
354
356
357
358
355
352
351
354
354
344
347
348
349
350
350
354
355
356
357
364
364
363
362
362
363
365
368
369
371
373
375
376
377
381
384
385
386
387
388
390
392
394
397
398
399
400
400
400
400
400
399
399
398
406
410
413
430
433
439
437
437
437
436
435
434
436
438
438
431
427
422
423
433
442
443
445
446
447
447
449
453
471
470
469
464
463
462
460
458
457
456
456
455
452
451
450
450
450
450
450
450
451
453
454
455
456
456
460
460
461
466
467
467
467
467
466
466
466
466
466
467
467
467
468
470
472
474
475
477
477
477
476
476
476
478
480
483
483
484
485
492
493
496
498
498
501
503
503
503
504
504
505
506
506
507
508
509
510
511
512
513
514
515
518
523
524
525
531
540
541
540
539
537
533
533
532
531
530
529
528
529
534
535
536
538
538
538
538
540
541
541
542
544
544
545
545
546
548
548
549
549
549
550
551
551
552
552
553
553
554
559
560
561
562
563
568
569
570
572
572
573
574
574
574
574
573
573
573
573
573
573
573
573
573
573
573
574
575
576
578
579
580
581
581
582
582
582
583
583
584
584
585
586
587
587
587
587
587
587
587
587
587
587
587
587
586
585
585
584
584
584
584
585
585
585
586
586
587
588
589
590
594
599
600
602
603
604
607
608
606
603
601
598
598
598
599
599
600
601
602
603
603
603
602
601
601
601
603
606
606
609
610
612
615
616
616
618
618
618
619
619
619
620
621
622
623
624
626
626
628
628
629
633
633
633
633
633
633
634
634
634
635
636
639
640
641
642
644
645
647
648
649
651
651
656
657
658
660
661
663
664
666
666
664
663
662
662
661
660
666
684
692
696
699
704
712
713
715
715
709
705
698
685
682
677
674
674
674
675
675
671
669
664
661
664
666
669
670
671
673
677
679
682
687
688
692
693
696
700
702
706
709
709
708
707
705
703
702
700
700
705
710
699
698
697
697
696
695
694
691
688
679
674
670
661
654
648
642
636
638
642
646
650
652
649
647
645
643
641
635
629
623
618
614
608
608
608
608
608
608
608
606
604
602
600
598
597
597
596
599
600
600
602
602
605
609
611
613
617
619
617
614
612
610
608
605
603
601
599
597
593
591
588
586
584
587
590
594
601
603
604
605
605
606
607
607
608
606
603
600
596
591
587
583
576
570
568
566
564
562
559
558
557
556
554
552
550
544
541
538
535
533
525
523
521
517
512
509
506
502
498
499
503
511
521
527
530
536
534
530
526
524
523
519
517
512
505
496
494
492
488
485
484
483
482
481
480
479
477
477
477
476
475
474
473
472
473
475
476
477
478
481
481
482
484
485
487
488
489
490
492
508
511
518
523
524
525
525
528
529
532
533
533
531
530
528
527
526
524
520
518
512
510
507
505
502
495
491
486
482
479
476
476
477
480
481
477
476
474
473
472
471
465
462
461
460
456
455
455
456
457
457
457
457
455
453
453
452
452
456
457
459
460
461
463
461
461
460
464
465
466
467
468
470
468
466
462
459
453
455
457
459
461
462
464
456
453
450
437
436
435
433
429
428
427
427
426
426
422
417
415
403
403
402
400
386
385
385
387
401
401
401
403
405
410
411
411
413
422
428
426
424
417
418
420
425
424
424
423
419
418
417
413
410
406
404
403
401
397
405
405
406
406
396
395
393
388
388
388
388
388
389
389
390
390
390
389
388
388
386
381
381
382
382
383
383
383
383
382
379
379
372
372
372
371
371
371
371
371
371
370
370
369
369
369
368
368
367
367
356
355
355
355
355
355
355
354
354
354
354
354
353
353
353
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
357
356
356
346
344
339
337
336
333
331
330
321
312
306
306
312
312
312
311
311
311
312
312
313
313
314
314
314
315
315
315
315
315
315
315
315
315
315
316
317
328
328
328
328
328
328
328
328
328
328
328
328
340
342
343
347
349
351
355
360
361
363
364
364
367
367
368
368
369
369
369
369
369
369
369
369
371
372
373
374
375
375
377
378
378
378
378
378
378
377
373
371
372
377
383
382
378
375
372
370
371
372
372
375
376
377
383
395
397
403
405
408
412
414
415
411
406
401
400
399
395
394
392
392
392
391
391
391
386
383
379
366
366
367
369
371
373
376
377
376
371
369
373
374
379
381
379
375
366
363
360
359
359
372
377
382
398
400
402
403
405
407
431
437
439
444
446
443
440
420
420
425
427
430
432
434
429
421
411
408
407
407
406
405
404
403
403
403
403
403
403
403
401
398
396
392
391
390
391
392
393
395
396
398
400
402
403
403
404
405
406
407
407
408
410
413
420
420
419
418
417
417
418
419
420
420
424
424
425
427
428
429
431
432
433
434
436
437
439
439
440
440
440
440
440
440
440
447
448
449
450
454
455
457
459
462
462
462
463
463
463
465
465
468
469
471
472
473
474
474
473
473
472
471
470
469
469
468
468
469
471
472
476
477
478
479
480
483
485
486
486
486
486
487
487
487
488
489
491
493
494
496
496
497
498
498
498
498
498
498
498
500
505
514
517
518
526
528
531
535
544
543
541
540
539
536
535
533
532
536
540
541
544
552
557
566
567
571
571
572
572
574
576
576
576
577
577
577
577
577
578
579
579
579
579
579
579
580
580
580
580
580
580
580
579
578
577
577
576
575
575
578
586
588
592
595
599
602
605
606
607
608
610
611
613
613
615
615
616
617
617
617
618
620
621
622
623
624
624
625
626
627
628
629
630
631
631
636
652
656
665
673
678
691
694
697
705
715
724
714
710
707
697
690
678
676
666
661
656
654
656
669
672
677
680
684
687
694
697
702
708
724
725
726
732
739
742
750
753
756
766
768
770
766
758
751
743
732
722
722
724
732
736
739
749
775
782
801
809
807
805
800
802
803
804
806
810
811
812
816
814
810
807
805
793
791
786
786
786
786
787
787
787
787
784
775
769
766
758
756
754
751
747
744
740
738
729
725
720
719
718
715
712
707
709
711
713
715
716
716
718
722
724
725
720
717
714
711
709
706
706
706
706
706
707
708
708
704
698
692
679
662
661
661
661
660
660
659
659
659
658
661
663
665
668
681
688
681
677
676
675
673
668
664
659
657
650
645
647
648
652
654
656
659
659
660
660
665
665
661
657
656
656
646
635
631
623
619
614
610
604
604
603
603
601
601
600
599
597
594
592
592
590
588
586
586
585
585
585
585
585
585
584
582
579
577
573
568
561
557
555
553
553
552
552
552
552
550
548
546
545
540
539
538
537
537
535
536
537
539
539
539
539
540
540
535
526
524
518
515
512
511
510
509
507
504
504
504
504
504
504
504
504
504
504
504
504
504
503
503
502
502
501
500
500
498
498
497
496
497
499
501
503
509
513
514
513
500
500
496
497
498
500
502
509
511
512
513
510
507
502
499
481
480
478
477
477
476
478
479
482
484
485
486
486
487
490
491
491
492
494
495
496
496
497
496
496
496
494
493
492
491
489
483
481
476
460
458
456
456
455
455
454
453
453
452
452
451
450
450
449
448
448
446
448
449
450
450
452
453
453
454
458
456
450
445
440
438
431
429
428
426
425
422
421
420
419
418
418
417
416
416
407
407
407
407
406
406
405
405
405
405
403
403
403
403
403
392
389
383
382
385
387
382
381
380
379
377
372
370
368
366
367
367
366
364
356
355
355
354
353
353
350
351
352
352
351
350
350
350
351
351
351
351
351
352
352
355
356
358
363
364
365
366
366
366
366
366
366
365
365
365
364
364
364
363
363
363
365
367
373
381
386
389
391
391
390
389
389
388
388
388
387
386
386
387
388
390
392
393
395
396
406
408
409
412
415
428
437
439
442
445
448
468
465
458
457
456
455
454
453
447
426
420
408
403
406
409
411
424
429
448
450
452
465
464
462
461
460
460
459
458
457
457
455
454
454
454
454
454
454
454
454
454
454
454
454
458
461
463
465
466
465
464
463
461
460
460
459
460
465
469
474
494
498
508
512
515
508
505
503
500
497
482
477
477
478
481
489
492
498
500
501
506
509
514
516
518
520
524
525
529
530
532
533
535
537
538
541
542
540
539
537
535
531
531
530
529
528
527
535
537
539
543
545
548
550
551
553
556
558
559
560
561
562
562
567
567
568
568
567
566
565
565
562
558
558
557
550
549
554
558
562
562
566
569
570
572
574
576
579
581
583
586
589
592
596
607
607
608
609
613
615
618
617
615
614
612
602
600
594
592
592
593
593
596
597
600
601
602
604
607
611
615
624
628
633
636
647
651
652
652
652
653
654
654
654
654
654
655
655
655
656
656
656
656
656
656
658
659
659
660
661
661
662
663
665
665
665
664
664
663
662
662
661
661
661
661
661
661
661
661
661
661
661
661
661
661
661
661
662
663
663
663
664
664
664
665
665
665
665
663
662
661
657
655
651
650
648
647
641
638
637
635
633
630
610
606
600
594
595
597
599
600
602
615
619
626
629
635
638
636
633
631
630
629
627
620
619
617
615
614
607
605
604
601
600
597
597
596
593
592
589
582
581
579
577
576
574
569
565
564
565
567
572
573
574
575
578
589
591
590
590
589
589
589
589
588
587
586
586
585
584
576
574
563
562
559
558
556
554
551
545
544
542
535
532
529
528
527
524
523
522
522
521
521
521
521
522
523
524
529
530
532
532
532
532
532
533
541
544
548
550
552
559
562
564
566
569
573
574
558
544
542
539
537
535
535
537
537
537
539
542
541
540
539
539
538
536
536
538
539
540
546
548
560
552
540
536
523
521
519
517
513
511
509
496
487
486
486
485
473
470
463
461
461
461
460
459
459
459
455
451
448
446
445
443
441
440
437
436
436
433
432
430
429
428
427
426
422
420
419
415
414
399
398
397
393
390
389
388
385
386
386
386
388
391
393
394
395
398
400
395
390
372
372
372
374
375
377
378
379
379
378
377
376
373
370
369
364
362
361
356
356
356
356
356
356
356
356
357
357
357
357
357
357
357
358
361
361
361
361
360
355
353
351
340
337
334
334
333
329
329
325
324
324
322
321
321
328
327
327
318
317
316
309
308
306
306
303
303
302
302
302
302
302
301
298
298
297
297
295
294
291
291
290
287
287
287
287
286
285
285
284
282
282
281
280
280
280
279
279
278
278
278
279
282
283
284
284
283
280
278
276
277
281
283
284
286
288
289
290
292
293
294
296
297
299
304
310
312
319
324
326
328
333
332
322
320
319
318
317
319
322
325
328
328
324
323
321
321
317
315
313
311
310
310
311
311
311
310
308
290
288
282
282
283
283
284
284
285
285
285
286
286
287
287
288
289
289
289
289
289
288
287
287
278
276
274
272
257
257
256
256
255
254
254
252
253
253
251
251
249
240
243
244
244
244
244
244
245
245
245
245
246
247
248
248
249
249
250
254
255
256
259
263
270
271
271
272
272
273
274
275
275
276
276
276
276
277
277
280
281
283
285
284
284
283
283
283
284
285
286
287
287
287
286
283
286
289
293
304
302
302
301
300
299
296
294
282
279
277
273
272
272
271
270
265
264
263
259
258
257
257
255
254
249
249
248
248
248
247
247
246
245
244
243
241
231
231
231
231
231
231
231
232
232
232
232
232
233
235
236
236
236
236
235
234
233
220
220
223
223
224
224
226
234
236
240
241
242
244
245
245
245
246
246
247
247
246
243
243
246
247
248
248
249
249
250
250
251
251
252
251
253
251
248
245
245
244
244
244
246
245
245
243
242
242
242
244
244
245
245
245
244
242
242
241
240
244
247
249
252
241
241
241
241
239
238
236
235
237
238
237
234
231
224
219
218
217
217
217
216
214
212
200
199
197
190
192
192
193
193
194
194
195
196
196
197
197
198
198
198
198
199
199
199
199
197
196
196
195
195
195
194
194
193
190
190
189
188
188
188
185
184
182
190
191
193
194
197
199
201
202
204
203
200
197
195
191
189
185
184
184
184
183
176
176
176
177
177
178
183
185
185
181
179
179
179
177
177
177
176
176
176
176
177
178
179
180
181
182
183
184
184
185
186
186
187
188
188
189
191
192
198
198
197
195
194
195
196
196
197
195
195
193
192
191
191
188
185
177
176
176
176
175
175
175
175
175
175
176
177
179
181
182
183
183
184
186
188
191
193
194
198
200
203
205
206
210
212
214
217
224
229
229
229
227
228
229
229
229
230
231
233
234
236
240
242
242
244
244
250
251
252
252
261
262
263
264
269
271
273
284
287
288
294
298
300
302
309
311
315
318
332
334
332
329
327
316
314
311
306
310
324
328
331
343
343
343
342
341
341
345
348
354
357
359
360
369
370
371
371
371
372
373
373
374
375
378
380
385
393
396
406
412
416
420
425
423
420
409
408
406
397
400
402
405
410
412
416
418
420
422
423
426
426
432
438
441
444
464
469
475
477
475
470
465
462
459
461
462
463
467
472
473
468
466
465
464
462
459
447
438
436
435
432
432
432
433
448
451
454
457
460
465
471
477
480
490
493
493
493
492
492
495
496
497
499
500
496
495
495
488
490
492
494
497
499
502
502
499
496
495
493
492
491
485
483
481
481
481
481
481
481
481
472
458
451
439
437
437
437
438
438
439
440
440
439
438
437
437
437
430
418
413
402
399
395
398
401
404
409
394
377
369
369
368
368
367
365
358
358
357
356
356
360
361
361
362
364
365
366
370
361
356
355
349
347
338
327
326
323
321
317
314
311
307
304
303
304
304
306
306
302
301
297
303
306
291
291
290
290
289
288
278
275
269
268
266
269
270
271
272
280
285
294
294
298
300
301
302
297
291
284
276
252
251
250
235
232
232
231
231
231
231
231
231
231
231
236
238
240
241
241
240
237
235
233
228
220
219
217
217
217
217
217
217
216
216
216
216
208
208
193
189
182
182
182
182
182
182
182
182
182
181
179
179
177
149
149
149
152
152
151
150
149
148
148
148
147
146
146
143
142
139
138
138
138
138
139
139
139
140
140
140
140
137
136
134
133
132
130
129
127
127
125
124
121
112
111
110
109
108
107
107
104
103
100
100
99
99
97
97
97
89
87
82
82
82
82
82
81
69
70
70
70
70
71
71
71
71
66
65
64
60
57
55
55
54
53
53
53
53
53
53
53
53
53
53
51
50
50
50
52
52
51
51
50
50
50
50
50
50
50
50
52
52
52
52
48
48
48
48
48
48
48
48
46
46
45
45
45
44
43
43
42
42
42
42
42
43
43
43
43
42
42
37
36
36
36
36
36
36
36
36
36
35
35
35
34
34
34
34
33
33
33
32
32
32
32
32
32
29
29
28
27
26
26
26
25
24
24
24
24
24
23
23
19
20
23
23
23
23
23
23
23
22
20
20
20
18
18
18
17
16
16
16
17
17
17
17
17
18
16
15
14
13
13
12
12
14
15
16
16
16
16
16
15
15
15
14
12
12
12
12
12
11
10
10
10
10
11
14
14
14
15
16
16
17
16
14
12
12
12
12
12
11
11
12
12
13
13
13
13
13
13
13
16
17
18
19
20
21
21
21
25
26
24
23
23
22
22
22
22
22
22
22
22
22
21
20
16
15
14