521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
521
521
521
521
521
521
521
521
521
521
521
521
521
521
521
522
522
522
521
521
521
521
521
522
522
523
524
524
525
525
525
525
527
528
529
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
531
531
532
532
532
532
532
532
533
533
533
533
534
534
535
535
535
536
536
536
537
537
537
537
537
537
537
537
537
538
538
539
541
541
541
542
542
542
542
542
543
543
543
543
544
544
545
545
544
544
542
542
541
540
540
540
540
540
540
542
542
543
543
547
549
549
550
550
550
550
550
550
550
551
551
552
552
552
552
555
555
555
555
555
555
555
555
555
558
558
559
559
559
559
560
560
560
560
560
560
560
560
561
561
561
562
563
563
563
563
564
564
564
564
564
565
565
565
565
565
565
565
565
565
566
567
567
567
568
569
570
570
570
570
570
570
570
570
570
570
570
571
570
569
569
569
570
570
570
569
568
568
568
570
570
570
570
571
571
571
571
572
572
573
574
575
575
575
576
577
579
581
582
582
583
584
585
585
586
586
589
589
590
590
590
591
591
592
593
593
596
596
597
597
597
597
597
598
599
600
600
601
602
602
603
603
604
605
605
607
607
607
607
607
608
609
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
611
612
614
617
618
618
619
619
620
620
620
620
620
620
621
621
621
621
621
622
622
622
623
623
623
623
623
625
627
628
628
630
631
633
634
635
636
636
637
639
639
640
640
640
640
640
640
640
640
640
640
639
639
639
639
638
637
636
635
634
633
633
633
633
633
631
631
630
630
629
628
626
626
626
626
624
623
621
619
619
619
619
620
621
620
619
619
618
618
616
615
612
604
598
597
597
596
595
594
594
591
589
589
589
589
592
594
598
599
599
596
592
590
589
589
589
589
589
589
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
589
589
589
589
589
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
588
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
589
590
590
590
591
591
591
592
593
594
594
594
594
593
593
592
591
591
591
591
591
591
591
591
591
592
592
592
593
594
594
594
595
596
596
596
595
595
595
596
596
596
596
597
597
597
599
602
602
603
606
606
610
613
615
616
619
614
612
610
609
608
603
602
600
600
600
600
600
601
601
602
602
602
601
601
600
600
600
600
601
601
601
601
601
601
602
602
603
603
603
603
604
605
607
609
614
615
620
622
623
625
628
630
632
632
632
632
631
632
632
631
630
628
628
629
629
630
633
633
633
633
633
632
630
629
628
627
626
626
626
626
626
626
626
625
625
624
623
623
625
625
626
626
625
624
627
630
634
634
633
632
631
629
629
629
629
629
629
632
633
633
633
633
635
637
637
636
635
633
632
631
631
631
630
630
629
629
629
630
630
631
631
632
632
632
633
633
633
634
634
634
634
635
637
637
638
638
638
638
638
638
637
636
636
636
636
639
639
639
639
639
639
638
638
638
638
638
638
638
637
637
637
637
637
637
638
638
639
639
639
640
643
647
648
652
662
663
665
667
668
670
671
672
674
675
676
678
678
678
678
683
686
690
693
694
694
695
694
691
689
687
685
683
678
677
676
675
674
674
674
670
669
667
665
664
662
661
660
660
660
659
658
656
653
651
650
648
646
644
641
640
639
635
632
623
618
617
610
605
601
598
595
594
594
594
594
595
596
598
602
606
605
603
600
600
599
598
598
597
597
596
595
593
591
589
588
586
585
584
584
584
584
584
584
584
586
586
586
592
590
584
577
577
576
573
567
565
565
565
565
565
565
565
565
565
565
565
565
565
565
566
566
567
567
567
567
567
568
568
569
569
569
570
571
571
571
572
572
573
575
576
576
577
577
577
578
578
578
578
579
579
579
580
580
580
580
580
579
578
578
578
578
577
577
577
576
576
575
574
574
573
573
573
572
572
573
574
574
574
574
574
574
575
575
575
575
575
575
575
575
575
575
575
576
576
576
577
577
577
577
577
577
577
577
577
577
577