247
246
246
246
245
245
245
245
245
245
245
246
247
251
252
252
253
254
254
255
256
256
256
257
257
257
258
258
260
261
261
261
261
263
264
266
266
266
267
276
277
278
279
279
279
286
286
288
293
294
295
298
305
308
309
310
310
308
308
307
307
308
309
311
312
318
320
320
322
322
323
323
324
324
324
324
325
326
328
334
335
336
342
343
345
350
352
352
355
358
363
365
367
369
370
379
381
383
386
391
398
400
401
405
410
411
413
423
425
428
430
433
439
444
448
456
459
450
441
429
429
429
430
430
430
430
430
429
429
428
421
421
420
420
419
418
417
415
414
414
412
413
413
414
416
416
417
417
417
416
416
413
413
409
406
405
405
404
404
406
407
408
409
409
410
411
393
393
393
393
393
394
394
395
396
396
397
397
397
397
395
394
392
392
392
392
392
392
393
396
397
399
401
402
412
422
423
428
432
432
432
432
432
432
432
432
432
432
433
435
436
437
441
443
443
444
445
445
446
447
447
452
453
454
456
457
458
459
460
460
461
467
469
471
472
474
475
476
478
480
484
486
487
488
494
495
503
505
506
509
509
510
512
513
513
515
517
518
518
519
520
521
522
525
526
528
529
530
533
535
537
537
539
541
542
543
544
546
547
548
548
547
546
539
539
531
529
527
524
510
506
504
503
502
502
498
497
496
496
495
493
492
491
491
491
491
492
495
496
496
496
495
493
493
492
492
493
491
489
487
483
482
486
487
490
493
498
500
498
482
473
472
467
457
441
437
434
434
434
433
432
432
432
432
432
433
434
436
437
436
436
437
438
440
442
447
449
451
453
456
459
460
464
465
466
467
470
474
477
483
488
491
493
498
500
502
507
510
514
515
516
518
526
529
533
536
540
546
549
550
550
550
550
549
548
547
547
548
549
550
553
561
562
562
563
557
559
574
573
569
561
558
557
553
551
550
548
546
546
546
545
543
543
541
539
543
545
547
547
547
547
544
539
534
536
546
545
545
539
534
525
524
517
522
523
523
523
523
523
523
523
523
523
523
524
524
525
525
526
530
533
536
539
535
532
529
525
525
525
524
524
526
526
531
542
543
544
544
539
539
540
541
541
543
545
543
531
527
525
525
525
527
529
530
531
533
535
535
530
528
526
523
521
520
518
521
522
528
533
535
535
536
536
530
529
529
534
533
532
531
531
540
550
554
557
556
560
559
558
557
552
549
545
545
544
543
535
529
529
529
529
530
531
531
530
530
530
530
532
533
535
537
538
542
542
542
544
546
549
549
551
545
537
536
533
532
532
534
542
543
545
549
554
560
562
562
562
562
562
563
563
564
565
565
565
566
566
567
567
567
568
568
568
568
568
568
568
568
568
568
570
574
574
575
577
577
578
580
582
583
584
585
586
587
587
591
591
592
594
599
598
596
595
594
593
593
593
593
594
599
600
600
599
599
596
594
591
581
581
581
581
581
591
591
591
591
590
589
585
583
580
579
578
578
570
570
569
568
568
563
563
562
562
562
561
561
561
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
561
561
561
561
561
561
561
561
561
561
563
563
564
564
564
564
564
565
565
566
570
570
571
573
576
577
579
581
581
582
585
586
595
599
603
605
608
619
622
625
625
626
627
627
630
632
636
640
643
644
644
643
643
643
644
660
663
663
663
662
661
658
655
652
647
646
645
645
642
641
640
635
633
630
629
629
629
629
629
629
630
631
633
635
646
647
650
650
650
643
643
641
638
638
632
630
627
626
617
613
613
614
614
615
616
617
625
625
625
625
625
624
624
623
623
623
624
625
635
635
635
635
635
646
647
647
647
629
629
628
628
626
624
617
619
620
611
606
605
601
599
597
596
595
595
594
594
594
594
595
596
596
599
603
607
609
610
610
609
608
608
608
609
609
610
610
611
612
614
615
615
616
630
634
635
639
643
646
642
640
639
633
633
633
633
633
634
634
634
637
637
639
639
639
639
639
638
638
638
637
636
634
634
634
629
629
628
626
625
624
623
626
635
635
635
637
637
637
637
637
637
637
637
644
647
649
650
651
652
655
656
654
653
652
649
640
640
638
637
634
633
632
638
636
628
621
611
612
613
613
613
613
613
612
612
611
611
611
611
612
614
614
613
613
613
614
617
618
618
618
617
617
617
616
616
615
610
605
600
586
585
583
582
580
578
576
576
576
575
575
575
575
574
574
574
574
574
574
574
574
574
575
575
575
574
574
573
573
573
573
573
573
573
573
573
573
573
573
568
567
566
566
565
565
564
564
564
564
564
564
564
566
566
565
564
565
566
568
571
574
576
578
582
585
586
586
585
584
583
583
582
582
582
582
582
583
583
583
582
581
580
580
579
579
579
578
578
577
577
575
575
575
575
575
575
575
575
574
567
562
554
551
552
556
557
559
559
558
557
557
557
557
556
556
556
556
555
555
555
555
556
556
556
556
555
555
555
555
555
554
554
553
553
552
549
548
547
545
543
542
541
540
539
538
537
536
535
535
535
535
537
540
540
541
542
544
548
552
554
555
558
560
561
559
556
552
550
548
546
545
542
537
540
541
542
542
541
538
539
543
547
550
553
556
559
558
554
550
543
543
543
542
542
542
542
539
535
533
530
527
525
524
523
522
522
521
520
519
519
518
518
519
521
524
525
526
522
520
518
517
516
512
511
511
511
510
510
509
507
505
504
504
503
503
503
503
503
503
503
503
503
503
503
504
504
504
504
503
502
502
502
501
500
499
497
496
495
495
495
495
495
495
495
496
499
499
501
505
507
507
507
507
508
509
510
511
519
522
524
525
525
532
535
541
548
550
557
560
560
562
564
565
565
562
560
558
557
557
559
559
559
560
560
560
557
554
549
543
541
540
537
533
526
526
526
526
525
525
520
520
518
516
514
513
513
514
516
520
521
523
534
534
529
528
528
530
531
534
540
543
551
552
555
555
556
556
557
563
566
567
566
566
567
566
565
567
566
560
563
566
559
554
554
554
552
549
546
544
555
556
559
559
559
559
553
551
550
545
544
543
542
542
538
537
536
534
530
525
525
525
522
522
521
520
520
519
518
517
516
515
515
513
511
508
506
505
505
504
504
503
502
501
500
500
499
499
496
493
491
490
491
495
497
498
499
501
505
505
506
506
507
513
514
516
517
520
521
526
528
537
536
534
530
528
526
515
501
499
497
497
494
494
493
491
491
490
490
484
483
482
481
481
480
479
478
478
477
477
477
477
478
478
479
479
479
479
480
480
481
481
481
481
481
481
481
478
478
478
477
477
476
477
477
477
477
478
478
479
480
481
483
488
488
489
489
489
491
492
492
492
492
492
493
493
494
497
497
497
498
502
502
503
503
503
503
506
509
510
511
512
514
515
517
518
518
513
511
506
503
502
500
500
503
503
504
505
505
505
506
507
507
507
506
503
502
502
501
497
493
492
491
485
483
482
481
479
478
478
478
477
477
477
476
476
476
476
473
472
471
471
472
472
472
473
474
475
476
476
477
477
477
477
477
475
474
473
472
471
471
472
473
473
475
477
481
481
479
479
481
483
484
489
493
496
498
497
496
495
495
491
491
491
491
491
491
491
491
491
491
493
492
492
492
490
490
489
487
487
486
485
484
483
482
482
481
481
482
482
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
483
484
485
485
486
486
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
487
490
491
491
495
495
495
494
494
493
493
493
493
493
494
494
495
495
496
496
496
496
496
497
497
500
501
502
503
503
507
507
506
498
498
498
498
498
498
498
497
497
496
496
495
494
494
493
493
492
492
492
492
492
495
495
495
494
494
494
494
494
494
494
494
494
494
494
495
495
495
495
495
495
496
496
497
497
498
498
498
498
498
498
498
498
498
498
497
497
496
496
496
496
496
496
496
496
497
497
497
498
499
499
499
500
500
502
503
506
509
509
509
509
513
513
513
513
512
508
506
506
504
503
501
501
501
501
500
500
500
500
500
500
501
501
501
501
501
501
501
501
500
500
500
500
500
500
500
501
501
501
505
507
508
509
509
509
509
509
509
508
508
508
507
504
503
502
500
499
498
497
494
490
488
488
487
486
486
485
484
484
482
480
480
479
479
478
478
477
476
475
474
474
474
474
474
474
475
475
475
476
476
477
479
479
479
481
481
482
485
485
486
486
487
488
488
488
489
489
489
489
490
490
492
492
494
495
496
498
499
500
502
502
503
504
505
506
507
508
508
510
511
511
513
514
516
518
518
519
520
520
520
520
518
518
518
518
518
519
524
524
524
524
522
521
521
521
521
519
518
518
518
517
517
517
515
514
512
512
507
507
507
506
506
506
509
511
513
514
514
515
515
518
518
518
520
522
523
524
525
526
529
530
530
531
532
533
534
534
534
535
535
535
536
536
536
536
536
537
537
537
537
537
537
537
537
537
538
538
539
542
547
550
555
563
567
571
572
580
580
579
579
579
579
582
583
589
589
590
591
592
593
600
602
605
606
608
607
605
604
602
600
595
605
605
606
606
607
607
609
610
612
620
623
623
624
624
623
623
622
620
621
622
623
628
636
638
639
642
644
646
646
646
643
642
642
641
636
634
632
631
630
630
632
633
634
635
634
633
631
631
644
647
651
652
648
655
659
660
660
661
657
652
638
631
631
631
633
636
637
632
630
621
606
603
602
601
600
599
600
601
601
601
602
602
587
582
578
564
564
564
564
564
564
565
566
566
566
566
566
566
566
565
565
565
564
564
564
561
559
558
556
555
553
548
547
547
546
544
543
543
543
540
539
539
538
538
537
536
536
536
535
534
532
530
530
530
529
529
529
529
529
529
529
529
529
529
538
540
543
543
542
542
542
542
543
543
543
543
544
544
545
545
545
545
544
542
542
541
540
539
541
543
544
545
550
556
557
560
567
570
564
558
547
545
541
541
541
541
541
541
541
537
538
539
540
540
542
543
544
548
546
545
545
545
544
542
541
541
540
540
540
543
543
546
547
549
549
548
547
545
544
544
543
544
544
545
545
545
546
547
547
547
547
546
546
546
546
546
546
546
545
545
544
544
544
544
544
544
544
544
544
545
546
546
546
546
546
547
548
548
548
548
548
548
548
548
549
550
550
551
553
555
556
560
560
560
560
560
559
559
558
558
558
557
552
550
549
549
551
552
553
554
556
556
557
557
558
559
560
560
561
561
562
562
563
563
563
564
564
564
565
565
565
566
567
571
574
576
577
580
581
581
581
580
580
579
578
578
578
578
566
566
565
564
564
564
562
562
563
563
564
564
566
566
569
569
564
562
561
558
558
558
558
558
559
559
560
562
565
566
567
569
573
575
576
576
577
579
586
604
603
602
602
602
602
602
601
600
597
596
595
594
593
593
596
596
598
603
605
607
607
608
610
610
611
615
615
615
615
616
616
617
618
622
628
629
629
621
620
611
609
608
608
604
602
598
598
598
593
591
589
587
586
585
587
592
586
583
581
580
580
579
577
576
573
570
572
571
569
566
559
554
550
549
548
545
546
546
550
555
556
558
563
563
563
563
563
563
563
563
563
563
563
562
555
548
545
543
542
542
541
541
541
539
538
538
538
537
537
540
541
543
543
543
542
542
541
539
537
532
531
531
528
527
527
527
527
527
527
527
527
527
528
528
528
528
528
528
528
528
528
528
528
527
527
527
526
525
523
521
520
520
520
521
522
523
523
523
523
523
524
524
523
522
522
521
520
520
520
520
521
522
522
523
524
524
524
524
524
524
524
524
524
524
523
523
522
522
522
521
521
520
519
518
518
518
518
517
517
517
517
517
516
516
516
516
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
516
523
523
523
523
520
520
522
523
528
529
531
531
539
541
542
541
536
542
542
542
542
541
541
540
540
540
539
540
543
543
544
544
537
536
535
534
534
533
532
530
511
505
503
502
501
500
499
495
494
494
494
493
490
489
489
489
489
490
491
491
492
492
494
496
498
499
501
501
502
503
504
506
507
508
509
514
517
520
535
535
535
536
536
535
522
520
518
514
509
509
507
507
506
506
505
511
515
521
521
518
520
521
524
529
537
537
537
537
537
537
537
536
532
525
517
513
504
488
487
487
485
483
480
479
479
479
479
479
479
479
479
481
481
485
492
498
513
521
524
526
526
526
525
525
523
521
520
518
515
513
511
509
509
509
508
507
507
507
506
506
511
511
511
508
507
503
501
501
500
499
498
497
496
494
494
492
492
488
484
481
481
483
484
485
492
496
494
494
493
493
493
492
492
493
493
494
494
494
494
504
504
506
507
507
502
502
508
509
509
510
510
510
508
509
510
513
513
515
516
519
520
523
524
528
529
530
533
535
539
569
569
569
568
565
570
562
560
557
556
554
553
550
548
545
532
531
530
528
526
525
525
526
527
528
530
533
536
538
541
545
550
552
552
552
552
553
554
564
558
563
564
566
567
569
566
563
568
570
567
564
563
563
565
568
569
570
571
572
575
575
576
578
580
580
579
579
579
581
582
584
584
585
587
589
589
589
589
593
594
601
606
607
608
609
611
615
618
623
624
625
627
630
632
638
644
645
646
649
651
654
657
659
663
666
669
671
673
673
674
675
675
676
676
674
671
669
667
665
665
664
664
663
662
657
654
655
657
659
660
661
671
668
666
665
665
664
662
662
662
664
665
667
669
671
674
677
684
685
689
695
697
698
700
702
702
703
704
708
711
713
717
718
719
720
721
721
719
718
716
712
710
707
703
707
705
700
692
690
688
685
683
681
677
677
677
676
677
678
678
679
680
683
686
686
685
685
695
697
698
699
700
704
706
707
708
708
709
709
709
709
708
708
708
702
701
702
702
703
703
702
701
700
699
699
700
701
702
703
703
702
701
700
698
697
696
695
693
692
688
685
683
680
670
656
656
656
655
655
654
654
654
654
654
654
653
653
652
650
650
650
649
649
649
649
649
650
650
650
651
651
651
652
652
652
652
652
653
654
657
658
660
662
670
671
668
667
671
673
678
678
678
678
701
702
702
702
702
704
704
705
706
707
702
700
690
683
677
674
673
676
673
670
669
664
662
661
661
660
656
653
653
652
650
649
644
641
641
639
639
633
631
630
630
630
630
630
630
629
627
626
623
617
616
616
616
619
621
622
622
621
620
615
605
604
602
601
597
596
594
593
583
580
578
574
573
573
572
572
573
575
574
556
558
565
566
568
563
559
554
553
552
544
543
541
540
536
534
533
533
532
529
529
524
522
522
519
517
517
517
516
514
514
514
514
514