1048
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1047
1046
1045
1045
1044
1044
1043
1043
1042
1042
1041
1040
1040
1039
1038
1037
1037
1036
1035
1035
1034
1034
1033
1032
1032
1031
1031
1031
1031
1031
1031
1030
1030
1030
1030
1030
1028
1026
1024
1022
1020
1018
1017
1015
1014
1012
1010
1009
1008
1006
1005
1004
1003
1002
1001
1000
1000
999
998
996
996
995
994
994
993
992
992
992
991
991
990
990
989
988
987
986
984
982
980
979
977
975
973
971
969
969
968
968
967
967
966
966
965
965
964
963
962
960
959
957
956
954
953
952
950
949
948
947
947
947
947
947
947
947
947
947
947
947
947
947
947
946
944
943
941
939
938
936
935
933
931
929
927
925
923
922
921
920
918
917
916
914
913
912
911
911
910
909
908
907
907
906
905
904
903
902
902
901
901
900
899
898
898
897
896
896
895
895
894
894
893
893
892
892
891
890
890
889
888
887
886
885
884
883
882
881
880
879
879
879
879
878
878
878
878
877
877
876
876
875
874
874
873
873
872
871
870
870
869
869
868
868
867
867
866
866
865
864
864
863
863
862
862
861
860
859
858
858
856
855
854
853
851
850
849
847
846
845
844
843
841
840
839
838
838
837
836
836
836
835
835
835
835
834
834
834
834
833
833
832
831
830
829
828
827
826
825
824
823
822
821
820
819
818
817
815
814
813
812
811
810
809
808
807
806
805
804
804
803
801
800
799
798
797
795
794
793
792
791
790
789
787
786
785
784
782
781
780
779
777
776
776
776
776
776
776
776
776
776
776
775
774
773
773
772
771
770
769
768
767
765
764
763
762
760
759
758
757
756
755
754
753
752
751
750
749
749
748
747
746
746
746
746
746
746
746
746
746
746
747
747
748
748
749
749
750
750
751
751
751
751
751
751
752
752
752
752
752
752
752
752
753
753
753
753
753
753
753
753
753
754
754
754
754
754
754
754
754
754
754
754
754
754
754
754
754
753
753
753
753
753
753
753
752
751
751
750
750
749
748
748
747
746
746
746
746
746
746
747
747
747
747
747
747
747
747
746
746
746
746
745
745
745
744
744
744
743
743
742
742
742
741
741
741
740
740
739
739
738
738
737
737
737
736
736
735
735
734
734
733
733
733
732
732
732
731
731
730
730
730
730
730
729
729
729
729
728
728
728
728
728
728
727
727
726
726
725
725
724
723
723
722
722
721
721
721
720
720
720
719
719
719
719
719
719
719
719
719
719
719
719
718
717
716
715
714
712
711
710
708
706
704
703
701
699
699
698
697
696
696
695
694
692
691
689
688
686
685
684
683
683
682
681
681
680
679
679
679
679
678
678
678
678
677
676
674
673
672
670
669
668
666
666
665
664
664
663
662
662
661
660
659
659
658
657
656
655
654
652
651
650
648
647
645
644
643
642
641
640
639
638
638
638
638
638
639
639
639
639
639
639
638
637
637
636
635
635
634
633
633
633
632
632
632
631
631
631
630
630
630
630
630
630
630
630
629
628
627
627
626
625
624
623
622
621
620
619
617
616
615
614
612
611
610
609
608
607
605
603
601
600
598
596
594
594
594
594
594
594
594
593
593
592
592
591
591
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
590
589
587
586
585
584
583
581
580
578
576
574
573
571
569
567
565
563
561
559
557
555
552
550
548
546
543
541
539
537
535
533
532
530
529
527
526
525
524
522
522
521
520
520
519
518
517
516
515
514
513
512
510
509
507
505
503
501
499
497
494
492
490
488
486
485
484
483
481
480
479
478
477
476
475
474
473
472
471
471
470
470
469
468
468
468
467
467
466
466
465
465
465
464
464
464
463
463
463
462
462
462
462
462
461
461
461
461
461
461
460
460
460
460
460
460
460
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
460
460
460
461
461
461
462
462
463
463
463
464
464
464
464
464
464
464
464
464
464
464
464
464
465
465
465
465
465
465
465
465
465
465
465
465
465
465
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
467
467
467
467
467
467
467
468
468
468
468
468
468
468
469
469
469
469
469
470
470
470
470
470
471
471
471
471
472
472
472
472
472
472
472
472
473
473
473
473
473
473
473
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
475
475
475
475
475
475
475
475
475
475
475
475
475
474
474
474
474
474
474
474
474
474
474
474
474
474
474
473
473
473
472
472
472
471
471
470
470
470
469
469
469
469
469
469
469
469
470
470
470
470
470
470
471
471
471
471
472
472
472
472
473
473
473
473
473
474
474
474
474
474
474
474
474
474
474
474
474
474
474
473
473
473
473
473
473
473
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
472
472
472
472
472
472
472
472
471
471
471
471
471
471
471
470
470
469
469
468
468
468
467
467
466
466
465
465
465
465
465
465
465
465
465
466
466
466
466
466
466
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
468
468
469
469
470
470
470
471
471
472
472
472
473
473
474
474
474
475
475
475
476
476
476
476
477
477
477
477
477
476
476
475
475
475
474
474
473
473
473
472
472
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
471
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
471
471
471
471
472
472
472
473
473
473
473
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
475
475
475
475
475
475
475
476
476
476
476
476
476
476
476
476
475
475
474
474
473
473
472
472
471
471
470
470
469
469
468
468
468
467
467
467
466
466
466
466
465
465
465
465
465
466
466
466
467
468
468
469
469
470
470
471
471
472
472
473
473
474
474
474
474
475
475
475
475
476
476
476
476
476
477
477
477
477
477
478
478
478
478
479
479
479
479
479
479
480
480
480
481
482
482
483
483
483
484
484
485
485
485
486
486
487
487
488
488
489
489
489
490
490
490
490
491
491
491
492
492
493
494
494
495
496
497
498
498
499
500
501
501
501
500
500
499
498
498
497
496
496
495
494
494
493
492
492
491
491
491
491
491
491
490
490
490
490
490
490
489
489
489
489
488
488
488
488
488
488
488
488
488
487
487
487
487
487
487
487
487
487
487
487
487
487
488
488
488
488
488
488
488
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
489
490
490
490
491
491
492
492
492
493
493
494
494
494
494
494
494
494
493
493
493
493
493
492
492
492
492
492
492
491
491
491
491
491
491
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
490
491
491
491
491
492
492
492
492
492
492
493
493
493
493
493
493
493
493
493
493
493
493
492
492
492
492
492
492
491
491
491
491
491
491
491
491
491
491
492
492
492
492
492
492
493
493
493
493
493
494
494
494
494
494
494
494
494
494
494
494
494
494
494
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
496
497
497
497
498
498
498
499
499
499
500
500
500
501
501
501
501
501
501
501
501
501
501
501
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
502
502
502
502
502
502
502
502
502
502
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505