594
954
739
873
953
647
847
826
831
907
507
771
717
905
786
628
758
678
820
630
740
782
626
613
513
681
794
444
653
519
573
791
828
832
767
852
625
808
833
914
777
415
817
781
675
905
545
774
694
635
846
684
426
841
685
618
816
736
973
484
738
698
663
726
827
846
811
491
772
303
645
553
698
731
677
715
754
746
586
557
811
442
724
943
691
828
489
699
794
808
317
828
558
654
769
701
95
832
875
781
455
761
675
682
968
536
688
530
661
1011
818
374
427
729
615
464
645
897
729
755
392
497
930
856
759
755
696
987
422
660
928
523
950
705
668
945
797
720
740
722
453
604
667
657
732
721
634
859
615
904
754
663
725
570
700
818
606
558
425
710
612
468
846
808
860
859
688
521
659
498
748
574
776
618
767
774
662
803
660
793
868
316
771
615
551
689
843
895
686
639
528
935
401
625
581
653
848
822
578
879
561
457
920
747
722
570
911
838
688
757
763
693
577
849
621
720
712
798
776
629
644
804
754
383
392
911
817
748
710
849
703
521
360
606
592
706
715
713
700
723
529
664
663
884
633
874
655
216
853
610
835
739
679
753
830
797
820
752
985
686
415
796
731
640
862
983
641
743
767
805
692
702
807
713
549
860
763
832
890
708
833
572
778
315
563
645
713
790
689
914
709
947
546
493
829
943
617
779
664
319
621
838
568
535
589
531
508
723
605
628
812
756
587
763
731
539
741
712
786
837
559
935
636
311
695
862
736
733
745
733
930
747
768
629
593
776
632
619
734
617
694
885
476
870
671
940
539
725
841
931
618
788
636
431
586
767
646
760
634
603
822
808
833
636
690
735
914
721
524
709
769
543
686
512
849
627
720
899
798
621
573
749
729
828
863
732
705
685
831
639
788
736
353
712
613
238
800
734
735
770
957
213
633
766
646
765
580
590
667
947
695
737
874
806
612
655
743
550
693
895
728
427
763
746
789
778
659
593
906
492
590
718
873
510
797
666
765
264
788
687
883
782
250
582
760
588
693
546
822
402
934
904
770
745
593
328
614
581
792
663
564
794
496
802
800
591
780
496
256
721
610
714
520
567
734
606
594
819
623
793
987
947
821
630
605
305
635
706
828
500
703
854
569
655
863
881
710
841
780
582
395
814
675
715
812
621
700
652
631
636
816
867
562
853
363
570
841
704
635
814
744
717
652
525
526
607
669
792
744
741
675
699
658
713
774
763
665
739
741
778
635
741
721
764
805
719
702
579
859
593
714
752
350
529
718
645
514
561
880
910
756
805
927
0
75
831
696
776
901
837
846
765
594
759
662
942
596
577
746
953
737
668
654
521
575
759
689
752
934
662
701
460
803
925
870
686
677
676
809
672
520
671
727
709
781
406
584
758
784
668
736
738
732
740
890
504
820
618
948
371
876
646
636
887
927
626
763
707
738
852
811
703
598
654
677
635
815
663
786
661
707
735
919
741
562
791
589
803
747
691
689
785
768
363
676
787
453
652
762
698
744
841
759
809
772
809
406
716
753
792
812
597
695
598
795
702
887
652
755
857
592
862
330
649
630
935
826
599
738
957
474
507
794
969
571
683
800
494
646
656
739
682
975
780
795
787
504
667
755
753
897
730
612
656
518
576
610
798
627
738
689
659
762
329
697
855
728
736
715
845
592
788
925
654
868
796
568
654
702
806
614
682
744
826
677
795
936
801
640
610
516
625
865
882
706
648
455
833
874
540
667
680
709
581
327
391
666
415
532
769
638
761
740
309
883
698
794
716
692
775
606
405
783
554
677
423
493
790
798
837
531
688
157
744
721
599
873
543
768
624
824
850
543
409
818
463
143
570
909
691
651
698
766
586
771
680
646
515
308
339
815
778
564
531
703
557
711
779
534
630
658
742
829
439
494
757
762
782
749
892
541
828
527
705
639
617
615
855
967
734
683
911
748
577
835
821
752
712
653
751
527
661
568
821
701
708
1021
528
935
743
634
590
709
630
511
903
474
284
677
863
471
792
715
838
595
927
827
921
575
724
717
738
965
509
800
754
595
725
520
773
670
630
800
853
585
939
685
711
682
974
707
735
680
591
850
704
881
651
762
670
638
820
888
847
711
699
514
751
728
744
620
746
695
967
664
697
790
966
642
673
830
785
965
24
856
578
731
735
774
942
671
917
683
711
584
482
439
685
553
650
869
830
457
842
700
744
714
769
605
819
806
801
587
908
787
645
724
765
511
734
510
923
701
752
719
867
516
701
763
530
696
484
800
764
626
545
587
786
750
835
571
735
768
684
745
831
735
658
678
761
978
656
617
705
477
882
776
789
567
572
607
720
840
774
375
685
667
797
776
519
836
677
534
793
622
731
528
848
735
805
837
743
733
894
749
721
554
733
696
781
644
495
797
669
673
708
666
334
483
768
545
883
805
706
609
865
781
549
699
478
700
903
688
693
500
593
406
699
784
801
693
857
710
770
698
797
879
876
633
591
571
880
886
843
622
698
506
626
845
899
624
941
911
696
702
697
871
504
955
718
522
529
872
836
689
630
741
718
760
774
665
684
893
382
768
660
601
681
947
666
619
815
814
692
846
799
763
849
673
714
948
547
697
641
775
817
951
539
558
616
822
647
597
829
730
768
804
792
885
809
528
707
814
804
903
680
480
800
808
829
933
490
872
657
768
921
604
596
578
774
838
693
700
616
804
798
488
721
786
538
408
701
838
749
662
724
588
663
363
770
572
809
671
878
949
765
665
555
749
787
787
831
784
851
814
764
645
517
778
515
793
662
633
783
628
841
800
513
630
988
564
908
558
871
707
634
453
603
710
775
788
697
435
619
807
741
681
740
692
783
833
640
444
885
812
514
663
948
796
723
752
631
526
785
602
945
911
630
658
720
805
696
655
780
786
938
898
685
533
855
694
831
786
835
1004
777
760
868
806
917
773
734
785
867
680
801
638
789
677
915
710
312
456
698
738
775
869
731
856
587
654
932
611
713
965
784
611
755
791
670
815
765
803
742
682
877
838
815
629
759
889
568
783
645
754
183
838
709
837
644
945
709
918
765
611
739
691
691
775
745
464
821
837
700
729
479
377
428
901
740
757
932
947
943
776
780
399
895
775
646
729
285
569
526
640
517
591
653
675
931
681
782
870
856
480
674
422
728
648
663
624
780
771
671
634
689
739
812
628
799
874
561
844
788
657
657
868
643
706
375
823
357
267
822
835
752
568
703
749
729
617
779
744
789
546
681
934
803
681
865
755
830
761
679
731
727
695
813
818
545
723
667
668
821
754
507
825
506
869
813
691
705
761
774
186
760
897
865
468
635
764
644
613
602
426
881
607
681
622
634
714
777
751
806
755
792
270
883
718
729
811
679
642
837
802
571
716
587
790
697
748
751
656
677
736
823
822
562
626
725
396
633
826
722
250
507
817
708
635
780
537
815
803
695
781
347
975
694
700
803
808
543
766
760
576
523
511
747
913
638
860
559
820
815
597
921
721
800
626
725
612
857
731
837
551
766
826
492
823
598
600
805
889
902
678
190
573
742
807
742
730
651
819
725
711
577
757
628
587
621
489
570
731
784
591
374
939
585
620
502
850
904
864
781
704
612
325
769
605
730
696
839
729
724
568
859
594
394
313
647
874
791
749
567
874
864
715
691
817
896
887
795
835
815
797
691
810
821
685
685
900
343
598
631
853
668
793
714
754
639
935
433
647
432
587
898
803
489
774
875
883
531
873
679
596
727
213
698
619
841
975
935
750
707
671
427
799
671
541
787
795
496
704
523
892
656
778
720
584
662
903
661
155
894
568
606
729
731
991
872
617
781
745
868
678
270
697
890
236
709
784
766
542
688
510
206
719
690
929
805
687
801
568
704
748
932
674
704
868
612
814
809
871
886
628
854
836
490
825
613
711
834
681
704
725
742
598
548
620
826
692
729
462
777
955
842
568
886
808
595
754
910
658
742
382
865
757
504
749
880
735
863
532
665
802
230
581
801
616
842
543
778
625
497
644
450
488
804
514
711
715
644
763
611
657
819
471
889
609
997
783
656
808
856
806
681
420
420
895
463
700
727
624
799
658
399
681
688
888
665
478
756
482
680
713
720
620
746
537
696
449
768
835
674
755
744
542
610
668
502
783
731
787
922
750
250
732
869
745
323
404
841
591
860
566
820
929
785
673
926
630
778
519
544
328
832
878
763
898
545
670
773
707
566
779
840
489
733
651
766
663
738
796
583
687
721
634
935
687
505
593
589
756
504
786
723
567
512
531
937
872
713
875
955
717
788
777
765
758
819
760
907
867
700
393
830
682
446
667
414
847
862
697
895
732
852
765
639
785
772
669
578
674
978
778
815
658
522
782
712
701
860
812
680
478
879
979
776
796
200
600
552
699
519
743
871
691
766
271
714
747
642
757
701
782
813
712
421
841
576
705
931
557
760
985
439
817
717
92
748
623
589
715
750
667
916
822
678
592
666
541
508
692
784
783
577
697
617
568
951
895
678
688
734
630
562
686
836
680
866
650
736
844
713
573
783
591
557
884
738
861
703
852
722
786
667
724
815
544
628
815
421
385
631
782
725
580
682
668
881
627
595
811
705
596
691
674
538
924
593
885
832
802
851
353
596
681
434
475
919
696
778
955
633
676
634
676
467
765
884
674
782
681
755
719
748
621
840
489
857
819
784
521
786
679
848
787
674
981
963
453
626
714
625
690
495
709
606
666
630
805
727
806
772
729
634
675
457
756
762
711
713
1001
380
438
471
515
909
589
673
620
645
890
1012
622
758
527
822
754
579
281
521
880
545
706
611
715
499
391
732
923
390
880
832
902
655
705
568
794
668
797
505
579
642
675
557
763
845
661
715
492
942
817
778
681
702
483
847
627
645
654
905
749
870
958
800
547
801
433
856
536
587
652
818
544
786
803
585
505
500
846
610
692
510
783
749
617
608
729
741
750
608
670
839
841
682
749
621
757
923
752
657
655
691
590
720
750
720
655
569
921
369
910
692
970
653
755
327
824
304
598
648
904
716
418
749
764
836
909
819
688
801
730
678
830
755
720
750
473
615
749
838
681
740
763
812
841
536
374
360
783
794
762
677
858
709
487
647
844
744
870
508
681
630
744
772
837
531
838
751
764
874
854
644
788
704
778
816
545
547
640
704
616
945
828
752
786
746
871
847
492
566
872
736
747
909
871
773
684
792
627
768
602
375
922
856
456
674
645
869
898
803
767
598
856
705
888
795
505
394
393
637
636
685
633
879
621
978
674
732
591
720
810
773
881
807
545
540
600
726
824
771
622
492
521
962
652
740
79
525
660
599
727
740
554
774
653
665
831
752
652
786
446
554
835
741
490
610
872
975
777
630
749
716
485
760
788
726
557
910
657
676
642
765
621
784
677
494
774
787
847
954
711
744
524
674
815
707
750
601
587
661
754
790
677
477
791
781
753
977
594
857
568
950
842
808
795
725
665
764
827
647
700
728
754
611
780
869
829
812
681
956
511
984
856
619
707
702
485
489
822
822
769
474
932
777
678
667
718
929
579
736
503
827
813
770
777
605
617
631
740
647
810
642
616
875
805
662
731
688
743
480
868
642
512
787
701
938
693
765
680
630
826
831
718
710
801
793
489
669
832
560
756
877
767
905
850
776
748
529
819
470
607
712
710
606
835
606
892
701
671
605
823
546
813
592
414
973
562
701
675
601
398
639
738
714
761
869
566
748
732
825
781
911
672
712
599
796
336
372
644
394
893
760
899
881
655
666
844
615
633
702
734
761
711
709
932
789
900
226
909
827
723
714
879
735
835
789
719
819
761
727
635
576
806
788
626
430
477
720
769
663
810
870
601
572
421
869
946
848
771
701
506
760
514
804
726
816
576
791
801
163
461
975
775
711
709
729
809
657
770
879
780
870
903
758
420
767
575
648
796
935
737
745
633
768
583
819
783
645
829
854
699
865
668
844
901
711
751
933
764
1008
651
692
552
652
489
666
372
687
849
435
648
462
542
818
679
701
914
629
712
675
658
719
759
743
755
914
630
681
668
807
815
840
722
793
551
593
921
887
960
899
777
717
662
781
782
811
599
901
546
344
753
755
786
634
551
454
439
768
933
488
744
748
483
857
785
810
757
681
773
590
728
686
536
805
826
550
523
559
597
680
834
777
444
793
978
898
729
410
706
690
525
655
267
945
350
692
666
570
568
659
816
784
734
639
973
447
779
734
562
582
744
736
430
726
952
971
648
856
755
680
545
837
782
903
730
720
625
804
863
567
782
610
663
780
710
685
574
670
629
585
819
720
497
744
416
590
641
670
815
768
366
735
710
579
527
178
594
849
610
677
878
651
812
768
557
851
647
624
825
723
657
505
645
474
622
964
839
622
641
830
561
689
707
737
540
681
305
673
528
690
550
761
749
523
566
859
723
691
550
588
626
719
910
826
215
872
720
636
664
717
490
974
730
536
596
910
773
854
677
601
841
462
497
250
673
915
831
703
743
950
737
709
764
646
724
319
698
723
882
843
570
790
860
677
178
640
627
802
629
531
712
704
552
391
770
432
675
696
699
502
709
505
743
699
700
740
822
824
594
453
824
801
677
715
887
699
514
687
706
808
540
613
901
615
415
778
667
730
299
645
808
994
639
827
733
711
644
670
680
732
639
556
406
904
743
587
466
765
394
446
709
747
575
581
822
548
864
694
895
770
685
598
871
807
739
766
784
362
739
795
735
762
757
342
826
450
732
606
702
723
412
695
627
734
887
898
701
692
771
601
716
839
836
618
661
798
850
662
812
769
671
916
888
888
386
756
765
810
921
834
946
624
789
646
732
700
550
600
651
833
751
636
635
557
781
572
544
654
485
860
773
763
724
820
835
869
888
339
662
669
728
694
692
739
797
678
841
892
755
697
398
556
821
802
93
804
609
552
712
454
592
625
735
454
879
753
686
360
780
727
615
620
692
673
845
840
624
743
759
738
852
785
708
745
861
479
365
828
474
864
31
793
746
570
623
665
762
988
947
875
213
926
703
714
947
644
689
855
881
682
628
941
740
564
815
902
672
512
822
835
466
950
750
681
532
537
932
657
853
652
869
625
700
748
807
751
621
694
821
723
515
836
673
860
517
793
641
537
709
781
600
840
638
764
754
891
726
683
763
618
847
566
787
896
776
788
642
622
689
761
808
617
782
700
644
774
456
886
553
294
701
490
726
808
713
904
429
880
820
862
803
629
905
874
625
578
822
653
879
769
389
606
866
731
839
771
600
713
299
655
761
191
647
686
842
833
759
687
640
926
559
383
563
1004
799
351
855
863
690
410
920
735
839
796
782
827
665
768
675
607
805
163
675
779
115
785
769
564
749
499
633
901
768
823
734
735
579
437
727
596
820
596
895
706
577
757
712
684
703
639
881
542
697
766
730
751
665
990
793
839
723
777
535
715
691
974
883
933
856
873
693
717
666
484
692
390
863
774
816
844
535
927
754
699
829
664
627
680
799
483
786
472
897
699
775
581
758
833
744
624
564
533
764
764
807
844
333
568
589
864
636
512
859
506
673
855
514
726
774
598
367
831
336
672
737
768
829
859
567
811
758
492
697
780
791
639
678
752
744
282
835
698
608
717
670
931
771
679
660
722
817
538
824
812
790
650
704
579
795
505
904
762
867
680
822
715
737
799
794
575
438
748
399
672
876
945
841
588
864
817
604
558
526
753
640
706
716
854
685
587
887
583
741
604
697
699
497
849
812
930
545
1005
797
672
732
796
733
468
651
700
849
643
971
853
651
761
631
556
559
394
650
687
536
978
678
885
892
760
214
708
689
714
583
721
810
708
591
828
590
1021
549
843
666
549
801
729
744
769
732
868
774
824
767
793
433
724
643
821
819
725
654
554
548
417
608
625
728
815
865
923
841
697
684
893
674
797
735
658
390
678
653
757
757
273
830
455
540
755
627
722
904
839
691
943
431
639
694
768
822
707
506
529
522
588
836
754
908
755
684
591
793
815
756
772
762
696
817
835
815
804
617
798
838
796
711
638
487
828
764
914
680
525
803
773
835
838
656
860
682
669
797
338
662
740
944
701
506
791
909
753
709
690
635
565
679
812
837
497
643
593
520
570
647
478
621
256
678
874
786
581
798
859
715
949
665
746
703
758
592
586
799
733
715
637
888
516
816
463
674
593
543
672
509
683
1010
565
937
819
903
914
589
776
859
819
761
900
768
871
711
575
817
444
231
811
807
956
771
645
521
721
920
464
618
941
583
760
799
654
826
402
389
563
526
678
832
664
933
845
950
863
766
619
773
783
533
580
889
765
790
861
457
787
648
644
441
760
744
809
686
513
715
722
835
787
760
487
950
800
593
620
795
691
611
765
645
379
819
475
494
404
630
769
702
835
731
803
748
627
796
716
782
818
773
399
867
762
693
658
589
794
692
660
792
676
787
807
790
531
847
764
786
333
688
815
476
513
831
738
695
601
377
647
652
579
855
727
739
517
500
649
850
677
711
946
792
783
1014
740
901
950
573
702
714
724
906
746
858
598
832
897
620
246
574
741
210
662
735
489
739
804
655
589
716
803
802
599
923
786
822
583
832
704
768
562
813
595
684
790
649
745
584
129
173
555
419
749
533
844
671
594
753
787
474
713
763
684
818
587
608
722
690
715
389
718
652
700
642
870
881
844
491
469
880
751
676
387
949
497
709
921
701
482
496
876
856
791
658
772
854
844
808
565
939
696
629
787
41
670
638
667
716
448
867
744
856
672
638
695
782
705
359
683
841
912
204
845
784
537
857
955
909
715
731
853
663
808
729
713
711
860
579
751
663
581
591
683
569
735
579
751
377
717
658
871
668
860
774
828
556
807
912
771
871
663
906
713
670
792
739
863
417
641
811
854
801
728
606
836
686
774
821
793
849
712
897
790
649
674
947
694
828
834
658
749
657
672
430
710
431
529
754
619
738
676
990
794
920
935
667
345
602
755
719
732
973
828
672
831
832
661
791
764
816
770
671
726
826
553
576
815
223
402
583
727
758
745
832
654
827
723
878
393
756
821
349
676
763
845
785
775
750
480
828
707
739
516
833
834
706
952
386
894
471
840
786
856
643
407
859
757
700
389
920
660
568
920
815
715
713
882
686
651
928
677
579
583
711
956
880
701
738
854
694
246
544
541
586
412
906
757
5
725
502
650
688
761
729
293
779
564
593
757
586
702
706
594
713
745
761
840
808
641
249
748
812
806
886
570
949
678
560
736
641
776
772
587
648
736
651
704
770
765
745
645
472
788
655
824
753
686
720
541
798
673
778
1005
578
871
701
782
708
589
399
528
515
570
815
604
841
760
602
825
900
959
376
899
725
696
777
483
543
478
672
495
904
972
821
618
647
802
850
879
793
500
741
889
560
758
757
464
689
657
763
323
724
721
448
710
724
581
700
924
544
943
800
830
861
709
693
741
931
775
551
705
737
705
939
731
815
770
885
273
236
794
403
683
580
744
650
679
815
788
800
617
365
843
798
795
787
709
509
847
728
887
965
604
730
686
935
572
629
518
644
570
531
708
271
951
447
687
594
565
762
797
810
869
971
622
546
803
715
746
619
762
662
706
712
947
565
877
507
447
717
627
743
969
795
729
709
779
792
769
1004
587
834
550
608
786
729
601
680
838
619
598
795
805
778
616
698
637
645
322
790
870
633
868
789
411
561
776
855
661
681
751
679
777
707
743
747
839
547
755
841
575
623
765
657
573
891
746
590
654
832
532
611
859
836
945
757
669
783
339
743
659
377
826
878
662
770
909
559
743
816
686
774
367
642
671
746
573
778
453
564
672
694
710
662
655
652
823
772
594
865
559
822
382
639
452
862
733
673
492
745
751
773
772
789
771
824
772
891
731
724
546
866
712
756
830
412
866
829
554
817
787
754
795
735
760
940
477
639
762
908
435
561
678
765
214
711
642
710
604
583
817
748
593
677
765
767
282
646
539
842
760
879
842
592
676
975
506
546
768
671
688
741
759
548
812
422
611
829
537
737
604
804
844
264
630
730
631
673
638
697
669
824
640
940
665
828
784
677
718
642
890
728
787
917
671
929
829
904
719
587
833
812
645
712
921
850
560
785
530
810
255
907
609
763
769
839
567
802
611
862
741
733
703
665
634
865
867
743
919
669
723
752
416
710
464
705
815
981
781
867
269
742
867
797
692
705
689
624
930
811
422
862
604
701
697
674
806
639
668
748
839
677
834
746
545
625
750
754
633
807
802
472
819
609
736
587
693
726
623
807
719
746
680
591
558
534
605
694
840
819
601
732
799
947
810
752
508
368
783
769
645
823
623
857
817
744
918
704
594
835
568
843
718
515
624
662
749
680
737
901
698
706
617
724
560
208
923
651
637
726
698
747
769
665
662
441
812
718
612
784
604
953
379
579
418
804
657
679
663
864
828
765
902
783
809
592
838
665
604
646
847
687
706
995
791
654
810
792
424
705
778
682
565
701
666
739
664
714
782
567
811
753
817
743
761
698
714
685
833
865
861
935
896
855
653
987
466
747
773
599
710
550
429
816
859
757
696
801
859
588
416
817
663
686
910
642
538
939
904
933
776
905
640
730
697
936
923
822
832
357
764
954
669
469
674
808
677
775
626
752
599
745
675
776
713
712
836
835
860
811
946
662
597
762
837
762
567
924
584
684
839
544
780
854
643
696
900
761
547
705
149
640
788
360
402
736
567
740
689
817
920
591
896
765
747
690
816
608
792
869
801
836
647
869
600
611
596
694
809
570
722
556
781
724
552
824
626
876
602
975
802
732
660
803
806
558
685
607
710
871
515
756
860
606
741
810
606
786
630
835
697
545
601
791
844
519
591
665
791
690
724
671
870
840
865
361
761
866
480
679
593
829
612
857
828
732
708
674
899
657
910
691
824
709
708
509
667
801
484
705
735
717
641
691
625
565
531
801
801
1002
641
484
695
776
710
558
662
662
715
526
853
695
920
785
477
677
844
734
704
491
916
606
619
524
515
783
798
683
680
736
739
868
787
629
583
500
836
604
701
858
712
821
397
746
793
756
768
842
653
951
793
773
897
670
717
875
644
438
692
815
873
844
565
707
553
552
412
615
615
704
672
565
596
879
750
465
733
769
807
439
670
739
547
868
854
639
558
869
774
765
972
850
807
722
631
808
562
633
706
840
670
859
645
896
744
962
768
797
446
650
831
422
730
824
739
855
754
865
552
631
816
897
603
697
731
702
864
862
734
683
684
734
903
785
622
709
574
703
580
850
848
629
498
666
823
673
813
747
608
652
619
775
690
549
628
492
499
718
605
532
750
693
533
711
516
844
568
835
626
640
832
691
729
305
421
718
577
727
820
868
642
655
851
660
722
963
666
791
776
711
850
812
733
444
728
885
668
746
785
605
617
854
519
904
945
727
861
721
790
631
519
886
594
676
391
719
595
778
737
858
644
796
719
646
708
793
801
877
826
759
626
824
705
473
464
793
341
724
892
456
962
736
605
612
932
591
523
893
584
890
548
662
649
655
471
568
331
520
325
680
830
848
508
785
809
720
763
991
810
669
713
831
752
452
593
723
816
917
677
628
757
671
480
842
789
855
652
648
736
389
462
637
417
795
986
643
591
618
720
560
875
841
710
623
815
658
376
731
828
763
844
966
815
787
749
619
833
788
664
769
779
509
506
812
691
382
504
760
899
667
545
659
729
850
511
792
885
796
707
709
417
772
654
678
589
825
439
734
415
851
547
934
889
793
730
578
714
753
612
524
901
905
496
692
430
794
653
774
831
825
678
752
636
508
837
886
689
816
691
700
709
1004
908
892
909
569
600
913
608
902
827
902
339
925
806
915
890
785
385
650
962
776
791
542
598
984
905
844
753
811
773
532
895
693
279
436
862
755
969
682
961
594
795
546
697
770
719
446
709
649
882
728
731
529
786
785
676
771
804
847
771
583
750
532
858
615
747
581
741
429
344
797
164
784
330
753
640
859
802
663
896
751
871
666
571
700
841
388
741
688
736
820
634
900
847
480
710
673
868
797
846
600
728
703
653
669
634
813
847
818
603
715
687
662
768
524
773
803
860
644
999
599
782
770
578
810
761
874
804
690
431
772
654
333
831
765
524
595
654
536
678
636
773
910
892
573
524
666
545
0
712
804
366
778
675
915
546
648
616
833
638
751
756
633
757
820
830
625
697
857
719
754
939
831
600
720
680
823
814
860
631
712
721
616
723
832
646
324
173
681
505
482
284
791
696
630
952
814
558
589
701
631
710
886
649
458
936
725
696
656
907
585
820
607
562
785
768
726
645
613
920
755
772
676
643
871
851
875
940
525
746
804
608
798
699
762
374
723
866
802
733
802
859
619
821
588
778
745
415
664
662
1004
705
752
538
639
653
832
328
858
652
538
558
794
689
679
820
481
496
803
441
492
606
807
701
872
848
584
882
730
666
405
778
814
885
800
554
697
538
807
335
752
845
777
658
418
525
776
698
887
947
550
417
712
582
880
756
687
795
243
688
709
825
503
999
743
721
595
692
583
271
938
728
831
839
856
665
692
826
667
768
674
756
435
811
580
498
846
579
634
430
619
565
626
635
768
882
748
516
853
774
931
499
782
927
643
727
620
680
804
760
562
754
575
774
710
749
989
716
896
593
994
585
541
833
847
592
626
706
774
640
775
648
414
723
830
281
567
757
675
854
738
787
735
539
939
306
879
836
589
424
579
205
785
418
767
713
838
773
788
774
729
757
596
617
677
748
446
695
667
644
778
870
627
817
819
485
748
671
739
699
668
830
880
675
384
302
748
177
62
744
570
930
697
678
526
704
635
774
862
952
590
839
776
958
583
696
868
915
874
490
841
818
600
609
639
875
665
768
654
505
573
725
634
745
911
836
704
427
604
845
699
821
546
714
811
543
655
539
675
704
631
649
873
930
749
567
634
781
611
710
751
791
836
500
659
846
512
867
556
621
729
707
757
609
724
693
841
478
752
674
615
762
718
723
722
720
875
711
671
725
764
775
962
583
924
712
657
911
739
484
820
415
942
741
801
552
739
784
723
814
685
730
583
613
684
618
570
343
754
652
907
710
639
468
890
895
424
733
558
655
668
691
778
681
527
597
672
955
643
377
547
549
591
801
658
469
731
367
641
698
610
720
590
822
588
465
602
734
621
792
516
810
860
598
700
350
619
718
893
580
782
825
731
784
646
817
420
766
514
710
831
679
796
698
671
733
854
622
545
752
608
641
732
899
202
783
677
820
830
627
683
528
613
468
832
740
603
711
941
577
455
895
873
764
826
668
490
915
956
821
664
889
698
374
646
554
693
881
755
590
678
810
822
862
746
635
696
732
828
540
792
804
685
643
508
669
487
751
856
756
299
566
763
653
507
740
784
475
830
834
734
948
662
657
679
62
782
853
768
793
699
703
574
401
718
926
737
722
872
669
610
625
759
719
841
930
454
757
767
654
700
703
672
639
735
681
862
514
744
696
925
868
787
175
701
732
830
677
798
691
658
558
386
788
774
760
843
686
895
721
703
613
572
757
601
583
786
776
805
542
501
744
557
655
502
653
806
681
413
645
417
522
732
720
885
708
877
714
710
448
507
629
429
668
579
669
683
254
872
664
758
777
516
600
238
721
667
345
827
864
439
497
659
738
734
767
948
702
668
785
643
804
717
842
858
594
544
668
756
745
516
750
882
501
718
922
681
808
693
498
960
742
706
597
846
842
761
654
790
905
704
790
661
765
848
773
670
829
739
750
768
640
628
708
717
715
403
817
655
670
704
833
608
792
642
648
682
730
809
718
670
388
853
752
823
732
747
864
460
788
586
843
635
687
850
819
672
609
483
794
721
622
776
408
670
471
971
760
572
518
683
1001
532
393
659
766
774
735
372
639
927
977
699
667
663
689
336
508
317
792
572
527
796
454
853
701
472
675
634
508
717
951
675
805
866
659
793
378
618
841
712
686
731
687
857
680
733
701
717
980
586
781
834
772
690
688
723
385
704
673
768
535
609
710
715
765
568
609
609
592
857
749
779
648
641
979
722
801
762
736
603
589
754
410
700
736
706
978
622
560
687
741
1014
581
689
724
720
510
936
691
857
570
749
758
290
934
822
628
477
721
863
728
946
474
815
744
785
723
582
412
528
684
414
691
737
775
618
653
579
651
844
652
880
813
829
754
707
707
833
818
687
666
758
726
826
869
736
678
622
790
512
425
811
810
559
758
746
551
614
668
621
806
593
715
721
841
823
699
761
538
144
432
488
442
734
613
437
625
728
824
557
935
655
860
760
270
868
566
860
716
785
486
721
753
911
476
523
714
785
462
734
851
831
741
751
853
709
762
574
874
877
822
779
876
716
557
767
953
456
755
969
736
658
671
694
769
809
774
866
799
719
490
770
747
669
968
367
563
788
688
530
758
889
823
592
758
787
411
706
526
678
863
796
672
734
708
668
476
771
754
785
825
707
823
558
631
837
430
640
707
552
421
754
827
836
953
755
695
783
710
585
912
467
812
537
591
741
716
533
823
639
903
645
776
514
656
877
529
663
725
715
955
838
799
927
767
864
632
812
894
634
689
910
705
689
643
829
628
738
796
610
770
813
949
504
421
456
760
713
710
779
636
876
893
402
586
629
737
545
764
870
743
574
722
799
708
901
726
651
687
831
685
806
749
991
850
677
759
816
604
522
539
859
653
554
528
810
822
684
581
826
678
624
889
451
736
776
840
574
354
577
681
862
688
749
766
881
895
955
728
915
731
542
655
540
639
718
745
780
830
675
523
705
862
591
1003
622
629
927
668
860
818
788
982
523
935
377
428
642
807
720
776
715
755
617
796
597
507
996
676
718
648
947
666
702
837
845
861
766
987
556
797
659
736
996
893
981
598
618
759
761
813
619
693
303
849
479
331
916
857
493
634
791
826
755
768
630
767
693
774
722
609
522
718
928
778
720
503
849
634
761
627
796
535
834
579
853
634
553
937
305
664
638
533
697
795
871
403
850
883
684
710
614
691
702
604
981
642
624
613
796
761
417
698
793
791
693
920
707
882
687
576
815
641
744
697
535
716
585
746
526
527
834
851
838
816
549
659
823
557
803
684
725
568
656
701
817
791
900
693
903
873
633
798
608
687
780
356
793
710
702
547
667
675
832
499
621
572
741
816
792
543
611
744
411
539
640
674
599
925
703
737
701
837
569
660
727
787
775
819
838
671
715
991
719
863
765
843
732
750
612
732
976
754
408
734
788
717
681
654
429
867
756
711
696
302
622
784
617
664
934
651
568
665
803
680
746
594
877
641
691
896
751
518
724
733
843
759
771
741
794
647
513
640
643
738
598
822
892
789
732
774
681
728
747
862
794
514
755
803
821
698
922
582
804
835
455
910
859
603
631
793
638
909
620
628
930
835
709
574
641
943
933
591
840
694
790
819
767
785
691
261
528
771
555
608
688
647
890
905
594
799
594
537
854
661
576
909
653
755
944
669
615
644
870
725
766
822
882
769
239
807
753
865
642
750
630
828
567
849
755
693
537
708
623
398
672
791
934
837
757
691
501
782
561
834
655
714
500
513
745
921
539
553
600
799
608
604
731
669
982
723
807
520
703
796
907
894
675
827
727
609
799
482
787
557
835
610
697
709
841
844
750
699
615
901
939
635
797
740
802
455
884
933
709
901
654
555
501
841
656
828
762
871
844
707
716
945
818
669
568
879
669
646
738
659
492
671
843
218
724
266
575
992
568
653
664
472
792
862
446
846
971
478
860
846
694
704
513
669
886
950
424
678
518
761
735
732
822
230
773
545
697
743
590
907
748
726
793
763
869
829
654
944
800
596
442
875
512
957
675
729
700
619
652
462
672
590
806
844
557
768
698
851
648
608
689
507
761
735
805
742
651
707
844
583
687
850
613
675
808
746
487
434
569
647
449
686
641
613
729
558
818
884
678
659
276
725
533
723
771
645
822
717
877
817
388
823
839
899
637
762
231
669
564
555
665
936
672
728
849
763
752
737
776
916
682
841
778
542
605
577
502
861
924
786
680
669
486
464
712
921
817
768
682
499
665
772
807
714
613
613
781
735
502
749
665
851
761
761
826
787
597
294
775
679
725
654
851
822
664
504
666
272
647
830
732
547
681
724
830
705
692
659
755
545
673
772
743
671
587
707
761
637
528
502
388
540
788
354
749
785
353
591
714
693
559
649
784
711
696
428
764
492
483
387
645
805
530
802
791
661
712
591
605
613
751
764
421
796
866
822
718
492
885
580
881
610
698
810
835
772
674
864
931
728
766
680
544
836
961
758
559
591
726
580
677
834
720
751
596
945
708
678
779
851
640
730
828
582
605
755
785
597
844
622
895
799
920
942
778
541
548
768
482
604
792
881
666
830
643
435
704
507
945
710
623
760
535
770
757
573
803
662
638
768
748
603
670
922
814
815
616
589
389
856
661
783
908
661
774
841
739
971
572
983
801
806
703
905
712
686
858
445
821
716
683
641
628
341
685
626
501
512
691
694
748
553
710
702
738
667
627
753
547
862
844
753
499
854
740
568
607
700
607
1004
709
443
786
852
504
665
825
646
785
317
706
705
606
841
789
760
530
924
742
570
722
647
627
458
660
581
464
752
737
507
833
538
392
475
458
694
630
657
974
828
639
649
697
654
740
941
770
383
402
625
984
690
564
824
656
606
441
699
798
896
659
435
845
823
606
751
775
754
647
589
859
605
551
718
744
744
627
667
914
724
656
931
818
479
91
746
826
490
779
576
726
494
593
933
866
794
759
806
714
772
713
714
801
811
927
937
901
815
783
840
718
831
548
767
766
736
664
646
538
875
827
750
1006
704
576
830
852
532
772
696
873
523
595
759
764
721
894
739
678
706
696
666
624
560
460
601
792
987
809
780
695
747
704
696
528
672
670
677
212
784
739
749
87
908
784
946
659
741
498
729
390
638
668
825
778
437
455
594
735
841
640
695
650
890
873
663
663
556
899
860
887
506
630
857
679
845
659
781
604
402
739
769
871
795
182
579
730
776
970
742
577
929
802
786
606
944
746
603
781
643
873
794
664
624
837
803
703
945
829
729
516
451
638
983
758
434
530
672
463
493
814
721
708
942
797
530
863
698
704
638
917
698
722
470
874
566
614
881
827
402
837
846
525
762
619
907
841
600
729
556
530
746
537
619
778
716
543
715
600
830
278
780
720
731
786
818
867
761
718
483
749
836
730
414
458
557
535
755
774
889
770
866
841
894
598
595
773
494
918
573
530
865
753
641
557
726
877
774
738
823
551
682
305
707
764
722
740
663
848
817
702
697
540
537
961
811
681
394
794
761
631
562
829
545
435
857
627
689
751
733
771
474
515
546
946
612
765
613
817
659
692
748
394
924
569
806
606
697
713
788
751
755
736
588
757
767
1009
694
887
795
221
796
859
820
788
883
881
653
839
777
755
828
852
763
677
884
867
748
777
528
796
768
945
259
733
873
581
875
756
619
857
521
642
832
691
824
913
636
541
817
924
620
876
738
633
608
628
316
773
792
697
814
570
695
805
710
770
852
804
623
760
788
653
687
742
615
783
482
787
797
764
810
621
687
722
740
581
701
979
672
595
527
685
363
637
620
751
791
661
646
729
875
703
769
914
577
536
813
687
809
771
808
693
621
416
751
618
796
391
282
704
577
582
498
735
835
726
759
703
336
922
961
420
747
879
794
628
919
484
720
699
586
492
614
653
554
891
789
807
681
803
774
800
848
747
629
443
844
442
826
765
833
534
720
820
725
726
819
920
726
706
844
748
729
638
649
573
851
507
693
903
510
722
709
803
692
535
755
742
781
806
846
530
766
351
715
672
803
809
898
335
692
669
746
747
889
461
690
902
289
622
751
674
678
713
735
642
808
722
798
722
659
506
816
478
683
803
864
716
735
716
790
922
735
505
465
284
791
887
906
823
683
830
808
641
793
719
522
527
679
867
819
671
321
712
698
698
721
858
726
667
954
802
554
822
732
681
339
820
774
752
594
625
657
391
746
670
712
805
730
815
742
776
970
620
892
807
645
495
755
775
798
849
708
605
552
702
763
753
720
705
648
775
487
651
688
791
812
703
868
763
736
614
714
986
815
632
887
708
633
655
699
660
630
786
934
704
755
477
602
987
701
666
651
691
310
678
671
500
880
770
615
707
637
545
557
784
858
607
485
729
856
494
849
445
809
623
489
835
726
747
805
803
705
955
639
655
827
640
725
815
646
887
795
666
707
497
781
356
725
599
761
781
764
583
695
817
809
767
549
661
753
681
886
916
817
742
500
551
753
698
780
958
802
520
949
208
996
611
437
853
662
723
652
737
544
512
651
633
620
716
683
902
751
702
698
726
715
688
698
468
682
668
859
743
337
833
491
779
778
418
851
711
792
474
539
697
629
640
288
512
569
788
612
428
793
658
746
556
442
896
945
605
662
725
796
514
792
937
676
764
378
931
503
768
385
674
597
724
625
552
694
677
232
587
878
749
668
894
840
637
657
692
752
676
729
475
776
610
742
775
830
584
825
638
719
611
881
562
684
809
739
644
650
678
553
707
900
864
859
862
834
793
875
692
1009
723
605
677
862
789
489
794
802
823
828
614
649
613
775
528
608
660
703
733
821
764
501
404
737
646
665
941
882
651
289
755
615
596
679
747
497
879
778
738
644
687
788
880
594
742
845
892
639
697
732
545
574
537
533
737
684
736
730
815
770
812
593
699
820
630
809
668
592
661
796
787
882
736
621
727
518
898
740
539
850
917
611
687
655
790
583
724
954
674
902
640
891
720
629
539
626
541
795
578
791
727
710
738
734
680
681
423
944
896
742
431
792
429
795
606
604
629
750
580
656
722
651
753
631
700
801
493
790
534
319
767
535
686
506
500
808
843
892
465
813
748
826
523
748
618
833
982
801
718
688
526
1001
805
721
480
485
648
677
595
779
621
586
699
685
719
898
839
589
839
511
779
915
706
678
831
441
841
958
565
440
727
821
757
669
820
588
947
375
733
898
616
581
701
795
664
493
897
476
702
765
644
464
702
473
631
667
828
738
890
744
610
851
772
671
637
427
766
727
747
573
673
567
711
362
512
561
676
722
795
422
590
718
481
758
615
670
612
839
938
837
562
700
680
870
693
677
573
619
759
910
613
557
738
966
744
735
826
608
831
571
675
736
948
826
483
722
472
719
794
592
677
787
619
701
646
726
775
791
808
591
707
500
893
893
752
644
479
521
414
509
587
342
789
752
895
762
760
683
813
717
834
697
630
755
635
688
791
630
738
753
545
707
770
618
647
730
550
914
839
789
795
703
288
516
608
594
908
785
430
642
732
500
718
889
483
526
571
664
788
879
502
372
703
753
814
735
484
648
686
639
626
649
845
555
707
434
852
557
662
767
755
623
906
435
684
912
515
682
867
821
482
628
233
874
692
463
540
924
534
756
670
895
834
568
517
820
689
986
755
555
397
547
790
623
834
607
863
405
660
917
678
694
788
831
747
839
877
859
732
789
810
556
678
613
859
644
749
661
638
735
521
683
801
732
665
730
847
869
680
667
862
781
862
849
668
894
540
562
726
784
874
841
780
777
462
627
790
812
455
565
668
946
426
924
593
910
673
352
670
824
649
880
437
664
775
577
713
552
464
755
508
738
875
608
923
636
826
771
658
762
295
831
902
342
726
880
819
456
652
572
811
485
679
707
722
744
841
607
982
687
907
871
675
773
832
959
625
730
442
547
594
786
247
388
629
486
734
550
545
815
672
824
799
834
765
747
518
875
826
750
823
723
892
669
574
638
667
620
848
642
795
652
565
677
774
635
577
834
477
843
817
683
683
529
795
752
587
864
868
856
829
838
699
673
624
628
508
724
898
765
705
677
799
697
762
585
700
679
454
639
739
691
681
812
709
547
745
691
906
800
578
518
303
137
750
617
585
595
628
650
870
647
470
512
1004
793
655
867
736
643
407
735
862
955
940
754
540
788
624
647
598
595
624
591
903
630
765
487
715
783
789
649
926
733
750
707
769
273
737
633
717
417
756
776
727
706
760
674
777
857
694
980
758
836
548
734
726
809
746
539
211
507
523
576
717
801
852
830
575
595
731
424
500
660
664
989
840
202
939
912
896
818
722
513
755
887
320
586
842
775
764
310
1015
736
898
458
745
606
862
941
885
507
809
787
763
636
769
768
716
534
440
606
721
788
699
865
899
948
796
773
587
867
689
701
691
905
706
326
851
797
850
737
763
928
331
732
528
838
923
683
868
397
416
812
658
970
561
947
501
799
393
816
560
931
678
682
543
594
822
631
646
94
940
491
469
122
707
844
452
661
750
686
884
684
635
667
730
657
518
785
721
777
217
810
778
667
676
802
829
513
877
756
894
944
811
552
782
829
831
648
843
825
654
757
789
836
651
605
693
606
628
752
578
664
680
577
907
780
548
572
621
829
94
859
813
254
940
641
678
493
826
792
699
586
858
671
793
932
749
282
791
314
810
690
852
889
752
636
701
857
738
654
812
827
701
816
795
457
753
695
601
893
594
853
613
813
699
682
481
588
265
765
735
852
914
761
699
0
685
652
720
699
641
774
762
743
766
799
493
809
676
568
545
737
798
680
775
708
749
629
696
898
801
317
666
632
858
834
981
752
553
748
541
713
823
410
774
696
628
701
699
642
385
731
786
810
755
673
596
750
872
697
700
745
616
728
661
322
589
886
733
686
738
731
770
995
894
804
744
587
200
617
594
724
736
811
593
539
557
704
747
617
751
698
617
854
537
353
800
648
718
734
729
768
551
785
835
629
699
365
757
716
699
667
758
622
561
676
686
781
659
741
617
954
598
803
724
812
324
534
690
739
718
194
753
855
653
853
762
872
724
822
835
379
623
608
550
559
590
935
552
717
567
573
907
455
582
707
750
726
790
688
686
731
721
728
854
895
657
678
809
507
542
700
641
815
939
802
250
495
831
771
870
757
720
751
788
681
596
615
662
976
734
389
500
523
504
740
529
395
696
628
456
735
707
542
856
708
754
713
863
708
872
761
550
709
541
756
805
634
1016
338
432
698
761
818
699
696
699
735
561
802
528
759
762
607
674
776
602
687
568
805
346
878
552
642
620
790
817
191
958
806
783
837
720
553
652
771
801
790
615
812
821
490
685
641
608
982
791
652
709
660
803
548
624
667
431
849
775
783
539
668
680
728
860
571
810
955
944
817
769
682
610
1000
479
691
851
738
863
646
955
786
978
751
829
593
817
659
617
608
827
773
863
785
871
581
704
726
840
763
273
698
644
850
753
739
806
737
540
732
573
660
698
662
595
755
699
636
766
646
752
670
872
800
832
727
756
687
695
763
654
520
378
948
654
722
707
909
779
762
687
883
561
667
538
411
456
692
930
787
898
542
811
701
820
594
795
596
952
822
961
433
498
720
819
933
598
588
824
734
784
826
630
813
827
906
436
748
445
640
881
758
494
572
633
831
724
629
621
715
857
944
870
593
839
831
686
534
513
511
665
882
792
818
594
573
678
849
537
620
747
582
589
674
677
758
649
505
818
638
539
842
784
504
743
832
577
674
849
711
766
500
528
722
609
679
604
684
669
796
900
843
966
463
819
559
636
409
829
677
879
805
860
935
638
760
659
779
306
854
759
702
669
311
538
565
769
873
834
491
491
882
754
696
525
762
527
575
877
848
953
754
532
361
746
707
744
655
805
677
524
686
810
659
586
773
733
480
811
762
906
896
695
850
962
931
455
590
780
823
646
645
760
789
570
760
809
786
677
744
788
620
780
755
760
668
620
614
865
843
590
657
924
868
551
791
903
830
610
838
646
621
570
621
750
551
578
672
558
881
748
448
640
597
687
775
756
824
796
639
814
834
770
525
565
945
949
628
841
496
782
502
822
443
989
628
872
745
760
740
540
738
915
733
683
711
480
823
805
654
777
741
787
616
798
618
914
596
810
654
764
790
820
840
887
549
498
696
943
607
609
614
594
775
800
488
664
749
595
597
871
654
671
713
811
920
766
742
455
807
767
744
676
573
807
977
777
926
766
665
791
931
746
745
819
380
788
907
966
697
709
705
658
787
807
721
725
747
840
773
896
732
663
713
808
743
549
477
711
990
755
666
797
594
718
793
531
965
488
756
765
539
509
936
742
468
749
681
635
779
727
397
173
758
716
752
667
509
634
869
865
836
688
700
747
809
883
752
655
784
600
713
833
796
546
531
806
270
553
774
839
603
826
904
590
492
436
582
385
611
860
589
451
768
697
940
895
722
722
856
833
462
90
615
750
679
507
690
619
740
778
288
473
837
794
915
628
825
606
719
549
839
844
790
595
913
647
812
869
613
735
807
665
765
899
953
711
775
867
791
432
528
659
844
578
752
408
506
400
655
417
943
470
836
740
534
610
760
769
570
722
709
785
959
596
643
661
655
698
653
597
744
987
459
895
535
894
701
473
488
765
783
916
749
963
918
654
806
666
620
660
184
996
683
951
630
571
876
856
485
737
564
828
866
647
775
785
631
577
482
543
699
703
663
788
726
581
653
534
759
939
521
706
599
792
768
832
578
910
706
793
696
938
557
494
800
485
823
548
824
749
594
680
574
733
674
516
534
879
754
854
900
770
829
656
647
870
734
795
733
708
841
638
546
845
657
810
531
776
850
643
644
814
743
556
887
799
553
773
734
638
666
796
568
587
820
747
645
550
382
663
747
742
683
442
621
695
642
776
709
762
803
760
399
515
871
706
827
844
647
721
788
749
852
858
958
741
830
867
684
765
854
831
437
649
879
856
728
677
878
786
596
655
948
726
510
786
826
840
681
539
634
747
557
994
723
727
893
621
792
438
744
531
635
784
867
876
764
625
717
747
483
5
819
713
676
524
840
700
876
670
558
953
493
536
753
438
573
762
757
388
574
735
809
395
797
713
922
669
951
781
632
719
836
664
662
629
503
696
718
497
909
688
698
475
513
876
876
630
843
640
545
552
523
541
922
541
766
1012
597
851
688
715
841
722
721
694
787
684
972
531
750
746
685
552
271
707
675
653
542
750
481
765
569
694
892
782
687
756
273
665
698
745
870
970
929
460
747
608
651
890
945
706
573
498
755
763
655
779
550
669
673
775
703
741
748
765
683
713
514
669
801
731
790
696
803
611
639
949
495
460
721
484
478
637
623
996
800
696
691
691
644
591
773
990
788
693
873
704
538
708
584
781
613
661
738
591
741
648
598
856
599
762
606
791
672
728
516
583
862
572
494
521
816
649
679
835
839
844
579
779
832
678
684
476
592
719
607
742
855
808
570
584
687
583
680
705
780
592
685
811
699
685
834
832
662
668
301
728
598
896
524
733
798
583
733
821
935
711
710
577
751
773
716
690
653
559
790
782
590
718
551
520
695
918
396
796
703
436
684
764
599
897
662
979
713
844
481
490
422
550
621
815
525
535
727
737
577
833
928
686
630
724
887
689
767
539
685
629
750
818
515
781
701
840
874
585
856
282
938
739
793
629
692
685
1016
1014
876
734
200
705
697
461
511
419
184
907
941
785
788
605
917
790
505
528
716
916
572
820
692
541
539
614
540
748
615
635
721
590
930
576
726
809
851
896
804
566
767
693
700
622
616
707
678
576
573
760
806
826
652
851
627
658
834
527
712
716
595
910
573
582
876
713
367
702
644
859
731
669
694
590
664
479
501
932
890
667
800
613
685
738
783
907
741
822
454
761
725
555
755
864
797
703
693
898
575
858
775
239
776
718
679
806
663
677
802
719
776
861
826
898
535
800
927
792
578
217
488
381
728
640
607
593
689
855
695
673
654
767
634
556
708
843
500
792
625
940
977
788
978
449
646
298
602
675
809
571
945
771
5
855
837
572
453
867
469
754
690
859
697
671
773
668
735
547
804
479
649
815
425
763
728
746
695
635
759
719
539
620
829
887
847
670
888
841
706
654
713
702
975
872
593
600
836
696
548
423
750
491
877
703
925
870
838
687
875
794
826
703
681
576
436
598
761
808
776
694
605
627
811
596
900
416
775
365
570
406
856
345
838
560
733
641
648
772
625
812
588
588
642
590
691
844
813
787
655
409
785
736
411
810
986
941
815
775
793
786
1001
614
724
473
791
883
819
827
867
859
894
660
869
974
767
835
700
762
548
634
684
687
733
695
652
921
813
647
725
447
629
811
619
847
436
773
572
502
857
492
231
701
619
591
532
466
598
736
874
842
558
670
811
650
883
620
875
628
776
481
688
607
656
959
769
652
808
583
814
729
649
649
767
644
774
788
785
681
791
821
736
620
563
718
700
641
740
944
713
254
732
713
769
810
382
741
740
710
705
765
621
678
432
821
955
748
575
181
751
618
721
680
746
888
706
668
734
508
843
443
677
618
679
466
835
757
587
719
975
448
497
726
755
505
793
674
733
751
264
555
576
861
679
623
507
846
833
424
923
706
696
731
935
528
822
589
563
725
732
695
690
863
580
215
699
788
942
636
508
721
544
697
643
923
250
598
895
791
593
804
825
607
916
706
756
737
636
819
853
599
572
393
765
828
662
400
944
760
371
746
757
799
836
736
828
615
522
818
429
579
661
509
798
902
607
657
709
764
786
819
637
845
716
770
867
657
746
368
684
597
830
773
844
574
772
874
350
758
696
702
560
632
563
830
668
907
950
549
738
707
714
789
665
653
667
875
675
638
923
740
717
782
816
699
878
753
852
462
381
501
542
575
712
579
728
773
801
540
854
788
488
958
574
851
833
840
662
474
659
806
798
859
903
657
712
693
677
706
853
829
672
711
550
334
662
781
673
666
651
761
716
543
483
711
797
588
787
698
606
773
722
686
844
797
740
544
822
535
1012
801
707
736
636
717
766
488
379
553
374
703
780
862
713
898
708
606
397
734
245
653
628
869
562
631
837
704
607
723
900
726
696
822
685
692
912
683
742
786
764
827
915
644
777
939
770
808
918
479
608
215
497
547
614
670
725
546
977
623
649
746
657
806
932
614
679
599
618
692
669
810
592
823
691
485
722
847
511
716
755
689
787
715
751
793
553
669
777
621
865
632
632
663
710
496
806
402
759
858
672
983
601
607
691
609
682
650
607
834
718
529
765
836
980
529
662
725
497
827
854
739
778
902
870
675
762
124
841
767
915
834
620
559
798
775
681
643
627
833
671
873
847
760
770
672
904
833
644
945
907
774
422
785
851
896
850
619
572
825
743
777
729
706
825
687
706
490
827
604
655
471
792
237
467
218
556
831
804
748
350
770
851
817
139
821
908
878
783
872
888
730
794
878
756
836
701
837
614
587
976
773
713
909
739
647
799
312
884
949
681
944
769
557
640
630
636
430
804
919
843
715
755
780
705
803
562
379
651
757
540
650
681
670
540
757
813
0
834
793
753
604
756
661
407
877
817
697
830
521
245
709
740
676
704
601
795
717
653
839
749
841
757
567
861
742
715
634
758
832
859
678
758
773
598
652
755
829
666
684
449
549
660
702
584
845
899
576
808
630
826
612
598
630
447
790
791
967
709
801
782
702
804
685
371
544
676
866
870
941
731
534
651
712
606
865
805
805
667
679
711
634
509
916
603
700
672
730
683
683
600
401
291
927
565
627
590
841
979
739
856
816
647
688
549
561
947
608
92
619
821
523
803
688
747
707
769
461
687
880
707
817
753
831
692
679
894
455
897
500
876
649
652
617
589
600
662
616
656
658
506
856
724
758
637
784
589
951
787
661
718
657
650
722
903
927
758
798
668
752
604
468
862
703
831
846
897
667
799
641
315
453
943
451
555
554
711
531
760
601
709
796
799
632
625
575
935
852
527
319
844
529
847
684
614
796
736
661
757
722
902
743
801
528
735
862
510
522
950
700
722
691
583
720
858
399
737
425
757
817
762
844
698
891
820
530
786
432
890
712
828
750
718
401
794
580
677
523
743
489
800
722
721
877
773
900
848
810
549
811
701
555
798
868
876
704
729
709
834
868
557
969
151
668
639
767
681
761
702
934
646
688
681
697
639
791
810
637
929
348
684
779
886
832
637
618
795
624
758
525
512
618
824
648
872
723
938
773
690
839
697
750
870
751
718
654
873
972
653
960
647
642
589
749
846
653
624
563
767
807
944
674
636
616
825
685
673
745
654
726
750
840
536
639
712
621
592
871
670
805
552
884
693
694
534
513
675
835
671
721
496
737
749
541
523
866
332
520
463
887
717
672
766
446
474
596
623
770
773
651
704
808
725
623
775
595
713
650
827
897
686
605
597
545
452
679
659
583
723
822
689
681
661
702
544
802
472
899
795
751
801
707
507
545
697
719
618
772
441
578
624
405
769
875
460
844
825
834
898
606
716
700
771
726
298
431
783
610
719
808
498
700
526
811
833
840
577
751
878
644
732
751
588
684
793
583
797
983
844
518
605
861
624
826
810
700
731
807
534
641
517
417
568
823
756
669
546
774
622
863
575
884
932
664
428
711
689
746
766
672
591
625
789
932
808
479
861
784
808
751
761
793
834
497
749
887
799
666
891
892
753
805
429
532
582
603
812
476
962
688
599
784
574
712
833
591
399
349
696
920
553
915
760
826
813
856
739
668
416
948
755
690
730
645
646
478
730
725
570
722
781
678
719
709
786
975
506
720
533
359
762
622
610
657
874
522
754
793
684
867
648
906
452
710
745
818
896
669
779
583
563
632
781
858
948
585
820
875
722
691
933
780
803
827
765
669
850
722
548
377
783
864
797
779
612
788
1014
641
678
823
707
944
896
644
569
835
436
600
744
850
608
703
824
763
788
610
577
719
611
900
801
859
552
592
655
896
594
614
676
761
699
759
813
773
691
513
680
538
602
574
422
632
910
792
863
777
564
808
748
725
700
616
609
771
892
455
747
537
722
509
862
933
595
692
474
839
654
818
758
672
769
833
797
654
560
760
558
718
863
796
556
752
866
580
967
501
742
507
418
633
759
494
754
644
688
730
404
826
262
653
691
781
477
748
638
573
563
761
762
911
639
704
876
715
652
790
501
906
519
663
776
819
870
724
803
853
756
746
676
860
738
476
652
707
606
874
577
773
876
783
493
811
752
753
744
704
514
735
495
768
758
701
684
763
365
540
836
525
859
926
532
763
683
777
679
692
863
665
786
871
649
620
792
600
850
491
818
689
800
922
691
546
678
745
744
579
709
804
612
659
472
665
738
701
737
772
460
680
75
928
697
486
730
817
521
589
831
845
611
573
598
923
970
760
571
787
531
911
300
741
678
888
694
677
688
781
586
489
685
737
790
784
906
576
667
718
576
625
882
580
658
847
797
753
670
841
937
701
783
868
575
600
687
730
1007
678
705
927
516
811
766
299
647
381
777
584
839
677
563
427
603
737
598
874
811
725
992
761
666
458
404
733
789
944
857
824
715
970
766
766
790
677
846
917
893
763
779
741
696
686
594
953
853
849
867
390
655
737
795
675
845
780
635
748
769
712
759
798
701
579
832
680
549
459
812
540
755
842
514
663
1016
639
662
595
679
575
444
727
687
781
682
972
423
776
467
734
923
605
735
900
901
143
746
603
701
563
766
808
803
720
842
726
889
758
735
595
663
713
603
547
886
526
761
620
843
740
720
666
960
714
695
583
673
668
782
638
794
612
757
744
822
837
646
734
776
783
894
925
583
736
682
635
716
625
748
736
682
515
649
675
725
687
544
615
538
777
519
981
881
660
486
650
668
561
736
473
608
777
425
788
933
743
625
898
688
653
819
847
750
405
735
718
833
399
506
414
795
668
696
628
537
527
634
690
762
869
828
812
639
847
930
640
680
776
705
544
864
769
898
708
668
921
573
672
742
608
667
405
870
830
528
901
868
680
759
814
928
719
528
469
382
507
706
846
778
504
944
818
709
702
778
795
530
699
878
631
755
790
401
510
935
495
885
738
867
786
727
735
722
772
739
583
545
561
517
586
437
509
717
941
688
703
191
847
910
815
750
890
603
128
862
750
655
832
790
515
514
894
800
720
828
961
665
737
818
747
938
674
749
774
608
643
731
834
676
628
904
688
503
534
594
536
737
657
816
791
998
768
510
546
822
624
305
787
857
655
563
582
748
938
618
428
471
697
719
716
681
914
759
761
894
650
730
475
677
0
531
680
915
641
872
612
736
606
645
758
749
622
468
685
654
834
689
801
451
757
678
903
683
791
906
519
827
807
708
571
827
780
389
913
841
732
618
662
784
759
624
686
797
991
464
815
889
745
615
377
719
492
786
781
844
661
865
611
716
898
620
656
790
718
915
671
669
494
718
799
821
828
788
723
657
678
759
747
511
899
823
593
723
743
791
736
754
691
741
721
939
772
681
902
369
649
785
597
704
900
952
799
856
763
574
845
633
657
676
503
636
774
683
527
611
649
740
769
837
937
679
756
673
601
537
754
956
659
768
737
783
699
712
570
363
632
768
481
569
606
478
548
554
901
747
653
766
446
806
676
599
824
562
802
787
824
812
644
756
482
640
667
677
548
824
685
589
1009
631
566
722
655
659
554
924
763
1007
484
730
727
488
888
692
837
845
308
753
304
621
995
714
434
861
898
590
668
781
856
431
793
699
519
717
730
834
628
664
560
702
780
869
450
880
826
554
419
664
697
737
740
657
645
564
570
566
850
553
582
724
841
518
719
689
342
303
747
651
618
833
721
523
686
819
606
768
655
485
813
794
668
538
725
811
599
253
638
728
529
637
578
716
792
696
523
796
689
779
477
843
848
672
798
850
944
835
573
695
945
562
710
701
813
746
612
951
769
632
944
788
792
823
729
741
712
684
1004
694
718
722
600
729
804
957
773
490
712
588
745
723
565
646
542
540
818
592
600
733
826
758
801
838
729
328
842
728
802
749
624
739
795
925
897
1004
324
395
506
724
626
769
838
639
945
793
706
573
633
731
815
625
709
582
848
834
468
701
686
685
858
778
733
510
790
788
877
461
564
661
683
774
816
929
677
909
746
860
639
826
724
716
899
508
711
914
691
455
898
754
698
754
681
610
734
722
662
770
720
757
687
920
785
883
782
620
719
785
809
869
832
722
797
965
752
986
761
682
625
755
721
806
439
425
713
874
834
742
706
787
656
551
865
610
920
764
739
626
696
683
753
715
792
610
763
739
671
501
632
888
685
678
797
733
758
732
734
739
273
552
634
660
733
843
702
557
842
819
545
730
745
592
643
704
795
647
336
843
812
845
842
978
804
811
519
906
920
450
559
585
299
512
686
511
782
697
746
857
657
579
851
481
739
738
767
846
840
485
875
808
661
773
687
630
893
614
709
682
744
838
772
651
682
854
885
593
726
777
410
601
653
546
749
450
770
572
223
629
699
793
781
699
696
690
586
722
625
695
818
710
788
745
245
703
795
656
932
691
655
900
656
783
955
696
579
559
767
684
681
803
718
614
800
780
704
734
452
0
740
489
72
702
444
832
833
966
930
853
723
604
725
414
636
764
490
823
538
711
485
752
795
745
839
704
829
767
783
809
679
750
744
786
813
540
929
664
954
761
639
645
825
640
494
721
459
576
87
762
541
752
407
911
734
455
893
868
619
801
794
854
703
682
664
784
306
726
879
795
732
901
590
550
729
849
871
837
593
693
829
925
725
804
737
808
645
820
688
792
672
826
633
694
648
778
722
585
869
891
833
855
884
671
833
741
648
690
768
812
627
694
807
724
859
822
758
447
660
729
540
644
758
691
401
612
717
897
150
812
643
506
631
788
795
518
831
655
824
980
771
789
882
851
541
850
715
317
868
719
857
831
655
597
716
598
540
792
941
730
749
691
687
526
649
785
778
530
615
627
701
416
722
648
393
844
730
579
610
813
745
581
711
594
572
950
900
842
674
763
852
634
600
597
785
930
759
904
651
636
610
708
782
780
754
629
699
810
790
446
709
745
792
878
719
804
758
817
410
557
748
842
791
458
729
749
397
614
682
365
682
612
617
772
586
805
639
404
973
568
571
847
721
586
688
0
511
611
417
760
846
760
983
323
949
492
441
795
740
732
392
629
752
619
626
594
557
653
634
563
650
686
798
754
858
771
595
783
651
653
677
546
398
713
612
830
809
613
815
934
473
562
555
745
889
719
849
568
661
880
854
565
718
913
686
946
654
750
749
565
877
758
402
642
732
742
787
831
597
757
770
907
316
757
794
773
864
705
665
646
688
866
401
804
467
528
724
875
818
720
712
637
885
782
725
258
925
359
811
730
448
935
697
741
649
773
765
760
498
907
772
434
576
716
658
678
720
457
292
750
677
612
431
462
342
876
740
818
926
838
704
755
509
473
773
636
601
831
734
470
553
530
580
653
521
730
808
923
343
576
566
751
841
666
975
497
823
858
718
687
534
657
804
774
950
870
774
730
811
783
778
807
759
874
657
619
766
740
748
800
934
558
479
905
996
748
650
670
947
666
659
761
602
488
712
166
658
570
697
864
521
739
696
128
582
719
286
690
827
782
763
854
934
535
918
814
812
398
581
743
378
805
778
869
639
848
396
403
632
578
702
205
578
811
791
663
797
737
806
963
704
700
750
480
653
816
726
826
661
937
733
767
901
719
840
918
829
746
864
591
887
815
700
697
576
917
533
743
632
692
697
957
740
858
616
960
590
634
620
644
484
669
690
740
673
686
885
799
622
329
636
764
531
597
762
462
878
780
685
491
650
752
492
783
726
977
857
681
396
444
506
615
607
779
862
569
688
722
573
822
801
406
620
798
862
745
774
737
535
668
602
557
548
385
578
876
586
776
515
325
568
645
710
348
718
522
801
740
619
669
604
776
582
647
382
931
643
704
622
866
624
684
842
836
791
842
342
856
515
900
894
385
809
350
596
704
637
615
313
831
558
719
767
790
786
765
671
566
932
682
395
606
596
641
586
819
751
759
767
841
791
750
704
816
741
833
390
496
762
777
571
298
519
653
792
776
793
783
661
693
788
782
638
853
738
860
919
471
931
756
614
569
551
743
630
869
621
571
845
885
833
515
792
588
871
758
905
801
747
380
790
720
739
697
778
436
783
301
770
856
735
514
803
586
626
988
309
737
709
704
574
694
720
905
577
521
869
692
654
854
834
718
764
814
657
543
808
763
820
505
684
473
367
722
843
628
559
761
685
771
532
375
764
722
692
824
630
756
599
646
349
393
583
589
896
734
796
677
811
802
646
287
698
569
583
732
740
637
741
624
816
652
801
551
765
816
865
530
566
731
632
594
694
915
816
602
712
685
415
689
805
967
875
861
291
594
722
805
556
550
880
553
732
534
746
813
648
723
633
631
841
856
547
731
749
811
696
904
883
526
797
761
871
921
645
624
600
881
746
523
596
534
830
640
811
773
731
895
868
821
767
694
543
622
849
730
534
802
868
167
733
747
539
749
729
709
704
502
970
706
763
783
821
862
743
763
236
665
801
688
425
601
813
547
934
709
616
689
908
934
667
760
773
850
773
870
851
889
760
679
903
719
742
882
700
754
779
598
594
702
723
739
308
711
787
697
862
865
932
377
706
691
827
885
717
663
850
762
576
599
258
595
580
840
565
927
722
768
668
801
822
775
740
564
676
781
655
815
715
737
760
704
882
680
539
588
788
729
670
608
632
697
698
769
738
685
736
786
974
887
723
880
760
727
642
579
807
515
893
762
802
900
778
817
685
547
789
917
928
648
847
800
785
748
776
697
810
531
609
697
642
800
797
563
661
706
909
477
598
710
655
653
455
463
672
654
544
309
395
641
811
854
880
733
735
699
625
830
649
548
760
646
890
783
405
820
559
655
671
577
938
854
797
748
791
521
877
686
605
572
595
684
453
816
787
697
792
664
772
664
746
739
679
753
443
755
893
536
722
563
588
529
850
865
928
764
661
478
706
805
646
570
567
690
629
800
482
315
708
782
707
545
533
507
824
630
663
818
835
643
659
790
655
651
826
808
688
293
824
850
885
643
870
863
641
487
612
482
974
926
468
712
783
613
655
699
738
679
692
732
804
870
774
772
542
825
760
802
928
774
404
967
608
891
800
760
633
707
679
417
682
933
795
426
590
802
735
763
842
771
690
866
762
778
943
740
574
455
698
702
431
582
829
780
757
794
777
620
599
598
780
460
725
708
707
491
609
650
915
796
745
794
778
719
807
627
350
787
659
712
533
614
812
374
626
143
774
706
701
683
727
821
769
805
897
569
593
566
937
695
565
452
763
648
970
819
654
574
716
643
743
458
511
614
858
833
492
674
605
866
402
883
886
505
870
971
541
691
553
709
502
726
789
792
586
633
783
723
815
713
730
242
718
856
857
758
420
935
787
697
842
783
628
816
498
954
923
785
675
324
608
785
610
809
658
947
474
747
732
652
526
954
587
669
762
750
980
878
671
756
717
209
575
776
814
672
687
873
756
703
666
830
729
677
486
381
415
679
910
424
753
888
839
735
778
971
811
750
435
687
886
764
945
713
715
768
826
799
841
608
632
614
844
617
715
133
816
596
676
886
595
621
779
652
805
761
600
828
671
536
627
468
506
737
461
546
840
668
951
716
718
724
611
566
732
715
782
840
810
746
662
900
653
773
734
715
809
761
873
760
496
913
872
942
661
702
475
315
675
802
685
595
711
0
742
491
837
646
535
568
806
392
865
731
451
886
658
883
679
767
275
853
663
694
668
708
801
582
768
738
478
691
904
664
854
717
739
745
748
528
843
823
691
711
839
797
723
646
731
740
526
596
586
594
581
642
547
623
303
610
395
675
784
660
811
614
688
895
479
748
700
863
788
906
715
565
883
884
678
675
480
791
576
506
441
632
760
717
753
661
832
641
547
619
623
679
791
542
499
678
654
696
589
661
568
735
696
764
717
753
795
696
722
640
869
524
635
829
654
738
712
982
500
481
594
914
681
818
447
678
838
690
650
749
868
830
765
788
729
653
742
865
478
646
417
431
706
851
594
695
582
738
665
708
721
603
789
569
721
872
747
797
760
657
612
778
855
774
571
749
839
638
782
723
926
784
524
669
518
483
543
899
651
889
846
410
889
703
780
979
691
719
775
685
963
747
791
696
829
926
697
607
706
648
707
888
270
835
640
731
932
820
527
853
612
667
916
838
519
477
701
663
749
729
800
786
874
819
784
708
798
582
664
631
766
685
708
686
801
820
896
777
930
543
850
737
360
695
806
761
618
528
788
706
660
747
629
766
699
719
662
838
606
557
509
661
904
922
633
898
612
833
665
832
625
253
628
699
868
643
729
740
731
598
717
845
634
679
933
619
473
784
638
506
598
678
642
750
870
713
308
514
983
628
861
865
213
709
830
729
771
255
703
824
781
768
768
834
462
390
719
699
869
654
676
672
869
803
758
491
704
724
820
747
721
505
721
631
607
752
861
654
683
726
683
832
671
552
472
984
421
837
744
825
753
567
519
715
727
662
596
800
640
527
778
838
674
649
650
502
472
873
556
779
680
816
377
514
658
668
596
816
691
575
815
687
997
989
735
736
868
772
541
675
672
4
888
769
920
727
785
879
709
694
694
217
818
745
284
668
763
682
474
549
897
636
869
657
376
840
799
606
747
480
345
710
446
671
1000
796
823
832
865
686
710
630
895
534
600
477
712
844
962
673
765
554
568
499
723
757
672
717
720
607
816
738
869
594
438
731
596
582
645
750
478
735
305
444
791
928
771
755
510
596
566
652
798
876
628
795
937
930
668
780
956
944
670
507
832
479
771
765
615
771
820
828
727
805
513
820
829
761
585
498
650
834
527
559
194
559
557
512
624
609
873
608
760
738
780
328
474
834
754
779
711
750
768
790
572
556
782
606
870
675
730
732
454
389
855
559
561
937
822
641
766
822
850
703
817
776
860
859
652
440
719
544
850
774
305
722
683
659
734
756
722
516
643
948
797
961
640
882
800
886
640
674
804
734
519
571
958
815
828
599
768
817
764
738
580
676
770
728
801
780
922
526
790
861
804
647
813
775
723
665
762
494
679
932
801
725
743
682
605
751
872
703
549
645
854
808
789
629
705
804
657
925
817
615
443
719
630
774
490
647
610
754
657
678
694
198
810
736
829
744
630
676
472
243
791
737
927
645
871
808
813
621
909
806
643
618
653
734
758
687
638
660
883
724
735
706
826
726
605
896
856
832
861
659
741
980
443
915
922
621
835
475
730
633
594
697
698
753
675
743
714
296
725
595
759
595
746
826
765
887
725
737
645
768
560
623
547
619
675
611
901
735
795
684
781
871
601
576
725
710
744
411
893
846
838
711
869
596
608
678
823
625
548
662
796
737
745
394
810
754
476
459
746
766
924
799
681
630
676
507
701
725
641
954
706
642
757
356
654
622
946
617
695
440
644
541
555
788
834
726
807
774
481
892
614
844
958
643
938
799
660
685
649
645
481
424
770
796
766
566
767
839
665
727
919
586
565
369
844
844
697
591
933
339
871
798
808
646
340
749
664
301
782
493
567
856
963
628
886
852
834
824
751
575
847
664
684
575
936
684
673
739
766
459
704
731
491
897
792
718
734
781
566
697
834
489
904
823
678
568
444
812
813
474
864
706
733
752
514
565
585
891
758
816
677
684
861
833
807
755
840
822
747
764
461
680
654
654
799
535
962
699
712
676
563
687
749
586
919
670
705
654
723
614
758
666
809
562
625
573
625
785
716
489
675
706
730
564
878
763
703
941
760
661
573
660
679
757
650
768
766
817
743
553
701
676
929
503
840
622
753
746
757
659
664
827
752
688
879
679
732
905
648
778
854
654
703
863
631
666
900
680
678
754
902
612
599
810
708
915
375
705
672
560
707
779
643
749
846
684
657
469
697
457
659
563
975
849
644
635
736
510
640
775
782
647
630
643
880
742
789
685
682
782
442
706
536
607
389
303
840
595
767
844
639
392
731
803
516
626
797
713
876
782
778
626
804
574
568
720
723
589
710
572
1005
462
825
615
894
730
590
642
725
806
610
866
708
783
622
586
623
551
742
381
592
716
693
877
707
764
535
786
746
762
858
629
962
775
752
581
744
604
719
469
695
702
558
616
493
711
736
753
857
402
275
739
483
802
691
853
548
641
830
94
792
634
669
644
702
640
637
407
641
566
767
641
480
545
879
651
806
731
810
548
803
840
849
750
588
309
565
868
715
583
725
547
656
827
625
717
635
635
585
662
554
929
713
912
645
702
780
835
362
556
903
748
661
439
757
747
732
872
777
734
714
759
809
607
687
731
592
698
768
762
560
694
780
595
836
602
841
436
437
813
794
843
795
612
834
713
667
458
833
978
687
694
771
798
620
536
830
572
699
536
937
557
654
880
784
585
505
874
683
731
784
704
647
648
627
678
772
738
871
668
812
778
635
638
706
894
886
727
743
802
700
611
824
403
671
653
721
551
767
808
875
607
842
666
503
584
914
839
869
483
589
667
818
595
582
676
774
817
811
600
805
654
676
829
613
921
888
715
813
671
611
573
911
627
700
747
792
733
581
808
554
602
691
909
577
666
869
596
546
600
729
430
403
839
712
978
847
611
692
806
560
754
715
726
662
402
813
837
508
730
823
546
401
804
777
461
624
413
633
828
791
701
875
762
278
875
710
960
936
672
859
770
826
704
606
739
780
767
661
904
615
849
737
686
664
575
745
395
146
745
581
414
803
767
468
842
856
494
772
539
540
751
540
595
663
628
665
612
844
734
561
687
944
949
671
573
293
878
818
542
570
815
916
778
539
773
690
614
721
666
615
876
811
572
535
831
686
611
882
696
667
688
339
775
734
802
752
378
772
638
525
562
807
558
817
762
809
897
690
699
709
842
642
615
798
133
790
967
868
657
623
773
833
327
507
645
703
693
604
756
440
716
629
809
573
596
930
736
453
760
798
555
778
832
606
780
820
499
710
179
926
672
865
562
826
678
795
877
696
737
681
934
776
545
840
762
688
600
848
870
834
582
693
854
726
801
726
759
625
663
884
827
779
950
766
793
915
682
905
761
622
762
725
786
530
838
748
270
647
163
721
804
737
734
746
510
858
707
867
1004
534
779
685
742
596
744
753
746
424
894
793
625
1001
602
686
779
770
791
780
509
740
882
802
646
678
818
719
702
618
346
525
644
612
752
564
634
849
688
850
586
607
606
852
752
616
316
725
786
752
506
706
740
653
758
846
615
781
764
797
550
730
879
267
558
648
595
784
591
786
585
594
550
690
723
826
760
754
783
930
646
500
813
414
731
660
545
806
638
839
688
675
818
706
504
831
574
464
721
857
816
930
726
621
771
635
589
813
627
546
759
831
824
788
656
830
569
901
561
725
891
659
502
675
797
865
418
713
838
745
801
690
685
753
855
563
944
450
659
711
847
566
804
749
740
711
834
667
821
751
523
660
823
701
747
854
726
718
528
538
754
818
637
630
619
729
753
629
814
936
659
1007
635
640
808
776
723
830
750
689
876
648
579
851
589
849
843
901
443
753
522
698
661
542
885
713
546
768
737
743
733
738
424
348
704
550
868
786
671
533
752
623
581
873
659
655
777
738
564
934
920
595
935
610
662
704
634
799
805
798
817
949
896
552
827
860
796
722
795
461
393
665
847
949
930
470
630
817
401
824
854
782
900
930
397
862
659
445
530
721
556
733
707
660
619
516
820
989
683
826
964
766
563
546
494
713
700
765
640
472
788
605
742
838
712
441
766
544
854
520
875
756
589
656
468
743
973
663
849
663
611
628
758
819
821
902
822
770
399
716
688
842
671
650
990
820
725
791
476
218
786
619
634
512
684
570
530
782
880
436
644
646
842
781
695
854
605
787
625
684
581
430
921
592
724
756
773
643
652
653
715
558
658
776
769
721
872
733
674
718
748
747
690
680
518
507
747
557
731
589
628
795
731
588
640
810
904
819
673
734
728
681
626
654
818
533
833
734
783
691
596
736
744
543
741
763
934
653
391
783
911
618
903
672
826
777
631
731
851
795
593
591
852
828
725
723
765
1007
497
746
574
852
620
839
681
704
792
679
830
640
574
790
801
816
540
873
786
850
836
604
786
611
698
688
889
514
660
862
959
619
796
741
608
716
584
342
787
691
632
863
680
899
420
918
612
820
682
802
692
632
546
658
805
912
612
755
694
608
926
798
789
798
787
621
722
794
421
939
653
491
706
867
743
656
767
578
794
650
610
739
837
865
830
641
762
586
639
751
632
606
815
426
718
707
862
913
752
333
500
567
431
754
738
593
730
604
697
616
613
693
600
235
644
897
673
697
405
619
617
339
573
861
824
741
796
693
533
808
583
835
502
545
781
491
639
648
711
640
860
604
815
706
756
735
801
763
508
791
543
627
738
599
679
782
710
642
810
731
544
674
742
737
626
680
847
740
511
746
732
934
792
685
808
652
740
516
675
691
367
601
533
727
755
583
879
737
756
768
795
823
860
823
420
780
586
667
626
736
584
660
864
885
503
759
644
478
793
729
412
648
633
737
693
692
935
652
784
846
717
417
634
902
677
317
435
652
872
692
926
135
770
205
763
754
718
725
712
594
707
915
973
828
707
567
715
707
415
743
818
765
989
754
718
851
805
908
492
707
803
720
707
672
671
747
691
717
909
909
886
668
903
797
795
754
765
758
882
738
697
641
557
847
963
378
675
969
774
403
655
740
956
643
523
850
741
518
612
708
937
736
589
808
545
800
836
779
623
607
843
990
575
729
801
892
771
898
784
655
517
799
722
841
769
770
557
683
815
842
749
853
868
887
848
489
675
752
760
947
454
715
479
648
593
794
721
587
773
572
809
431
630
598
638
865
747
872
555
861
747
649
650
862
573
612
744
678
915
678
739
748
799
457
625
826
817
733
664
783
795
948
954
590
587
436
707
740
617
966
599
419
832
795
811
792
765
584
765
947
542
711
597
733
784
527
751
872
888
671
567
850
546
700
745
609
754
792
632
457
857
582
803
696
843
633
772
671
660
840
887
830
545
572
710
791
809
782
669
718
860
458
671
830
552
1
854
541
584
914
858
763
730
827
399
573
578
786
630
975
603
677
827
703
717
658
254
546
829
505
270
783
989
704
530
926
788
430
727
786
631
704
779
640
853
615
832
823
748
630
702
476
829
760
712
730
646
849
575
644
558
866
747
748
760
880
856
454
565
834
660
735
652
678
553
985
685
640
724
803
974
701
878
596
867
836
657
621
613
729
572
842
638
788
684
846
708
600
714
832
592
705
870
723
691
819
683
529
726
542
923
850
822
691
495
783
883
578
551
830
828
739
736
874
684
840
917
402
737
626
653
728
845
417
914
478
821
738
554
756
521
793
687
828
750
741
893
813
734
475
639
803
945
613
429
1003
658
808
489
528
635
632
552
742
367
437
699
647
645
764
899
656
681
552
690
754
836
873
755
716
891
489
825
902
672
703
649
780
806
656
705
606
601
582
485
667
501
803
840
855
726
632
762
752
639
985
675
588
626
342
883
660
716
787
734
723
488
678
457
500
635
545
848
745
707
855
784
724
347
785
764
674
912
809
841
794
709
855
578
755
783
599
665
712
971
689
848
890
815
774
779
640
676
481
780
661
773
604
832
554
728
602
657
205
433
444
451
633
743
739
893
532
736
906
962
615
796
648
707
807
676
662
735
564
838
488
602
850
723
714
546
199
727
769
928
892
875
785
460
717
435
802
498
927
939
602
644
507
787
758
844
629
932
836
668
848
729
906
870
906
514
767
639
742
717
522
831
621
761
713
606
868
850
823
755
880
848
652
698
747
782
581
687
768
675
715
415
712
705
640
663
837
996
646
837
584
736
760
868
745
456
647
975
767
445
883
856
515
836
773
566
709
568
748
136
542
518
835
576
701
685
645
594
805
694
866
652
717
536
682
568
647
698
448
655
729
628
698
735
821
379
848
638
676
930
575
894
660
539
887
753
648
934
630
826
328
22
688
731
736
653
867
917
732
870
494
757
677
577
732
697
617
822
939
591
559
704
572
56
394
731
651
780
756
775
631
671
629
308
356
646
779
639
655
898
811
720
657
493
732
512
795
589
725
594
759
862
409
759
741
613
630
853
527
890
781
480
312
923
1004
557
973
879
481
838
702
497
845
322
456
804
783
695
978
801
675
742
625
834
368
598
734
460
741
807
794
848
688
638
31
568
686
810
826
883
624
635
619
835
387
376
869
602
514
660
881
575
596
1011
599
560
527
812
723
583
782
745
805
616
758
470
500
979
451
732
824
660
403
382
884
763
701
472
743
619
278
948
546
529
699
895
755
790
666
625
654
523
527
742
584
34
633
746
580
709
846
866
825
933
393
709
903
885
704
590
825
616
788
743
851
642
600
684
684
317
652
656
892
873
738
495
552
633
679
658
589
597
661
556
934
491
664
710
781
845
663
919
565
707
542
824
846
400
687
872
685
769
842
816
740
725
698
838
617
776
802
854
797
547
792
151
628
787
632
648
760
637
792
960
836
754
804
751
616
895
559
844
945
548
729
680
655
649
663
748
679
817
686
762
580
656
641
761
743
915
786
512
705
716
540
775
810
778
388
990
697
851
829
790
869
618
840
675
622
729
633
770
638
752
800
761
679
689
630
847
723
750
770
634
898
680
596
698
449
736
908
853
442
983
599
651
912
632
443
716
396
733
851
897
640
783
418
249
870
844
651
876
915
516
515
750
516
483
686
554
808
746
721
812
940
787
743
445
457
806
769
995
790
448
697
523
896
987
718
753
792
756
842
755
738
822
760
774
854
684
642
810
476
767
784
713
609
623
389
341
668
861
255
602
793
780
616
672
620
856
810
860
754
628
736
773
863
653
90
364
914
512
859
643
701
634
947
914
656
352
678
782
331
838
369
880
783
635
721
895
478
634
561
708
752
725
474
726
384
868
628
533
650
809
793
651
485
423
748
739
685
772
682
664
649
780
827
692
660
754
643
547
680
746
534
634
889
728
722
696
822
366
855
774
595
587
569
754
683
721
687
561
523
798
640
532
658
497
906
698
642
754
726
626
632
622
858
894
600
734
782
699
676
855
760
638
715
795
699
573
810
776
865
646
715
496
684
710
643
835
787
669
811
221
736
701
622
806
793
478
515
710
644
868
817
949
797
679
510
850
821
699
722
709
766
946
783
864
815
662
549
367
671
524
686
688
813
613
728
707
479
520
858
726
893
797
707
664
799
733
672
888
953
671
745
772
734
639
891
773
604
425
336
568
787
596
673
724
730
659
319
504
542
738
722
489
671
666
708
854
779
685
635
961
928
618
732
820
319
647
563
730
728
892
758
785
429
611
789
806
723
960
837
675
699
800
766
736
612
784
764
972
644
737
534
678
551
755
795
569
784
520
932
815
750
750
789
524
770
570
925
770
679
551
829
796
725
697
645
530
626
515
781
637
842
430
866
869
617
632
695
832
790
771
815
544
866
649
712
568
485
722
885
943
741
476
696
668
630
449
749
738
905
485
824
748
873
685
384
666
849
810
670
676
622
693
673
757
627
726
874
540
750
629
715
710
775
751
732
539
580
804
510
627
464
625
810
645
588
636
585
766
532
443
930
535
724
781
878
414
708
710
639
727
722
825
723
783
320
874
700
759
884
794
659
471
674
757
882
765
820
615
756
814
659
976
726
721
620
771
699
835
565
375
767
730
943
535
650
606
564
620
564
818
847
711
819
942
677
685
793
776
609
754
713
799
751
639
857
551
644
756
625
757
675
601
743
513
917
771
548
823
626
694
774
886
620
708
556
546
715
789
924
815
602
695
616
811
442
835
803
669
643
652
96
815
612
671
736
843
603
855
849
747
683
325
853
607
859
375
643
760
741
562
662
872
857
810
335
774
888
784
871
601
832
818
584
854
612
847
730
396
542
617
677
680
757
771
639
703
555
789
752
627
605
747
684
864
342
484
813
499
972
748
627
727
745
756
815
565
668
220
676
1014
953
866
571
493
707
577
541
922
711
772
793
719
629
895
681
586
767
748
811
864
693
796
714
755
816
722
651
605
743
463
511
718
806
945
770
775
758
924
863
499
928
893
565
798
628
686
594
637
337
487
594
615
760
808
589
669
570
752
786
570
752
700
471
680
776
827
503
743
731
612
756
666
845
744
719
867
695
911
790
789
827
481
732
619
548
849
1002
431
823
762
850
790
514
569
702
763
768
583
799
599
645
671
542
878
747
853
646
630
739
614
599
978
526
903
723
746
729
679
810
734
662
583
464
713
709
539
773
902
772
573
715
682
342
877
820
775
503
758
664
576
715
767
536
644
652
652
743
853
845
711
764
673
735
887
852
713
658
678
672
809
670
498
766
907
500
626
469
758
574
969
660
790
408
895
472
497
693
798
651
908
709
613
822
765
679
653
929
645
899
670
955
675
671
771
569
698
518
839
583
527
560
594
730
649
710
806
545
590
827
748
700
771
806
792
476
415
435
681
743
605
749
746
788
323
469
489
823
585
719
720
866
848
756
546
682
843
671
681
966
689
756
737
764
355
759
874
214
930
622
595
781
783
635
623
759
729
847
597
649
749
775
274
874
542
637
960
867
921
871
787
655
887
616
993
724
259
716
946
650
727
828
534
605
585
393
807
602
678
703
781
942
121
611
648
724
655
609
751
765
505
753
813
389
708
594
878
656
658
768
702
709
751
471
671
487
907
607
737
397
841
831
798
876
578
782
756
594
565
551
583
604
571
888
687
769
677
710
636
570
785
0
725
532
901
918
534
788
633
865
542
852
727
548
7
843
741
668
870
882
815
809
769
592
752
492
679
665
758
746
583
837
586
631
693
870
852
772
780
469
640
690
970
812
783
805
790
513
502
790
988
852
609
741
711
816
742
765
793
773
753
707
624
773
725
711
859
656
500
609
787
970
671
589
717
696
847
911
714
762
953
526
845
455
754
446
786
624
616
642
407
761
477
672
735
725
497
665
597
296
712
796
769
800
307
725
811
900
792
787
618
790
494
782
719
750
493
732
893
760
711
972
572
607
583
820
491
608
925
738
889
744
841
822
825
391
696
735
516
623
824
783
501
746
482
720
453
654
751
877
732
865
646
806
949
646
811
512
611
812
562
934
701
877
664
603
691
694
635
781
555
911
850
607
680
289
900
414
896
697
462
742
680
666
613
564
483
820
820
851
503
500
674
805
703
98
557
674
748
841
832
702
749
811
775
512
673
866
599
590
575
866
980
884
615
862
740
842
866
774
849
514
632
782
676
770
556
768
867
619
471
718
727
729
475
887
647
670
454
719
767
895
990
532
687
782
664
568
646
818
712
865
486
910
722
492
289
749
748
780
779
822
778
678
516
579
715
536
559
682
894
683
902
381
644
661
680
540
605
735
717
796
742
639
841
721
859
606
707
744
840
717
649
553
690
722
714
886
825
818
602
439
657
736
676
968
471
731
364
725
829
730
731
651
699
759
634
656
581
681
648
838
794
924
904
802
695
712
907
533
600
466
784
373
704
543
849
848
726
903
826
529
628
647
453
596
514
287
681
616
688
690
844
646
862
792
695
755
669
704
845
620
881
738
558
763
546
648
555
759
689
786
758
686
796
589
956
414
880
630
324
731
769
719
629
739
761
916
638
701
646
600
690
745
531
689
587
732
817
873
819
486
736
713
753
817
616
657
656
533
704
747
778
976
299
404
551
567
584
771
449
765
681
813
641
746
431
818
738
604
556
737
630
642
772
703
733
589
525
812
642
566
656
725
445
657
705
655
832
961
677
615
476
644
939
772
781
470
442
750
910
695
857
717
774
757
564
639
730
608
834
700
740
654
626
702
906
407
804
612
475
649
658
790
651
656
764
707
896
341
530
828
660
654
700
699
653
666
806
715
4
855
810
811
768
696
848
654
713
761
856
872
707
894
252
705
725
775
667
407
559
242
702
832
675
701
831
370
804
824
737
663
701
434
899
514
777
699
737
974
832
595
402
750
887
567
621
699
798
750
762
573
983
731
790
695
679
568
539
561
745
482
805
570
915
729
797
793
891
727
588
834
687
381
547
658
733
673
723
980
614
645
636
531
776
757
733
722
904
792
806
499
885
708
792
653
811
842
451
799
887
674
462
750
730
761
476
814
741
895
621
753
923
724
710
941
595
745
718
769
774
843
681
783
631
767
753
573
826
295
787
691
956
692
665
730
602
726
721
631
924
401
852
785
793
753
713
539
964
722
400
730
641
918
675
762
808
763
823
496
811
700
823
739
827
620
482
688
695
624
817
786
739
647
783
603
813
746
348
578
769
836
471
715
602
832
439
883
744
840
718
714
712
690
769
704
886
865
713
480
500
792
525
732
617
744
642
884
778
852
716
615
771
818
385
441
921
660
870
729
814
686
803
932
723
800
897
772
686
659
773
848
547
706
744
874
682
618
749
805
468
849
742
661
578
950
913
729
784
547
747
728
764
553
576
882
624
665
258
892
597
636
583
616
692
662
590
303
723
792
838
410
684
490
1007
808
677
620
764
738
876
704
717
820
797
770
721
828
554
792
761
786
700
878
779
745
814
894
745
758
683
822
622
924
933
833
297
710
762
603
795
863
558
731
778
700
700
715
516
985
724
727
631
848
690
949
638
950
661
726
590
414
661
456
563
656
651
890
705
983
770
731
587
825
708
894
641
868
683
472
768
815
513
665
789
555
548
712
889
789
837
607
860
721
708
802
898
788
315
736
398
430
622
494
650
974
697
732
761
694
554
747
488
580
630
741
588
716
663
753
706
799
604
765
402
473
578
495
899
699
596
723
909
960
741
709
815
842
878
623
702
815
483
888
501
745
631
729
857
801
794
559
914
930
549
812
928
776
815
662
635
586
508
724
548
949
632
711
858
542
684
667
848
637
711
718
782
749
733
650
739
804
574
805
841
845
688
858
86
758
849
631
808
757
831
830
620
747
986
845
686
848
914
930
940
723
758
779
757
723
780
767
705
974
543
422
785
550
652
630
270
515
786
802
821
726
515
810
752
924
621
1008
917
897
638
409
562
650
786
590
480
758
514
522
828
888
734
488
752
554
425
591
760
720
784
704
829
531
776
640
740
669
668
621
779
552
873
684
743
602
667
737
809
858
855
688
747
668
670
854
503
761
234
647
690
577
781
573
809
699
731
613
650
658
691
793
894
869
7
735
799
495
816
769
927
844
818
702
851
486
617
427
791
266
474
499
676
756
491
814
637
797
750
932
729
606
666
709
704
898
749
816
815
691
389
609
854
902
617
846
715
615
695
1016
462
851
604
616
787
803
624
594
759
859
801
186
801
769
784
682
679
767
726
783
396
774
664
725
852
703
554
597
766
602
888
783
530
821
963
473
396
725
648
871
672
640
735
664
974
712
819
687
654
589
769
942
726
610
398
594
677
771
629
644
435
978
415
740
728
789
598
468
668
428
398
681
850
489
697
898
695
865
625
489
553
674
505
441
580
705
714
792
747
740
744
802
449
861
647
595
472
479
403
742
831
830
747
878
696
869
788
820
686
692
756
618
569
650
679
649
88
790
552
958
782
402
694
624
659
575
873
644
630
766
720
906
876
757
742
682
655
778
841
782
543
834
798
497
666
674
741
935
353
778
453
706
495
875
662
766
779
743
639
704
549
800
745
709
685
628
724
306
813
644
664
769
643
684
691
802
647
804
518
731
491
821
570
272
726
811
671
493
840
521
678
851
768
800
859
723
679
729
641
816
834
795
692
838
954
554
599
718
668
639
690
788
749
732
622
749
813
622
703
552
830
676
694
626
677
636
625
768
755
761
749
845
633
656
902
707
556
830
730
830
653
873
904
768
820
739
643
768
935
653
674
782
665
610
645
468
588
779
508
819
451
917
792
358
680
743
786
866
666
882
710
717
757
716
810
674
784
747
858
644
654
596
576
758
495
837
707
648
740
779
634
482
463
690
624
872
879
721
835
533
581
680
656
635
618
995
749
532
696
406
870
579
522
761
562
878
841
559
752
850
693
700
668
631
525
758
565
801
901
747
685
712
1001
479
785
482
935
483
716
936
594
669
817
458
719
841
802
699
408
860
843
641
625
723
614
775
375
882
530
677
401
893
418
645
623
701
536
694
759
638
701
662
705
568
830
581
754
781
666
854
718
759
838
816
445
831
895
877
669
775
557
656
719
772
641
736
731
741
808
548
857
677
716
514
778
780
626
807
628
677
606
739
693
771
678
811
747
510
489
656
521
881
797
820
532
849
1006
557
679
540
528
633
637
380
697
697
882
834
550
757
741
507
684
547
826
889
602
725
754
478
875
596
741
661
718
878
622
691
758
561
834
771
711
580
949
782
778
753
460
739
588
920
790
543
829
896
693
653
517
852
411
781
702
574
683
597
668
792
793
638
821
894
741
722
681
835
361
678
567
861
674
730
760
235
806
790
950
889
567
655
454
797
603
865
719
795
815
737
702
820
715
757
745
677
505
731
655
380
961
585
768
869
748
502
519
656
763
862
649
770
920
517
492
471
641
341
556
747
819
840
401
865
513
733
431
819
669
314
634
746
623
929
939
962
546
615
947
569
722
766
464
797
527
758
727
843
691
886
686
712
705
726
614
680
700
434
541
591
648
525
719
917
908
780
819
818
599
675
685
653
567
791
688
832
824
711
45
661
816
800
905
707
458
554
718
726
704
752
869
764
805
270
609
87
645
705
788
787
732
505
707
822
557
133
742
225
760
654
781
686
673
719
752
705
808
497
789
652
784
733
915
696
754
807
950
789
657
696
705
830
524
741
585
690
877
596
665
741
701
730
609
261
839
849
842
974
808
424
87
809
625
767
751
365
838
574
899
818
639
881
856
494
791
546
686
679
698
682
639
684
628
683
554
810
727
759
608
946
701
871
848
859
779
684
821
732
751
478
885
684
628
748
729
787
575
781
707
653
620
494
768
728
724
708
803
740
878
755
75
736
560
659
728
456
813
677
539
606
808
548
872
170
748
641
926
766
868
526
520
842
242
276
708
688
461
663
445
774
648
807
792
598
541
764
644
754
701
878
722
583
716
754
792
857
488
818
639
676
797
592
546
682
481
786
862
852
685
812
551
179
835
440
707
620
576
913
506
611
804
598
965
644
621
613
630
876
685
666
653
812
785
569
917
789
639
758
571
937
764
800
749
615
594
744
758
674
875
880
716
570
640
438
670
549
687
969
713
604
940
634
905
693
961
786
569
848
727
874
883
665
908
873
617
701
883
564
946
558
595
790
680
748
625
844
498
672
749
579
756
766
530
561
665
648
502
650
721
601
608
573
760
606
762
752
549
700
607
276
747
707
664
652
105
635
768
708
794
712
792
453
698
796
705
596
862
834
787
615
595
522
521
622
668
945
662
705
813
701
798
655
896
724
610
660
514
763
697
779
720
4
579
1004
485
893
795
828
794
839
352
604
836
692
920
274
795
883
689
735
821
698
518
724
775
709
512
830
952
841
414
901
803
870
582
771
546
679
762
752
825
763
653
520
921
780
687
638
745
811
625
586
651
407
624
725
739
348
873
601
609
734
428
875
939
940
732
741
805
720
694
645
676
375
329
679
769
763
490
738
895
424
804
886
749
712
655
674
687
273
795
705
873
651
734
738
746
912
694
871
721
577
669
763
701
831
871
558
654
755
653
757
522
619
374
306
755
196
762
788
840
576
665
810
662
722
866
714
940
588
905
858
835
797
777
782
740
824
830
722
560
629
602
626
689
555
716
477
812
829
754
679
483
695
473
940
856
918
817
675
564
611
776
756
586
763
720
735
641
687
735
587
515
641
853
619
685
864
870
564
711
704
800
607
762
883
782
799
737
722
646
666
630
809
634
755
341
498
746
768
853
735
510
702
876
521
548
731
789
714
541
795
409
512
839
774
700
490
621
859
200
611
764
722
677
389
716
647
743
699
786
975
816
575
748
743
792
655
571
801
832
795
751
624
795
694
935
751
761
815
871
565
785
707
761
852
685
763
696
676
652
755
776
748
712
769
691
788
756
714
673
756
692
731
679
754
616
905
660
731
922
532
601
738
828
410
705
420
557
674
930
885
890
528
441
700
868
677
847
774
700
526
938
640
629
696
762
926
588
873
923
831
904
798
619
701
796
846
802
707
527
738
707
676
822
752
837
746
511
677
769
762
997
599
739
778
393
757
596
718
749
762
715
420
652
790
684
507
575
723
804
749
720
805
457
657
637
784
822
733
807
547
721
754
716
535
166
454
753
847
954
411
763
454
947
918
856
782
845
798
797
718
963
794
756
802
757
731
669
843
870
682
774
675
750
783
778
604
805
768
762
889
917
707
483
598
850
667
848
664
613
550
694
526
546
801
878
627
852
835
682
613
954
589
638
601
751
637
609
682
809
879
576
735
599
633
760
560
420
687
726
432
630
531
876
559
963
629
921
731
567
508
773
819
947
686
879
466
745
841
734
716
573
695
665
744
749
721
704
417
627
860
730
393
734
807
802
744
694
554
330
727
680
869
699
236
720
720
722
949
519
700
514
516
628
716
797
754
639
558
539
855
701
665
737
484
939
590
675
140
603
897
723
974
653
826
540
807
733
612
706
832
807
894
846
701
882
926
673
817
97
689
809
711
811
562
879
608
787
688
1008
585
720
790
830
664
778
805
493
822
782
904
934
823
849
786
645
654
631
732
694
780
779
722
341
681
616
963
846
737
892
719
779
588
632
747
460
689
763
804
884
803
831
597
905
655
823
210
774
793
730
547
905
571
452
680
671
642
804
521
753
723
606
708
696
720
513
800
713
681
862
368
780
964
564
915
579
540
634
728
532
615
637
686
561
458
959
643
657
705
796
525
741
894
641
749
358
605
603
615
929
869
699
919
893
615
408
835
787
676
687
933
703
752
512
923
602
708
584
801
647
426
655
436
902
754
637
546
773
860
646
778
555
468
654
513
575
856
672
517
266
777
546
839
772
764
686
438
923
660
863
722
887
664
726
434
592
813
745
877
936
726
682
624
915
526
819
634
795
748
509
605
838
709
480
657
498
778
791
341
726
852
535
589
781
552
724
856
743
489
445
624
814
784
726
599
595
685
562
577
448
579
821
911
685
731
709
675
716
735
751
828
394
538
722
756
724
848
995
668
805
817
843
629
773
776
487
619
583
794
740
860
720
442
778
776
836
590
619
640
740
619
839
703
778
582
398
610
713
778
567
670
568
719
691
365
643
599
779
729
502
744
630
663
679
401
802
544
748
696
754
562
706
712
748
518
726
654
714
865
572
773
772
599
794
772
793
745
604
329
756
718
774
779
755
552
686
505
640
649
840
566
821
602
600
716
757
358
472
639
642
712
859
640
879
691
859
424
851
797
517
551
741
669
877
817
414
819
682
830
730
750
645
930
866
441
734
701
956
759
637
473
716
870
869
773
704
685
377
570
381
941
685
681
715
662
874
665
626
759
811
652
704
693
642
626
771
611
631
709
729
387
772
930
491
703
817
645
572
496
858
835
637
716
517
815
636
658
814
443
826
685
664
605
874
790
930
696
612
745
608
672
652
729
685
732
839
434
806
722
830
653
714
739
673
671
540
630
681
460
944
441
578
868
759
212
481
800
487
706
561
558
607
801
890
793
440
772
640
692
786
747
751
496
741
946
731
743
608
628
586
695
905
745
187
757
753
770
673
648
477
669
635
778
813
888
729
723
754
744
743
675
614
710
732
854
874
680
746
651
549
557
732
820
767
845
784
627
829
464
613
608
924
662
783
496
735
515
806
693
910
877
592
563
603
810
863
745
755
578
611
742
744
630
689
816
744
850
373
841
636
715
790
875
591
826
402
510
742
875
940
866
690
859
610
686
678
441
680
679
491
823
721
824
903
971
933
754
795
191
811
595
589
419
524
650
744
898
509
574
620
483
753
681
703
483
497
898
885
824
857
877
289
659
817
549
860
544
722
907
783
685
854
554
725
634
562
579
879
727
787
836
564
772
779
759
618
865
714
666
541
672
889
758
483
0
674
945
661
751
474
788
915
590
834
852
690
695
617
895
823
819
798
597
518
953
641
809
737
906
884
914
722
826
751
780
716
855
642
859
676
665
555
954
607
860
667
710
718
676
707
219
754
884
621
722
772
656
668
592
783
617
697
686
827
800
980
580
395
855
770
619
916
188
313
912
651
609
698
712
632
695
662
550
914
452
359
839
835
783
585
526
735
498
811
667
414
755
491
586
673
558
733
922
668
755
471
843
640
728
349
774
801
676
793
935
932
833
571
597
937
772
403
523
904
632
837
738
618
451
881
445
453
667
969
933
803
788
762
660
760
620
709
786
825
711
721
729
582
475
822
774
466
630
834
95
689
953
276
530
718
663
635
590
805
619
663
700
566
657
555
710
851
646
881
533
475
759
690
899
313
823
945
752
565
12
496
237
677
677
949
871
802
750
742
545
631
790
731
624
540
556
688
709
800
666
394
686
758
737
582
728
831
754
867
832
701
503
691
792
703
689
716
666
764
602
725
958
633
750
664
732
674
928
737
451
910
690
490
825
768
892
607
730
737
562
820
801
731
853
830
573
472
599
531
680
942
624
773
631
594
665
709
588
810
802
783
723
764
808
589
403
712
567
771
446
747
621
808
497
552
683
895
537
855
868
620
599
628
740
550
681
430
919
635
505
711
479
775
569
618
672
817
579
496
601
815
774
878
677
755
417
743
617
911
764
891
696
991
495
727
281
762
619
752
534
405
876
565
688
484
878
657
843
691
538
825
220
912
750
747
723
891
778
775
599
785
681
578
744
712
753
532
714
459
781
794
918
658
790
630
782
599
730
885
859
652
636
680
820
549
895
723
758
645
564
775
677
739
878
845
748
633
793
610
850
837
655
648
641
894
869
867
554
790
986
559
866
604
775
382
769
750
571
822
682
652
658
840
830
816
289
705
819
423
1006
567
913
784
585
590
749
780
603
933
762
809
656
588
799
536
703
701
668
697
667
797
726
769
460
795
943
907
848
619
652
568
707
757
547
682
546
424
606
252
734
789
702
740
898
774
750
770
741
784
549
712
558
753
763
728
680
459
742
751
684
661
806
938
721
462
775
844
833
637
951
468
794
667
715
521
913
526
309
711
778
789
577
609
804
744
877
847
774
757
708
204
406
676
664
869
822
900
749
640
690
573
763
834
830
704
879
451
740
602
255
619
563
408
519
713
807
496
914
668
579
663
775
828
671
708
380
858
711
814
673
625
733
818
917
684
800
655
815
548
644
958
838
722
883
721
690
542
808
255
684
939
354
921
619
758
675
584
634
887
728
592
227
790
612
583
556
711
806
709
611
569
315
692
686
824
667
742
813
892
208
699
683
824
834
748
933
735
641
676
890
752
680
791
798
701
552
887
690
713
699
537
651
810
690
852
727
577
416
593
607
562
662
897
755
732
422
730
466
781
787
764
741
807
778
760
813
671
824
669
818
679
447
672
655
475
839
856
804
645
689
732
738
819
606
808
774
737
820
567
715
748
662
712
854
717
655
713
762
857
840
723
663
613
698
615
804
828
752
622
675
756
771
816
723
632
747
780
844
952
694
799
629
787
726
807
603
603
664
757
661
557
653
783
646
812
598
691
841
789
796
830
636
690
672
462
462
773
539
897
420
729
727
606
960
768
698
583
0
709
609
400
801
449
475
778
686
736
923
506
612
496
647
490
664
724
724
363
764
217
635
876
766
615
958
677
699
622
592
698
880
660
668
704
762
807
663
687
674
718
712
787
853
565
683
562
837
655
424
534
629
163
789
568
769
658
685
767
830
866
890
569
578
817
557
902
704
756
610
624
964
898
814
920
864
827
602
624
681
353
818
795
607
911
614
677
748
763
869
846
413
885
618
790
658
534
620
786
832
702
532
694
918
704
873
617
807
748
662
760
944
834
673
853
588
652
533
786
737
462
511
609
629
495
560
826
780
602
752
626
660
829
631
565
820
784
826
390
800
790
652
623
740
668
748
608
777
746
579
699
764
843
644
612
665
510
589
312
692
749
753
840
797
672
693
668
726
965
668
579
627
456
539
498
799
547
844
644
745
931
7
803
840
632
471
936
459
583
875
791
657
613
654
594
418
849
681
559
768
781
698
525
741
457
737
731
725
629
661
638
972
664
267
602
909
1008
582
841
699
812
939
763
868
663
659
404
787
539
679
663
629
547
683
654
728
602
715
891
728
933
674
642
901
692
625
559
662
563
856
739
821
484
716
715
865
783
877
436
645
705
731
496
961
824
642
830
603
854
493
652
653
324
746
569
761
683
790
497
874
891
655
662
714
973
686
678
790
805
744
771
747
441
655
841
773
633
639
559
696
671
675
762
815
1013
855
734
667
860
642
673
621
851
783
713
621
745
757
833
801
805
758
536
592
734
567
742
841
646
815
637
688
732
717
675
894
876
640
480
506
758
663
891
789
680
699
782
726
729
845
533
761
695
794
685
646
564
638
481
614
505
812
898
746
786
684
810
603
767
589
655
772
905
583
981
713
631
678
661
515
709
690
712
575
589
478
756
742
643
866
715
338
719
531
729
728
812
853
811
743
854
661
417
678
705
589
796
568
690
492
715
561
410
900
612
970
595
924
897
719
660
780
756
152
886
622
894
780
387
697
930
601
648
638
460
758
585
772
812
744
609
763
641
777
677
590
786
774
600
308
489
644
626
872
775
377
715
795
811
961
780
747
471
738
538
768
731
767
765
817
292
763
679
673
783
811
632
977
614
729
833
615
699
679
303
666
770
886
593
748
609
393
746
788
887
587
706
604
631
597
822
729
950
593
762
654
822
898
872
753
732
761
340
773
928
838
808
739
679
719
791
617
608
798
783
451
736
847
639
588
856
855
743
674
608
515
661
422
819
722
766
878
691
541
772
725
501
503
464
909
555
598
623
522
689
627
658
624
649
601
785
421
610
742
730
920
664
624
651
808
633
478
732
857
755
621
504
627
858
730
732
829
816
576
755
697
675
838
626
577
626
727
558
768
624
832
410
806
588
366
642
857
978
711
707
693
800
539
627
493
965
790
614
771
511
583
751
813
786
841
852
810
501
380
766
898
385
815
800
439
746
773
638
686
768
454
791
525
739
573
515
552
903
770
605
431
802
835
770
287
730
627
783
705
682
668
789
407
890
948
651
674
940
392
653
770
254
810
677
808
589
636
739
453
586
405
465
603
922
687
788
689
932
768
740
733
867
859
876
678
892
302
432
671
744
816
729
668
507
519
691
812
901
600
774
628
507
768
874
947
868
595
821
738
804
907
639
614
969
646
124
967
775
466
593
851
244
327
962
913
361
675
911
352
894
784
303
640
757
1004
750
762
665
713
693
623
869
640
816
715
725
955
430
890
375
481
761
780
834
845
662
536
601
776
654
627
655
498
820
647
792
820
583
845
876
811
676
797
682
714
693
613
178
895
676
817
243
789
802
767
722
968
439
806
751
756
697
716
475
767
482
710
895
658
888
575
763
693
485
940
513
593
748
704
806
684
834
795
574
793
802
435
862
932
436
837
731
631
559
727
520
741
715
769
862
695
636
706
850
645
739
680
812
896
605
822
835
546
606
559
948
725
606
715
649
686
614
838
868
873
921
931
567
827
542
707
672
935
594
696
878
746
564
693
787
711
951
550
512
812
806
756
714
606
618
756
730
865
765
779
745
941
746
650
755
681
643
622
742
943
854
965
699
724
661
756
935
741
747
680
783
677
581
481
679
554
548
772
720
87
678
839
598
760
881
753
668
330
706
610
590
764
716
756
692
262
1002
827
650
700
897
621
827
795
743
764
694
651
542
463
826
824
761
668
824
782
627
889
737
972
746
572
385
823
680
666
743
821
877
507
587
776
741
812
835
797
483
605
823
752
691
525
663
640
641
918
404
939
836
830
821
890
829
721
774
769
556
800
617
1000
617
493
489
707
784
753
632
547
641
682
792
713
624
858
494
754
732
930
752
648
487
585
710
865
840
911
696
778
711
871
736
902
581
769
935
446
469
463
768
567
686
900
769
622
594
729
631
583
791
603
546
913
680
749
678
685
882
700
867
302
599
555
853
719
668
717
726
434
739
661
724
908
498
273
540
210
625
952
779
850
875
572
780
595
916
726
731
819
876
755
557
658
668
788
358
741
559
670
733
601
817
174
686
644
506
746
547
497
857
901
391
586
730
752
564
866
944
576
559
705
209
534
757
243
828
800
672
693
649
775
627
567
849
951
548
856
853
670
735
877
705
720
698
402
790
411
791
900
726
583
778
803
718
887
920
552
506
567
815
980
893
706
732
768
617
710
867
659
850
421
716
718
616
805
861
619
553
493
653
716
634
313
732
836
763
700
794
702
839
679
918
717
707
796
613
813
740
739
813
953
703
675
200
731
666
659
653
931
764
948
614
584
785
662
667
620
921
654
607
652
518
678
818
809
938
840
847
692
809
839
815
845
768
966
774
763
810
559
768
681
656
799
506
785
809
577
789
994
857
732
836
704
926
663
741
855
794
606
726
556
736
742
548
658
742
922
841
736
559
554
701
644
367
655
215
611
591
565
607
757
958
599
852
744
652
661
704
644
732
699
735
726
580
783
260
562
733
625
547
653
529
716
428
751
633
412
731
821
758
843
883
650
794
955
749
780
539
761
781
812
509
921
726
824
703
597
665
855
621
657
804
151
491
825
646
471
733
842
800
705
798
659
841
553
978
812
914
815
827
770
640
683
873
745
871
693
266
608
736
810
686
548
927
869
941
767
818
598
485
290
490
539
776
832
426
780
466
726
575
557
657
264
528
799
578
564
866
532
835
616
439
609
825
688
586
755
375
535
458
897
353
661
786
753
669
814
848
644
453
763
668
656
738
579
872
685
534
729
599
396
779
728
739
932
735
787
620
864
632
651
694
842
533
697
780
879
759
526
278
619
946
799
726
814
737
573
824
516
483
829
888
651
850
774
586
797
378
713
602
770
674
850
654
829
781
850
737
729
693
647
712
685
699
700
781
1029
852
879
803
562
738
580
683
866
675
856
700
585
628
777
809
501
622
855
690
748
243
598
475
686
791
525
576
801
542
687
807
689
852
993
418
727
606
592
926
741
764
448
397
743
433
606
775
734
722
759
447
868
653
803
781
906
581
538
753
591
613
693
539
736
862
714
733
773
854
436
544
411
772
638
692
526
1014
557
773
801
880
565
525
625
685
855
687
579
703
682
678
470
545
795
625
820
751
552
744
642
824
583
666
833
536
567
324
927
889
264
916
818
143
774
555
580
480
718
735
745
655
633
426
584
701
754
836
667
574
757
630
668
750
499
888
605
865
691
648
331
924
529
711
752
588
866
601
925
791
509
696
767
616
801
775
935
468
932
756
806
869
879
552
733
760
373
630
709
296
766
930
473
898
654
779
681
737
646
729
436
836
746
993
722
788
681
692
836
815
862
511
895
895
882
676
986
708
747
740
674
585
869
766
758
719
626
810
657
645
774
744
739
873
601
820
568
814
642
729
699
660
491
722
645
807
807
832
406
528
747
779
866
832
799
950
618
498
606
730
778
734
731
859
551
842
660
638
681
757
743
688
773
577
700
468
570
789
738
660
878
776
569
642
888
316
739
849
574
661
680
846
687
898
804
860
778
766
762
773
819
618
705
799
626
890
615
821
910
731
748
780
835
744
534
453
729
1010
423
712
768
665
566
803
572
544
602
648
631
544
553
599
614
477
523
680
628
437
762
809
385
423
471
713
772
0
807
822
843
712
767
588
734
575
651
732
711
671
635
763
838
874
852
844
819
655
543
498
689
548
882
552
653
642
573
729
590
529
810
665
779
887
831
404
869
584
597
715
826
489
552
530
778
559
641
673
347
754
651
540
772
899
794
801
769
675
874
914
879
649
948
668
757
476
586
854
726
608
787
731
668
919
672
702
787
611
952
834
484
771
589
563
543
893
865
621
781
843
750
706
608
455
684
249
711
599
775
769
621
664
800
744
840
911
347
814
807
778
622
595
652
636
406
695
580
695
652
731
599
720
830
914
483
634
806
555
692
865
837
779
578
826
659
793
797
796
650
481
534
710
469
494
576
560
788
700
965
750
379
615
734
567
741
764
802
603
888
423
532
725
718
716
674
789
647
690
734
586
740
752
829
588
449
738
326
853
707
642
687
680
679
984
400
608
703
610
893
514
625
823
653
851
751
663
677
708
746
824
739
404
642
788
759
634
620
472
738
443
797
824
875
915
697
667
699
828
787
886
892
800
859
884
699
600
593
628
581
1007
396
621
830
613
767
487
780
912
671
745
852
594
93
812
800
816
846
849
692
801
414
722
684
893
777
492
248
900
845
388
492
758
912
642
725
730
492
697
931
772
608
747
843
683
838
889
776
560
676
945
924
758
805
940
764
943
579
630
453
647
705
715
720
922
789
763
662
906
632
820
478
696
933
765
816
626
548
662
825
579
718
657
598
457
632
790
789
883
576
732
852
630
675
760
606
937
677
768
869
730
767
785
756
711
677
506
739
794
760
712
666
566
881
752
813
955
717
691
706
829
662
615
740
687
929
788
946
511
735
234
822
909
643
782
449
643
370
543
830
746
799
480
938
711
537
783
514
722
583
862
786
689
756
363
739
773
617
777
580
813
745
564
730
691
719
925
647
824
830
823
675
715
453
515
803
609
666
725
634
763
412
763
891
598
582
498
741
732
765
824
648
740
933
764
717
646
573
976
671
877
744
872
787
585
571
884
903
674
498
580
721
799
763
682
658
754
851
658
541
792
548
546
747
930
400
874
871
680
400
859
708
830
728
752
663
926
874
726
812
823
956
865
820
835
620
708
647
827
291
872
599
400
667
874
588
629
877
728
536
290
811
697
566
684
710
755
912
406
676
785
843
700
744
680
526
713
608
539
637
883
892
786
558
769
757
776
733
680
753
731
335
561
615
753
522
575
830
339
750
792
666
450
494
678
662
559
926
690
708
373
865
835
820
746
850
639
532
822
366
761
820
666
890
719
696
826
677
709
488
782
639
500
745
889
657
731
569
700
551
906
904
685
906
634
815
640
643
646
620
739
701
711
743
859
809
623
931
385
941
660
793
638
408
468
930
613
837
639
765
767
319
634
651
843
821
622
822
488
622
785
964
526
639
661
514
838
756
767
418
766
893
511
908
831
602
687
762
595
692
392
802
670
691
625
641
719
702
570
766
786
890
741
377
824
676
553
621
753
616
606
655
925
650
515
702
470
721
653
677
703
621
997
578
883
326
743
820
733
871
627
704
641
1004
729
834
848
657
678
774
769
728
762
913
549
699
709
843
823
616
855
854
741
576
798
753
631
402
866
898
737
635
448
730
634
933
745
802
812
803
637
723
890
585
737
691
871
418
745
623
940
512
745
859
854
841
785
575
778
753
777
583
865
764
764
243
620
832
451
531
594
727
734
498
629
795
732
814
491
400
688
678
857
711
747
684
629
700
618
754
547
655
673
745
736
864
779
694
660
993
920
789
688
712
751
797
812
523
825
693
671
601
629
901
790
583
515
946
838
701
703
675
639
737
477
627
657
512
451
808
829
576
624
721
636
829
617
631
722
936
727
688
640
710
864
655
671
664
556
514
680
687
707
771
380
394
780
732
881
671
402
829
687
704
821
638
535
520
729
772
750
788
737
697
727
0
884
659
716
743
644
779
936
752
451
678
784
603
906
796
707
847
751
926
557
499
731
592
656
630
939
610
628
842
618
764
867
685
708
423
862
876
859
754
847
213
670
675
613
828
744
682
761
646
696
810
672
691
686
922
680
754
420
813
756
799
591
615
690
385
899
574
638
911
665
685
549
627
819
448
767
714
759
715
893
778
995
659
942
820
716
458
800
759
722
455
819
762
695
894
750
583
725
755
823
744
767
656
793
930
892
960
648
516
460
429
725
366
646
698
585
840
450
552
652
759
661
729
565
698
696
813
847
539
494
570
746
821
526
671
661
687
686
761
405
557
846
827
625
647
810
676
763
902
654
645
510
534
747
673
583
773
570
803
645
740
545
853
599
710
498
795
567
751
464
516
669
757
739
747
830
948
846
579
766
396
482
779
591
853
771
963
786
877
677
401
554
729
803
384
820
537
721
706
495
497
705
299
771
705
647
584
752
765
369
807
693
405
910
669
904
777
889
816
686
312
615
692
534
752
779
876
853
792
732
611
728
642
628
798
542
708
773
880
685
923
897
970
618
747
681
619
534
850
774
773
772
796
587
784
818
889
798
596
510
649
545
790
801
600
312
688
704
647
873
564
738
735
815
896
555
857
461
794
430
614
758
951
818
471
804
910
330
737
772
879
754
456
594
815
428
700
548
806
761
618
478
725
735
863
777
605
584
802
758
905
730
850
671
955
485
772
935
819
638
713
761
756
646
676
839
709
702
759
856
645
618
802
571
690
646
760
703
598
411
407
618
656
672
687
687
520
470
554
749
449
530
932
839
518
791
353
779
731
775
651
788
576
795
658
724
760
901
1014
862
548
577
799
450
713
933
724
964
451
554
764
922
724
672
772
512
701
737
806
680
856
877
714
754
890
881
752
782
816
664
762
784
610
523
614
811
769
688
816
783
663
464
1010
585
744
724
786
669
221
686
823
758
966
683
661
737
533
757
701
931
750
597
611
655
614
527
656
631
683
936
667
769
743
549
791
719
707
935
827
631
788
760
683
948
784
613
751
732
840
588
795
764
819
825
471
366
727
712
673
609
496
565
782
612
776
758
691
605
791
800
686
473
485
693
765
672
945
758
807
919
672
907
873
673
694
722
774
830
660
516
727
836
719
875
917
861
493
789
625
869
829
714
621
315
630
709
895
758
851
611
816
675
675
727
507
724
746
911
682
801
861
692
755
511
772
674
749
500
637
767
779
862
916
796
595
750
671
676
760
686
1001
742
733
619
598
980
831
403
802
971
725
926
677
625
718
606
872
510
529
930
516
689
679
544
803
547
722
652
588
664
506
636
966
817
588
733
498
775
655
915
754
807
490
580
773
63
681
671
771
627
603
958
775
922
739
721
479
865
714
450
737
728
483
407
728
548
866
766
776
839
735
914
522
553
668
719
710
779
652
645
45
997
677
946
699
846
445
701
741
743
721
447
573
539
588
660
805
748
813
691
815
912
544
897
681
687
717
672
700
839
849
591
633
768
572
977
617
726
722
451
578
840
844
585
760
756
842
955
780
675
704
660
805
508
643
580
681
436
810
838
715
491
744
655
727
624
810
557
804
715
510
565
589
606
971
743
494
704
679
531
734
700
477
876
748
814
902
853
786
746
688
748
524
867
687
705
274
688
788
748
896
527
654
760
783
548
767
739
809
664
466
781
926
743
816
790
727
782
501
422
864
786
641
775
746
804
729
804
720
775
899
582
804
493
668
720
832
718
715
659
500
627
600
717
482
878
612
531
738
686
839
880
800
797
522
887
754
926
740
658
593
654
834
678
659
648
890
664
567
317
607
644
768
797
727
657
765
878
814
902
838
738
773
632
791
605
698
474
907
723
758
379
837
638
602
665
699
900
574
632
714
430
795
611
896
859
812
744
659
700
682
836
772
850
375
988
535
965
724
756
762
678
732
846
687
602
713
581
878
681
704
671
795
785
684
796
656
417
660
575
651
511
757
524
515
667
635
614
811
600
757
753
847
512
429
752
696
723
652
624
702
561
615
626
780
709
566
784
713
844
574
693
713
674
799
852
961
648
490
865
611
392
846
613
436
545
752
669
811
847
692
720
1004
845
721
546
807
731
748
776
969
664
913
836
666
633
581
863
948
513
595
875
861
701
687
843
642
719
411
696
586
669
651
747
961
797
840
408
776
844
666
762
476
582
871
493
539
810
755
429
616
761
660
524
636
772
542
726
612
755
720
728
617
635
698
664
873
888
669
810
814
705
856
598
678
618
716
736
701
713
317
743
519
612
825
847
518
656
530
749
662
786
945
529
666
474
732
643
732
317
884
891
747
979
714
738
424
757
621
815
404
866
831
952
621
710
832
735
691
930
871
684
711
769
642
381
536
802
847
775
596
792
753
497
571
347
754
656
718
819
812
701
732
708
841
849
947
851
749
649
558
403
823
260
702
811
948
669
568
645
531
568
680
555
964
538
947
649
698
671
662
729
817
606
865
637
662
511
515
891
559
875
871
723
911
562
797
949
856
679
639
471
787
923
772
581
615
947
659
700
679
365
891
611
657
773
669
625
784
706
813
730
679
861
785
692
599
952
482
816
349
561
901
856
302
601
761
723
780
733
774
517
752
619
991
738
791
506
727
364
371
796
902
821
579
557
636
616
516
716
336
590
879
735
781
728
342
900
472
697
864
784
711
865
707
825
416
923
847
785
771
711
774
899
581
877
592
634
831
677
854
620
412
611
902
638
980
823
617
697
852
912
509
803
653
505
739
769
743
594
597
339
823
845
576
626
558
786
1011
707
463
662
819
699
811
729
891
682
808
811
864
849
241
827
662
710
642
491
773
879
680
719
628
755
776
643
594
847
772
671
824
837
683
847
882
716
887
682
861
831
670
869
310
672
696
506
686
742
653
751
806
710
644
824
797
857
640
671
676
712
640
564
575
631
619
945
697
768
822
642
839
850
598
774
716
806
461
628
432
736
672
796
376
822
581
661
569
747
482
911
704
912
514
824
805
725
822
682
504
947
619
719
620
632
754
831
783
652
928
635
695
315
747
765
434
912
465
668
552
535
431
401
504
726
466
631
628
599
517
648
919
812
713
907
778
759
667
532
807
829
624
753
750
841
922
896
657
673
776
858
611
825
397
559
686
567
637
804
675
798
750
660
740
683
614
791
487
730
657
784
901
648
809
861
561
442
846
714
900
447
688
539
569
781
325
643
517
786
906
829
607
908
762
928
709
890
604
690
566
888
790
692
795
475
886
380
513
605
688
891
533
642
616
566
753
556
677
666
695
587
618
306
680
636
656
377
575
861
792
724
633
696
738
918
685
763
227
761
540
792
809
715
866
850
776
826
781
655
867
882
673
610
689
426
702
714
711
492
585
595
912
670
830
795
778
474
763
661
783
750
789
698
772
595
775
669
715
705
551
927
485
633
856
725
773
823
863
823
521
557
444
732
706
536
638
411
775
715
694
702
719
583
670
628
534
718
681
659
794
747
876
722
747
325
741
841
871
605
692
983
701
848
928
778
795
608
782
808
526
819
671
747
717
749
724
706
942
986
597
643
476
605
485
675
519
623
593
583
837
691
744
793
289
737
912
568
745
774
524
752
414
477
618
701
725
932
598
793
381
760
868
891
775
755
408
745
689
798
741
716
671
714
672
614
716
494
562
824
691
716
870
611
183
820
527
940
678
647
713
542
763
749
784
876
687
730
793
820
926
706
886
663
824
702
785
819
530
776
592
481
399
837
794
704
391
978
707
562
562
840
903
784
794
580
545
707
710
581
503
490
642
763
577
716
637
212
865
879
684
842
753
797
807
507
774
868
769
567
658
765
455
761
798
883
414
817
746
675
743
562
725
752
799
821
718
576
783
704
871
759
652
689
805
755
462
737
653
258
738
606
843
566
817
496
905
939
712
902
839
799
872
638
694
479
720
179
637
525
735
537
806
707
873
601
549
853
668
812
785
506
680
794
772
564
696
581
717
745
1002
851
818
700
875
679
302
988
725
845
653
464
843
749
1008
796
823
665
393
943
804
758
723
607
670
844
675
404
858
635
729
729
588
840
663
481
494
489
699
688
575
592
735
827
493
412
757
846
932
943
615
619
749
892
660
816
658
860
663
717
800
809
813
744
844
776
407
620
738
490
768
533
921
764
573
870
715
721
647
834
405
745
737
356
749
755
808
553
498
923
613
785
714
380
940
660
555
626
854
611
706
738
731
492
689
840
616
617
755
901
938
748
588
856
761
628
594
508
810
653
870
762
710
493
463
675
713
921
546
724
492
923
733
908
595
829
825
866
731
850
522
786
884
800
876
722
741
815
719
817
667
891
524
794
941
700
625
804
571
855
762
830
790
765
727
856
736
760
511
918
818
733
728
708
397
642
728
422
663
634
547
773
740
514
820
593
531
739
525
724
613
796
831
886
538
748
684
534
798
545
706
627
978
654
696
777
818
233
742
799
827
963
698
679
779
526
458
941
550
910
791
347
764
863
952
758
472
781
724
887
606
634
786
751
757
715
605
747
832
823
934
802
673
494
585
613
689
782
729
482
981
568
861
877
605
767
603
775
640
384
637
714
627
703
721
463
685
920
749
905
748
842
925
450
610
806
692
817
701
719
701
690
695
291
679
754
576
862
760
710
609
730
904
701
766
701
699
689
850
654
662
687
670
639
628
384
647
802
918
1004
852
879
741
672
874
949
727
787
912
801
702
873
763
486
335
864
796
507
609
580
820
683
886
905
759
673
485
735
719
398
728
885
597
907
802
724
773
856
769
439
915
501
768
832
875
635
569
783
712
739
975
703
861
448
862
887
558
713
565
348
658
822
345
475
761
735
602
380
581
700
631
569
248
747
593
424
809
495
845
837
678
914
688
763
788
733
756
788
700
641
680
599
709
429
837
526
861
686
703
519
886
654
657
933
594
603
844
803
747
860
551
540
609
734
736
786
848
672
778
719
848
770
508
666
469
821
889
295
600
502
827
869
620
806
698
818
704
979
803
806
848
809
594
462
459
815
662
761
601
729
664
539
830
974
741
746
762
750
742
796
324
619
702
741
764
537
864
402
678
779
767
591
587
944
962
822
618
670
735
744
807
821
585
717
520
661
666
616
871
679
623
684
763
725
628
713
792
749
681
676
377
816
285
974
635
788
737
805
955
947
791
605
882
788
773
468
82
508
840
599
966
916
810
655
710
738
635
843
735
848
676
714
782
706
429
796
764
796
771
764
865
595
866
657
686
657
791
746
597
948
690
768
953
710
819
474
506
646
837
859
703
780
782
895
356
630
724
934
754
201
784
600
696
699
646
768
405
608
955
822
722
669
767
550
556
723
820
797
606
545
749
730
799
856
838
754
668
612
720
590
718
729
585
824
367
754
868
800
806
667
688
282
870
726
683
619
806
779
876
875
679
728
691
847
644
858
799
822
869
797
378
841
582
689
655
564
728
712
703
620
778
692
596
680
686
718
974
706
752
871
675
905
831
652
883
587
911
310
505
740
758
866
793
931
871
682
694
523
646
726
847
678
872
799
882
949
302
620
589
576
581
829
764
471
813
538
796
562
613
301
817
942
678
761
622
688
744
709
763
612
724
530
647
692
679
492
540
771
510
692
598
714
862
856
727
558
644
781
798
760
678
488
470
948
650
406
727
842
492
747
826
651
865
769
710
622
633
697
899
573
991
538
785
707
727
582
838
724
749
874
585
892
756
671
757
870
710
812
887
674
807
795
567
886
665
642
663
760
758
714
594
708
807
591
683
581
566
708
746
651
828
664
745
518
554
789
655
760
790
737
791
723
774
628
650
836
733
774
607
706
548
822
597
684
617
777
537
641
748
875
856
535
701
713
729
581
560
898
730
631
747
719
577
729
575
772
765
855
841
709
799
771
720
406
549
678
840
721
906
642
663
793
715
788
913
799
854
833
687
827
780
870
774
453
803
698
736
233
819
768
755
806
672
792
723
674
591
696
911
674
946
744
769
600
845
886
251
460
657
495
405
791
596
832
902
494
473
870
659
928
673
614
442
833
537
727
935
729
825
750
684
617
514
654
857
714
404
654
874
472
577
469
646
781
777
823
780
691
957
596
641
572
585
653
751
882
977
421
810
828
744
965
720
827
719
620
657
762
814
744
853
572
622
597
694
710
692
814
589
668
689
512
867
726
798
713
704
722
642
621
525
855
616
817
742
535
780
690
744
634
718
513
791
659
965
588
762
650
397
653
802
737
875
845
841
848
573
536
449
901
633
722
798
726
604
680
915
652
751
716
836
742
581
664
440
626
678
862
637
624
923
732
814
739
652
701
627
737
884
814
871
732
856
393
774
545
757
660
455
813
862
433
911
446
745
789
751
776
656
682
714
819
770
696
818
578
736
560
849
466
910
839
843
476
870
663
845
727
844
739
704
605
783
745
505
902
591
668
618
831
857
565
781
677
763
733
419
575
739
678
457
703
712
587
670
760
595
728
814
722
699
931
583
901
648
711
512
645
603
417
681
872
563
771
767
526
757
518
146
777
865
749
802
949
742
758
787
496
693
221
769
882
736
750
839
792
774
811
715
924
586
383
489
666
721
773
949
656
680
691
819
753
689
795
749
719
683
817
612
649
844
791
613
760
496
550
625
759
555
749
650
689
510
818
691
708
562
1000
862
774
596
596
782
415
668
614
691
291
822
622
718
843
858
725
736
778
656
739
636
607
797
549
617
813
571
720
782
935
538
960
837
874
681
497
734
591
971
697
771
832
808
528
593
839
478
760
634
745
686
870
668
889
743
569
209
255
779
509
745
810
697
641
596
811
738
666
653
720
747
528
860
489
462
781
560
887
511
391
5
945
652
560
406
436
660
865
557
752
465
918
324
709
674
471
843
500
630
748
595
609
562
715
769
606
843
705
45
675
923
827
689
508
989
774
636
655
945
656
745
855
873
687
637
671
748
629
581
868
618
773
701
763
688
549
623
586
510
756
624
604
913
709
873
809
913
761
531
897
652
664
690
708
788
691
551
827
700
889
402
761
473
769
789
535
726
642
748
739
343
643
755
580
408
888
554
689
490
715
591
801
861
855
679
690
736
802
616
663
759
689
754
750
605
727
616
719
680
528
978
547
781
761
846
837
747
704
445
706
482
609
559
716
714
803
839
644
695
860
893
822
692
157
889
694
630
732
574
472
913
640
723
907
823
480
813
678
679
863
667
834
744
952
619
641
705
827
736
685
759
824
424
464
741
976
677
593
539
966
682
330
666
802
336
605
750
677
671
442
592
598
744
600
599
273
556
700
942
730
289
887
805
631
744
903
583
922
724
871
665
500
820
899
676
594
605
734
724
611
764
738
723
882
675
433
283
761
893
764
830
781
643
622
366
776
741
769
909
682
622
816
719
610
689
628
640
600
683
857
848
840
975
764
887
646
654
556
198
816
975
411
731
91
744
836
839
823
610
509
583
655
793
640
727
576
700
807
603
642
349
421
791
726
330
658
744
882
868
769
934
628
506
198
921
893
655
819
638
267
628
573
826
636
618
722
733
469
712
746
722
760
758
332
882
762
476
875
586
583
713
829
919
493
719
588
629
731
541
377
805
686
695
678
709
985
874
411
796
773
594
703
557
690
748
227
748
904
677
633
694
772
586
677
686
651
655
1012
576
911
837
771
738
642
791
405
892
853
719
612
845
793
501
601
704
608
751
673
535
897
783
819
721
868
693
557
646
777
516
495
506
493
617
690
745
761
725
431
829
539
601
738
880
713
840
875
644
932
929
775
680
979
697
719
347
871
774
706
727
835
833
477
770
663
764
591
557
507
861
582
809
724
656
667
743
605
662
915
895
474
623
558
472
613
807
665
627
1013
692
777
636
524
680
739
1004
411
781
862
832
462
757
855
796
797
505
780
721
729
645
722
587
625
860
787
761
784
745
785
592
707
742
772
676
682
788
700
1002
665
907
739
556
932
611
548
691
615
791
460
381
640
827
608
816
663
639
757
756
525
828
601
564
737
768
821
665
713
658
750
599
820
530
497
863
797
703
864
837
837
457
741
733
636
732
638
690
722
616
744
709
646
907
717
700
617
606
525
564
674
511
486
380
593
673
539
864
1001
720
556
905
673
625
630
807
737
826
823
803
773
788
807
678
762
893
567
523
608
742
726
841
521
511
633
740
891
713
746
636
672
692
851
942
659
724
724
600
725
423
651
676
945
817
697
735
712
441
501
478
694
700
990
752
656
826
851
707
785
628
726
703
843
705
834
650
739
798
611
557
709
853
954
817
782
1021
791
402
750
918
697
659
713
961
751
716
651
665
766
982
408
710
683
933
558
969
840
755
723
827
865
824
553
507
774
947
662
452
614
659
549
1015
740
753
742
821
269
815
668
709
735
770
678
494
751
455
630
670
756
788
706
496
605
707
879
426
716
566
845
867
549
656
676
686
660
948
734
659
937
738
625
398
448
565
735
711
761
757
755
562
635
527
693
603
552
804
792
923
916
663
791
691
668
610
511
664
648
766
865
745
625
784
562
811
826
689
894
698
744
823
746
778
225
848
601
196
864
749
920
491
693
667
711
474
856
888
447
837
611
850
694
393
447
778
714
770
695
761
787
671
670
680
661
567
688
681
457
750
475
829
301
722
750
509
734
672
638
683
484
757
915
422
530
577
836
828
727
852
630
853
217
804
815
732
725
556
638
797
633
422
751
634
689
612
723
886
561
402
683
784
806
726
569
686
820
525
670
558
506
500
770
724
744
794
630
636
866
537
795
738
730
868
508
884
896
582
733
389
658
537
621
526
559
623
405
4
549
414
774
576
691
546
901
678
566
755
802
370
714
773
717
481
432
848
461
623
761
873
796
688
744
446
690
418
466
672
965
849
895
862
627
717
663
884
824
789
554
622
745
560
817
659
862
864
792
597
708
709
741
719
635
604
727
572
816
774
586
537
861
520
654
562
816
724
715
604
912
955
884
737
554
530
723
423
655
674
714
637
797
828
660
618
577
530
717
540
590
814
865
767
702
490
740
423
674
524
389
708
723
661
737
920
769
582
634
649
843
736
681
925
861
823
557
849
853
873
676
430
791
662
393
837
545
635
837
818
772
686
688
730
634
838
598
541
689
341
790
700
958
613
724
471
542
597
918
762
553
598
915
483
921
730
808
174
345
621
746
652
805
805
401
739
846
646
668
977
696
548
377
518
655
758
749
565
677
692
611
771
681
793
666
792
861
758
696
525
849
690
521
871
626
759
406
980
844
777
674
678
672
757
664
813
775
482
749
798
811
590
1014
708
665
785
793
669
933
567
844
677
588
692
556
395
839
758
566
800
693
813
795
590
744
853
600
874
725
769
847
864
677
684
540
769
725
720
870
740
403
647
627
903
734
819
559
856
852
623
879
642
673
696
748
691
583
769
669
566
679
553
621
562
784
561
920
816
438
591
555
670
869
575
678
696
772
780
702
678
474
537
678
708
854
661
721
534
723
801
829
654
855
725
793
612
763
748
980
771
791
641
793
711
784
738
792
691
777
569
731
654
481
851
556
625
969
648
586
737
978
545
701
930
731
685
842
930
754
866
670
788
769
704
674
772
820
749
776
899
560
839
807
766
741
565
726
938
820
732
438
824
729
846
772
342
686
460
852
510
670
990
544
584
557
761
221
776
758
608
770
704
493
662
683
813
539
660
832
657
668
539
665
369
610
517
695
695
725
672
309
551
753
299
905
924
686
672
865
579
654
687
522
660
886
861
885
757
754
742
732
497
629
784
813
734
392
654
766
808
747
595
573
814
605
372
828
377
865
594
889
650
647
727
720
433
782
649
896
205
679
793
914
435
954
514
452
445
697
628
695
629
794
510
736
592
591
847
767
817
558
627
785
727
634
619
578
660
700
679
572
552
930
764
637
411
820
810
615
619
672
923
658
922
635
638
645
440
768
531
863
844
605
680
674
750
903
813
668
781
490
664
722
580
873
766
585
572
754
645
796
794
642
709
684
644
878
907
718
550
646
233
850
710
474
567
707
700
672
936
822
587
949
893
662
649
743
550
282
783
552
484
859
653
659
795
952
661
718
735
652
724
669
812
598
643
678
778
626
881
810
654
367
771
567
597
476
1009
656
860
525
667
764
710
833
661
626
642
418
704
877
727
714
804
512
650
725
818
752
974
601
647
806
864
657
663
484
683
932
761
617
562
542
883
654
727
745
524
803
629
633
864
761
797
464
555
389
810
865
573
753
710
737
725
739
429
761
881
641
826
649
744
670
966
641
410
767
594
547
456
843
647
585
847
587
492
728
300
744
276
746
597
638
460
783
460
733
536
638
696
520
473
695
686
656
869
658
664
843
931
560
662
712
793
750
953
782
779
647
490
739
869
548
496
472
549
795
806
675
665
751
325
595
571
737
725
856
786
686
837
702
354
686
749
761
679
692
521
561
638
672
704
696
501
598
231
900
934
630
716
441
627
682
435
562
834
841
511
458
807
901
933
340
743
765
806
714
899
651
761
834
768
670
543
474
756
741
377
730
642
834
619
782
785
746
660
513
451
542
535
294
783
549
583
760
458
383
680
608
694
466
777
640
103
312
856
823
833
1008
868
617
670
828
703
701
774
872
758
826
774
696
708
547
281
758
797
577
999
783
570
799
902
707
577
595
890
689
610
869
622
486
812
792
501
433
928
659
630
824
768
666
920
541
809
709
483
951
726
940
714
654
897
576
855
684
922
722
960
921
622
556
867
523
819
886
584
679
583
746
574
850
561
713
407
774
589
477
489
757
548
687
829
870
704
708
751
694
923
871
806
657
750
408
648
848
723
685
638
870
523
689
933
754
739
624
816
630
723
753
745
738
837
999
483
472
702
730
700
975
879
775
813
273
485
757
851
564
818
921
693
750
565
806
750
667
927
666
595
674
793
890
735
907
600
621
904
433
735
694
782
549
561
601
788
750
756
621
243
596
749
867
679
642
553
553
994
750
652
861
734
391
752
844
395
823
527
586
619
786
517
742
692
480
783
730
622
832
727
888
858
761
745
702
733
465
761
817
703
915
594
462
552
760
695
645
917
629
755
888
611
640
750
477
723
798
700
757
759
697
385
926
639
786
719
836
836
701
744
732
521
776
745
744
596
564
886
794
675
674
678
812
609
537
746
797
582
679
830
914
915
788
672
236
628
675
845
921
845
476
508
618
596
881
852
880
677
721
418
650
764
709
521
768
736
590
850
870
677
606
653
663
840
784
838
514
539
559
823
678
758
740
861
827
709
654
747
812
622
622
594
924
613
621
471
781
831
702
577
568
670
115
940
702
541
705
613
282
713
971
847
750
480
644
611
737
809
705
908
654
677
651
581
402
800
751
870
694
442
903
596
499
752
845
544
877
717
820
521
821
624
974
730
680
646
743
534
850
636
667
789
941
695
788
281
659
802
896
603
775
686
652
697
916
722
742
692
882
481
781
627
675
715
920
686
797
731
885
856
918
708
855
496
924
646
803
810
430
834
861
746
647
645
697
786
858
692
707
700
830
439
673
740
808
734
806
680
880
945
469
889
838
754
708
804
801
610
769
913
746
719
439
926
643
578
900
878
698
368
681
497
663
809
834
816
469
601
699
830
676
737
753
675
317
723
666
932
651
750
673
815
838
722
578
707
747
834
427
818
790
802
693
654
178
619
771
250
891
889
723
672
469
961
794
634
807
771
551
721
897
592
788
905
657
922
722
677
738
814
658
451
956
687
823
649
745
945
754
796
683
868
683
862
881
740
816
621
800
934
745
585
752
644
665
492
709
824
647
613
734
967
723
704
784
594
748
733
833
498
594
702
673
870
773
796
752
614
713
583
683
802
922
800
885
579
776
673
697
657
664
775
757
728
718
865
839
741
631
598
912
867
740
489
715
789
671
852
729
675
1015
855
510
716
775
681
607
905
657
801
412
736
707
686
752
795
771
690
783
748
916
445
588
612
886
523
863
883
924
376
789
656
745
969
926
622
415
697
852
559
622
888
582
921
745
802
546
602
914
805
697
879
719
776
779
726
752
938
376
556
504
823
658
820
627
708
672
1002
893
736
762
907
423
773
726
673
298
747
569
698
843
491
332
838
748
639
640
566
685
752
890
778
827
679
773
825
463
428
817
789
768
802
433
783
622
709
851
856
644
405
715
745
599
486
477
644
633
723
133
908
516
617
708
969
574
600
757
658
835
608
795
714
563
759
362
830
649
679
900
655
456
608
571
678
830
734
615
855
704
442
827
626
806
910
515
907
655
761
500
481
797
769
863
845
713
561
652
831
893
576
762
832
636
773
786
595
653
656
695
467
716
422
719
791
772
553
789
788
377
674
805
501
890
577
749
668
610
497
860
537
663
816
740
755
425
736
391
817
773
825
657
823
625
838
529
834
890
569
691
764
593
217
855
740
645
421
752
924
857
693
565
903
881
756
793
681
442
383
897
802
774
869
820
743
680
811
831
727
752
934
685
955
961
464
781
833
696
628
788
898
758
754
835
583
703
793
533
607
749
904
483
764
645
733
453
880
552
769
794
789
839
750
680
881
289
782
677
795
524
843
688
881
774
634
681
857
877
724
768
830
753
629
680
609
792
922
953
725
976
779
610
768
564
824
571
776
717
721
784
822
800
832
892
791
444
530
812
531
769
891
869
973
732
732
813
791
440
754
707
786
625
579
746
543
519
772
910
423
613
744
747
579
792
765
591
505
846
694
738
696
551
899
767
508
755
609
753
937
681
782
680
721
914
774
842
855
713
854
775
823
388
753
686
732
693
824
787
786
691
738
773
823
806
687
637
856
713
609
697
970
689
735
792
589
586
682
790
726
737
814
734
673
738
750
861
588
621
798
689
563
798
769
558
589
764
693
560
486
757
603
638
811
587
510
934
644
692
756
758
380
676
629
742
633
393
663
699
868
480
718
698
698
683
807
914
701
703
550
519
816
778
645
823
836
772
768
858
653
926
442
654
527
580
572
563
546
815
791
502
769
850
434
819
178
681
799
627
369
543
712
661
606
272
617
614
945
860
850
891
795
689
680
773
680
692
554
896
650
879
642
623
691
556
638
631
772
844
726
642
750
736
635
757
809
631
803
586
584
902
755
540
401
897
768
810
694
547
618
878
880
922
734
732
753
880
728
619
673
899
793
567
699
810
748
745
623
911
642
905
828
779
778
667
658
860
879
715
833
645
448
653
510
652
709
686
812
690
786
766
601
663
304
806
552
860
632
752
703
755
603
806
709
667
767
600
711
661
550
853
830
631
752
759
832
595
339
954
653
751
646
774
792
743
586
618
747
857
782
675
791
695
719
644
343
759
668
508
370
631
868
775
809
834
762
735
784
407
680
533
553
728
596
384
317
583
339
791
783
872
646
998
701
779
736
725
464
620
502
635
627
770
667
689
747
890
884
692
243
798
737
857
797
898
837
611
726
589
403
838
820
909
725
872
835
957
761
629
781
785
800
820
838
589
653
639
678
765
608
802
855
869
740
941
695
674
631
862
809
603
741
896
930
763
796
432
773
600
971
812
720
760
722
659
623
691
545
824
812
815
710
489
628
698
793
652
639
798
759
767
716
828
786
754
1011
468
712
664
741
703
429
703
545
524
703
779
897
627
405
852
877
826
722
800
500
877
496
774
715
689
676
757
659
889
693
746
583
657
743
642
828
936
847
429
804
866
531
159
617
647
720
720
734
704
474
591
626
623
723
728
861
715
850
578
773
764
837
579
740
617
538
694
723
833
540
710
780
407
646
574
681
813
794
819
400
798
559
957
907
734
882
912
261
704
894
507
415
776
815
361
876
557
604
620
753
591
832
796
684
744
423
766
666
833
782
769
743
698
797
834
906
800
567
757
394
315
634
846
735
856
478
783
640
838
671
618
583
614
676
828
553
729
743
696
729
693
829
596
600
813
779
817
575
747
813
605
778
790
716
721
752
649
355
589
477
555
726
783
701
959
595
575
699
664
284
715
655
739
680
502
365
473
849
868
304
664
724
826
955
463
710
811
704
911
655
766
304
766
649
732
623
728
757
945
749
704
852
581
561
644
767
721
484
778
355
668
458
616
761
493
827
432
546
909
236
911
735
819
526
557
730
569
755
613
680
813
836
802
756
789
670
733
718
651
773
627
786
678
490
858
624
752
872
609
590
679
630
845
844
720
610
710
770
906
901
693
790
820
750
791
855
832
672
733
803
773
787
833
808
342
835
979
876
659
544
745
516
730
681
627
756
880
667
866
751
805
635
853
879
610
801
783
503
646
827
833
769
648
617
642
177
747
602
709
739
697
939
686
869
662
868
885
437
737
679
138
725
880
758
719
551
658
562
615
243
979
826
831
819
780
488
698
479
341
737
724
948
755
758
559
843
218
299
751
686
605
736
770
725
783
408
724
711
646
542
791
605
1004
638
688
860
778
597
569
674
730
763
689
505
782
797
821
959
566
870
300
667
809
741
767
737
534
780
761
789
663
734
721
705
834
723
847
697
681
466
742
697
739
628
686
690
646
669
699
681
603
736
821
521
541
644
788
502
720
608
595
466
849
705
780
862
853
436
489
795
651
589
783
436
553
716
761
905
338
622
795
582
868
565
934
694
774
726
716
696
824
864
745
404
764
643
498
570
755
867
464
511
744
789
676
873
593
762
553
669
625
868
699
815
620
751
606
755
624
877
476
893
942
719
618
878
816
653
592
820
949
680
565
846
768
916
671
813
855
761
692
382
553
540
781
622
587
818
807
658
812
834
800
757
947
657
375
705
827
616
753
727
697
552
647
243
753
672
514
733
431
754
765
915
637
708
652
653
462
793
770
722
744
616
802
799
889
911
777
657
834
871
706
730
815
729
738
616
685
766
633
499
744
696
745
917
649
914
641
757
623
644
453
626
839
649
823
646
691
856
620
710
768
681
684
296
783
692
875
587
601
593
649
996
786
599
571
807
657
865
781
853
737
557
812
729
742
606
824
785
622
464
964
723
443
691
742
753
715
742
747
797
641
722
685
766
893
687
510
689
758
641
782
718
701
610
475
830
944
589
697
713
659
841
809
761
752
800
699
759
670
570
702
923
698
829
668
766
618
739
697
796
875
596
595
766
698
643
680
560
750
760
604
796
829
655
936
661
328
550
630
905
770
421
616
884
677
893
689
515
616
869
669
771
588
736
550
672
572
924
841
749
679
791
662
645
446
902
628
716
801
613
712
642
719
595
692
568
769
535
627
808
775
533
946
616
655
768
655
837
677
970
573
683
840
687
721
541
727
731
646
715
650
607
476
837
756
643
848
884
607
631
674
739
897
903
768
752
589
842
545
728
658
849
673
755
814
528
762
784
716
532
943
765
763
833
772
490
479
723
895
650
640
912
670
789
778
944
553
654
815
727
784
707
747
497
744
768
706
853
681
835
576
613
517
668
365
771
750
605
756
867
812
673
672
656
522
580
808
660
827
621
588
465
786
717
455
870
701
906
695
551
655
770
783
496
846
852
796
443
608
615
569
947
798
702
690
618
612
751
439
611
806
817
795
751
678
787
876
491
938
742
501
588
921
903
751
895
660
644
755
466
704
848
682
748
652
750
659
763
769
807
483
502
756
747
656
532
729
775
904
599
516
775
611
691
584
773
700
831
831
589
602
490
639
438
359
677
947
888
750
837
738
739
749
794
766
731
616
711
822
665
625
444
802
700
470
309
570
552
700
565
499
848
704
224
583
931
532
601
847
809
826
886
738
741
541
570
581
830
449
217
564
778
737
665
704
909
523
882
741
794
959
746
915
657
548
867
620
564
725
595
621
664
518
783
771
767
660
753
482
848
834
631
834
886
735
801
683
853
489
882
753
649
646
639
658
816
794
758
785
774
706
822
724
627
648
848
948
719
696
813
815
724
685
647
809
34
685
710
580
503
765
758
585
828
976
702
668
746
550
668
938
802
736
706
813
870
627
616
359
711
909
803
732
698
566
945
621
812
364
661
727
863
769
849
722
565
669
539
812
876
368
670
524
621
806
590
935
756
862
516
846
624
827
784
828
775
808
903
494
497
719
805
766
599
675
662
699
772
759
840
632
381
606
675
804
617
594
856
527
814
582
950
723
749
653
664
765
916
845
861
460
899
726
677
748
755
710
810
756
551
646
798
636
688
766
714
585
762
602
920
781
766
697
637
873
771
705
840
93
681
765
666
850
534
630
778
791
673
561
666
573
734
544
697
581
837
777
770
560
600
762
379
848
699
544
401
743
680
894
909
566
633
702
866
642
591
724
928
695
885
695
878
843
509
676
627
797
497
689
598
753
681
924
865
646
593
665
498
513
372
799
575
727
827
562
738
833
813
718
626
920
876
630
302
795
654
422
815
624
839
725
613
851
637
855
865
670
919
482
803
710
682
758
620
687
606
838
661
640
529
755
586
639
775
432
746
722
847
907
807
689
665
746
738
732
445
459
767
627
719
414
691
694
865
811
839
803
839
749
579
736
754
922
705
331
681
797
818
897
795
687
815
402
924
552
625
761
717
604
744
542
713
710
788
682
889
705
847
609
767
460
656
787
304
467
449
481
639
652
621
517
411
622
752
661
755
389
718
728
613
782
729
742
442
647
373
422
735
785
715
254
710
796
483
722
430
889
802
575
630
620
762
458
642
741
691
550
638
920
740
725
430
786
681
651
658
962
680
863
778
724
886
1014
783
744
776
682
677
799
444
874
746
601
700
837
601
728
849
380
905
621
294
885
604
721
820
900
673
744
812
711
829
753
796
1016
855
455
690
631
755
628
654
525
749
736
510
653
765
477
803
515
864
819
637
866
767
710
505
702
639
733
713
926
502
690
868
621
813
749
789
636
800
916
680
824
676
829
568
676
565
748
671
767
698
835
313
498
691
649
820
656
711
752
728
736
462
419
398
731
240
799
928
765
621
801
884
599
799
902
867
883
776
634
594
922
671
781
846
121
774
594
653
723
921
873
677
944
780
777
702
474
738
694
694
682
534
603
587
402
767
784
761
616
752
909
586
738
803
692
642
841
662
725
744
592
468
680
562
776
791
538
687
668
400
639
609
579
571
804
683
907
859
602
606
955
761
687
564
682
849
702
920
531
806
759
495
598
510
669
870
810
642
741
488
997
949
895
606
736
843
824
546
920
733
897
435
630
577
760
868
713
897
754
800
543
657
928
599
771
547
691
804
862
939
873
614
211
822
771
476
702
852
802
620
491
371
462
896
843
518
213
903
776
772
637
464
846
631
817
838
610
688
866
873
668
518
840
305
991
642
577
587
778
623
724
857
989
674
596
869
854
490
640
601
766
582
816
856
271
492
738
577
810
584
853
858
737
535
689
494
760
279
710
699
801
709
696
700
867
580
801
553
447
848
859
908
668
916
807
610
725
731
642
540
856
780
909
1008
593
800
459
471
525
785
470
849
806
715
859
812
804
418
516
757
677
728
642
705
682
545
802
749
511
874
615
752
613
797
658
568
612
765
772
878
699
317
806
741
692
754
691
599
759
549
725
814
850
664
581
706
730
652
474
889
868
826
593
525
385
406
885
835
638
520
818
690
830
651
371
805
805
579
812
704
748
737
568
788
769
527
791
947
784
616
573
818
0
432
787
713
529
715
699
806
692
504
736
810
705
376
892
713
832
606
609
831
479
650
803
743
807
319
752
883
808
495
450
776
594
531
767
902
950
730
714
544
744
832
748
187
816
669
664
779
732
616
735
956
781
507
589
620
551
857
673
412
725
574
684
605
689
828
746
0
709
613
876
739
811
721
758
868
589
722
883
589
885
541
652
677
811
701
686
641
632
771
576
668
625
632
846
656
824
669
770
739
658
779
912
769
543
438
730
378
718
617
617
943
805
798
581
767
482
708
692
770
850
796
781
572
837
580
664
608
673
706
616
678
716
786
810
766
706
787
824
886
739
476
531
1001
724
762
767
916
753
965
631
713
873
902
961
664
767
839
699
732
676
642
853
861
710
683
745
649
601
728
573
763
779
829
797
936
742
589
783
750
604
586
696
728
351
799
725
867
632
818
853
703
997
425
533
821
635
703
610
815
720
706
880
996
632
663
742
660
660
212
535
847
671
822
592
711
838
563
724
773
798
859
936
610
560
609
620
643
213
668
769
515
825
955
946
637
586
631
897
608
640
576
797
634
953
664
771
600
585
646
745
703
703
621
678
774
728
456
586
550
243
542
700
802
844
662
963
1004
767
668
603
657
711
775
866
757
629
669
499
790
681
614
902
739
698
693
786
763
528
844
586
605
719
732
706
523
706
870
713
727
698
651
990
199
695
678
815
622
660
673
850
850
815
933
864
557
584
741
979
774
491
665
644
643
817
892
816
535
525
661
583
780
561
839
772
802
633
606
536
718
796
758
605
884
758
590
854
603
525
977
678
503
666
709
657
706
768
593
846
826
618
564
600
810
727
709
682
678
623
768
678
925
554
627
580
627
879
758
789
519
831
593
735
693
736
662
505
576
860
607
748
911
909
773
653
480
811
807
732
735
208
628
793
685
557
771
842
628
709
645
804
793
711
477
602
880
744
882
930
643
778
800
742
392
703
526
204
611
905
377
674
691
651
752
440
579
659
582
666
369
192
490
704
304
901
748
801
617
526
707
799
672
729
922
706
830
914
606
558
626
736
653
713
650
625
443
666
673
706
777
911
779
560
649
596
807
643
796
804
653
398
739
699
773
876
575
872
673
596
781
698
844
787
696
726
806
576
776
709
773
858
617
785
590
792
764
652
712
833
381
650
639
449
447
657
691
743
793
727
624
499
763
863
889
789
863
692
827
783
934
787
643
501
497
753
718
736
564
626
816
510
733
612
749
470
512
832
722
720
952
695
642
697
779
635
673
845
892
742
546
812
349
520
622
671
721
769
441
622
754
912
651
799
687
771
666
737
766
669
186
614
691
818
734
790
721
663
709
795
576
850
655
791
741
975
490
686
567
641
869
735
428
946
813
599
520
847
810
565
622
715
731
769
808
890
700
798
809
751
577
874
328
782
926
642
698
424
747
794
804
656
840
784
667
697
852
431
536
655
587
816
756
877
726
756
644
906
337
790
681
741
774
815
457
990
742
564
858
887
806
547
742
436
599
821
960
767
577
759
804
849
782
833
525
558
745
509
478
983
754
785
896
530
706
878
449
648
716
608
642
448
665
729
955
802
703
362
649
576
796
632
924
751
611
793
666
585
739
721
501
806
610
745
728
697
512
994
791
863
495
492
602
599
534
584
671
851
541
892
745
731
779
704
907
700
726
940
876
762
710
491
829
763
731
716
635
801
653
739
747
884
778
713
706
750
1000
716
836
486
672
787
617
547
869
704
837
760
942
800
725
856
645
830
764
675
795
707
720
687
619
726
796
768
686
483
655
872
855
430
868
683
956
768
883
731
729
806
588
758
975
874
812
514
417
785
903
878
781
636
538
579
527
625
724
633
709
551
630
929
419
710
826
646
653
733
750
915
707
563
686
814
565
577
754
716
801
774
622
377
642
629
549
677
928
380
939
928
763
526
767
774
754
731
973
810
750
681
303
680
870
555
683
768
795
485
765
606
782
878
866
744
773
675
584
896
567
559
819
768
925
832
852
752
371
947
630
856
621
680
774
850
593
824
945
777
718
492
504
723
794
766
688
747
751
658
559
562
584
969
629
672
493
634
874
555
655
869
751
632
555
773
943
762
827
650
784
650
811
753
643
934
784
734
713
548
884
901
733
791
382
827
539
718
626
952
587
825
718
391
704
752
804
753
726
685
796
495
603
585
546
876
392
745
718
646
711
877
737
530
708
692
757
775
437
700
703
729
689
973
651
389
801
827
771
632
694
731
636
824
921
536
756
678
303
740
830
776
568
543
877
519
692
509
623
851
699
535
785
688
667
830
772
774
700
808
709
703
623
738
630
843
555
922
679
770
827
545
954
577
646
598
744
768
782
973
868
900
464
671
533
758
999
816
555
755
770
758
682
843
747
849
630
733
876
853
770
539
966
566
580
775
789
679
598
802
753
811
729
620
734
714
753
933
716
844
645
870
643
557
927
614
873
755
683
739
516
545
660
473
989
753
372
970
717
623
884
703
521
666
754
753
566
821
741
754
931
543
881
645
789
759
607
625
826
560
774
743
547
824
640
685
745
816
873
735
668
714
750
845
855
829
703
770
586
857
760
583
754
502
749
872
783
865
758
683
926
774
634
752
559
703
678
801
721
642
422
516
754
699
873
685
752
579
737
577
792
660
793
612
685
719
840
461
642
701
735
788
620
657
740
836
781
737
530
761
802
869
693
810
484
787
450
839
739
699
733
655
608
664
734
779
545
706
780
877
661
760
469
696
600
835
651
926
694
891
421
475
701
823
619
621
552
727
716
814
702
878
948
848
385
734
855
731
752
957
234
790
351
598
761
972
843
883
655
757
779
787
607
94
496
791
320
635
794
484
417
775
701
653
554
580
696
906
642
813
733
845
703
762
568
804
715
612
874
856
960
909
715
936
510
775
853
672
845
455
701
780
583
765
589
882
726
900
491
530
685
997
826
559
692
764
624
785
623
697
728
746
748
479
759
722
790
552
786
664
855
162
703
215
796
839
712
694
712
584
564
850
593
741
705
769
932
815
625
574
814
791
733
525
923
761
601
819
703
752
846
734
658
725
763
783
744
777
812
804
799
610
788
547
795
611
842
496
415
404
711
761
692
921
790
602
457
512
715
763
451
705
836
353
761
472
716
703
759
909
709
617
625
760
802
912
721
811
888
424
639
717
597
575
212
611
867
989
754
476
743
804
833
705
937
713
499
179
747
563
780
710
801
865
692
849
756
963
674
388
651
719
709
557
948
751
698
394
849
707
829
651
669
656
598
427
742
790
393
884
568
992
948
722
864
539
435
633
663
352
417
662
622
651
760
552
663
389
705
795
680
644
846
744
654
899
680
681
665
833
759
746
183
398
573
721
869
808
718
811
760
806
816
753
802
407
786
664
911
573
646
794
781
763
659
856
802
478
698
676
795
424
632
645
699
384
793
731
780
691
700
742
700
958
791
638
841
866
924
875
771
853
905
586
994
408
841
694
923
688
470
713
538
825
441
757
859
833
911
599
740
777
748
647
910
654
965
575
742
785
904
801
893
541
683
544
462
652
616
765
700
508
740
924
611
833
544
880
246
836
798
822
732
706
729
585
726
904
507
665
966
751
788
639
782
603
530
551
735
911
329
599
567
887
678
440
742
665
683
713
714
657
497
406
586
826
652
655
926
642
904
797
927
950
620
936
458
895
900
929
718
757
675
943
786
800
734
784
717
734
947
743
877
827
960
695
693
606
639
393
846
774
672
580
671
725
697
834
744
307
532
726
535
604
938
898
721
615
664
855
840
799
697
760
539
637
658
754
859
714
651
621
712
919
606
758
472
818
866
596
681
804
363
800
789
845
791
582
601
458
866
950
459
590
766
611
621
837
678
924
643
689
642
683
691
580
559
805
786
644
618
924
639
712
579
639
640
524
642
922
745
635
562
648
586
573
710
706
368
671
686
789
741
525
281
614
582
563
774
631
573
744
850
630
749
817
430
664
593
790
388
646
766
749
684
910
651
648
881
640
654
920
962
352
694
912
900
881
767
596
412
805
559
781
606
797
934
617
785
663
576
797
903
848
746
616
585
620
671
596
728
672
869
715
726
331
440
551
797
816
800
936
599
979
843
875
733
616
606
332
678
807
569
861
758
977
710
955
594
592
908
917
820
666
451
852
660
857
872
662
906
761
707
728
693
810
667
798
782
513
756
686
725
825
730
737
776
650
800
489
532
827
887
687
949
521
828
737
684
745
901
598
718
689
841
709
605
596
755
939
793
716
416
701
747
663
582
739
690
781
748
516
527
574
865
468
789
855
692
759
842
889
817
250
880
682
828
615
948
618
878
883
822
668
596
735
603
834
788
536
597
954
752
854
476
731
729
548
587
685
861
894
823
805
692
823
687
607
675
1001
743
751
703
709
614
685
500
669
804
667
579
756
494
619
672
490
833
449
607
683
805
631
743
722
900
539
734
786
763
939
743
660
728
605
554
810
691
520
701
643
871
752
725
918
678
948
457
464
846
807
692
726
496
680
669
611
899
781
765
449
530
710
618
739
535
542
630
845
430
588
883
648
641
603
568
729
793
807
728
829
690
431
598
314
799
947
986
612
653
831
707
547
621
763
534
780
684
926
607
839
833
622
758
225
657
746
516
565
777
521
644
295
694
731
907
759
309
682
696
726
506
716
524
842
922
804
782
782
942
596
656
621
570
637
504
549
660
592
894
718
750
798
846
810
643
677
885
900
791
550
458
708
715
817
555
594
686
628
688
601
547
884
821
576
388
815
824
596
516
875
532
902
866
875
773
671
822
755
618
707
740
734
602
346
807
867
629
465
817
798
573
520
402
735
718
153
889
657
576
514
551
643
778
743
457
732
715
495
472
830
653
856
488
828
706
793
474
570
619
743
928
658
509
221
687
560
756
886
726
435
774
729
633
846
656
726
955
475
639
858
687
512
681
729
472
869
395
861
566
639
699
782
541
563
739
747
753
815
667
733
888
526
764
652
802
532
649
828
729
950
637
997
874
787
456
711
854
623
944
871
598
453
649
690
775
605
752
777
737
708
399
755
817
896
734
713
713
769
883
761
607
905
823
762
553
954
757
227
735
950
652
778
478
641
752
774
882
748
732
868
732
525
583
1014
579
953
681
758
800
788
894
773
678
441
717
403
678
637
808
338
923
758
988
612
893
788
939
718
868
667
653
794
620
441
630
779
720
498
907
872
401
906
651
928
753
756
579
466
835
701
841
869
796
849
681
905
638
799
566
827
666
638
852
663
808
593
610
621
691
611
509
828
827
225
733
639
746
598
611
769
490
87
437
886
845
598
591
877
537
636
561
559
855
858
700
706
741
567
547
605
703
877
848
837
763
710
716
167
605
748
606
753
801
765
732
571
124
756
500
802
582
498
587
864
590
404
794
755
591
809
706
688
805
646
755
705
676
595
689
860
795
897
572
633
679
754
708
755
665
734
858
504
718
770
720
764
496
524
861
581
772
523
685
734
728
701
664
961
784
800
812
758
728
685
643
528
633
981
513
522
925
676
288
545
613
944
754
875
564
693
957
590
744
929
751
802
866
714
545
835
817
903
805
744
602
591
652
793
487
530
609
670
722
758
794
948
736
786
736
849
274
713
879
775
652
375
642
677
330
619
618
793
603
824
713
699
788
678
621
535
486
687
493
601
814
750
945
557
447
676
864
710
809
775
721
794
374
411
857
839
743
671
710
739
530
816
846
983
868
548
779
713
581
825
753
774
785
749
490
871
576
870
562
892
971
798
898
627
960
663
513
720
638
771
718
876
712
695
793
684
843
664
981
619
789
758
453
749
696
874
924
919
759
744
737
764
324
610
466
583
236
854
652
871
280
652
698
910
754
702
805
646
632
686
633
892
702
705
624
824
668
932
765
586
840
584
679
744
414
578
849
434
865
752
630
431
540
688
740
862
497
629
753
742
801
751
619
797
904
703
611
641
880
561
743
548
762
743
910
746
758
838
713
682
830
724
735
579
498
525
639
644
733
378
737
686
865
576
738
664
627
719
515
782
460
292
800
660
748
727
955
574
654
677
921
811
643
964
476
795
874
562
955
618
708
812
556
681
895
854
879
254
916
981
863
464
917
677
819
767
554
620
536
714
579
595
600
859
954
705
655
785
812
736
836
413
807
532
607
711
801
601
702
656
598
685
743
766
338
534
800
731
785
828
652
582
818
802
164
620
804
643
691
625
547
809
789
667
918
541
760
398
897
738
949
654
798
835
840
893
730
796
498
814
611
791
795
641
577
753
962
691
762
552
881
644
440
541
617
559
828
924
756
789
860
671
630
896
721
697
927
703
684
936
784
887
812
760
116
603
814
837
937
485
795
658
148
669
723
722
720
514
961
851
696
644
786
854
813
617
805
678
763
808
563
610
623
841
360
869
714
1014
615
652
817
952
732
548
846
604
536
694
784
694
678
641
727
744
662
533
790
526
832
921
928
400
613
887
711
749
656
813
460
785
506
459
758
749
560
838
703
823
718
827
414
617
721
740
501
108
539
744
869
741
817
628
539
823
554
786
682
691
918
798
782
500
581
888
448
543
401
682
787
588
934
874
407
718
790
806
487
748
801
651
600
716
632
726
395
805
589
666
429
815
767
801
756
591
654
768
645
628
728
470
422
673
740
827
970
857
778
647
392
724
814
750
866
897
812
822
466
643
923
545
575
739
629
619
536
213
651
545
151
672
662
628
637
836
441
756
694
758
627
650
748
754
828
954
767
810
534
645
820
723
921
684
929
775
833
643
541
682
927
858
416
513
872
648
925
808
647
789
727
542
763
510
665
731
575
460
555
642
0
619
630
691
688
808
762
683
792
607
829
546
5
672
753
849
800
784
817
908
619
838
955
883
628
696
772
920
836
813
798
587
679
735
618
595
588
716
698
799
721
957
785
747
496
848
897
751
679
761
740
506
615
976
830
802
911
750
680
945
496
772
803
775
934
937
521
580
617
740
620
932
753
680
566
734
598
789
628
466
720
635
905
800
644
871
648
680
1007
713
866
427
525
670
717
724
862
816
783
815
843
695
680
652
961
937
826
830
916
840
990
763
870
719
859
790
503
562
490
833
914
658
650
705
709
522
780
646
931
769
715
708
692
723
532
565
839
570
420
969
818
906
622
897
549
605
695
509
876
496
573
659
865
686
828
639
641
390
688
494
690
772
632
648
822
488
583
800
635
773
759
384
624
677
553
572
746
805
750
566
667
769
766
612
793
732
852
579
640
809
763
595
682
870
543
742
273
915
638
311
537
516
720
794
654
927
863
660
763
830
630
724
896
771
824
668
791
789
817
885
782
812
493
618
443
316
605
681
872
832
278
832
742
499
532
748
712
781
755
479
910
673
756
708
835
557
885
738
541
594
818
273
761
511
692
946
718
789
543
586
586
649
619
806
751
881
735
711
800
486
780
736
705
596
804
714
919
333
439
864
616
649
573
597
664
508
690
613
606
665
902
266
768
614
592
818
841
761
664
668
682
588
720
492
604
704
894
796
723
679
657
591
610
776
458
619
841
841
668
781
957
819
834
720
762
479
824
457
873
812
631
618
0
940
599
491
602
857
695
619
677
679
871
773
572
739
558
902
872
311
778
938
634
735
776
908
664
670
779
673
729
715
707
743
734
424
777
389
833
775
864
822
849
647
685
653
879
431
988
807
458
490
751
797
755
637
618
702
513
380
836
776
702
605
755
370
729
735
781
932
758
826
767
243
736
852
721
543
778
869
637
407
764
625
495
748
744
710
670
975
636
689
899
585
735
813
580
821
901
672
502
662
864
759
782
787
760
618
751
559
802
786
547
692
789
845
612
786
716
654
900
777
775
930
751
745
850
713
541
804
860
758
423
440
653
659
662
622
817
927
822
889
689
630
665
654
738
336
921
723
885
618
560
668
646
639
827
654
915
873
745
22
504
585
564
716
610
682
336
659
751
723
898
727
829
883
837
837
810
892
495
728
806
626
884
612
811
794
817
742
848
754
564
740
794
824
673
468
818
855
566
575
852
858
869
554
661
674
708
683
614
709
698
708
769
870
715
557
704
825
593
685
629
610
703
911
849
844
785
606
787
791
657
780
730
869
713
894
730
745
923
799
793
645
685
767
751
718
770
681
757
506
706
741
903
771
708
789
744
924
692
656
793
704
580
932
831
648
620
926
875
828
722
766
750
679
502
656
897
697
717
828
677
714
716
758
688
905
778
750
688
675
348
808
539
783
684
703
714
616
832
974
762
811
894
616
681
773
791
705
809
655
731
725
651
777
440
527
654
382
527
767
808
545
804
710
862
615
819
536
821
588
634
825
602
694
642
929
753
723
592
503
696
635
721
604
653
677
906
238
583
530
888
538
685
779
767
720
672
418
611
557
675
728
833
617
637
868
742
779
662
449
808
427
529
868
827
777
762
806
749
482
485
904
407
748
690
715
491
473
854
436
638
819
618
579
820
652
776
878
813
763
919
696
706
689
845
544
791
804
884
833
794
659
696
449
452
804
622
539
606
647
815
726
770
698
710
827
538
629
694
567
642
818
823
465
270
818
463
819
793
627
720
630
750
710
774
580
274
677
674
587
749
742
753
817
836
583
501
808
766
831
466
812
612
552
895
763
570
992
499
552
568
668
735
671
428
893
263
897
727
458
905
772
797
809
683
738
636
869
753
713
315
452
545
869
820
784
771
1014
698
388
732
552
670
578
769
745
674
822
759
734
541
799
344
779
721
656
842
773
595
500
486
726
642
612
801
750
793
600
658
608
417
499
471
159
769
642
741
1006
474
801
728
742
699
610
862
580
664
638
817
618
762
560
563
620
799
819
960
893
662
891
416
593
647
792
645
354
687
741
798
763
744
850
385
591
387
759
859
387
376
737
853
636
805
779
439
783
775
758
635
405
760
637
691
974
743
812
791
588
547
913
654
852
676
761
733
704
755
800
891
693
728
851
658
886
582
496
484
187
654
454
546
645
490
740
793
836
895
728
781
745
561
693
757
699
730
791
548
751
833
848
811
774
883
792
591
754
435
978
699
807
692
909
660
613
540
844
801
687
632
847
870
717
838
711
720
746
775
832
703
532
504
617
792
563
771
808
714
758
868
871
480
682
768
537
724
731
832
799
603
704
843
676
587
576
783
603
854
424
764
794
689
698
747
811
904
745
722
646
542
674
854
705
735
872
618
658
478
752
745
566
929
761
481
687
872
780
384
858
580
796
796
824
655
834
885
837
762
801
873
720
623
534
716
735
725
828
548
599
709
675
580
711
535
933
589
703
448
664
801
601
891
912
563
701
706
815
947
583
658
579
599
509
468
785
600
436
641
685
525
680
482
863
551
611
778
954
806
574
776
894
510
788
647
843
629
679
881
891
957
889
488
506
781
684
804
775
793
740
745
747
457
751
947
868
696
562
755
755
700
660
811
659
878
549
528
491
735
794
582
407
505
749
283
813
495
938
859
506
393
732
696
549
640
813
744
588
841
852
917
728
763
416
792
534
744
867
786
741
652
614
634
738
655
637
686
589
519
552
642
560
879
918
679
747
594
950
403
770
701
523
952
825
772
697
688
675
515
812
711
846
691
723
856
677
707
717
812
744
749
704
764
875
814
714
893
836
182
618
809
724
627
733
535
859
675
701
706
571
787
661
810
718
462
794
503
592
596
672
921
461
700
639
683
836
753
809
638
751
608
799
821
624
678
761
725
929
768
670
796
515
667
956
741
741
796
646
669
883
704
524
913
857
762
677
317
819
636
401
766
644
658
683
760
573
692
694
772
853
464
958
784
770
736
840
787
673
842
687
743
736
813
666
718
801
807
473
848
930
828
617
516
730
801
597
415
875
899
637
893
869
970
731
595
808
772
775
795
583
901
670
726
786
740
844
673
679
763
800
605
582
655
652
731
829
741
815
800
774
825
793
609
801
813
534
659
633
874
492
632
770
675
741
439
679
982
464
527
451
269
710
806
706
754
732
542
775
963
538
410
559
602
917
572
374
662
833
686
380
873
658
360
787
371
767
840
791
759
801
775
836
607
861
640
718
548
914
815
891
660
553
659
503
702
724
698
552
743
756
542
691
831
691
364
772
768
724
740
646
945
946
619
738
678
883
836
246
884
723
593
823
864
738
777
516
854
712
668
574
846
613
698
759
475
806
628
563
770
857
770
795
782
503
661
770
685
563
678
824
644
764
741
838
614
610
713
463
719
440
920
663
619
603
881
655
939
773
585
629
595
700
494
869
880
456
517
713
674
883
384
619
823
560
891
675
973
654
510
802
577
729
627
394
652
853
597
641
544
836
480
937
632
652
609
630
876
687
1012
915
835
688
746
934
518
416
719
735
717
499
585
873
121
688
589
815
574
379
657
179
783
867
810
645
842
669
198
722
759
695
830
618
761
768
516
634
915
792
896
628
635
838
692
734
668
672
899
933
713
828
314
496
708
598
690
822
923
869
774
670
898
810
773
645
804
608
434
743
780
638
952
655
923
700
720
839
653
766
612
378
684
864
609
697
602
499
618
796
915
764
984
642
489
856
371
603
769
1002
724
496
640
773
913
196
877
726
270
934
758
927
624
637
686
761
595
445
822
872
546
502
878
807
795
515
774
836
775
799
721
819
729
781
729
853
883
647
562
606
661
857
527
614
582
731
970
594
329
685
873
796
639
781
649
725
801
685
757
509
684
706
711
427
732
778
755
454
709
378
471
642
539
702
870
888
799
879
536
643
621
779
777
809
916
887
889
530
542
797
854
516
680
548
629
827
807
628
360
515
205
649
502
670
867
926
817
890
860
799
705
396
812
772
614
633
352
814
783
767
567
582
566
796
754
630
842
725
683
630
458
638
881
878
573
740
491
768
996
617
604
729
823
892
790
900
589
783
833
796
616
830
873
496
439
533
444
719
779
927
823
719
638
286
731
654
682
843
704
761
426
711
841
781
623
418
715
679
616
828
440
750
804
582
741
807
809
695
802
693
581
665
496
764
645
672
817
909
670
692
867
769
834
660
654
734
711
685
836
814
378
694
713
476
837
488
688
707
752
420
865
877
594
856
688
667
791
791
521
859
821
636
422
584
810
775
900
270
553
774
849
804
835
737
855
824
743
407
761
685
932
748
686
873
673
475
823
213
765
603
577
872
641
529
572
455
836
546
163
702
660
691
494
730
886
852
782
719
938
506
980
875
642
661
917
835
713
565
825
556
984
646
881
439
573
747
780
781
377
782
947
733
651
753
773
641
653
722
785
891
685
795
819
960
916
736
920
415
954
664
833
646
802
497
902
642
404
593
804
643
578
702
725
332
687
422
688
857
789
751
798
712
875
687
703
656
791
885
876
567
572
890
785
849
476
736
781
736
537
511
662
600
663
783
871
567
648
682
675
738
793
701
554
583
657
553
553
779
626
672
723
849
682
240
583
937
591
756
914
717
645
665
848
998
759
699
912
503
502
764
703
717
733
538
701
776
816
708
518
429
682
673
870
773
664
982
723
685
583
597
609
774
379
638
693
584
658
778
631
837
630
722
588
633
514
707
318
600
502
378
898
831
685
656
777
675
659
937
890
632
714
675
802
763
638
618
721
915
586
620
613
539
735
289
597
747
414
752
642
609
795
586
871
803
549
309
731
580
661
833
814
732
811
639
582
618
935
694
578
895
494
722
855
693
635
735
616
640
645
653
655
861
680
574
774
847
502
741
855
725
818
676
517
713
855
839
396
928
783
916
772
659
234
795
557
495
536
629
700
759
700
694
681
707
630
761
539
778
721
817
879
627
707
649
887
793
709
719
742
270
773
568
601
560
731
729
670
801
681
777
876
838
694
721
712
911
650
784
750
959
533
363
453
928
726
781
694
757
575
567
465
693
622
780
728
589
705
665
725
616
969
555
687
478
420
807
657
660
847
547
817
577
872
722
859
686
482
734
172
593
689
822
797
862
827
973
673
875
668
584
709
732
503
458
701
723
881
777
711
560
548
392
334
800
653
593
859
922
690
550
662
870
491
799
700
472
781
652
641
734
807
723
795
663
760
943
661
874
639
833
906
695
402
1010
783
821
841
924
894
716
736
648
510
874
522
620
803
673
333
601
785
817
917
698
620
853
978
644
858
650
808
793
695
648
868
749
879
627
865
607
762
400
659
662
811
584
854
491
680
857
735
967
851
790
596
744
363
885
876
920
589
627
590
682
593
791
241
756
951
743
822
864
937
588
798
910
712
819
882
873
861
792
648
620
815
742
689
640
402
822
875
844
460
589
720
514
801
814
406
453
663
930
444
780
669
1003
642
830
662
641
848
748
797
762
516
811
652
753
539
762
723
198
737
511
727
776
696
607
669
740
715
765
622
643
727
893
589
874
538
592
675
697
923
860
800
744
481
791
686
882
807
481
875
613
598
694
598
810
799
598
672
774
711
683
769
380
831
615
583
600
793
718
749
680
915
641
777
347
683
956
415
795
914
563
897
616
766
784
850
363
656
747
744
810
627
643
891
562
607
771
896
864
592
363
826
615
761
777
807
761
732
660
819
689
840
715
647
632
875
908
845
722
646
626
567
549
816
714
606
958
605
756
866
758
763
716
619
503
403
527
628
670
762
794
790
599
821
631
849
776
815
572
782
725
812
609
861
669
392
576
945
216
907
450
521
805
806
777
672
812
647
665
623
471
686
880
805
654
585
838
701
802
704
776
745
571
811
795
290
664
550
511
614
844
661
857
801
482
875
473
498
483
726
953
458
762
590
498
838
574
621
793
787
712
535
883
467
699
861
851
752
441
490
607
745
731
617
901
728
818
649
827
698
813
787
787
598
879
666
904
619
704
644
802
826
260
606
270
883
628
736
775
797
496
831
928
674
880
723
535
697
675
738
768
889
890
571
646
929
711
743
717
704
567
679
577
666
866
509
888
743
741
697
198
823
631
916
623
499
776
772
860
663
284
793
778
518
398
824
808
918
557
670
717
850
722
743
534
541
436
720
680
590
917
777
752
778
664
945
828
535
731
552
788
744
418
791
681
716
708
669
664
762
489
661
780
957
551
875
895
886
689
545
923
488
630
792
674
874
783
832
830
684
778
344
729
387
891
532
464
868
954
622
748
747
809
412
860
797
691
778
825
456
785
749
426
825
553
801
840
850
850
808
833
796
477
853
710
984
684
786
955
823
667
567
540
822
499
590
726
827
723
823
637
678
665
497
670
610
593
764
572
397
763
471
907
296
890
689
926
583
784
792
871
744
431
585
444
674
534
314
611
903
700
670
708
418
577
535
678
752
759
693
776
782
795
872
947
550
797
648
736
885
659
911
699
788
837
382
585
654
680
682
657
854
703
842
441
924
797
742
684
831
716
638
792
750
670
873
823
613
609
629
381
630
637
803
923
526
781
686
708
521
850
557
755
583
876
678
813
767
561
668
640
702
894
771
728
756
416
610
662
640
575
734
677
798
562
746
755
706
645
901
562
701
879
940
713
706
853
812
841
541
606
674
844
829
686
539
596
781
753
802
750
763
790
595
804
660
822
407
694
815
953
922
750
673
694
754
793
479
612
705
384
773
558
750
683
773
605
681
873
581
669
942
792
833
630
794
790
764
416
642
741
711
518
829
874
768
614
784
892
975
776
603
772
509
820
747
700
744
867
684
863
740
793
551
435
658
513
546
833
789
819
608
635
560
481
817
888
718
637
506
759
821
850
560
795
778
894
826
669
730
701
652
668
818
720
694
655
846
643
559
871
857
698
547
705
571
705
651
843
610
728
566
801
843
730
680
844
581
753
807
315
805
392
931
558
667
648
682
469
945
669
884
737
762
603
809
671
678
698
734
59
747
677
332
637
949
822
468
579
810
279
816
456
632
763
954
844
534
806
785
818
626
731
695
507
889
701
637
480
642
917
657
735
665
711
635
827
740
539
571
932
777
909
813
571
331
746
654
989
807
581
763
766
749
607
766
671
685
917
701
748
780
855
656
668
527
859
435
729
797
734
824
954
511
717
773
802
589
918
861
583
544
759
654
688
824
806
784
861
671
728
717
782
960
233
560
472
920
961
669
844
828
623
666
581
654
578
513
553
634
749
671
478
771
617
675
734
742
905
791
699
497
641
734
656
716
590
858
763
811
893
739
559
913
629
878
475
444
598
850
491
786
744
638
798
589
435
660
729
869
510
871
499
882
22
841
849
919
568
878
627
880
857
665
900
565
594
707
684
735
647
792
804
796
660
725
783
738
578
607
757
586
836
435
627
804
539
785
745
587
753
584
777
632
801
679
462
795
493
679
586
833
772
764
944
526
653
633
677
753
736
704
707
641
605
934
697
291
795
609
816
811
564
689
581
608
425
423
498
871
551
549
670
746
733
619
421
678
727
852
830
640
924
859
798
780
698
545
492
761
382
858
659
489
704
654
723
535
543
788
387
669
817
868
759
717
458
639
685
846
640
796
771
745
458
954
679
586
536
767
377
807
843
665
903
612
824
662
531
648
872
516
602
903
795
618
506
694
669
703
885
655
796
601
545
698
419
865
893
843
843
725
769
518
359
718
814
613
831
949
626
834
662
717
773
511
679
762
717
918
731
870
846
697
921
571
822
496
693
613
843
637
723
696
828
784
482
682
725
948
534
960
553
754
768
779
521
194
627
917
721
894
841
749
662
532
661
640
761
641
768
704
660
656
874
600
961
716
624
677
825
794
589
642
418
844
773
693
671
699
480
378
780
588
872
565
730
806
669
672
420
677
837
792
732
860
779
729
596
723
677
661
664
888
694
761
627
564
565
721
944
687
643
624
613
850
663
519
896
935
630
617
518
720
833
612
924
731
769
521
468
811
575
732
781
697
490
863
812
282
356
511
648
730
454
522
499
390
842
970
417
675
463
581
681
771
769
661
505
465
800
725
674
526
681
891
643
488
589
958
474
440
501
630
738
719
842
886
781
734
652
160
696
638
563
766
773
814
533
911
681
513
760
610
822
452
631
741
720
158
722
684
668
710
628
811
736
474
693
608
908
192
751
728
692
779
438
523
797
900
657
440
944
189
441
799
879
677
509
696
866
854
813
551
813
863
677
692
603
813
703
609
630
463
621
634
572
389
702
746
660
629
751
699
498
304
770
522
874
936
521
662
584
689
753
722
647
624
701
958
923
374
799
592
617
772
663
754
665
407
684
661
778
834
590
587
617
698
793
647
528
816
567
508
596
878
547
722
654
745
719
716
838
631
747
828
809
532
685
748
827
487
723
877
458
752
794
887
688
654
515
746
710
726
581
910
892
880
711
721
741
667
655
609
671
712
725
781
535
649
726
637
918
801
631
910
762
889
513
888
772
781
768
319
777
760
444
577
758
710
797
627
796
840
723
724
628
646
699
569
642
552
793
749
476
773
692
593
728
766
673
580
746
540
393
765
186
825
673
907
769
785
795
609
751
635
448
843
525
173
763
862
779
705
646
742
626
697
579
733
838
882
266
402
867
635
776
709
411
826
810
878
620
769
498
575
663
692
767
824
685
753
610
650
646
714
946
875
833
438
868
611
676
813
460
679
527
790
756
913
782
693
792
673
389
651
699
754
809
419
639
501
669
915
934
746
505
658
740
957
572
742
771
563
737
786
840
845
756
829
815
808
618
666
561
545
441
845
357
820
808
562
870
767
658
746
920
818
795
911
971
223
591
778
858
597
312
759
742
681
602
570
609
563
501
368
655
789
929
659
590
644
650
439
740
633
785
701
732
713
656
569
829
507
777
801
476
619
872
743
994
737
627
731
535
884
686
678
782
739
709
824
339
791
26
576
848
560
726
535
755
625
508
791
610
694
898
599
684
574
420
647
881
725
971
768
721
800
761
806
691
802
777
722
673
633
598
689
885
660
692
619
667
762
798
781
841
691
709
665
873
848
660
622
793
626
604
492
757
577
797
771
526
884
764
474
797
920
670
737
488
859
568
701
812
659
602
923
686
576
449
747
618
739
799
734
802
821
690
742
816
794
746
700
868
769
936
698
647
887
766
773
698
571
658
815
570
826
755
793
680
557
674
709
689
636
667
519
783
851
806
905
895
821
590
673
430
407
826
826
934
884
634
911
889
747
700
681
523
489
714
774
744
606
809
661
735
665
684
917
371
796
598
720
707
701
498
604
661
734
630
730
707
410
675
573
955
598
791
678
477
646
522
593
715
664
485
238
507
906
696
653
837
529
513
697
951
891
670
855
708
882
432
449
711
748
603
662
809
727
868
660
739
490
661
881
501
804
875
653
716
650
691
565
786
989
827
731
459
610
695
522
981
921
692
637
733
814
656
713
584
708
754
812
676
703
897
731
699
737
820
628
757
623
652
478
563
620
217
644
802
783
746
788
725
683
744
719
729
687
651
796
787
657
607
921
753
743
569
630
794
220
675
410
417
700
821
690
574
302
730
769
828
591
494
668
539
549
689
682
723
767
836
452
845
875
719
857
563
594
832
815
720
675
731
602
661
565
762
769
621
641
731
595
801
668
595
687
426
477
793
680
965
731
642
661
657
654
790
801
694
929
803
754
610
772
494
384
741
900
465
497
862
676
839
897
843
496
888
859
707
717
723
444
758
768
910
715
690
653
696
768
684
953
719
647
535
656
455
631
540
689
716
599
531
576
461
678
848
578
830
710
769
611
787
788
869
871
815
905
921
819
712
910
641
540
789
957
657
811
915
723
396
742
581
684
933
667
796
612
948
678
792
780
510
715
704
700
662
699
801
374
819
627
765
520
730
681
808
816
814
763
725
637
651
639
789
764
1003
819
707
722
815
592
852
453
813
636
711
549
689
479
675
657
717
879
459
579
952
826
764
521
1004
969
850
651
680
575
726
456
874
614
645
611
896
771
665
755
359
708
666
473
215
838
579
776
673
774
919
962
543
914
693
765
304
620
827
973
560
634
684
597
651
644
751
863
706
850
596
519
690
908
857
833
807
184
759
706
943
776
600
586
820
609
940
661
775
771
378
553
800
751
796
798
462
747
507
940
606
875
769
558
587
656
747
568
575
609
676
475
638
412
606
739
835
588
766
849
840
692
798
454
743
1006
750
850
691
553
768
515
648
599
741
802
620
744
388
721
659
888
970
734
779
797
710
852
666
557
602
711
539
748
660
998
666
735
614
928
564
753
300
586
641
663
683
904
792
478
709
815
879
692
663
759
799
618
775
529
627
665
638
553
799
817
816
781
794
727
471
894
518
746
847
776
939
540
766
783
570
692
677
871
474
723
739
402
692
506
673
683
660
659
836
595
751
918
690
901
627
771
760
571
585
799
547
923
767
818
720
815
704
632
767
877
568
579
202
552
681
746
776
792
595
656
697
647
808
720
601
781
834
695
93
423
752
651
734
761
835
568
458
933
760
783
700
430
506
807
821
768
555
637
792
670
414
442
893
385
747
542
468
754
739
548
937
521
715
723
1007
525
492
619
806
751
663
774
841
940
644
889
865
837
583
742
946
679
739
747
829
980
938
852
642
698
709
581
649
547
711
602
616
844
796
663
741
655
426
638
717
437
730
828
774
783
557
543
648
683
793
686
795
737
795
625
670
596
834
766
432
905
463
822
685
860
525
735
740
446
422
654
697
681
354
646
693
539
924
715
550
731
765
678
580
669
860
462
801
771
540
571
657
708
772
707
868
875
650
556
622
649
734
431
770
746
495
947
784
701
861
612
617
572
508
777
739
784
805
665
760
744
609
660
908
718
730
802
728
411
720
723
750
728
867
968
727
834
252
710
518
664
560
718
601
540
295
720
716
798
769
860
943
891
494
649
676
664
787
717
568
776
527
625
745
818
638
697
823
833
700
748
893
754
262
585
760
625
809
281
842
868
539
854
856
661
886
720
819
892
963
708
840
778
686
606
509
805
794
499
800
697
647
382
479
510
666
788
816
948
651
537
735
678
647
723
524
693
685
782
780
843
693
682
756
636
732
775
813
710
603
330
572
908
571
613
926
637
674
876
536
751
780
643
545
899
642
520
742
556
819
640
819
880
742
660
764
710
431
621
719
487
791
776
742
949
805
771
845
875
493
888
580
775
693
842
744
898
650
744
693
730
398
895
980
744
886
799
784
711
599
937
587
784
642
781
264
784
714
715
646
526
870
734
433
605
558
732
768
838
742
681
850
664
768
659
635
694
474
781
856
658
608
561
529
688
674
787
881
854
686
672
868
612
865
754
807
962
889
735
658
834
813
765
839
851
667
863
698
900
688
768
799
497
632
588
607
976
689
796
759
601
754
834
179
569
691
878
914
659
682
714
730
713
862
449
730
545
825
731
889
745
677
742
757
754
1009
693
689
565
956
796
396
499
737
748
610
622
761
522
788
755
731
669
480
685
678
856
759
709
875
790
655
526
873
807
664
871
254
896
395
778
765
631
735
734
761
715
695
975
588
680
624
944
383
801
593
703
596
622
492
587
500
773
826
651
755
861
583
709
753
781
534
844
769
924
532
701
799
805
865
703
675
616
863
503
810
706
845
719
808
649
830
754
906
621
448
625
822
686
755
828
686
740
917
799
775
728
696
727
699
500
690
693
758
826
743
434
893
683
793
842
518
841
772
624
642
755
718
793
620
973
403
609
808
226
293
691
716
948
622
769
571
755
595
873
847
368
711
864
874
688
882
872
591
529
810
683
848
631
546
619
694
561
751
572
755
671
696
664
555
360
714
666
506
603
770
824
669
635
736
240
720
845
872
594
911
741
706
595
652
720
860
640
659
684
916
752
756
258
803
771
714
714
825
857
608
729
648
900
838
758
504
621
483
231
634
812
729
587
468
520
402
568
680
570
807
817
895
627
701
601
903
872
734
699
547
802
877
918
686
785
469
833
710
594
796
850
812
731
320
736
937
471
771
534
689
842
836
718
390
526
704
607
755
799
735
590
876
582
714
769
799
702
713
930
552
618
428
718
662
722
730
629
747
745
908
563
820
818
726
928
550
496
726
618
853
621
833
804
894
743
672
895
723
499
719
755
312
296
680
510
659
765
662
787
359
615
810
536
490
699
624
762
578
988
553
715
740
935
543
787
725
744
898
780
741
479
852
683
751
533
796
316
749
829
700
907
872
614
780
932
769
713
798
801
637
801
417
443
817
751
550
723
917
676
767
882
674
636
589
769
564
825
550
316
588
904
436
678
794
549
829
511
653
730
704
792
264
394
576
618
548
952
747
797
655
675
633
520
610
771
565
667
724
31
624
671
930
594
637
623
800
826
609
343
841
687
472
758
735
750
590
918
316
555
854
856
800
750
854
680
706
846
725
838
664
817
777
788
737
608
697
574
811
907
860
681
754
350
706
751
819
634
779
862
761
681
322
661
515
525
496
796
521
646
791
906
641
526
189
730
528
974
773
424
975
650
899
702
733
662
719
436
535
707
103
535
766
569
843
889
767
298
743
859
717
884
701
786
654
852
684
961
680
717
791
642
622
741
788
686
558
411
853
769
730
799
617
916
681
779
645
693
759
892
584
691
300
581
778
796
921
96
1003
692
497
756
816
651
423
571
329
427
832
581
655
846
672
840
501
903
690
488
767
848
727
646
717
724
858
750
477
657
861
500
547
421
732
628
786
591
622
547
868
460
959
424
527
697
744
755
693
996
848
681
683
710
653
856
834
882
654
587
868
575
713
887
426
747
835
374
725
574
335
912
746
670
788
642
849
691
445
918
787
763
183
554
749
829
567
798
417
510
872
584
683
650
940
601
595
658
751
759
907
966
739
825
752
749
811
719
544
920
414
759
811
744
440
900
620
830
736
500
466
670
577
526
605
748
702
700
589
872
806
677
728
736
701
335
802
571
769
872
859
761
730
643
505
615
625
602
827
796
790
683
825
691
336
486
713
987
835
473
509
702
375
796
755
588
696
721
915
684
649
947
650
637
513
507
802
340
703
729
770
469
811
679
794
651
593
699
788
497
791
641
418
777
841
791
445
663
944
582
835
693
424
621
673
834
804
844
552
666
611
620
725
709
929
738
651
787
719
605
826
826
768
647
800
689
863
603
812
825
881
492
637
469
608
425
790
784
267
567
679
818
375
584
985
685
716
361
566
599
603
804
652
674
740
704
744
903
689
676
637
812
849
707
642
677
772
856
724
517
897
770
614
685
326
728
439
892
105
643
712
801
902
702
678
682
723
470
628
462
751
876
745
491
272
651
639
905
389
737
657
515
816
568
900
605
839
662
657
638
594
813
640
806
532
766
705
849
803
788
764
851
737
958
819
654
749
540
623
746
801
687
524
760
787
0
600
817
871
651
677
655
723
799
575
722
717
842
639
806
649
708
564
831
505
687
840
853
841
841
555
798
418
730
815
324
589
701
652
1004
859
840
651
665
718
744
852
854
650
931
816
783
538
513
765
802
867
567
587
944
760
460
957
848
433
410
581
791
831
890
790
650
659
725
678
944
917
544
676
640
812
680
948
701
913
706
682
426
639
735
546
621
810
876
569
749
749
810
818
602
637
673
927
508
728
846
800
663
529
297
373
720
792
382
786
782
704
646
840
413
536
699
559
907
832
661
820
852
786
352
636
757
621
748
876
813
776
822
778
692
730
741
760
660
900
682
778
365
578
706
486
651
821
727
571
693
732
528
718
793
679
720
769
646
670
759
596
537
766
725
712
663
892
712
772
587
660
731
832
817
713
648
710
760
684
832
865
692
803
699
849
617
766
801
921
623
885
1021
469
583
827
622
611
628
748
762
747
558
814
735
785
700
892
805
764
625
816
582
771
836
743
841
868
847
642
776
653
723
402
880
566
645
692
520
899
567
618
821
806
681
761
791
795
799
793
301
638
786
447
681
510
722
725
672
722
836
608
861
559
712
561
803
671
665
681
797
740
705
572
795
730
811
625
628
625
669
795
574
626
588
874
820
757
627
675
582
908
761
727
623
716
651
651
639
580
767
706
640
612
787
957
338
734
953
725
677
806
897
653
503
558
735
734
752
795
436
533
678
630
502
443
791
575
689
558
759
549
782
560
739
653
838
790
752
93
660
331
894
832
570
523
592
861
678
546
861
474
739
645
715
785
758
728
686
809
826
634
670
519
653
907
734
610
841
592
904
623
624
763
840
598
963
663
338
422
560
774
796
849
802
495
636
644
461
817
570
857
476
746
860
899
718
535
558
551
849
784
875
710
603
471
576
522
723
839
726
730
626
807
607
678
745
759
653
778
692
702
815
800
848
622
749
803
624
588
692
454
810
813
481
718
737
748
670
692
624
825
791
786
861
789
714
602
908
473
607
494
772
473
526
855
617
904
728
760
767
860
580
721
714
791
766
902
741
834
454
821
762
705
355
276
703
864
809
810
521
807
657
466
674
885
737
811
488
477
734
560
822
761
695
769
783
927
602
767
727
797
441
742
759
778
731
788
830
877
520
849
816
808
562
722
750
693
726
678
847
627
825
723
798
484
621
855
820
651
934
718
810
604
723
854
665
720
867
425
828
685
690
785
562
495
824
686
782
727
782
879
656
591
865
783
908
740
734
569
483
916
512
532
757
631
771
954
767
593
564
765
689
833
709
550
815
805
665
871
771
418
648
708
813
742
604
828
875
813
612
656
780
701
813
576
677
574
548
705
741
776
801
531
783
658
606
693
573
641
837
772
800
538
624
695
743
560
602
911
914
855
688
530
720
577
558
687
543
776
420
554
822
683
776
924
656
782
475
377
698
322
495
489
421
588
682
679
72
615
656
460
660
663
699
839
639
803
681
840
920
487
631
899
779
679
603
816
724
771
906
854
801
928
809
732
687
805
876
586
745
880
788
365
779
840
701
819
508
761
902
623
593
690
589
771
855
643
791
835
588
838
677
624
566
895
687
371
767
850
778
522
514
619
688
829
675
780
652
658
613
471
508
824
529
848
801
503
869
653
865
780
441
744
703
649
453
677
367
663
614
663
830
758
866
727
761
772
805
502
596
182
660
779
701
628
892
697
451
645
800
564
731
683
495
507
802
691
963
667
848
833
459
737
886
771
630
902
801
727
901
639
758
514
714
684
324
688
401
799
513
720
906
891
660
547
664
485
838
774
799
522
669
573
637
667
471
708
771
654
672
833
658
783
553
621
598
816
724
892
943
829
902
682
727
705
472
722
720
932
657
641
645
725
928
565
825
411
893
824
647
567
539
952
645
816
623
729
844
731
512
144
434
274
797
769
773
732
747
558
425
773
781
821
833
422
664
943
705
807
786
430
534
730
791
645
439
695
481
641
882
785
744
752
740
689
710
773
599
938
728
854
935
673
728
687
646
790
771
696
778
586
349
408
273
780
738
652
762
784
688
743
638
702
894
1013
664
569
575
789
787
433
668
525
771
657
803
675
693
716
971
930
591
839
771
954
664
684
836
835
865
732
938
594
713
772
726
632
831
763
756
834
568
907
576
668
656
684
587
399
812
810
755
670
709
796
781
786
639
747
471
831
721
786
546
652
404
558
958
804
664
713
774
751
887
407
621
760
823
822
461
663
826
754
704
705
686
887
774
699
866
808
400
750
578
773
827
639
744
635
618
603
829
901
859
665
848
902
823
770
811
743
881
839
786
457
959
525
798
778
757
575
630
734
592
451
561
643
646
690
845
801
942
871
819
503
805
815
857
686
765
574
521
776
608
683
646
937
831
683
673
845
829
930
725
124
858
823
946
731
822
795
657
713
718
738
684
645
560
776
525
802
706
577
950
734
901
794
766
754
705
866
758
627
682
813
930
696
760
766
525
793
771
703
595
716
803
656
876
603
701
551
649
733
776
883
721
913
577
583
661
633
542
480
848
499
786
839
655
523
763
647
747
786
580
652
669
733
597
651
360
784
647
904
881
645
849
777
734
1015
649
838
536
619
884
637
564
934
797
537
588
346
665
710
622
487
853
617
664
774
761
671
666
684
903
728
893
909
615
755
791
854
643
718
503
922
699
911
738
606
814
553
729
857
652
746
526
627
578
555
734
686
849
576
401
791
759
622
773
666
841
680
849
314
845
789
568
698
254
734
790
754
684
264
728
751
757
563
333
685
723
617
806
760
529
589
433
839
809
602
821
553
615
662
754
148
595
781
889
630
810
846
715
832
955
628
509
914
823
784
301
691
714
757
481
616
686
539
767
916
720
619
543
203
488
703
792
660
489
721
680
894
564
535
486
965
759
847
542
854
849
591
730
827
794
686
731
656
398
658
733
636
844
665
768
859
833
612
815
929
465
648
930
739
721
799
230
648
547
489
524
965
607
834
836
964
824
760
715
375
754
788
437
551
555
709
672
824
622
698
690
689
506
505
934
866
926
705
766
647
694
677
616
800
773
722
706
510
771
683
646
314
578
720
523
672
745
632
739
565
712
882
774
813
957
725
844
576
696
744
855
664
870
710
902
618
617
745
792
609
753
715
596
697
811
855
613
703
889
745
728
830
656
797
719
639
769
723
462
600
870
525
616
782
662
788
611
988
448
778
801
537
611
686
238
522
511
691
755
823
852
571
715
733
771
753
824
852
516
919
834
687
820
851
675
635
587
559
780
712
578
865
812
908
856
803
897
891
424
605
421
520
696
424
597
751
610
812
757
796
553
706
888
684
738
686
603
819
642
958
830
755
766
805
641
741
824
783
605
665
844
1001
930
827
866
804
559
628
652
589
741
447
254
411
769
717
813
544
693
836
94
849
588
872
356
186
740
304
674
559
809
654
710
358
589
903
506
909
722
553
721
769
871
586
801
673
761
669
732
815
654
480
823
834
737
808
738
670
654
705
574
841
632
793
604
621
799
654
847
775
820
827
576
569
915
699
728
811
652
727
550
460
844
983
740
893
840
567
865
786
826
835
731
461
744
879
640
639
812
532
324
691
418
535
351
737
884
663
795
722
384
667
777
817
699
689
493
796
814
760
729
446
252
457
520
767
841
741
471
749
842
876
615
813
705
821
885
856
462
727
595
725
745
752
643
714
745
805
824
596
0
267
794
728
811
624
881
735
542
574
764
766
769
796
682
680
733
859
512
689
643
688
650
616
653
600
633
377
708
585
659
923
594
678
990
769
793
750
711
451
777
689
729
551
614
898
599
651
458
675
603
804
671
883
666
649
648
822
208
775
619
475
609
625
706
757
451
756
610
896
760
727
498
772
552
585
500
887
615
631
832
801
432
717
818
666
926
653
878
726
545
663
712
662
384
602
698
550
859
611
409
857
743
740
652
670
840
892
617
546
670
749
811
747
825
918
677
743
834
835
727
624
833
331
741
788
750
583
701
756
723
584
686
811
592
819
560
803
714
734
717
625
740
784
627
729
932
681
729
749
588
782
682
836
485
753
341
614
726
647
593
600
775
798
920
589
880
654
698
300
755
634
844
431
908
445
778
427
752
628
674
337
762
679
719
862
502
769
908
658
442
643
703
814
735
907
737
674
701
724
822
889
724
744
627
719
744
823
841
732
738
822
507
696
767
391
589
482
751
727
798
766
518
525
547
695
724
917
851
689
714
754
581
676
799
611
808
392
594
775
563
645
754
866
709
615
686
596
770
681
799
572
698
529
769
653
751
398
755
853
701
851
805
669
517
928
782
855
807
856
651
836
577
789
601
517
862
535
877
603
624
515
809
811
718
847
399
652
766
618
678
719
567
654
548
775
766
611
764
931
935
884
765
414
782
739
136
536
710
519
736
575
890
739
810
701
766
873
585
551
788
543
381
633
634
965
889
525
748
890
724
973
739
700
889
743
876
688
643
547
686
635
678
847
661
740
826
619
922
559
746
488
709
599
722
604
772
925
775
673
540
400
668
911
865
629
739
547
840
811
857
751
734
776
504
748
687
745
273
586
787
800
720
876
686
686
880
700
784
996
973
509
822
971
637
890
774
921
856
723
682
661
759
667
813
769
669
768
840
787
762
700
553
684
547
878
686
648
582
579
617
679
700
688
663
822
335
738
635
880
525
781
841
629
746
914
742
791
94
828
897
860
734
138
810
744
606
788
622
737
830
773
677
625
493
768
818
250
750
822
809
709
726
654
1002
964
720
31
761
636
831
803
690
651
741
500
794
817
494
661
396
631
488
473
674
889
700
799
617
927
12
716
728
619
715
653
696
813
643
957
775
753
949
687
694
929
737
756
577
700
863
849
764
764
903
317
850
458
644
681
659
741
821
835
692
962
823
568
636
931
834
836
859
712
772
462
660
596
593
831
587
750
717
820
552
693
618
791
557
862
761
491
606
744
747
772
718
656
876
516
440
904
857
755
663
669
494
713
974
827
856
854
619
848
793
745
451
751
564
673
564
878
374
815
352
728
324
582
944
615
374
719
739
664
311
586
704
375
818
821
608
634
904
706
833
650
720
836
551
553
674
743
688
924
152
566
401
693
585
658
673
734
777
459
673
765
937
955
674
815
312
800
896
729
805
500
646
664
730
475
219
581
648
748
881
819
640
782
532
405
788
537
526
920
854
613
552
657
805
960
453
905
718
783
676
594
532
722
876
495
756
671
792
697
832
850
823
382
735
639
841
639
721
669
677
876
743
476
961
726
762
485
845
690
793
273
819
698
488
545
701
766
645
520
794
631
801
621
407
743
976
922
523
732
531
794
659
731
674
807
805
878
756
878
812
897
737
749
796
843
687
634
317
824
641
854
643
864
735
807
936
708
744
685
525
712
563
806
777
589
808
849
664
847
917
985
817
887
801
797
611
625
739
844
614
729
756
732
794
835
824
623
558
678
544
811
957
793
564
684
800
546
324
633
813
496
692
566
800
618
508
776
583
839
750
632
590
843
692
735
424
730
867
934
747
381
746
593
791
561
694
754
460
406
731
681
857
666
397
649
649
502
494
921
570
584
954
462
752
795
766
750
727
846
802
688
652
817
943
570
760
762
725
513
587
506
704
776
510
669
944
699
749
791
393
483
518
735
767
834
692
830
524
775
279
623
702
646
704
591
751
783
509
474
933
556
498
730
879
618
716
796
710
553
768
488
752
708
893
811
709
748
198
691
737
668
609
838
787
650
662
810
874
539
434
348
630
912
590
606
800
592
778
775
772
739
958
762
728
452
821
953
835
847
782
757
735
568
725
818
641
876
749
806
887
578
783
747
570
805
538
754
763
545
511
855
814
935
841
733
738
496
769
807
380
793
648
796
534
500
693
570
389
675
762
417
778
581
736
667
785
694
913
854
649
700
668
395
770
612
862
692
710
670
773
879
711
684
699
721
806
445
663
764
844
719
722
814
777
615
868
716
782
886
706
833
617
657
748
884
792
868
775
469
614
707
764
630
640
759
895
547
677
695
608
665
808
751
752
592
519
884
835
776
519
566
626
849
799
757
661
635
409
644
684
443
983
616
520
787
556
701
781
810
746
478
610
752
804
815
799
258
762
635
523
717
723
897
769
749
682
570
569
670
616
753
685
757
735
677
887
720
778
351
938
708
904
739
496
698
719
377
885
903
828
884
795
856
594
707
726
749
775
752
393
685
741
518
687
591
615
841
735
934
645
778
723
912
690
822
688
612
588
859
652
665
686
331
934
717
411
951
752
668
886
669
704
635
813
763
680
560
850
501
713
726
515
484
576
947
901
725
639
802
575
625
861
513
695
819
674
808
757
411
753
650
730
654
461
990
781
744
675
759
685
263
660
824
431
673
629
667
731
634
615
706
800
330
826
906
694
833
835
515
499
613
712
685
628
767
834
551
728
841
463
578
613
938
589
780
775
711
843
823
648
866
725
760
829
807
889
567
937
566
658
382
679
716
496
660
634
481
733
471
573
549
896
497
742
720
781
791
856
738
948
758
848
661
828
690
734
783
896
738
493
691
711
756
652
735
758
632
770
621
739
854
730
745
580
950
485
731
788
552
683
784
307
885
792
696
718
811
589
749
825
825
787
626
730
640
646
934
606
649
708
752
744
701
800
749
739
816
733
812
795
789
869
806
640
846
919
650
758
903
675
639
838
279
652
779
820
779
730
917
535
654
583
758
698
753
411
709
580
654
662
206
696
818
640
611
682
688
857
907
734
854
636
758
613
818
857
731
144
707
826
649
704
213
557
563
514
741
746
597
722
696
653
672
495
760
851
714
630
621
777
714
873
925
692
639
890
732
631
702
446
498
411
634
710
686
723
736
732
425
646
834
832
797
1012
586
859
783
711
715
628
583
963
605
287
707
527
829
785
727
906
984
761
776
820
650
686
802
798
890
496
682
460
618
691
652
331
727
771
819
864
481
770
766
832
847
204
602
365
763
499
885
652
608
663
933
853
597
716
567
614
531
681
723
546
785
718
499
804
751
512
730
763
769
955
771
722
668
817
639
605
467
553
648
752
847
704
759
744
877
867
896
885
773
787
651
859
597
899
553
831
715
796
418
684
652
954
623
790
573
732
852
407
665
765
394
817
717
775
710
669
715
826
804
768
852
917
576
714
674
975
801
574
660
544
672
901
757
737
790
456
770
849
293
610
871
739
502
778
656
710
549
743
844
715
400
726
718
421
458
808
702
720
324
718
495
530
480
659
669
625
668
883
679
670
721
476
546
891
926
607
821
519
831
699
812
452
772
293
905
582
799
827
871
778
651
665
838
501
610
764
762
669
763
446
675
829
663
536
758
887
829
661
928
879
604
658
704
859
861
621
693
550
700
633
605
529
754
884
795
697
551
827
833
645
811
726
656
705
777
839
784
546
760
665
716
561
849
758
495
665
722
611
698
791
638
588
596
702
752
658
614
446
712
841
827
530
872
852
840
665
691
863
872
483
714
636
650
767
687
802
827
641
701
281
497
802
696
649
889
539
818
714
705
329
598
820
729
718
736
809
792
953
506
831
783
749
582
188
732
826
655
936
367
435
661
434
946
408
680
925
765
828
594
613
832
701
756
796
771
624
924
621
301
722
755
870
462
794
953
798
734
557
804
875
701
729
544
909
728
762
599
519
570
792
847
847
780
546
630
698
725
718
692
760
833
580
902
612
833
665
748
523
708
572
749
716
763
802
786
642
896
793
867
640
677
683
801
630
769
629
795
620
748
594
706
735
624
607
735
648
848
710
807
836
626
873
665
663
848
727
496
783
618
721
589
580
936
769
829
902
792
769
527
810
790
785
447
754
630
658
734
659
813
684
883
836
564
866
709
786
784
864
769
613
880
723
911
752
628
785
854
628
523
521
718
552
495
826
818
599
608
844
404
572
873
753
799
761
767
721
593
644
705
760
94
897
860
506
942
825
741
510
582
686
621
316
715
574
700
626
679
800
447
861
868
807
950
643
947
778
813
723
782
898
577
632
568
498
738
546
845
763
659
725
891
599
341
812
716
745
473
671
706
855
686
609
905
758
885
393
705
894
518
610
551
679
808
658
805
891
668
714
649
945
786
596
755
579
916
941
342
605
298
503
588
634
626
501
627
937
505
876
537
772
825
569
898
770
710
950
1005
808
961
627
769
539
524
628
842
923
622
409
858
769
640
538
709
817
670
734
921
708
649
328
790
823
763
650
498
591
807
167
749
579
599
420
751
646
609
897
833
597
714
792
542
926
685
862
894
744
582
562
621
721
807
784
567
762
658
710
819
769
688
482
581
659
648
478
654
717
758
726
921
836
892
523
662
894
632
566
851
689
676
621
679
830
548
828
920
729
485
807
854
719
644
887
781
651
756
767
635
905
475
539
757
757
657
539
789
460
684
685
603
688
0
456
571
754
544
656
871
732
938
710
735
842
606
616
647
794
946
773
595
710
710
690
656
707
747
808
591
821
905
853
631
828
527
796
451
636
889
854
760
757
668
583
688
853
766
609
621
539
549
430
717
662
607
369
786
661
733
847
541
656
792
800
757
652
813
667
842
485
775
700
728
760
793
678
780
790
231
642
813
702
769
588
692
793
555
779
683
439
742
602
776
789
909
324
895
555
613
561
812
418
758
828
735
975
927
941
769
661
676
432
597
726
795
756
753
926
486
808
632
973
769
458
661
572
615
779
835
488
794
653
880
696
752
520
752
658
791
702
403
623
592
651
892
719
675
626
583
634
516
788
760
831
774
457
866
829
901
678
673
989
691
783
889
724
756
466
776
722
762
664
580
326
883
753
635
557
912
368
777
552
742
771
739
821
775
722
708
687
894
677
500
776
668
739
844
893
904
937
694
658
346
946
504
621
704
642
564
847
686
780
816
695
793
916
659
441
694
697
767
917
720
768
649
811
861
775
640
717
772
696
666
626
941
508
788
675
624
338
581
788
681
577
616
697
586
646
840
827
595
765
880
867
785
865
927
750
881
620
696
885
865
802
903
691
804
369
671
784
844
591
865
761
730
683
624
712
793
738
974
485
675
576
661
668
760
555
815
510
675
540
373
591
667
673
650
813
659
461
535
487
777
589
858
761
764
594
571
854
921
726
690
921
883
871
755
644
790
655
847
709
677
657
705
686
688
898
509
867
639
720
665
838
577
675
590
451
864
619
797
812
521
668
420
685
728
718
927
855
768
700
853
616
812
476
478
537
999
791
703
533
826
715
619
705
646
804
657
231
853
507
460
542
900
606
892
718
697
697
672
621
761
723
647
755
748
788
560
705
809
624
748
582
742
945
585
723
796
434
567
613
761
451
810
727
749
664
513
690
910
642
784
660
767
821
719
577
874
822
754
338
849
625
533
693
827
906
609
571
777
687
642
978
867
855
869
682
560
627
750
806
650
763
824
543
799
806
825
497
647
547
470
802
925
652
566
668
377
761
870
598
821
818
614
711
907
809
840
946
727
724
927
338
667
810
672
799
774
804
616
642
788
674
743
792
732
594
709
877
625
784
652
643
641
678
872
587
753
666
880
756
704
590
777
546
830
876
766
551
642
707
655
758
856
873
716
618
681
665
894
574
624
710
762
742
660
478
864
733
792
754
872
669
656
577
935
672
382
713
676
798
463
768
592
376
735
562
827
758
780
957
735
611
702
692
598
671
497
841
793
515
649
786
615
863
805
904
784
762
564
794
482
744
748
954
468
878
790
655
762
626
694
569
785
782
517
997
806
719
861
661
763
427
712
679
812
722
511
718
954
716
763
744
469
898
612
852
778
523
766
852
295
698
727
430
906
504
743
701
438
784
535
902
507
883
790
598
864
659
511
785
710
707
782
693
710
881
301
535
891
451
681
734
812
718
893
867
849
714
686
624
890
744
926
832
730
441
605
668
901
798
663
426
570
930
941
662
799
639
630
594
653
642
490
665
832
674
589
602
952
657
715
914
818
593
805
743
842
915
903
899
433
381
742
721
747
815
674
759
790
609
775
689
717
764
789
476
790
756
839
589
744
762
792
764
522
659
764
686
629
836
635
738
695
750
786
848
796
682
442
519
793
639
756
775
605
788
648
468
598
725
770
758
811
617
793
778
814
491
678
723
663
838
843
400
816
972
713
487
764
626
691
948
822
745
908
746
536
888
693
840
619
605
700
719
628
729
837
593
568
779
722
616
661
367
711
574
874
177
713
593
725
303
658
839
608
455
746
774
449
644
612
591
911
766
781
643
626
669
719
664
803
496
833
683
871
987
724
631
574
784
552
691
697
802
792
679
696
458
764
900
904
733
602
798
827
715
828
641
936
617
442
890
870
694
322
793
901
566
622
618
313
648
730
569
717
777
1000
669
741
736
697
777
711
661
759
852
574
701
600
627
645
703
881
838
510
711
809
861
577
676
542
403
574
768
815
781
797
866
572
540
458
782
851
666
668
773
492
647
284
436
707
805
684
667
782
902
894
651
516
798
497
968
498
760
523
764
722
835
692
703
666
850
535
281
678
781
564
802
602
782
668
734
901
591
880
710
492
782
950
579
748
607
890
564
811
892
595
806
902
884
756
934
719
662
462
729
735
674
633
706
108
689
1007
843
932
738
707
709
749
686
838
880
807
530
609
917
806
904
655
853
844
721
885
971
886
839
911
850
748
726
927
556
776
903
645
630
595
788
539
753
816
665
617
682
724
756
905
873
742
555
565
559
756
524
725
758
910
857
870
879
722
461
807
754
557
513
722
795
667
690
701
595
697
913
756
759
669
664
759
749
575
704
725
815
785
867
307
685
908
779
945
767
790
863
640
472
826
825
767
699
581
623
501
840
891
566
757
814
489
732
794
903
600
699
810
661
737
527
361
750
589
841
724
819
829
709
575
692
869
745
521
755
848
854
845
673
680
546
847
456
479
820
822
843
575
720
719
643
482
865
786
774
515
203
769
635
178
625
722
675
758
712
769
702
554
686
760
816
484
692
624
781
661
381
785
556
783
680
769
655
463
778
885
533
611
726
716
858
631
633
715
672
489
657
764
746
807
619
931
653
738
714
658
697
671
411
557
938
662
627
671
765
862
688
782
769
575
591
749
890
617
777
700
787
892
763
546
476
522
718
716
932
576
612
398
707
572
819
832
617
1014
834
688
744
685
824
854
628
433
751
620
545
856
718
843
233
723
747
856
633
810
595
793
766
945
665
838
859
874
740
727
632
833
796
659
641
589
624
763
851
639
884
788
574
874
776
719
848
868
751
661
664
697
782
593
696
773
921
620
693
976
637
616
696
538
588
550
644
498
694
650
552
766
723
725
371
794
744
815
622
692
665
557
804
781
850
684
705
875
411
576
770
918
726
492
727
903
645
651
584
620
621
707
607
567
785
629
857
471
808
681
713
455
826
581
787
659
956
923
858
562
691
573
440
829
857
680
662
553
918
433
633
960
494
686
633
420
559
477
817
560
857
752
815
690
870
702
778
646
819
499
684
844
628
769
618
832
630
585
792
696
524
610
433
787
805
722
626
703
954
587
954
837
750
837
729
692
947
917
866
714
625
873
674
806
764
884
555
657
911
523
577
586
696
549
784
694
742
581
665
687
724
427
472
724
825
784
651
659
553
618
798
765
780
738
717
441
631
627
636
770
536
675
670
304
852
663
605
750
786
883
719
414
709
667
754
712
854
783
701
637
544
532
768
508
924
614
598
808
755
0
645
713
697
877
833
790
498
589
851
623
661
687
865
768
798
560
781
532
483
799
800
786
673
777
710
797
937
684
550
598
931
542
574
845
649
653
800
672
598
762
828
540
489
694
849
792
952
763
980
560
677
735
640
704
774
692
686
650
676
691
356
767
660
428
654
664
805
491
823
606
727
631
700
679
682
585
980
699
739
723
850
761
796
763
872
524
712
871
844
468
684
816
721
660
670
593
689
744
903
803
730
815
782
683
658
983
578
649
769
622
804
784
512
690
466
754
889
800
538
808
304
871
753
709
545
511
820
575
778
837
439
617
547
650
693
709
731
722
598
786
985
690
689
704
748
565
607
723
948
738
829
585
806
456
768
589
822
758
919
794
649
890
808
691
820
813
441
616
385
591
509
680
758
743
692
498
479
741
897
765
555
946
634
588
759
763
772
837
683
778
494
578
616
799
843
562
955
730
786
775
396
700
540
752
743
686
671
573
865
632
391
468
573
528
646
558
810
322
907
609
737
657
652
507
671
855
768
556
719
740
783
753
943
730
670
802
857
891
964
807
969
835
849
904
650
629
769
706
728
443
681
292
830
928
793
599
779
618
636
562
848
865
619
824
749
920
887
696
840
689
707
904
679
414
843
829
507
805
737
720
660
750
631
667
750
863
861
875
694
711
726
643
835
721
674
660
756
725
549
341
765
799
704
867
952
959
765
725
773
741
670
532
735
859
588
829
760
561
787
822
537
688
877
631
532
646
645
611
865
681
1014
814
630
794
693
463
997
731
836
780
733
544
879
665
705
269
587
649
713
742
588
940
696
628
430
775
456
696
813
436
657
642
738
924
767
798
818
770
675
791
564
785
664
719
569
562
505
648
707
480
876
806
661
1004
128
788
843
810
766
289
462
852
591
712
654
848
735
706
939
759
740
591
681
757
911
798
853
565
424
645
587
880
917
744
656
644
538
711
712
636
755
834
668
756
692
887
726
634
718
709
585
684
768
775
441
784
652
927
636
564
817
771
660
679
463
714
673
737
733
723
824
511
855
876
817
953
560
592
677
630
822
544
794
667
833
895
630
712
870
933
672
679
561
497
875
687
674
879
894
753
739
680
586
712
678
777
644
857
236
575
688
655
677
551
624
549
637
623
701
867
957
695
699
606
721
875
862
894
478
745
693
723
686
626
512
881
688
439
703
563
440
743
745
734
837
884
625
692
874
555
477
623
542
919
876
665
824
899
722
785
833
692
815
539
781
939
814
737
614
522
670
294
500
628
597
718
626
505
818
762
782
425
918
731
464
577
763
671
652
965
618
735
658
894
722
839
856
918
873
466
622
851
666
652
697
731
766
589
963
802
905
771
751
807
609
606
493
644
524
484
777
770
637
877
763
776
763
786
662
579
719
629
0
949
660
813
815
933
628
710
603
750
909
782
995
618
841
773
712
709
814
758
737
709
890
917
775
606
765
800
948
730
707
793
635
779
742
582
872
656
1014
451
567
946
424
786
708
698
931
729
847
761
811
577
544
894
704
633
687
690
736
844
746
728
191
654
518
519
690
761
769
571
741
774
738
813
906
774
816
685
708
530
776
416
852
844
635
567
624
925
980
987
788
611
449
855
770
888
809
746
697
664
548
622
690
744
703
573
281
758
835
855
592
603
753
576
945
744
834
780
888
486
820
687
525
605
911
726
799
492
612
922
974
855
596
524
284
617
571
462
693
628
805
597
744
829
704
632
601
834
804
657
711
910
585
781
461
739
786
844
680
622
747
780
666
673
531
611
752
543
862
707
875
719
707
725
855
820
894
583
560
673
588
846
856
482
456
945
519
514
632
242
959
747
773
830
574
666
674
639
642
744
812
408
848
928
877
791
802
739
641
636
856
934
484
784
636
737
680
785
704
922
650
739
635
725
872
719
926
703
418
825
432
539
766
674
798
720
477
785
652
761
405
809
633
630
702
861
764
679
719
564
617
870
668
660
234
607
668
817
528
729
701
644
630
794
898
750
691
593
851
735
680
868
794
674
681
703
919
557
777
462
675
880
866
380
669
404
898
317
616
637
565
916
807
800
638
831
851
824
553
778
932
753
396
496
493
568
732
721
487
457
660
583
680
653
723
758
945
442
854
748
726
771
691
495
542
932
957
731
616
817
742
738
673
431
880
449
726
401
735
674
624
606
686
720
564
660
659
291
634
647
773
502
566
773
779
476
749
610
481
885
909
813
537
441
765
607
690
645
648
693
825
603
894
525
925
232
666
679
655
688
734
344
789
654
611
880
681
604
776
698
952
379
739
742
695
516
474
643
389
753
789
772
652
769
696
740
806
736
585
847
846
704
931
838
603
706
402
652
525
592
657
424
433
709
266
634
692
833
756
771
856
836
984
579
645
762
949
791
267
677
890
749
803
891
758
626
608
831
739
707
922
632
692
887
680
643
742
625
760
888
737
870
441
730
612
473
848
707
608
761
665
740
687
774
776
834
620
909
889
517
605
430
845
722
701
697
683
668
311
282
769
785
739
722
849
729
592
772
615
917
773
387
861
619
642
838
704
798
778
553
709
792
896
976
825
700
694
612
860
826
651
687
799
727
744
568
687
916
715
492
719
642
805
835
732
844
788
625
750
827
568
811
698
932
719
684
670
632
849
772
735
774
769
934
612
758
763
619
696
730
799
697
891
601
472
649
807
765
760
753
755
924
733
742
712
626
656
380
756
897
503
332
578
784
585
778
914
646
714
711
396
717
591
871
958
754
822
788
698
667
811
713
587
621
693
687
634
889
716
709
862
307
619
588
616
895
722
804
583
830
468
943
789
773
783
516
663
800
579
810
686
960
594
457
747
893
664
646
815
691
839
927
732
721
651
931
766
686
735
458
724
800
653
714
735
697
547
723
653
415
811
556
672
741
602
888
732
824
700
826
764
744
753
972
708
749
742
800
550
648
820
638
573
725
697
713
622
792
905
723
817
832
664
678
691
738
625
527
753
701
904
736
520
901
580
754
798
623
861
753
529
543
695
949
532
489
802
792
591
382
696
771
723
547
653
557
722
617
694
785
770
689
890
603
956
802
732
568
807
784
552
601
841
640
798
679
88
978
787
956
341
590
639
784
626
719
805
684
852
306
737
654
710
640
582
566
894
705
596
795
563
766
706
958
720
745
330
733
559
479
790
918
213
874
794
451
613
745
900
804
656
500
636
399
729
779
759
339
954
695
609
562
791
888
781
806
711
613
532
618
788
708
611
673
716
747
1000
746
755
821
557
665
862
631
910
603
766
629
479
776
634
898
627
449
631
948
646
814
744
359
627
652
730
554
805
772
629
664
767
819
892
629
780
984
798
628
545
921
766
615
649
765
927
808
735
700
572
577
746
954
589
821
828
505
473
563
746
888
507
876
418
586
933
445
773
725
488
783
636
873
796
783
496
720
707
883
777
445
533
875
809
710
851
832
868
640
876
899
790
854
872
732
379
809
754
783
699
753
784
596
749
650
792
682
869
706
846
803
838
659
644
749
594
651
789
621
755
691
848
379
891
679
791
531
442
552
712
841
842
549
766
775
844
783
473
779
935
472
817
526
594
696
755
643
683
653
469
883
737
841
514
800
635
671
765
753
702
540
530
673
926
802
629
620
803
564
764
747
859
611
631
807
489
697
708
790
728
426
660
911
630
536
651
455
719
700
786
472
770
807
920
679
869
623
802
673
824
900
772
656
811
653
752
756
929
758
610
549
622
430
828
930
743
812
639
662
614
904
842
743
591
818
715
794
740
706
665
749
708
538
824
671
750
953
845
599
673
665
820
638
932
635
663
576
794
746
759
550
423
891
959
764
307
634
739
833
857
714
656
282
672
749
634
682
460
853
771
848
608
787
696
685
767
709
923
611
859
707
900
852
412
904
445
724
818
904
924
477
616
651
796
684
884
678
822
598
666
758
639
531
590
936
713
761
637
767
795
269
676
875
762
831
777
752
837
864
481
883
585
666
633
754
856
746
724
904
418
662
729
797
848
823
543
829
707
835
480
765
592
424
599
473
790
804
623
570
770
691
718
674
542
787
857
590
612
729
860
698
738
739
688
678
800
408
544
821
985
670
713
696
748
821
608
787
644
641
674
365
467
972
782
780
974
741
838
554
620
885
854
563
771
568
740
834
730
702
940
652
924
676
706
747
754
961
841
755
610
896
388
648
704
776
756
762
842
717
723
604
886
897
800
763
728
728
568
830
794
642
956
500
668
660
821
853
685
658
820
740
679
830
541
767
573
536
774
601
637
809
681
820
685
753
570
654
556
728
661
643
838
826
392
756
740
654
656
661
801
764
699
487
869
800
771
569
788
642
702
747
821
710
791
805
508
552
624
813
793
940
712
731
742
889
709
762
730
833
501
562
680
924
922
987
830
605
897
539
551
646
927
595
789
750
902
691
538
764
573
801
814
746
858
758
772
755
775
781
500
730
776
460
769
623
618
552
826
777
833
778
582
497
729
903
568
894
664
761
713
722
789
677
557
675
721
665
782
679
776
593
688
614
637
709
751
546
598
732
645
713
827
642
669
895
759
836
824
983
743
538
784
542
393
704
767
814
613
706
711
542
873
495
730
639
776
784
456
600
919
778
840
580
652
732
613
817
774
491
827
743
940
846
618
739
927
805
756
658
461
1002
774
718
757
887
490
817
728
494
948
860
730
657
616
778
700
635
880
600
466
567
161
971
677
519
845
550
858
767
658
617
831
762
553
483
656
881
854
630
864
830
847
560
453
701
778
713
679
659
519
634
768
818
673
732
681
754
810
813
696
821
803
681
654
657
534
841
880
819
459
763
610
684
838
464
441
729
907
593
467
731
820
692
721
686
746
791
763
527
864
654
788
753
533
740
877
734
564
601
464
213
713
701
513
875
494
760
390
740
660
850
677
458
735
735
585
697
778
787
556
838
551
622
563
788
742
610
940
756
501
442
880
682
620
842
589
799
328
667
891
630
839
836
776
575
745
823
687
673
751
727
653
817
689
921
809
796
637
725
738
590
807
296
698
676
895
645
655
793
702
377
598
468
664
865
757
789
783
894
541
705
913
928
899
505
895
557
773
579
786
766
889
752
729
817
794
478
545
108
728
737
940
538
630
847
780
656
721
710
751
786
631
661
879
650
528
702
609
750
455
680
793
433
728
920
712
772
482
1003
810
833
773
639
808
684
787
756
967
752
826
905
799
431
1014
822
486
636
462
558
525
800
637
882
494
610
816
843
641
998
661
742
718
746
667
508
677
668
718
516
712
719
887
751
458
800
751
685
764
502
657
652
718
629
749
786
624
867
840
479
853
630
798
655
513
538
732
289
561
809
590
640
764
809
728
515
742
919
362
772
665
811
516
744
632
734
867
966
654
839
863
564
758
583
844
680
749
609
722
513
924
716
408
768
570
754
852
646
724
780
723
514
584
772
840
721
498
556
502
698
624
393
766
706
506
904
769
683
575
736
617
841
687
764
697
728
702
862
632
758
564
736
802
810
853
477
703
876
441
639
624
774
627
552
143
831
799
1003
543
667
555
670
796
616
691
594
575
581
706
769
599
714
469
704
294
564
494
658
768
543
227
846
808
619
712
691
593
756
704
835
568
808
883
622
656
439
721
873
671
672
924
788
851
698
814
305
330
697
785
718
629
494
735
402
837
783
709
809
818
586
683
563
752
762
731
816
414
601
696
759
613
849
645
790
802
601
800
738
804
783
591
948
935
594
740
682
526
695
552
568
794
758
495
881
699
640
701
666
316
678
760
889
710
442
669
694
510
636
888
482
767
707
815
583
592
756
739
807
685
749
656
641
506
501
971
761
639
872
851
720
727
641
706
631
607
883
902
875
808
587
402
639
722
585
675
463
525
726
604
918
616
744
790
767
734
614
751
630
590
949
369
722
714
700
673
764
406
713
928
582
677
573
684
545
778
609
741
640
787
568
692
957
842
885
710
624
741
625
675
671
639
801
741
602
814
466
214
607
712
795
909
743
363
667
952
933
790
822
833
593
611
754
622
907
871
465
764
724
698
831
743
482
548
817
745
718
628
745
712
714
787
778
484
855
678
908
622
898
540
593
795
869
572
773
955
467
0
580
535
742
726
472
692
577
835
358
829
732
507
796
780
672
582
807
797
769
556
435
735
916
665
715
671
851
800
710
728
563
617
752
993
886
676
664
817
669
629
775
796
786
743
715
655
962
722
697
827
822
709
659
739
788
828
782
793
840
736
922
719
652
714
463
917
750
672
934
634
440
618
713
246
555
736
583
789
645
388
961
638
700
579
808
852
885
769
764
629
393
796
874
582
845
745
929
927
890
581
589
644
684
598
398
630
486
656
600
852
598
937
707
885
377
695
816
675
370
756
443
719
680
495
857
752
647
823
783
668
798
810
823
589
588
701
781
714
645
617
795
389
825
929
667
798
817
610
735
693
712
733
764
854
999
700
814
749
595
716
436
649
786
363
840
751
661
657
691
774
620
640
797
603
864
510
782
697
731
658
973
694
763
848
604
796
719
462
745
764
615
664
813
379
915
679
778
565
781
622
868
719
871
550
775
794
861
766
799
840
631
962
869
614
533
845
743
730
655
683
519
574
773
680
710
750
847
885
723
911
389
557
765
654
842
932
601
715
830
618
800
594
726
774
628
877
482
641
815
863
710
650
796
546
674
336
404
724
630
572
348
579
746
459
467
896
714
862
630
634
774
913
714
706
565
715
642
687
765
377
684
719
718
781
905
538
658
860
821
819
759
654
551
828
933
682
674
710
597
893
760
734
572
611
648
811
626
821
730
708
628
783
622
615
601
530
864
628
845
573
606
944
676
734
802
609
331
383
475
749
800
765
761
874
687
731
660
632
622
617
822
606
769
740
770
764
924
895
818
569
691
893
799
620
886
485
775
478
924
806
600
778
834
904
993
726
907
751
631
586
989
498
698
646
695
593
673
923
601
543
937
588
701
728
496
921
734
905
753
825
516
677
473
974
637
818
815
932
608
565
657
651
792
605
883
757
642
586
779
431
544
806
892
851
671
524
682
607
584
798
848
516
696
663
491
846
799
602
660
642
737
939
957
642
889
788
613
694
681
722
356
719
907
732
703
883
635
752
820
771
802
546
704
525
595
639
794
704
943
723
834
775
472
778
804
545
633
655
657
870
670
549
568
645
569
655
577
795
874
838
717
624
793
515
762
661
789
699
746
616
851
807
681
846
965
957
738
821
680
703
618
942
669
745
798
945
856
658
871
798
875
607
782
707
757
815
703
260
808
623
823
818
896
598
583
757
796
657
856
728
818
487
622
431
735
867
665
670
793
901
858
705
882
650
660
857
704
905
668
833
811
645
660
728
581
593
698
923
714
500
734
885
758
891
636
269
447
579
693
912
541
778
786
733
697
869
828
797
661
794
620
788
675
674
509
705
683
700
697
592
782
492
875
782
602
759
808
705
776
883
640
755
727
705
783
765
645
489
749
456
798
162
516
703
944
762
687
732
677
773
829
753
629
610
464
597
403
611
672
701
904
999
505
914
741
782
546
772
798
672
639
820
822
922
610
840
554
592
615
640
926
683
637
715
714
890
654
723
547
753
672
927
746
646
770
715
856
671
722
622
393
735
690
693
428
704
670
494
688
718
809
737
798
692
432
937
652
888
924
922
458
741
802
859
583
703
838
842
758
851
744
801
596
930
564
761
598
632
317
880
833
514
697
791
505
800
790
425
523
751
742
721
830
790
587
933
652
178
742
521
683
817
525
1000
813
651
558
613
389
838
543
602
480
733
720
652
861
711
868
580
520
687
689
568
575
666
871
777
262
662
814
798
557
747
643
864
703
811
766
831
636
739
951
736
866
634
652
669
822
721
540
793
634
273
795
843
955
515
982
749
560
635
781
807
822
769
528
571
844
608
690
699
677
718
337
972
594
656
772
820
757
628
794
658
812
667
744
425
676
766
723
648
767
870
591
893
688
843
704
884
703
316
576
677
670
797
590
720
730
708
643
773
759
299
761
625
515
628
644
940
912
741
854
745
906
853
620
851
957
555
484
514
717
657
775
797
492
790
471
154
706
710
887
812
701
812
570
720
825
757
619
494
644
697
754
757
640
688
659
822
710
827
690
655
821
689
574
845
832
530
754
745
913
440
676
775
550
668
752
1012
262
114
691
375
710
768
740
905
589
482
629
831
667
869
792
937
587
747
821
667
679
594
777
652
879
821
799
851
754
696
866
895
863
723
555
804
484
803
509
679
609
677
626
697
751
774
577
867
771
746
602
397
211
645
960
506
939
873
756
797
620
680
645
702
819
652
1004
820
566
789
671
783
750
766
723
583
642
493
835
672
864
879
760
787
775
655
597
691
835
677
654
555
575
912
599
815
815
638
683
575
681
716
872
685
527
593
799
639
912
903
811
939
679
587
823
773
810
604
658
571
767
575
395
720
417
597
733
780
811
617
901
695
766
701
760
558
816
394
909
632
805
933
729
762
632
572
599
726
600
626
721
890
812
995
773
795
679
536
677
671
541
509
836
738
709
498
620
928
739
439
899
751
844
636
633
806
657
385
545
583
682
666
901
855
724
874
685
739
658
685
635
499
931
554
746
853
624
638
531
644
762
565
387
619
639
803
579
159
827
826
665
680
764
792
804
810
429
830
459
662
772
399
837
371
602
826
649
809
487
884
795
705
690
715
799
754
1007
544
577
689
920
594
788
625
744
935
448
436
801
758
878
539
931
851
297
802
606
883
567
714
560
786
662
762
767
746
765
675
335
647
867
796
647
684
868
724
740
845
630
488
736
328
819
838
538
665
689
813
685
805
573
577
401
516
616
839
575
695
713
828
425
652
613
755
532
734
787
741
627
927
670
606
749
667
389
734
437
477
997
672
554
890
868
653
815
422
546
500
867
588
420
754
537
633
620
808
647
904
782
743
703
861
491
733
803
665
824
654
743
317
633
672
735
720
832
611
399
728
659
788
799
731
634
442
636
661
757
777
886
743
342
907
721
631
754
704
663
851
950
767
577
250
569
857
852
708
970
824
724
607
560
589
456
836
511
404
952
768
776
680
843
926
631
768
500
450
702
803
852
610
720
671
775
677
953
888
569
752
668
549
389
869
732
726
712
826
341
764
608
635
764
711
508
781
780
746
602
631
729
540
535
595
725
680
695
632
559
660
426
789
775
824
640
759
635
775
281
556
639
799
488
676
891
913
747
772
634
476
620
775
454
558
861
566
715
778
167
825
777
653
827
779
671
726
916
546
802
747
702
864
562
662
645
551
715
811
608
826
409
673
681
737
934
949
684
564
980
431
974
781
559
953
695
639
545
756
935
686
805
462
920
760
315
657
660
966
749
699
451
445
656
800
882
661
752
860
689
814
878
875
792
815
650
810
900
769
710
750
718
593
559
710
815
267
401
547
775
730
793
807
737
677
742
686
273
702
748
600
677
604
738
823
512
704
706
485
762
630
684
845
728
811
692
966
780
866
684
419
834
857
868
842
669
888
663
683
619
842
645
639
420
720
796
806
642
739
637
878
643
742
830
564
817
963
945
843
752
681
791
395
768
499
709
677
874
694
604
685
776
611
734
686
444
957
734
676
767
826
566
528
585
485
702
865
564
817
719
802
914
720
804
856
394
609
768
499
746
554
648
776
681
725
831
725
896
795
731
695
391
603
807
256
639
698
785
675
861
845
822
749
686
742
769
788
75
766
568
869
705
488
835
648
382
704
794
810
835
862
478
697
809
646
856
748
663
668
632
768
588
0
490
619
533
784
797
467
707
461
739
762
662
829
858
711
709
734
712
714
488
557
553
512
661
759
842
527
600
932
726
862
583
733
611
555
696
661
643
665
637
792
666
563
634
709
243
801
452
787
854
875
458
588
728
743
784
552
893
903
753
738
528
868
657
544
692
811
803
648
740
871
568
724
555
633
708
463
849
719
748
650
894
596
896
538
839
441
703
650
875
689
406
293
706
882
754
797
795
784
627
838
769
564
844
819
756
792
740
914
425
727
632
649
913
926
715
757
649
691
845
651
695
879
679
718
610
816
419
679
743
858
923
468
884
822
838
702
643
724
607
742
890
771
636
639
648
635
509
872
630
744
776
796
665
749
497
475
752
854
521
733
662
843
840
685
940
405
696
564
731
724
646
932
633
408
458
564
753
823
809
945
787
679
725
814
415
729
698
894
619
724
708
684
666
980
738
692
847
823
824
640
749
685
682
891
773
899
645
694
795
904
713
774
586
707
741
705
784
919
678
906
786
701
534
666
528
761
830
465
832
773
855
760
783
624
766
839
848
738
584
672
770
784
531
921
686
876
844
675
852
812
739
765
725
730
876
726
933
716
592
695
133
739
788
786
848
638
886
709
647
584
718
815
603
792
554
332
693
822
543
552
885
527
726
778
630
442
453
729
655
707
889
784
730
702
564
861
720
775
651
790
845
755
490
558
841
515
691
729
665
680
630
844
727
642
680
731
745
836
799
388
772
574
531
766
443
563
668
809
842
485
749
864
786
830
803
895
722
697
768
617
707
713
543
726
625
593
877
704
909
732
824
809
519
779
892
282
609
393
566
400
578
546
667
608
845
834
271
512
793
545
348
663
878
900
740
810
769
849
820
950
704
768
743
820
922
764
611
515
569
633
824
746
691
478
703
647
535
657
811
793
404
727
783
619
647
678
648
341
650
853
656
773
790
0
655
748
770
548
506
828
820
757
555
752
570
592
741
619
812
696
788
486
804
673
727
912
301
607
594
821
826
791
797
879
911
832
749
781
731
685
556
838
875
783
631
682
723
617
718
705
931
753
654
667
886
789
731
753
699
716
787
919
747
813
783
623
488
523
825
513
661
628
814
735
757
837
518
496
896
793
839
650
694
698
797
652
737
692
756
844
780
572
830
871
815
766
739
596
887
840
452
600
607
659
885
779
600
849
506
708
399
747
760
779
888
595
688
841
787
651
519
772
865
878
408
881
764
539
763
687
465
360
612
919
472
613
558
790
669
791
653
607
764
864
952
822
750
710
898
761
453
630
839
785
603
801
380
806
680
706
717
835
750
931
923
559
740
778
775
681
655
557
378
923
835
417
867
665
629
638
600
944
875
528
594
481
715
764
694
710
727
679
537
536
745
208
602
667
794
747
996
708
794
706
922
639
821
568
847
396
884
601
646
788
700
541
616
586
787
747
650
673
558
809
755
736
618
840
617
693
926
969
608
541
751
136
650
738
720
630
585
688
645
855
593
577
905
875
742
628
621
638
756
896
706
564
715
953
949
514
795
663
737
936
764
639
841
801
796
704
561
830
780
751
726
709
22
744
869
609
490
826
736
607
616
682
809
497
833
869
862
586
669
542
502
709
483
752
569
603
811
566
576
536
755
537
774
738
847
645
830
698
805
762
530
878
675
889
525
532
798
323
518
749
560
592
633
390
563
796
597
780
661
866
653
675
641
522
553
589
751
786
382
823
392
399
750
839
709
764
820
773
865
706
668
832
847
608
724
735
758
804
488
866
531
893
691
716
722
524
693
564
844
598
748
752
743
693
617
622
597
660
691
581
797
690
848
790
576
615
210
716
714
740
866
714
876
804
602
603
321
723
630
643
660
658
813
927
428
686
983
929
663
653
721
676
741
579
540
521
779
616
528
682
514
670
709
513
663
592
671
798
860
470
709
819
737
523
474
681
707
474
534
857
681
805
553
592
540
495
662
620
874
783
650
763
567
650
679
761
744
705
322
860
506
667
621
629
756
846
517
585
959
589
828
618
707
544
309
840
692
432
678
784
246
831
660
834
786
714
563
659
637
747
806
735
729
688
799
645
748
630
688
762
656
580
744
778
870
624
417
830
819
601
627
358
736
746
726
660
624
730
902
859
744
699
713
882
547
749
769
479
942
856
849
728
741
818
742
928
768
757
884
676
789
816
707
859
803
456
706
474
849
776
533
726
802
677
654
762
697
855
695
795
569
772
763
726
481
779
799
751
713
640
768
582
650
746
362
804
619
856
658
550
917
647
665
894
872
749
677
709
551
773
371
609
653
743
401
856
468
697
594
686
695
697
911
689
692
560
587
791
507
798
876
654
813
809
458
653
672
757
492
826
431
993
639
766
761
729
862
722
843
600
773
752
682
585
625
877
898
933
159
757
983
633
594
792
596
733
896
664
764
778
784
678
676
596
363
742
448
725
549
626
763
695
789
593
714
791
507
814
863
577
694
641
616
531
708
804
615
917
560
253
452
834
592
456
849
757
714
556
672
637
477
718
416
875
434
655
782
622
817
825
909
937
936
606
784
762
755
718
459
641
527
700
914
577
703
892
685
766
778
682
848
828
444
486
801
659
812
624
689
868
496
781
421
790
495
829
494
851
696
519
555
802
959
916
824
822
773
914
685
760
717
621
852
721
663
755
740
788
700
677
574
836
670
822
769
502
686
485
996
629
800
505
832
678
821
930
594
688
515
872
934
660
658
694
748
591
750
779
643
793
759
819
714
664
774
410
879
855
899
439
767
678
840
715
770
881
310
808
689
706
666
480
748
702
711
669
870
366
637
805
558
551
904
602
628
570
693
957
552
690
845
133
853
589
902
578
876
637
753
641
665
622
768
800
815
816
561
358
797
641
1014
572
802
436
430
763
784
560
917
898
634
434
483
515
671
713
840
671
672
822
734
769
653
720
998
594
824
760
804
716
837
534
709
751
693
663
750
716
617
627
645
627
728
977
724
794
794
726
541
301
850
643
492
793
724
844
1004
572
623
601
628
717
588
690
700
619
787
797
573
762
390
786
792
887
760
583
793
775
603
745
693
639
746
830
520
630
723
699
985
686
786
867
766
703
518
829
630
850
618
751
706
762
913
795
822
721
767
857
751
606
659
655
761
834
712
859
773
712
762
765
655
799
668
796
774
393
864
835
749
680
613
593
138
565
793
880
677
615
786
967
781
751
722
756
701
938
681
842
846
625
865
678
750
476
724
708
299
812
736
422
921
743
570
728
533
207
773
772
794
466
789
831
724
857
593
847
718
808
785
784
871
444
826
844
568
686
755
672
805
855
915
731
619
696
496
663
808
774
910
573
779
314
483
796
675
722
838
853
796
633
943
733
715
785
668
565
774
652
716
730
638
682
391
857
928
813
800
762
618
786
743
844
636
888
797
749
952
902
812
500
708
786
618
716
555
834
861
566
597
707
641
785
414
606
640
763
609
806
791
651
738
579
786
739
565
792
865
727
568
617
650
719
875
676
544
735
800
998
487
682
812
639
682
622
623
790
805
458
838
794
618
996
489
541
917
681
693
775
609
791
803
743
731
845
949
613
736
654
929
764
866
684
763
717
785
771
788
871
652
868
918
737
1010
699
570
603
403
698
675
766
559
717
712
868
791
878
682
741
392
579
649
613
831
825
921
682
685
800
649
685
403
606
648
553
754
587
866
774
672
813
621
795
800
766
802
819
691
361
396
614
856
754
710
613
847
859
264
722
792
594
943
504
806
810
849
805
878
571
674
573
642
971
587
642
762
680
765
800
822
632
508
783
736
847
669
836
950
632
844
620
731
656
688
634
503
767
842
674
915
672
704
652
725
827
779
755
652
861
743
825
612
560
785
557
796
647
851
909
641
615
706
795
747
698
806
377
687
687
742
399
440
662
849
770
834
588
717
866
696
508
828
708
595
653
819
676
286
938
746
853
706
667
554
789
501
532
708
713
698
742
767
794
654
569
605
833
717
483
712
691
389
822
693
639
760
480
488
716
669
791
882
832
588
573
795
641
666
75
851
589
392
736
888
682
858
737
812
536
765
466
631
558
288
805
182
666
908
562
697
643
526
683
545
754
935
760
322
696
704
815
714
796
502
814
991
970
741
910
619
949
827
611
417
635
903
820
825
765
810
750
784
674
764
663
620
443
674
602
632
811
727
652
636
711
718
389
754
724
701
747
648
629
669
638
729
565
794
876
861
738
966
714
721
493
516
756
691
660
815
689
694
510
506
883
660
793
581
764
731
701
348
634
759
620
565
885
950
746
836
667
685
889
683
684
620
472
758
619
462
663
781
762
663
749
651
685
600
527
508
455
709
863
701
595
653
637
537
546
747
673
764
881
523
542
931
503
706
757
762
706
676
754
645
678
587
659
791
789
596
538
567
876
950
800
719
680
904
490
850
664
564
462
548
510
693
495
662
814
605
577
699
926
764
964
547
541
680
369
733
616
936
812
716
785
674
636
538
674
757
833
893
921
635
759
828
621
818
805
639
727
685
460
466
897
779
672
567
676
951
905
731
187
677
739
703
902
908
856
607
877
957
807
516
618
858
823
475
851
599
730
670
709
860
815
825
570
745
665
954
738
531
735
889
723
805
765
327
640
737
525
764
7
608
840
886
596
568
972
577
364
774
620
434
749
640
673
924
800
664
736
900
889
587
665
500
653
726
916
606
665
773
575
763
843
751
773
697
149
819
618
792
665
876
520
782
746
863
844
736
769
592
850
827
854
817
754
814
689
483
759
658
702
657
553
683
782
231
843
905
532
839
797
845
739
542
759
732
898
879
728
841
767
602
672
592
447
376
795
541
742
797
623
717
814
645
788
674
794
743
765
755
651
664
803
822
823
674
555
542
863
671
458
722
891
606
806
625
475
894
633
664
737
674
882
777
852
865
582
690
761
772
990
687
542
642
609
695
474
674
569
924
701
561
738
397
197
704
616
755
632
913
151
814
762
801
651
526
665
777
640
706
606
744
753
675
630
328
848
421
799
669
708
387
774
845
608
642
707
465
814
795
678
899
777
711
749
650
695
469
810
609
762
975
656
753
585
840
867
418
774
867
702
985
483
833
580
696
701
469
773
633
963
446
855
531
583
739
671
529
694
827
772
643
706
761
746
658
716
617
640
687
847
684
876
806
722
662
507
581
739
758
941
927
908
789
779
617
545
690
462
862
535
739
696
590
560
533
622
903
632
342
717
841
738
595
688
555
683
425
703
671
473
804
649
914
914
627
547
696
750
747
812
439
785
543
650
712
942
121
689
634
738
852
736
710
698
492
421
689
909
788
783
695
593
883
663
467
901
556
898
710
734
575
552
806
552
771
445
882
710
745
480
834
827
728
663
727
387
840
712
732
492
386
645
881
779
935
618
668
825
666
879
630
564
708
802
858
554
812
585
528
848
567
791
545
849
573
671
547
327
789
751
867
822
723
605
831
478
727
750
838
930
798
771
400
746
784
513
718
808
824
764
842
742
576
594
638
786
814
780
804
649
645
819
903
581
760
594
645
560
699
655
728
824
670
738
699
761
526
777
499
891
401
672
846
454
796
674
790
731
666
569
829
750
660
700
703
123
473
668
761
604
819
717
864
917
768
916
694
828
581
781
797
781
636
857
734
805
630
764
590
893
660
642
917
844
808
656
496
103
602
896
650
636
881
784
891
729
686
526
209
875
740
735
731
651
821
676
777
237
944
713
840
876
911
724
835
964
735
747
894
709
881
772
852
474
677
617
621
865
200
735
694
685
674
885
691
903
781
453
798
858
774
775
844
621
410
376
755
939
659
994
717
401
404
483
950
867
646
433
777
658
778
812
881
706
783
574
889
601
463
824
646
787
863
763
888
747
22
914
923
779
727
811
378
463
753
753
654
709
793
726
417
498
723
709
750
702
863
606
581
689
639
738
704
656
841
858
629
768
651
618
654
701
782
439
768
817
592
698
764
711
621
276
830
634
827
815
740
595
605
721
691
609
665
637
499
708
704
530
695
752
871
725
775
436
791
573
787
500
757
727
487
780
685
718
720
919
721
553
769
704
404
831
705
674
695
608
779
693
820
581
833
832
585
800
689
837
636
874
616
744
647
757
709
664
596
592
207
744
712
403
784
954
898
515
879
755
412
723
814
545
793
825
829
615
817
844
812
673
470
644
505
785
502
686
821
615
876
801
647
574
679
784
606
463
770
765
682
428
331
657
717
831
865
684
626
706
795
835
727
242
956
641
940
773
516
476
762
630
933
657
918
787
681
589
739
649
666
654
762
754
903
748
961
652
705
706
855
662
873
392
637
750
657
937
802
732
765
614
590
756
503
921
816
611
982
757
864
824
679
849
872
650
196
652
765
526
726
674
760
808
299
451
833
688
736
623
775
841
381
626
539
713
634
747
599
622
701
932
594
746
527
686
753
824
539
802
815
746
616
869
395
754
687
664
670
808
370
766
424
713
633
900
683
583
891
742
466
325
548
605
507
926
681
761
909
727
862
666
624
899
725
658
745
571
669
494
630
916
440
846
751
689
648
660
645
738
768
763
506
502
861
886
757
695
814
552
532
781
823
560
990
897
742
675
833
655
584
695
958
779
898
439
620
636
656
739
929
439
570
591
573
754
720
884
685
801
666
629
483
721
588
557
713
522
821
563
837
966
798
529
595
542
610
625
954
588
764
713
887
698
303
704
666
685
768
724
635
719
595
541
713
825
904
934
642
683
673
621
639
828
594
599
777
752
707
808
928
753
482
640
796
795
813
675
729
94
656
969
720
664
664
821
673
710
577
1014
793
590
531
391
773
886
843
784
597
774
915
809
786
755
677
766
602
552
941
713
852
459
574
651
739
610
652
881
680
746
895
665
867
739
638
823
682
690
683
592
712
647
629
862
826
767
641
816
859
234
884
794
641
668
722
645
622
726
637
928
681
550
584
756
755
942
537
728
800
551
642
760
935
707
699
611
919
866
572
701
744
876
612
864
859
680
778
731
843
706
612
686
197
577
489
868
729
461
489
707
719
800
826
722
554
772
953
719
794
880
599
532
733
604
739
777
698
662
470
937
630
898
704
865
586
774
820
765
853
408
839
465
368
868
623
830
431
620
249
820
694
768
719
728
793
722
843
570
909
793
651
648
857
781
233
546
924
666
634
739
527
785
628
652
836
849
630
692
427
417
755
639
550
585
771
915
656
698
529
629
706
770
650
640
758
645
836
550
934
686
726
979
752
723
628
762
668
664
834
849
793
407
846
822
576
754
587
891
814
812
938
801
681
693
654
664
603
790
716
711
793
624
504
535
551
813
679
740
653
745
696
914
672
805
498
449
697
764
696
710
659
697
797
769
826
874
728
498
712
848
796
712
660
642
832
334
798
571
794
763
754
332
785
504
808
761
868
606
710
676
524
381
549
899
639
785
626
833
781
724
622
639
544
936
698
628
525
697
763
834
615
856
664
891
802
727
597
707
422
725
657
605
647
0
834
492
725
760
546
625
659
719
490
835
891
864
834
679
750
672
593
487
618
867
727
817
839
641
850
650
879
799
632
979
907
684
428
654
639
616
0
674
619
623
675
691
701
557
714
719
936
514
774
815
641
629
815
608
652
611
762
835
821
568
769
740
658
884
526
638
697
880
590
838
496
789
1023
791
595
645
738
807
731
471
724
624
633
854
654
668
526
488
294
681
627
877
641
861
708
727
683
789
627
598
547
635
707
709
624
747
778
805
844
719
423
707
939
932
746
714
486
697
639
246
856
871
659
577
795
799
632
543
843
899
749
476
732
915
843
459
573
638
628
845
915
863
614
667
799
816
893
657
973
806
898
542
881
642
808
661
621
723
735
721
899
751
796
630
544
720
760
758
579
669
628
898
624
745
738
828
710
429
686
526
830
661
719
652
757
646
731
683
673
775
791
790
338
523
490
478
844
706
787
858
798
734
870
727
817
713
714
774
721
425
929
814
685
927
734
735
798
760
757
780
406
488
603
673
377
860
680
556
336
767
879
391
679
625
669
623
446
700
761
691
934
668
859
524
882
750
765
717
631
800
465
715
493
814
710
728
879
390
802
662
730
572
774
786
596
901
547
743
748
566
625
766
780
806
713
606
771
646
630
832
578
964
738
807
702
618
665
756
635
694
825
593
565
898
824
702
589
691
683
862
895
868
580
862
743
858
785
926
792
534
634
504
942
676
731
841
792
527
654
738
712
315
910
613
684
703
652
629
564
795
848
664
507
479
814
870
908
869
542
796
827
676
958
775
804
694
789
650
362
489
537
837
761
876
713
678
784
764
786
676
996
751
821
661
649
716
829
606
810
861
743
601
634
647
692
732
861
688
690
687
713
649
513
331
847
820
947
506
706
397
837
569
926
678
780
920
927
673
652
784
660
904
784
881
549
695
788
595
633
753
681
769
397
795
604
924
648
749
827
665
746
666
874
841
792
638
794
699
926
424
780
735
795
786
886
838
764
882
631
935
828
620
854
600
582
598
691
594
719
444
746
717
700
808
797
959
860
644
623
671
424
732
884
586
667
686
817
899
640
500
482
689
105
667
617
784
610
544
762
807
655
679
802
911
791
768
573
776
664
701
503
911
707
977
841
663
836
743
838
868
539
681
710
937
700
446
695
867
650
656
616
712
601
637
871
627
742
825
916
516
685
495
599
866
665
450
561
806
894
599
842
304
640
491
786
737
657
731
870
716
698
709
781
667
610
678
842
789
800
977
794
780
842
693
743
749
628
501
784
304
512
267
501
754
694
866
630
557
982
522
729
736
896
515
723
736
769
901
418
675
656
726
536
866
699
689
832
384
736
708
713
949
437
888
432
850
783
458
709
660
719
704
482
843
792
908
519
568
704
760
342
803
696
990
886
753
778
834
497
768
606
766
736
758
639
875
652
701
723
791
716
685
735
484
635
932
906
701
685
627
807
677
605
729
723
836
753
813
885
777
523
779
732
683
622
786
777
705
729
926
697
1000
882
719
738
776
556
305
838
664
796
926
708
909
813
843
603
784
770
840
482
630
680
979
595
753
838
636
552
704
973
439
668
713
709
816
687
818
737
567
482
729
706
925
744
755
618
609
804
522
719
705
811
809
775
754
629
487
822
858
393
858
598
675
835
589
790
712
843
790
686
566
769
892
431
591
662
698
653
678
610
530
666
580
671
843
745
821
737
531
666
729
786
952
785
587
709
898
659
359
688
659
502
889
756
621
736
878
815
566
697
780
666
539
675
571
801
649
832
660
431
803
640
625
470
750
734
444
752
1012
843
652
733
686
709
809
870
849
482
626
686
988
782
816
805
319
595
642
485
700
685
815
873
690
826
854
767
865
536
532
534
844
925
370
594
695
590
941
726
647
708
848
452
722
554
189
793
392
735
823
621
652
546
723
723
560
788
502
911
937
764
596
959
859
572
704
255
947
639
758
889
700
761
757
537
706
596
494
718
638
666
609
446
650
231
580
936
733
582
771
956
709
917
661
711
738
776
885
704
905
913
657
520
627
675
685
931
572
809
619
621
915
661
790
687
581
457
735
656
560
830
656
655
582
708
776
696
761
871
754
695
738
934
642
677
632
595
747
801
798
870
728
569
659
764
850
885
819
466
857
688
0
707
470
975
730
603
804
640
786
727
877
819
699
670
556
884
659
843
640
617
478
713
703
748
681
705
425
631
785
794
670
672
808
619
996
734
851
733
945
829
783
817
441
533
367
688
754
653
698
797
949
636
758
506
756
759
972
776
704
750
780
575
421
673
765
759
706
766
485
911
621
807
778
673
590
706
957
734
501
552
685
586
728
525
732
544
787
639
768
814
604
903
774
722
888
837
849
826
858
473
755
360
751
593
491
570
764
461
754
731
772
702
808
587
650
731
686
564
531
723
839
639
773
877
845
497
569
795
613
668
746
646
658
585
681
140
660
733
720
780
817
821
758
943
761
689
551
820
710
806
823
651
492
477
853
891
798
690
847
799
847
692
748
490
977
669
676
590
963
637
697
819
495
827
768
543
463
425
75
801
796
679
940
753
938
843
799
592
838
709
858
590
728
714
739
728
695
822
691
756
818
986
957
825
783
684
265
800
679
697
835
677
872
553
720
880
798
788
639
594
560
677
967
686
673
661
809
550
664
375
647
539
645
389
654
595
731
640
907
756
837
829
756
751
748
932
646
615
795
718
827
856
748
828
681
765
789
717
840
606
814
831
749
585
861
695
611
821
711
585
694
821
570
924
597
648
556
869
638
898
867
953
578
520
988
539
547
752
895
538
499
617
824
784
816
831
624
615
561
605
600
875
559
880
362
869
822
527
839
266
501
686
668
660
864
601
753
713
853
948
722
742
557
739
852
830
576
722
677
888
759
671
877
596
746
844
847
617
471
746
669
708
625
725
640
749
914
635
442
860
719
811
698
798
834
908
799
659
946
592
622
352
678
843
744
460
740
588
955
806
758
657
557
152
488
757
795
562
697
705
460
525
502
840
820
635
624
699
659
639
737
812
693
875
583
520
856
738
422
835
655
589
708
765
742
661
686
907
530
611
481
641
868
573
778
821
680
652
867
691
775
785
589
625
787
489
726
790
786
806
726
763
760
918
786
475
697
752
477
732
62
726
692
639
798
571
599
800
728
796
835
518
618
683
775
660
709
634
688
627
855
631
613
633
877
681
728
838
756
847
652
791
793
648
757
816
561
893
669
660
675
499
927
688
635
739
658
581
874
516
626
373
492
823
778
841
927
837
704
652
799
630
680
625
782
833
807
772
751
764
665
768
709
723
723
597
860
851
631
799
977
726
580
617
694
785
691
896
796
991
589
657
739
604
796
758
802
483
643
811
829
967
530
640
762
719
929
702
707
763
308
832
705
767
831
753
886
612
775
583
744
553
802
739
345
789
405
874
813
866
681
349
537
464
374
812
725
879
741
427
793
729
713
661
795
613
753
811
737
446
661
796
682
585
587
694
641
836
923
526
882
842
714
813
837
903
811
900
764
829
791
753
596
678
680
519
579
684
706
656
754
821
724
728
776
817
816
511
844
774
945
836
931
952
552
684
875
616
813
879
357
711
632
746
333
809
745
163
779
643
715
688
480
463
741
601
850
601
334
661
724
691
877
835
522
733
896
662
788
348
556
125
476
427
782
810
541
762
606
673
534
866
766
770
778
575
583
655
623
954
737
832
805
676
320
676
787
519
649
813
624
349
654
675
731
733
567
639
623
740
660
666
514
792
681
802
604
678
666
703
854
531
1003
614
528
542
806
688
886
822
954
761
773
779
903
772
530
651
700
564
771
596
926
610
456
732
749
530
690
831
690
743
914
754
780
767
765
850
800
839
595
510
693
886
497
926
1000
678
758
455
817
799
868
572
652
709
818
920
431
689
846
712
738
677
568
718
539
600
747
668
771
494
671
719
761
588
754
552
557
544
784
654
826
678
646
698
549
952
830
822
459
780
499
594
689
763
801
692
671
871
647
752
453
933
674
687
592
591
757
625
910
522
925
718
786
931
566
836
837
560
589
771
692
885
662
847
776
809
621
904
677
783
840
620
715
619
661
492
786
800
901
491
811
659
727
564
414
826
885
833
929
804
472
814
680
855
883
820
824
731
730
869
615
565
543
619
619
846
730
781
662
960
370
498
540
841
818
549
898
558
867
641
772
600
662
416
716
800
787
931
705
700
596
791
707
892
656
634
782
712
892
672
803
904
759
349
549
663
879
717
749
516
789
257
806
846
702
760
736
647
727
583
747
562
736
521
739
788
761
791
737
620
578
766
648
546
808
722
774
869
573
666
520
813
720
846
672
786
450
793
953
780
707
419
777
698
779
840
856
702
838
632
813
750
495
691
667
796
711
450
616
689
619
588
966
432
661
838
793
629
684
592
508
817
867
718
563
603
714
711
827
858
615
763
631
860
725
691
876
620
698
874
585
412
726
618
675
768
675
527
658
469
833
751
698
751
731
577
623
590
663
777
797
758
770
775
898
735
724
606
689
812
908
859
758
441
747
791
466
657
883
890
732
329
797
661
826
591
592
758
619
823
589
558
744
555
868
847
551
606
702
931
586
764
649
808
688
576
708
855
675
655
708
813
819
925
774
352
680
643
689
714
839
668
665
744
679
803
838
656
808
708
844
507
718
900
594
769
369
813
725
704
718
504
415
676
813
756
805
877
894
985
744
435
686
724
525
488
774
467
585
865
594
579
569
334
802
743
540
492
790
641
648
753
883
693
733
613
846
903
641
917
569
844
451
782
676
961
686
751
805
713
599
547
930
603
677
784
811
563
625
595
648
825
481
552
762
827
841
771
654
819
551
510
898
685
850
845
835
605
818
768
430
891
346
795
766
834
696
690
0
565
831
666
597
625
844
981
494
817
924
773
704
541
569
721
715
518
456
497
668
743
825
615
866
553
718
519
777
597
687
570
853
642
751
852
813
506
451
734
899
535
824
838
457
685
879
708
848
294
903
979
738
785
779
711
197
732
820
467
274
727
683
542
560
815
621
829
568
782
746
689
676
634
520
372
719
906
943
666
523
836
792
692
213
673
669
689
567
505
394
601
621
644
619
686
535
766
722
795
521
701
466
528
548
675
808
615
737
736
862
749
558
807
841
694
834
760
527
738
558
815
774
767
690
719
632
919
696
812
668
663
617
793
846
807
133
623
796
936
752
880
709
686
680
565
907
914
871
794
508
618
175
785
654
737
805
827
760
706
722
852
814
609
422
755
647
760
625
479
636
644
654
564
648
657
685
721
844
751
786
584
678
781
778
564
634
929
760
707
646
750
699
838
472
784
851
737
543
809
664
797
594
714
617
774
855
808
334
674
915
489
1004
977
822
665
680
697
766
777
698
631
886
769
744
786
753
587
692
583
603
522
780
739
592
689
794
773
657
658
620
462
744
749
407
559
735
695
947
532
860
629
839
588
801
726
813
527
693
353
551
779
729
654
948
776
772
651
477
806
723
549
570
791
808
722
692
777
668
661
899
732
731
765
494
682
264
629
483
751
907
315
868
723
469
731
898
307
655
607
789
845
689
598
735
582
377
762
661
779
639
752
842
698
179
756
855
767
697
836
736
774
700
893
950
724
717
617
507
728
727
312
785
853
837
643
936
508
786
871
481
748
743
820
701
726
620
718
825
576
658
539
749
831
778
569
512
809
714
508
735
626
711
805
833
729
793
816
687
829
514
619
898
823
963
599
881
520
673
672
672
837
595
726
676
679
658
747
856
650
779
614
649
779
635
417
634
622
764
544
178
637
798
681
691
622
570
745
588
531
897
681
471
487
840
621
715
698
742
573
846
694
823
702
859
618
630
746
544
651
687
595
760
835
740
776
892
739
676
769
766
728
791
755
698
690
896
409
452
566
792
404
705
651
776
750
880
670
602
730
836
651
689
581
732
660
717
636
508
557
513
634
738
629
483
580
534
682
714
932
704
488
835
785
700
717
809
834
831
754
729
741
894
704
647
647
679
335
647
634
788
794
502
823
721
579
811
709
619
723
752
788
753
678
571
687
617
797
747
547
797
783
828
771
722
803
894
428
955
730
766
563
735
750
541
720
636
818
751
692
610
627
727
722
607
850
857
906
377
628
551
808
813
707
515
447
686
922
987
804
879
580
791
822
656
719
637
855
827
378
606
836
254
839
733
611
612
644
837
825
995
615
729
751
800
588
804
625
844
884
415
647
882
494
1004
822
725
664
707
613
614
567
640
416
501
742
774
788
808
803
888
567
445
765
566
708
541
735
579
0
750
602
447
450
722
628
842
759
748
594
791
699
283
753
514
475
893
661
701
928
933
818
585
678
969
727
539
633
857
579
239
915
631
749
628
866
791
725
467
732
791
913
650
792
673
707
820
623
638
748
768
559
523
696
792
498
557
730
560
567
584
589
782
591
776
453
783
741
692
591
799
642
902
607
775
780
635
611
614
863
620
817
369
512
580
830
349
607
876
446
596
425
735
557
755
788
773
623
450
626
472
736
723
854
792
777
568
720
643
870
668
668
766
771
639
243
556
924
814
518
721
856
851
701
964
784
676
828
798
763
586
974
621
681
653
772
613
872
662
534
688
690
675
699
607
810
727
948
607
626
700
623
721
692
685
390
740
274
607
851
778
725
542
815
632
634
875
841
770
820
395
763
630
621
794
647
776
711
595
814
538
760
594
786
612
740
729
559
644
699
521
959
852
721
594
503
830
657
697
862
709
648
524
826
663
573
741
815
693
330
554
827
888
694
797
675
1012
647
390
692
759
579
579
514
620
832
481
639
547
973
815
704
830
857
608
596
778
758
671
615
539
585
441
679
698
696
664
648
526
763
577
805
753
639
637
476
579
804
620
655
687
679
541
745
790
846
768
669
884
563
731
506
427
814
737
748
601
648
797
685
802
594
812
795
196
849
575
913
638
852
947
727
658
77
781
834
676
595
658
619
589
769
600
923
599
793
852
617
680
693
808
799
542
805
717
833
512
809
657
787
755
609
692
806
848
529
587
706
557
443
711
750
700
504
863
493
542
616
647
677
860
827
734
797
510
655
739
537
760
689
837
736
568
853
696
788
642
795
795
273
428
740
877
530
736
779
871
879
819
730
842
630
864
515
884
412
681
838
880
819
589
740
710
552
661
562
904
684
751
751
680
600
937
750
339
657
839
747
640
633
860
695
769
671
602
744
666
869
782
780
773
882
677
795
824
691
729
699
529
664
527
675
452
780
964
538
804
416
931
792
930
695
793
820
632
1001
773
754
823
432
377
555
846
741
891
607
517
531
937
704
709
562
805
646
389
832
767
868
752
875
792
699
527
821
634
945
638
549
627
493
428
580
478
721
747
522
657
512
573
743
561
873
784
696
596
867
909
795
716
582
497
505
824
673
703
748
730
521
706
681
571
847
682
684
529
991
651
541
191
904
797
803
748
939
743
560
790
548
684
680
828
698
803
979
649
613
820
754
555
579
784
833
827
768
709
808
744
916
646
750
743
692
492
686
703
619
878
816
680
873
884
968
420
716
588
889
927
645
865
895
613
748
965
808
773
791
610
757
724
505
724
707
930
775
846
704
814
813
707
571
773
874
631
619
740
669
680
822
651
806
698
654
934
591
469
723
803
822
856
771
807
411
757
732
1002
741
346
653
703
681
767
795
805
729
909
937
763
701
528
669
296
875
794
411
660
738
749
744
748
859
739
791
669
766
606
676
493
801
676
719
729
530
696
543
841
593
639
700
720
86
827
469
700
888
688
792
885
810
184
431
527
815
804
801
835
571
284
833
790
664
522
653
880
628
660
637
605
798
664
854
688
615
713
937
757
511
706
682
799
771
690
881
671
279
855
517
760
719
639
696
657
435
515
629
713
517
666
769
787
809
662
605
653
701
674
508
717
642
611
597
986
865
828
693
714
699
625
735
844
440
259
546
544
691
883
804
611
763
728
712
598
697
692
241
844
345
859
641
683
955
459
604
716
928
742
523
728
736
792
772
797
581
711
846
645
459
563
703
844
240
680
325
785
977
407
661
779
885
614
697
749
762
806
669
832
604
968
848
779
829
851
690
711
771
473
670
544
992
490
713
781
839
696
579
619
555
520
800
640
634
783
840
244
681
530
635
732
833
615
827
793
341
827
679
614
444
539
824
766
724
555
689
659
737
664
624
771
909
678
841
873
714
613
702
671
697
559
731
874
723
926
928
585
489
886
794
531
621
842
625
836
688
595
809
947
457
676
865
730
782
791
449
381
759
735
803
680
846
675
907
741
710
806
834
567
779
530
912
678
669
671
915
579
782
667
802
583
794
711
664
889
625
770
947
633
664
887
628
716
661
680
480
829
828
605
792
770
641
930
808
827
484
738
780
742
511
588
765
852
619
826
890
776
697
775
699
666
524
515
546
757
708
648
770
606
778
764
527
794
573
737
528
812
564
703
431
594
887
698
744
625
917
885
888
860
639
549
943
695
602
826
767
839
719
732
631
399
601
852
959
830
789
756
525
479
463
869
600
702
720
951
840
718
589
711
542
648
861
854
887
639
494
784
751
676
717
726
617
564
695
452
735
697
541
866
682
532
564
758
648
678
946
592
532
668
801
571
805
837
829
775
264
579
594
677
449
805
741
716
671
829
315
739
860
479
920
817
614
812
851
744
393
598
829
827
782
528
844
599
820
868
505
709
789
707
721
619
774
692
777
372
685
780
833
606
623
666
840
710
573
528
669
669
937
827
831
756
541
684
620
617
634
742
706
785
485
649
684
698
551
606
923
615
639
713
638
752
652
738
942
747
692
652
654
639
929
557
909
806
802
625
703
558
572
504
840
676
651
641
937
500
598
434
750
444
654
735
530
592
801
511
666
685
673
712
525
642
452
581
352
600
955
746
858
571
577
779
773
651
555
579
835
819
612
669
593
635
456
834
525
910
791
587
812
730
763
759
727
989
764
872
789
641
659
859
317
709
987
741
594
717
623
723
831
920
575
872
866
785
894
427
500
660
823
670
578
888
827
645
627
727
700
533
603
793
679
782
792
730
667
864
877
514
709
264
569
582
678
875
618
574
490
779
462
533
681
556
667
801
895
560
955
848
592
825
791
421
614
679
508
603
638
774
578
567
874
772
871
660
659
940
779
673
759
656
566
619
609
723
729
740
911
663
964
655
579
600
808
866
824
716
633
559
698
610
473
431
664
682
939
667
892
450
802
845
230
701
577
592
685
392
731
918
615
895
831
805
472
699
961
601
831
852
865
925
843
610
573
736
843
458
889
847
633
609
859
627
804
653
709
733
814
804
595
594
743
746
726
878
479
797
659
522
525
702
968
684
906
845
755
820
636
944
729
601
531
442
730
541
163
784
670
504
738
519
883
862
720
627
794
836
688
697
843
727
293
574
639
846
821
693
434
640
847
690
779
501
842
620
745
496
785
786
868
796
770
655
714
621
493
733
732
871
620
869
834
692
774
571
872
922
821
733
793
686
839
217
839
643
835
804
849
934
766
748
558
649
860
588
823
728
753
377
153
621
811
617
384
405
878
455
825
167
837
596
661
723
703
715
800
772
441
460
614
1000
260
866
647
720
730
686
908
693
690
763
748
596
865
723
718
817
778
720
600
764
233
569
752
592
632
573
819
912
414
606
950
853
767
436
822
318
711
925
773
383
853
918
766
708
776
310
422
687
772
768
0
605
501
659
955
720
728
613
785
916
959
581
568
502
618
781
611
626
691
767
650
772
539
381
915
825
455
591
886
353
621
579
642
885
776
671
693
666
881
792
757
656
904
802
760
749
493
770
785
276
755
568
694
808
841
561
790
761
502
636
750
726
645
716
670
687
768
790
854
584
724
596
806
848
830
765
1007
822
754
632
781
614
760
969
867
752
849
696
918
444
538
871
769
719
806
699
617
512
773
497
914
727
711
628
713
499
545
832
541
734
535
789
713
595
728
453
670
789
777
812
855
713
796
571
800
801
527
869
862
467
812
614
957
535
638
788
542
935
476
673
831
840
747
677
656
679
861
665
722
624
593
817
847
183
801
603
793
755
691
813
607
512
733
862
846
618
679
857
774
484
488
713
578
979
653
783
584
700
830
639
606
867
726
634
796
699
923
488
728
846
488
695
502
646
779
742
646
410
686
773
721
408
90
590
770
779
719
769
773
766
998
697
866
826
553
640
647
852
792
793
898
528
699
696
824
927
939
643
572
672
562
826
540
548
705
799
807
549
798
634
718
877
848
657
728
723
590
636
443
925
810
758
835
712
650
832
715
761
833
789
889
779
451
811
133
844
654
666
867
868
799
836
620
887
691
870
941
704
319
593
540
745
971
759
793
745
694
628
596
587
537
575
601
559
868
756
831
750
734
792
468
347
775
608
627
693
727
902
594
533
505
262
740
899
775
819
694
746
705
557
755
668
896
341
764
753
839
966
661
706
552
813
716
682
676
723
779
669
798
685
747
533
779
981
742
657
800
655
769
701
595
829
416
820
546
792
812
693
870
554
673
803
688
608
684
829
901
643
579
930
724
895
381
900
995
722
377
520
691
567
855
672
731
944
738
871
834
796
869
182
763
307
858
683
736
754
780
535
847
540
649
625
695
747
461
640
534
724
771
641
403
909
772
469
633
738
788
730
742
646
768
599
296
841
847
955
841
864
812
911
700
680
248
679
640
737
781
644
858
710
572
859
574
572
654
724
712
584
399
509
709
731
914
827
629
755
657
707
790
774
817
362
686
590
863
622
737
852
551
547
756
649
807
715
681
808
650
553
631
700
770
720
610
677
725
682
702
925
797
927
694
640
540
681
797
697
675
734
912
761
751
613
839
796
836
475
680
885
805
569
631
654
859
697
663
850
588
694
491
798
745
872
840
699
793
808
588
870
745
626
811
669
727
826
844
848
689
741
771
370
636
877
764
833
723
478
798
621
545
440
630
631
665
379
956
743
675
896
735
680
396
752
824
589
759
748
627
758
583
529
772
781
574
960
739
755
840
343
652
679
582
749
554
654
712
597
593
996
745
678
872
938
636
487
406
239
817
770
805
661
806
746
668
860
877
516
645
731
586
877
733
657
766
825
600
773
686
736
777
474
559
680
788
700
737
894
761
601
590
670
675
778
809
658
722
808
774
885
833
656
776
770
765
488
535
703
722
656
669
624
597
794
634
726
624
811
474
872
506
873
838
711
813
381
809
552
641
685
888
625
925
378
473
575
810
590
854
740
754
642
654
661
831
750
567
598
705
781
627
783
398
654
593
568
379
479
909
696
857
905
541
758
694
923
863
751
808
853
540
539
270
973
896
522
777
560
990
710
751
910
665
777
778
529
752
708
849
746
601
544
596
713
506
820
764
794
404
709
722
753
470
741
547
774
503
618
648
748
769
618
748
733
765
628
725
591
620
772
724
640
597
764
901
794
727
571
735
517
685
775
768
774
868
693
808
593
655
798
716
800
957
629
631
865
787
546
622
630
805
662
786
829
610
609
773
686
774
825
665
621
536
781
865
460
913
793
701
683
605
594
605
643
729
733
830
662
634
611
678
702
687
543
667
572
664
850
639
765
962
706
765
785
494
777
735
696
867
836
650
393
570
626
576
673
684
374
539
775
658
773
797
725
497
745
908
566
736
479
870
815
787
939
688
672
760
621
751
676
781
487
571
823
651
683
904
615
619
825
613
761
577
904
588
737
718
689
740
856
691
506
848
451
688
762
783
742
509
749
635
609
766
885
851
703
750
652
523
930
717
554
695
828
741
751
713
719
566
517
634
909
442
879
930
774
728
766
464
843
400
484
550
802
642
799
670
496
914
637
712
812
488
717
403
609
850
988
524
842
849
465
535
830
721
487
575
927
670
638
763
602
717
473
204
910
658
917
991
765
958
698
678
331
852
653
431
792
730
655
786
834
413
622
812
774
831
539
744
833
706
1000
675
728
588
702
783
742
0
517
521
454
88
763
606
589
629
614
510
915
729
272
588
523
738
763
504
896
585
685
768
809
643
747
582
941
728
927
775
452
776
490
789
721
625
274
817
702
833
600
844
577
792
734
714
608
591
650
925
627
829
747
709
694
686
742
811
711
743
496
854
607
923
958
695
971
853
681
388
816
730
1014
758
799
739
788
883
682
583
850
726
674
754
844
812
609
481
911
592
847
653
751
766
608
747
882
765
844
733
720
729
781
763
634
672
746
383
807
957
905
725
826
810
772
560
522
801
637
824
901
481
827
890
520
944
647
422
855
643
653
655
763
690
772
645
793
582
627
879
699
870
787
725
633
482
667
995
930
615
918
676
632
749
835
497
598
759
662
938
843
362
709
347
937
754
652
516
848
747
558
689
866
987
538
745
565
737
675
414
897
644
731
495
635
791
662
688
985
803
626
663
884
553
811
689
549
405
794
444
768
680
888
780
794
834
888
568
858
743
768
511
850
569
729
535
773
793
750
634
795
531
557
825
667
716
499
631
656
804
549
643
522
461
767
701
378
858
584
630
668
743
621
707
530
731
742
873
625
738
727
559
816
559
581
324
767
800
775
883
807
514
727
683
454
494
601
771
967
761
660
819
563
794
658
292
617
731
637
341
655
499
914
294
799
808
751
547
546
540
925
667
781
805
905
692
719
646
787
662
775
614
654
851
752
732
867
922
421
758
655
839
384
731
685
296
695
671
888
737
716
0
730
871
432
557
782
598
540
708
614
343
763
666
731
461
581
800
626
661
541
872
747
673
562
464
871
702
954
750
775
876
605
665
674
636
836
629
498
723
694
402
867
493
864
645
738
708
594
725
728
728
431
912
684
838
447
946
656
696
805
803
820
473
291
764
682
646
467
690
882
793
820
610
640
755
849
503
556
790
804
967
686
591
765
644
699
915
654
890
608
555
867
716
642
528
528
650
529
777
985
684
910
677
680
712
767
488
653
474
377
169
546
684
619
550
567
772
449
831
511
537
454
613
803
848
727
628
751
888
866
706
543
603
428
930
579
973
800
592
773
823
918
730
402
497
746
910
608
703
785
765
423
768
722
393
710
790
559
628
585
704
419
730
666
871
795
691
670
576
609
708
639
896
730
847
988
623
488
620
701
718
703
751
731
638
698
446
784
721
1001
862
968
867
652
867
768
641
817
732
615
697
674
743
484
830
723
759
862
718
481
955
728
648
693
723
893
869
742
952
750
646
563
325
912
686
674
406
757
451
685
580
739
331
862
879
741
940
645
575
461
884
589
688
588
559
492
630
281
697
851
903
708
583
783
796
949
699
613
1008
538
599
740
791
567
969
870
836
729
857
932
852
591
796
859
969
767
826
699
625
488
618
592
643
678
631
731
674
738
605
694
464
852
971
721
444
798
800
913
699
753
640
858
754
1004
549
833
602
771
34
741
861
675
789
661
656
716
797
681
971
592
724
856
766
861
779
695
685
841
689
609
716
708
690
840
473
802
733
540
662
804
489
573
876
406
955
747
790
783
861
735
808
796
901
595
566
937
735
447
684
583
845
839
585
921
746
773
714
558
251
702
859
629
665
519
835
707
846
536
617
143
548
794
804
778
754
809
654
553
539
510
497
616
925
858
414
730
516
793
844
814
513
898
264
864
574
656
583
661
620
880
839
776
783
528
814
561
642
515
735
644
858
733
820
823
690
433
585
744
807
914
603
348
892
514
251
676
584
709
881
602
727
778
756
588
697
828
305
700
589
669
653
776
691
723
810
751
804
762
615
759
721
728
652
301
342
667
787
872
721
613
825
703
885
928
822
710
653
799
582
920
697
384
422
846
768
791
455
698
823
282
898
680
621
549
618
598
528
745
674
762
907
517
569
612
636
756
721
681
627
682
728
643
668
776
532
735
956
719
786
672
830
460
654
583
383
756
549
719
859
758
469
676
772
735
618
879
930
844
810
736
808
935
677
829
506
479
751
586
469
719
887
736
640
679
737
956
752
566
812
884
513
846
576
678
920
305
892
838
882
661
416
769
776
493
456
660
934
583
675
869
463
665
597
683
640
713
980
598
783
740
861
743
745
777
719
741
804
682
889
687
935
525
434
652
682
406
687
827
697
903
527
852
852
624
599
683
686
654
828
711
653
693
679
800
902
803
893
536
689
720
632
805
746
647
749
859
759
529
734
989
550
719
658
703
728
752
770
549
659
690
581
535
686
783
821
675
677
882
854
548
498
765
938
775
657
867
727
708
564
546
492
917
836
520
822
808
645
575
286
712
817
819
458
855
519
824
469
582
591
766
651
780
600
480
832
776
694
482
629
833
819
735
699
728
894
873
458
866
598
750
535
605
734
714
755
843
911
782
756
761
850
779
940
424
690
791
758
661
711
795
873
634
745
892
929
741
658
712
719
665
547
796
760
481
591
841
570
366
697
483
614
768
717
809
687
673
904
678
706
756
802
818
723
665
714
906
844
824
360
676
792
765
781
784
705
737
874
691
879
819
769
801
606
786
770
848
680
740
779
495
573
771
915
615
754
881
837
908
846
615
673
522
780
525
496
820
488
641
645
690
807
909
619
545
730
835
616
754
830
802
831
577
705
546
956
590
762
668
336
691
656
691
664
922
322
656
690
940
733
503
815
690
702
883
876
446
724
706
804
531
701
680
724
747
830
942
754
713
651
716
786
553
772
554
400
544
847
841
627
911
856
840
906
851
929
743
670
647
962
805
498
1016
698
938
798
636
611
745
940
899
725
693
645
566
712
935
617
607
337
776
830
655
795
826
894
747
685
636
672
758
652
847
823
802
447
689
904
661
342
855
747
600
589
617
613
776
865
672
812
516
737
423
754
569
536
771
802
858
821
643
623
149
810
414
809
714
793
414
728
889
921
563
595
746
723
595
496
841
807
786
825
802
820
720
554
711
650
804
710
507
530
702
738
784
471
920
511
719
721
672
722
989
718
726
548
639
680
822
776
905
819
790
537
792
735
869
838
747
754
842
706
732
318
589
656
720
461
539
588
797
685
654
773
977
198
751
791
933
763
643
668
704
729
818
769
924
771
487
704
941
777
598
849
835
465
756
592
701
645
498
724
736
754
369
734
844
457
495
654
853
564
725
457
712
817
714
723
407
626
603
781
649
509
617
769
669
788
602
787
765
608
630
761
620
621
350
360
803
897
912
581
778
821
693
414
762
647
671
600
809
844
734
962
881
725
530
652
673
750
799
812
862
683
665
706
787
745
800
682
599
778
626
717
816
586
859
580
830
781
794
309
798
570
675
759
779
681
791
886
786
747
820
915
574
445
733
712
617
828
900
705
889
642
760
795
807
323
611
763
600
806
455
734
782
659
852
738
707
795
647
587
799
401
871
727
674
472
699
451
906
690
788
552
935
730
747
728
696
693
826
521
615
583
709
701
711
872
603
673
700
842
856
728
720
574
761
522
689
707
471
805
692
921
583
573
842
801
750
787
693
658
642
684
596
697
766
160
859
859
664
508
687
819
445
682
769
593
599
794
695
826
631
524
728
613
864
437
876
725
966
896
781
807
682
680
959
560
826
640
492
512
827
512
791
693
802
602
906
892
698
835
724
570
656
857
732
577
631
607
684
569
681
678
625
550
614
755
731
765
914
570
619
802
654
740
801
159
714
512
487
844
439
892
826
557
654
172
765
376
636
735
752
1010
592
961
414
970
624
736
679
539
659
850
688
901
842
734
555
860
581
1002
545
732
972
649
746
759
719
656
549
729
624
763
702
759
846
706
901
808
743
709
744
668
814
834
650
490
788
570
711
574
708
942
702
510
564
366
983
681
617
923
730
766
818
568
646
398
805
379
767
916
632
828
617
666
697
792
544
761
704
619
762
843
666
952
685
571
584
472
892
750
730
716
534
916
892
631
794
600
668
513
356
804
893
681
798
640
796
692
913
841
885
315
756
658
422
785
677
365
743
656
774
915
689
562
639
616
838
698
844
907
473
673
875
787
647
975
668
821
668
736
687
650
664
827
952
753
594
837
790
840
803
581
709
717
735
589
721
875
626
139
639
707
811
678
276
762
706
748
761
692
644
677
868
608
722
881
409
698
779
632
653
771
729
659
355
699
646
946
697
551
221
510
739
596
593
876
733
736
561
625
739
870
941
827
670
809
375
833
742
950
788
558
961
744
946
666
761
696
711
662
616
716
815
922
393
713
644
939
793
557
631
795
824
697
658
471
774
783
774
860
702
488
847
800
472
703
584
633
694
716
533
863
675
699
703
615
743
577
741
391
406
864
666
773
673
689
429
639
655
568
562
760
717
844
767
629
801
625
591
424
801
831
648
762
935
786
632
565
670
643
699
799
531
668
766
719
860
660
960
837
747
316
427
723
725
713
688
832
703
568
875
712
737
875
688
708
719
655
579
678
749
507
894
799
666
532
638
811
908
859
730
714
407
709
818
924
543
715
830
839
741
710
632
687
716
636
627
806
648
735
712
429
740
849
835
717
631
594
475
682
567
930
535
584
797
968
625
719
569
675
801
886
725
812
732
670
528
739
941
797
735
740
801
603
679
831
475
585
636
442
762
936
850
988
825
787
645
761
852
789
834
636
831
859
676
293
735
847
784
695
723
798
683
673
722
602
757
461
867
922
696
845
692
623
843
404
762
794
246
613
518
574
627
700
732
736
773
764
599
597
582
745
664
637
730
589
784
381
799
854
654
622
804
757
677
797
800
589
876
830
699
744
458
607
613
846
970
679
531
483
767
392
574
569
664
832
617
776
735
839
838
702
900
808
737
654
854
845
939
795
641
304
680
810
859
673
901
907
751
333
683
507
548
800
340
562
931
347
741
699
879
769
786
606
889
640
626
707
704
425
724
736
688
479
656
866
709
611
744
789
758
713
743
621
770
585
825
461
423
485
601
849
784
675
763
829
736
253
606
774
760
793
746
572
701
506
709
638
695
630
580
788
753
769
849
556
718
823
698
768
752
539
590
699
726
767
747
741
697
740
597
645
681
656
685
551
864
485
869
830
758
765
871
723
841
598
565
772
603
725
663
855
943
882
537
495
854
771
745
758
667
551
976
895
856
565
640
531
551
751
892
735
660
708
466
784
744
812
769
788
438
756
471
606
580
655
587
402
960
650
670
718
838
800
604
899
782
609
613
612
856
846
501
792
249
814
644
502
723
749
514
791
563
670
744
813
708
726
360
808
864
810
819
517
939
602
922
751
328
601
608
326
689
644
907
828
695
826
909
685
684
913
796
792
418
739
890
896
568
790
867
583
594
859
584
842
789
567
708
712
500
490
822
709
718
696
834
671
844
744
970
873
702
798
558
603
726
514
441
775
981
431
606
755
783
807
763
541
890
601
873
572
851
689
923
645
777
874
697
658
819
627
688
926
748
657
673
519
568
786
741
798
572
840
595
640
749
721
594
836
677
630
666
717
675
767
808
801
844
680
515
743
687
769
623
890
800
511
731
756
654
637
643
791
657
892
718
599
792
814
695
640
492
715
790
734
662
681
781
731
955
769
685
899
805
933
761
682
324
809
823
931
799
691
283
588
743
927
764
480
581
682
690
844
661
726
727
649
590
690
873
520
909
726
936
745
658
525
776
638
675
748
825
738
814
586
854
683
809
755
942
722
736
942
704
725
744
957
803
812
853
458
542
809
614
680
721
790
749
736
922
746
880
764
779
447
939
642
823
757
784
832
832
725
716
683
882
823
531
931
710
423
622
436
685
603
713
905
478
953
788
785
472
890
781
618
703
909
859
636
512
831
714
664
389
698
762
649
742
760
671
865
841
791
714
598
853
667
622
866
770
816
990
915
648
924
775
744
535
769
845
826
713
684
803
686
771
579
680
680
648
857
701
639
720
785
887
663
908
540
604
784
895
901
508
971
677
884
681
914
625
934
512
689
688
891
640
908
945
632
670
781
764
268
537
809
751
551
809
722
708
723
794
532
735
696
462
678
795
758
698
721
704
652
824
745
545
842
674
485
560
784
776
662
158
780
887
707
726
685
477
453
485
748
855
572
844
713
531
906
805
669
791
809
610
694
648
796
602
807
784
466
830
670
672
735
554
462
560
788
475
816
842
659
541
696
686
707
810
865
782
544
745
199
740
888
572
878
700
865
350
565
541
941
830
865
462
776
645
741
904
794
808
622
712
625
719
845
654
535
677
775
786
713
584
827
729
804
654
532
745
707
655
652
707
704
547
785
940
855
784
718
590
865
617
583
806
523
825
899
834
273
924
717
753
801
730
759
522
823
604
845
676
775
417
620
867
802
814
496
601
611
955
700
984
799
579
672
873
759
615
540
764
749
800
636
929
482
794
446
959
699
867
800
446
522
658
436
519
682
458
805
962
728
634
562
762
712
668
895
783
799
585
849
774
926
627
819
675
617
644
548
854
763
682
622
981
576
779
568
918
803
702
917
887
807
671
478
681
777
794
923
844
697
717
612
723
416
696
770
737
592
699
728
495
805
467
392
723
880
782
731
609
811
990
695
623
838
821
899
891
778
850
747
726
686
759
392
875
553
658
537
580
552
643
451
699
819
407
685
871
421
605
755
754
816
928
878
621
518
728
776
686
963
864
866
600
789
671
894
869
605
276
888
710
926
800
515
692
919
732
894
562
683
585
657
407
563
839
847
829
762
746
802
882
568
483
830
583
756
846
649
419
787
666
917
592
768
560
635
407
790
757
914
278
661
787
803
801
715
763
805
690
843
931
877
864
855
748
887
794
893
685
445
628
787
764
765
804
526
740
835
614
774
608
330
809
796
912
646
890
807
641
605
945
719
765
724
835
512
620
965
608
855
824
761
775
575
890
707
658
647
593
305
517
665
615
720
675
530
730
723
801
952
658
769
831
941
724
824
670
802
726
760
466
907
862
558
861
613
657
649
924
729
607
838
581
642
705
776
814
691
727
469
576
612
813
774
827
763
939
477
817
561
539
412
993
642
701
642
542
698
752
543
793
775
294
686
645
579
801
718
669
620
868
648
734
663
749
735
716
874
630
914
883
379
631
644
886
855
691
802
551
859
735
866
739
907
750
663
764
505
794
656
813
791
453
767
487
796
583
732
700
551
712
571
619
757
871
800
547
840
750
705
751
678
714
792
823
716
722
821
721
446
841
801
898
556
494
747
720
636
675
494
730
700
808
787
584
828
970
848
402
556
651
947
855
473
738
761
793
884
548
463
599
843
595
892
531
854
595
638
966
745
925
424
806
811
682
733
713
417
606
598
744
619
558
828
681
776
548
909
427
678
750
683
520
488
472
441
875
632
570
808
753
516
784
821
715
826
808
442
867
837
567
596
647
372
808
812
568
837
699
418
840
985
856
921
826
746
949
733
708
701
627
504
806
741
632
672
895
859
666
635
896
634
529
675
678
761
869
525
726
804
303
837
163
685
609
785
671
711
811
726
703
820
539
691
807
957
816
896
557
918
770
696
707
735
710
761
629
670
682
638
816
654
777
720
680
539
747
418
775
911
900
787
907
873
738
847
394
764
797
637
753
830
546
835
671
502
553
849
805
779
875
710
972
638
693
859
848
594
600
528
538
878
825
402
720
737
542
777
721
834
428
497
809
519
796
806
860
621
827
815
819
600
905
807
601
636
777
875
666
958
733
667
614
738
941
599
497
622
800
677
615
767
850
645
796
940
857
841
560
787
681
850
947
780
671
652
521
834
665
714
860
833
811
824
487
636
652
603
984
835
668
474
637
632
751
783
737
608
680
812
790
942
945
460
826
787
747
745
627
847
647
252
515
637
575
879
736
510
621
915
813
712
610
750
532
791
806
801
618
832
471
798
540
608
902
605
721
814
788
648
479
544
394
758
964
662
716
871
811
774
772
792
371
815
752
688
833
824
682
795
725
698
628
798
549
702
813
665
643
364
651
741
891
824
550
556
799
696
818
550
474
532
656
566
701
765
664
642
979
850
607
791
820
877
855
669
729
797
816
652
566
564
632
847
753
730
696
550
473
671
726
505
542
422
770
709
712
872
543
501
774
859
589
852
606
854
650
702
652
608
864
756
771
790
620
618
768
756
799
440
950
790
618
935
581
697
677
580
663
723
338
601
854
542
671
607
505
629
761
859
891
329
515
847
842
732
479
874
757
740
311
755
873
1020
767
398
792
663
740
576
652
744
655
641
797
564
725
598
755
317
600
610
623
854
345
718
511
713
753
281
577
766
532
552
630
302
571
783
638
724
682
737
954
742
210
653
849
474
612
647
699
697
750
580
737
762
759
348
735
346
741
607
576
706
647
287
610
836
803
391
820
744
825
697
771
740
739
601
854
792
706
855
578
805
548
984
944
815
833
650
945
699
725
732
803
359
859
688
856
468
763
742
649
704
850
728
828
739
570
763
770
731
743
741
807
832
647
720
399
701
922
923
631
661
773
783
752
879
725
839
707
676
857
792
569
801
643
843
622
763
915
890
472
700
760
838
990
901
788
807
859
693
723
778
525
568
568
661
760
690
794
740
436
715
857
748
850
453
616
820
653
933
752
986
594
602
883
888
446
658
691
749
656
850
816
798
787
777
724
94
651
525
735
816
896
804
568
705
184
573
639
889
826
737
693
733
553
905
511
701
841
469
798
849
717
803
750
780
755
809
763
838
878
649
933
908
830
769
772
817
836
823
924
619
863
927
774
709
717
773
772
508
938
951
729
550
947
897
695
725
759
827
937
923
850
845
565
691
815
547
828
667
603
393
731
795
847
661
616
709
706
943
851
697
721
845
510
617
708
731
583
818
815
640
746
711
800
810
812
758
649
806
693
667
617
781
720
870
849
908
501
731
624
611
839
517
580
675
898
963
816
774
756
662
537
638
740
609
566
765
764
658
299
833
806
692
769
572
564
750
513
730
832
513
979
882
838
744
935
720
454
821
301
622
886
623
709
759
876
849
653
834
829
386
651
701
804
715
566
518
779
755
933
280
356
756
887
809
779
946
678
867
959
803
474
669
826
736
825
744
893
743
479
585
645
696
717
771
424
635
745
646
734
929
766
751
599
159
627
499
713
672
684
719
549
790
715
794
576
923
822
827
791
31
674
678
610
828
661
803
577
348
636
692
687
552
851
770
858
671
574
971
626
884
683
527
486
550
973
894
827
714
882
642
608
794
547
746
813
622
667
799
573
589
798
272
889
840
400
965
876
696
725
589
834
753
583
809
639
978
685
965
780
930
681
946
824
753
677
815
990
695
733
777
719
815
782
709
761
695
981
782
838
808
708
787
763
778
617
786
574
873
688
728
747
937
574
808
813
307
539
785
603
706
483
727
747
761
573
634
778
755
677
906
587
753
632
497
660
795
550
565
697
661
526
792
803
552
699
652
783
591
703
364
917
458
809
775
919
656
817
772
933
598
259
755
724
643
403
858
574
584
276
776
746
661
674
668
726
686
391
665
445
669
690
472
657
800
598
758
697
702
819
778
677
863
769
970
685
825
798
584
678
639
687
715
729
728
850
115
756
656
980
661
598
732
825
788
754
778
571
679
541
527
698
683
659
626
711
666
633
823
702
633
680
619
730
583
804
856
723
881
755
911
476
801
591
0
458
697
538
519
514
767
472
822
701
705
624
864
776
962
679
848
485
733
896
649
602
639
700
838
662
770
961
753
787
932
628
711
747
583
763
766
897
688
391
686
807
664
668
457
575
408
857
652
749
659
781
784
747
635
620
922
639
354
755
712
597
542
671
739
828
963
762
795
690
545
601
939
690
746
767
632
554
711
838
388
874
639
561
793
647
894
578
209
509
668
542
567
709
907
604
536
787
549
789
697
729
584
681
776
626
803
774
758
524
557
671
827
821
856
543
719
0
619
842
635
709
718
719
696
816
582
533
803
855
749
690
791
459
813
734
569
643
303
777
544
872
695
993
838
878
824
678
317
606
683
792
780
803
761
819
694
670
706
334
654
941
755
603
675
767
810
588
763
692
432
727
627
680
635
851
908
630
671
525
739
380
559
700
785
278
1010
649
432
735
876
726
700
382
546
849
699
658
201
672
850
665
327
871
767
327
539
720
664
923
574
642
679
653
667
805
744
678
830
293
495
897
590
763
813
742
683
780
750
751
830
566
612
97
796
775
552
722
626
540
730
626
899
466
766
933
412
716
758
732
745
856
783
866
874
739
445
625
672
704
680
609
1015
716
767
649
736
795
678
916
811
874
686
731
595
787
641
751
830
776
701
740
595
619
873
778
527
597
707
533
761
669
601
377
895
839
743
861
399
717
637
788
702
918
682
488
772
704
372
601
807
731
726
674
834
639
506
710
835
522
863
911
737
842
876
794
789
753
691
875
549
521
891
742
856
772
785
488
598
649
739
829
622
772
551
893
591
529
839
725
706
621
590
786
729
830
868
730
603
731
689
729
792
570
752
189
435
913
736
618
624
621
847
558
696
422
639
482
557
535
857
333
677
520
723
481
324
730
779
570
641
464
851
706
684
440
665
924
689
674
886
414
599
634
613
659
854
816
769
739
600
489
622
799
729
784
722
599
727
598
467
896
686
829
536
498
843
865
639
623
973
784
588
719
665
501
742
683
422
791
833
900
381
757
784
709
758
910
638
467
718
579
671
722
539
605
849
664
428
339
640
763
853
514
684
795
920
701
547
810
855
666
652
787
677
584
719
213
412
695
713
709
440
713
614
553
544
689
611
594
649
476
936
821
652
436
870
655
596
752
800
887
692
583
582
782
816
652
727
570
774
569
844
691
639
587
600
632
981
803
620
565
555
674
710
605
680
723
841
621
459
781
849
793
599
534
441
797
818
850
662
465
403
677
779
387
694
879
729
846
700
534
723
721
675
620
590
527
742
968
707
636
742
847
550
778
689
627
471
712
515
748
694
817
650
591
780
653
864
893
820
350
425
405
888
797
423
780
804
860
742
780
513
506
661
680
777
947
679
803
907
662
758
786
488
436
812
653
721
733
924
869
240
606
801
804
628
685
715
620
752
828
682
573
679
707
481
835
751
603
757
553
627
902
771
572
831
653
626
606
814
590
688
551
767
753
685
665
803
304
595
686
493
607
661
896
886
788
342
726
773
851
774
685
951
693
557
563
584
807
797
683
645
745
847
627
993
456
665
879
855
832
787
639
593
675
786
712
578
430
671
955
692
728
670
629
732
670
704
649
613
770
684
610
889
634
689
284
887
692
908
562
710
882
664
884
672
800
688
792
623
472
658
792
653
518
863
697
529
606
477
513
597
602
545
656
754
832
693
957
601
641
664
538
848
534
741
678
669
305
417
473
706
837
660
605
714
116
810
703
742
829
635
526
768
606
770
622
911
615
704
736
924
923
883
886
837
608
717
840
867
462
875
379
816
624
221
771
700
741
320
714
605
424
601
784
624
829
702
960
788
867
806
661
757
660
785
655
763
585
637
726
730
754
768
836
731
590
851
741
551
534
823
791
806
852
676
866
934
634
775
867
703
608
727
686
741
831
473
678
561
611
727
713
843
765
707
840
776
558
652
585
634
565
919
779
751
799
535
863
727
941
667
519
807
773
798
897
960
535
742
399
553
759
607
826
394
823
586
599
960
933
159
632
545
782
460
777
736
702
417
598
442
741
941
576
542
396
717
572
489
511
308
817
339
673
873
826
730
652
611
601
635
293
605
646
499
773
621
624
656
724
646
528
567
572
646
691
627
870
685
404
860
726
744
776
457
850
561
749
751
612
801
767
635
663
820
656
800
513
529
849
805
671
633
722
629
665
837
752
840
736
620
841
920
615
670
839
820
554
457
801
667
854
651
734
634
769
735
679
671
707
734
799
745
784
651
712
727
930
477
471
468
624
871
815
581
696
825
884
734
740
747
619
722
667
580
728
754
690
573
831
629
718
944
781
661
767
624
710
795
701
629
583
731
749
954
906
868
736
535
793
634
745
488
618
800
816
592
615
636
917
489
718
801
646
748
870
861
688
797
431
716
831
833
916
911
420
596
659
989
958
850
801
703
658
682
818
874
455
778
898
583
339
817
382
830
684
852
852
523
796
818
749
338
864
674
686
642
734
779
570
620
722
693
592
731
897
840
701
902
765
762
515
705
596
580
955
762
886
792
697
628
737
500
700
731
614
847
792
854
710
801
904
786
466
430
839
779
766
877
636
598
664
761
891
761
777
588
690
610
726
692
515
676
878
309
162
850
889
758
491
633
866
706
817
847
315
738
480
706
751
755
869
891
605
747
328
649
755
471
897
709
561
662
852
849
414
548
862
308
755
748
583
752
725
923
702
915
754
766
419
842
803
611
827
806
746
682
800
750
794
745
706
636
835
395
825
669
712
906
698
569
817
807
473
785
690
695
639
742
971
686
858
519
909
908
603
620
634
836
826
474
560
652
556
463
627
859
635
740
809
554
571
644
596
463
398
780
792
659
434
957
706
702
406
693
648
741
595
724
570
715
652
498
205
741
620
689
890
624
824
769
726
666
724
741
539
720
147
970
982
653
681
762
492
700
318
970
685
671
754
597
821
813
714
669
629
574
673
998
807
805
737
682
666
664
470
677
462
731
718
229
639
658
949
697
689
246
534
377
715
395
647
565
802
684
692
697
436
808
707
669
523
631
692
919
807
634
897
675
754
873
817
523
845
713
512
870
902
727
743
680
520
676
611
458
544
829
666
836
678
874
811
906
953
812
778
488
463
904
727
670
584
669
782
794
871
682
625
720
825
884
661
608
778
788
566
720
730
725
910
458
598
745
756
568
598
786
825
701
686
466
608
986
571
587
758
876
577
698
751
878
952
766
732
708
653
792
741
721
548
797
691
531
664
595
723
606
837
733
734
741
858
725
770
607
48
395
581
760
826
715
767
777
840
652
491
526
863
583
727
750
765
835
581
663
711
708
921
328
611
902
577
778
594
670
839
862
361
750
694
708
787
712
802
647
770
662
779
695
698
774
626
659
761
816
762
557
871
612
702
720
600
655
685
591
713
620
782
811
584
755
655
834
843
746
603
922
971
866
552
725
692
671
842
699
792
699
866
846
828
801
558
636
829
681
380
527
859
853
656
832
805
684
633
700
956
771
765
888
654
573
626
821
768
781
621
667
652
678
747
679
878
691
782
808
954
631
404
765
746
919
851
479
786
570
607
514
914
638
616
735
800
812
796
743
704
921
642
856
472
399
824
373
688
764
923
863
884
656
747
947
825
564
962
877
868
787
531
677
681
662
489
853
498
919
815
656
676
740
881
952
747
618
643
894
716
690
803
764
643
716
872
807
775
585
837
854
256
571
758
909
634
716
871
952
872
773
737
739
754
853
589
700
553
687
549
411
639
809
500
396
750
273
415
610
440
941
785
596
607
627
688
722
706
479
689
669
719
716
733
904
845
695
731
159
531
756
765
812
736
860
798
896
779
959
757
829
783
558
968
762
606
518
482
552
587
654
610
863
685
634
629
661
694
848
549
634
875
950
658
635
621
814
814
715
541
606
878
650
855
844
675
707
678
742
789
743
743
791
582
945
677
710
845
729
825
589
522
786
578
868
782
796
746
883
654
552
664
686
620
690
535
537
719
846
914
783
864
802
763
915
857
838
883
655
704
920
834
687
399
736
595
807
837
718
581
739
859
670
848
746
766
927
861
800
779
601
609
576
583
567
889
695
583
722
744
854
429
661
875
519
653
832
785
780
498
696
679
794
823
731
674
744
800
785
760
868
784
815
673
513
877
850
411
778
727
760
732
690
766
720
703
794
676
811
871
905
657
759
728
590
779
799
403
778
799
607
648
723
737
741
827
957
635
925
644
751
864
863
829
854
820
533
795
729
870
821
807
802
595
522
845
858
880
732
779
783
906
760
230
827
721
447
579
689
746
457
748
282
862
757
962
809
894
591
684
947
559
802
869
714
714
734
575
270
945
486
728
833
682
488
654
763
838
714
488
747
664
535
797
724
774
931
254
253
562
738
764
859
244
799
492
668
833
395
535
666
829
1008
920
614
583
772
695
933
822
659
779
690
658
427
643
892
777
812
840
875
569
887
827
786
557
682
727
783
659
774
757
844
738
559
795
946
654
720
840
484
886
578
598
809
914
788
829
549
733
513
613
337
659
605
660
488
758
541
912
587
796
640
708
731
753
830
584
540
434
875
655
710
828
600
567
538
397
519
622
624
710
876
856
680
876
710
876
500
635
904
875
813
477
375
653
857
550
857
808
825
955
564
846
888
645
562
713
379
624
763
850
624
801
660
860
867
839
792
157
757
615
572
294
795
598
762
706
629
524
731
559
685
666
727
756
828
641
762
804
510
716
818
702
625
755
685
670
656
621
531
926
880
878
692
856
658
638
815
722
559
639
727
264
694
833
888
803
753
930
735
569
877
833
756
754
519
671
691
766
703
580
690
510
576
785
622
623
645
506
734
409
525
699
731
566
580
773
604
749
703
471
678
699
715
823
822
557
620
798
760
707
887
767
757
715
737
827
272
666
639
837
578
653
766
717
386
1003
400
626
424
814
940
834
869
942
628
659
598
662
709
659
757
716
748
692
810
475
405
648
591
612
762
865
375
532
936
558
703
790
554
648
707
713
746
579
607
915
769
637
811
770
609
721
818
814
175
812
859
342
685
606
557
496
460
861
552
864
506
772
624
783
911
675
227
795
816
658
960
551
656
736
929
754
665
865
756
487
425
734
699
667
758
846
337
552
875
836
550
600
611
803
557
809
793
613
573
570
674
826
441
615
627
903
756
466
485
628
535
750
572
604
473
777
955
437
523
766
633
698
744
565
706
681
767
595
638
608
896
774
510
1010
742
639
818
591
806
719
601
691
500
750
586
671
344
703
635
741
360
317
808
872
844
832
524
853
721
601
589
838
439
696
662
627
267
840
568
627
932
550
760
853
778
415
645
802
696
663
801
542
726
605
919
656
455
875
565
765
777
373
742
768
592
728
850
832
790
22
810
656
500
981
934
832
724
660
1011
837
704
691
579
898
639
825
683
703
584
897
723
798
869
634
563
576
820
623
870
778
707
621
449
701
779
845
548
570
684
843
703
585
552
812
713
562
709
706
708
544
765
839
590
774
808
693
805
632
862
506
834
674
731
937
793
795
659
732
874
493
816
873
814
394
564
682
771
714
637
820
643
811
572
186
692
814
848
506
779
638
685
779
586
635
700
878
688
640
684
784
809
743
589
731
707
715
789
738
752
737
618
708
705
692
780
727
607
664
798
614
567
810
686
674
794
625
659
606
838
331
663
807
790
581
917
650
875
841
765
857
742
576
674
742
799
763
735
692
660
699
758
796
662
804
773
784
800
670
507
821
991
636
811
579
690
839
754
798
395
840
510
608
802
686
653
758
878
732
684
905
656
742
771
569
717
768
815
673
681
596
847
826
633
711
772
653
596
851
886
136
743
823
474
490
632
705
669
818
706
718
539
652
483
807
618
690
733
536
631
793
672
960
603
583
825
659
654
634
771
617
921
824
849
770
579
458
725
940
756
706
820
445
470
790
722
769
916
788
635
898
648
765
765
535
608
632
599
744
823
838
721
550
608
612
731
648
520
753
950
854
901
817
464
604
564
817
809
389
754
506
459
887
535
772
579
637
562
450
561
670
764
556
742
650
752
816
800
705
783
838
763
709
689
706
598
691
684
740
506
810
818
686
713
841
934
873
810
496
311
735
638
710
737
884
936
809
626
751
545
898
732
709
876
692
933
656
716
775
803
560
699
695
684
821
728
969
585
847
843
829
575
842
935
648
665
639
679
785
822
610
812
851
392
562
874
597
609
875
618
829
579
682
899
542
702
785
900
341
690
740
615
825
771
488
717
710
684
707
764
696
757
749
737
472
610
614
847
624
652
902
597
886
678
299
720
971
701
868
699
790
934
655
670
855
845
815
670
733
663
776
658
769
859
794
620
526
706
918
601
806
772
606
646
662
734
362
421
529
766
587
784
655
698
367
784
584
958
894
502
774
721
730
135
793
798
838
557
689
789
814
626
709
584
900
656
559
770
533
477
585
706
952
704
82
669
768
752
668
634
868
778
530
661
581
932
859
848
853
734
657
647
361
752
371
805
346
775
637
706
676
888
744
556
775
545
554
624
755
751
900
725
699
655
858
880
883
619
837
661
627
770
764
652
526
283
728
424
718
570
872
559
701
465
718
649
547
826
621
684
750
831
871
607
562
773
887
656
739
639
857
898
788
758
602
773
770
632
870
564
775
875
896
759
950
780
688
665
815
833
677
586
650
946
920
777
747
612
806
820
367
893
572
719
401
408
625
638
486
696
626
894
913
896
773
882
932
709
875
757
869
622
705
692
801
712
847
562
713
759
278
846
767
613
376
806
562
656
856
866
711
685
664
858
764
524
772
809
594
632
427
687
808
853
549
707
943
864
711
847
742
454
713
678
874
687
700
769
591
826
528
737
232
683
709
796
539
770
625
975
611
832
613
808
842
793
445
721
392
535
723
846
598
819
648
284
836
623
300
517
892
587
724
689
637
856
858
653
700
547
706
779
854
640
829
685
381
907
550
786
731
725
713
820
551
522
671
681
779
759
811
992
651
471
391
570
754
739
692
342
940
878
586
565
506
749
760
788
911
458
617
856
88
783
768
662
798
804
575
790
743
828
478
510
603
572
659
679
576
752
656
732
599
493
705
710
998
549
766
783
509
783
998
898
840
814
564
736
791
722
506
792
770
636
900
464
586
786
829
294
669
679
675
615
967
976
684
566
564
698
478
549
700
740
769
865
626
806
692
874
739
937
911
719
898
826
948
854
775
884
761
538
884
894
802
927
734
870
597
784
789
709
675
460
748
774
724
598
737
821
630
758
703
828
484
603
848
659
742
850
859
763
635
427
839
866
836
549
656
955
777
681
644
834
772
729
695
728
418
974
637
600
369
937
735
603
498
707
820
658
854
776
672
774
861
885
652
766
705
699
272
939
752
656
643
647
653
820
293
600
948
646
626
600
853
816
968
482
160
549
744
629
577
226
899
880
892
805
807
851
587
840
761
624
515
949
398
579
844
618
517
916
693
553
855
835
840
709
828
718
839
555
519
678
708
565
471
619
705
665
777
732
750
423
636
699
804
812
856
501
755
848
583
595
793
749
630
947
330
642
636
652
480
662
691
401
390
674
716
728
282
901
483
750
788
660
753
731
860
826
768
388
525
768
774
645
768
661
619
804
713
710
711
446
819
611
594
894
815
382
685
625
924
416
1000
645
825
820
960
715
694
647
899
985
587
443
911
818
616
935
745
546
774
740
863
720
721
540
353
710
687
712
753
810
645
747
744
841
741
879
668
822
551
567
675
505
735
731
796
681
453
884
652
682
715
861
735
842
564
623
898
720
670
744
751
490
615
812
756
459
853
220
808
334
645
799
753
711
773
694
640
754
478
868
645
757
737
518
747
882
200
515
852
605
708
542
778
411
718
933
273
753
785
484
892
723
698
581
599
918
793
592
879
704
710
554
624
0
348
703
539
447
518
849
781
639
580
547
915
870
789
741
798
630
726
578
848
877
201
808
756
871
848
769
690
542
591
763
890
733
629
864
756
684
894
716
749
629
760
977
719
310
756
535
764
731
670
665
873
673
767
836
566
739
788
572
796
685
795
775
903
415
719
923
827
621
661
760
824
599
854
667
578
338
783
914
701
740
711
652
765
665
718
657
910
445
663
753
458
676
818
742
909
786
699
811
621
690
650
405
765
655
710
679
966
566
660
616
535
562
627
970
613
576
807
659
668
773
771
779
914
694
631
653
736
711
817
534
807
879
748
669
806
358
761
815
687
768
598
798
684
493
939
833
609
741
501
841
623
632
874
766
457
626
508
691
487
645
940
521
737
525
542
808
831
553
738
644
611
791
706
424
728
585
631
845
562
624
950
575
401
708
776
848
533
663
812
505
769
780
616
768
811
778
641
1005
861
719
701
732
914
913
852
763
596
720
850
529
647
661
825
894
829
714
812
310
703
876
590
813
686
741
677
783
734
912
796
588
709
826
702
783
941
801
704
824
711
593
656
603
650
703
765
541
724
505
639
717
799
594
761
515
420
898
827
477
602
558
758
651
787
877
489
957
684
686
927
917
957
803
941
347
299
561
573
594
785
538
716
639
741
766
664
893
705
683
930
728
703
700
652
832
362
734
730
653
888
520
723
716
676
557
616
856
843
854
773
314
273
768
724
622
870
679
862
587
786
724
687
538
960
490
715
644
731
677
805
700
774
296
585
624
873
679
648
629
813
855
552
924
861
655
745
427
769
791
648
707
892
735
478
669
639
526
809
636
746
356
644
913
882
753
682
743
696
854
659
798
932
607
705
735
711
819
662
576
756
761
722
666
837
880
782
891
626
688
348
901
799
758
445
679
157
763
532
719
806
857
817
740
802
603
634
843
677
746
717
817
527
712
550
879
595
784
697
797
617
739
734
741
354
769
456
897
612
594
654
672
662
940
737
475
406
978
839
908
692
788
867
793
960
677
537
855
606
722
734
845
745
690
736
822
568
578
395
690
697
797
712
620
615
802
722
535
348
674
558
759
647
613
444
886
667
846
904
799
764
731
608
565
823
779
679
662
403
683
550
645
852
726
702
839
778
884
728
757
874
599
583
548
723
490
758
800
560
779
821
799
426
702
618
752
734
518
874
741
782
739
726
861
324
898
754
710
755
795
922
684
768
774
637
704
784
588
568
713
877
720
994
663
902
488
925
656
702
744
680
741
624
748
795
777
752
761
497
708
651
212
687
894
630
816
635
823
776
196
833
645
862
844
871
807
791
942
876
645
757
695
638
871
763
749
905
644
727
703
885
637
807
591
784
826
815
618
591
769
829
862
587
797
962
554
676
766
814
588
644
685
798
578
483
662
673
719
875
532
813
545
596
782
662
645
666
523
707
417
618
596
783
608
604
675
941
858
645
892
401
953
815
574
616
505
840
458
703
665
853
613
823
702
828
618
887
788
686
722
345
629
466
787
689
590
890
792
695
661
810
654
550
814
469
922
398
758
903
668
746
429
502
666
620
675
848
730
711
758
632
744
599
604
838
635
502
810
598
805
677
948
823
751
719
878
650
817
814
647
645
692
618
699
640
758
599
681
785
879
813
282
682
777
715
579
722
653
637
535
810
401
775
572
731
704
418
731
873
772
695
736
678
789
574
395
794
685
647
822
697
764
650
820
675
643
709
796
292
766
658
867
571
950
760
696
649
804
682
719
645
788
621
597
402
724
717
808
853
732
546
718
743
577
688
683
573
779
813
663
492
744
720
791
839
882
710
675
743
611
407
758
754
838
621
708
635
527
671
779
728
713
637
824
946
1006
639
648
456
672
807
788
738
788
62
592
792
732
615
565
496
658
948
631
350
503
831
697
676
750
853
719
612
771
558
561
781
643
729
582
514
541
917
751
905
709
818
908
691
639
954
487
648
854
434
787
454
681
520
619
748
640
530
481
868
743
640
723
802
845
744
832
620
671
418
602
806
781
767
698
579
786
543
644
688
746
909
509
663
732
805
612
751
448
835
663
609
824
842
593
678
255
741
751
835
740
662
692
452
649
579
640
702
549
656
666
659
693
752
709
896
901
811
831
778
621
765
617
613
820
610
774
512
610
745
944
718
723
960
837
435
554
511
322
869
898
772
671
783
516
526
762
581
617
937
775
645
412
825
757
385
562
750
853
553
635
393
850
996
570
628
715
651
728
830
741
674
589
839
581
918
630
463
466
673
736
628
844
864
643
598
723
781
752
721
875
1009
817
670
688
911
859
840
573
912
467
556
617
529
687
768
851
500
628
751
646
897
657
215
600
798
616
599
604
886
762
765
659
471
765
643
660
735
783
806
520
620
701
800
810
787
844
596
718
506
582
463
589
562
765
777
866
544
641
658
687
508
328
697
875
783
574
751
353
617
710
447
571
727
870
439
958
874
488
842
841
895
764
0
713
564
877
439
903
622
716
519
658
685
776
718
980
702
596
712
883
742
628
773
769
592
515
707
407
833
850
504
828
779
803
456
549
811
707
814
765
492
776
835
748
560
499
622
694
485
751
934
648
500
598
686
810
951
711
674
935
580
728
663
795
569
711
696
870
766
885
977
858
580
667
749
793
794
862
772
738
661
796
707
752
755
722
808
844
833
489
724
905
414
470
779
784
462
617
552
533
698
646
476
446
818
841
713
768
762
777
533
900
442
867
758
703
960
709
619
587
814
542
718
579
641
506
441
762
1002
621
784
419
470
859
645
706
844
668
843
845
843
664
426
588
825
557
791
485
686
763
616
871
824
459
704
693
736
676
573
583
959
924
902
747
839
825
836
730
687
631
712
535
853
665
671
579
767
857
629
620
743
774
682
799
808
675
633
445
930
723
705
688
600
449
768
813
708
718
654
687
393
690
815
419
633
698
692
862
146
800
697
681
590
794
615
568
535
748
793
984
764
747
635
552
809
831
838
630
479
688
772
901
800
471
715
719
729
814
612
793
764
796
733
784
709
878
867
519
764
950
784
770
653
494
590
732
760
661
675
430
499
647
441
828
855
535
632
801
936
639
740
805
485
331
941
838
526
848
730
773
260
529
716
952
694
848
93
594
722
605
661
720
639
692
573
573
714
857
302
641
592
687
699
612
570
898
576
814
630
518
815
659
786
624
587
549
585
691
679
630
503
786
895
896
780
594
626
530
682
627
362
713
644
852
62
654
681
678
827
824
523
708
844
691
743
690
773
721
743
671
506
974
464
624
904
751
640
746
741
91
977
742
858
736
786
851
393
928
251
631
719
620
499
769
796
386
921
662
799
713
796
603
984
797
579
763
660
698
768
728
790
913
575
706
532
825
870
796
755
457
844
644
851
707
938
873
736
837
762
859
689
702
941
813
226
819
718
722
933
823
565
414
466
629
423
779
594
344
741
988
396
699
731
923
701
605
587
904
540
859
652
856
667
835
654
656
703
599
693
870
449
862
720
659
702
831
472
430
361
707
246
784
440
736
692
791
819
785
949
589
682
474
652
516
729
0
672
844
238
691
358
510
668
777
345
608
714
713
674
752
702
757
197
697
878
795
869
735
686
787
506
563
992
659
685
709
316
737
827
392
781
654
615
515
823
859
603
196
669
990
673
807
681
497
771
626
802
773
942
813
879
940
730
868
539
846
943
968
697
746
610
922
645
666
861
447
762
953
282
668
630
752
853
504
781
572
845
405
702
774
628
879
820
747
752
756
884
873
514
673
753
559
318
869
816
712
635
910
799
695
660
545
748
822
842
431
398
544
936
803
499
639
834
588
896
800
666
599
670
665
814
701
780
322
462
623
662
715
877
588
603
899
737
892
708
785
920
738
751
756
697
696
714
715
821
640
152
707
699
769
748
616
658
783
675
888
842
686
906
663
864
634
939
524
488
595
757
835
653
230
776
661
515
562
729
739
892
860
740
560
515
558
863
819
867
821
879
523
839
636
753
837
476
711
761
336
739
635
851
599
764
802
730
768
783
547
718
539
965
440
931
649
699
703
677
730
634
497
467
799
576
576
674
765
702
536
626
589
809
888
874
697
726
911
646
649
595
631
606
456
652
727
814
314
720
808
795
741
570
661
550
774
617
594
655
930
805
803
803
781
833
605
794
635
759
777
523
672
832
742
389
641
837
773
538
757
539
804
577
804
939
791
490
837
696
778
368
812
796
730
627
718
685
558
660
469
529
876
658
651
766
951
631
790
336
456
790
661
807
947
607
792
597
700
653
622
451
635
643
308
507
549
723
730
567
632
725
645
775
927
569
692
722
612
674
605
763
708
593
738
748
802
879
630
470
187
827
550
701
799
590
969
801
610
758
560
643
742
851
573
804
711
899
632
737
854
607
701
723
716
438
458
808
771
862
680
720
584
707
679
342
707
822
627
582
481
623
684
795
394
734
758
688
936
674
620
770
904
705
817
599
753
554
644
736
807
685
684
482
796
681
711
816
586
709
595
705
907
512
684
868
728
946
814
672
950
765
570
691
636
713
815
495
724
468
485
713
599
966
537
861
732
825
939
741
650
728
685
611
513
659
726
781
582
670
833
768
728
615
772
957
627
869
721
938
769
401
249
679
866
805
593
327
734
789
814
758
688
801
761
816
716
777
606
830
708
515
649
637
559
928
485
493
728
918
745
756
529
669
560
740
611
753
677
539
396
783
688
830
516
253
686
893
744
647
836
665
541
835
693
750
829
797
864
921
395
608
754
674
679
516
331
690
700
878
703
471
585
645
273
714
694
649
609
943
875
599
750
454
722
616
407
662
860
681
620
505
625
558
743
739
721
463
887
611
627
692
733
804
779
678
741
976
860
680
593
167
436
728
733
640
497
743
492
729
605
724
874
728
659
543
814
711
764
560
655
666
529
616
711
634
591
757
723
685
920
641
924
520
709
771
775
861
788
928
656
756
444
839
637
641
900
310
270
688
796
673
722
632
560
571
759
800
606
720
685
839
979
846
825
637
744
604
547
570
790
873
738
551
665
927
882
691
527
625
712
698
986
728
941
840
841
800
894
539
626
566
497
752
827
702
733
762
751
466
665
884
958
566
882
787
407
521
673
613
667
718
720
571
774
971
793
506
835
653
756
653
612
858
416
562
622
599
961
686
767
640
406
827
653
638
738
793
526
810
736
634
817
724
449
828
720
670
635
653
590
404
803
727
489
718
559
772
877
808
599
578
575
776
625
651
323
708
591
700
723
583
833
756
415
666
862
704
765
725
732
745
739
906
698
659
920
761
735
840
875
579
606
751
545
718
812
628
592
554
775
624
513
907
849
915
655
635
452
742
637
598
781
689
765
902
935
629
702
754
764
504
515
710
624
729
721
951
869
828
951
651
875
776
679
567
861
705
905
674
764
512
551
896
493
733
539
878
707
920
839
705
772
748
736
613
763
606
651
677
631
563
735
269
476
627
532
854
527
838
821
850
497
769
665
764
411
437
812
651
702
748
678
582
803
658
709
381
958
734
678
771
784
916
770
639
421
657
915
873
944
715
685
531
855
553
662
854
629
455
827
705
670
505
782
614
789
593
681
716
530
907
624
665
658
715
704
587
736
769
737
648
566
591
621
637
581
763
775
622
892
510
828
696
779
804
839
601
873
663
799
756
295
698
1014
725
599
722
639
941
806
715
623
872
531
496
556
552
496
643
795
596
536
695
792
717
627
816
466
821
669
771
503
781
792
916
672
874
557
570
811
472
819
543
500
299
742
749
704
644
841
628
755
844
667
580
573
715
635
678
460
778
630
417
618
682
736
650
735
569
655
782
687
630
404
449
747
443
738
579
589
638
874
719
629
529
770
447
620
755
627
652
797
851
831
714
639
434
729
840
663
661
934
858
818
821
831
765
845
675
790
817
838
664
761
519
668
557
460
735
713
425
934
891
885
562
711
637
731
770
681
879
718
556
427
862
293
561
651
569
630
503
910
626
604
602
665
680
686
945
604
715
720
820
637
717
507
791
887
588
579
521
634
850
742
783
867
802
563
534
675
523
571
378
794
723
801
772
927
723
738
798
938
941
636
881
517
791
687
893
857
633
710
749
714
826
847
843
869
605
776
675
828
758
380
535
808
751
650
282
562
787
747
652
655
711
563
618
710
558
721
1014
833
686
662
847
634
884
366
876
606
926
690
458
762
698
789
676
669
715
724
679
702
381
855
567
860
844
452
839
771
596
644
705
577
685
846
682
748
621
714
451
643
378
694
846
808
435
651
908
760
664
607
754
508
787
743
925
917
830
750
795
719
866
869
787
600
771
598
719
764
865
823
705
917
746
749
773
885
777
795
792
824
609
885
711
407
516
697
566
732
827
628
698
629
686
603
762
784
761
637
717
741
521
731
706
780
744
890
805
632
512
631
820
391
623
329
747
702
734
826
738
561
812
907
849
619
579
809
544
527
861
499
841
1023
864
726
824
919
830
802
552
647
664
740
662
774
483
742
945
682
774
773
803
758
836
594
698
724
730
783
752
752
772
625
897
919
707
655
624
792
712
442
602
789
858
648
557
834
886
824
546
431
455
690
700
767
730
813
383
673
437
651
852
805
792
778
700
658
705
687
329
540
760
885
750
812
632
664
807
618
385
827
566
695
525
313
675
697
760
978
781
712
529
928
751
837
766
850
745
854
329
865
851
549
753
686
719
848
844
522
543
627
837
714
480
835
330
827
738
624
875
461
728
846
674
737
630
870
795
666
675
675
779
762
683
574
658
546
886
665
874
948
843
844
536
536
880
711
797
812
727
785
611
514
407
831
633
473
772
781
690
761
533
594
853
478
457
685
893
677
640
558
764
564
361
685
519
989
658
531
677
737
608
728
900
747
707
800
560
642
740
746
595
527
198
644
852
810
884
525
822
479
704
758
620
492
541
719
723
441
424
816
943
677
506
741
786
816
901
753
878
697
728
644
917
668
712
548
765
867
680
594
900
700
734
740
888
744
742
523
757
460
734
830
652
776
875
718
733
898
814
588
600
616
597
831
741
562
738
422
175
465
529
949
702
514
739
757
485
323
395
814
816
604
650
643
791
851
874
795
801
356
581
797
812
808
877
673
364
710
908
752
775
603
847
637
407
751
619
745
774
723
807
539
695
538
935
786
592
671
566
442
441
709
634
781
675
622
654
742
618
625
672
866
599
853
593
900
850
774
752
742
746
786
645
726
545
683
765
875
664
552
779
648
968
576
611
416
789
751
836
652
804
609
594
640
521
751
399
799
587
667
806
724
732
478
600
654
665
810
898
643
575
656
605
617
761
5
635
447
710
616
450
687
558
619
858
892
683
572
903
775
613
427
767
756
737
926
501
955
764
831
686
851
682
959
643
552
725
596
812
592
831
612
694
728
905
278
688
664
902
862
703
885
804
475
625
977
571
659
739
938
757
322
620
752
525
706
632
307
617
764
664
888
887
729
833
594
572
327
155
446
729
722
774
809
637
708
799
926
615
821
385
956
567
893
806
678
817
768
679
835
685
670
557
294
337
825
391
243
589
735
820
733
705
776
501
866
747
834
535
456
622
604
767
918
406
928
797
649
748
846
815
604
654
463
858
882
632
671
610
756
818
483
663
734
830
881
845
873
616
592
548
712
755
632
715
783
965
556
798
638
832
686
748
597
657
723
806
845
675
739
769
817
716
710
332
885
887
670
512
881
643
875
889
789
760
794
768
748
784
758
298
698
811
921
916
879
669
996
612
699
455
790
541
734
659
848
557
667
662
815
562
905
558
851
911
702
938
883
892
638
682
698
685
873
806
344
745
891
880
638
690
923
819
618
908
393
877
692
399
573
841
554
644
511
863
850
776
535
834
931
646
551
838
434
728
679
687
587
460
671
856
993
840
744
602
751
945
763
742
959
834
843
732
760
818
811
751
887
532
363
921
345
774
715
956
470
701
785
669
771
756
830
794
608
746
430
816
655
731
651
761
901
677
651
791
814
814
802
478
966
774
660
621
593
730
728
842
902
548
834
885
740
602
847
716
715
759
709
610
505
666
744
1005
919
677
288
721
537
855
675
678
460
727
832
474
761
676
990
714
848
705
691
809
693
898
669
958
789
719
878
764
862
752
791
409
863
792
589
741
343
738
485
742
817
767
627
836
606
721
679
760
706
482
330
800
710
840
670
716
811
496
568
527
272
741
742
764
832
628
682
1016
876
685
631
643
973
857
691
762
585
834
903
773
718
428
661
773
581
535
725
626
911
676
784
761
556
797
723
909
718
903
761
735
625
810
516
946
691
724
759
879
824
599
621
859
562
514
659
908
709
842
514
746
662
841
817
527
787
802
738
476
850
632
687
594
909
655
608
788
772
927
875
565
852
779
896
568
696
705
589
669
541
720
561
513
323
333
603
721
716
735
614
552
557
497
689
724
692
964
775
692
754
971
553
918
746
567
597
539
601
658
751
975
695
757
854
577
695
748
793
816
720
517
627
754
814
660
690
682
736
743
676
728
653
895
957
401
904
443
619
385
671
698
785
763
645
946
653
741
781
483
808
807
791
674
646
742
439
713
545
752
1008
699
588
808
808
529
587
591
713
891
787
649
507
661
923
521
851
788
492
954
632
758
719
583
556
739
625
814
921
584
721
659
696
896
716
539
652
656
568
676
461
551
768
475
641
578
941
848
431
634
761
773
900
490
783
982
506
970
800
619
681
872
726
684
432
735
565
787
765
836
607
539
875
767
634
595
643
769
652
635
583
783
573
607
780
794
700
808
649
857
780
781
774
986
831
837
719
896
554
653
705
701
780
699
327
1007
423
541
727
714
650
844
773
755
569
680
609
889
709
957
667
564
736
609
864
870
700
820
743
808
768
775
640
607
529
757
671
914
719
362
884
627
812
742
568
758
672
839
856
740
866
597
604
901
675
776
632
768
705
647
873
896
610
745
468
246
893
814
775
916
573
934
735
719
315
820
858
688
281
509
914
670
808
767
623
262
841
450
708
893
521
816
533
773
700
888
633
507
867
639
959
240
591
653
896
469
427
725
691
773
730
538
753
583
922
401
913
879
161
601
671
720
570
678
791
694
531
785
818
562
614
724
464
554
853
444
707
672
876
566
650
625
827
749
356
733
618
676
759
636
729
827
739
852
848
822
506
607
778
678
803
584
807
711
1002
740
685
403
500
849
771
726
309
790
778
661
550
752
290
522
630
585
665
628
613
693
677
856
647
675
726
743
811
807
717
830
667
780
752
809
624
801
867
774
760
590
720
519
739
710
554
641
895
449
657
675
709
636
786
768
712
681
404
894
760
781
888
675
831
546
613
709
513
696
588
822
892
649
729
781
892
732
577
718
815
706
712
776
751
512
760
690
714
876
427
778
700
579
674
919
777
993
835
639
641
758
641
747
809
431
718
809
526
854
635
818
461
632
631
888
851
927
472
753
691
831
518
659
598
532
752
759
726
510
506
686
680
476
813
727
759
726
844
803
342
489
814
704
728
812
859
627
937
623
906
506
863
698
552
963
498
574
504
726
769
595
702
589
709
743
687
514
763
389
750
764
656
414
590
481
539
586
636
796
683
667
331
1000
702
800
641
460
521
888
584
912
574
809
0
757
508
679
722
856
827
686
745
814
663
673
746
425
585
445
758
820
646
862
547
707
439
779
828
598
646
701
782
817
813
801
644
434
914
651
562
832
802
653
668
757
769
775
715
716
800
798
565
781
621
416
770
731
759
769
611
587
834
492
798
614
925
557
857
305
584
865
894
877
659
623
688
863
532
619
791
755
659
800
776
670
879
613
579
786
488
653
711
808
702
717
556
693
855
660
754
641
548
687
824
806
726
656
699
315
583
893
701
711
864
851
797
571
564
623
716
461
739
622
642
553
698
596
600
864
737
639
424
817
666
835
567
712
874
648
399
695
892
746
844
582
825
633
618
621
695
685
677
987
587
509
910
464
747
934
423
839
847
461
663
697
793
697
182
802
854
299
787
509
711
708
483
922
323
610
953
630
700
466
671
652
512
897
780
627
378
928
619
513
804
662
730
790
717
750
657
672
746
927
667
849
673
578
742
767
778
768
877
646
682
894
593
786
699
759
786
881
721
746
533
288
953
583
839
579
1009
485
861
826
636
314
595
694
779
605
733
542
801
925
742
874
607
645
608
722
979
702
634
833
823
579
647
729
518
573
855
551
498
649
859
842
607
778
560
681
521
575
627
729
639
476
964
773
694
241
846
808
699
853
460
826
639
950
493
652
604
839
395
733
856
796
736
541
498
687
329
614
865
724
755
988
706
436
632
635
826
594
571
762
670
789
867
791
628
834
810
771
685
831
746
432
442
543
752
618
696
889
539
571
895
484
765
692
734
812
702
642
780
642
713
850
423
756
513
711
696
801
620
750
824
896
516
815
753
664
543
781
650
572
991
725
761
774
324
682
600
974
801
904
479
675
779
771
873
664
939
629
677
788
634
797
774
840
837
265
838
840
503
717
710
410
777
645
813
577
756
610
605
732
792
754
850
920
610
911
738
902
920
723
791
744
540
581
691
840
767
792
261
696
820
606
765
579
702
841
748
590
664
759
727
791
715
639
643
714
561
514
755
678
489
730
534
263
770
683
962
710
593
857
729
790
632
779
736
767
759
451
882
655
708
774
733
699
487
770
794
737
562
659
921
683
832
732
552
580
712
517
267
709
842
532
881
698
720
749
659
702
398
863
698
658
811
789
848
622
748
632
988
950
785
764
821
725
837
857
787
690
752
615
581
761
831
611
968
845
377
814
808
720
426
712
761
542
684
416
782
755
587
743
877
770
568
555
632
682
808
713
440
784
519
595
851
608
735
501
790
573
716
534
713
681
512
557
758
624
924
714
796
782
756
531
845
879
690
572
523
496
741
964
888
865
761
700
678
621
694
663
536
835
741
711
804
955
580
785
480
886
678
858
559
817
904
879
850
796
742
524
570
719
622
739
684
830
759
784
721
610
759
688
756
778
482
516
556
986
723
806
532
691
763
333
608
639
679
988
836
835
252
786
666
757
642
832
787
738
775
778
627
658
729
694
775
331
610
833
686
452
620
877
692
591
636
700
5
554
680
82
797
710
882
690
741
735
508
664
602
566
781
962
893
672
801
868
836
638
661
669
867
567
807
904
505
256
781
667
552
808
909
894
883
814
896
500
450
584
803
630
796
679
599
788
806
572
869
840
543
689
646
917
614
896
628
789
871
624
777
695
541
352
701
653
607
762
642
807
800
647
803
914
615
653
957
668
701
816
950
726
692
211
630
824
601
786
845
707
445
856
658
509
697
908
645
854
663
718
596
719
912
697
736
955
771
656
749
841
781
621
839
607
878
710
855
721
604
500
804
669
757
824
691
705
797
708
918
494
565
840
928
817
784
629
806
704
510
547
995
686
870
814
869
411
665
547
760
698
281
603
750
620
528
816
809
802
835
902
602
846
727
625
813
750
662
751
722
861
835
967
966
492
733
685
614
771
704
758
727
554
749
908
892
746
726
898
594
517
662
743
397
666
681
675
590
700
599
695
405
842
809
605
579
803
391
702
888
684
464
672
617
935
672
598
859
861
600
501
365
371
714
915
844
676
751
556
724
876
698
710
425
883
722
799
687
670
784
391
842
583
502
675
709
988
682
681
845
502
687
693
518
846
651
305
807
773
520
680
838
782
743
757
667
788
704
811
708
753
801
699
669
239
674
684
657
879
618
457
554
590
755
523
559
816
733
753
875
903
676
600
471
807
662
700
673
744
529
913
675
744
533
747
682
831
933
950
930
475
660
764
694
810
732
404
815
847
801
692
762
730
500
724
797
491
609
671
814
618
983
696
737
560
616
654
595
618
641
832
847
665
833
710
567
537
758
883
773
790
655
537
668
501
1008
665
704
623
724
394
913
617
499
637
850
516
585
506
204
807
765
977
971
722
850
871
570
786
822
576
936
639
790
869
672
898
919
655
241
593
721
475
706
758
699
729
813
540
791
870
751
545
743
654
636
694
717
618
764
898
597
644
667
701
880
977
707
726
797
694
644
561
840
433
575
770
766
675
809
551
706
879
828
765
635
581
641
411
585
560
585
658
702
832
634
889
739
706
785
712
646
681
720
865
924
600
959
613
407
811
808
744
626
672
758
754
718
709
751
524
744
599
668
706
678
473
774
721
395
456
684
823
811
559
800
766
704
886
478
292
871
448
578
664
689
727
761
469
790
858
805
809
634
781
566
767
703
710
758
469
777
750
592
828
417
616
802
516
843
407
760
758
786
743
857
710
731
629
533
434
681
810
675
917
739
512
773
780
393
782
822
449
631
632
721
731
657
733
695
708
721
810
526
795
646
779
634
749
594
818
674
800
706
809
612
634
818
820
743
865
789
775
925
910
867
848
636
582
146
675
477
555
753
634
714
795
684
635
712
776
656
740
631
722
984
875
919
856
725
561
354
722
618
814
594
675
559
417
859
668
972
815
460
694
732
961
713
797
793
661
550
522
577
611
836
511
655
859
955
595
367
754
835
872
688
830
791
680
159
765
922
878
833
687
983
719
858
764
725
668
707
686
715
644
832
658
498
444
712
797
770
686
894
694
623
634
625
708
691
672
493
501
650
832
324
861
791
367
648
835
378
834
549
697
754
708
515
856
836
752
868
868
684
686
800
898
675
577
717
850
809
741
831
664
678
458
852
723
651
946
789
620
707
643
790
645
703
876
557
493
733
889
483
874
472
915
715
530
697
717
578
797
704
718
707
953
883
624
789
733
830
634
729
535
715
793
563
761
678
492
739
815
645
868
651
878
567
495
803
492
653
820
684
854
496
693
559
709
550
751
636
689
598
761
548
745
532
535
703
738
633
707
1019
108
715
791
650
639
757
817
857
565
664
143
636
749
626
618
609
606
588
796
750
715
926
638
756
562
759
733
776
754
625
885
708
650
683
702
528
750
628
767
312
557
775
578
633
686
598
827
797
661
843
631
651
668
634
950
642
517
816
584
812
600
492
526
722
315
833
818
503
471
746
850
632
661
927
752
918
565
908
734
908
621
791
719
689
840
739
844
541
620
732
832
757
563
642
648
777
626
788
786
713
729
610
806
707
521
622
416
451
699
775
691
772
764
868
736
782
765
724
454
748
744
846
537
546
738
639
895
632
681
811
602
732
740
717
926
612
832
624
753
604
745
713
756
661
630
572
677
934
712
613
762
243
691
937
607
567
727
439
875
814
631
784
677
829
703
491
711
500
699
410
776
629
885
768
626
566
802
743
720
684
599
692
883
677
701
784
752
770
522
817
915
833
626
5
738
887
625
787
689
687
572
725
501
744
716
471
629
700
732
813
505
781
488
799
504
747
765
343
836
791
634
883
835
743
568
953
579
676
780
625
624
497
763
559
753
573
971
381
624
773
885
758
631
777
743
574
871
840
829
877
952
520
876
779
573
674
561
534
544
770
826
930
601
795
802
811
532
622
783
829
658
665
652
282
866
702
880
584
765
634
701
829
872
746
544
575
547
748
824
817
483
823
626
720
592
959
753
803
797
731
886
809
894
777
813
883
708
570
890
623
799
825
638
1008
571
773
675
724
955
933
816
612
600
651
972
640
339
563
839
710
949
793
637
859
723
957
780
752
671
893
756
655
842
740
533
776
589
808
720
593
618
831
946
660
702
566
805
720
710
797
481
452
878
668
747
688
752
687
641
877
929
713
721
609
964
706
594
443
870
394
851
678
828
799
888
510
624
676
500
883
685
794
922
632
638
485
507
837
890
742
593
729
771
742
591
593
695
679
183
830
740
594
820
738
619
815
764
853
513
751
751
808
792
684
458
664
847
964
681
755
762
462
841
559
880
552
669
681
561
704
659
521
595
854
564
920
465
638
371
710
668
919
842
378
622
577
684
700
642
540
411
551
776
471
895
743
601
310
726
711
611
787
691
718
605
409
532
643
613
716
587
259
650
853
745
630
832
847
846
663
681
463
739
788
831
841
614
586
770
754
508
619
405
624
806
764
775
729
972
963
641
623
474
398
755
631
773
698
757
826
617
747
846
810
926
812
731
786
710
910
706
744
558
545
980
404
621
547
507
477
851
733
826
735
849
857
719
608
474
874
433
525
811
780
887
606
660
729
903
653
863
887
730
952
732
843
627
548
651
734
776
716
643
971
938
900
562
801
738
498
554
592
831
739
657
607
635
491
660
739
649
728
619
687
799
458
796
798
761
550
779
774
767
734
763
834
620
618
866
594
472
891
737
327
873
581
766
526
788
660
759
539
625
720
712
744
858
482
751
395
554
566
887
538
759
736
811
741
971
368
674
691
785
928
959
658
700
760
796
676
805
750
681
491
779
580
708
801
657
748
674
763
483
432
1007
865
802
628
594
576
801
854
640
757
615
735
497
773
845
908
731
815
732
505
862
752
904
441
625
707
556
485
257
720
893
794
852
891
803
659
646
727
678
744
706
821
780
671
824
741
688
198
818
824
794
715
691
358
876
759
495
745
534
771
876
333
586
535
912
822
543
902
690
491
366
825
748
489
487
656
686
855
769
739
1006
812
644
976
517
750
818
778
865
985
952
574
625
584
622
698
702
973
746
690
796
448
497
843
566
722
756
687
823
863
734
736
652
780
652
673
58
760
560
795
610
670
672
803
711
585
573
760
427
827
426
785
957
900
706
717
766
727
420
904
833
619
857
716
753
562
804
699
841
570
850
817
618
881
586
433
856
698
805
749
712
880
825
834
609
840
657
874
763
899
394
820
800
493
856
580
403
502
877
806
832
624
698
634
946
406
664
490
844
687
294
726
801
577
980
544
696
961
713
542
555
718
889
652
701
628
643
871
694
443
878
722
772
705
872
726
917
557
578
833
768
624
685
954
754
709
790
449
697
713
808
704
916
646
779
849
738
919
665
733
798
703
839
733
423
566
696
568
563
724
758
516
669
458
562
682
752
702
469
654
556
903
716
792
838
781
676
778
854
732
768
573
527
850
760
596
722
727
710
618
873
753
807
735
768
724
751
647
813
213
691
700
622
752
834
797
561
760
865
579
740
832
446
627
749
654
743
533
597
762
697
446
326
734
688
959
717
862
677
631
790
642
752
799
591
738
702
844
951
706
565
793
629
607
632
835
412
798
811
744
908
275
675
823
621
909
359
622
664
888
580
735
943
872
438
540
705
892
585
765
601
183
888
763
760
683
815
797
528
958
898
717
736
576
699
881
551
381
743
920
954
559
796
763
678
981
648
848
830
551
695
700
559
730
636
752
723
408
528
800
733
789
853
713
640
390
882
712
561
657
711
559
766
709
762
592
644
847
610
849
892
626
712
739
845
4
643
802
707
823
608
812
808
972
633
642
749
704
820
781
688
846
870
524
541
682
643
721
864
819
485
777
495
777
711
744
753
654
678
888
957
594
582
782
646
753
687
722
904
659
902
674
708
614
713
676
924
685
588
673
603
315
611
768
699
375
860
846
747
742
673
872
1006
610
956
742
717
835
580
808
753
626
768
752
612
910
796
511
827
759
807
508
976
747
760
780
775
716
537
691
502
772
718
847
783
638
744
609
768
484
639
592
862
815
888
607
649
778
698
304
879
655
879
707
681
603
738
642
198
748
417
726
755
836
661
811
468
595
686
416
903
800
583
889
771
858
617
751
653
700
595
684
920
617
551
574
892
610
652
519
685
694
771
594
572
753
650
665
669
877
786
741
601
607
660
671
627
677
879
554
654
679
641
771
629
240
877
821
880
799
746
577
873
598
622
535
925
629
766
766
643
588
754
818
763
987
701
926
592
311
611
955
721
819
786
805
907
742
663
785
815
696
682
684
900
879
546
728
839
577
636
842
789
679
148
808
786
654
733
765
796
857
576
579
968
509
760
344
765
716
780
713
639
520
767
762
443
705
804
711
510
720
345
599
896
796
868
675
652
879
510
246
753
804
545
812
682
472
663
683
465
891
650
660
878
694
841
687
760
812
637
864
687
516
544
462
595
840
736
435
951
712
795
903
798
758
614
792
881
590
586
506
601
392
643
860
842
859
661
916
636
829
786
539
686
853
896
783
629
692
465
793
580
849
491
855
453
803
802
889
793
929
619
672
755
556
546
528
726
627
696
834
698
388
687
754
822
639
790
669
817
759
633
743
537
621
703
707
839
760
903
839
890
663
676
650
790
686
502
621
578
712
799
814
695
673
614
830
722
795
607
562
829
931
660
775
817
498
737
875
873
736
822
629
568
727
655
752
0
483
725
623
545
397
733
634
532
422
815
804
807
659
619
671
668
530
711
394
777
772
748
611
826
652
775
797
828
754
474
804
657
857
466
564
759
752
967
751
549
401
850
694
441
800
806
640
680
775
799
760
746
644
136
792
982
657
887
748
750
481
574
663
401
782
693
825
389
812
544
708
582
709
799
725
686
746
530
970
667
600
831
524
848
700
923
730
818
744
711
509
866
591
791
593
850
702
676
550
595
804
760
679
629
764
721
675
817
907
538
875
659
876
570
853
521
424
538
703
650
649
728
722
566
640
585
698
628
748
641
962
873
695
526
811
415
780
669
867
298
795
736
769
780
760
705
613
452
781
647
520
809
761
859
768
629
582
735
716
652
521
933
849
742
499
680
804
697
717
816
515
852
735
938
837
939
814
585
596
677
755
792
402
808
671
724
643
913
813
504
671
595
793
213
637
711
910
681
517
767
664
587
660
813
617
699
853
635
626
703
809
863
716
831
34
759
930
729
518
723
805
798
548
841
920
642
599
711
584
890
744
574
662
538
715
790
825
426
862
747
654
684
815
744
619
461
840
451
881
418
826
453
781
674
508
781
689
930
722
824
693
457
849
790
708
840
841
573
997
719
783
631
973
685
761
940
632
552
632
646
781
801
386
960
803
548
820
788
535
669
815
750
801
818
770
644
976
676
748
858
598
775
787
677
342
922
821
774
808
582
848
456
692
422
642
762
605
707
935
739
904
763
715
722
719
693
622
843
721
693
782
623
540
837
651
603
652
568
812
992
845
557
477
612
844
677
709
867
781
776
710
719
764
379
715
672
852
933
713
777
872
580
657
883
768
618
501
679
597
733
942
569
745
729
919
852
745
665
541
341
764
730
816
849
548
696
877
525
637
595
871
696
763
703
721
605
606
460
620
752
673
446
545
381
729
290
376
773
430
842
658
767
677
768
932
634
665
797
844
874
753
779
696
748
590
767
802
620
329
535
693
92
682
895
949
564
746
708
509
783
661
933
707
673
670
658
754
842
610
955
756
580
926
349
898
596
667
864
955
789
677
755
822
691
576
656
854
745
413
751
865
953
510
832
780
555
818
703
802
432
885
919
873
773
620
864
817
831
433
893
623
613
936
927
910
978
533
635
402
873
699
694
596
678
819
734
728
825
769
819
752
832
683
378
634
947
725
523
276
794
548
713
893
861
819
715
843
421
518
930
765
710
731
796
855
738
830
578
781
669
215
402
830
496
774
831
784
741
639
814
700
769
831
630
599
551
769
535
968
662
932
534
568
381
728
624
655
564
739
645
754
591
645
613
633
591
524
563
740
742
819
745
783
793
483
691
888
716
800
852
432
721
442
602
982
559
619
681
947
692
781
843
677
802
922
828
583
850
666
840
948
672
732
882
642
699
777
703
728
875
807
522
724
806
599
732
758
593
523
754
841
523
632
693
797
732
610
558
690
727
539
793
700
627
722
742
617
625
708
548
667
593
634
748
766
564
589
728
784
887
730
785
637
700
821
747
527
863
673
594
791
591
704
489
575
971
728
452
768
857
929
785
734
650
662
999
721
613
887
551
702
745
709
377
746
802
623
675
824
920
454
857
727
926
502
802
615
735
660
733
831
844
681
729
442
605
919
830
855
744
708
734
576
901
803
795
475
663
656
824
717
837
717
654
729
627
683
962
641
761
767
618
698
635
818
860
468
639
273
574
808
719
775
745
788
791
800
847
668
811
628
585
751
816
821
628
839
613
424
622
765
503
492
503
692
870
739
367
482
650
767
865
711
897
790
816
646
825
790
309
177
655
597
712
898
294
711
313
521
356
789
646
644
713
821
800
762
629
507
647
683
773
533
693
620
670
838
799
444
742
787
658
786
479
534
635
583
463
751
825
516
833
873
625
781
865
255
620
411
815
669
430
728
726
663
796
930
837
863
860
658
614
687
898
397
830
758
393
724
769
685
772
753
570
586
780
794
560
888
576
795
924
842
692
866
580
849
803
744
768
549
821
681
816
670
890
747
703
541
801
606
669
739
793
811
593
519
558
750
507
913
903
507
767
605
778
638
371
821
923
550
614
675
715
719
625
612
831
736
710
828
401
688
900
883
621
644
980
989
548
720
539
424
912
874
632
621
599
610
866
685
830
867
638
663
737
678
708
655
633
744
624
345
725
652
751
728
795
632
418
485
876
717
719
853
867
881
744
854
703
617
533
698
711
689
723
813
611
683
756
713
712
638
639
525
960
876
670
776
554
567
542
846
608
756
925
542
629
728
697
798
852
611
744
650
567
869
789
559
895
741
498
709
582
592
660
752
584
618
546
226
869
839
630
702
735
785
870
395
681
729
775
685
655
736
695
579
538
907
744
872
758
851
688
699
653
730
838
438
859
813
837
683
996
739
774
828
596
864
680
949
758
836
812
885
907
744
535
741
284
781
115
726
812
797
773
634
776
574
937
766
601
811
853
253
860
956
819
589
639
764
844
708
852
896
708
243
795
501
702
855
687
693
805
543
624
585
381
879
681
749
731
505
553
842
718
922
495
677
440
830
875
789
727
594
783
789
683
662
512
810
547
794
677
619
816
770
903
742
800
500
718
801
835
914
718
786
826
765
759
829
665
475
814
608
816
750
870
994
411
772
647
633
755
726
576
724
735
811
412
705
663
797
572
592
594
515
786
711
829
685
0
706
686
840
652
687
645
495
779
416
715
697
608
657
662
829
545
593
831
871
698
542
725
566
866
640
639
715
473
709
154
702
453
666
823
836
728
551
919
536
487
610
691
761
842
700
685
565
614
738
689
742
631
837
851
882
708
795
843
898
477
636
790
704
706
819
656
746
784
949
558
747
984
579
799
528
598
965
294
818
712
516
640
379
665
696
766
498
697
964
788
772
711
782
603
873
666
338
782
693
966
651
855
647
465
846
836
882
421
609
652
772
753
605
686
607
751
786
749
862
606
904
774
706
634
731
510
563
754
719
781
464
508
750
707
767
381
921
606
518
601
677
736
642
836
813
604
953
795
846
591
604
889
659
881
800
833
816
902
851
721
783
609
672
788
832
817
767
399
537
608
737
487
741
709
869
580
658
783
817
812
647
498
959
889
653
846
587
697
653
658
816
787
747
761
631
705
790
494
546
702
323
634
822
709
729
760
585
747
592
718
490
697
548
715
741
450
717
594
812
769
746
651
840
779
675
592
545
639
765
941
882
728
483
490
712
704
666
840
685
755
895
731
741
715
541
674
610
701
772
546
766
472
704
884
760
850
702
666
744
628
701
791
864
713
891
387
709
881
669
765
983
393
617
815
910
689
888
838
830
848
341
431
574
784
744
710
496
747
816
720
933
761
854
922
883
662
509
712
799
585
566
562
820
612
976
770
845
718
777
801
677
514
530
644
550
850
812
531
613
805
821
732
764
594
671
617
812
747
875
597
819
359
720
705
748
718
800
715
844
540
598
874
744
625
723
909
501
808
624
595
802
732
716
762
737
877
658
767
756
643
689
949
671
849
806
550
952
572
795
765
526
780
606
577
898
449
845
846
754
885
808
618
937
628
535
685
859
380
888
877
671
799
668
657
551
818
781
701
771
689
777
704
924
623
588
803
708
423
424
734
663
837
674
745
523
612
713
733
786
816
872
973
543
856
749
776
877
804
648
762
731
696
716
541
659
753
835
603
886
735
713
705
728
893
695
755
889
698
885
876
656
830
773
92
873
565
837
725
700
597
765
374
794
810
599
681
719
416
881
817
562
846
598
660
673
732
657
709
845
705
713
925
862
811
769
841
843
704
734
815
841
715
711
584
737
729
673
599
497
637
327
482
822
617
551
603
643
590
727
680
607
643
514
556
655
887
801
682
890
486
559
654
900
936
737
753
739
716
555
725
728
775
675
705
831
602
333
809
174
643
702
721
427
703
504
684
848
767
580
666
555
507
785
856
658
911
595
830
543
931
658
827
674
821
799
799
670
771
754
681
758
883
561
741
544
782
652
618
486
685
725
821
916
801
830
918
995
594
551
773
505
768
640
853
684
719
866
691
988
812
754
137
748
744
752
675
433
302
655
717
674
701
948
768
675
658
803
700
755
749
786
668
781
810
644
991
833
593
732
813
835
772
836
660
694
785
684
772
747
670
477
733
664
570
840
705
778
922
820
529
867
670
774
118
892
535
936
754
780
722
450
719
570
616
834
901
347
754
670
592
485
914
733
699
502
834
535
732
789
712
755
659
745
631
652
722
706
811
670
723
514
565
525
720
837
554
665
764
913
588
664
703
783
900
536
722
751
850
493
858
538
849
486
699
366
939
826
636
930
784
662
660
775
896
319
481
634
722
818
767
867
747
783
766
671
628
755
762
780
383
659
410
625
712
667
890
785
568
638
754
539
854
991
804
424
443
483
843
764
849
772
447
767
676
870
733
622
806
688
667
537
773
625
788
705
783
728
839
624
618
701
750
613
901
643
810
798
650
654
712
772
630
771
532
831
721
766
789
999
686
627
823
237
909
828
897
550
603
857
295
755
706
446
823
647
810
755
970
568
536
744
769
576
757
719
785
354
583
761
669
693
592
743
793
631
581
824
710
658
785
627
671
701
698
434
819
662
528
633
941
871
829
546
793
708
691
673
597
603
752
654
954
801
530
686
802
671
791
831
784
835
788
812
466
686
817
863
711
635
720
563
395
902
751
849
864
807
922
818
702
782
768
572
697
613
797
665
579
617
855
686
669
735
675
705
734
742
544
759
467
311
590
497
815
848
758
829
887
767
688
738
705
893
801
941
778
803
691
679
579
552
346
622
784
910
632
622
808
491
454
569
648
624
815
718
908
869
747
701
463
984
754
614
677
748
760
760
650
585
532
625
799
547
671
727
477
651
696
855
517
793
965
672
795
619
520
712
376
631
531
769
523
559
661
512
775
543
825
801
664
666
800
684
687
760
767
821
865
772
395
915
927
638
750
395
829
625
793
854
604
638
808
856
539
934
759
807
476
758
598
681
203
902
390
857
451
709
628
747
718
197
846
534
900
914
770
485
937
643
759
651
841
814
901
678
611
729
753
601
615
875
663
764
792
509
476
754
426
724
746
783
869
711
672
683
701
820
775
455
630
791
687
660
637
578
766
754
667
719
700
942
781
813
539
527
693
632
784
594
401
734
835
684
343
284
895
869
377
660
631
631
902
693
636
598
647
748
740
885
800
668
815
567
649
581
807
830
394
702
899
642
711
780
801
815
645
609
895
677
854
735
574
970
782
811
854
781
809
694
668
609
700
611
643
757
768
891
603
844
875
846
728
676
785
602
624
723
616
689
478
761
571
643
450
541
823
763
442
725
594
564
521
440
799
821
848
833
866
696
409
503
489
810
680
696
618
647
684
708
638
785
676
940
874
871
887
685
613
513
926
881
847
728
908
894
857
555
735
818
681
716
653
804
866
956
816
848
768
673
763
614
821
778
793
727
819
729
743
881
837
790
782
607
888
747
693
938
770
669
764
807
579
858
746
836
572
621
727
742
504
607
548
861
849
970
662
488
628
654
746
658
677
748
785
480
768
676
862
957
744
583
543
625
735
908
862
730
770
731
973
681
780
573
939
932
658
842
667
380
866
790
904
700
523
925
771
848
846
704
736
746
606
629
721
908
494
712
393
890
781
852
924
586
715
804
537
448
800
955
909
567
769
766
552
811
668
784
655
686
856
861
743
816
671
985
820
542
673
677
513
690
668
582
499
610
879
686
620
522
827
876
945
782
754
467
483
705
794
682
892
561
964
865
223
777
799
581
740
583
597
841
781
676
753
383
630
655
578
652
616
707
735
652
829
760
852
147
615
594
794
445
682
487
905
756
638
924
681
662
742
713
656
412
593
699
715
684
586
468
442
899
763
645
513
535
564
772
947
700
696
701
820
758
761
565
691
804
841
526
601
946
621
667
379
749
928
701
554
692
845
878
829
789
547
726
639
489
680
779
879
773
779
672
921
911
979
814
382
759
517
755
972
978
738
784
930
582
552
685
792
672
738
380
638
807
424
688
916
902
550
846
696
710
216
599
838
894
830
755
496
940
568
966
815
739
446
735
902
911
876
807
821
400
882
657
742
771
696
770
606
666
891
823
763
691
816
841
757
636
657
697
914
883
750
675
812
807
825
711
749
816
567
616
642
502
824
816
520
510
478
997
711
768
771
732
513
682
658
564
685
630
772
682
634
739
748
683
583
587
627
610
967
740
673
761
667
791
852
692
653
606
681
729
603
527
592
766
367
774
777
722
787
817
377
785
681
839
397
686
656
875
798
868
833
322
740
491
796
792
793
804
499
833
662
771
796
848
633
828
764
882
643
694
583
698
543
548
680
670
780
713
554
760
648
730
468
831
877
604
826
798
698
568
879
889
661
743
752
502
852
703
656
777
802
617
840
596
903
600
700
750
688
977
574
607
664
255
540
460
767
733
775
743
710
526
844
573
806
889
586
828
778
688
830
481
725
748
610
751
885
711
731
930
690
807
625
800
433
569
803
798
402
456
670
467
789
664
874
683
471
854
862
773
870
946
707
844
523
829
488
389
811
966
546
800
696
834
946
722
575
835
621
669
677
750
151
505
337
862
900
295
931
764
890
898
451
712
383
780
723
795
744
674
700
809
918
697
744
611
633
674
633
721
651
538
595
583
790
716
657
825
867
554
801
858
624
670
558
787
904
347
659
708
849
502
904
625
466
751
659
527
658
717
636
585
639
444
459
686
520
681
522
696
637
808
665
831
635
944
854
786
711
778
626
586
648
724
396
556
772
550
913
973
570
914
543
764
764
800
632
939
764
606
779
834
695
774
755
818
788
646
773
464
475
848
464
688
564
909
675
603
852
879
732
762
925
733
711
676
717
610
858
781
834
727
650
784
752
715
619
874
797
689
816
568
861
596
763
640
584
806
434
695
674
435
863
846
746
745
765
806
621
655
439
755
791
624
760
563
722
690
593
649
540
508
508
616
718
814
881
666
641
959
555
781
716
778
474
875
703
302
676
719
602
792
873
294
794
319
702
769
867
976
759
303
747
806
729
845
800
713
680
841
947
780
725
545
493
319
742
596
898
525
736
739
795
893
776
833
866
885
840
810
704
737
715
663
909
753
801
801
858
765
630
566
693
735
844
645
699
774
596
501
746
731
810
551
491
839
833
782
792
573
652
729
707
763
723
653
650
832
832
677
675
627
913
784
800
709
682
524
703
760
712
825
407
895
498
801
371
464
910
714
754
634
452
767
684
789
570
832
907
865
783
733
608
883
759
797
785
820
689
607
756
712
594
709
791
595
652
930
834
688
764
698
684
554
702
909
747
651
617
783
595
736
944
542
581
684
841
535
746
829
604
668
625
675
635
622
805
809
806
422
813
879
490
848
919
569
508
609
549
776
587
713
845
625
791
799
731
488
707
973
137
870
461
549
616
459
494
771
514
735
952
682
527
785
440
827
660
701
791
693
528
771
820
581
724
937
851
675
712
818
681
647
474
619
882
704
606
778
684
596
656
508
751
800
720
771
754
676
603
708
942
642
716
680
711
889
750
843
574
530
482
823
633
712
631
442
761
652
774
778
616
589
969
577
476
736
737
756
465
764
529
638
794
572
717
497
686
675
808
531
753
731
772
491
700
673
478
711
649
647
771
486
678
737
699
669
746
851
584
547
764
623
627
836
802
723
821
838
952
931
496
572
804
0
594
735
637
632
846
810
590
512
668
623
525
671
638
658
737
820
605
865
440
888
699
895
758
643
814
639
855
269
34
828
640
767
991
658
871
439
329
602
590
615
887
585
672
786
661
739
876
694
783
888
656
817
447
718
682
809
787
641
754
820
726
971
430
721
732
805
759
716
903
443
683
856
525
471
789
820
817
625
783
852
790
902
822
726
500
806
776
686
646
380
585
707
690
696
647
851
552
730
763
767
834
603
973
683
909
723
642
593
813
651
739
448
711
731
459
815
731
689
637
721
898
553
668
487
724
677
400
249
871
591
793
822
670
876
498
846
602
690
547
443
813
827
710
398
720
970
745
496
782
746
585
408
582
915
896
578
824
472
560
836
435
635
713
830
646
771
807
594
558
595
926
703
477
809
457
460
659
493
615
945
708
718
541
894
608
760
878
694
595
748
616
936
581
799
866
866
881
806
754
678
832
698
455
301
765
503
605
371
624
555
609
707
518
728
769
640
833
704
585
662
611
564
939
973
389
737
717
832
721
655
768
723
597
925
794
680
787
574
913
823
960
603
768
626
466
727
755
627
788
843
806
813
832
699
798
537
570
490
492
867
615
762
712
782
802
245
696
668
601
662
678
703
687
606
609
727
414
680
645
520
832
720
872
735
892
400
680
868
480
822
791
485
910
777
783
668
763
794
781
792
623
866
607
640
311
875
809
817
991
750
803
866
928
740
427
628
452
763
788
947
833
528
550
739
797
796
651
736
716
786
739
638
664
683
712
715
594
236
466
680
792
940
723
281
768
724
714
536
518
792
663
784
722
671
589
646
733
731
468
670
589
803
586
722
754
862
819
648
403
485
562
282
701
611
792
754
755
792
703
614
732
741
781
792
892
678
801
803
728
489
656
629
905
847
896
819
565
567
594
710
723
543
674
838
893
776
701
850
810
685
763
756
567
897
915
540
803
863
551
605
891
803
557
390
533
576
678
402
655
876
447
729
878
590
830
539
795
927
864
534
843
898
518
665
882
621
776
601
929
572
774
516
587
585
837
692
637
589
915
608
761
369
695
832
981
832
907
709
709
972
712
371
650
760
763
813
534
933
709
899
380
704
626
566
328
562
708
701
783
889
634
626
646
626
589
737
739
805
710
713
623
460
435
539
488
694
946
573
983
722
598
721
712
716
771
833
650
317
795
814
628
562
769
446
775
823
586
676
753
782
815
619
800
779
766
727
713
881
715
517
690
623
341
853
935
598
643
856
776
844
866
816
318
624
830
773
852
778
829
857
690
770
454
786
730
605
798
763
605
813
847
728
786
815
514
747
800
651
442
662
748
808
532
783
693
332
489
748
738
687
791
924
695
854
813
785
546
659
660
789
978
809
737
588
906
742
735
598
927
899
718
664
622
636
694
761
671
541
816
588
630
769
594
672
866
542
811
906
592
719
673
812
859
721
921
701
395
870
831
729
707
470
779
711
743
830
537
556
949
596
704
795
603
541
700
712
403
865
889
511
821
834
756
517
589
694
747
637
776
634
754
849
497
594
636
798
806
816
531
787
755
869
759
666
705
935
702
514
812
801
615
416
412
855
737
989
418
719
544
605
708
726
736
598
501
717
478
701
697
549
657
822
643
665
886
1013
614
704
763
608
788
759
734
673
745
677
935
737
789
552
854
828
594
692
737
754
969
386
898
527
782
466
698
589
673
642
660
788
817
719
819
677
836
854
639
726
744
744
674
491
532
662
600
627
823
779
888
822
548
908
717
840
771
768
687
697
645
755
566
743
619
646
601
629
750
817
690
897
891
747
933
692
688
670
728
785
801
865
856
703
787
758
707
521
588
602
822
861
430
460
726
675
677
683
699
794
528
527
761
539
731
660
730
707
601
657
685
705
876
821
618
936
604
640
814
662
860
659
824
919
511
736
482
844
529
757
818
780
964
710
848
781
539
754
744
133
722
311
807
803
545
677
799
681
614
617
915
769
704
715
817
823
533
254
682
785
704
765
691
739
578
757
591
900
745
724
636
670
598
704
858
548
825
891
627
582
946
726
714
842
766
856
578
514
830
898
760
823
920
851
774
798
712
782
491
692
689
790
726
843
582
764
928
843
668
681
722
397
589
734
579
568
364
674
549
855
664
694
827
964
841
351
607
742
684
552
884
846
960
434
510
781
563
898
695
808
783
614
556
743
719
606
741
711
717
839
793
686
541
811
958
687
590
920
797
431
568
694
897
662
691
895
354
493
700
392
842
784
886
581
732
543
604
759
714
844
813
712
918
856
993
780
671
750
800
827
662
565
523
608
695
758
347
589
820
536
853
623
690
660
891
636
660
602
677
809
765
824
867
764
593
776
767
729
632
848
569
698
773
589
816
774
598
730
661
628
688
534
791
892
749
758
817
648
759
201
824
947
829
716
752
715
884
629
745
516
1014
448
964
529
977
634
743
696
537
801
730
499
914
500
908
572
661
841
936
742
798
771
601
539
879
349
813
619
760
832
553
803
833
723
809
814
872
504
926
795
618
729
822
912
521
679
703
841
577
718
721
450
780
586
474
872
643
812
710
700
861
581
622
752
714
851
535
950
823
900
786
735
558
777
699
728
831
856
574
772
787
763
581
632
719
674
879
615
799
854
706
641
722
611
760
621
628
610
599
787
686
657
820
988
189
393
645
878
660
624
718
715
518
753
645
518
656
843
853
737
719
611
667
801
608
518
731
978
789
182
653
732
417
789
657
537
471
701
900
892
720
833
673
844
530
500
410
552
93
882
548
821
570
871
727
824
252
651
525
700
644
538
854
533
906
679
877
445
584
725
651
850
810
576
776
349
850
772
594
917
831
603
736
655
767
5
807
801
767
710
752
951
634
749
810
753
806
634
744
780
338
740
396
689
829
668
726
673
840
788
785
848
480
726
663
731
612
714
688
632
693
385
841
874
734
707
725
868
558
586
775
460
588
765
629
757
770
887
827
789
583
832
706
648
582
618
307
813
713
684
910
746
709
727
665
659
723
651
701
745
603
759
846
633
831
750
598
786
801
734
661
838
515
804
489
673
425
817
342
494
556
723
584
490
723
958
779
749
598
869
569
873
584
658
822
1017
831
536
894
86
822
746
706
544
983
841
634
498
883
701
623
713
765
750
765
758
820
722
651
587
446
806
500
942
878
874
779
462
849
685
797
933
915
642
776
927
731
583
782
797
719
511
704
808
697
718
601
746
761
283
696
600
947
471
729
890
630
719
759
904
668
968
664
714
714
823
597
791
668
633
756
589
757
642
728
507
471
463
650
831
382
656
595
641
733
679
618
658
704
404
560
844
534
684
611
593
935
655
983
811
562
825
593
1003
730
855
817
630
703
776
721
686
590
710
961
685
667
877
800
741
827
854
557
712
631
717
380
701
460
870
754
665
556
454
872
831
644
759
830
756
775
628
928
177
625
711
784
904
915
619
429
930
864
523
425
716
573
893
709
791
898
731
837
763
866
673
837
754
829
650
573
509
791
602
676
602
677
391
681
531
618
808
608
548
722
805
724
546
874
669
619
592
762
812
772
882
634
802
637
387
701
908
740
593
991
698
526
809
569
642
749
781
919
422
711
891
733
527
703
589
765
642
595
805
849
781
905
443
828
799
814
694
696
792
787
705
655
378
804
685
785
607
481
760
846
638
729
870
732
634
730
482
789
580
761
615
751
724
806
591
793
776
302
784
559
678
553
817
493
797
845
743
600
729
763
713
716
760
690
757
756
709
623
769
644
699
704
656
823
358
656
842
665
511
808
418
807
665
855
702
402
686
791
643
589
378
566
677
757
728
831
709
133
495
805
620
850
827
526
781
769
702
802
658
810
600
775
881
832
828
604
582
782
929
614
927
660
412
863
837
878
452
621
594
554
671
861
800
668
723
790
458
718
952
754
717
578
818
658
423
709
597
685
652
854
572
681
931
760
696
729
504
689
789
674
331
820
687
665
824
776
773
609
835
745
520
717
773
741
885
994
839
624
490
788
737
617
765
547
821
719
774
560
659
828
928
895
789
817
760
824
647
806
790
383
679
769
570
638
638
824
377
826
766
883
539
832
824
876
676
767
467
631
561
793
836
796
570
686
868
902
913
854
675
839
609
679
903
639
690
405
796
888
816
783
678
839
831
664
662
714
625
818
678
760
679
755
686
766
842
770
801
778
803
621
728
835
737
579
685
781
808
812
709
679
754
898
589
793
705
825
655
692
802
331
630
740
624
564
692
485
864
875
923
705
586
954
569
686
572
668
951
764
815
786
880
425
867
677
745
759
794
709
741
710
500
500
598
347
592
762
577
601
747
721
874
720
934
838
619
683
392
738
756
839
679
639
728
702
852
820
543
841
426
474
781
798
786
835
673
846
617
842
752
661
602
532
524
862
666
477
888
942
551
899
568
772
631
221
899
939
739
697
484
786
922
820
759
862
476
194
662
672
798
651
791
841
844
945
506
189
754
737
598
733
702
626
737
853
755
728
555
178
691
562
500
834
734
957
871
751
504
716
552
902
1014
392
558
611
934
630
747
695
898
705
750
658
588
786
726
588
547
615
611
913
917
688
250
436
545
561
700
842
618
987
694
517
723
810
595
152
665
579
600
482
825
651
704
675
578
778
869
512
691
767
580
765
718
701
708
529
691
701
735
639
448
877
668
532
897
701
694
769
173
816
866
787
829
706
929
598
594
838
826
824
648
711
590
688
732
543
609
694
643
524
928
525
802
566
808
508
790
609
356
630
739
707
751
504
664
792
682
877
842
875
653
658
903
772
863
520
779
673
515
770
548
619
347
350
549
535
606
783
883
680
795
661
737
761
516
428
662
713
728
749
586
613
772
653
574
746
749
474
668
155
652
701
967
562
726
681
784
462
655
982
866
628
902
698
766
724
714
501
953
684
838
857
448
867
523
575
0
868
461
940
658
909
633
817
920
728
800
622
763
922
736
819
993
783
666
808
791
444
558
793
734
468
876
634
770
809
90
725
788
727
645
676
552
153
709
756
885
705
591
685
463
684
716
677
646
671
717
674
722
924
875
382
701
725
801
857
801
599
729
971
863
729
880
681
746
754
407
665
575
877
767
539
749
821
699
539
763
620
463
727
842
440
649
828
800
879
540
919
339
397
616
413
639
735
760
512
637
835
667
642
684
592
871
719
298
665
716
590
843
843
865
865
814
700
338
756
685
689
670
676
799
886
720
795
695
595
781
827
789
660
701
772
759
779
713
593
928
704
624
657
552
370
772
785
273
674
830
915
535
570
858
976
625
758
642
787
684
718
723
781
973
757
726
719
919
990
882
662
678
899
945
758
262
790
763
290
825
629
667
704
741
873
674
811
658
757
433
723
760
586
740
637
733
609
697
316
436
975
797
662
895
850
818
760
663
735
764
518
682
726
721
821
755
520
759
705
770
704
898
341
715
497
810
845
650
627
761
496
563
852
832
836
783
365
426
686
643
657
888
840
697
675
418
668
782
446
482
682
929
787
551
800
517
703
709
886
788
572
830
684
816
875
733
908
736
648
796
704
865
694
588
686
745
784
823
610
722
809
658
787
824
752
747
695
535
303
731
389
749
637
764
631
480
959
588
737
632
760
811
665
842
259
620
589
741
707
970
861
610
604
473
668
614
644
763
617
638
513
468
648
562
457
727
410
640
823
664
654
700
748
865
594
588
784
189
765
713
707
63
839
591
769
731
537
665
575
714
669
777
769
488
586
921
643
579
673
687
838
513
455
0
636
679
786
822
752
599
544
736
532
527
390
991
766
552
732
981
755
684
452
814
947
822
697
766
670
477
822
829
778
661
801
759
950
812
946
693
745
531
532
735
850
600
800
544
731
838
562
660
495
621
668
456
662
905
637
754
695
776
695
862
697
636
729
652
678
867
645
747
625
800
745
628
800
586
694
576
635
613
980
745
635
916
563
924
627
883
639
148
803
468
613
598
680
850
854
748
552
757
581
707
664
731
645
642
868
689
826
602
707
841
637
551
851
743
517
751
768
882
725
557
647
740
659
730
909
457
872
730
754
845
887
614
840
831
727
628
690
605
635
748
745
902
575
673
608
677
688
672
444
741
707
729
640
686
645
970
775
393
705
707
852
896
659
945
665
790
875
566
675
682
937
882
683
989
832
801
808
686
827
666
868
883
925
514
684
743
573
531
767
844
607
708
432
545
960
841
700
831
938
900
551
750
511
746
669
671
811
737
451
803
648
864
571
622
774
877
629
615
668
563
593
652
474
758
784
687
621
899
926
806
715
385
673
587
500
620
779
858
657
795
786
671
801
795
807
562
658
845
920
918
596
609
794
615
920
608
545
593
973
778
720
716
760
852
777
613
782
539
721
638
694
441
484
767
782
857
917
728
410
795
834
634
707
842
747
592
692
805
741
722
679
678
864
527
710
717
680
588
706
743
861
801
823
911
604
413
590
683
718
679
641
877
756
34
460
943
788
745
830
832
985
766
449
716
657
394
598
742
655
772
728
756
423
772
735
918
678
498
665
810
458
945
630
658
518
594
843
809
691
836
535
557
845
619
795
805
395
772
705
739
804
502
811
980
584
814
689
624
657
702
759
856
624
894
596
677
554
763
718
782
838
749
854
642
670
587
702
922
827
385
655
719
656
679
798
720
794
515
924
568
675
858
600
728
587
914
811
774
600
733
615
755
796
732
588
598
687
661
915
801
822
747
837
803
829
790
603
602
656
496
676
638
706
483
710
229
798
774
677
947
734
543
865
472
786
777
544
650
549
874
686
872
724
808
781
859
978
578
821
711
918
541
456
539
401
716
880
801
703
755
696
805
775
371
498
773
725
474
917
811
487
675
800
558
680
722
882
408
882
790
763
813
857
811
833
620
560
908
455
601
809
368
857
560
808
549
606
948
778
828
725
723
734
663
807
31
907
665
640
725
656
764
710
612
742
681
564
907
621
771
691
236
609
872
755
620
717
812
652
552
803
648
361
403
737
650
652
790
674
933
670
724
309
710
813
738
778
601
711
791
811
936
838
392
753
826
645
792
853
943
619
652
696
814
655
870
814
722
805
979
753
667
839
945
762
923
644
755
973
670
509
886
627
925
681
801
615
815
696
721
511
682
335
615
762
921
763
715
775
709
727
827
890
840
796
993
273
719
898
727
757
217
600
798
845
594
536
503
927
667
767
543
661
417
561
816
835
673
852
783
606
894
586
686
788
504
682
846
558
547
783
535
644
114
620
695
741
643
561
819
599
634
829
934
557
831
711
744
835
713
572
612
816
561
604
313
807
910
725
773
659
507
910
724
752
691
575
891
584
738
581
884
504
618
522
391
727
774
636
606
671
410
412
677
783
630
564
703
626
634
778
728
760
878
933
487
731
702
673
583
439
745
631
551
697
755
732
758
514
825
805
683
390
949
691
700
698
720
625
303
667
712
471
554
485
740
586
541
660
987
355
695
554
697
870
388
686
642
576
784
737
752
662
873
745
193
882
769
718
612
351
888
705
457
753
644
570
654
833
659
768
773
605
430
591
898
640
846
574
400
770
770
617
733
667
845
629
589
1011
665
686
816
332
612
643
655
627
665
694
735
731
606
805
735
836
653
631
692
868
863
680
411
511
843
867
774
579
487
808
648
714
579
898
726
665
654
753
493
436
693
771
760
638
811
591
670
614
104
870
850
620
498
381
693
392
843
584
560
645
547
884
817
819
609
723
726
819
602
765
890
784
904
543
737
778
696
897
729
707
804
802
753
779
967
786
635
574
696
642
432
961
440
571
681
541
497
809
719
944
682
436
836
831
734
927
597
522
599
822
895
754
645
726
932
755
933
786
880
685
710
615
772
747
859
911
686
823
431
530
709
963
805
816
774
656
629
542
871
633
681
779
720
793
764
741
781
862
659
771
781
920
945
487
699
655
759
585
720
674
724
849
302
463
597
646
656
676
348
720
416
494
627
730
512
716
644
666
679
824
744
727
501
878
825
693
872
550
789
667
778
809
818
881
797
745
561
702
751
677
845
677
833
776
582
871
709
706
776
290
795
600
739
731
817
658
711
749
750
564
495
716
645
688
631
830
786
824
642
528
921
716
554
765
755
643
849
683
588
699
507
763
690
538
769
836
662
756
639
492
789
717
852
747
668
838
660
779
782
652
811
720
877
622
783
488
660
843
746
829
605
778
765
741
939
712
347
800
573
744
709
608
956
621
666
818
643
753
948
813
812
686
728
485
525
670
664
767
475
758
953
416
932
747
448
720
599
805
666
600
850
761
639
826
686
941
795
905
632
672
436
586
750
742
843
610
649
799
564
658
697
651
748
836
767
779
758
951
915
628
779
634
570
878
722
841
576
634
717
679
875
879
394
423
594
720
837
154
851
686
766
627
700
811
744
943
389
651
681
592
819
736
850
848
518
935
583
605
851
612
793
705
543
593
681
640
579
311
729
892
616
786
711
790
718
702
780
759
806
860
743
644
738
681
806
537
696
727
491
629
836
837
734
961
842
578
671
847
692
753
725
724
671
736
677
687
849
793
828
490
813
803
755
496
939
613
660
716
644
612
551
406
675
824
811
695
511
715
871
694
690
783
327
834
677
797
641
572
590
748
849
772
696
923
657
828
646
548
873
883
872
614
585
635
723
752
895
571
645
899
846
657
516
859
583
852
825
787
890
620
737
929
614
664
653
725
324
582
580
826
801
668
760
837
808
796
651
332
553
673
797
149
579
889
838
716
754
440
664
329
784
747
689
955
834
534
682
660
917
687
435
914
725
862
561
611
930
712
945
868
775
481
848
695
856
748
420
729
799
547
756
566
709
614
659
627
599
546
690
831
805
756
929
782
610
743
708
727
581
882
406
708
799
949
794
688
640
810
916
699
748
746
846
903
732
722
710
781
712
513
715
745
672
797
654
665
712
468
606
750
802
755
659
841
717
595
838
808
811
704
448
796
804
264
442
618
755
870
630
814
764
760
624
610
411
758
788
827
737
731
590
418
607
549
654
248
760
802
745
454
732
864
848
949
775
566
654
582
657
508
953
823
455
695
910
740
920
710
709
713
631
813
695
587
956
561
780
564
507
616
606
608
751
731
875
841
914
736
724
890
668
765
754
694
846
787
838
525
858
718
638
734
598
588
967
837
788
687
757
625
584
685
627
776
877
610
586
826
707
780
594
654
772
922
860
854
768
683
700
774
928
767
743
524
609
759
575
780
712
607
641
815
835
688
820
732
895
692
711
710
862
741
625
734
736
782
429
672
464
605
697
792
868
737
461
888
811
528
509
801
454
460
683
593
563
748
621
579
946
456
840
739
657
709
592
551
623
971
783
830
831
956
792
765
739
635
542
736
801
928
498
474
766
683
725
892
589
677
902
314
977
698
729
737
773
882
722
714
480
669
832
750
747
634
806
652
591
744
712
664
752
706
798
666
813
783
706
655
945
666
808
550
697
996
743
914
619
820
545
730
688
795
675
683
961
826
178
880
600
382
662
730
898
612
774
732
776
715
625
602
511
983
655
626
802
521
766
545
638
622
912
730
699
687
790
957
672
648
553
629
722
612
587
586
633
675
610
695
599
576
510
656
732
846
634
803
788
927
678
769
589
809
899
94
598
740
967
560
778
682
591
945
658
750
612
765
786
538
919
402
640
740
757
795
462
732
472
704
519
867
332
147
673
530
309
775
903
517
795
594
872
594
918
895
521
804
871
683
789
617
826
994
877
855
702
656
727
608
511
597
784
548
554
692
804
724
845
917
872
724
563
535
758
847
849
740
510
812
624
868
732
531
647
603
656
615
858
698
701
624
533
757
804
933
568
801
729
294
660
814
750
876
776
745
667
661
735
763
848
726
714
790
639
636
698
749
581
587
992
905
850
620
648
452
561
738
700
765
627
596
743
791
771
921
761
810
918
757
0
563
912
545
656
521
719
665
678
657
844
533
844
832
764
988
610
675
856
616
798
681
857
674
782
585
735
528
808
676
661
804
841
789
918
564
652
904
737
552
618
654
560
414
775
735
551
901
699
717
733
916
765
734
831
953
562
656
839
754
719
810
827
739
557
625
782
783
819
621
750
753
266
757
738
755
896
570
689
719
748
908
741
814
747
519
541
638
630
747
804
643
912
733
632
660
656
826
757
961
856
809
439
877
670
924
408
678
718
794
749
784
749
747
881
624
667
865
637
687
696
918
793
572
576
507
797
927
265
696
715
766
671
613
542
932
627
630
648
542
631
865
743
644
967
847
662
825
701
616
898
834
594
872
826
862
871
462
712
624
790
719
747
796
657
688
928
877
788
601
810
725
723
755
922
815
900
765
761
704
735
742
513
633
689
973
869
656
804
697
805
576
760
378
689
632
732
501
814
919
770
450
861
713
724
751
848
573
407
496
291
733
610
738
242
821
715
689
611
787
731
606
586
761
462
444
783
610
849
862
659
769
806
723
830
673
231
735
541
812
560
795
713
569
599
151
779
574
427
628
630
716
677
711
887
700
658
772
846
510
491
729
486
308
765
712
596
328
786
934
698
640
897
783
494
786
810
800
591
662
710
801
617
715
395
681
774
487
630
492
807
693
469
836
756
745
882
761
820
699
609
702
868
712
550
887
909
566
686
895
703
797
675
501
332
747
811
508
882
915
665
765
889
555
680
507
863
807
747
814
872
264
638
506
694
370
697
874
725
575
897
787
767
845
653
801
815
681
630
684
800
817
917
749
613
316
898
479
920
716
753
764
684
549
552
784
745
718
759
590
437
744
587
677
217
891
845
748
786
546
656
597
612
735
702
815
602
819
631
717
644
857
680
863
672
781
930
654
931
799
805
805
673
692
788
722
662
635
785
786
807
680
729
823
666
635
925
681
580
606
453
823
598
509
799
582
616
753
527
485
639
817
900
538
698
730
507
824
628
586
764
830
902
524
444
502
444
875
635
606
672
588
820
642
534
153
677
953
515
588
538
926
512
813
621
665
816
861
637
634
552
648
810
618
411
487
626
706
755
687
940
748
816
691
742
767
630
797
580
588
752
767
620
618
590
498
580
573
347
513
681
700
811
709
710
701
846
868
732
640
848
688
374
523
778
487
619
834
861
727
750
633
624
822
639
723
482
303
898
499
496
849
600
781
674
625
698
688
657
563
707
639
546
686
562
408
462
856
763
780
608
813
769
777
788
451
911
429
784
596
704
644
677
710
642
807
782
841
829
760
579
876
829
782
685
725
708
654
878
759
751
745
689
832
669
665
699
694
884
692
701
671
846
705
791
853
773
863
527
711
652
694
898
752
841
794
727
672
740
533
717
898
651
769
326
777
900
473
734
913
755
699
821
669
884
569
653
633
699
740
500
883
788
559
631
912
294
891
695
665
750
767
917
625
741
549
766
849
728
694
835
700
494
722
553
840
812
532
835
823
790
538
561
808
571
585
930
617
896
721
394
799
797
545
933
790
597
855
785
588
556
632
719
694
661
767
514
907
681
607
434
925
428
880
659
754
761
799
677
855
599
668
559
819
662
634
741
657
749
660
686
661
947
635
719
748
629
831
921
568
645
621
680
446
709
726
598
415
557
727
863
553
602
769
338
722
672
513
747
759
768
605
545
645
957
526
674
685
649
666
637
457
710
597
845
630
953
759
777
767
692
398
303
879
654
903
748
378
685
702
864
757
0
541
538
692
892
488
677
700
0
662
825
991
146
504
810
746
631
760
748
938
686
582
790
459
576
728
822
459
919
839
691
667
542
697
479
730
581
695
822
497
236
833
766
809
546
719
762
590
962
718
554
743
732
755
729
699
885
702
930
510
757
632
487
672
686
811
604
794
721
915
591
369
803
682
777
653
908
477
743
213
709
529
685
464
733
499
624
763
721
746
742
1011
711
776
693
701
400
741
641
980
254
779
661
764
793
626
703
430
590
960
666
799
741
787
638
721
437
791
589
515
898
540
880
625
937
892
838
767
504
777
596
900
657
585
884
603
831
647
889
491
651
780
800
858
755
604
521
711
539
640
598
727
752
661
777
546
659
861
864
605
747
930
850
660
846
749
701
569
576
825
590
745
826
637
565
827
647
772
738
648
776
664
530
878
898
699
866
752
499
672
864
759
649
580
649
667
605
694
766
477
686
506
583
739
547
566
952
777
905
842
585
690
669
745
607
670
689
846
678
815
781
802
731
582
829
795
770
575
698
707
946
608
684
738
781
847
518
649
736
786
733
738
708
858
896
879
844
732
789
687
504
860
772
644
934
782
820
678
781
759
719
712
849
622
605
715
572
784
655
621
698
706
833
816
595
824
734
832
777
743
908
702
634
671
547
756
808
516
790
958
584
732
871
769
365
684
665
750
692
887
482
689
812
547
792
807
669
693
778
638
779
764
770
660
851
588
734
781
859
723
645
864
483
824
593
588
848
650
662
736
774
318
461
534
651
648
533
653
898
959
687
733
787
754
326
803
758
411
854
653
679
528
931
571
711
743
553
721
807
768
844
623
589
916
934
629
787
774
747
750
707
501
763
628
680
635
735
883
431
849
662
850
649
742
770
553
797
766
739
812
433
691
582
569
691
635
848
867
209
490
863
750
594
704
916
770
668
635
429
814
970
840
564
800
667
459
895
610
756
331
833
620
756
618
704
430
479
745
769
854
616
773
716
896
433
709
940
768
807
651
882
811
759
693
845
701
709
807
640
655
660
705
703
872
793
949
634
828
817
596
757
707
956
368
419
849
759
717
694
715
273
630
847
789
764
687
643
754
498
799
374
738
636
820
767
777
589
893
538
792
680
803
904
843
761
529
474
697
612
559
621
789
755
465
758
608
916
655
642
367
423
734
531
764
913
732
736
886
716
679
653
430
601
672
611
824
791
478
644
630
540
575
828
767
562
782
424
922
688
814
991
653
675
688
834
925
627
947
277
676
428
774
652
661
608
362
767
562
934
699
848
840
352
689
754
875
607
592
810
663
838
747
776
673
683
731
310
713
645
572
571
575
530
767
849
575
404
661
957
590
716
423
842
629
420
650
820
858
670
860
772
826
332
497
729
780
654
605
608
674
793
841
882
822
770
618
514
714
525
663
755
725
624
726
792
178
826
573
721
960
722
779
307
671
634
940
830
770
537
741
605
750
606
705
732
930
887
885
661
759
650
617
467
660
778
487
703
668
677
736
529
668
728
795
821
661
568
760
439
949
802
793
658
599
654
539
638
613
644
861
944
802
835
764
575
728
875
547
426
686
479
728
658
645
662
815
760
767
682
454
838
639
683
258
782
550
689
818
729
428
866
754
689
405
817
661
623
713
856
854
639
902
754
666
681
816
509
736
826
643
881
789
601
677
679
617
570
503
474
707
454
501
696
540
746
820
751
898
770
735
797
741
770
569
750
703
838
496
646
688
705
702
857
759
891
870
849
463
523
748
772
799
743
803
789
513
510
646
568
846
701
816
805
703
597
710
816
458
614
477
810
613
739
753
729
791
705
571
785
583
853
654
949
900
628
729
852
599
679
642
757
758
706
709
720
983
760
597
865
634
834
897
761
725
952
735
630
595
903
254
675
858
921
846
658
778
834
826
716
597
591
933
877
548
701
833
235
678
901
787
468
690
783
666
903
954
645
609
772
912
548
423
599
687
441
613
606
797
666
659
160
613
705
478
606
384
530
646
857
655
700
841
607
749
685
677
656
472
612
788
227
612
839
766
793
683
826
635
653
655
937
741
528
887
922
923
839
666
584
863
610
326
527
772
695
778
897
589
612
904
778
930
589
506
699
815
757
666
625
495
779
803
652
827
772
805
989
741
616
510
426
815
388
527
611
659
643
609
935
823
651
687
973
227
817
829
533
561
893
549
724
796
752
680
603
737
725
668
572
697
626
720
582
882
669
932
867
512
935
707
814
852
763
776
747
567
688
846
736
795
649
767
869
807
955
633
781
729
874
598
549
500
839
705
992
829
781
983
887
762
760
653
706
775
922
918
612
480
454
821
787
793
863
648
617
837
817
661
690
881
751
627
680
723
796
774
689
801
743
718
735
734
467
642
744
808
856
538
422
816
953
692
689
579
595
688
651
393
498
539
759
443
755
781
814
511
316
807
812
689
822
520
730
792
892
773
618
793
510
756
773
722
647
672
590
636
824
933
484
466
771
765
539
770
742
945
727
718
803
538
637
880
714
674
575
569
154
770
885
642
744
1008
793
646
909
609
781
741
752
408
715
863
526
744
869
923
869
925
933
748
871
741
797
815
789
352
511
574
469
799
887
664
761
691
837
593
928
854
540
596
802
713
383
648
788
903
703
727
669
798
894
678
742
710
722
658
544
754
960
675
685
859
728
814
716
416
790
605
651
934
835
610
768
743
590
727
547
998
441
754
646
291
704
268
770
919
675
777
712
695
772
600
776
723
410
432
843
806
523
628
843
795
742
984
890
911
816
635
840
681
837
796
515
565
891
535
607
848
706
817
724
857
775
781
618
729
622
785
736
782
545
881
660
667
728
730
719
880
673
955
652
515
545
495
655
812
620
766
735
784
555
643
541
717
549
848
837
1003
810
684
633
709
766
667
540
629
929
904
735
540
894
761
929
585
867
865
631
479
92
790
744
163
461
782
881
807
599
441
862
867
626
543
634
646
861
902
621
733
809
707
849
733
576
889
548
703
631
666
643
502
722
746
691
653
732
872
673
778
783
673
527
910
696
898
824
658
731
622
710
805
663
624
617
831
701
569
770
642
629
773
1001
620
719
805
685
951
750
630
595
871
809
727
572
596
695
716
571
544
914
494
526
727
849
661
852
926
795
807
792
774
806
614
665
590
567
711
512
601
639
673
797
764
890
557
718
777
632
440
701
754
921
738
808
624
815
882
595
828
793
888
722
628
787
835
571
738
795
596
874
353
441
624
760
530
843
801
648
855
531
904
631
759
811
700
794
579
726
739
677
781
810
821
665
436
559
485
754
613
697
644
669
613
753
599
624
548
710
540
722
558
691
626
583
625
687
702
664
646
525
768
785
802
854
726
671
944
497
899
781
784
518
594
713
692
718
551
508
163
811
900
684
677
606
882
766
791
540
957
786
780
696
953
241
638
722
795
804
716
845
719
658
694
881
877
812
564
630
457
848
685
823
617
830
852
872
732
703
677
816
642
655
815
820
761
859
925
549
585
721
912
911
809
795
501
628
869
506
811
828
753
661
1002
670
857
725
626
875
778
503
557
647
768
684
574
790
721
812
541
733
556
928
731
797
711
717
717
619
688
771
620
458
750
936
212
316
713
896
565
776
750
813
541
438
601
681
564
425
901
701
443
725
924
809
851
328
835
742
606
782
578
551
741
745
601
797
351
928
903
418
760
802
534
705
891
774
738
583
911
601
816
556
675
843
704
776
713
769
456
500
457
824
446
767
836
571
410
781
728
553
800
694
778
730
699
705
897
879
578
828
739
540
749
744
738
781
793
781
206
598
790
674
742
962
533
919
521
722
812
820
779
878
697
684
895
565
647
613
654
875
848
963
459
787
687
585
217
837
703
1000
846
869
634
617
727
649
896
624
571
693
745
854
695
600
824
745
116
599
550
157
708
552
659
770
582
431
808
435
560
700
704
878
631
805
801
658
495
696
229
735
799
726
647
691
777
512
645
977
562
591
910
421
876
665
587
990
636
737
561
779
647
696
646
906
509
910
812
885
499
893
558
689
802
399
557
430
834
644
430
728
668
875
690
827
838
674
733
509
482
583
957
774
579
685
841
894
717
729
594
803
805
663
890
682
403
852
956
940
844
812
756
773
821
815
502
489
870
692
694
560
682
763
545
857
943
685
678
722
897
967
693
733
955
631
893
883
726
831
724
802
571
918
823
472
888
708
500
794
678
691
778
815
722
536
651
486
770
868
506
542
753
604
588
921
895
751
785
725
591
706
758
874
676
152
379
770
703
645
791
806
679
861
851
742
865
692
797
759
925
744
588
917
620
639
668
610
736
929
591
618
692
699
759
498
707
594
821
777
776
672
640
656
496
723
551
843
837
681
814
871
721
713
681
677
675
604
629
668
463
766
512
672
575
934
699
560
344
895
775
796
752
725
405
332
614
657
173
817
836
715
303
547
793
862
768
839
838
668
746
463
778
742
671
625
829
617
872
757
706
855
735
622
546
874
788
670
873
931
809
624
574
851
851
377
937
786
606
810
861
900
709
778
788
744
753
850
720
710
785
799
761
552
448
526
687
836
832
456
740
919
600
869
583
535
898
860
541
588
761
746
518
706
749
398
722
658
685
766
161
696
724
674
594
868
795
456
579
692
823
768
799
863
684
822
827
511
677
677
147
480
412
799
446
853
805
854
754
701
925
647
602
677
608
669
878
794
766
872
850
783
811
939
674
812
534
474
805
317
781
772
702
529
908
861
605
249
747
619
892
614
411
859
730
639
961
698
732
880
794
743
866
685
605
870
299
754
835
810
834
642
629
737
830
545
633
915
908
616
758
507
803
758
816
658
649
594
897
738
331
521
598
550
751
636
710
747
616
735
770
877
793
902
540
727
359
655
522
861
386
862
703
689
837
788
656
635
583
849
528
985
760
575
938
424
792
623
845
840
528
655
697
231
865
342
672
456
708
882
650
891
863
917
702
858
686
745
677
675
577
681
886
454
684
727
535
540
558
803
632
684
650
714
550
787
742
698
859
814
875
631
624
807
589
501
955
678
834
678
810
913
746
531
859
893
665
628
864
728
700
741
902
824
528
734
833
453
786
877
859
619
913
906
640
802
684
118
577
854
829
952
664
545
717
768
526
811
733
579
688
549
822
820
255
786
553
731
684
776
442
920
724
858
793
524
753
628
772
606
731
604
718
382
641
754
599
678
411
825
631
638
982
576
838
789
745
633
663
589
805
213
628
629
861
785
577
756
743
799
656
628
676
758
725
693
882
530
889
608
863
808
805
727
849
636
578
513
742
645
786
590
704
489
0
665
664
759
700
927
756
759
697
816
759
523
755
580
582
507
923
657
788
762
866
684
569
668
709
753
586
811
740
561
669
709
625
707
707
584
416
812
834
685
509
759
509
713
425
624
617
844
725
632
757
761
599
777
574
714
886
466
556
859
698
641
635
885
439
863
769
858
773
822
745
684
811
766
782
900
537
699
789
715
552
722
648
515
424
611
498
925
615
856
513
882
557
696
971
765
621
849
772
843
654
631
604
336
598
560
749
905
621
787
551
743
675
839
762
784
844
815
833
416
624
620
662
612
493
704
661
498
623
753
888
737
575
772
873
749
591
678
807
432
687
569
689
926
832
705
821
761
586
743
859
732
739
854
793
198
927
751
812
905
721
678
719
606
805
830
749
523
715
695
426
696
883
762
654
910
785
568
594
111
711
618
757
847
686
724
788
748
507
331
704
935
620
733
840
443
943
649
693
857
883
681
775
579
591
467
715
771
733
674
723
798
776
892
782
849
798
587
769
448
656
669
736
859
881
738
568
791
671
746
745
715
842
666
970
442
545
631
831
815
603
673
741
772
571
805
973
456
788
797
699
853
897
666
730
533
819
673
701
735
936
882
720
629
649
743
812
529
630
586
634
624
726
759
804
637
825
738
924
692
798
509
813
638
614
521
648
813
934
769
864
788
892
530
708
782
638
605
399
591
801
716
750
634
718
642
655
857
879
741
397
535
710
665
739
673
767
629
815
525
781
756
929
720
618
615
601
677
761
573
547
493
697
538
662
713
741
549
762
880
751
209
839
625
879
907
965
612
791
872
736
515
666
628
452
875
350
350
946
553
747
525
721
886
818
837
829
606
631
698
624
791
885
744
851
799
654
888
640
668
711
754
355
332
605
868
823
760
727
804
784
672
767
672
671
703
125
512
640
848
750
657
708
810
745
839
798
591
946
894
682
300
967
788
888
746
649
706
485
755
485
744
815
597
684
868
673
608
885
753
471
706
814
758
693
895
777
770
589
549
701
575
748
818
732
741
715
728
747
787
753
717
608
855
859
527
550
921
220
274
584
780
767
648
898
752
728
722
601
566
786
735
709
572
644
746
502
908
532
794
636
625
473
562
568
878
816
539
914
928
936
833
726
858
888
831
501
815
718
685
522
800
833
707
654
591
567
657
478
800
669
869
700
704
618
688
566
726
788
660
577
649
607
868
606
400
545
548
611
755
703
745
657
821
640
735
737
875
740
695
564
712
753
656
515
814
674
777
741
656
668
745
594
606
654
776
630
788
621
735
610
560
495
693
747
674
890
802
711
681
865
583
678
863
937
844
836
970
442
701
814
852
970
181
467
916
607
473
682
714
573
741
689
839
586
811
771
945
748
602
654
851
493
909
911
748
657
635
796
572
575
417
694
662
728
727
684
624
619
702
519
885
832
308
436
927
750
588
428
513
572
625
668
746
865
734
855
745
875
769
723
509
666
616
684
183
757
703
833
653
796
710
677
886
593
595
768
842
578
904
710
801
780
686
1013
864
729
888
490
765
703
833
780
551
331
87
671
535
686
808
787
861
873
729
751
548
631
710
625
636
778
781
740
623
770
815
635
531
757
819
737
629
768
782
727
644
638
798
736
348
685
777
857
609
533
423
716
956
751
651
942
449
713
541
986
752
918
695
763
643
668
634
732
730
738
821
728
714
605
748
785
556
826
503
595
732
614
794
474
594
434
716
737
615
574
518
703
872
723
817
682
796
567
696
645
522
493
857
556
830
940
678
516
656
816
403
775
876
624
925
536
598
740
558
755
87
806
718
762
834
732
621
579
921
674
768
719
527
609
671
954
678
671
696
675
728
746
798
499
500
894
847
716
916
569
953
639
722
654
560
794
683
672
744
507
810
691
850
572
440
760
511
739
797
747
485
805
750
844
754
647
589
686
716
833
473
734
753
693
939
763
378
867
789
889
814
493
645
987
760
565
790
591
705
703
629
604
893
553
795
445
749
712
954
654
614
732
771
751
748
773
437
607
399
671
809
713
813
948
827
654
664
753
800
885
704
902
568
709
381
762
786
715
518
599
850
663
492
641
749
904
238
594
616
751
747
867
769
820
815
660
739
773
689
800
705
751
513
802
911
698
603
990
818
870
581
803
727
929
613
518
793
905
648
623
698
814
238
561
855
750
687
725
674
1011
481
866
791
689
850
675
901
881
737
885
1005
835
776
881
662
615
762
620
632
876
940
592
715
643
722
654
146
603
814
679
679
617
328
655
613
457
802
896
593
234
721
719
1003
775
771
530
779
738
405
600
850
669
871
809
579
775
696
903
806
837
791
824
597
923
491
839
981
794
594
652
380
985
380
801
666
700
677
656
661
814
642
551
792
289
882
789
791
661
625
655
874
697
784
621
803
897
314
850
602
842
803
777
843
583
972
726
812
685
652
637
643
843
677
713
639
796
619
864
290
862
689
711
746
734
443
774
808
674
748
709
379
410
669
617
553
875
669
624
779
481
810
830
828
641
511
629
800
769
885
970
752
789
821
741
769
740
549
862
702
857
527
730
737
706
793
480
747
770
581
595
715
553
609
492
642
601
626
592
557
736
473
844
782
640
821
602
896
935
714
882
771
645
733
574
880
834
776
741
893
624
676
789
731
560
579
644
713
739
687
809
676
825
558
488
571
628
898
387
876
422
594
563
722
859
588
694
586
980
900
600
606
786
680
738
871
943
850
585
729
862
754
311
630
563
737
664
698
804
341
744
677
687
596
753
678
770
640
854
291
764
882
630
853
467
757
597
637
897
366
718
705
494
923
940
723
790
601
682
946
817
495
936
748
661
771
914
568
810
631
726
829
816
734
631
946
831
495
697
635
662
511
845
844
589
674
700
866
215
795
778
721
597
737
875
711
796
635
576
824
844
696
726
621
731
0
608
678
573
738
741
700
472
799
493
716
643
679
652
667
557
782
827
549
541
920
573
757
704
666
758
435
742
790
716
846
594
925
520
906
908
740
645
714
627
507
691
364
736
749
419
848
791
738
801
767
753
705
762
510
474
706
629
755
821
694
609
729
788
710
636
816
721
885
332
795
712
593
463
575
746
601
602
639
630
742
711
779
663
861
709
765
751
700
679
600
708
665
778
812
576
751
646
726
591
505
802
739
722
735
757
553
637
765
825
909
839
605
794
822
812
680
682
840
800
762
814
720
791
845
635
708
740
621
561
692
571
632
601
274
711
585
771
835
679
611
762
719
772
756
805
629
736
720
691
822
702
806
668
697
680
735
850
823
702
734
547
844
464
850
834
649
831
853
856
733
460
716
449
861
860
920
558
264
676
649
775
745
660
933
711
772
616
474
892
592
857
828
722
829
773
784
551
867
739
562
693
781
706
704
484
690
539
668
592
699
830
683
876
569
721
743
547
825
691
523
708
807
676
667
700
801
708
892
801
926
689
477
834
712
477
594
642
822
473
555
727
609
794
608
622
638
689
866
649
396
836
648
692
761
550
590
898
753
847
588
838
855
719
607
615
905
782
902
919
584
635
605
639
412
879
639
758
889
733
707
792
715
747
856
815
850
820
845
810
864
755
800
857
731
526
729
806
769
844
810
682
742
596
861
976
775
709
788
852
683
724
790
587
503
783
611
576
734
690
377
651
743
784
683
63
558
627
698
712
793
863
877
609
539
820
823
583
666
685
829
723
843
691
638
734
509
619
699
711
497
557
738
890
712
665
764
175
564
565
642
1007
618
680
766
737
834
825
794
610
835
918
464
827
401
758
795
705
763
856
463
704
553
720
662
872
627
578
607
531
604
652
591
792
517
710
415
625
783
703
557
832
681
711
784
758
756
732
565
546
692
606
698
680
354
804
822
527
554
725
656
618
473
600
890
426
159
954
561
326
679
716
603
740
531
750
706
835
719
730
581
902
818
800
949
867
710
698
844
925
437
709
940
487
658
798
749
718
173
440
715
562
713
432
678
361
765
615
812
694
780
674
673
294
543
625
573
599
800
828
781
727
756
870
710
987
933
752
787
810
622
647
611
602
875
678
758
611
609
680
755
649
881
763
550
784
502
795
827
562
707
643
857
601
667
488
833
782
519
427
795
733
879
877
919
530
629
810
675
578
591
713
826
647
942
908
763
696
826
920
960
664
666
639
964
835
692
744
609
960
697
744
775
954
768
728
833
681
644
624
867
768
744
854
500
678
850
699
639
802
640
742
868
869
571
768
740
655
921
366
891
715
851
595
650
766
625
659
709
625
712
662
709
699
743
534
821
717
801
590
772
839
519
863
564
829
816
774
773
739
472
769
690
681
659
780
843
764
465
890
938
796
726
972
685
790
815
954
738
724
630
812
1007
715
539
848
655
718
498
646
449
689
922
617
970
890
547
671
476
735
647
549
685
849
658
639
642
837
637
811
729
649
592
747
545
709
733
935
781
505
857
467
765
754
745
410
547
758
847
900
622
603
784
501
602
776
831
455
938
882
691
603
646
671
713
901
773
851
759
844
577
899
756
774
747
709
779
654
696
577
622
643
805
618
644
806
903
560
967
979
713
743
674
757
988
562
690
622
618
616
774
732
646
808
265
691
643
769
697
588
796
629
764
685
677
527
641
692
662
560
681
643
684
781
400
846
733
706
883
457
751
644
1002
913
679
282
571
754
700
669
854
521
504
563
914
629
806
664
689
213
620
471
889
582
866
634
788
808
303
559
680
667
594
818
915
835
741
753
472
522
814
846
831
627
790
646
948
723
677
910
709
822
716
588
755
700
597
576
591
687
683
759
576
635
718
794
837
911
714
816
769
890
900
432
509
704
429
342
632
634
494
813
952
866
673
716
857
692
772
699
693
743
581
790
803
942
801
676
697
582
856
816
557
587
812
699
615
589
878
784
819
649
728
778
459
563
731
472
996
647
805
529
794
912
378
801
690
754
770
620
861
873
714
714
634
677
678
666
727
749
712
624
677
825
740
814
368
693
687
741
595
664
902
758
672
542
735
746
704
438
654
484
552
830
473
638
838
807
928
712
856
786
717
780
595
598
576
527
571
539
609
771
705
834
697
829
714
824
604
687
605
931
379
827
578
704
747
753
771
934
602
735
662
489
604
788
759
492
899
597
684
718
904
774
688
440
508
715
644
768
802
717
747
544
621
738
740
387
598
615
705
748
611
836
509
646
547
817
343
680
874
789
691
803
708
745
796
813
812
755
573
726
688
161
888
623
669
835
800
662
688
709
585
751
885
894
877
648
792
762
753
875
991
895
744
780
812
603
826
753
643
696
754
791
457
552
717
720
712
558
554
814
488
844
753
692
781
511
930
957
614
691
681
955
571
836
460
829
797
970
769
691
532
771
771
654
754
835
961
571
839
689
707
439
693
900
915
880
683
780
605
652
810
904
470
788
697
768
757
898
775
786
669
748
715
812
743
414
825
566
816
626
711
724
931
630
701
911
475
625
647
765
635
634
844
559
782
718
434
809
739
792
669
699
607
924
967
498
903
741
780
324
806
492
982
695
420
683
837
817
296
660
599
810
596
682
870
592
569
744
795
765
650
857
827
979
680
459
935
608
630
777
807
588
818
852
808
788
829
675
696
378
466
831
377
939
972
475
614
664
853
738
293
719
608
701
733
677
716
796
602
123
545
455
819
595
828
741
730
875
536
728
729
718
602
909
717
754
517
947
700
613
927
793
406
551
547
865
615
478
345
533
795
817
764
633
731
653
829
843
485
715
687
675
482
693
840
707
564
735
837
761
827
276
733
791
555
608
724
821
691
706
718
746
854
605
618
272
775
782
548
738
765
836
798
783
684
617
519
910
644
664
844
733
699
724
756
731
811
685
726
662
418
975
779
784
929
512
653
770
742
672
800
384
665
807
414
739
718
642
565
922
695
879
741
704
622
916
792
726
796
804
835
722
944
987
357
909
679
682
613
727
636
672
724
602
805
742
665
381
757
788
829
723
814
733
1008
840
570
785
637
812
666
674
698
750
745
689
826
814
769
783
770
747
659
736
861
929
753
787
779
486
961
757
630
1014
762
642
739
805
726
831
897
822
923
745
855
822
802
914
922
521
843
652
445
818
890
698
654
834
533
550
835
801
787
407
784
743
676
531
825
539
645
756
628
918
515
710
402
393
710
618
708
661
659
708
763
541
305
935
812
552
752
744
671
569
790
790
0
802
800
643
839
332
868
909
446
751
645
868
786
708
681
763
695
583
590
862
684
677
432
842
714
779
693
920
276
894
1007
619
626
795
543
786
805
773
954
869
846
682
800
800
885
389
481
271
718
761
500
686
508
732
573
671
723
813
817
922
822
877
640
905
803
942
537
312
297
420
183
539
648
699
607
634
832
598
618
754
666
650
553
846
588
732
914
707
719
746
701
837
600
750
739
867
807
885
673
511
717
846
859
374
388
659
670
456
845
773
878
569
607
589
313
750
679
742
724
511
745
757
794
775
677
678
557
463
533
924
862
778
722
650
668
538
919
601
702
764
111
606
737
889
837
560
544
815
873
767
695
544
605
668
695
668
472
795
674
621
583
702
606
866
874
701
924
591
674
575
724
678
632
563
401
757
745
922
950
809
773
646
744
738
685
777
479
736
515
737
902
585
599
821
709
950
796
531
944
657
796
553
683
607
882
734
652
836
671
528
817
780
590
555
813
795
878
852
414
723
714
639
774
629
778
843
650
703
593
664
536
792
896
811
766
821
780
763
568
962
800
723
783
540
478
593
805
720
626
969
721
669
715
884
852
882
543
535
760
579
379
907
1002
924
572
791
815
782
744
544
682
575
766
890
951
683
541
666
508
540
637
612
937
766
186
888
670
736
753
826
669
429
610
457
750
912
732
773
774
524
194
190
583
610
675
815
599
806
541
693
657
884
779
666
567
962
977
664
790
488
739
861
825
748
482
535
856
735
717
928
786
750
659
768
562
724
777
477
707
778
768
760
946
702
789
690
652
674
630
813
604
740
910
905
419
700
376
730
583
162
675
632
755
896
648
810
741
499
970
770
616
726
629
532
574
892
824
875
635
724
815
631
684
617
800
567
709
411
802
573
772
527
808
911
847
719
273
791
766
922
693
577
775
504
661
735
780
652
676
747
779
566
835
790
929
555
531
664
488
838
692
996
514
512
878
527
757
849
728
630
622
630
706
626
878
658
975
548
627
730
727
670
707
512
164
525
732
773
564
717
763
711
657
791
740
499
649
652
885
518
541
716
825
652
891
802
617
638
578
609
512
609
854
682
806
825
329
744
946
846
764
754
651
812
426
715
819
497
677
639
813
905
819
779
907
624
736
655
901
634
614
913
677
699
749
727
755
762
766
715
795
216
676
535
604
723
554
544
432
750
550
541
711
896
605
720
822
612
661
778
903
771
765
588
818
897
854
779
654
837
623
696
653
799
501
734
604
659
817
523
733
619
740
774
780
614
990
630
680
598
751
457
656
776
729
658
783
882
823
765
738
572
655
592
482
498
893
655
702
819
768
813
944
768
766
627
571
854
852
650
752
579
800
692
867
673
816
568
727
850
892
507
588
581
594
870
633
751
812
972
476
740
545
680
353
858
540
817
725
737
756
691
773
538
571
911
802
727
773
859
583
699
574
404
497
821
587
682
740
739
854
682
850
623
726
677
532
789
953
698
773
868
783
685
566
715
512
838
636
817
583
742
875
742
629
772
796
748
627
761
675
597
738
408
687
673
855
635
748
886
747
539
917
704
602
589
707
630
932
766
738
898
697
751
551
828
736
603
770
730
773
755
702
877
588
883
1001
948
778
688
586
299
835
783
800
594
970
678
610
841
626
929
747
658
620
462
915
712
946
817
654
374
837
632
483
605
678
810
439
453
596
695
729
911
978
735
581
704
818
693
612
676
631
665
929
696
497
641
796
757
443
669
604
773
688
820
654
642
633
721
645
206
400
713
824
881
524
647
863
625
659
634
384
697
838
544
572
810
796
830
490
668
952
818
895
583
691
620
770
859
895
646
773
648
636
755
890
879
917
691
659
667
636
816
486
676
603
908
769
496
691
717
877
697
597
653
978
941
770
586
708
775
772
765
311
611
831
644
705
644
680
483
798
406
596
657
737
745
696
696
627
687
625
772
762
783
840
608
933
460
764
751
589
759
684
754
773
872
589
675
755
820
777
880
864
656
742
650
862
530
766
791
791
736
449
643
701
723
715
811
905
788
756
602
830
803
424
564
683
613
775
473
398
811
861
595
699
837
510
646
573
740
848
842
523
791
592
563
798
931
407
892
906
574
625
462
649
823
678
636
753
743
819
543
696
889
274
795
875
784
691
678
500
722
797
621
723
517
833
819
625
805
691
718
722
642
407
940
631
905
732
737
596
693
660
732
648
459
807
731
862
346
680
590
607
511
706
845
614
801
807
719
732
715
667
827
750
914
911
828
877
494
557
775
829
558
721
776
384
928
568
424
807
826
927
547
525
711
814
687
760
902
753
513
513
642
502
662
218
766
897
848
722
831
451
713
361
781
400
541
709
646
623
770
564
635
611
492
822
704
548
835
560
596
925
440
846
751
638
581
630
509
906
720
813
683
773
837
818
870
849
804
852
343
842
596
702
812
542
583
773
787
766
790
594
630
684
809
811
448
673
734
768
690
830
889
608
853
782
760
874
576
397
515
858
642
804
468
912
897
753
767
548
505
745
740
673
860
594
651
810
656
621
673
540
705
664
886
822
570
783
688
366
547
715
446
639
705
801
606
700
750
664
573
902
383
802
742
690
724
381
977
773
690
764
472
676
875
653
630
818
636
281
867
583
744
688
385
468
631
754
741
811
583
776
728
751
638
620
811
729
588
833
750
991
751
530
976
807
612
952
528
602
763
583
716
951
499
839
732
832
833
599
753
679
734
841
587
476
896
457
778
826
707
445
735
785
506
635
499
664
656
602
924
818
725
695
651
601
832
673
662
317
576
831
795
753
748
728
520
686
825
781
555
551
616
844
807
870
720
832
684
617
630
742
898
647
564
867
779
757
772
911
731
732
929
844
788
720
528
604
848
651
772
806
623
588
469
851
771
521
899
836
784
775
546
213
662
816
662
614
711
868
533
636
468
879
768
566
728
786
666
712
678
638
570
528
866
471
887
657
757
921
678
795
891
611
826
679
697
795
670
724
506
826
817
495
738
464
723
556
425
499
587
914
612
710
639
654
813
784
708
599
670
753
747
212
392
599
659
469
543
790
672
710
701
785
795
783
729
805
707
433
788
744
714
784
609
748
561
813
883
918
666
641
402
781
745
733
634
699
725
454
911
499
457
869
731
588
616
859
781
661
735
862
764
670
802
513
499
744
969
911
557
756
442
679
831
719
620
573
670
675
640
492
746
634
777
866
653
578
790
710
377
577
685
606
654
175
674
433
748
677
765
751
845
829
887
853
618
778
824
737
791
766
863
552
634
561
713
636
829
618
808
810
702
677
803
616
733
853
653
792
807
752
988
906
735
760
616
781
503
904
548
878
627
770
708
859
746
643
629
423
700
956
566
444
807
788
645
680
612
151
820
926
687
640
579
399
674
752
724
693
585
650
529
583
572
827
811
799
831
861
362
443
621
808
886
682
255
846
870
617
662
836
907
682
622
706
723
942
788
598
655
704
791
680
603
294
541
542
807
741
377
555
985
522
721
539
834
840
909
672
545
532
680
626
799
681
712
635
534
896
797
725
654
760
736
920
847
668
839
897
684
669
806
796
317
945
812
592
820
730
713
591
523
462
391
610
835
585
574
807
707
653
706
509
608
766
804
709
676
711
716
724
866
589
809
832
402
497
746
696
473
808
775
812
586
680
840
706
697
650
678
681
739
735
619
690
619
589
804
862
892
932
774
647
937
700
824
878
803
749
761
745
818
543
721
424
573
788
819
720
759
521
562
755
682
886
1007
665
743
865
758
303
871
714
794
360
460
768
676
704
767
806
717
743
720
488
645
812
539
862
681
858
694
595
757
864
970
786
700
699
807
684
692
881
396
783
649
826
574
584
810
573
646
740
655
784
741
768
709
968
761
791
763
752
809
645
720
674
626
469
852
795
861
868
689
866
620
360
830
783
769
727
841
815
757
627
493
665
343
652
664
852
685
957
512
891
854
837
801
711
819
791
685
664
592
550
589
557
637
543
656
623
671
840
846
756
621
873
874
668
601
685
827
759
918
611
590
636
519
737
714
820
593
660
931
764
842
577
745
834
920
756
742
847
841
639
479
696
787
655
700
736
808
827
623
541
676
927
791
660
703
745
758
392
590
72
704
736
758
761
777
656
775
803
614
719
718
752
702
771
689
456
894
901
708
742
756
862
902
790
754
977
819
690
664
867
751
941
627
360
579
655
760
632
835
547
977
786
764
396
648
779
825
742
701
648
737
609
886
891
712
971
830
689
604
567
628
729
673
663
608
235
658
691
929
767
897
636
738
886
233
570
513
453
806
791
621
653
329
662
643
865
629
704
684
517
707
863
782
530
742
908
636
725
809
305
513
751
686
598
558
989
794
807
810
641
734
506
574
895
546
904
746
974
526
729
991
741
820
663
678
855
532
805
732
929
744
968
894
470
867
767
730
531
677
886
584
580
756
623
672
812
479
841
951
624
488
825
834
647
561
622
644
838
394
726
623
660
816
887
778
828
783
734
801
457
966
551
491
669
594
499
791
574
805
748
768
639
822
461
604
813
697
624
484
838
627
754
588
627
673
826
579
804
917
1010
624
683
607
750
800
800
713
625
904
780
714
894
869
493
825
695
472
673
820
824
736
802
598
652
634
546
662
479
719
676
763
744
652
622
793
951
579
655
857
693
741
497
793
945
785
889
629
241
554
870
671
707
970
737
370
823
841
624
851
629
815
669
635
806
748
646
522
933
831
729
658
803
553
768
834
746
687
615
772
509
508
687
771
826
603
970
522
175
649
858
854
770
757
772
707
594
898
792
543
545
682
697
945
574
793
897
912
744
766
611
653
685
720
815
875
481
685
801
567
497
816
758
726
782
785
551
871
800
858
737
104
724
811
866
670
592
538
603
608
672
894
702
513
679
773
477
810
801
806
343
639
854
538
479
783
803
491
447
527
449
749
887
863
735
801
679
855
611
721
950
620
667
589
722
702
769
757
783
885
813
651
576
738
880
545
878
592
681
889
572
342
567
630
768
725
884
699
691
713
828
836
548
905
730
491
635
804
889
800
756
722
784
738
948
859
796
479
539
825
615
838
538
483
683
684
662
756
489
838
602
764
601
621
342
778
784
771
617
687
588
838
909
838
799
698
365
739
635
645
794
339
723
960
761
530
816
926
725
721
734
683
690
786
781
652
857
826
526
704
735
676
750
986
909
785
661
597
807
738
711
832
685
808
595
652
446
958
698
661
749
899
700
584
909
483
645
729
734
315
646
395
780
699
683
733
662
817
698
686
549
797
977
894
855
632
682
926
772
697
957
846
640
646
593
786
810
650
620
932
890
713
587
773
522
861
589
534
680
576
644
316
512
672
841
646
837
637
648
892
607
853
802
711
715
410
811
582
795
794
890
727
518
367
845
598
892
560
664
819
617
680
667
676
670
556
662
617
725
668
715
694
490
532
676
928
761
886
558
743
737
776
446
595
568
538
748
919
499
669
700
640
634
714
440
704
621
724
834
720
609
949
760
653
778
649
591
712
680
939
762
594
702
805
726
807
710
392
611
767
766
591
765
441
620
690
744
702
786
790
775
511
431
743
524
579
842
790
740
617
818
846
493
540
937
720
815
724
649
899
637
508
583
400
760
706
772
655
661
698
826
696
738
692
748
822
727
759
819
733
602
876
662
744
748
967
656
898
836
879
521
801
847
712
786
701
700
582
640
639
758
640
883
750
757
753
382
397
544
914
861
425
679
894
870
904
683
725
740
588
782
829
807
640
697
341
528
642
911
576
757
603
831
620
821
933
853
935
795
738
727
566
461
646
733
154
781
689
727
567
526
601
622
572
848
847
608
741
630
812
717
533
822
739
679
283
403
763
792
878
690
808
348
811
549
638
667
503
678
405
623
561
914
587
746
629
884
707
708
853
796
591
905
473
561
615
809
775
884
876
632
765
716
722
610
705
555
619
670
587
759
650
616
655
605
913
326
555
776
738
723
600
774
695
629
779
886
724
508
625
691
475
661
868
813
557
780
610
623
270
616
408
996
711
614
732
496
718
791
793
818
715
726
797
625
743
757
629
685
433
630
682
837
754
509
563
736
738
585
686
659
752
560
818
925
517
818
799
881
592
643
660
610
696
349
686
780
718
804
715
861
661
756
577
833
748
601
915
820
643
693
624
760
614
750
612
880
752
664
573
695
452
590
536
811
711
739
746
520
446
492
598
683
826
744
896
653
539
558
801
384
651
359
602
582
866
776
796
651
562
773
907
560
540
671
761
807
949
651
997
539
566
868
809
594
750
798
724
508
799
766
923
912
932
661
731
564
868
799
803
953
753
688
588
431
344
689
672
733
752
774
651
664
785
429
821
630
730
864
856
520
793
727
727
704
826
686
702
782
809
853
847
601
779
333
470
953
384
558
952
934
725
789
971
715
486
769
744
527
607
664
854
685
733
510
764
523
621
642
860
929
552
190
792
855
709
683
712
723
545
531
806
928
870
706
91
445
787
620
797
678
790
647
593
648
833
629
782
810
291
726
788
774
729
744
749
767
542
750
821
749
601
647
803
738
804
574
735
91
624
768
677
475
728
671
535
859
669
786
716
696
785
676
644
641
586
770
711
685
938
800
607
741
681
290
750
707
564
654
762
469
575
709
932
456
935
350
751
549
947
438
869
771
769
895
477
703
670
607
653
782
585
821
730
791
751
590
408
775
625
638
694
501
511
906
408
651
963
756
871
556
701
652
791
703
721
608
780
691
591
847
760
727
668
261
752
698
705
866
514
978
555
811
635
862
987
905
350
906
634
834
927
789
515
738
700
545
773
670
583
842
664
960
622
902
620
704
916
643
820
468
683
851
542
645
610
711
659
475
273
796
506
486
752
672
803
682
393
766
136
777
732
818
426
425
740
981
788
560
668
747
689
687
605
499
902
908
717
537
740
977
882
512
653
829
444
442
739
703
726
690
909
792
821
481
825
874
427
750
732
661
490
651
471
658
558
393
729
594
534
626
613
690
723
811
656
637
580
377
659
543
641
678
711
572
758
847
670
816
727
613
930
755
896
932
720
237
896
597
753
860
808
723
693
725
838
447
948
789
776
740
780
631
732
729
720
550
859
824
780
682
772
969
952
512
785
803
773
763
781
829
697
637
681
474
756
508
869
911
728
847
813
307
830
706
567
641
217
962
500
694
803
924
519
818
791
852
702
526
210
627
952
805
869
624
710
882
382
718
693
706
551
532
769
789
656
338
868
836
791
535
611
837
363
523
806
665
568
545
904
783
659
761
413
625
666
800
848
664
752
830
793
290
841
788
322
809
843
629
715
717
658
791
679
771
895
673
497
838
753
717
705
807
606
645
738
872
940
866
790
611
469
728
740
725
799
700
851
750
803
805
659
721
517
479
701
585
860
911
566
695
772
540
926
759
703
765
807
520
535
744
548
745
731
775
575
797
723
770
495
671
850
554
725
847
649
669
761
712
623
592
710
832
575
164
606
785
488
739
692
746
591
993
866
640
658
861
826
667
721
721
915
759
784
810
551
461
621
614
820
761
489
692
513
758
755
784
620
501
498
765
498
726
799
694
543
1002
405
644
623
776
954
779
692
788
664
473
690
753
851
843
392
543
823
737
682
339
583
781
500
927
539
570
647
841
661
151
539
381
840
771
389
767
633
731
876
689
633
809
661
847
730
613
624
537
837
710
796
720
673
788
789
661
668
826
892
929
705
884
813
620
734
807
791
622
709
424
695
835
791
782
647
709
851
715
731
625
712
723
775
717
837
805
886
804
863
722
846
859
546
813
740
742
618
576
804
717
788
829
640
777
689
616
799
687
803
551
709
960
626
739
777
536
905
674
646
514
583
677
841
632
807
914
829
795
996
633
559
743
736
630
886
729
881
786
695
640
750
839
883
756
743
690
460
705
664
790
756
720
1001
787
811
639
729
712
903
758
610
515
670
725
474
406
267
761
428
408
678
872
809
812
605
787
688
888
605
664
737
918
835
735
708
445
343
806
941
681
698
706
590
819
744
814
614
841
288
870
551
712
717
913
711
656
419
740
690
542
745
704
705
851
781
715
791
701
769
817
931
601
627
817
689
646
712
798
724
843
581
769
576
803
880
532
927
882
869
739
541
761
851
862
802
773
967
717
554
652
611
850
503
822
522
332
789
687
807
813
659
729
836
775
633
410
727
781
446
589
825
580
743
685
836
484
453
717
701
483
706
510
630
514
628
632
754
178
526
505
517
830
613
785
765
766
699
709
618
564
774
478
723
831
805
664
864
643
626
620
656
775
451
558
780
779
490
680
436
692
729
706
845
389
422
722
531
738
763
705
549
913
711
830
847
740
583
904
835
718
513
860
710
518
775
724
682
908
686
739
740
671
510
676
851
822
814
484
602
678
782
958
315
760
561
851
791
664
562
852
589
756
856
858
622
657
834
896
651
842
717
615
444
671
632
871
672
814
522
490
832
798
689
610
680
658
603
714
805
718
716
655
841
680
648
663
836
414
827
756
607
802
468
615
799
821
540
919
810
457
752
502
746
821
620
366
672
585
690
624
696
882
572
782
758
375
797
599
726
614
441
746
783
352
472
483
853
758
381
863
442
687
611
639
461
468
800
635
417
805
646
748
781
819
788
576
634
823
519
679
600
755
826
680
517
610
725
92
932
776
530
816
583
822
781
767
795
543
613
206
808
491
687
823
704
362
812
580
601
987
712
710
665
888
770
692
667
791
519
719
487
732
773
748
933
670
767
627
830
744
621
757
947
746
797
793
482
705
483
504
788
709
756
705
672
866
753
650
483
404
670
423
757
803
755
656
679
808
578
915
579
774
407
798
659
969
378
822
832
670
575
850
717
663
789
737
732
834
728
836
562
528
593
1028
739
539
695
779
707
267
745
888
671
423
729
661
478
763
736
890
284
378
954
773
576
583
643
745
335
715
783
776
530
630
507
758
742
367
464
777
709
631
742
583
739
653
651
786
967
817
848
499
536
912
777
960
691
895
642
788
483
690
569
475
864
758
841
699
799
658
557
842
727
787
813
727
351
986
518
896
864
404
573
616
408
835
915
517
522
699
706
946
750
786
533
891
677
664
557
629
924
652
655
652
595
892
712
649
805
500
577
689
495
753
702
719
779
825
868
611
672
704
935
739
608
785
642
556
777
499
845
607
975
716
752
551
561
775
572
771
478
549
694
864
799
682
273
779
548
716
594
566
781
491
541
658
737
905
703
567
927
750
643
436
734
777
812
324
571
806
779
716
538
676
733
626
820
646
750
691
887
775
660
754
614
464
324
789
392
574
789
557
610
735
899
984
968
530
716
848
794
949
692
871
696
787
951
370
677
857
722
897
750
512
895
933
668
804
570
643
557
697
743
696
494
815
803
742
544
716
952
843
895
737
497
861
646
743
764
821
629
648
502
544
760
768
744
592
561
482
770
795
467
504
653
663
663
543
1011
710
256
699
670
871
411
879
660
626
673
274
626
639
691
660
366
685
842
887
791
460
729
421
530
772
741
670
558
638
721
471
771
625
714
818
431
685
621
756
857
629
791
782
819
548
747
485
869
722
462
519
825
587
800
476
968
788
845
696
751
696
482
728
917
730
757
734
783
754
830
543
784
757
746
809
498
893
619
408
637
432
721
384
526
428
850
578
726
816
688
856
616
850
724
791
707
828
705
400
847
743
833
613
658
679
772
720
562
669
991
632
866
508
550
778
867
881
782
573
900
679
850
699
1009
900
765
716
875
697
687
699
465
769
900
684
757
748
549
557
317
523
807
771
683
635
936
674
955
760
765
779
570
990
667
829
726
798
743
911
722
892
615
604
221
793
748
756
793
540
723
886
893
795
542
212
719
808
606
390
720
718
626
779
914
693
644
634
608
794
750
598
648
745
374
700
837
499
813
827
626
623
747
563
727
842
539
659
545
588
438
638
603
586
850
659
944
754
426
562
607
587
784
441
744
911
778
784
908
587
571
733
561
761
570
919
715
746
888
702
331
464
870
980
578
796
626
705
868
712
682
682
819
727
786
595
877
554
213
834
794
764
812
812
898
708
739
602
761
500
459
543
293
573
634
633
688
900
910
867
679
782
873
824
709
591
658
917
572
663
752
636
319
790
843
913
209
538
766
809
643
744
735
490
817
811
689
805
707
829
727
628
490
512
779
652
651
839
810
550
738
518
730
700
710
654
840
840
825
848
664
552
797
529
707
377
849
732
701
844
747
714
705
469
671
915
985
649
943
761
721
499
692
852
728
750
737
621
721
462
605
893
667
717
590
687
792
763
511
663
540
831
634
389
735
633
733
874
583
716
750
782
569
745
824
910
852
591
591
903
780
737
763
490
208
696
470
698
792
566
755
779
718
427
368
820
574
848
767
657
732
598
592
551
698
945
808
877
754
769
844
854
578
680
754
762
810
586
755
613
773
571
791
830
745
752
783
749
526
556
257
914
823
593
853
639
861
782
735
908
497
721
829
729
905
662
741
694
720
887
730
699
817
583
923
731
832
687
720
651
823
514
889
674
617
787
786
725
676
523
309
807
592
778
760
765
558
703
606
669
906
601
620
686
746
731
705
685
733
935
631
884
588
801
772
769
821
471
897
446
856
635
788
594
655
367
818
754
723
584
593
565
754
396
879
626
842
732
806
589
760
843
755
537
630
734
651
918
684
732
541
602
822
781
832
378
668
899
670
880
603
755
554
710
798
710
528
519
709
528
633
727
714
570
736
421
710
736
352
555
836
567
878
515
701
879
490
999
584
520
670
565
699
760
400
885
799
690
695
649
584
869
849
319
659
753
877
560
471
674
638
345
911
738
383
646
839
838
758
811
481
758
630
697
477
755
626
896
787
471
809
663
677
774
200
802
750
625
495
805
781
484
270
678
908
744
895
705
904
538
763
600
915
775
816
421
730
808
820
651
705
503
657
690
675
462
512
726
680
843
629
758
442
853
839
884
900
922
807
718
766
789
799
497
775
701
905
768
908
701
641
769
750
625
727
528
736
867
930
270
644
956
524
607
712
777
823
841
502
762
848
636
464
871
831
943
856
660
640
660
579
604
715
632
627
755
560
883
530
845
618
709
677
755
524
854
812
784
817
561
805
827
632
486
752
639
950
876
645
894
657
830
837
717
420
885
784
570
668
665
759
853
923
662
472
903
825
389
642
693
870
727
756
909
548
730
570
703
377
682
554
683
703
837
651
972
852
346
791
858
722
752
532
649
605
793
758
576
727
725
860
776
672
776
537
949
755
805
809
854
914
781
769
767
692
478
598
707
826
728
750
520
720
673
961
875
775
640
641
755
666
582
654
615
750
648
829
708
703
926
570
560
826
871
688
874
571
688
627
535
785
580
843
535
837
737
705
603
911
664
705
605
708
742
529
215
737
634
907
850
973
750
763
716
827
488
462
717
682
768
215
870
485
835
602
711
728
589
638
683
694
687
532
723
633
809
982
640
679
801
620
794
807
671
609
706
722
746
829
774
845
579
569
793
820
743
701
735
506
747
875
722
461
586
463
911
693
733
875
555
855
659
680
818
865
805
760
745
779
962
648
771
520
959
618
735
618
536
676
947
841
770
842
746
710
805
573
988
685
845
641
405
732
896
654
745
846
606
609
828
811
797
726
588
717
665
730
722
742
783
614
796
448
922
756
834
606
594
624
983
803
645
755
590
755
764
426
610
904
640
704
696
637
675
886
822
573
417
896
903
676
521
927
770
761
727
710
790
380
702
985
446
865
675
857
654
913
639
843
872
882
695
718
726
587
709
244
445
625
788
439
744
672
885
734
877
848
739
829
901
724
781
523
661
610
862
675
747
831
705
813
736
656
705
718
833
793
592
722
894
856
712
621
855
755
871
644
827
289
862
769
731
916
772
794
617
591
636
588
568
497
637
635
744
855
960
779
681
753
741
856
870
806
804
539
0
756
569
758
701
666
685
795
615
633
770
870
683
796
931
870
842
358
718
708
758
718
564
815
468
806
705
674
628
703
666
576
829
487
397
683
697
517
725
806
874
270
717
627
943
963
610
887
844
679
833
751
501
873
718
758
927
538
462
718
752
935
578
916
431
551
765
404
989
836
800
734
615
669
615
766
766
786
687
920
787
696
929
751
820
725
393
754
553
793
580
614
544
779
781
561
830
724
727
608
725
990
516
855
512
1014
715
865
725
858
802
665
900
620
835
468
607
360
569
708
745
741
711
819
474
723
904
768
740
466
646
882
826
881
674
802
688
835
818
567
735
845
731
830
669
785
453
637
791
754
732
667
717
654
891
693
601
858
492
811
689
859
920
614
813
564
972
782
771
820
917
678
570
549
707
678
718
851
572
610
514
733
781
686
475
734
757
856
807
583
448
616
723
919
594
706
781
806
639
882
605
820
622
729
687
873
698
543
643
648
704
443
562
753
801
512
788
649
381
697
627
900
583
691
892
601
881
743
559
894
802
236
705
832
621
688
758
828
660
916
903
735
630
404
403
809
730
751
509
678
864
833
752
681
497
747
677
758
665
891
738
422
715
779
564
736
662
925
733
672
733
623
838
678
848
799
672
665
828
720
856
422
621
602
702
719
671
689
255
270
613
589
989
693
468
713
663
719
610
577
770
707
375
840
934
663
825
682
465
377
459
416
751
800
754
701
528
757
811
236
817
655
693
699
872
574
717
793
740
730
961
867
542
719
755
785
827
393
701
879
911
928
801
593
770
821
990
751
745
741
732
557
801
856
503
732
710
655
730
850
673
543
878
649
765
735
616
773
759
643
538
785
602
787
581
852
717
686
634
565
739
612
586
798
544
685
800
163
739
944
751
716
676
836
910
839
935
667
867
803
707
671
406
528
704
604
846
793
243
594
889
715
757
718
539
777
554
835
722
801
644
295
1006
780
620
606
754
777
716
838
601
778
826
867
480
835
610
801
627
845
736
456
761
647
783
814
579
538
865
844
739
673
886
911
734
492
526
774
867
770
651
843
572
778
675
946
720
930
719
736
748
512
987
699
692
788
721
908
717
516
574
587
708
731
881
590
863
574
901
857
729
902
836
775
631
776
746
670
631
779
769
729
788
773
769
592
584
562
652
746
547
559
530
619
576
541
630
793
771
513
547
848
707
954
848
633
773
513
747
586
610
804
806
784
783
708
684
641
441
493
668
822
712
664
650
610
729
533
645
681
678
790
716
652
652
595
173
747
855
571
696
491
635
693
819
500
864
691
802
792
650
714
739
847
679
777
742
672
636
588
825
595
728
807
705
840
743
553
459
709
635
766
729
900
775
750
907
777
922
800
543
428
683
765
742
640
534
793
713
732
755
826
455
589
798
765
659
490
693
900
818
812
689
888
316
793
766
619
742
850
820
587
514
682
774
976
770
641
588
674
658
756
698
607
737
832
440
657
474
915
924
566
741
684
693
826
518
249
94
649
897
719
960
682
576
213
839
910
465
950
684
743
694
930
827
645
759
770
791
794
781
896
571
661
800
889
686
784
966
477
875
894
691
926
790
950
634
666
445
655
681
957
697
576
610
892
467
733
729
669
878
598
479
441
755
622
735
590
853
445
808
694
676
687
747
804
710
828
409
580
724
875
822
514
825
778
691
478
759
743
537
874
832
872
764
682
767
794
985
715
820
743
885
734
752
579
733
703
758
435
750
699
776
803
588
746
870
759
639
776
859
873
645
619
684
832
769
716
685
886
704
787
639
756
728
801
628
882
784
797
839
805
819
315
604
820
638
741
798
479
813
744
443
707
793
589
937
702
786
666
816
641
507
613
731
575
737
825
770
566
600
434
638
610
845
368
814
505
732
273
499
713
757
342
823
914
773
786
753
621
806
772
891
791
595
741
790
751
622
724
857
725
811
700
731
722
922
803
731
733
680
676
679
946
550
611
712
886
778
468
796
697
736
804
678
856
719
732
594
626
689
730
695
734
411
714
339
590
732
683
775
623
808
604
702
546
941
902
950
727
748
803
669
385
377
1017
666
746
749
773
875
712
436
703
800
689
668
863
724
615
586
817
133
576
813
448
762
797
532
908
547
797
980
689
360
551
877
808
717
787
685
658
715
504
751
638
798
558
675
883
629
501
715
940
364
702
793
733
794
796
738
749
861
706
717
797
471
732
691
807
919
704
591
724
340
672
832
633
443
543
963
729
551
577
704
397
775
801
611
483
324
727
640
821
883
861
661
659
787
745
775
410
630
648
573
866
887
324
924
819
677
740
721
767
904
224
645
241
606
727
479
617
913
689
636
585
783
740
970
834
568
687
759
714
726
893
876
636
833
780
339
893
744
804
778
756
785
737
855
682
783
811
689
817
709
803
586
563
818
560
712
646
692
635
676
724
639
690
619
846
794
855
444
644
801
739
968
737
727
903
757
796
1014
820
751
704
733
732
632
692
677
708
745
736
621
513
977
822
694
627
357
613
622
685
345
886
614
746
621
396
753
715
876
448
639
746
872
670
680
702
664
638
768
764
824
873
648
478
633
801
829
550
832
740
919
786
719
572
890
689
800
668
525
902
508
618
562
595
683
631
646
779
776
811
850
572
952
805
791
435
599
708
800
787
821
694
506
741
657
581
846
147
752
725
517
737
527
701
779
837
721
614
745
796
856
588
456
697
552
778
438
852
493
873
535
801
822
734
675
375
866
603
713
802
388
833
919
495
456
719
930
992
717
660
630
590
469
623
939
841
614
944
389
483
637
754
712
803
975
848
383
865
418
697
866
557
676
840
994
389
618
713
483
800
777
960
651
686
831
273
637
860
652
724
523
958
642
797
574
592
665
544
709
643
678
857
485
720
726
718
680
873
677
593
736
391
693
712
808
616
640
924
552
768
572
834
705
1011
688
702
686
576
690
312
510
739
734
852
616
624
847
676
800
477
551
611
912
596
633
495
559
573
808
430
686
788
564
727
873
663
896
370
435
379
808
812
500
637
752
632
681
651
815
729
841
691
653
376
567
492
779
421
840
914
754
593
231
760
720
580
726
809
595
859
405
734
845
673
637
975
557
491
904
769
729
631
870
624
759
631
885
595
934
659
757
834
740
659
627
680
565
342
934
737
620
702
865
548
696
543
644
876
705
763
809
577
613
596
719
751
829
675
663
551
838
840
868
663
692
867
486
454
930
634
745
587
850
929
701
982
908
854
654
851
829
738
650
821
800
680
553
796
715
738
536
651
760
724
863
616
730
615
763
558
566
662
357
743
883
857
756
675
746
845
787
416
580
624
751
590
446
843
722
652
687
720
500
788
649
701
625
773
328
777
462
758
672
304
732
781
875
682
179
944
697
721
887
684
694
547
554
921
850
770
781
692
907
718
614
809
696
659
663
622
716
778
708
796
545
747
758
481
480
710
732
729
905
679
787
495
738
689
568
708
752
769
431
809
570
896
877
862
837
778
646
679
681
193
824
795
740
688
466
620
491
768
761
695
630
718
930
662
784
783
742
868
785
246
716
646
788
797
726
724
772
658
701
379
374
423
554
608
650
819
504
974
704
849
795
810
517
764
822
653
561
774
902
790
902
592
640
891
972
684
809
772
455
213
789
775
547
676
768
783
669
680
891
774
480
610
528
951
839
718
672
549
877
765
636
693
541
628
748
750
652
594
558
668
610
513
847
503
685
211
669
590
846
867
560
716
24
545
821
715
703
763
614
518
784
955
772
668
532
750
856
507
710
650
916
961
945
819
749
769
793
639
587
710
493
773
885
809
717
528
789
722
842
817
870
822
807
673
730
824
721
911
793
188
488
602
714
895
755
613
530
714
691
794
592
769
896
849
675
701
655
267
664
527
627
700
812
757
698
684
709
558
866
807
507
701
729
731
612
693
659
714
889
1002
417
590
698
800
807
491
594
732
944
794
641
406
704
733
740
296
911
558
872
860
528
626
731
683
801
647
869
750
949
509
903
769
794
517
652
707
723
878
697
668
766
607
537
884
774
453
653
470
649
696
905
760
573
904
810
650
213
782
472
624
888
579
754
669
844
907
761
480
853
827
513
564
825
867
692
670
335
680
868
903
857
793
762
725
509
747
794
653
672
785
748
767
622
588
836
634
693
697
536
684
633
595
804
761
765
694
576
567
441
874
750
660
766
789
651
607
871
518
852
703
647
938
642
716
417
744
869
582
696
409
942
701
861
818
540
908
114
614
862
971
686
678
558
857
591
735
527
375
844
730
555
599
448
610
712
354
772
898
719
754
853
743
678
282
634
782
708
815
614
730
621
727
574
777
797
1007
820
483
832
744
768
677
910
793
863
682
805
801
797
732
578
609
720
668
564
759
788
945
701
637
653
781
878
413
595
236
917
737
715
658
697
752
918
726
600
873
723
572
726
549
474
688
800
724
581
804
737
408
770
779
948
887
403
728
467
728
482
441
972
718
748
652
803
812
658
735
541
705
606
677
612
521
405
801
750
711
563
381
761
678
532
896
689
639
916
734
693
593
837
785
852
657
782
788
863
907
653
521
696
395
846
545
817
555
677
767
1004
476
808
660
864
590
685
855
496
890
723
796
616
885
833
911
587
543
597
674
862
977
818
686
366
790
627
685
1010
673
728
811
548
806
711
537
704
703
772
714
723
637
723
869
565
768
682
478
532
680
693
647
794
670
747
617
855
768
656
426
698
727
918
590
771
703
474
848
764
655
770
566
557
934
852
688
881
835
969
665
634
813
944
586
767
606
867
776
264
667
792
484
684
616
609
769
394
893
673
688
808
556
721
809
495
930
669
702
944
688
761
737
712
461
401
932
853
816
204
729
780
841
810
633
726
895
605
787
495
940
444
721
578
805
328
638
868
691
547
859
820
820
217
779
687
811
804
595
737
633
605
576
611
781
398
595
489
724
714
934
946
704
902
677
657
892
488
498
803
835
668
625
556
702
965
722
883
717
412
654
744
849
527
795
692
891
871
495
610
690
760
749
552
640
823
883
646
653
833
818
753
822
574
553
849
779
637
621
499
655
618
564
705
642
636
617
696
560
469
663
767
562
911
723
482
725
751
913
817
749
595
771
769
751
779
655
613
529
705
755
798
536
773
839
841
741
711
973
763
613
762
449
802
753
620
737
634
718
568
730
703
572
1023
567
893
833
589
850
647
760
817
768
674
713
607
788
671
740
822
886
648
796
466
504
833
316
881
902
694
557
367
686
950
920
649
574
983
731
845
922
764
636
961
650
627
659
470
281
683
345
342
546
609
742
650
752
873
805
859
813
333
634
936
812
611
695
794
425
805
524
780
856
705
518
501
732
801
720
690
659
675
686
599
716
642
708
646
178
903
756
887
656
562
728
149
714
560
682
868
594
566
827
642
877
744
533
753
748
571
509
755
723
724
719
519
730
764
783
919
717
477
842
814
452
769
963
568
699
731
629
528
760
558
598
822
790
509
706
672
193
834
745
895
747
545
852
892
923
866
782
538
626
891
859
736
418
811
654
490
391
826
643
550
774
760
673
608
693
619
875
689
792
741
794
889
542
843
899
848
796
636
768
539
803
839
578
728
644
622
555
586
554
724
784
818
910
774
704
588
553
822
488
692
542
781
819
685
801
694
842
664
933
734
642
510
747
810
821
643
613
709
936
949
1014
897
728
601
761
582
906
622
825
920
686
792
620
727
528
423
755
613
627
500
673
554
424
866
783
729
506
959
721
634
689
876
764
927
856
663
643
745
652
598
719
740
666
495
714
868
702
802
587
816
903
668
936
792
928
548
749
638
482
820
876
732
844
449
686
777
743
760
487
677
774
705
528
970
513
819
896
626
485
818
599
914
732
668
755
761
945
698
693
615
659
600
549
858
379
345
858
705
787
723
829
725
574
758
787
608
550
901
728
814
793
434
652
522
720
819
824
341
896
847
753
494
792
456
805
526
918
795
904
777
842
769
806
929
827
604
513
574
902
765
759
611
667
951
665
711
837
544
825
774
816
759
639
488
830
710
879
731
717
543
635
909
945
636
697
756
755
478
900
826
876
474
667
784
333
693
745
628
643
887
883
633
765
638
736
664
755
725
830
912
888
698
740
707
828
875
851
593
394
662
820
539
707
624
852
565
709
747
835
802
360
577
645
419
793
789
696
781
614
797
562
485
670
735
513
953
607
810
923
867
736
729
757
872
616
925
698
821
691
728
218
538
796
544
543
577
817
680
860
681
568
827
663
645
764
903
678
692
706
857
665
610
670
769
765
746
726
646
794
699
789
788
725
668
691
624
665
945
708
813
721
359
855
731
747
618
940
762
595
605
579
666
671
742
905
868
494
563
399
589
822
720
854
430
408
772
649
744
765
505
766
743
772
758
428
723
781
464
802
633
948
580
764
602
653
714
641
621
718
715
553
621
575
712
747
691
590
427
520
847
762
587
609
626
750
737
509
704
692
563
546
671
686
843
712
738
603
649
341
940
801
784
386
731
695
628
940
646
645
684
885
623
417
997
809
839
846
669
732
621
827
714
612
496
697
760
562
779
601
691
659
799
735
662
694
838
813
540
963
753
696
545
766
657
738
698
694
764
692
872
488
914
858
571
791
842
913
711
452
754
411
776
546
794
790
876
719
429
765
715
590
729
918
516
186
381
427
705
834
690
474
659
1004
831
849
858
927
748
651
413
760
667
397
715
511
669
730
544
749
725
611
656
631
726
778
775
730
669
896
915
562
615
757
954
636
796
796
696
690
692
739
429
979
771
719
857
746
813
697
680
649
502
882
815
566
803
463
690
807
706
427
460
935
738
966
623
682
654
787
812
738
645
764
608
897
787
766
813
684
666
771
776
385
926
668
621
652
722
896
937
612
548
532
752
545
390
636
812
993
792
770
478
766
680
746
888
901
485
743
671
813
572
816
545
709
894
744
444
744
680
750
458
804
513
566
619
675
700
705
726
753
694
623
742
756
770
462
727
394
742
751
611
782
667
58
497
542
774
710
706
643
744
747
812
930
763
681
739
490
790
732
750
795
859
743
735
849
635
606
506
910
700
702
581
872
575
421
800
827
839
661
1008
639
663
449
874
662
799
798
693
509
375
489
711
882
514
674
770
1000
646
817
445
654
746
640
702
731
716
722
909
692
919
0
719
954
686
918
693
883
677
457
771
669
612
718
500
864
849
564
953
865
407
405
609
677
541
775
444
858
708
784
616
600
414
747
704
664
697
793
143
929
686
734
735
882
776
772
681
833
713
550
585
735
661
503
573
799
781
406
713
669
734
490
621
542
713
721
792
670
762
785
629
862
811
781
881
783
683
788
751
659
824
678
825
653
707
753
840
761
609
679
740
845
716
795
706
685
806
793
502
735
718
729
920
758
600
891
829
540
607
779
495
778
883
541
816
613
478
893
630
668
864
772
918
616
392
655
822
640
495
553
488
715
811
911
316
729
781
574
636
610
939
711
774
822
764
685
684
849
463
430
660
622
777
523
712
524
750
731
379
736
775
714
555
789
804
237
496
909
383
857
800
617
784
910
785
788
795
554
548
396
496
891
108
782
867
678
669
485
282
657
900
731
912
819
577
458
761
793
828
587
562
502
559
690
772
844
639
689
855
737
559
832
690
820
693
729
633
595
808
383
787
658
691
795
718
633
739
604
610
465
746
976
876
627
777
331
612
766
661
806
863
563
673
760
700
812
564
793
598
859
680
390
482
341
674
579
601
814
323
537
890
687
826
1002
687
627
593
721
977
754
571
787
25
983
692
924
667
836
617
939
831
640
833
839
721
613
854
502
814
756
722
715
621
806
926
592
728
647
644
273
750
754
821
987
815
236
672
793
825
414
651
738
557
748
398
706
661
690
700
882
666
618
704
711
630
902
946
865
650
422
793
583
639
730
699
711
720
721
788
348
702
685
654
632
843
696
713
729
375
623
607
683
762
919
789
428
750
848
627
849
806
762
591
479
583
562
714
697
858
551
773
712
673
784
577
820
932
641
555
656
825
625
738
425
718
574
885
619
714
600
921
816
868
833
730
692
985
865
957
685
646
831
760
695
424
744
715
743
717
866
532
798
485
723
798
920
629
911
986
597
569
825
702
854
725
788
813
711
788
710
608
861
546
719
848
880
677
781
577
813
732
554
828
699
453
825
508
696
650
505
718
759
823
551
681
682
715
217
532
731
849
516
680
805
570
790
846
746
396
732
703
609
659
774
958
629
882
762
661
644
706
840
698
813
667
437
858
778
805
512
627
709
594
640
794
630
560
854
719
720
931
671
750
722
676
571
587
817
620
706
751
810
772
668
630
775
555
585
418
936
729
758
559
887
535
784
567
845
740
787
707
460
657
659
732
929
685
584
922
864
717
776
813
710
693
617
932
753
571
349
689
694
621
627
828
734
838
941
680
724
718
547
845
782
605
781
646
903
650
591
143
711
696
625
658
841
834
808
888
648
774
726
534
743
826
712
533
801
916
679
795
733
719
636
767
710
822
931
719
892
686
794
718
864
637
668
664
571
815
655
830
655
854
794
788
685
531
776
724
548
757
612
840
654
677
550
753
904
634
723
820
661
870
845
736
797
785
582
537
744
495
809
824
766
701
641
881
840
469
531
502
608
915
667
676
657
655
514
736
849
741
524
879
495
940
540
707
811
626
662
904
735
612
805
570
716
608
574
639
777
705
491
529
658
797
460
585
655
934
477
693
751
822
359
889
710
637
854
605
545
626
849
673
816
686
934
811
634
58
282
893
603
676
655
789
442
684
761
606
697
880
528
396
900
791
737
768
765
654
626
910
551
864
748
875
725
604
857
757
544
757
442
820
813
670
791
725
457
841
706
792
847
742
658
708
646
702
877
722
562
870
759
614
751
792
854
796
634
490
640
497
662
738
651
778
691
924
723
856
735
532
691
819
685
721
666
705
762
412
803
791
576
653
660
650
639
407
289
804
703
731
595
692
889
836
890
598
583
319
598
389
817
443
781
567
940
756
699
752
781
664
714
548
809
724
746
754
721
510
802
737
647
644
845
806
586
698
860
867
385
690
815
924
698
879
594
865
786
652
855
713
460
647
515
586
807
710
632
440
501
706
857
671
897
711
822
892
702
548
749
736
623
846
490
781
821
811
965
810
760
351
508
294
527
94
809
504
711
731
556
669
602
489
812
815
883
736
833
900
658
853
794
664
905
819
764
708
693
988
967
722
733
640
717
530
763
570
917
878
762
788
624
792
621
574
750
765
782
837
568
732
717
863
820
812
543
687
721
760
469
748
573
817
358
744
668
852
629
762
446
554
892
723
800
563
680
859
719
494
599
577
518
841
796
734
801
750
650
854
479
657
677
695
470
577
803
678
639
855
837
744
689
631
822
522
769
701
715
607
721
929
660
922
706
652
790
666
686
643
821
601
433
701
647
661
804
622
419
452
980
736
630
801
886
776
569
705
809
849
639
558
659
903
815
559
595
859
465
383
672
504
747
766
504
641
687
260
988
866
783
709
411
548
636
933
843
630
593
880
688
835
569
664
735
605
708
854
856
456
548
569
691
830
709
510
678
660
513
599
718
425
887
444
771
661
750
570
760
663
756
872
923
654
629
598
703
640
461
955
712
635
694
876
832
473
173
792
580
750
534
173
569
835
888
530
763
713
483
586
728
845
629
705
655
975
663
740
707
623
705
862
728
621
936
604
527
723
793
612
667
532
856
756
725
884
820
834
916
392
763
697
803
425
507
402
835
941
532
833
644
294
857
434
798
811
897
606
820
748
966
495
646
716
665
725
749
666
393
822
382
761
824
745
816
674
945
734
903
818
656
656
840
724
665
834
709
701
410
720
873
854
457
826
728
336
273
536
635
933
721
661
881
781
712
807
485
531
814
424
721
573
807
795
782
606
785
777
832
772
777
739
810
790
745
732
492
676
867
870
807
740
701
774
731
839
846
859
940
623
800
846
98
717
760
602
749
613
620
789
492
482
830
629
794
166
703
664
911
687
616
656
945
785
802
768
539
689
746
584
646
633
462
689
658
772
718
661
764
812
637
633
662
842
730
873
756
831
568
607
874
708
819
893
753
463
674
748
684
794
861
699
770
411
626
606
765
424
708
726
654
842
857
676
726
369
754
824
610
807
733
779
545
648
854
790
648
817
754
598
706
819
728
671
606
923
793
631
672
781
590
553
872
723
789
738
699
916
784
721
809
865
498
577
537
872
698
758
537
865
583
573
683
635
783
814
569
676
809
697
712
790
624
642
722
784
846
460
805
303
635
648
802
651
654
922
759
739
843
869
849
700
579
646
622
900
644
582
519
605
953
735
709
527
757
747
678
718
710
910
446
511
717
667
633
876
428
701
769
762
754
823
676
655
846
658
686
731
711
624
599
890
763
751
811
842
1001
711
474
808
619
691
702
215
432
499
718
551
765
604
446
939
727
760
377
695
538
527
777
782
805
534
709
751
639
660
715
404
813
525
731
728
837
662
316
476
630
616
623
708
445
706
500
625
817
664
728
813
866
574
400
859
853
644
904
533
804
711
849
749
748
699
856
622
833
531
719
534
769
661
750
525
751
554
701
782
703
827
496
784
539
709
919
505
671
539
617
772
808
647
530
976
709
885
446
668
435
765
715
654
696
735
691
727
959
859
847
727
749
945
459
623
773
829
500
625
907
743
827
705
728
483
834
730
411
965
669
283
473
822
767
750
703
672
763
546
711
727
721
704
759
832
954
693
575
661
567
761
795
680
802
714
448
713
841
783
699
958
1000
771
965
651
760
702
726
506
641
613
768
740
990
965
553
739
781
659
697
691
742
348
850
755
535
790
751
426
860
430
794
565
587
681
533
730
633
558
630
625
784
743
284
647
703
786
973
711
800
725
793
797
656
586
666
788
782
510
607
686
753
652
845
659
537
893
691
487
792
748
592
887
874
714
753
863
747
306
891
696
592
672
812
726
868
806
721
670
493
892
794
710
739
990
760
876
810
792
563
706
651
502
617
854
710
806
683
848
861
793
703
858
737
770
716
530
848
860
803
595
774
683
671
624
783
892
688
363
456
646
630
927
572
804
782
541
754
557
655
823
760
766
666
716
669
664
682
743
638
694
619
666
732
739
804
536
702
680
554
481
685
800
623
854
724
710
566
646
829
780
770
728
664
598
689
646
605
685
698
742
466
752
700
786
754
842
465
747
860
526
588
682
640
875
564
745
790
588
641
721
643
707
728
881
742
801
789
822
569
535
713
789
531
683
810
647
652
429
639
652
526
548
521
512
860
754
764
579
1003
778
602
598
769
462
835
815
801
739
514
716
837
562
755
588
912
728
551
763
819
578
627
703
757
650
653
725
886
838
744
567
710
718
877
699
884
585
832
819
861
592
761
710
752
469
800
752
786
754
691
911
775
701
702
748
441
831
772
440
666
673
760
936
766
652
232
240
519
934
715
523
626
771
495
833
827
612
829
643
575
711
404
503
623
673
489
808
749
634
939
608
677
528
588
688
747
922
762
654
949
669
817
711
542
764
749
907
647
760
421
558
723
669
711
765
580
786
647
568
540
767
923
859
708
523
720
610
627
684
642
577
867
929
702
758
691
622
640
369
519
572
1015
562
757
793
890
725
340
728
859
639
963
842
612
490
733
754
832
802
724
449
621
774
723
691
556
712
659
673
866
842
769
702
913
800
507
623
684
308
735
748
697
656
799
588
725
707
835
836
511
858
722
747
548
463
576
905
742
663
873
782
546
838
908
807
902
520
897
812
941
689
586
739
646
661
841
751
610
211
642
707
722
718
732
733
767
937
654
703
672
713
713
752
166
511
415
685
853
901
800
502
873
573
788
728
377
514
750
586
840
645
745
810
673
526
842
788
827
827
749
717
784
733
932
633
827
736
754
603
498
667
742
727
617
766
558
437
469
531
726
745
668
298
732
495
689
763
382
841
854
736
830
696
763
474
588
791
721
570
719
873
859
621
680
724
626
661
812
997
929
807
786
712
886
980
710
800
702
621
916
521
650
684
651
524
653
757
575
547
831
759
718
812
800
710
838
861
830
672
810
835
293
815
796
629
517
617
580
370
669
868
562
704
745
578
716
759
753
729
802
441
591
690
954
606
613
606
368
849
913
715
533
880
605
602
601
647
727
868
685
555
620
575
819
298
664
874
756
660
547
829
636
962
712
904
648
340
707
709
601
715
635
849
592
710
816
622
691
635
657
624
974
866
863
678
608
480
812
743
850
854
684
942
818
547
372
769
288
664
864
801
604
927
573
837
608
766
778
726
785
685
755
798
815
576
682
821
788
771
717
646
732
825
814
777
793
831
733
663
643
826
782
562
817
603
697
460
786
852
799
582
758
577
544
507
653
580
973
585
898
537
678
639
862
648
734
725
744
658
940
701
837
718
707
837
327
676
343
561
705
709
790
839
407
515
616
691
595
812
532
760
844
782
888
702
707
873
915
731
661
899
646
841
664
324
823
494
724
772
770
722
716
825
1001
820
628
618
571
568
644
755
876
845
725
740
858
506
915
910
688
617
423
943
813
610
712
912
612
608
514
753
757
761
550
877
683
589
863
481
178
484
826
589
795
823
787
901
394
489
904
522
762
621
937
600
744
734
714
718
629
710
659
781
698
919
791
765
449
539
569
931
864
583
819
759
474
680
782
985
733
618
641
552
781
728
893
552
510
811
682
676
612
816
795
552
702
605
859
695
804
609
865
702
758
594
923
307
642
575
722
726
795
687
587
418
914
722
865
890
642
454
426
638
687
401
962
779
790
791
972
895
325
516
750
806
964
640
585
681
715
695
710
773
357
699
580
625
752
826
961
714
459
768
700
743
471
757
616
765
705
676
560
710
886
673
718
818
596
754
898
817
761
683
716
638
781
863
446
710
818
783
598
747
869
719
689
657
924
715
940
625
816
811
844
723
686
693
606
556
862
520
965
541
825
811
886
673
779
861
836
729
290
665
855
813
648
779
797
711
791
624
918
493
790
694
608
418
716
537
485
634
523
944
414
741
551
549
858
737
806
809
495
719
762
492
774
677
692
602
459
772
852
439
623
273
793
681
781
540
744
889
783
676
464
514
814
743
845
670
905
774
743
658
394
812
749
627
811
623
548
846
674
677
633
804
681
495
668
432
786
712
577
893
816
764
705
715
956
829
595
688
692
875
883
728
288
870
524
866
803
406
684
753
782
762
491
665
563
718
764
581
777
628
925
856
841
661
645
628
721
723
744
813
696
833
778
713
416
619
781
321
706
884
898
748
691
633
932
726
685
514
830
828
634
580
871
531
795
768
640
588
717
839
549
485
905
725
493
563
772
554
801
720
847
421
566
793
801
0
891
485
911
603
441
711
520
639
952
903
872
794
366
789
740
707
763
922
723
681
787
715
648
723
296
858
227
768
662
882
928
573
670
669
662
659
766
727
643
735
568
737
968
735
811
615
486
684
795
926
494
847
717
849
704
850
546
662
643
824
698
739
917
709
620
760
768
652
672
700
590
806
812
493
551
780
485
646
217
885
711
787
732
778
815
463
826
777
961
781
628
814
731
758
781
614
242
703
591
528
862
649
506
725
455
753
640
755
713
724
671
554
736
678
832
815
797
424
780
807
291
652
747
483
576
687
707
678
771
458
640
737
682
741
806
838
985
408
752
763
561
304
645
676
491
695
810
515
915
567
646
816
803
213
888
849
414
522
811
664
947
632
619
945
526
779
737
677
331
860
282
891
831
598
921
707
386
715
479
480
779
646
769
860
746
642
608
581
631
515
437
847
554
796
664
675
758
705
693
812
806
614
928
641
645
783
955
639
763
781
786
844
797
599
629
915
732
804
289
556
908
288
559
844
807
820
695
720
882
778
627
813
701
719
769
695
845
436
654
659
867
727
746
804
848
747
892
845
781
854
646
340
775
817
612
863
871
467
703
866
608
591
863
815
728
729
618
710
723
803
878
558
692
971
630
716
772
518
490
619
916
444
887
747
856
885
692
705
819
853
589
609
703
553
877
913
871
405
774
752
844
582
522
850
746
560
907
779
962
628
698
825
765
827
715
515
569
746
731
719
243
718
742
445
529
407
750
875
730
926
819
735
506
939
619
764
899
773
587
774
923
403
757
847
691
702
756
954
613
391
976
687
651
771
670
855
791
502
799
688
746
779
867
799
399
845
751
833
635
766
750
834
930
926
798
813
701
382
827
664
739
637
634
744
667
563
625
757
675
621
779
907
854
781
586
888
775
797
770
552
693
608
694
701
750
752
864
801
849
900
765
819
480
499
385
819
670
721
829
427
792
681
853
779
762
692
692
656
562
807
453
930
592
356
772
651
504
792
955
527
808
701
823
618
151
602
710
706
497
796
664
502
814
449
865
834
611
895
397
670
588
694
728
564
662
613
882
798
833
660
710
604
642
707
440
942
689
717
818
762
495
855
693
766
933
626
682
657
761
592
707
817
494
496
783
652
646
641
654
670
530
720
583
679
626
674
531
150
845
767
574
464
851
733
769
681
815
733
661
819
824
861
648
887
686
751
611
891
636
868
573
727
537
625
562
539
526
639
831
735
808
621
523
712
949
952
814
873
766
481
920
928
804
627
883
681
763
322
694
638
744
804
592
791
639
494
526
757
836
559
445
943
640
866
678
853
823
788
608
660
756
696
845
793
535
943
532
797
599
853
407
701
707
817
776
934
707
831
560
796
685
785
618
560
858
813
689
718
970
632
776
756
586
632
884
707
745
682
750
544
840
797
756
501
968
755
887
564
507
697
730
719
676
460
384
905
652
604
562
787
686
300
739
853
529
380
756
586
368
796
815
741
695
595
615
666
790
756
664
614
683
878
786
698
538
395
815
780
816
451
636
722
805
408
674
489
456
541
731
791
339
550
852
1015
737
615
939
660
940
763
798
859
783
933
595
785
726
583
745
578
562
726
700
794
900
851
676
816
866
670
641
773
638
819