642
641
641
641
641
641
640
640
640
639
638
637
637
637
637
637
637
637
637
637
637
637
636
635
633
631
628
628
627
627
626
626
624
624
623
623
621
620
620
620
620
620
620
620
620
620
620
621
621
621
622
622
622
626
626
627
628
630
632
632
635
637
639
640
642
641
639
639
638
638
638
638
639
640
641
641
642
644
646
649
650
650
651
651
651
651
652
653
656
657
659
661
662
664
664
665
666
667
668
669
669
670
670
671
671
671
672
672
673
676
677
678
680
680
682
683
683
688
692
693
693
695
697
698
698
698
699
699
699
699
699
700
700
701
701
702
702
702
703
703
705
705
706
707
708
708
708
708
711
711
711
712
712
713
713
713
714
714
714
714
715
716
717
718
720
722
722
722
723
724
726
726
726
727
727
728
729
730
730
731
734
734
735
737
738
738
739
739
739
739
739
739
737
730
727
713
711
709
707
705
704
703
702
700
699
698
698
699
699
700
701
701
697
695
693
690
688
681
678
674
671
666
664
654
650
649
647
644
643
642
641
641
641
640
639
639
639
638
638
638
638
638
638
638
638
638
638
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
638
640
643
644
645
645
646
647
647
648
648
649
650
651
651
652
653
653
653
652
652
652
651
651
650
650
650
650
650
650
650
650
650
650
650
651
652
654
654
656
657
657
658
660
661
662
662
664
664
665
666
666
667
668
669
669
671
672
673
673
676
678
680
681
683
684
684
687
687
690
691
695
698
698
699
700
700
700
701
701
701
701
702
702
702
703
703
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
704
705
706
708
711
712
714
715
716
716
717
717
718
718
718
719
719
719
720
720
721
722
722
723
724
724
725
725
726
726
727
729
729
731
732
733
735
737
738
739
740
742
743
743
744
745
745
746
747
748
748
747
746
745
744
740
738
735
733
730
728
722
722
723
723
724
724
726
726
726
726
726
725
722
720
717
714
713
712
709
707
705
704
703
703
702
702
702
701
701
701
700
700
698
696
693
693
693
693
694
695
695
695
696
696
697
698
698
699
700
701
701
698
697
697
697
696
696
695
694
691
690
690
689
689
689
689
689
689
688
688
688
688
688
685
683
680
679
678
678
678
678
678
679
681
680
679
679
678
677
676
675
675
675
674
674
674
674
675
676
678
677
676
677
681
684
683
681
679
676
674
672
668
667
669
668
668
667
665
664
663
662
660
659
658
657
656
655
655
654
654
654
654
654
654
654
654
654
654
654
654
654
655
656
658
659
659
659
659
659
659
659
659
659
659
659
659
658
658
657
657
657
658
659
659
659
659
658
658
658
657
657
657
657
656
656
656
656
655
655
654
654
653
653
652
652
647
645
645
645
645
645
644
644
644
644
644
644
645
645
645
645
645
645
645
646
646
646
644
642
641
639
636
635
633
633
633
633
632
631
631
631
631
631
631
631
631
631
631
631
631
631
632
632
632
634
635
636
637
638
637
636
636
635
635
634
634
633
633
632
631
631
631
631
631
631
632
634
634
635
635
634
633
631
630
630
629
628
627
625
624
624
623
622
622
621
620
620
620
620
621
622
622
624
625
626
627
627
627
626
625
625
623
623
622
622
621
620
618
616
615
614
614
615
615
616
617
618
619
619
619
619
620
620
620
619
619
619
618
617
615
615
615
615
615
615
615
614
614
614
614
614
613
611
609
608
606
604
603
603
602
602
602
602
602
602
602
602
602
602
601
600
597
596
595
595
595
596
601
602
603
603
603
603
603
603
602
599
598
597
596
596
595
595
594
594
594
594
593
592
590
590
590
589
589
588
587
587
587
588
588
589
589
589
590
590
590
590
591
593
594
595
595
595
594
593
593
592
592
591
591
590
590
589
588
587
586
585
584
583
582
582
582
581
581
581
581
581
581
581
581
581
581
581
580
578
577
577
577
577
577
577
577
578
578
579
580
581
583
585
585
585
584
584
583
583
583
583
583
583
582
582
582
582
582
582
581
581
581
581
582
584
584
582
581
580
579
577
575
575
575
575
574
574
574
574
573
573
573
572
572
572
572
572
572
572
572
573
573
574
574
574
575
575
575
575
574
574
573
572
571
571
570
569
569
569
568
568
568
568
568
568
567
566
566
565
565
565
565
564
564
564
564
564
564
564
564
564
565
565
566
566
567
567
568
568
568
568
568
568
567
565
565
564
564
563
562
562
562
563
563
562
561
559
559
559
561
563
564
564
563
562
562
562
562
562
562
562
561
560
560
558
558
557
557
557
556
556
555
554
553
553
552
552
552
552
552
552
553
554
554
554
554
555
555
555
555
555
554
554
553
553
552
551
551
550
549
548
547
546
545
542
540
539
537
537
536
536
535
534
533
532
532
531
531
533
533
534
534
534
534
534
533
533
532
532
532
532
529
528
526
524
523
523
522
522
521
521
521
521
521
521
520
520
519
519
519
518
517
517
517
517
516
516
515
514
513
513
513
513
513
513
513
513
513
513
513
511
510
509
509
509
509
509
509
510
510
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
508
508
507
506
506
504
503
502
502
502
502
501
501
501
501
501
501
501
501
500
500
500
500
500
500
500
499
498
498
497
497
497
497
497
497
497
498
499
500
501
502
502
503
503
504
505
505
507
507
508
508
508
508
508
507
507
507
507
508
508
510
511
511
511
512
512
512
512
512
512
512
512
512
512
511
511
511
511
511
511
511
511
510
510
510
510
509
509
509
509
508
508
508
509
509
511
511
511
512
512
512
512
514
515
515
515
514
514
514
515
516
516
516
516
516
516
516
516
515
513
512
511
510
510
510
510
510
511
511
511
511
510
509
509
509
509
509
509
509
510
510
510
510
510
510
510
510
510
511
513
516
520
522
523
523
523
522
521
520
519
518
517
516
514
513
512
512
513
513
514
514
514
515
517
518
518
520
522
522
522
523
524
524
525
526
526
527
530
531
532
533
533
535
535
536
537
538
538
539
540
540
541
541
541
541
541
542
542
542
542
542
543
543
543
543
543
543
544
544
544
544
544
544
544
545
545
545
545
545
546
547
548
548
548
546
546
547
548
549
549
550
550
551
551
551
550
549
548
548
547
546
546
546
547
548
548
548
547
547
546
545
544
542
541
540
539
538
538
538
538
538
537
537
536
535
535
534
533
533
533
533
535
536
540
540
540
538
536
535
531
530
530
530
530
531
531
532
532
532
533
534
534
535
535
536
536
536
537
536
535
533
532
532
532
532
532
534
534
536
537
538
538
538
542
545
545
546
546
546
546
547
547
547
548
549
550
550
551
551
551
551
549
548
547
547
547
547
545
544
543
542
541
543
544
544
545
546
547
548
548
548
549
549
549
548
547
546
546
545
546
548
548
548
548
547
547
547
547
546
545
540
538
538
537
538
538
539
539
539
540
541
541
543
544
544
544
544
544
544
543
541
541
541
541
542
543
543
544
544
545
545
546
546
547
548
548
548
548
547
546
545
545
545
545
545
545
545
545
545
545
545
545
546
546
550
552
553
556
557
558
560
561
561
561
561
562
562
563
563
564
564
564
564
564
564
567
568
570
572
573
577
577
577
577
578
578
578
578
578
578
577
577
577
577
577
577
579
581
582
583
585
585
584
584
583
582
581
580
580
580
581
582
583
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
584
585
585
585
585
585
585
585
586
587
587
588
588
588
588
588
588
588
588
588
587
588
588
588
589
589
589
590
590
590
590
590
590
590
590
590
590
590
590
590
590
591
591
591
591
591
591
591
591
591
591
591
591
591
591
590
590
590
590
590
590
590
590
591
591
592
593
593
594
594
595
595
595
595
595
595
595
596
596
596
596
596
596
595
594
594
594
594
594
594
594
593
593
593
592
591
591
591
590
590
590
590
590
589
589
589
589
589
590
592
592
593
593
594
594
595
596
596
596
596
596
596
596
596
596
596
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
596
597
597
597
597
597
597
597
597
598
599
599
599
599
599
599
599
600
600
600
601
601
601
602
602
602
602
602
602
602
602
602
602
602
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
604
604
604
605
605
605
605
605
605
605
605
605
605
605
605
606
606
606
606
606
606
606
606
606
606
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
608
610
610
610
610
610
610
610
611
611
611
611
611
611
612
612
612
612
614
614
615
616
616
617
617
617
617
618
618
619
619
621
621
622
623
624
624
624
624
624
624
624
624
624
624
624
624
624
623
623
623
623
623
623
623
623
622
620
619
618
617
616
614
613
612
610
610
610
610
610
610
610
610
610
610
610
610
611
611
611
611
611
611
611
611
611
611
612
612
612
612
612
612
612
612
612