300000
88775
646
544
568
685
557
583
566
531
693
622
547
693
562
656
607
565
516
600
647
547
591
555
541
640
684
674
565
519
645
576
600
593
511
656
533
554
539
652
624
660
554
535
610
556
603
507
555
655
509
559
662
649
694
657
673
662
542
596
697
592
672
546
653
570
583
523
603
620
668
505
627
632
606
518
690
519
676
680
582
573
672
584
563
677
667
525
553
647
515
561
651
562
584
518
688
671
645
516
510
557
572
598
528
572
555
620
545
580
677
629
603
558
678
578
526
693
638
662
535
680
679
677
624
677
693
543
649
682
647
626
647
684
594
694
674
541
666
583
534
583
692
503
623
535
700
680
666
538
617
535
676
686
611
587
569
512
516
504
555
638
620
650
668
690
652
653
527
629
553
658
589
570
578
506
503
679
577
697
564
531
657
566
698
653
601
528
635
660
660
672
533
531
549
549
628
666
693
559
539
527
652
668
542
624
594
610
672
653
594
575
527
665
649
616
566
700
625
689
672
650
640
568
567
555
520
514
688
664
698
555
525
686
622
555
615
554
632
522
610
532
664
683
547
693
651
506
594
574
582
566
625
590
700
568
529
500
592
692
558
694
581
515
656
684
611
536
614
575
662
678
542
612
579
564
635
638
510
686
651
609
606
700
581
506
670
657
685
641
534
510
516
606
698
639
593
640
667
522
592
584
525
564
550
550
658
525
523
571
662
517
503
647
619
624
552
591
566
606
670
679
583
542
604
670
637
576
694
646
658
510
662
618
534
574
534
588
507
538
621
569
675
580
518
672
681
562
673
656
535
685
641
668
680
643
648
621
575
568
613
676
583
543
672
675
579
500
655
669
692
564
602
643
619
682
691
672
566
695
670
590
639
522
667
500
511
577
668
570
669
579
664
573
698
522
594
502
638
653
567
520
510
555
594
540
536
633
578
698
596
547
509
577
586
604
568
629
538
695
605
674
555
536
589
572
528
610
621
506
691
513
640
690
679
676
594
632
632
645
572
501
642
680
564
613
695
525
509
639
536
614
636
609
541
664
583
636
500
575
615
629
637
521
567
548
674
604
540
603
564
674
622
632
630
579
644
580
615
681
546
617
654
622
600
682
553
678
673
529
558
523
529
537
576
642
657
592
532
589
563
595
609
547
691
700
637
603
516
535
678
653
660
564
647
684
683
512
620
568
504
569
597
629
679
594
581
665
574
612
562
502
585
595
523
587
665
550
611
637
580
637
543
589
558
509
536
606
592
673
672
645
639
598
630
600
676
681
688
689
603
565
556
694
602
621
631
510
502
616
699
539
574
549
594
589
615
564
624
517
648
652
672
679
551
541
582
691
620
550
679
684
560
611
568
535
567
617
507
633
629
564
648
559
550
681
513
514
662
625
542
661
518
604
510
695
588
632
556
547
556
691
584
642
541
500
695
526
503
685
641
643
524
527
663
545
676
595
513
562
686
577
515
639
562
597
585
559
578
629
632
662
581
668
675
650
655
530
515
526
621
576
634
684
606
588
632
563
500
516
700
520
571
684
550
622
580
586
591
686
605
644
534
697
522
518
671
508
542
699
543
611
659
623
692
604
651
584
511
516
601
700
683
581
689
586
634
673
551
580
647
671
579
561
584
615
513
527
696
617
691
525
579
552
633
684
546
567
522
675
537
625
542
645
679
530
700
534
566
574
599
687
687
546
576
627
577
700
690
618
696
557
676
580
627
515
611
516
513
682
575
677
682
699
522
633
655
604
640
630
553
569
586
662
632
523
519
570
680
512
637
606
653
546
653
518
668
537
545
675
542
530
571
608
595
527
568
598
615
567
673
598
626
613
580
525
628
594
580
645
516
643
501
629
614
579
524
523
535
669
523
684
639
685
626
607
545
613
580
675
628
557
525
572
577
684
659
579
512
527
675
507
518
504
611
539
614
598
552
665
562
547
634
532
596
507
506
606
679
565
623
634
652
658
642
665
671
553
685
651
555
575
678
570
562
666
505
664
511
654
658
603
621
640
556
545
688
543
669
528
547
694
510
590
596
675
521
534
618
523
614
636
669
666
583
625
625
629
621
539
577
634
602
522
581
655
697
629
512
604
545
594
544
662
694
700
628
603
671
609
530
611
577
665
696
564
577
553
574
647
547
657
539
588
515
545
668
634
616
540
621
629
568
546
557
689
539
527
619
643
539
641
636
508
546
519
521
571
663
612
527
681
675
679
623
625
506
589
640
510
547
529
576
547
593
586
539
657
510
605
641
553
529
518
673
690
520
671
650
680
650
689
548
552
523
577
514
501
658
696
509
594
502
662
503
674
511
630
684
524
539
515
543
562
624
576
594
689
604
523
622
525
537
550
555
538
561
533
561
533
519
551
588
680
528
605
575
592
667
624
677
696
607
657
584
554
601
534
607
582
544
576
535
601
618
601
520
547
597
609
535
647
675
697
521
572
635
554
530
573
546
586
601
632
552
687
596
523
615
509
519
682
617
536
506
556
525
582
587
655
674
539
504
653
509
699
602
645
588
663
684
643
693
642
615
537
600
555
697
599
553
597
514
640
621
560
597
613
550
541
569
613
577
536
650
668
607
535
519
658
674
621
664
627
531
551
536
680
616
652
589
538
676
572
589
514
522
589
563
517
548
634
672
564
698
616
647
602
640
539
690
563
665
634
602
590
664
677
603
627
575
656
665
595
669
617
624
594
655
659
534
555
671
599
696
688
660
644
595
590
588
694
521
620
569
546
636
663
544
687
576
580
511
643
579
644
634
609
662
534
517
617
661
509
639
563
608
544
602
595
657
546
509
545
661
642
683
576
670
604
655
606
638
572
585
543
696
696
543
547
566
651
686
653
584
679
581
622
504
660
578
634
548
512
634
618
624
613
564
680
508
660
614
646
624
502
620
566
596
608
628
682
690
680
612
536
537
631
523
604
684
649
604
515
583
572
608
595
608
526
670
640
532
548
652
639
690
644
516
514
504
540
537
677
578
690
699
626
614
526
692
602
507
532
626
598
684
617
612
698
590
546
662
629
504
643
650
697
531
592
537
672
687
655
525
691
577
563
602
679
560
578
511
693
685
546
639
533
574
574
533
638
601
647
676
545
622
694
601
523
527
628
562
680
658
609
655
527
527
679
609
584
541
670
523
572
683
691
678
510
503
587
607
661
545
614
607
625
591
681
646
508
687
518
514
531
614
600
644
560
562
566
552
543
536
671
597
685
611
624
647
689
553
657
517
666
641
633
561
524
553
513
612
566
519
646
612
568
529
692
516
624
545
604
544
533
698
506
511
614
695
542
535
675
618
540
562
622
597
686
575
688
532
607
642
506
665
515
692
579
572
550
696
581
558
549
644
657
594
525
676
508
654
656
566
640
620
601
574
601
680
584
697
570
531
569
522
611
590
639
601
658
528
614
661
613
526
658
600
526
568
523
580
534
583
507
680
539
550
676
672
560
503
563
634
561
503
644
548
529
694
603
514
616
613
664
586
621
502
575
577
697
525
507
572
657
590
529
650
658
648
688
598
544
505
558
572
654
671
527
587
688
587
509
623
551
626
584
700
512
633
538
553
566
589
573
575
645
565
539
688
572
695
578
597
538
664
648
554
563
566
594
633
510
677
607
696
676
641
623
676
594
629
535
550
582
638
677
528
510
637
537
680
631
657
637
684
585
530
622
523
651
677
679
663
663
671
581
658
535
555
643
638
553
523
671
540
673
607
660
662
513
639
636
659
501
641
542
588
653
518
623
594
639
556
643
672
657
639
601
550
657
659
670
608
642
638
502
685
671
673
568
607
563
619
583
509
539
693
511
605
525
550
660
668
634
641
572
670
665
501
615
654
630
569
632
507
601
680
526
545
568
502
688
632
621
512
581
609
667
513
653
665
584
611
643
590
637
635
575
557
510
519
554
640
661
586
553
601
634
646
636
578
569
684
562
662
663
648
645
505
584
670
529
657
617
513
548
550
622
649
511
608
611
556
643
637
569
511
626
659
679
662
671
653
615
623
678
628
534
585
644
673
680
669
628
623
568
564
542
613
691
553
656
580
601
646
649
579
549
688
595
543
571
631
654
556
612
625
686
607
515
514
554
660
531
627
639
610
511
649
696
607
699
545
664
639
652
691
561
615
633
600
521
573
508
610
659
613
678
685
538
525
540
602
581
517
652
608
532
587
523
564
652
585
513
575
510
609
678
652
698
602
659
508
505
662
608
652
565
648
644
562
563
664
654
544
539
512
623
596
610
625
668
616
536
542
688
675
634
629
530
627
689
558
596
525
642
679
611
571
602
615
582
528
503
628
594
662
566
574
532
699
542
538
542
516
526
561
662
617
643
544
643
520
643
700
629
684
677
593
687
577
618
666
623
582
590
610
508
512
630
684
642
529
634
688
628
553
547
559
592
516
596
602
549
598
687
586
688
554
657
634
624
632
699
683
507
644
685
578
579
688
523
580
611
617
630
699
500
652
694
618
501
602
687
680
606
537
647
657
547
695
525
579
631
674
606
505
681
675
508
649
555
525
667
575
649
699
539
693
653
656
619
511
601
548
542
515
600
505
689
517
617
655
508
624
671
515
568
671
569
608
633
582
528
617
573
528
579
541
560
529
620
507
603
665
645
517
592
677
593
649
612
567
501
505
605
564
554
661
539
698
546
675
658
630
668
665
638
628
675
644
566
556
622
548
591
615
599
513
640
581
613
590
646
534
503
581
607
617
561
643
607
532
580
577
559
637
658
548
593
687
608
616
545
639
602
560
549
505
697
595
663
601
524
646
552
645
695
696
582
507
682
577
578
587
633
564
570
599
530
588
568
543
526
696
504
527
592
584
505
572
700
553
506
569
657
612
583
554
579
666
532
634
583
599
502
545
570
652
527
682
614
606
589
525
636
528
568
562
517
527
699
572
510
648
510
675
651
650
585
660
677
615
667
661
584
656
580
507
640
641
603
541
518
699
668
518
510
554
700
518
575
599
514
604
681
501
538
605
665
602
520
624
548
530
551
682
621
677
659
652
611
645
503
556
687
655
634
556
618
542
563
588
562
682
532
516
565
518
670
683
654
662
527
632
688
600
566
661
568
616
609
585
664
546
657
605
689
575
658
698
512
533
661
548
620
532
605
607
588
693
663
643
657
613
502
513
660
506
650
649
586
614
691
511
664
623
512
670
576
695
563
642
694
696
560
566
526
624
552
565
543
649
524
505
558
680
665
638
505
600
643
523
640
621
651
640
621
655
678
522
532
662
639
625
692
615
593
546
512
506
638
556
604
527
696
646
646
594
696
583
590
571
521
508
597
660
617
561
535
547
670
640
683
606
581
604
608
517
596
559
672
569
502
638
529
648
551
700
659
675
519
577
669
665
686
614
676
536
555
611
536
683
558
604
595
576
540
623
540
568
680
516
589
619
694
533
620
662
562
576
682
673
592
558
697
537
526
647
640
593
688
550
544
540
515
683
650
611
692
660
504
700
631
622
524
553
693
527
520
538
571
650
509
579
594
610
605
552
501
566
699
562
674
638
591
700
611
540
647
576
670
672
501
577
692
622
557
655
687
615
679
595
581
506
528
700
680
516
523
621
601
536
529
508
549
521
602
503
565
680
625
545
574
506
523
631
582
684
633
686
646
539
696
500
613
682
617
589
673
694
518
637
558
529
681
574
674
508
536
510
544
568
529
636
531
513
503
536
543
572
582
598
588
567
629
630
513
586
644
657
627
638
625
604
548
637
585
663
541
518
655
504
620
541
634
646
688
528
514
602
621
598
681
685
603
603
649
639
595
686
610
578
580
648
698
695
647
565
600
676
655
562
670
545
561
544
610
642
553
604
552
508
574
628
587
517
611
607
587
692
519
568
522
579
572
519
654
523
568
651
521
685
649
548
643
575
595
546
611
548
577
512
617
662
527
604
571
607
588
584
639
658
613
554
513
675
509
616
532
535
557
559
659
662
638
568
515
565
508
593
543
646
679
543
639
587
538
623
566
509
563
581
616
661
681
508
602
684
587
600
605
614
571
694
598
594
512
559
617
571
605
586
502
653
599
576
594
594
664
544
516
652
593
615
644
549
594
682
584
698
511
551
642
509
611
550
566
652
606
551
630
526
605
500
552
583
521
603
562
530
550
536
500
604
605
649
516
517
636
618
582
520
587
645
581
522
640
627
637
693
560
579
568
596
662
675
617
587
503
611
585
555
655
559
693
573
666
543
637
595
512
627
611
514
593
610
664
622
660
571
538
676
664
692
614
562
512
689
617
552
630
528
657
604
604
690
654
584
524
578
527
595
525
633
609
675
624
653
560
619
512
550
549
503
693
669
672
682
541
520
559
603
532
529
621
521
582
677
509
501
570
529
516
626
565
586
681
699
631
509
664
560
548
594
551
679
662
685
580
669
587
585
631
657
619
697
543
637
649
596
513
616
626
615
644
507
503
645
614
641
520
512
634
691
671
564
569
686
690
636
692
544
656
657
553
620
682
591
597
653
696
628
689
637
550
566
603
605
617
631
600
510
549
592
598
684
588
650
563
538
676
557
651
517
530
518
617
608
658
639
678
535
526
685
507
645
676
649
592
622
506
645
576
655
583
532
555
583
700
635
562
654
675
611
552
686
690
545
547
587
671
572
516
563
630
618
605
596
611
613
551
658
699
510
684
685
654
666
643
573
588
548
600
691
654
504
596
614
512
520
500
698
574
526
631
622
522
672
674
647
517
503
670
512
689
529
637
638
521
676
599
657
546
529
537
563
637
587
665
624
553
578
572
504
679
611
683
614
588
613
696
523
563
535
517
578
574
610
507
582
688
638
689
553
558
574
697
672
577
682
504
580
699
587
505
570
624
617
511
618
532
509
600
655
543
636
550
660
620
565
581
506
525
513
683
665
511
660
673
607
626
626
674
672
692
602
608
663
543
661
624
657
689
537
571
567
627
608
544
540
570
678
618
554
540
683
642
511
570
634
660
521
527
618
552
546
645
663
608
523
667
562
568
609
536
686
519
532
630
646
546
675
544
678
636
692
664
536
555
579
629
541
505
526
504
666
511
639
662
656
578
639
568
606
660
598
620
585
654
520
500
686
509
625
617
659
608
520
674
601
541
542
524
518
531
599
674
634
594
503
555
578
699
505
556
536
591
656
637
692
523
623
692
601
639
629
650
536
521
572
541
527
542
693
579
612
583
678
607
653
665
641
569
662
687
558
548
540
695
674
565
540
559
616
540
584
581
506
596
600
607
554
513
507
590
650
596
581
683
608
565
674
509
571
548
599
563
587
548
614
537
527
514
553
684
502
688
524
616
501
606
616
524
518
666
606
608
624
651
564
629
575
676
630
508
569
616
584
635
669
603
658
669
585
577
668
563
592
552
569
693
506
562
560
678
687
646
573
543
611
573
579
698
593
692
551
565
576
590
546
672
640
563
571
607
544
537
621
540
653
648
689
675
682
609
663
627
601
580
522
678
691
625
693
621
530
541
536
648
683
667
557
690
525
673
608
620
649
684
655
659
564
650
614
674
602
516
631
582
624
682
583
567
655
675
569
689
688
604
563
592
541
536
524
584
676
515
645
545
535
689
675
601
535
661
584
589
695
589
525
550
565
559
623
521
643
512
545
574
615
532
577
571
698
670
564
671
540
683
558
560
507
535
679
592
668
671
567
597
608
601
678
555
567
535
652
601
601
619
626
567
682
547
603
669
595
538
657
668
508
656
655
640
500
658
693
550
695
619
637
535
627
535
601
664
506
564
578
505
606
663
653
599
633
585
644
674
605
648
633
696
691
511
675
513
556
532
523
555
605
655
680
539
660
598
691
591
607
557
562
638
510
513
513
671
651
659
649
574
582
614
593
668
512
627
538
502
599
588
524
674
655
636
649
531
575
530
685
552
572
612
516
600
647
678
552
564
553
574
661
683
638
596
650
690
597
627
667
569
525
656
520
587
506
541
603
601
516
649
643
647
622
540
651
668
506
651
579
667
545
570
604
598
545
626
520
506
611
623
549
591
685
696
693
693
648
565
594
542
655
642
697
646
563
660
524
551
685
643
587
522
659
550
681
655
609
693
576
509
605
687
583
643
633
611
641
644
658
622
588
588
526
629
567
653
696
679
624
629
594
518
503
502
696
639
613
563
567
626
646
584
661
525
512
509
619
691
688
517
536
588
633
593
664
637
655
518
511
697
615
621
535
567
663
599
555
692
553
630
508
628
585
577
535
643
534
504
598
586
613
577
587
506
559
513
650
590
544
587
538
695
618
629
656
626
510
683
573
520
677
618
623
613
635
543
662
643
655
516
582
568
540
553
613
616
684
696
570
603
525
639
559
650
548
579
599
591
618
645
640
521
651
598
614
689
507
524
646
671
518
666
610
572
692
527
565
507
588
550
595
511
548
667
684
578
537
569
601
535
646
596
676
622
586
580
648
699
561
598
572
559
581
589
658
512
700
679
655
648
608
592
602
631
523
595
551
608
569
519
573
553
506
651
642
532
608
634
513
658
542
657
553
699
661
630
619
546
541
582
567
680
641
508
576
668
565
543
532
536
545
689
583
616
670
668
610
660
669
601
666
692
626
624
589
660
678
510
625
555
574
527
541
696
665
503
560
611
633
672
600
501
512
578
674
565
539
677
564
679
675
535
688
679
573
625
520
506
522
609
585
518
692
635
699
628
681
514
572
658
561
621
670
555
674
667
524
599
551
662
654
625
549
642
679
589
533
563
692
600
518
564
564
659
588
639
639
572
565
599
531
643
690
646
599
643
610
671
665
558
549
684
545
526
677
535
513
529
509
554
605
589
509
595
536
634
539
623
583
521
588
558
600
539
525
527
596
629
587
592
509
504
587
653
512
522
616
657
676
582
632
693
591
654
590
639
673
546
644
571
689
538
700
620
577
509
570
592
559
690
670
692
610
688
502
694
580
618
700
510
668
557
529
648
667
525
660
654
549
548
577
618
659
580
536
505
661
587
665
652
659
644
570
643
682
625
573
562
654
667
658
697
694
527
567
644
505
613
676
600
550
564
608
522
520
516
577
620
672
507
654
553
504
508
663
672
630
648
587
550
656
501
520
574
556
584
536
646
548
512
575
672
581
509
628
629
548
659
691
514
582
559
569
649
559
683
670
621
666
525
649
700
697
587
505
618
549
525
697
552
632
507
599
570
535
585
646
566
665
513
618
521
513
698
685
522
579
663
523
653
519
603
555
596
547
519
617
558
644
663
535
642
654
667
682
519
519
501
643
621
576
610
656
622
637
621
535
697
662
686
549
517
538
605
696
574
611
700
646
558
681
614
518
559
696
631
692
526
619
541
533
502
587
555
620
676
593
561
508
635
615
500
514
523
535
577
682
660
528
558
526
575
604
607
614
523
551
684
693
582
645
552
659
644
560
650
602
540
667
637
554
527
578
625
510
618
622
517
649
513
691
643
589
520
600
578
608
672
649
531
606
658
604
614
617
520
686
641
628
595
526
522
611
525
571
668
647
565
541
662
683
664
690
568
525
537
681
576
640
668
583
605
588
543
505
503
629
577
662
586
638
514
623
525
558
557
698
597
675
540
686
508
676
596
673
672
651
681
662
563
628
601
541
569
509
681
692
526
647
565
637
650
526
539
547
685
627
596
521
522
625
515
666
533
550
579
529
535
570
631
606
674
620
500
589
661
556
587
503
696
649
633
546
512
556
696
511
623
639
597
546
519
677
621
611
613
516
698
537
665
550
589
590
611
535
693
550
679
524
575
573
671
518
582
676
516
581
519
568
573
607
551
570
669
691
538
675
577
546
564
544
626
594
515
643
563
522
566
592
661
644
664
594
660
664
524
611
565
690
673
565
560
564
554
546
644
571
522
518
568
631
700
603
599
516
552
569
550
565
638
518
651
591
580
532
622
526
559
520
519
658
514
643
549
650
537
515
552
592
510
503
585
507
692
642
635
579
629
527
540
557
668
599
510
629
564
548
679
522
594
621
690
627
519
610
507
624
617
594
535
604
548
608
584
616
510
697
580
514
567
501
603
568
585
516
621
691
699
568
585
680
593
620
577
690
647
558
528
695
603
636
616
654
567
555
659
671
612
665
501
525
653
529
522
579
508
505
577
642
506
523
553
653
661
606
568
544
504
612
572
622
635
599
556
689
521
612
532
678
597
530
638
518
620
519
555
564
672
501
675
679
666
674
542
635
659
655
613
516
522
670
514
578
665
535
618
567
670
555
626
550
608
567
689
548
644
677
646
690
554
579
532
611
591
607
641
598
615
531
619
545
662
672
567
592
676
687
671
929
807
992
825
880
843
939
967
950
917
936
807
810
905
914
881
988
977
870
934
899
813
826
935
835
864
849
800
993
901
967
993
868
979
818
986
978
871
970
974
880
940
829
815
906
835
990
865
913
807
840
964
900
914
896
821
872
840
889
923
882
860
955
812
923
845
909
920
993
853
902
867
975
991
910
815
949
868
986
909
826
947
963
960
821
967
980
857
982
977
819
908
999
924
863
967
996
827
819
848
920
971
881
805
863
930
951
936
883
893
926
1000
884
975
914
930
828
865
958
863
865
845
907
945
852
931
922
948
988
893
825
936
902
924
937
864
872
893
888
955
826
850
821
975
968
816
972
957
959
865
1000
937
885
874
978
939
897
878
857
885
910
830
859
912
991
956
991
853
887
908
932
984
870
832
944
955
876
816
843
920
934
839
1000
945
821
879
968
825
974
800
915
930
971
982
858
990
991
840
836
829
935
850
991
801
864
946
844
829
834
856
809
904
994
895
987
905
841
949
980
874
824
823
819
836
807
901
842
835
812
944
868
921
821
909
938
904
979
818
913
806
872
941
872
944
971
846
897
915
900
950
859
840
975
922
953
943
875
875
853
981
854
902
885
900
883
991
933
899
844
863
883
914
970
872
861
912
895
948
989
866
866
827
928
809
818
856
920
901
945
909
971
904
903
828
984
959
952
877
994
821
816
939
917
872
823
900
996
988
835
878
957
802
868
941
939
938
937
805
843
894
908
943
892
937
857
978
984
891
981
933
816
890
822
969
900
862
881
906
910
922
969
997
840
815
915
836
833
985
911
883
977
968
977
813
887
894
967
943
949
876
835
810
904
932
926
851
909
822
986
808
822
880
943
992
837
834
898
945
926
886
921
849
813
835
904
805
916
934
954
916
978
966
935
947
884
956
937
937
834
828
952
810
880
830
962
998
959
907
957
937
936
980
839
904
808
957
948
806
979
886
843
924
894
823
973
924
893
840
877
992
939
912
847
864
992
863
920
916
883
815
928
843
801
914
907
878
892
990
1000
985
965
966
873
878
959
868
883
913
892
969
842
824
857
967
955
825
934
909
997
892
858
993
965
973
938
864
860
906
905
909
859
979
847
850
973
803
884
825
833
874
805
878
879
904
837
874
989
882
955
979
963
807
858
919
982
813
926
928
988
894
965
953
878
815
821
990
962
927
815
869
965
956
838
858
897
894
882
835
840
819
989
906
896
924
922
921
921
870
800
875
833
973
912
936
940
881
885
841
824
849
815
836
804
889
815
817
954
820
963
868
889
900
976
815
800
882
809
897
801
838
917
936
887
943
985
893
921
826
873
824
895
827
965
825
838
833
956
989
869
959
899
953
928
848
942
993
891
923
989
999
829
812
808
990
917
854
871
932
830
818
870
806
983
981
866
958
892
970
956
910
967
962
910
850
959
935
832
922
828
846
983
892
898
884
838
834
986
935
947
925
978
982
838
912
895
918
824
997
925
892
871
846
897
990
816
968
962
821
909
834
926
849
854
814
945
871
883
871
820
847
981
902
982
837
818
803
903
887
810
909
991
900
851
881
828
950
934
897
923
960
842
874
999
851
850
921
955
888
806
959
905
893
881
939
992
877
898
946
964
936
867
885
852
933
971
949
927
828
807
948
886
987
878
919
936
848
830
923
963
850
974
929
928
897
812
896
814
989
800
885
873
911
895
969
865
967
920
991
952
929
835
953
924
889
892
970
974
954
956
866
954
809
801
992
809
945
848
996
943
861
946
862
830
855
925
976
869
840
934
954
944
867
837
976
973
813
920
999
831
970
919
949
970
841
900
831
927
847
895
911
995
1000
824
844
939
947
829
830
994
848
988
954
822
853
910
930
836
880
881
817
848
893
871
982
805
944
847
995
970
946
954
934
954
910
1000
836
959
994
811
947
971
922
875
940
982
845
831
908
815
959
968
994
845
850
801
841
912
898
963
987
951
915
956
907
818
953
824
867
848
953
989
814
870
862
858
872
938
885
951
922
891
843
935
952
875
874
911
960
997
895
903
838
988
948
826
939
854
814
875
900
966
927
804
840
832
968
849
897
936
801
874
899
993
881
854
962
848
803
884
856
972
912
966
891
840
977
881
827
906
989
815
861
949
918
930
842
828
871
806
987
800
803
832
990
865
864
819
859
908
874
914
811
901
817
914
806
831
843
952
922
960
889
918
964
958
867
894
946
964
960
823
979
844
888
908
884
930
817
913
972
819
983
863
834
854
814
802
983
808
803
936
990
916
860
964
829
802
850
914
983
867
960
924
981
979
933
834
944
883
846
926
958
809
948
888
961
898
918
830
906
841
816
980
920
916
829
906
961
925
803
838
845
816
855
955
968
975
857
903
829
990
934
842
903
931
842
896
855
846
976
846
956
922
929
889
937
819
954
912
870
966
970
850
846
847
969
881
803
830
823
998
854
977
954
968
896
814
860
812
996
806
964
979
993
988
953
927
846
951
847
961
845
846
905
936
973
809
978
985
851
883
897
884
886
809
823
832
843
952
924
989
848
876
830
815
849
848
815
919
946
881
924
975
933
924
822
999
905
946
842
906
906
885
903
878
965
817
927
885
969
964
817
859
888
834
863
962
908
896
973
815
863
991
954
914
805
865
988
857
931
869
970
998
867
871
839
921
821
963
979
806
809
904
951
946
812
943
908
945
883
960
938
858
808
910
840
992
839
948
901
828
918
872
989
968
885
942
887
824
970
900
956
918
886
944
920
967
828
883
903
852
880
890
867
999
863
992
814
954
991
972
989
894
932
975
810
935
899
927
977
935
895
828
972
915
875
890
881
932
808
807
975
964
868
801
876
973
818
968
895
842
966
905
875
805
970
904
902
927
944
981
852
859
909
994
917
937
907
892
925
843
910
973
895
864
881
985
847
822
812
929
966
963
1000
892
863
917
835
972
945
982
899
802
841
912
861
973
845
960
913
977
825
843
956
944
895
953
974
826
976
937
816
996
974
931
884
987
946
821
975
975
900
801
962
932
973
827
865
859
822
837
844
967
922
961
840
874
948
931
809
855
861
829
858
803
840
986
886
954
882
894
861
948
821
956
960
978
1000
935
827
942
921
960
900
993
934
949
890
805
950
943
958
989
971
833
809
894
890
974
978
949
847
803
988
934
817
887
932
813
969
858
989
922
881
801
918
974
917
830
954
853
983
840
870
909
870
941
999
806
956
849
963
956
900
876
808
917
903
814
807
919
851
922
876
824
966
949
931
894
836
834
892
902
815
945
912
995
860
906
893
927
933
854
902
963
974
925
886
913
818
946
953
826
915
835
967
809
976
813
932
859
989
882
998
885
831
993
878
872
887
992
910
848
922
951
887
895
934
941
840
973
927
826
955
813
905
880
951
865
920
871
853
984
946
969
872
988
962
978
864
828
908
880
840
876
920
994
823
828
912
885
855
805
973
908
839
963
970
932
821
906
944
894
809
918
844
801
821
870
980
866
869
844
829
881
1000
802
999
853
896
868
802
855
878
997
987
949
966
805
850
975
802
953
897
899
953
850
885
874
868
868
908
871
852
833
851
846
901
920
977
825
811
904
990
847
841
861
935
932
949
933
955
810
960
865
932
998
942
806
848
895
829
920
985
993
825
807
931
837
953
807
831
847
958
879
881
992
911
883
974
922
981
951
802
855
898
810
932
857
965
966
809
864
959
861
993
920
949
948
915
953
917
861
812
892
998
842
931
940
867
842
845
931
807
944
907
880
891
832
959
916
945
827
811
998
955
955
999
999
911
851
922
995
909
836
934
927
984
857
914
865
863
829
830
878
863
885
862
896
997
854
802
811
984
946
856
844
936
878
955
907
810
924
904
811
946
935
922
997
894
895
835
925
959
843
841
859
962
852
990
972
805
987
883
803
889
865
887
810
833
809
859
907
925
914
963
975
840
869
894
820
957
991
998
828
834
882
917
906
945
999
825
854
930
865
810
822
847
924
999
921
842
961
930
940
829
835
939
971
997
808
991
919
877
825
803
921
984
966
975
861
937
870
965
971
815
843
896
955
978
850
936
889
1000
859
990
856
857
979
802
844
846
946
838
844
869
924
866
927
837
999
841
986
848
830
914
982
801
969
873
957
827
939
866
876
817
935
907
994
853
816
922
946
836
913
968
950
983
834
843
997
804
917
854
987
855
888
929
814
805
862
869
852
801
968
949
802
992
899
808
826
871
940
937
827
861
808
910
960
978
965
847
825
811
825
897
929
808
819
924
804
898
829
980
814
985
934
973
806
814
927
944
824
817
851
801
910
897
872
800
878
960
853
921
920
843
815
990
912
876
808
864
905
956
877
912
824
844
892
888
899
868
891
813
929
834
826
888
978
974
875
807
998
807
953
930
988
992
831
923
987
967
920
825
966
808
810
809
970
932
812
864
818
968
940
807
938
985
834
908
805
854
956
825
997
998
942
888
923
856
806
950
981
936
996
944
879
913
836
954
815
808
880
836
985
887
876
861
859
921
988
994
868
804
819
886
993
939
947
838
922
892
958
964
869
922
833
979
831
913
844
859
868
920
821
975
994
984
842
961
923
805
937
848
864
914
835
935
972
901
853
814
832
975
893
989
952
913
985
913
842
935
849
976
815
900
923
805
971
903
993
873
863
924
999
957
892
807
956
927
834
941
866
973
843
851
881
853
875
898
946
869
949
924
909
943
846
873
977
941
810
988
925
823
953
986
887
965
832
913
912
840
969
940
814
886
805
961
832
829
811
945
952
968
921
997
901
959
961
927
915
916
874
915
909
847
866
879
867
912
926
920
850
859
878
924
903
967
940
943
840
803
934
917
931
944
883
904
829
990
853
846
870
937
930
936
912
941
940
863
969
801
922
834
845
913
999
854
960
961
883
965
838
912
999
813
950
808
816
801
932
949
936
810
883
983
940
993
824
985
911
953
966
902
958
885
935
803
915
901
936
851
860
940
816
910
866
896
970
970
807
930
830
967
840
945
876
818
999
891
839
866
908
856
822
894
815
876
856
924
918
826
888
997
856
958
849
954
942
943
854
898
883
961
922
829
950
955
830
865
867
949
873
927
913
891
859
813
868
833
836
973
960
867
873
878
857
958
888
867
848
994
925
950
800
986
810
808
966
848
978
978
805
953
947
805
830
917
970
810
985
849
938
856
999
912
924
879
891
819
963
821
812
807
826
937
960
938
892
909
810
989
892
830
805
836
950
959
825
983
868
831
888
826
816
938
848
986
888
819
895
991
994
1000
946
878
985
853
973
852
919
809
904
803
801
862
811
966
827
824
971
850
940
807
972
969
875
876
807
933
894
976
971
887
975
818
982
854
881
999
967
800
821
819
830
857
898
827
957
902
840
867
814
932
869
805
910
963
930
804
800
894
883
862
975
976
952
847
806
858
914
808
885
822
907
980
977
933
865
908
827
921
997
915
899
895
866
955
886
870
881
863
897
991
819
888
845
977
986
927
899
933
875
929
970
933
919
930
974
836
857
876
845
804
918
974
955
946
979
821
811
900
938
955
840
959
861
829
862
861
851
980
864
816
971
803
898
971
927
864
888
848
943
828
925
990
816
985
854
817
843
966
960
839
847
811
910
930
865
878
897
804
922
927
927
900
801
953
948
922
815
815
833
905
901
863
850
895
956
967
878
889
885
994
845
881
987
844
885
911
952
805
839
891
848
902
862
969
936
810
870
991
962
869
828
828
884
928
987
800
885
943
890
917
945
843
915
843
901
836
949
874
803
801
920
928
812
810
995
820
950
956
883
840
912
903
913
830
831
912
944
907
995
904
990
838
955
815
888
986
853
876
891
980
916
829
808
950
882
991
880
923
802
959
928
987
847
912
885
866
952
814
938
895
844
863
911
993
803
888
951
983
929
842
851
821
844
906
856
847
986
972
956
942
980
962
952
855
995
961
819
866
848
900
949
967
876
931
949
963
888
976
856
980
996
818
864
996
846
946
915
972
945
932
878
964
979
880
943
842
975
970
923
817
923
832
828
937
888
801
837
828
809
869
933
958
915
861
987
849
870
936
1000
972
922
803
868
832
853
836
993
893
809
969
922
965
970
951
856
955
844
999
805
906
851
829
932
990
970
901
836
952
842
920
930
858
923
827
956
839
806
864
921
834
996
801
922
971
996
860
987
932
846
878
827
832
962
803
952
993
934
946
907
887
993
962
911
895
823
907
927
821
836
947
921
918
802
936
821
895
831
833
806
991
948
855
857
892
859
895
895
982
912
865
947
883
891
970
947
868
993
859
867
963
986
874
811
972
838
928
927
826
817
812
875
972
971
923
908
995
993
958
995
969
967
829
865
897
913
856
895
835
895
916
966
959
849
985
870
870
821
842
985
886
887
924
981
923
967
950
962
984
928
899
831
907
826
929
996
902
915
901
993
805
886
820
905
828
920
977
867
844
844
823
913
938
918
806
821
879
988
980
824
855
891
1000
973
833
970
947
846
820
899
950
939
838
938
828
971
892
852
802
935
926
927
933
840
818
930
831
958
836
893
843
864
806
936
893
843
908
993
864
900
805
928
817
992
933
961
903
892
994
866
935
929
979
863
822
860
816
858
901
946
967
816
931
997
986
808
972
820
955
960
968
805
932
878
832
865
887
801
960
802
896
967
964
985
908
869
885
982
836
969
886
981
817
827
982
892
886
901
933
921
939
880
889
969
829
855
828
905
991
940
958
887
963
850
813
912
964
957
838
946
899
894
986
871
965
944
873
945
832
802
924
849
802
866
844
929
915
835
980
950
837
807
998
988
818
981
949
832
916
876
881
942
875
922
835
836
887
840
938
853
853
970
862
889
892
877
964
940
933
870
984
826
980
812
905
856
894
950
943
962
982
821
840
942
873
846
884
975
805
864
970
920
869
814
808
967
984
887
865
992
939
827
937
992
898
979
827
813
843
807
986
874
917
907
940
825
841
924
813
851
939
991
914
906
847
861
969
949
801
835
814
827
934
985
861
988
959
944
866
801
811
980
854
922
910
867
902
983
876
991
981
868
974
834
950
854
873
950
888
911
943
913
834
999
907
964
814
808
941
827
918
844
858
802
829
832
950
963
825
852
961
990
809
994
850
960
899
880
898
936
994
947
941
920
803
981
962
963
868
930
902
848
805
954
988
898
816
910
830
817
902
939
842
803
995
932
966
837
832
966
897
869
907
892
928
915
897
815
863
840
900
889
809
868
917
994
840
907
965
968
992
914
800
916
844
847
859
994
995
800
1000
827
957
870
815
847
996
880
921
811
817
937
812
840
967
880
883
832
830
823
944
910
997
914
894
956
975
824
977
915
916
958
858
886
968
997
819
953
859
888
991
931
962
897
825
905
999
881
964
913
953
935
865
901
985
839
854
902
807
829
843
872
824
993
877
965
902
992
830
974
950
875
993
927
853
892
927
996
933
981
922
960
835
859
963
927
824
883
938
958
921
828
966
996
882
926
934
936
943
887
843
984
876
917
952
970
851
827
958
989
995
996
960
994
955
941
867
949
930
874
940
825
854
826
951
834
863
917
895
896
1000
879
913
855
869
868
984
827
809
962
959
818
993
838
938
896
953
839
891
902
836
974
891
809
969
814
858
958
891
820
886
833
875
912
910
958
879
894
988
875
865
856
941
923
974
981
856
875
818
987
906
823
886
878
821
920
880
857
803
823
961
938
990
887
973
930
972
845
818
978
837
869
921
886
976
803
963
818
876
830
814
928
882
841
822
899
917
993
998
854
986
972
907
927
938
992
998
948
837
822
900
857
961
998
937
983
907
845
822
804
847
872
970
981
865
936
842
907
839
851
928
947
996
991
860
898
887
908
897
930
831
838
976
847
808
889
920
934
931
897
802
844
924
836
925
886
824
857
912
945
998
946
844
898
913
903
848
923
833
999
811
837
867
809
821
888
830
954
861
926
949
910
807
849
988
961
831
921
833
825
941
855
878
932
813
969
939
876
930
831
850
934
894
943
970
820
915
874
919
834
923
983
990
943
950
852
918
844
863
801
816
976
909
988
821
918
938
958
894
813
979
866
936
897
900
956
954
954
968
821
920
886
883
947
853
917
873
943
857
981
981
956
935
942
819
904
962
809
810
801
929
1000
801
981
973
813
946
913
920
807
949
1000
868
816
965
966
822
944
815
999
829
818
949
979
940
894
890
878
868
825
934
883
887
943
903
843
988
985
938
992
923
873
856
817
978
903
990
915
899
900
886
901
952
844
872
908
909
843
820
935
895
804
900
995
822
815
832
882
895
894
919
875
985
917
837
863
915
822
800
879
906
929
939
886
852
851
970
890
854
918
910
886
823
986
877
968
889
991
982
889
873
970
831
844
947
864
906
1000
820
810
818
860
866
882
803
936
878
916
974
856
912
855
896
908
931
928
927
1000
919
831
815
914
881
914
854
829
863
989
905
869
968
981
968
956
891
991
814
903
859
973
920
846
903
901
831
910
888
804
810
956
929
869
852
964
807
894
803
826
824
908
920
899
922
822
978
812
855
984
850
874
966
894
809
937
827
843
897
849
941
941
829
962
965
891
967
801
805
903
910
832
987
826
827
818
832
908
915
843
826
877
869
970
867
864
908
971
979
993
802
939
864
973
909
819
823
962
814
992
874
819
955
937
874
842
865
970
875
879
878
975
827
959
957
832
990
864
922
996
990
849
859
1000
905
945
817
974
814
912
911
893
805
951
933
994
877
996
919
845
932
897
938
854
856
953
964
950
867
944
966
993
903
965
959
896
896
835
921
842
947
800
935
862
840
921
930
939
944
839
981
806
914
920
829
945
895
926
813
916
801
912
893
820
819
941
858
882
959
973
878
947
807
846
993
890
840
936
874
841
804
890
891
978
879
885
937
922
967
819
845
879
962
958
830
1000
971
879
931
873
827
918
973
867
811
946
850
850
968
949
1000
955
985
905
935
832
842
881
994
858
835
877
981
924
835
844
874
865
974
913
823
875
906
900
880
887
951
995
837
843
975
909
834
946
967
800
825
898
821
972
970
869
905
898
922
899
826
885
984
852
903
888
918
895
814
862
881
962
960
946
1000
939
954
849
853
824
877
982
953
848
937
800
811
886
961
938
822
815
859
882
940
804
953
873
817
904
894
811
900
838
977
987
839
966
858
907
957
806
878
964
853
875
992
809
988
846
958
878
945
855
919
860
954
916
813
982
922
834
865
979
841
888
825
838
803
910
868
947
906
822
932
868
905
991
802
831
829
905
954
948
990
940
853
956
839
892
880
864
982
835
847
885
907
840
947
927
900
950
833
857
943
956
972
952
997
957
919
848
820
921
890
970
905
963
962
851
832
848
839
959
996
999
822
963
860
839
897
881
968
900
914
895
965
989
996
955
857
955
891
823
846
865
964
999
874
833
843
818
825
878
832
870
882
851
818
989
811
891
986
997
931
952
844
964
826
968
963
893
878
821
964
847
978
942
901
833
988
981
883
953
801
853
836
802
949
971
878
868
814
991
951
834
893
862
997
883
960
926
919
913
884
983
989
964
872
841
917
834
927
972
848
821
831
949
991
871
931
864
903
834
926
932
911
824
975
941
966
893
861
834
923
894
993
848
950
900
811
955
985
854
900
893
971
996
821
899
978
872
878
867
835
847
920
908
848
914
997
994
906
956
842
801
946
858
891
857
860
934
997
822
835
972
930
989
891
952
823
823
952
971
814
862
959
903
985
987
837
915
937
854
889
930
867
906
976
980
983
940
922
917
944
937
815
945
896
815
989
810
839
843
825
909
944
811
941
903
806
874
888
949
853
878
911
903
884
972
850
810
808
968
858
927
923
986
927
820
986
808
821
883
904
911
800
826
880
960
995
974
886
966
989
891
873
973
824
992
1000
988
940
993
838
924
959
928
905
894
831
852
881
955
905
915
948
928
910
849
821
861
879
952
960
973
823
908
842
989
817
800
950
909
954
988
835
824
995
922
859
967
977
829
874
838
800
835
839
984
897
848
947
909
972
918
934
938
923
851
999
850
814
904
915
905
852
905
999
897
851
939
939
817
992
975
862
982
886
952
817
979
869
856
861
855
927
849
930
987
949
987
856
998
833
926
977
847
887
989
859
805
923
831
882
954
859
884
964
821
897
801
991
913
824
962
964
926
810
862
801
856
867
836
955
862
958
897
817
828
987
999
926
897
990
807
856
953
893
950
823
970
896
897
935
972
857
859
809
973
919
832
997
812
942
803
928
960
959
971
869
938
827
908
875
892
837
955
951
885
860
872
987
961
902
883
958
965
998
927
896
829
920
903
854
851
924
808
886
815
848
802
950
908
897
897
886
834
871
976
922
987
845
950
858
842
917
930
957
965
911
857
996
848
985
967
894
930
815
913
815
852
923
987
901
920
944
954
978
891
875
894
842
868
961
914
984
843
947
944
945
959
993
823
960
994
833
992
835
938
876
897
940
918
830
821
811
930
970
973
990
825
808
876
888
839
810
939
916
839
976
862
924
986
876
837
924
860
833
964
961
942
944
881
802
872
845
871
840
802
803
924
860
898
897
834
947
902
984
948
951
940
890
967
875
893
876
902
979
859
854
880
913
981
866
952
963
962
854
904
981
973
832
955
951
854
864
882
998
823
962
842
805
835
840
932
941
884
853
902
942
820
867
805
987
971
887
922
807
906
904
984
823
956
844
911
976
989
862
984
974
919
955
984
806
855
967
985
829
977
858
939
950
962
921
827
994
924
936
960
977
973
859
987
852
989
838
906
859
988
690
695
514
545
586
574
533
614
510
512
502
551
508
653
633
694
683
634
670
639
643
559
658
669
616
603
670
654
598
667
614
529
681
623
684
520
570
669
548
646
613
691
526
601
563
672
568
631
571
689
535
520
629
552
515
605
548
639
583
601
664
657
552
653
648
654
688
657
533
683
608
561
620
552
548
605
577
510
565
608
549
665
546
531
559
684
686
644
524
601
671
570
536
601
611
664
613
616
612
589
618
643
615
556
651
503
678
694
690
687
628
526
659
660
562
667
577
605
568
630
573
628
677
695
537
535
526
559
559
567
555
537
653
658
523
683
667
542
641
554
604
659
529
588
532
685
650
606
671
699
606
578
528
683
607
685
622
620
526
659
689
543
546
671
593
577
528
617
545
647
508
639
564
530
689
595
592
658
543
502
541
700
504
660
529
664
605
520
521
539
597
573
642
600
531
521
533
595
550
507
682
614
610
637
640
544
525
595
664
595
622
690
693
532
611
580
518
577
588
665
543
604
604
520
539
567
590
591
617
671
695
692
563
664
618
647
579
504
569
531
538
587
544
530
643
518
689
683
662
679
554
533
524
591
523
583
599
595
603
505
620
583
610
595
678
638
664
694
532
590
552
547
560
512
700
645
659
691
592
603
529
682
596
587
537
698
576
660
615
598
666
612
530
609
573
592
533
565
579
604
591
549
501
607
547
683
700
625
616
638
638
592
541
645
693
530
653
669
667
552
660
558
556
575
607
535
672
654
620
626
618
583
583
679
573
699
688
543
500
674
580
647
532
692
623
511
650
682
657
597
580
557
658
571
527
666
523
596
659
554
688
582
649
588
556
537
679
616
533
639
514
693
657
627
691
683
582
587
524
652
666
649
634
683
674
593
679
647
601
637
663
569
504
699
635
563
555
648
602
578
511
683
599
533
622
640
509
583
687
568
541
591
656
651
681
529
526
645
536
653
523
560
517
676
685
590
533
562
582
577
669
564
675
659
635
601
571
549
691
667
520
657
549
647
635
616
579
539
671
653
515
620
688
549
593
649
653
507
627
687
560
656
646
649
632
511
631
572
641
535
660
683
590
625
624
540
631
673
602
512
694
657
600
601
696
618
551
609
524
594
630
516
682
629
644
641
616
519
625
563
700
679
636
548
505
619
642
549
671
633
672
694
690
502
639
591
568
689
596
517
669
634
525
649
548
546
510
578
673
568
551
570
678
651
555
541
561
665
674
567
529
668
528
564
596
695
625
685
662
651
509
672
692
623
572
683
551
532
615
684
593
542
563
543
592
683
534
564
548
553
585
514
663
668
525
524
507
597
631
537
553
649
573
543
605
582
654
560
655
541
625
663
676
526
612
698
626
538
545
655
664
639
607
573
568
668
512
514
653
579
581
615
625
594
675
574
506
640
537
657
552
599
684
522
663
576
694
559
502
513
628
579
693
562
573
526
578
694
589
633
644
518
531
650
571
658
608
561
548
655
524
525
528
631
570
626
571
637
543
532
554
690
510
614
599
535
612
626
670
684
500
643
697
655
631
631
507
641
551
601
679
614
620
536
608
566
609
573
597
547
596
567
546
614
674
556
588
602
572
606
524
588
603
520
567
582
544
594
692
577
592
617
658
521
587
531
548
588
523
669
654
532
655
693
691
690
622
583
566
610
691
682
597
621
518
556
513
555
561
612
506
655
525
607
645
654
517
565
567
610
629
605
696
574
614
646
515
534
642
529
686
664
648
691
678
611
613
579
619
540
657
570
556
678
659
568
624
564
697
660
523
690
569
694
619
592
598
526
674
549
524
674
630
529
518
569
621
600
514
643
648
615
543
700
509
696
580
533
694
603
576
650
523
676
601
561
651
583
600
693
508
564
675
640
585
677
503
523
617
682
650
640
552
518
576
593
625
621
636
602
689
629
542
645
591
598
614
683
664
626
588
626
511
584
527
596
656
524
612
533
632
597
675
572
571
557
644
530
615
664
678
574
675
700
549
627
603
522
553
544
632
699
664
544
577
570
658
589
556
619
676
503
680
620
523
545
677
649
521
635
686
607
556
518
623
542
588
613
538
615
524
688
605
660
689
588
509
516
650
560
559
665
659
544
627
594
646
675
509
687
551
635
629
647
550
514
655
501
523
556
657
620
500
672
633
541
500
544
678
609
501
502
512
593
652
501
520
661
674
669
670
524
586
623
627
678
630
614
622
685
523
516
576
587
516
638
602
698
665
549
607
537
543
650
563
582
564
617
600
593
517
517
637
597
565
596
665
587
660
679
698
564
649
612
629
620
563
580
526
635
509
584
539
688
542
655
653
512
695
536
638
616
590
509
502
558
651
612
514
645
536
642
663
537
584
543
531
627
565
561
646
530
640
532
620
530
567
603
668
622
556
545
603
587
572
606
529
643
598
521
507
507
665
639
648
541
588
699
671
683
512
604
585
686
695
653
697
698
596
658
664
602
678
561
665
509
589
593
522
614
527
509
696
516
519
624
620
528
576
582
654
651
626
510
512
521
623
648
509
554
527
605
639
641
605
544
612
655
695
540
631
619
691
626
692
603
596
590
631
644
527
522
682
566
571
511
565
560
665
549
582
606
584
512
587
557
637
618
566
571
656
587
605
642
593
664
601
646
700
634
650
605
519
503
528
574
663
655
626
696
592
512
504
599
679
548
601
581
655
611
508
655
596
637
686
659
590
630
588
588
610
530
568
657
545
579
553
585
570
503
553
592
554
658
528
612
614
619
699
524
685
603
603
645
547
628
508
535
657
671
621
692
602
637
632
655
550
552
607
676
700
591
683
592
593
636
536
590
593
602
600
550
665
646
628
592
699
612
628
537
684
572
512
667
684
566
548
632
551
598
632
670
535
577
518
635
601
686
588
663
626
508
592
632
633
690
610
652
612
662
556
584
526
588
584
584
689
592
524
599
585
648
699
611
567
508
645
686
553
561
689
615
634
641
672
561
571
581
663
693
584
579
686
698
505
525
633
607
540
616
519
625
680
560
689
502
565
645
687
639
538
560
618
686
654
625
690
694
681
519
680
682
619
543
513
662
643
614
658
663
664
519
636
697
553
509
520
656
536
620
687
664
502
518
507
613
546
642
576
643
652
531
532
641
602
553
601
626
652
535
653
579
626
634
681
562
549
664
607
551
641
629
675
687
552
648
613
677
545
530
655
519
517
654
668
627
542
557
641
507
624
577
603
667
627
533
503
557
635
527
620
500
587
603
513
566
562
650
579
569
613
642
598
607
558
545
668
530
598
680
506
552
553
513
697
559
656
601
505
607
639
568
679
528
582
503
682
591
596
572
619
613
644
616
669
591
633
639
653
548
578
539
556
581
522
691
597
549
508
526
637
669
663
513
699
506
613
507
634
591
538
685
616
676
666
506
652
627
662
683
652
628
690
559
620
605
617
502
666
543
668
565
506
646
668
686
563
654
530
661
598
606
624
605
599
562
639
680
672
699
642
578
662
537
698
569
651
573
500
618
615
596
697
580
627
641
593
598
604
535
522
523
700
565
692
688
650
610
563
562
655
633
558
694
629
648
526
550
546
582
527
594
597
575
590
553
528
685
646
696
661
585
632
533
676
646
630
667
562
567
671
663
668
590
626
629
511
601
687
673
535
583
507
648
528
505
693
625
660
604
629
502
587
577
563
661
509
619
551
512
550
619
533
641
512
618
687
512
574
537
589
625
545
584
511
512
549
584
575
648
649
558
582
618
548
660
691
632
511
679
653
638
656
541
505
501
689
582
628
596
606
656
530
536
528
558
680
591
565
587
522
576
654
626
665
668
664
601
650
543
570
576
558
573
647
615
627
638
665
556
561
671
523
584
620
641
513
605
617
613
583
639
590
569
684
602
506
700
578
593
633
695
644
516
648
634
524
665
667
542
670
539
621
650
550
535
623
635
675
698
646
678
522
673
659
572
698
592
688
593
696
514
613
563
626
515
664
671
665
694
576
678
643
634
569
612
521
571
554
626
573
597
545
594
671
561
622
521
622
532
603
659
683
653
581
698
504
580
511
645
523
661
580
512
646
505
679
605
527
605
580
571
563
507
648
626
611
631
660
525
508
541
543
648
531
586
604
651
591
533
634
543
573
550
679
553
594
642
669
527
524
557
621
570
527
684
513
514
555
602
649
507
503
651
510
604
602
630
545
581
544
572
626
530
601
572
688
512
549
606
514
655
685
601
619
579
667
586
626
569
692
505
566
693
502
523
513
631
563
680
565
500
511
520
630
619
698
622
688
563
517
583
615
501
671
513
651
641
579
545
508
581
583
631
517
547
626
645
681
598
518
584
571
584
516
661
566
690
593
555
614
619
627
563
583
677
637
617
552
687
588
609
561
598
640
657
618
555
674
658
663
658
687
602
661
521
518
510
543
683
595
684
658
673
503
638
692
620
515
523
549
598
508
665
621
541
639
542
640
615
502
514
700
503
602
596
554
694
564
680
563
529
524
532
601
592
670
666
643
692
526
517
590
644
570
631
637
512
513
624
523
606
687
519
582
546
634
661
675
585
611
527
593
611
642
510
567
683
600
500
648
536
520
698
685
630
667
633
630
650
599
664
696
586
691
554
622
623
521
634
568
611
590
588
638
656
531
560
507
555
600
606
578
598
550
501
505
516
522
647
506
686
538
646
651
506
586
625
614
676
567
692
668
699
545
506
585
514
526
652
594
511
634
616
515
612
666
645
532
502
529
620
609
535
700
536
500
649
626
551
568
514
615
681
651
620
564
692
641
573
686
615
563
584
679
534
642
502
599
638
617
683
502
622
677
647
653
539
674
600
662
633
624
551
574
637
542
583
580
523
641
544
617
668
604
640
638
540
668
553
666
667
639
563
612
507
637
635
608
505
591
677
573
643
637
665
629
577
555
576
565
683
608
546
596
527
696
552
617
569
601
680
607
557
680
602
569
627
555
567
565
699
688
546
683
613
547
637
696
597
580
567
547
584
529
560
635
676
502
618
609
608
507
678
551
652
642
512
604
635
575
541
568
517
612
660
540
639
522
524
665
625
565
659
521
684
579
677
504
644
608
653
605
568
554
529
663
511
585
589
589
646
507
515
679
606
577
559
589
675
585
595
543
640
536
643
626
631
667
564
589
563
554
633
656
612
507
627
514
691
505
591
657
501
660
617
549
692
578
509
651
656
554
605
582
600
570
676
571
559
526
637
509
638
680
615
655
569
603
607
640
638
532
658
561
679
525
673
570
597
563
609
547
654
580
540
549
672
594
533
630
560
529
589
626
666
506
545
529
549
520
604
667
655
571
625
689
696
500
508
560
690
635
662
634
510
691
544
634
684
652
696
529
643
697
676
648
598
574
652
651
591
640
662
630
598
558
622
554
678
564
564
588
548
592
541
672
615
583
662
513
623
586
621
660
697
525
562
540
596
630
529
551
522
544
617
609
630
616
579
504
517
544
536
630
663
649
656
619
586
628
624
538
656
588
581
676
517
618
675
629
666
509
502
665
541
602
538
699
664
522
558
503
632
686
541
663
518
605
508
653
521
506
696
576
596
626
697
669
643
681
667
500
598
674
582
565
614
605
638
557
666
624
688
522
681
556
641
644
546
691
514
607
595
677
511
686
543
668
636
591
513
565
530
502
538
592
601
537
545
629
691
691
683
517
635
520
619
514
645
523
562
507
555
501
561
566
575
592
523
654
658
587
577
640
580
638
656
678
593
693
562
502
523
547
544
676
528
668
567
604
638
597
579
648
594
635
569
541
654
643
691
560
620
577
524
542
685
665
543
564
600
564
527
544
610
616
589
535
605
519
517
614
514
686
548
611
628
507
532
606
528
521
690
546
531
510
674
625
662
536
570
550
575
655
606
614
694
581
502
692
575
627
699
564
698
661
579
593
596
520
654
622
641
630
583
560
622
614
677
522
528
546
562
564
610
653
669
534
610
527
591
543
502
651
585
513
517
695
641
629
585
654
655
621
500
689
621
628
653
604
681
511
613
557
690
661
612
610
544
666
635
604
516
697
503
512
665
533
672
606
582
608
685
561
618
520
629
602
645
538
597
653
563
553
665
651
576
592
550
585
614
509
585
531
562
627
662
699
696
608
643
634
698
588
634
652
627
599
629
642
627
615
559
564
663
663
643
601
617
692
660
546
650
563
600
682
660
691
663
597
625
655
547
598
546
584
630
541
573
664
576
698
689
599
515
554
645
675
583
614
621
600
609
596
595
506
567
541
651
596
544
645
645
564
650
548
577
557
617
633
508
526
540
588
562
549
695
695
506
628
553
602
513
599
523
645
549
684
533
698
508
532
560
651
561
611
600
594
561
575
697
515
511
688
589
600
579
663
626
601
662
549
594
568
655
634
525
566
674
571
658
611
594
649
525
538
555
641
587
624
563
529
515
553
509
554
554
530
650
663
629
547
532
506
682
523
676
596
532
648
522
586
502
609
521
642
657
551
598
572
519
560
633
666
563
687
500
535
539
659
669
502
575
565
602
656
636
673
585
646
521
571
686
591
564
568
506
551
502
585
611
523
569
690
690
625
567
667
693
621
595
672
616
644
686
622
682
618
653
673
575
642
591
644
504
628
643
614
627
657
674
541
637
561
593
546
616
501
587
563
590
519
579
673
681
645
501
590
641
541
630
510
568
562
607
652
605
500
552
616
517
682
553
642
693
668
568
566
645
501
598
601
539
599
631
634
634
572
590
582
651
693
505
618
602
640
531
667
602
545
516
538
673
556
566
521
700
633
604
632
618
632
694
617
687
635
636
592
518
631
678
539
589
540
559
588
606
521
642
685
670
639
561
698
534
531
670
532
680
560
516
650
526
628
609
503
578
698
507
584
540
510
669
680
502
613
617
636
576
557
684
603
681
601
533
574
691
699
558
680
537
659
636
670
568
668
674
662
686
607
653
624
629
698
629
700
649
503
659
509
521
513
510
633
568
629
526
623
606
622
693
564
561
587
520
583
659
624
633
549
671
526
507
676
700
563
572
542
627
686
700
649
526
603
509
511
551
536
529
593
517
615
635
604
599
685
502
658
689
550
693
637
620
525
605
558
682
561
651
656
594
692
609
598
532
649
613
639
536
513
676
601
557
637
616
569
516
666
694
509
584
557
698
505
622
575
566
655
547
598
502
580
674
653
507
598
524
665
547
663
680
696
620
557
540
625
553
545
515
640
524
562
584
575
615
659
667
513
571
550
511
621
550
620
649
582
504
550
698
569
614
596
525
655
672
546
533
660
653
652
650
695
591
580
550
555
560
617
538
502
602
674
529
625
508
644
645
638
655
607
629
612
514
631
555
599
650
511
689
605
563
700
593
565
683
557
649
597
636
685
521
644
520
518
517
673
645
526
542
530
623
530
521
589
654
527
519
547
636
641
506
632
512
698
698
557
619
670
674
632
596
546
509
643
559
520
517
542
590
656
595
592
547
525
556
564
534
656
671
599
617
518
656
575
693
648
671
505
673
680
628
523
584
535
627
679
608
657
636
532
670
593
613
656
519
595
621
688
581
670
530
595
516
508
592
566
687
546
532
544
695
566
608
622
700
681
698
572
659
560
529
546
667
545
503
600
674
624
696
615
612
614
565
674
609
570
516
649
538
563
590
507
629
544
642
541
526
582
628
562
541
504
612
529
510
538
686
582
573
674
657
621
583
582
641
549
633
653
535
627
559
531
699
638
628
565
629
633
654
603
540
631
572
592
612
697
555
653
551
661
517
610
700
623
681
552
683
504
539
559
670
641
583
623
632
635
609
615
683
643
697
700
572
682
547
531
646
552
630
613
556
542
598
654
573
640
541
511
670
504
576
558
603
623
512
624
546
605
612
526
679
555
512
620
515
520
545
608
542
552
670
590
611
520
569
648
583
516
512
684
636
556
514
504
689
540
659
646
655
648
592
651
508
522
675
677
686
591
515
538
593
616
627
700
690
545
519
548
608
528
696
618
596
615
570
604
639
609
563
595
635
505
623
695
576
688
584
656
621
606
693
628
687
515
518
571
502
622
512
646
634
555
583
599
590
518
549
550
630
599
683
525
556
588
683
506
613
530
538
639
659
543
589
562
683
584
691
565
681
656
666
501
505
642
617
616
547
621
603
541
634
607
645
541
643
615
592
637
583
622
693
561
559
630
605
692
669
536
578
601
614
664
616
508
536
663
503
689
509
614
602
523
515
625
508
542
694
585
692
596
601
539
673
538
689
541
531
554
595
562
679
536
524
589
662
578
549
628
695
577
696
583
665
525
559
678
514
616
598
608
626
534
594
646
688
528
700
692
512
604
558
587
672
620
675
577
690
595
660
608
670
524
556
566
667
600
563
647
678
625
611
668
510
520
678
529
690
606
538
640
647
510
553
647
603
578
508
613
643
600
553
535
693
597
525
584
595
622
609
622
667
684
614
699
605
692
526
604
680
676
684
687
513
564
670
641
562
679
548
661
604
543
501
570
667
658
564
684
684
538
545
635
592
685
592
690
669
556
501
578
670
657
663
578
518
620
674
587
629
539
553
618
584
657
669
557
660
523
602
643
602
670
657
525
510
572
696
553
681
509
581
672
579
538
660
663
673
582
518
617
559
604
591
577
522
609
658
692
686
527
517
600
661
574
543
685
552
502
513
573
533
661
646
616
652
671
539
555
502
527
639
513
588
613
527
594
686
620
550
571
552
544
615
537
637
654
627
682
661
657
594
613
694
567
513
641
648
675
570
637
572
678
693
691
582
646
667
669
540
511
638
512
612
684
596
585
553
577
629
519
550
689
663
658
688
583
631
647
551
529
613
632
597
552
568
573
700
504
670
578
618
623
688
603
630
543
622
643
684
645
672
671
586
686
692
517
502
617
566
520
567
688
605
617
525
580
693
659
599
522
672
527
599
549
607
662
513
673
526
560
661
518
700
546
626
546
624
613
663
545
659
677
576
564
560
692
505
528
513
535
511
513
524
500
594
507
594
543
699
612
564
685
610
548
572
544
581
685
536
513
623
696
564
700
671
603
668
649
615
598
525
677
661
590
535
581
597
520
532
652
501
579
659
680
586
606
580
681
644
551
572
520
635
678
517
659
616
517
556
555
633
694
564
601
646
682
690
513
635
525
569
587
679
683
641
598
682
671
638
541
587
618
696
500
632
642
626
572
579
663
552
569
527
696
562
650
614
565
616
646
678
509
545
555
650
639
639
578
501
576
585
683
622
645
630
507
637
526
645
547
588
521
610
577
576
560
659
531
562
547
679
560
663
508
558
622
630
614
646
553
641
595
631
593
635
655
615
610
584
584
628
670
508
634
632
619
611
532
617
691
614
664
572
632
517
590
516
671
525
563
657
523
639
601
695
653
579
689
588
503
524
611
506
666
649
683
612
681
539
527
614
686
532
619
690
626
650
548
688
547
690
548
517
697
590
613
696
660
597
566
650
634
587
683
546
515
687
524
516
522
543
622
674
541
607
555
692
572
587
633
587
622
635
664
501
588
576
509
641
697
696
633
638
601
669
507
534
590
566
581
592
525
505
674
520
519
576
555
547
536
630
538
555
635
671
624
649
697
501
633
603
669
553
562
550
673
644
588
545
536
678
667
512
578
510
643
589
654
624
675
632
556
615
529
576
554
681
612
529
680
504
516
609
589
682
692
567
684
646
537
528
538
652
686
593
676
575
700
693
604
511
660
645
580
625
629
537
672
682
653
567
610
524
540
608
671
566
510
518
642
609
616
639
531
531
559
604
613
550
622
601
634
636
648
576
627
624
532
584
605
578
687
544
634
590
671
604
522
663
588
665
667
500
517
674
531
615
526
549
538
559
541
683
546
515
693
557
536
632
546
554
650
594
615
666
505
665
673
569
605
624
554
612
592
649
627
612
619
679
622
642
600
653
673
650
551
669
684
600
546
573
500
670
627
594
654
643
674
512
608
670
591
526
560
642
697
667
575
511
502
616
632
642
506
648
540
566
532
600
636
618
515
671
625
551
630
639
557
606
550
624
557
576
528
537
503
579
595
522
572
552
675
555
669
547
580
585
648
514
657
590
521
647
514
561
664
539
578
634
696
619
626
508
522
631
511
577
676
518
566
602
527
537
590
696
631
599
670
626
530
525
575
595
578
645
568
652
646
593
659
551
660
681
614
550
512
551
659
562
679
545
635
673
605
546
653
525
685
577
610
664
661
660
566
545
700
527
561
601
695
691
529
553
561
580
502
530
549
694
541
661
611
662
593
535
569
645
569
503
515
623
539
566
534
658
628
553
662
599
599
596
544
514
658
536
516
636
577
654
613
549
527
570
572
560
622
580
551
589
655
575
520
649
663
500
559
643
655
620
527
516
536
545
695
527
523
526
523
685
598
663
556
504
615
650
644
648
606
526
574
645
614
500
560
622
529
522
674
539
513
607
587
639
549
675
627
591
511
696
622
611
659
532
561
580
595
592
525
669
554
674
538
651
570
668
600
636
543
607
618
542
562
601
576
674
582
684
597
580
608
679
550
678
641
612
655
682
642
635
609
531
650
684
563
642
667
619
666
658
554
542
590
657
660
645
584
546
638
559
654
672
688
664
527
637
554
509
680
640
534
519
558
630
613
667
597
617
523
508
638
665
668
511
695
586
567
662
531
623
696
598
675
699
669
581
541
652
668
547
515
700
615
536
667
524
547
556
577
623
562
530
507
654
640
693
533
693
500
648
545
609
615
534
679
616
647
612
655
596
685
586
658
505
517
619
524
510
696
641
565
677
686
572
520
587
652
689
593
502
564
604
554
542
572
581
513
592
541
655
672
664
601
658
602
689
537
524
576
547
576
524
621
658
627
587
867
847
991
959
985
892
890
923
921
833
922
907
853
985
906
823
903
860
809
820
840
974
911
917
834
932
802
863
886
852
1000
800
950
968
801
943
980
814
964
911
821
854
970
954
900
867
896
955
866
895
875
964
950
907
855
843
933
810
811
963
968
883
918
945
924
901
908
932
941
986
947
931
895
824
971
962
846
974
890
994
935
805
993
894
865
954
960
842
846
903
998
923
836
876
995
800
891
860
958
892
987
844
926
910
923
936
833
984
808
877
952
911
851
990
805
844
879
809
911
975
995
921
956
898
950
816
885
881
962
842
880
907
964
870
873
819
881
942
951
863
876
875
817
816
885
845
858
958
986
859
871
909
989
822
840
988
889
920
948
986
991
869
822
962
910
977
811
903
819
843
989
956
990
881
821
851
853
883
976
953
907
834
917
842
812
988
945
830
815
855
860
869
942
989
926
911
896
966
940
959
905
918
925
875
833
958
905
954
874
959
888
881
994
936
916
873
941
984
853
968
870
967
960
891
987
927
855
856
850
852
913
999
827
970
910
958
800
915
857
828
873
812
839
891
947
897
855
963
976
830
812
858
995
969
809
835
873
950
837
838
822
848
929
881
867
879
916
805
870
985
947
998
825
988
940
847
816
875
899
1000
866
915
821
812
930
843
885
866
1000
860
845
899
829
831
807
991
919
871
966
949
895
915
887
942
852
896
850
801
809
872
852
995
892
945
999
927
999
914
990
843
890
969
880
913
936
864
899
889
848
928
948
879
970
803
939
973
800
967
868
871
941
834
953
987
833
906
907
943
910
860
936
984
879
901
970
872
818
998
968
847
832
829
810
912
896
987
847
960
823
891
940
871
979
892
823
833
856
907
918
946
848
915
809
878
803
867
949
809
916
977
960
926
941
883
995
864
830
865
918
928
801
803
972
844
993
812
894
951
835
884
876
999
883
859
1000
803
950
975
911
965
967
981
897
910
905
827
892
963
884
950
826
957
960
810
870
855
996
907
986
839
833
835
901
963
964
986
953
896
960
854
895
890
972
914
906
909
875
885
844
916
851
935
962
809
828
890
887
929
882
843
827
924
982
815
844
999
892
924
913
959
933
980
935
949
903
835
972
959
865
882
919
923
842
839
969
856
947
909
884
804
815
809
920
910
904
968
985
807
915
925
863
991
807
897
909
953
940
883
920
927
927
966
974
934
892
833
854
985
961
803
806
928
960
848
834
866
849
809
924
804
912
958
862
946
969
950
986
898
843
890
893
988
933
895
995
910
974
922
852
945
965
973
981
813
965
820
864
874
819
903
924
987
888
822
840
964
890
960
874
885
859
996
932
991
970
825
932
978
840
828
908
986
938
941
857
801
937
805
807
941
946
839
843
865
870
867
877
830
859
864
935
937
864
948
911
896
842
914
905
883
869
922
810
835
876
878
997
925
920
832
905
946
974
900
865
909
960
828
800
863
983
847
924
947
841
955
941
910
902
876
848
947
938
898
904
808
913
950
935
867
913
979
904
893
886
879
824
801
879
815
957
819
923
830
857
838
838
815
852
937
868
956
984
958
998
961
937
863
939
910
951
848
994
974
985
943
888
893
828
802
938
932
854
885
910
864
965
995
915
811
960
976
833
948
836
877
980
998
846
833
914
935
809
989
827
906
859
855
932
994
923
923
832
981
890
839
904
820
953
896
978
876
961
834
815
841
922
877
953
963
834
821
971
995
853
846
937
934
877
864
901
919
805
809
867
856
884
836
911
941
913
837
934
921
804
999
830
904
826
992
862
848
819
999
867
865
935
997
959
907
865
907
939
851
933
843
914
831
803
879
857
981
993
848
900
840
905
957
877
847
958
949
967
967
888
927
829
939
826
873
851
890
817
885
829
858
820
889
837
813
997
904
876
814
947
891
932
825
865
877
980
975
847
820
908
876
867
842
987
803
933
810
898
997
913
893
927
993
998
969
965
812
912
950
886
837
923
920
844
853
950
906
949
814
813
846
832
857
949
992
808
943
833
888
811
917
899
808
838
931
947
930
965
821
983
848
894
826
861
805
913
938
823
958
957
892
980
882
839
831
932
805
822
892
823
880
829
818
940
965
901
811
846
890
923
800
887
999
891
838
883
930
912
959
880
872
863
823
906
969
938
848
973
954
992
816
981
866
960
936
934
933
970
918
950
877
830
938
836
903
809
884
947
996
936
844
892
874
868
956
817
874
975
899
800
898
971
802
935
883
824
831
849
827
892
855
876
992
913
957
832
995
839
982
934
952
959
988
1000
944
821
829
811
813
921
946
985
877
972
809
968
991
950
896
972
833
893
832
825
973
930
850
846
932
997
931
819
890
820
969
865
889
994
990
894
931
933
840
826
878
854
848
961
938
949
818
933
899
908
979
809
925
958
808
931
919
995
977
901
848
807
851
830
935
808
911
852
867
923
852
945
807
932
957
815
837
863
854
986
802
860
914
814
858
944
983
990
858
989
933
977
994
960
847
977
854
848
979
866
889
801
985
895
886
853
962
991
833
832
951
816
984
847
915
862
839
898
883
892
922
851
906
930
808
970
847
888
925
854
832
938
950
871
901
828
949
989
986
893
938
934
877
864
954
923
925
974
942
906
865
941
953
881
823
804
957
805
969
879
978
858
860
820
868
964
942
822
959
907
833
948
861
947
966
909
860
926
862
916
878
976
806
976
993
842
857
1000
902
982
829
909
963
862
916
817
880
807
846
974
993
898
833
967
1000
886
898
977
891
869
871
959
818
853
862
998
881
935
914
949
961
801
974
875
962
843
827
878
866
996
970
947
882
831
805
942
973
857
912
966
827
865
825
813
889
880
918
864
989
950
960
859
898
998
940
890
873
806
981
807
898
992
859
838
819
922
828
853
829
936
844
987
886
866
971
974
815
868
919
914
815
800
817
904
918
842
868
823
989
816
897
828
961
870
863
999
930
832
991
831
887
871
850
921
815
992
824
857
943
957
895
958
829
838
893
964
841
906
805
848
891
829
935
964
1000
962
803
918
853
864
887
897
840
852
965
843
822
868
802
979
946
999
864
1000
913
802
930
914
928
988
851
843
991
945
888
808
881
921
993
872
947
854
947
953
918
812
824
922
861
855
968
932
919
824
985
877
905
943
895
881
943
946
946
940
945
813
947
981
890
956
852
829
989
807
866
999
897
985
939
921
848
937
1000
809
915
984
979
828
900
985
982
827
854
942
903
994
808
919
968
858
835
977
973
867
957
873
963
905
814
801
983
986
991
850
882
925
900
965
909
982
991
868
801
961
837
843
938
936
812
808
909
846
842
953
986
904
918
974
886
858
943
947
976
881
843
973
819
969
859
843
828
963
872
819
994
926
956
992
883
958
832
896
956
932
803
952
974
888
975
912
908
958
959
1000
980
811
872
907
861
924
829
912
977
944
882
809
975
812
947
863
903
820
981
974
980
861
971
869
889
847
884
891
859
890
977
824
845
894
951
812
967
966
975
981
804
838
960
830
899
855
835
815
999
894
842
840
937
870
845
953
813
905
885
912
999
909
929
865
871
860
819
893
971
965
835
814
951
948
987
976
866
996
958
812
902
940
926
832
933
920
870
817
872
953
989
925
934
986
952
981
859
818
967
983
836
829
927
843
833
960
949
926
882
880
801
843
977
998
969
836
996
943
815
844
848
885
885
922
819
916
878
875
836
840
975
926
920
1000
910
955
997
986
928
886
827
980
916
816
990
828
850
890
963
902
863
834
893
943
811
973
904
901
880
935
972
853
895
821
962
930
811
857
937
862
869
843
871
992
889
891
954
921
911
917
910
896
894
932
986
976
935
950
963
832
969
952
907
967
935
950
846
925
810
983
870
931
969
964
992
908
981
800
834
834
933
959
813
834
812
965
848
804
996
814
925
800
950
952
837
894
917
965
883
963
884
958
975
837
847
810
849
828
893
947
827
917
819
838
849
813
932
849
801
857
822
971
830
860
926
863
854
868
957
825
959
922
863
862
838
912
939
808
810
977
985
942
904
862
945
907
915
954
945
811
829
852
896
940
945
967
812
990
935
951
967
935
867
996
999
950
876
863
965
819
978
816
920
927
972
883
843
989
901
842
803
821
880
857
845
855
843
916
949
925
998
872
815
927
998
960
987
825
848
856
979
923
813
828
819
927
857
830
825
906
929
841
936
897
933
845
937
972
902
865
973
865
954
936
877
952
857
878
857
815
802
854
836
854
829
918
844
841
957
875
935
993
892
835
824
975
851
825
997
902
868
801
987
921
921
838
827
812
904
862
923
951
968
944
998
899
865
907
876
972
851
888
973
952
910
816
963
836
893
820
982
861
828
936
896
875
890
959
832
853
914
864
931
997
916
974
845
893
885
989
984
923
894
982
873
988
837
893
833
971
860
871
922
893
957
801
878
836
1000
814
986
844
802
933
987
888
983
975
990
978
854
975
993
809
964
897
942
993
983
992
913
975
865
936
822
949
868
930
880
941
960
834
934
974
987
894
930
978
954
900
993
815
896
804
982
969
886
809
844
906
840
832
937
949
828
867
832
954
943
977
951
850
943
850
858
981
949
948
974
862
958
843
919
957
874
841
880
837
823
923
810
921
824
993
908
933
887
830
821
825
811
824
887
801
868
804
833
995
990
894
849
996
978
870
812
971
852
844
855
889
834
885
886
975
965
857
857
830
996
857
982
975
859
986
983
993
1000
977
801
926
986
811
826
824
966
838
805
823
984
807
942
876
903
842
804
879
965
889
893
925
885
837
874
865
990
838
832
831
947
821
972
949
836
984
968
850
878
973
843
869
921
993
958
933
976
814
848
980
810
951
808
887
810
940
961
951
859
955
832
915
923
840
930
895
913
867
823
927
969
937
943
843
868
819
972
992
932
810
889
872
999
990
932
926
908
876
828
873
925
967
948
916
853
895
833
990
897
801
861
929
842
957
919
970
841
949
948
856
809
909
861
932
810
923
824
972
994
1000
997
935
905
821
822
817
1000
863
804
889
824
878
974
855
922
830
903
813
973
883
953
830
859
939
967
954
908
995
823
811
816
937
818
938
806
876
800
837
828
847
867
925
811
936
834
902
882
908
815
848
933
848
878
819
857
919
867
808
929
972
997
806
805
910
919
943
920
935
944
901
843
904
930
835
849
869
874
875
884
996
932
977
938
847
979
969
993
995
845
810
897
968
921
906
829
894
815
847
821
964
869
873
820
840
961
862
864
970
857
919
832
882
864
861
922
850
987
839
871
938
818
899
835
960
936
996
985
852
990
983
850
817
916
916
948
883
964
834
911
875
879
837
990
991
980
801
956
897
878
917
938
949
861
974
945
869
971
894
900
873
882
977
992
926
844
814
972
854
837
915
824
997
866
977
953
903
878
833
821
940
916
804
964
910
832
813
832
953
838
886
936
981
991
942
938
997
964
986
952
927
944
881
1000
913
838
803
890
807
967
868
937
904
957
899
808
1000
968
830
962
895
862
845
832
834
896
824
841
990
934
990
914
835
907
874
948
889
883
995
997
973
888
854
882
982
876
955
893
906
964
912
897
968
814
900
901
819
830
983
963
991
856
837
821
917
970
883
956
907
939
823
901
840
896
978
885
846
954
932
946
850
840
955
968
886
989
846
929
917
986
822
855
964
881
847
983
855
884
939
841
881
938
855
944
894
991
887
1000
900
987
922
865
810
836
882
835
836
982
983
868
911
856
811
939
909
907
996
839
957
854
955
810
927
914
888
812
859
940
911
943
839
804
975
800
803
836
852
824
998
818
908
838
943
925
904
868
940
896
865
885
931
919
914
993
867
962
907
841
908
865
840
987
859
870
884
949
871
886
895
953
830
822
946
965
980
832
996
931
819
885
991
911
899
933
815
848
845
867
830
817
809
925
860
891
823
973
989
826
916
826
908
936
926
888
816
976
943
842
984
853
917
853
956
889
961
888
813
902
864
837
924
809
835
895
999
958
867
915
879
949
857
873
960
982
900
949
846
897
804
833
958
976
973
945
976
929
885
835
906
829
800
902
951
995
857
900
818
865
975
989
960
941
868
975
810
860
960
944
968
895
932
894
902
934
983
895
845
920
815
998
933
941
878
963
991
862
845
804
826
928
885
995
985
898
890
849
899
872
969
834
962
865
911
944
920
821
842
960
810
903
895
825
862
814
876
869
999
962
914
842
982
887
819
904
933
890
940
802
979
831
828
860
995
881
809
900
878
848
809
902
811
821
904
904
935
915
843
882
884
985
821
912
819
972
847
957
963
855
875
939
885
802
905
807
884
929
973
876
868
930
977
826
953
903
818
896
856
972
992
876
920
985
959
800
915
801
912
910
960
836
811
991
900
849
878
959
821
804
862
934
985
982
862
977
883
826
937
839
938
990
813
972
981
930
849
939
879
894
801
968
857
919
902
939
887
890
838
906
872
997
871
998
827
935
912
826
817
961
875
830
893
823
804
856
961
902
833
877
881
881
929
863
806
1000
811
962
839
820
847
846
874
983
986
989
870
913
869
936
854
946
918
857
978
979
878
943
918
871
915
837
800
866
804
822
864
957
806
821
883
877
852
944
821
915
873
870
949
924
951
950
944
889
809
927
882
875
979
905
996
965
895
994
876
894
874
928
981
813
939
821
853
981
913
966
901
962
966
998
861
918
851
816
856
863
984
885
827
897
932
809
974
972
814
926
863
870
888
918
859
890
996
858
929
919
882
893
897
937
871
803
956
816
947
988
982
910
891
934
905
894
856
822
801
883
935
802
890
829
946
931
961
950
993
952
974
958
948
956
915
900
925
966
811
841
874
1000
952
898
814
940
876
926
905
961
803
967
977
838
890
813
974
989
936
845
934
951
850
940
879
929
820
883
979
872
863
926
863
980
830
945
930
846
960
907
908
923
864
988
851
975
814
891
815
927
947
947
965
882
992
914
887
924
838
881
975
919
873
976
849
886
928
927
958
862
980
991
965
806
844
904
896
889
975
946
917
905
916
821
892
824
835
953
884
878
928
934
952
944
894
861
981
876
945
970
904
819
910
857
877
858
876
908
850
985
925
949
870
876
869
854
946
814
819
996
812
937
864
917
842
860
979
906
959
847
917
867
856
853
915
894
825
921
929
951
836
895
911
848
952
829
957
811
911
840
998
836
816
943
940
970
805
815
874
810
826
818
810
983
800
943
899
974
800
998
914
956
839
877
869
803
920
938
811
944
894
860
804
937
941
815
982
884
846
997
830
968
936
827
814
930
901
884
949
825
866
818
809
964
884
815
939
877
954
992
989
892
971
861
899
928
870
831
935
985
912
870
825
923
864
921
872
834
963
820
977
858
935
877
819
925
954
824
922
819
809
874
996
874
811
992
856
992
888
849
861
812
843
867
911
965
811
863
922
926
886
906
922
972
969
820
803
966
875
900
958
974
809
926
848
826
885
936
835
881
934
994
951
904
842
994
932
813
844
928
825
963
914
824
988
826
898
903
846
804
928
869
998
811
952
812
925
878
844
908
894
816
831
819
955
982
838
896
901
999
872
869
997
989
878
940
844
894
914
850
890
994
879
901
843
990
857
914
837
928
943
895
884
979
858
938
831
822
936
949
812
972
919
972
926
808
876
956
970
869
873
981
915
805
940
907
931
898
923
878
953
854
982
861
995
919
993
984
957
846
900
997
906
867
879
928
810
813
803
958
801
867
988
987
826
951
947
850
884
917
933
998
886
831
977
908
816
817
998
987
952
993
873
917
911
841
818
950
861
970
815
812
824
821
970
989
990
991
966
850
964
821
860
987
844
974
826
892
964
817
984
879
826
954
942
844
954
818
904
900
833
951
893
845
976
931
809
875
976
875
971
995
928
891
982
1000
833
837
932
902
916
847
809
816
992
895
916
853
890
904
889
915
977
890
942
881
886
946
960
982
804
981
896
993
950
971
934
840
871
853
826
836
813
869
961
981
928
841
822
964
949
817
819
943
912
921
991
914
978
855
809
906
996
923
958
945
990
891
831
911
867
912
956
947
972
976
967
844
832
848
958
900
950
831
895
874
824
845
875
933
814
826
810
898
866
965
962
944
822
927
877
855
901
985
816
885
955
852
844
925
872
834
899
972
992
982
910
890
979
833
823
934
993
920
983
854
841
908
865
842
976
874
879
939
976
896
948
951
818
939
833
938
810
801
934
813
850
897
937
1000
966
800
822
934
945
930
941
876
856
873
982
866
968
814
924
930
912
879
924
861
801
815
900
850
838
814
894
889
808
976
845
848
807
823
888
973
985
997
992
882
977
962
894
879
862
949
839
961
819
936
967
863
852
878
949
980
836
975
954
909
845
852
921
809
845
875
968
818
802
976
891
842
905
916
808
942
867
815
971
943
963
877
938
912
838
941
833
942
988
845
885
811
996
961
957
954
894
901
895
955
919
906
993
856
907
948
958
887
1000
979
902
856
853
972
862
900
902
933
985
848
871
922
833
959
886
867
853
901
870
971
975
876
928
967
944
907
925
980
904
930
800
852
936
954
980
919
835
804
997
916
893
896
856
962
992
942
976
820
838
994
992
961
875
971
998
833
969
868
813
944
996
889
814
942
913
883
871
936
904
925
865
948
848
863
825
849
999
859
882
872
840
855
802
967
1000
1000
867
836
867
920
805
894
961
904
962
975
897
921
899
870
932
997
952
920
842
893
952
876
936
841
812
892
848
981
962
802
856
816
847
901
878
930
957
834
914
959
985
847
852
881
808
817
989
843
906
938
868
836
806
953
848
861
926
980
803
847
968
921
971
893
919
855
921
943
970
801
947
846
883
964
827
980
835
975
930
907
973
823
942
933
915
989
812
935
949
806
837
959
938
871
992
876
983
909
909
977
943
918
932
999
973
829
988
827
859
890
944
811
966
918
821
996
995
958
880
907
829
855
952
873
977
987
980
950
805
855
921
935
900
999
860
951
982
850
953
831
995
957
890
907
991
848
990
887
945
970
819
933
943
948
977
949
901
900
858
933
874
840
808
824
898
876
892
874
822
884
883
864
803
898
807
954
937
848
991
806
815
837
879
936
826
856
979
885
851
843
880
934
891
908
812
993
815
882
844
993
955
940
819
852
964
994
912
823
929
994
879
807
981
997
853
919
827
970
801
825
965
826
966
935
979
968
910
857
910
899
833
915
918
937
924
929
848
857
964
950
846
888
873
926
887
874
919
848
828
930
805
900
824
940
805
833
976
824
819
816
820
811
965
808
954
856
873
904
860
845
926
999
944
818
920
951
958
856
968
892
879
931
976
895
828
906
877
971
989
890
887
857
929
934
823
878
956
960
952
853
934
872
891
878
804
809
809
897
924
851
821
883
858
830
950
953
941
992
943
963
995
961
990
826
966
986
957
943
853
994
952
917
836
853
850
872
831
943
813
968
912
811
837
880
947
885
905
994
842
810
893
916
837
814
806
814
933
990
862
871
875
960
814
825
844
857
926
870
920
882
814
924
955
994
940
961
829
840
854
929
983
854
828
998
983
837
965
846
863
826
972
904
997
881
988
829
906
991
855
862
938
809
855
847
809
828
949
909
999
891
823
890
827
963
845
938
817
961
803
986
953
954
836
992
862
974
973
960
890
829
933
834
815
814
936
951
903
831
989
884
899
959
920
1000
898
802
896
849
950
927
908
899
924
932
800
877
998
915
880
940
975
942
850
977
999
955
932
834
929
968
837
987
821
929
939
957
967
906
860
909
815
824
866
876
863
822
844
825
849
927
981
932
801
806
898
941
868
908
858
950
977
867
902
903
931
955
812
972
893
916
892
820
871
944
994
818
849
986
998
962
856
996
868
927
943
975
869
817
870
1000
949
999
911
935
898
1000
898
881
991
853
857
874
924
839
956
806
832
978
937
998
881
807
997
858
865
979
926
922
922
807
858
974
836
886
879
914
992
996
918
876
822
803
992
888
802
864
985
808
862
916
996
880
924
964
833
882
981
825
963
993
934
913
994
940
904
973
873
846
854
927
829
981
866
817
967
826
822
866
859
949
896
868
854
938
991
952
918
853
828
956
898
899
985
820
874
913
976
824
870
985
876
955
921
926
897
981
855
944
998
806
961
812
932
817
991
858
952
950
897
960
934
817
909
890
965
857
803
970
936
803
827
956
990
804
936
962
842
877
817
996
983
911
962
839
835
982
834
929
965
984
881
990
957
962
818
942
869
842
944
961
936
818
901
811
965
946
969
953
823
849
962
915
927
831
973
954
883
958
866
959
831
967
867
815
852
989
966
818
916
906
862
892
879
809
822
898
844
965
806
985
870
912
869
847
832
948
998
874
940
980
923
916
827
991
968
849
946
822
891
937
899
802
962
942
995
998
804
906
864
918
916
846
836
871
952
833
940
980
989
833
993
937
804
979
866
972
890
882
1000
942
974
974
917
946
851
864
933
810
992
987
968
831
871
913
943
895
969
956
924
876
945
935
965
997
842
894
815
888
840
942
986
937
933
813
886
939
845
882
917
927
851
851
839
832
825
855
826
837
832
886
911
912
972
812
993
997
901
950
961
929
808
889
815
926
939
989
879
819
821
895
843
906
960
984
844
978
831
858
908
978
966
939
963
920
931
979
934
988
961
964
923
940
984
933
859
941
883
821
994
807
838
996
900
872
917
843
936
806
948
808
820
891
951
982
878
979
844
881
831
898
928
823
918
914
855
878
828
829
957
991
910
813
916
800
843
885
922
974
919
950
850
889
855
852
987
801
959
930
802
940
865
894
867
903
969
847
993
998
952
927
989
818
961
900
524
520
579
513
553
575
562
575
503
519
617
524
526
650
659
564
595
655
570
573
572
662
630
557
585
564
634
595
671
550
609
547
533
666
577
528
555
699
603
615
547
610
623
573
601
634
700
664
592
604
674
507
593
662
500
690
680
529
528
589
675
636
682
579
590
543
621
577
646
699
697
502
559
600
540
631
521
513
656
614
669
646
670
530
650
510
692
646
677
584
626
543
615
559
549
535
669
505
584
532
594
603
542
597
529
642
529
683
519
690
545
663
529
572
687
541
616
691
588
640
658
669
520
573
531
532
678
684
619
651
547
582
667
635
602
653
526
680
593
623
663
570
508
548
582
626
649
564
565
622
670
541
605
620
681
669
602
528
562
567
700
554
611
553
637
688
687
692
684
635
650
500
596
594
698
554
500
622
548
503
658
671
675
638
536
659
526
545
631
533
589
621
512
682
659
549
633
524
517
512
562
542
640
639
658
618
567
514
505
675
642
527
673
696
644
589
576
533
503
544
561
592
600
661
650
544
621
649
590
575
591
654
512
618
504
668
528
577
557
620
616
514
647
633
525
553
586
504
692
612
543
603
553
671
661
627
598
576
582
632
650
509
671
534
671
525
610
540
658
507
676
673
528
606
659
541
619
692
624
562
624
681
627
628
636
512
694
696
600
654
691
503
610
551
525
558
546
516
675
613
529
690
514
646
608
652
516
611
683
600
660
645
528
537
625
579
516
610
511
597
678
542
565
656
675
580
600
594
550
577
655
503
545
607
623
637
608
607
594
596
654
554
578
627
505
594
588
513
521
671
613
604
617
626
641
523
503
567
680
667
618
552
684
512
553
624
670
624
508
621
581
615
537
614
608
521
654
525
679
642
693
651
681
628
500
628
631
576
606
644
634
522
509
615
609
679
643
630
601
677
524
543
700
659
558
611
630
574
652
574
595
639
610
625
544
676
662
600
665
654
695
566
614
509
666
570
695
644
632
698
638
657
590
657
603
628
600
594
692
584
513
700
579
567
681
585
688
580
640
612
647
543
676
599
523
686
589
554
665
604
626
621
680
681
656
574
514
540
629
669
514
554
532
541
528
559
545
572
631
575
594
607
688
597
602
660
587
578
581
567
564
516
567
550
642
625
667
663
649
674
602
589
609
523
637
521
636
662
549
527
650
603
634
503
606
635
512
520
552
538
651
649
661
544
653
515
543
632
504
531
666
533
677
688
692
634
638
558
588
581
542
538
622
618
698
572
617
552
530
624
637
532
533
540
562
508
546
549
637
623
606
646
618
648
679
522
594
623
545
672
634
505
533
698
665
517
596
651
668
547
508
613
652
636
680
590
632
679
558
697
637
598
699
558
623
602
541
654
533
607
517
605
564
561
523
561
539
669
616
636
576
563
621
660
530
565
500
643
506
567
515
617
586
603
661
562
531
527
555
681
529
534
579
580
673
607
649
569
608
566
627
620
613
650
658
575
626
608
693
574
624
613
504
580
678
680
598
564
570
648
617
624
565
528
582
673
513
612
656
605
551
538
654
538
534
530
617
607
519
640
661
656
503
522
608
507
656
683
502
680
682
579
510
506
620
611
627
677
639
517
672
534
588
674
648
632
613
502
697
523
543
596
620
623
621
594
653
598
530
629
666
692
589
676
632
579
571
601
624
672
700
531
669
621
612
656
533
506
661
635
540
632
614
527
601
618
506
508
654
607
667
665
529
543
552
690
640
508
633
604
575
602
665
510
522
626
519
667
592
511
510
591
570
682
689
553
634
682
627
544
584
655
640
620
547
588
556
526
656
540
664
526
539
644
600
529
562
582
665
646
574
666
531
521
535
565
517
615
584
627
637
660
527
541
612
619
575
669
590
505
690
589
647
521
668
632
574
674
669
655
602
566
658
551
560
662
596
683
681
658
610
511
522
555
552
590
530
592
572
657
502
625
509
549
613
674
676
592
569
581
551
575
603
671
674
557
508
554
567
566
621
575
634
691
663
552
631
647
589
630
538
681
600
631
647
577
512
650
530
511
674
658
590
610
668
628
680
635
537
683
604
677
501
533
630
511
677
544
677
558
568
599
507
550
678
536
688
555
593
555
580
578
570
534
599
557
500
585
558
566
569
520
540
640
666
545
624
651
647
522
572
606
589
549
623
527
590
700
598
622
528
690
649
656
516
500
551
570
690
608
656
577
653
656
578
616
529
640
663
589
622
622
667
567
685
623
679
642
544
693
647
627
689
619
667
573
664
532
532
569
697
603
696
522
565
611
573
565
512
522
690
569
500
641
568
588
551
569
587
501
646
694
646
510
678
598
673
657
571
547
646
675
600
685
690
519
532
654
519
685
603
625
650
603
591
679
700
528
658
601
506
551
563
514
604
510
507
548
546
674
511
650
657
574
700
524
566
699
574
652
539
595
524
666
693
664
553
600
551
566
683
507
659
523
647
590
589
634
530
600
520
513
511
649
638
667
623
593
698
549
615
609
513
553
525
631
658
614
569
521
556
527
665
665
648
637
609
518
501
513
518
580
666
536
696
585
542
593
649
683
650
637
681
605
672
560
518
571
556
676
688
565
697
529
634
546
514
539
665
558
667
626
652
564
505
511
609
509
638
535
622
625
574
518
551
515
669
543
551
624
537
596
608
589
586
696
695
587
555
649
637
520
628
696
543
632
661
565
644
629
566
512
644
593
676
523
508
580
675
640
671
646
504
686
529
637
700
625
646
694
565
531
612
575
614
660
532
629
667
524
646
557
617
685
554
588
674
685
678
604
505
500
621
626
653
568
548
614
512
502
663
604
700
641
670
603
507
571
611
538
675
518
522
627
619
557
583
573
685
636
624
609
655
594
588
654
573
648
508
527
535
547
600
503
561
686
507
554
532
508
620
554
670
525
636
517
653
551
645
580
551
660
541
565
575
685
518
571
667
531
612
658
620
659
659
683
602
656
541
657
698
527
627
612
583
677
691
674
578
563
661
621
647
700
542
628
659
507
696
576
678
683
676
696
607
550
687
655
504
683
602
533
664
619
572
630
613
659
661
510
680
545
565
522
567
624
646
546
671
670
684
615
692
517
599
655
691
580
684
514
627
559
504
669
554
553
604
650
538
570
515
552
637
677
588
607
555
605
508
583
526
598
680
573
593
637
585
502
578
519
536
551
525
689
619
578
694
592
620
594
500
527
670
601
549
599
681
559
557
549
557
655
518
508
690
555
651
556
605
569
563
665
618
666
693
595
555
684
651
577
557
567
570
575
651
548
549
654
512
680
670
541
574
636
605
582
501
616
649
506
688
519
602
550
560
677
674
568
557
592
596
538
589
523
680
542
683
663
559
676
558
621
510
689
670
627
522
606
537
624
606
652
639
661
696
635
541
641
594
555
663
575
519
578
511
635
501
662
579
571
590
535
662
578
681
585
558
690
679
614
511
534
687
614
640
606
674
601
653
613
569
656
658
652
611
531
541
572
584
528
569
663
589
599
536
693
660
572
636
655
519
508
504
688
647
671
673
674
695
534
520
659
628
652
616
578
651
695
513
684
530
519
567
691
621
574
592
518
580
665
699
628
508
573
644
621
678
507
624
597
688
699
614
675
565
589
624
538
568
582
521
538
595
606
632
696
605
534
505
602
642
627
512
585
504
558
662
504
684
695
630
672
661
651
506
693
650
608
635
685
553
608
670
518
516
530
627
629
627
626
605
527
501
621
582
509
634
676
653
695
553
518
627
554
510
607
573
604
678
657
568
693
586
629
621
529
615
519
603
642
569
644
558
619
660
594
563
667
615
601
553
503
517
583
659
604
689
637
594
617
621
567
587
503
578
684
538
598
686
664
548
628
657
657
521
555
565
694
678
680
537
693
629
590
502
679
636
679
670
615
636
528
672
559
513
582
523
629
500
700
700
690
655
582
570
592
591
510
516
621
676
676
675
565
684
520
614
502
600
617
685
602
548
579
536
554
676
526
609
573
684
671
699
583
643
615
683
664
570
585
641
613
539
699
672
682
619
644
625
609
695
583
597
630
635
579
667
525
652
575
698
518
682
646
606
574
520
627
608
675
680
673
555
510
545
690
502
550
624
695
689
611
682
640
698
667
587
667
503
652
532
619
558
532
545
684
675
560
689
641
671
500
643
667
620
557
512
625
503
683
559
503
502
508
575
536
593
688
548
525
698
555
631
527
619
692
594
566
604
691
532
604
545
503
659
657
514
583
614
532
585
624
525
637
507
666
564
527
510
625
532
552
642
647
625
508
579
651
569
592
688
553
558
528
561
625
654
558
604
520
614
612
561
675
623
546
579
568
607
507
648
673
681
619
642
609
635
591
681
631
638
633
544
552
519
668
574
656
517
526
644
552
680
681
510
643
647
648
553
632
609
619
641
522
669
693
688
528
582
547
593
639
552
591
515
504
537
629
664
699
668
525
654
544
513
575
504
693
628
659
604
686
523
531
675
502
603
650
562
671
693
525
564
654
508
572
548
669
611
512
688
638
505
610
692
562
510
529
516
519
648
662
697
511
646
652
562
699
567
592
564
555
673
632
523
539
700
604
606
693
622
547
667
612
541
617
597
563
686
510
699
515
612
582
692
552
668
536
663
524
557
567
655
670
689
521
661
578
684
518
601
601
620
598
522
604
660
529
686
687
576
624
643
518
538
639
534
633
623
551
579
633
520
580
619
535
607
636
598
636
638
636
508
596
569
673
654
612
519
638
505
657
619
583
554
604
512
563
587
697
560
528
533
570
525
565
563
564
544
547
598
539
625
665
611
544
667
696
507
501
528
683
698
641
643
699
560
602
699
684
543
552
595
567
573
568
693
700
664
514
536
556
608
688
501
639
512
681
516
632
539
642
605
642
577
621
593
627
584
512
568
531
548
593
535
692
664
584
556
522
559
689
553
544
537
528
538
589
636
655
685
588
526
512
622
694
556
512
524
639
500
595
599
616
589
516
596
536
552
581
530
554
638
531
535
623
633
517
576
691
549
684
607
697
561
601
681
587
591
653
515
604
613
556
573
620
693
580
681
554
574
600
511
613
628
564
686
696
677
590
601
540
663
553
525
538
698
519
619
623
577
641
656
642
654
662
653
661
652
542
558
698
522
574
534
631
525
680
525
615
581
568
652
580
562
574
532
602
587
560
599
653
511
688
565
681
509
595
504
618
500
647
699
614
573
591
515
626
623
617
503
500
618
631
697
580
659
636
585
516
659
528
685
637
556
572
618
600
626
643
556
694
617
551
656
525
663
683
646
516
689
693
676
550
534
517
643
619
631
517
638
637
538
547
586
618
568
509
610
563
624
627
598
670
584
677
519
520
521
577
524
595
578
568
536
566
602
595
615
592
528
545
637
692
519
606
556
651
678
621
683
644
510
658
614
508
621
574
501
574
618
529
644
542
563
525
513
626
562
608
569
548
516
506
686
537
668
530
602
554
638
570
680
544
641
543
606
647
672
603
592
684
551
597
507
548
634
525
522
559
647
695
668
608
687
509
527
683
525
529
690
569
523
646
620
596
624
514
610
637
619
517
510
585
505
562
609
533
669
567
588
629
648
686
700
671
507
503
587
602
556
583
671
579
694
617
550
516
694
654
646
629
601
532
619
580
603
592
637
513
631
596
610
566
659
614
508
639
592
639
591
681
684
697
660
601
560
633
613
589
552
692
554
641
556
534
628
602
626
589
543
523
628
549
560
657
671
660
611
540
546
693
591
655
621
649
616
675
619
692
645
599
544
511
579
643
622
526
519
532
675
598
541
686
607
607
621
629
542
512
575
518
546
534
518
620
600
502
588
531
681
503
689
648
656
620
680
556
556
618
514
610
550
682
659
629
649
527
648
550
663
563
650
615
697
602
538
639
533
618
514
662
528
681
593
518
523
665
692
575
519
547
599
595
530
562
627
613
613
640
531
575
693
555
686
620
604
669
642
523
632
572
573
507
506
618
613
676
544
587
663
660
574
551
650
672
656
588
624
591
621
622
531
640
661
534
670
522
544
578
579
661
553
528
508
651
654
642
558
510
580
658
694
688
596
666
675
656
623
556
552
640
541
578
658
626
677
591
502
670
692
613
536
658
553
566
585
586
506
559
644
619
511
651
649
641
656
523
593
641
581
512
524
622
622
568
525
604
643
659
674
534
642
632
551
597
522
664
533
587
645
577
524
632
599
654
626
696
559
531
680
600
632
563
675
515
663
516
660
558
648
604
505
585
645
642
524
545
575
686
522
546
676
563
699
677
528
513
542
642
664
651
609
626
694
506
538
625
542
637
515
537
503
622
518
614
631
641
670
623
671
625
659
673
632
582
589
584
677
618
682
564
538
553
509
681
608
627
652
613
530
583
658
583
508
574
632
521
503
642
503
693
589
651
583
507
681
673
687
584
503
511
610
602
517
675
659
676
569
617
519
514
613
560
550
639
611
627
534
660
516
619
533
541
539
510
582
645
592
600
582
546
614
607
594
514
592
651
650
615
587
604
508
562
643
672
656
634
696
646
626
580
524
535
628
586
619
687
548
572
661
649
502
555
553
616
698
678
640
504
697
521
683
606
598
559
656
519
600
502
517
623
655
530
612
694
690
633
559
559
554
567
695
692
637
581
515
532
679
590
549
505
503
525
510
641
619
546
670
541
686
669
518
620
549
678
650
516
606
593
627
573
628
517
700
598
576
638
638
593
609
508
524
586
635
584
613
572
640
681
639
502
531
679
632
695
612
513
585
550
511
515
650
505
544
635
542
667
576
639
508
577
697
590
697
685
688
511
610
602
646
655
544
624
656
586
620
694
657
585
545
651
513
574
601
653
614
509
650
554
546
530
608
587
590
613
556
530
571
645
660
547
619
669
596
618
637
594
508
621
695
672
635
687
592
667
520
649
536
592
589
624
512
635
567
677
523
560
540
624
689
668
659
522
599
657
662
700
616
700
591
679
683
672
545
532
613
620
683
511
605
525
683
687
641
614
659
500
592
580
601
597
573
522
670
696
656
657
664
522
531
635
594
536
660
694
659
576
599
558
548
630
577
507
507
615
607
638
502
614
583
602
621
572
531
576
579
660
645
686
648
677
688
577
602
667
644
511
661
513
638
533
675
511
640
589
633
555
563
691
606
649
627
587
608
551
683
675
684
525
614
511
522
512
513
693
543
663
621
560
600
656
534
554
502
530
693
620
630
605
698
615
619
530
699
535
596
549
564
606
565
672
596
679
678
689
651
549
696
670
548
508
556
534
545
589
551
589
585
569
578
539
655
595
620
526
602
622
668
622
627
597
585
674
560
581
558
527
582
623
691
500
539
518
551
559
670
517
695
522
511
544
544
509
585
693
524
691
697
588
586
618
700
523
521
594
544
588
627
508
696
514
695
665
623
529
679
676
519
648
587
670
655
690
558
677
510
606
518
527
607
570
644
687
542
598
522
640
540
665
531
515
575
513
639
531
579
629
567
628
587
588
532
690
555
633
556
686
627
585
562
513
681
530
678
512
622
522
556
540
621
601
662
567
641
522
620
505
549
500
510
518
650
585
543
641
518
503
624
609
658
629
679
534
670
617
602
551
618
577
530
640
663
632
558
610
560
573
556
637
576
560
695
626
677
612
643
557
692
508
511
589
504
629
699
523
618
637
546
540
659
660
697
559
510
568
511
687
507
612
566
596
663
666
574
567
512
630
618
689
592
627
690
649
549
642
605
574
569
504
621
611
641
521
582
673
696
566
560
671
545
621
593
526
619
613
612
519
663
592
601
685
696
656
534
644
596
577
625
653
582
602
635
583
663
503
658
606
583
605
590
679
508
510
554
521
567
661
607
636
568
674
613
647
679
537
652
650
672
645
567
678
513
563
695
657
661
611
532
547
682
514
620
591
551
548
548
525
694
539
585
571
572
546
628
521
676
576
626
571
612
569
524
559
564
673
698
675
601
650
579
676
684
545
540
506
654
503
627
502
507
641
644
598
524
529
506
560
529
638
618
700
509
579
546
653
684
542
615
605
568
639
592
568
560
651
700
507
543
690
567
586
591
689
634
590
634
531
696
626
666
601
624
587
594
547
548
615
595
692
660
576
568
545
675
501
540
560
580
602
564
659
524
699
510
587
566
593
655
568
544
608
661
625
699
568
626
560
638
580
532
564
505
638
528
590
656
596
649
503
679
682
526
604
579
598
570
608
604
506
577
627
698
592
576
527
577
604
526
546
609
594
581
549
583
527
655
577
540
658
574
593
573
504
595
664
661
688
627
655
513
507
639
552
539
588
691
527
514
567
559
519
529
557
551
584
625
603
637
541
539
604
646
593
546
590
555
522
670
569
594
660
515
694
501
530
530
549
653
552
530
652
662
542
629
583
645
610
598
599
624
673
678
639
539
654
597
502
529
581
621
645
606
555
698
553
551
644
584
569
628
554
561
528
574
555
633
564
550
616
676
578
578
662
588
663
643
632
609
628
607
506
698
618
523
695
613
665
654
673
540
611
660
535
576
612
558
513
657
651
540
585
651
569
511
662
581
687
655
525
695
599
531
662
563
694
608
631
699
570
583
670
680
504
535
602
592
640
580
504
680
691
595
569
634
599
602
535
544
674
640
542
663
521
659
665
537
576
670
699
631
577
568
583
631
546
664
558
562
556
674
514
645
579
573
630
505
654
632
604
532
639
616
636
562
531
557
622
688
567
699
608
601
687
503
549
572
651
599
584
658
700
664
625
680
573
614
599
684
695
515
542
623
525
693
678
528
613
590
593
575
556
616
538
623
548
523
632
678
510
689
658
569
556
582
513
692
508
534
652
665
648
696
674
566
689
607
588
676
653
685
633
569
676
700
601
511
542
652
537
653
558
659
559
612
670
632
581
693
594
509
666
568
595
579
653
654
658
700
615
640
644
586
665
571
530
646
685
551
687
555
621
566
637
677
568
543
552
597
588
640
595
646
574
502
541
641
511
635
604
635
558
609
581
651
674
549
650
594
538
525
524
531
523
675
571
604
687
631
560
562
655
562
700
638
564
652
589
621
684
639
589
571
654
659
562
664
590
636
569
590
582
642
583
639
697
636
593
568
622
545
681
607
538
547
678
621
520
609
632
581
692
655
664
567
599
679
512
507
541
640
579
511
696
516
517
623
655
526
634
684
630
591
563
526
662
515
670
601
607
547
505
665
619
616
504
547
581
545
638
700
589
514
651
683
645
602
517
527
572
534
700
587
621
615
675
574
514
609
565
537
604
641
662
509
640
593
699
540
561
693
636
583
586
596
682
605
537
680
610
502
658
670
674
573
635
661
650
670
678
514
613
648
575
604
549
665
537
537
562
588
698
685
590
631
522
640
673
574
508
693
672
605
664
590
506
594
565
541
663
696
647
549
626
518
590
597
613
667
576
535
558
674
580
516
522
511
541
692
568
558
634
692
625
632
533
543
679
558
613
609
690
649
639
634
611
689
531
603
555
609
613
565
553
568
506
589
528
561
689
541
582
619
591
574
613
507
632
692
544
599
590
700
545
529
699
677
597
633
657
599
615
578
666
507
523
600
564
599
672
570
534
567
583
544
526
686
599
551
509
526
555
582
541
668
669
543
538
543
586
526
543
575
552
531
566
672
585
689
511
554
505
631
532
619
619
667
578
610
688
647
500
686
520
590
576
600
519
532
676
645
504
502
584
582
662
693
627
559
695
658
657
612
668
535
695
532
700
552
664
582
585
542
607
610
533
599
619
517
581
672
652
502
676
594
572
676
686
686
686
557
665
552
688
579
685
501
612
584
668
568
508
530
671
653
670
585
543
521
563
653
525
603
553
634
644
673
539
553
501
642
563
612
690
595
655
550
658
540
583
685
580
624
699
591
511
648
518
540
543
650
545
675
679
670
611
621
620
560
672
670
664
587
559
681
556
646
700
547
663
552
589
555
575
593
626
510
687
580
509
682
651
664
530
533
654
699
506
538
627
650
538
610
624
661
648
570
648
641
539
700
578
663
633
642
550
502
647
563
556
660
649
520
654
539
554
649
683
684
600
527
615
542
648
683
551
560
619
548
643
592
595
577
519
640
618
671
680
561
546
612
640
621
700
589
553
669
638
627
613
659
617
570
534
594
612
674
526
667
522
544
554
676
524
562
610
503
547
532
634
547
559
523
533
668
570
668
619
684
508
611
508
579
509
507
622
685
589
616
541
552
647
672
556
508
505
676
511
563
557
615
700
689
689
587
652
534
543
577
690
544
682
672
511
590
527
623
693
684
537
630
627
557
664
689
620
531
513
693
581
547
671
556
648
556
552
644
591
663
535
595
592
620
565
622
656
504
505
699
699
501
648
569
626
661
545
682
566
680
659
660
544
556
640
603
542
643
608
546
623
539
640
536
596
547
510
523
599
616
618
501
597
682
631
589
601
514
606
642
635
594
616
654
693
571
658
644
564
657
561
599
570
565
507
550
647
674
696
624
603
522
605
645
632
677
694
578
537
569
565
556
629
544
656
592
648
625
556
634
566
607
656
530
646
519
666
644
633
529
602
627
628
688
546
511
666
672
506
502
677
573
581
595
567
569
633
631
551
577
521
599
587
548
693
625
533
661
555
613
669
540
522
549
678
605
677
674
693
582
523
567
551
650
506
617
660
594
510
673
668
662
501
695
662
667
537
607
634
533
577
649
681
607
561
554
566
609
539
511
689
507
639
594
541
658
668
562
695
512
652
656
618
679
527
681
680
626
599
534
545
643
549
660
600
636
618
633
524
636
536
528
547
554
638
510
546
676
568
527
603
685
647
602
519
613
579
546
693
502
698
523
666
599
567
664
699
583
618
501
583
626
611
677
652
568
699
606
664
621
655
514
679
520
653
699
664
652
512
515
518
543
613
609
524
576
683
592
602
598
514
548
596
682
524
663
584
684
627
656
587
595
572
565
526
557
569
643
650
666
629
650
599
694
658
671
539
686
536
523
535
687
698
500
540
618
530
628
568
581
546
503
623
605
517
528
617
637
580
516
648
503
561
566
551
558
693
695
653
620
650
522
636
612
574
641
503
666
527
651
652
518
671
566
559
572
592
871
825
933
815
973
941
852
821
966
938
815
862
940
910
879
856
915
927
950
842
850
967
965
873
873
959
885
845
810
909
952
946
849
821
823
922
894
996
895
907
867
831
982
959
950
857
833
825
987
889
932
945
927
871
876
857
960
982
952
916
870
937
900
873
969
822
985
982
800
851
916
845
800
882
814
874
918
864
985
964
878
805
940
914
843
878
821
806
827
891
931
814
931
971
831
999
829
973
914
959
997
937
925
921
988
882
880
913
909
952
965
853
975
963
986
839
993
936
999
873
993
899
827
957
966
895
921
978
967
864
865
910
857
926
803
945
972
817
920
951
833
832
891
966
889
840
903
1000
900
868
916
928
894
909
843
961
977
860
914
845
859
826
980
837
821
884
913
957
961
824
880
800
996
900
831
809
811
949
962
985
910
876
938
964
883
885
818
841
805
960
904
849
870
920
871
845
885
991
839
921
870
886
960
871
960
891
807
810
899
859
863
833
996
911
890
967
863
853
819
961
910
889
870
862
985
859
916
941
984
855
955
944
819
994
908
991
907
907
815
991
926
862
886
915
918
918
833
820
953
901
912
809
953
833
800
961
991
951
983
937
928
964
972
800
968
995
927
972
900
807
805
840
985
800
858
936
903
955
952
822
850
959
897
984
958
879
821
911
852
803
822
939
979
910
964
924
908
953
988
988
946
870
875
883
948
901
921
840
956
933
910
939
865
970
867
993
825
914
914
856
967
906
902
842
872
917
970
800
951
850
945
943
816
860
861
878
932
922
834
837
864
988
822
870
905
853
828
873
819
944
889
810
932
977
992
963
832
837
824
894
815
902
963
906
860
979
804
930
913
893
862
815
929
803
889
851
833
901
846
873
910
803
901
859
836
883
801
827
844
894
926
853
860
804
946
982
877
964
964
919
800
932
953
885
924
835
849
972
976
815
905
944
889
831
910
916
904
827
819
896
805
957
861
914
923
906
876
803
887
921
897
854
969
800
900
918
802
982
800
821
900
833
945
809
990
835
944
836
929
904
894
993
886
896
987
837
896
806
858
855
905
861
944
887
985
880
852
951
868
849
979
907
846
895
855
985
833
832
856
978
949
832
876
824
822
936
960
823
865
929
970
926
965
910
926
850
952
994
843
844
849
975
815
803
976
989
999
927
879
965
931
880
917
948
952
952
922
876
824
883
933
973
966
881
847
981
902
809
847
952
830
856
884
928
843
811
876
951
847
831
995
952
831
990
960
873
935
902
948
915
957
872
953
884
844
820
958
866
833
834
875
981
852
914
862
936
989
964
935
835
993
914
984
815
801
997
832
852
950
932
960
897
844
885
851
917
965
815
807
997
859
844
963
837
986
908
878
882
908
828
862
994
964
942
841
987
913
821
913
909
922
981
992
899
947
864
957
899
876
908
842
965
833
806
826
904
837
983
932
871
863
915
888
816
833
939
805
844
852
913
892
821
916
928
987
804
833
919
823
998
948
911
882
964
967
876
822
959
973
895
955
928
937
877
806
947
922
849
892
874
819
949
953
870
972
841
962
908
944
911
856
937
808
812
902
848
882
877
827
946
875
876
827
906
839
965
948
993
838
822
925
869
807
993
840
950
995
823
887
959
886
889
976
869
942
828
922
804
827
876
849
906
814
804
866
882
911
978
896
969
977
859
949
896
938
904
883
862
995
853
990
941
855
904
898
939
840
863
945
896
851
855
913
855
823
985
957
965
904
918
976
892
939
975
989
853
846
812
896
810
972
927
973
933
836
868
847
955
861
868
896
964
931
918
986
888
990
840
911
927
969
890
900
939
974
975
991
848
957
884
883
986
862
937
863
806
878
992
924
915
993
955
919
860
822
851
866
971
811
910
918
916
920
954
826
927
986
1000
860
810
804
859
825
900
867
862
971
815
905
967
823
974
923
858
819
977
852
813
877
851
966
961
911
981
903
922
977
848
964
977
832
875
917
928
872
811
902
938
926
960
895
925
949
969
924
813
806
915
839
838
864
974
888
994
885
925
989
960
865
823
979
902
886
911
924
979
962
800
879
983
978
941
903
851
976
990
926
962
849
896
857
956
888
800
911
930
835
986
823
838
992
914
891
917
895
809
930
943
996
928
904
918
881
904
992
962
863
860
817
837
866
964
975
830
844
942
929
936
987
875
910
824
992
908
1000
970
871
968
976
947
949
905
957
987
877
913
960
938
916
909
936
885
887
882
832
975
860
840
805
824
999
859
881
840
901
852
980
824
839
986
999
915
924
840
891
960
871
959
933
834
843
901
877
943
846
965
958
819
926
970
915
897
911
945
967
999
829
815
817
852
866
963
941
993
946
900
969
852
964
857
999
936
913
810
847
817
847
910
962
861
849
928
924
811
966
903
800
858
896
905
843
974
808
850
804
908
907
991
801
973
857
984
953
833
919
803
937
822
859
863
816
875
848
802
912
846
867
952
816
965
877
901
897
972
871
856
804
849
888
965
996
832
836
980
940
912
822
865
839
961
936
984
879
996
966
884
877
983
871
976
835
850
860
947
953
970
938
905
964
944
995
887
935
982
966
818
807
998
866
936
882
916
967
990
831
862
970
934
925
984
861
907
946
823
918
867
872
976
852
948
963
948
863
933
830
965
803
831
802
866
924
888
809
941
945
913
826
943
831
871
862
951
951
834
923
820
986
985
917
988
928
840
883
833
876
896
806
904
950
887
835
920
901
809
981
849
926
821
899
862
929
805
903
966
980
985
889
890
802
859
988
819
862
850
943
941
907
968
993
891
945
848
829
916
832
839
862
968
801
959
926
913
844
933
987
916
882
979
814
845
912
836
927
933
821
949
990
928
972
844
869
964
961
914
891
919
887
853
987
978
906
904
962
816
870
935
966
903
997
903
858
899
880
863
944
849
884
979
981
831
953
942
854
991
891
846
868
899
807
997
861
869
894
936
966
876
815
893
893
935
998
916
956
912
864
911
858
907
955
945
918
978
840
840
849
994
882
994
979
915
913
823
841
996
955
834
853
973
978
846
888
909
979
914
936
979
904
973
962
856
831
850
972
859
843
991
879
974
916
927
970
832
836
882
845
877
842
825
947
849
955
823
800
910
946
833
890
975
863
908
947
843
808
841
810
853
906
950
885
821
877
938
957
978
925
809
848
812
992
812
844
850
826
914
899
871
965
861
827
937
993
970
807
936
863
949
821
910
962
974
870
942
936
849
941
987
824
862
907
835
849
807
992
939
830
866
911
936
827
833
868
916
844
875
910
945
836
848
981
985
885
991
939
803
848
927
802
929
976
964
811
933
950
897
814
969
847
921
939
983
804
945
982
853
957
910
879
866
907
953
868
932
973
841
891
959
880
815
823
977
999
844
829
858
997
803
967
946
989
874
925
912
938
937
970
928
840
829
900
895
893
830
835
956
837
836
866
830
856
971
989
810
934
885
822
805
891
882
829
882
995
979
888
931
954
907
823
890
987
932
904
893
804
815
863
862
870
931
884
931
917
965
918
807
975
806
995
970
868
823
821
941
879
814
972
864
923
941
895
849
875
994
902
828
978
974
970
817
972
931
995
939
860
889
822
868
957
920
827
934
828
929
879
882
938
910
849
853
891
818
889
812
905
917
957
932
957
924
916
969
896
854
864
957
842
981
990
986
937
818
893
833
828
992
879
891
853
828
800
884
899
843
810
868
922
991
856
958
848
967
860
859
969
923
925
988
959
899
949
941
927
876
946
896
963
863
937
812
910
948
844
957
839
990
939
924
825
869
876
928
941
808
850
908
967
917
918
831
936
866
867
848
925
943
805
964
811
916
800
961
964
863
935
978
933
982
959
890
919
905
839
919
986
950
880
893
814
854
835
851
953
920
965
821
896
895
805
832
827
939
819
993
866
935
877
997
857
985
817
964
986
858
810
936
889
969
873
938
860
885
868
918
825
873
819
995
896
936
992
836
932
836
906
960
889
953
891
920
988
829
885
913
859
803
954
931
829
867
980
804
947
864
900
867
917
986
842
917
851
843
885
990
856
956
972
910
864
900
856
816
938
902
841
961
979
968
910
956
873
811
908
947
824
978
900
832
865
899
836
890
883
971
993
972
945
823
810
975
861
930
953
940
925
960
873
866
927
867
839
961
973
937
815
861
911
960
974
851
883
974
876
990
831
804
880
881
1000
900
952
814
944
892
930
908
869
920
938
808
907
967
994
980
910
850
936
899
985
959
900
836
927
998
977
875
878
863
999
871
883
1000
967
840
957
829
870
895
977
919
994
867
959
893
839
906
871
836
959
985
984
841
986
877
838
842
827
940
917
954
868
861
917
884
838
941
984
917
935
874
910
898
998
951
899
879
821
959
821
871
955
986
929
851
904
999
802
997
821
841
974
822
871
925
943
813
883
993
803
922
807
879
829
911
865
833
813
899
878
941
809
842
951
889
909
848
848
811
884
938
843
819
925
869
896
957
920
917
845
876
806
957
807
912
982
899
999
924
926
885
834
929
867
909
947
991
891
961
868
912
871
885
802
814
865
847
992
871
892
933
837
870
802
902
813
927
911
900
879
909
853
997
859
819
891
990
837
825
989
811
876
920
906
901
982
848
871
929
926
917
987
865
851
803
806
828
903
903
862
816
830
817
900
863
949
845
876
980
815
873
806
859
887
928
973
956
878
813
868
806
955
934
937
950
868
888
902
834
950
893
852
870
987
859
989
977
919
999
925
892
947
845
995
919
818
979
813
902
903
840
842
859
995
821
934
948
991
953
836
976
938
969
950
817
940
995
819
863
976
883
856
836
869
856
977
936
837
904
806
914
932
951
949
859
944
954
851
894
818
968
946
973
934
985
804
948
893
918
933
804
996
815
842
820
850
871
839
1000
855
800
880
877
817
902
928
841
882
901
904
877
954
812
805
857
881
889
892
999
835
877
884
833
988
803
801
882
838
934
897
906
978
959
977
851
884
965
860
956
949
950
971
865
996
985
974
987
891
860
868
943
977
857
978
981
809
883
809
902
866
882
961
861
902
928
908
931
805
837
925
842
851
977
961
823
910
805
893
860
869
982
921
904
956
995
869
956
864
825
822
843
839
985
994
884
912
843
912
876
957
954
904
839
813
829
942
871
897
868
945
847
925
994
993
892
805
862
968
911
857
899
815
873
891
864
964
947
982
881
948
849
993
814
841
902
941
852
805
883
929
979
969
966
827
842
950
857
896
885
965
904
934
964
834
859
808
851
982
820
917
876
843
812
861
925
840
969
985
820
898
882
989
833
917
879
892
945
874
826
828
820
853
942
818
961
814
1000
935
817
836
952
859
974
933
881
986
996
922
930
973
825
944
868
825
804
936
936
956
904
943
901
958
974
829
859
841
882
909
931
943
986
973
1000
880
937
844
852
889
857
819
945
830
960
930
899
859
801
935
978
896
997
985
991
871
928
889
905
970
898
987
860
923
830
863
953
832
840
827
974
929
885
833
817
877
811
929
800
963
842
974
953
978
800
933
804
895
855
948
885
819
903
989
887
909
948
860
952
999
823
985
937
927
879
823
809
913
950
937
981
827
801
992
881
996
905
843
931
850
850
910
930
973
920
806
839
959
967
963
800
941
874
835
976
917
926
861
867
875
876
904
923
918
918
853
983
1000
1000
964
879
841
838
861
819
828
933
913
908
916
827
953
925
848
875
893
929
974
948
819
894
936
818
823
833
861
978
842
911
965
908
917
997
996
854
811
915
861
918
974
986
997
860
937
874
989
881
920
804
821
980
871
976
824
832
966
820
861
959
963
943
986
993
888
862
982
956
955
876
955
853
956
864
990
820
829
870
955
856
942
916
922
854
826
999
889
953
871
919
966
803
841
876
876
902
873
898
984
844
991
859
900
885
915
829
885
828
823
896
870
943
944
920
932
898
930
834
880
902
838
807
897
845
941
885
840
950
831
856
1000
934
905
964
920
966
882
916
973
820
854
890
834
946
880
818
805
988
945
811
973
890
819
968
832
970
924
933
842
976
951
982
844
866
859
811
903
849
834
965
961
893
817
816
974
841
859
967
906
971
944
995
966
835
809
826
814
978
976
839
808
890
966
888
932
980
1000
912
863
810
856
930
826
973
804
802
946
852
841
955
811
1000
945
862
866
817
901
907
944
878
973
862
971
858
991
970
963
824
861
977
914
818
989
947
868
966
861
900
984
953
922
976
836
877
850
939
954
949
825
902
809
997
971
924
888
859
899
873
885
927
906
908
970
837
871
998
956
842
960
859
903
933
860
982
843
905
876
821
925
839
907
904
901
847
982
811
977
834
877
954
912
856
800
891
951
831
918
842
829
948
936
883
950
846
912
826
874
810
937
919
819
819
808
969
957
827
817
814
849
971
971
846
867
990
967
808
926
994
989
984
988
895
952
936
801
821
897
987
811
919
878
874
930
958
843
922
852
983
933
841
920
963
950
912
832
823
991
857
857
982
993
807
985
939
968
841
822
948
968
979
920
852
905
908
992
995
923
956
907
978
928
975
973
915
972
908
977
990
995
945
829
978
939
916
964
881
986
928
858
880
878
948
821
826
963
997
955
911
920
979
999
908
847
945
939
867
967
829
834
866
811
884
829
951
869
864
994
909
906
967
896
970
833
808
930
820
811
963
982
866
969
983
885
850
992
805
844
973
862
824
914
989
989
809
915
949
987
907
999
801
810
860
859
906
904
903
991
903
855
955
941
826
886
832
844
812
983
970
959
932
938
935
910
916
827
953
938
843
813
995
995
887
900
863
817
997
868
911
823
973
863
843
962
903
923
868
961
922
880
949
921
946
813
951
892
883
859
890
991
952
803
874
852
862
863
915
829
849
912
934
964
905
897
852
892
990
838
923
929
808
806
807
810
964
920
852
902
873
866
838
825
906
979
899
985
805
899
999
905
891
967
968
814
873
979
856
966
850
855
858
821
981
875
861
901
901
956
807
821
814
968
878
838
959
965
882
956
912
870
912
852
948
851
913
846
916
964
861
822
818
837
918
803
997
824
949
855
915
972
860
948
900
820
987
866
985
958
917
856
813
910
820
932
804
897
970
901
928
810
804
842
987
1000
902
970
925
905
944
907
977
893
974
951
939
826
981
923
914
992
989
810
980
811
861
963
924
981
812
800
808
894
941
874
908
988
891
933
952
874
942
880
821
872
966
873
819
851
922
977
814
884
805
844
948
969
940
921
955
894
911
913
873
928
994
985
898
842
859
824
830
943
938
940
893
926
995
872
862
859
847
973
952
874
864
990
831
849
922
998
991
865
823
857
973
927
839
998
932
880
989
854
919
880
925
848
952
803
893
904
933
854
846
802
908
805
938
893
918
974
919
951
817
870
939
934
833
971
812
909
860
865
804
883
874
870
834
884
990
841
948
890
990
833
966
861
818
992
858
863
935
968
874
858
821
895
890
982
998
964
946
836
806
994
829
899
968
873
957
821
812
944
930
841
847
1000
968
807
917
820
957
980
806
880
931
926
976
888
918
819
940
852
870
950
939
965
900
807
872
897
842
933
915
808
973
900
826
842
910
959
960
954
849
827
988
972
808
938
837
863
904
859
876
927
912
985
974
919
803
979
861
867
930
886
932
973
842
998
913
919
880
835
897
964
894
903
827
813
968
964
833
994
857
946
960
887
843
926
848
917
831
858
832
805
921
975
831
948
916
930
806
909
957
845
824
904
984
846
963
859
871
911
897
906
917
939
913
993
880
948
988
831
943
831
994
959
872
894
936
940
896
845
830
917
965
820
890
824
906
984
999
934
832
832
997
864
905
954
892
824
989
904
973
821
806
902
920
892
978
941
932
1000
985
900
824
949
816
985
973
879
998
810
960
891
925
830
962
857
957
896
849
832
981
876
819
886
946
980
829
925
981
818
904
951
943
979
860
989
995
927
971
810
812
977
930
827
869
913
957
817
993
968
870
996
971
937
800
943
812
826
977
984
872
913
819
966
964
985
880
946
969
961
957
841
887
960
971
935
825
948
956
910
915
800
803
966
881
902
925
926
970
959
862
897
861
821
976
804
822
987
957
803
858
986
899
835
961
999
969
845
976
819
999
884
805
922
931
925
997
960
871
826
993
819
965
860
940
851
802
908
849
846
889
890
971
980
951
915
850
908
912
867
803
833
912
902
840
948
967
877
815
890
919
893
988
945
887
939
974
982
929
903
872
891
903
999
946
802
944
958
835
811
809
816
815
977
960
839
858
899
998
852
865
999
888
970
977
958
870
993
973
929
1000
861
887
927
902
931
969
927
911
836
835
843
866
837
914
969
856
948
846
908
965
997
904
906
821
910
899
905
980
940
901
837
962
921
1000
842
864
937
992
928
810
894
951
977
819
969
902
821
808
853
983
884
920
869
883
943
936
960
830
965
806
991
813
875
901
959
883
953
891
985
826
1000
879
970
803
979
831
996
999
846
922
900
886
831
886
936
855
946
806
825
864
808
841
921
875
991
842
832
973
885
906
923
938
986
835
840
836
819
975
959
986
807
936
948
933
925
984
862
836
926
970
918
817
924
954
815
816
892
855
917
967
803
998
969
918
936
864
834
857
878
944
833
909
984
820
858
882
875
915
951
967
922
919
967
993
897
859
853
965
824
923
962
865
979
919
892
803
968
996
899
899
949
902
873
914
923
804
924
901
865
972
931
978
877
859
968
969
806
835
855
915
925
962
992
922
941
984
881
978
819
876
842
875
935
852
983
889
1000
968
851
822
826
834
849
898
916
805
854
945
920
922
885
875
828
910
983
922
934
808
848
868
941
874
879
943
850
996
936
991
876
963
936
888
928
805
953
978
826
848
950
918
864
977
908
904
847
917
932
883
900
810
910
820
940
829
851
916
862
914
987
876
954
891
928
822
857
935
925
998
949
903
988
803
833
856
841
866
848
800
994
829
914
850
824
922
962
993
803
894
884
888
825
966
939
975
848
950
820
827
923
890
827
829
917
952
832
965
833
888
911
845
965
987
849
972
889
961
918
852
827
979
808
945
871
864
995
875
855
841
829
990
901
851
955
941
881
899
855
868
973
926
983
834
893
954
844
953
801
871
860
806
825
856
950
835
863
917
855
855
840
847
851
863
850
868
891
875
824
816
896
977
817
835
906
866
874
992
802
836
980
915
943
966
874
879
918
990
938
819
828
992
992
869
963
844
925
931
971
961
973
1000
945
951
977
808
853
800
877
841
937
935
991
811
935
961
868
806
958
914
907
811
860
926
880
861
852
890
969
860
833
890
946
843
919
917
841
851
830
845
957
858
801
859
953
622
518
516
690
516
548
516
576
540
526
510
672
574
613
595
673
694
591
590
569
631
607
578
539
685
515
545
678
524
568
578
563
554
657
513
573
624
682
561
572
663
627
555
618
669
562
610
608
533
562
545
632
584
667
671
659
683
544
531
641
611
602
647
524
590
688
560
588
656
668
679
525
687
680
691
546
567
691
584
549
590
591
530
580
562
528
622
626
645
556
618
562
665
627
680
515
679
688
565
561
663
501
547
652
692
693
623
530
616
559
685
654
504
596
514
596
545
652
506
694
653
542
667
595
520
618
527
524
590
642
598
620
520
649
666
633
543
621
671
547
695
630
533
519
528
602
603
542
567
540
578
684
651
558
670
547
645
605
666
540
539
632
615
603
656
529
687
581
550
645
571
601
540
691
638
621
580
637
617
679
649
664
642
611
537
613
564
593
660
600
510
546
504
566
642
678
593
510
529
658
673
509
665
616
677
677
502
530
617
562
531
596
576
512
662
579
585
531
519
583
562
543
586
505
534
504
628
559
674
554
549
622
588
692
586
635
695
563
602
550
607
624
606
620
505
603
644
663
661
667
615
605
636
533
507
676
556
654
508
534
593
518
533
592
597
630
691
629
586
517
540
640
507
589
576
567
606
574
558
576
623
678
693
634
605
517
522
671
629
682
637
692
566
616
507
633
687
641
539
669
532
510
672
548
556
600
641
693
685
576
682
619
561
659
655
593
672
522
670
501
525
547
574
699
663
579
517
556
640
585
610
655
593
645
560
593
560
617
659
577
605
550
524
604
576
582
684
548
554
695
589
623
582
531
602
695
562
526
614
699
648
681
683
608
555
640
593
649
648
578
630
653
671
610
534
672
539
602
647
665
509
675
554
541
568
509
536
524
532
593
525
509
572
657
532
525
574
632
689
572
623
550
506
527
519
554
637
531
700
509
541
546
646
644
605
693
570
556
677
589
531
603
679
522
606
665
661
583
580
635
506
692
679
535
572
696
524
581
696
539
618
502
612
591
630
644
651
531
604
647
642
537
632
518
648
627
584
523
530
519
680
665
506
593
617
582
608
692
556
594
563
655
553
615
511
672
539
669
526
574
634
599
596
528
612
518
619
632
648
618
582
558
515
623
505
556
623
549
674
582
611
650
501
636
667
697
584
538
536
691
569
630
520
696
674
575
627
506
519
681
503
595
666
558
573
696
578
536
647
569
679
511
528
546
542
553
635
617
643
700
511
593
642
609
684
613
570
569
645
508
668
547
691
698
600
664
500
510
616
662
642
617
517
571
697
563
567
555
584
558
520
561
691
552
688
584
582
521
554
686
612
536
689
642
689
507
585
618
672
556
624
516
659
576
592
524
643
634
678
598
621
587
657
511
602
615
675
582
618
544
589
505
630
599
543
504
634
620
663
635
659
672
527
583
600
570
653
667
599
519
585
569
649
517
575
604
521
529
520
509
554
535
562
539
668
625
539
640
629
531
568
641
656
579
563
533
573
577
520
682
666
572
692
583
622
597
678
534
622
523
661
682
503
674
647
606
582
638
686
554
560
654
675
562
558
605
538
521
507
565
639
681
650
643
689
577
682
639
641
522
594
582
693
673
640
617
503
609
526
590
688
534
658
594
545
632
692
635
567
675
572
519
592
596
644
528
545
561
696
676
628
586
531
675
522
572
520
525
673
678
562
545
697
614
561
667
513
556
545
654
572
643
658
627
562
602
581
571
672
583
513
512
546
515
534
634
525
656
685
550
604
553
561
529
530
652
580
661
677
592
612
632
526
536
554
607
553
543
639
538
666
646
582
641
682
641
575
630
617
576
567
635
577
685
663
571
658
534
665
645
669
628
578
584
595
529
645
658
604
536
609
609
583
527
677
513
668
561
530
548
690
661
682
579
661
571
521
515
559
588
661
579
591
586
614
531
528
602
598
537
606
630
623
541
594
625
691
527
686
549
681
513
596
624
626
679
660
675
658
573
692
579
633
512
534
524
631
681
553
693
628
513
629
646
641
592
568
680
596
664
655
679
577
562
669
696
652
565
606
562
547
646
689
611
522
589
642
658
517
566
654
640
693
605
693
670
543
573
636
689
555
541
693
577
620
573
670
559
500
522
529
629
568
694
655
667
619
581
573
633
659
600
520
542
620
534
536
519
541
608
584
698
608
668
672
695
554
580
584
610
625
664
581
502
633
564
550
541
566
594
617
617
581
684
574
551
572
520
504
626
539
623
532
569
606
668
600
555
533
508
543
616
603
573
685
568
633
669
676
626
637
692
687
596
625
539
558
682
682
693
615
535
510
590
577
546
679
600
591
571
699
533
584
652
647
565
532
535
511
582
688
634
591
541
525
684
544
541
519
601
627
685
599
617
529
656
539
686
691
598
610
539
517
563
657
595
512
602
565
570
502
628
518
564
545
585
697
638
639
619
589
651
582
604
623
603
673
618
614
683
637
511
511
650
650
501
545
579
688
590
504
519
598
682
627
526
636
672
681
545
664
568
561
536
661
583
578
679
661
642
672
669
573
562
598
684
619
625
699
618
644
573
553
551
534
574
503
641
689
576
648
655
509
574
629
544
621
550
566
557
585
526
631
551
580
549
678
609
556
647
632
640
664
657
609
591
598
507
502
503
681
573
656
582
628
694
551
539
624
638
683
598
615
552
659
677
582
629
590
530
654
543
621
634
528
587
547
564
658
666
637
670
560
645
662
667
510
609
640
531
607
509
656
670
648
536
652
687
628
584
574
629
542
563
578
664
531
603
553
594
622
643
544
515
559
603
503
646
575
579
524
628
551
521
643
600
634
667
608
641
634
619
514
656
674
554
622
590
607
541
544
602
552
667
613
662
616
535
662
631
653
619
585
698
514
506
664
620
639
593
507
690
698
552
672
572
685
628
571
512
630
524
574
613
624
636
687
568
536
623
679
657
628
622
515
578
565
640
652
502
650
696
544
664
659
626
649
684
657
624
540
516
584
695
535
617
631
554
620
501
564
525
607
522
531
668
604
591
582
525
696
583
599
614
672
508
691
513
689
579
612
579
554
546
548
577
543
678
538
536
524
668
697
541
579
565
538
565
592
601
642
519
589
686
689
555
543
636
691
602
698
609
555
596
514
524
601
500
663
505
540
646
659
672
653
644
690
671
520
683
500
636
691
523
628
675
539
554
615
680
691
665
518
620
603
599
589
654
547
688
528
624
544
660
600
686
542
524
654
668
546
520
691
693
689
560
617
616
577
621
545
559
525
561
566
582
607
511
650
664
611
502
592
550
680
528
630
698
532
623
591
662
642
610
585
609
696
623
560
561
505
684
561
694
671
574
516
566
661
658
533
538
549
578
574
569
628
694
585
626
564
615
565
545
699
559
674
631
682
606
533
640
563
628
516
637
585
534
508
613
660
686
602
644
578
588
591
576
621
662
679
650
675
587
560
606
641
581
636
575
623
657
620
683
658
523
666
606
521
570
700
615
536
674
577
526
533
557
586
603
517
634
637
566
610
664
565
506
637
609
543
502
574
617
690
589
502
646
684
677
599
548
583
678
655
696
521
672
528
561
531
573
697
638
654
662
551
677
641
662
525
597
576
687
629
576
690
538
511
597
650
628
635
648
660
591
676
583
645
528
503
667
638
585
678
673
613
605
678
580
642
695
587
665
625
682
657
616
520
694
557
557
576
502
544
609
571
594
581
685
510
694
521
517
589
524
605
652
628
611
587
569
625
528
520
517
656
598
571
523
540
586
588
596
501
565
650
533
688
592
523
678
659
668
607
647
580
609
566
555
649
571
515
585
616
663
573
667
555
521
587
588
636
511
603
657
531
681
500
700
508
661
581
578
540
509
681
597
522
604
517
538
532
659
658
673
506
543
627
671
597
589
544
568
584
546
687
503
688
581
615
673
562
663
540
599
563
674
578
510
670
529
700
594
594
697
636
684
511
603
584
634
636
611
681
597
627
521
654
550
611
612
568
645
627
501
630
509
589
641
634
582
598
531
506
520
503
605
619
573
557
504
556
669
511
501
521
653
683
580
607
635
523
613
512
562
647
526
535
594
613
632
682
579
559
698
642
699
572
605
642
599
581
648
660
516
600
697
512
566
629
578
695
687
686
528
543
631
515
683
616
509
630
615
574
522
541
691
584
569
688
608
631
555
509
589
513
639
565
692
571
601
619
624
644
537
668
555
592
663
658
519
653
692
629
650
679
638
597
565
540
619
536
507
666
667
649
619
685
555
596
509
685
616
558
672
531
578
522
612
566
697
634
632
695
663
642
515
576
514
640
665
652
675
619
559
508
669
655
549
652
616
618
539
622
544
635
584
589
654
665
657
670
512
684
558
586
534
554
637
650
592
693
645
641
648
556
664
618
542
612
511
649
557
672
610
599
669
648
613
646
502
647
618
620
523
546
526
548
669
528
688
574
595
618
577
614
586
546
581
577
581
548
613
588
550
621
626
650
552
583
698
599
698
508
626
539
557
626
646
687
574
635
642
685
700
644
686
700
687
600
557
606
523
605
514
513
633
633
546
504
616
555
524
575
560
605
613
600
659
669
695
506
671
549
610
609
548
669
602
700
604
684
677
542
617
639
547
628
627
626
570
624
580
582
508
622
644
518
603
592
645
548
661
600
682
607
610
626
599
672
564
669
678
691
628
505
684
583
565
501
646
607
619
643
694
630
638
590
588
647
530
593
578
515
524
690
646
566
583
633
623
595
630
658
546
517
598
674
580
645
687
657
539
509
576
617
682
644
544
539
579
574
592
558
530
539
544
555
667
545
594
590
673
529
532
640
693
520
675
651
563
556
607
687
622
626
566
621
677
541
570
646
548
569
580
669
628
528
688
502
611
700
521
578
618
625
602
549
667
577
628
646
630
559
671
540
691
503
600
622
577
656
625
621
615
666
654
599
639
537
509
522
513
682
584
633
646
559
530
501
589
678
509
688
632
699
654
655
629
615
655
532
680
574
643
691
520
622
528
585
675
553
680
696
580
695
513
537
672
524
653
518
591
621
519
653
514
652
700
541
646
551
520
694
692
685
513
637
613
555
517
671
500
519
607
678
529
574
600
544
522
523
565
655
576
588
590
685
510
609
530
525
559
545
535
500
522
678
629
689
609
672
584
652
610
534
563
541
549
661
696
557
573
535
669
510
568
678
600
570
579
595
699
543
550
608
680
590
700
535
694
690
523
602
548
597
692
546
605
637
696
603
540
643
516
692
696
601
692
563
596
661
547
692
517
683
529
502
565
682
511
590
504
655
663
590
501
515
530
568
687
568
585
558
637
696
676
619
608
514
627
511
542
545
629
699
641
692
559
623
631
682
534
621
550
556
589
596
579
504
538
634
584
542
597
564
502
640
556
543
535
629
699
572
684
675
519
598
657
573
595
517
635
681
628
612
617
552
606
538
693
695
622
629
652
565
673
611
630
535
585
514
530
613
599
586
689
585
654
605
591
649
684
617
550
574
563
552
523
588
504
510
660
671
635
619
590
576
653
587
506
514
644
683
514
579
634
511
596
673
691
575
674
513
675
653
563
675
530
602
561
549
586
530
656
591
507
692
603
683
586
623
556
523
696
657
542
692
558
556
698
618
569
698
559
653
544
634
615
643
668
638
511
579
596
665
509
585
673
552
606
620
562
559
538
650
634
510
504
606
680
600
681
658
579
638
512
608
683
662
505
510
575
681
521
598
581
544
514
651
508
632
528
566
515
562
657
505
602
665
503
571
613
556
646
513
516
678
658
699
639
501
587
678
545
540
700
645
558
644
592
522
635
648
675
640
664
665
600
685
618
672
660
614
690
630
635
661
642
694
630
690
633
549
518
700
639
648
678
562
664
557
567
596
670
529
667
690
604
605
665
688
519
680
699
688
672
513
695
561
529
642
690
677
626
650
614
594
616
554
590
560
503
639
595
626
699
644
501
627
656
686
578
520
677
597
514
549
681
681
544
682
671
631
553
657
651
607
595
641
514
612
517
619
640
688
602
517
695
639
537
650
652
690
552
502
661
681
615
550
613
518
623
522
662
687
577
572
615
553
644
604
543
637
602
519
680
596
575
557
655
681
601
604
582
662
673
654
591
678
697
609
638
548
601
540
500
526
504
587
696
552
606
592
511
633
519
617
592
698
572
679
542
617
619
687
533
593
539
541
531
598
642
699
570
555
666
579
671
510
673
686
623
520
697
597
674
613
632
644
591
575
669
560
586
683
670
692
680
674
531
657
619
582
556
659
631
685
622
691
577
508
681
657
648
629
554
614
521
577
591
549
635
515
537
579
593
573
659
648
572
504
619
697
690
500
523
530
532
554
519
613
524
641
617
602
544
512
552
542
680
683
675
619
592
580
659
527
512
516
666
589
581
523
508
680
535
551
700
512
595
546
538
696
595
687
550
624
558
577
548
621
650
532
673
639
534
515
562
691
668
668
523
682
631
629
636
566
561
639
529
640
552
646
661
630
516
516
572
639
629
558
603
543
619
543
609
579
635
538
658
541
539
545
500
568
592
690
580
663
525
549
695
582
670
667
542
568
538
641
664
574
563
665
579
700
553
539
506
632
696
657
533
542
515
689
632
582
667
686
589
677
572
554
638
567
669
531
674
509
639
534
607
590
578
695
562
609
510
627
646
563
683
657
556
517
585
611
695
675
524
640
569
611
503
624
576
628
554
677
696
669
543
525
571
529
654
622
665
580
644
687
512
515
597
642
533
678
513
677
535
553
644
583
637
609
544
550
678
563
646
619
594
662
674
561
650
546
598
511
643
644
616
602
587
632
538
629
626
570
551
516
544
548
640
657
586
631
588
639
583
632
573
597
658
624
612
636
660
616
518
602
507
535
506
509
630
580
662
588
629
625
576
622
572
530
661
601
619
694
549
570
690
510
565
569
512
546
644
500
505
669
618
664
642
688
536
578
700
544
581
560
644
684
672
678
605
606
661
676
535
632
536
610
685
578
558
592
617
648
656
683
546
553
637
641
662
676
525
662
674
514
663
651
526
519
682
570
624
519
693
630
644
570
530
651
587
618
693
603
540
556
578
634
630
580
674
544
590
625
625
585
599
551
667
657
673
594
663
687
530
528
690
637
527
583
595
555
689
597
587
633
542
634
680
589
636
644
548
593
565
617
526
695
698
594
669
673
632
501
504
641
696
692
695
585
631
600
682
572
500
664
646
573
593
660
641
561
673
517
648
514
518
662
555
553
647
595
644
572
605
695
696
587
531
620
545
545
607
546
516
661
603
672
640
675
542
655
698
537
596
685
668
621
533
613
580
545
573
546
677
533
527
565
516
660
543
547
510
523
675
548
592
533
609
667
531
548
528
613
513
615
576
592
626
610
677
506
560
669
612
531
627
672
675
690
622
658
541
571
510
502
697
656
681
558
510
609
614
549
637
527
553
689
637
587
580
544
562
537
515
598
634
521
528
524
613
682
598
599
635
643
658
522
663
632
604
532
505
603
645
509
652
624
654
579
591
574
666
542
627
513
525
580
643
551
639
552
674
621
567
519
596
596
633
639
696
521
582
562
657
566
653
511
698
587
696
509
657
611
638
561
602
694
602
698
678
678
625
525
658
675
610
691
600
621
616
577
610
521
530
664
666
500
578
555
535
541
608
525
656
624
630
630
539
649
549
572
550
627
655
686
635
553
689
640
680
670
508
667
547
540
635
673
600
553
540
512
642
680
686
563
654
610
521
629
635
624
538
578
680
676
662
697
609
561
584
687
513
664
675
511
659
558
686
574
624
637
543
529
645
644
687
660
684
652
673
626
555
555
518
602
609
664
525
662
680
572
588
617
676
683
654
597
619
622
580
539
577
531
652
670
645
506
644
513
697
537
563
599
618
543
554
507
525
544
622
585
674
558
563
646
524
552
553
691
635
591
683
686
523
500
509
598
534
550
654
682
615
676
653
520
614
590
537
648
563
566
694
502
623
592
596
508
690
563
560
560
688
624
664
689
680
587
524
609
564
597
628
687
502
572
538
527
643
527
530
641
502
697
633
697
658
700
524
629
612
643
629
655
670
613
687
674
673
520
548
549
599
641
529
604
534
603
697
600
688
671
530
624
654
516
589
539
597
535
511
637
676
603
598
695
699
654
625
508
535
562
680
521
524
526
562
506
540
696
560
685
550
512
573
689
698
517
589
621
511
664
591
700
541
648
674
518
586
521
684
619
612
602
547
551
641
685
503
643
695
616
683
567
632
583
548
544
599
666
678
545
627
560
506
601
530
501
643
652
677
678
694
659
566
599
575
572
614
509
535
628
684
645
643
541
615
514
659
546
523
614
581
524
650
667
626
645
543
543
557
574
593
585
564
660
697
676
680
573
552
542
616
608
610
528
631
582
700
656
641
619
543
689
675
634
686
667
547
599
648
571
601
557
505
650
507
576
599
596
698
578
650
500
657
594
686
613
679
657
536
654
681
686
687
619
591
511
677
667
580
560
542
521
515
559
648
575
669
514
643
511
642
620
553
615
688
667
555
698
513
552
564
638
641
546
620
697
570
576
693
651
620
569
588
506
517
684
619
595
683
606
540
628
587
553
697
657
577
550
559
676
671
531
595
652
675
561
687
518
602
587
523
631
699
691
517
619
574
544
574
609
637
565
532
646
598
624
552
673
684
614
581
649
618
651
657
504
563
578
519
517
668
622
589
530
624
539
559
659
572
595
603
611
654
691
615
625
516
557
656
665
624
577
626
622
587
523
674
673
537
625
515
682
615
541
599
511
649
533
552
656
691
622
649
556
685
652
532
617
649
662
503
579
617
557
593
521
681
683
567
658
564
638
629
591
688
583
520
531
529
536
657
637
513
592
661
580
675
519
616
622
676
508
611
630
643
621
522
601
569
633
686
549
526
657
677
614
684
537
607
544
607
666
567
629
557
517
595
555
533
530
579
617
643
515
549
692
632
664
690
614
578
673
505
552
512
561
673
565
627
691
630
685
591
663
570
554
682
628
643
543
530
696
669
660
533
665
693
675
661
557
572
628
606
586
518
556
605
661
562
514
507
571
570
697
504
566
651
574
615
506
550
696
548
644
520
554
571
516
599
617
590
570
664
552
585
664
578
679
674
592
583
617
689
699
566
688
632
538
500
604
662
584
584
689
661
661
559
557
551
513
696
608
652
552
667
559
625
594
643
598
615
664
643
595
538
639
568
637
538
565
513
645
631
548
576
513
556
555
572
580
611
633
594
682
576
601
570
667
644
676
523
660
607
548
511
681
619
563
503
524
532
694
543
532
539
660
611
600
502
583
615
643
613
571
519
645
674
638
666
620
638
515
577
518
651
636
676
519
553
515
642
514
599
649
544
645
640
680
652
593
602
590
640
522
686
583
668
665
605
560
700
680
587
630
511
509
628
585
621
635
556
528
676
507
636
688
577
535
575
568
654
517
634
611
562
598
513
551
567
700
509
660
504
657
552
590
573
508
501
521
515
649
584
550
555
500
502
679
691
625
698
674
667
639
640
647
699
593
690
657
580
690
557
520
572
510
644
680
559
656
626
592
580
613
599
624
623
669
569
527
673
563
582
506
524
617
593
538
537
665
518
537
603
686
580
523
609
689
600
578
606
689
504
526
649
501
662
671
521
694
590
570
636
601
541
604
579
555
671
670
639
544
676
644
656
588
613
537
583
635
632
566
551
623
604
586
626
612
678
630
643
524
568
562
659
637
682
525
560
541
549
627
662
665
576
578
576
579
513
513
540
633
620
562
530
548
564
630
530
626
577
601
544
633
692
591
561
521
622
686
540
587
554
626
522
698
696
638
643
663
604
569
577
569
536
519
632
527
571
671
583
628
646
596
516
648
622
580
551
681
652
573
623
503
541
549
630
628
698
689
609
696
626
672
579
636
662
615
602
648
623
594
639
535
596
541
616
634
546
515
544
656
544
661
580
682
674
505
601
531
517
691
673
526
529
563
565
653
583
589
651
639
554
666
602
691
681
636
541
553
680
569
600
509
609
591
518
652
630
689
559
593
601
560
694
579
669
536
592
571
590
632
657
685
659
602
695
605
647
564
585
572
640
540
693
595
665
561
647
653
668
575
601
681
597
682
600
541
532
500
521
654
588
624
577
502
671
687
554
672
644
568
623
646
514
645
690
542
683
681
568
635
507
554
656
659
613
646
501
550
535
598
548
643
571
667
653
571
587
642
536
580
560
616
630
547
655
671
624
561
661
627
573
511
628
603
614
551
511
605
534
580
689
608
684
536
609
572
674
670
611
547
694
598
613
584
584
631
608
536
561
511
668
577
609
599
577
554
640
604
635
643
610
576
535
509
506
614
697
589
530
622
676
516
511
502
679
637
647
540
629
661
671
682
559
687
648
511
600
540
507
692
558
564
552
545
509
525
667
528
663
592
585
647
590
619
576
582
565
619
534
589
535
537
690
648
680
640
536
532
584
692
529
622
675
650
534
690
672
673
658
631
542
500
627
563
572
509
534
641
577
542
606
649
531
521
687
577
573
605
642
654
659
512
642
637
564
631
559
699
505
597
540
521
661
671
539
505
699
605
549
513
579
590
505
658
681
669
627
672
631
552
576
680
575
609
696
662
586
529
631
532
593
670
685
578
577
661
561
691
646
515
648
641
544
614
510
577
648
539
576
506
504
585
618
985
985
952
803
911
866
974
862
861
862
868
967
848
966
856
949
937
926
949
857
801
896
842
832
843
802
860
999
906
832
863
813
801
805
876
987
925
988
850
805
846
976
884
979
988
935
975
801
892
982
903
833
926
957
927
892
978
958
923
982
963
845
978
982
959
824
893
955
971
904
965
869
929
817
962
892
860
949
975
853
938
819
853
879
970
827
865
879
825
801
977
906
919
965
925
924
952
866
945
843
964
809
820
832
999
815
849
869
964
990
987
884
849
961
802
808
986
817
968
835
949
918
900
993
839
993
891
886
922
990
898
877
848
898
810
940
877
888
996
976
993
865
989
907
871
897
863
865
850
843
935
902
873
814
893
966
911
983
992
870
885
946
909
890
921
868
873
835
923
898
813
983
949
818
817
971
821
833
804
899
971
961
803
960
937
972
870
939
998
876
977
821
992
821
944
966
999
827
963
959
904
964
980
891
878
808
950
827
954
875
934
818
893
904
992
935
829
997
803
831
983
973
859
838
884
925
901
948
855
832
898
875
940
855
864
944
854
963
915
902
824
931
834
879
848
970
814
814
907
893
917
933
878
886
901
851
892
804
937
877
997
974
927
873
919
943
854
803
986
855
876
824
964
853
972
960
894
974
841
932
952
977
879
901
817
937
967
869
865
919
848
950
865
901
903
999
829
842
807
925
980
857
899
806
839
986
918
870
847
995
825
953
804
812
932
909
811
879
987
939
902
933
805
941
822
948
803
1000
976
996
892
988
820
812
880
940
836
967
894
845
816
933
975
887
893
849
838
978
987
968
837
992
857
811
994
965
962
937
935
909
848
859
958
973
904
884
820
887
976
877
873
870
966
974
844
800
876
814
957
849
996
907
982
984
808
849
856
886
809
941
894
893
930
930
856
904
844
878
804
892
901
897
805
995
885
950
876
802
944
974
979
954
901
939
980
828
936
939
939
978
942
973
917
835
914
822
979
984
981
939
976
830
800
906
958
881
993
915
957
931
884
888
851
916
937
965
949
881
925
883
946
826
954
931
920
831
900
934
889
888
858
964
971
835
847
845
825
983
887
868
915
971
990
936
966
852
890
903
856
904
925
892
839
884
883
925
846
825
852
812
993
858
805
856
841
814
829
821
845
811
938
886
847
961
898
946
867
957
855
942
807
890
976
916
809
916
940
804
996
806
843
916
889
904
992
880
945
832
843
968
995
889
879
858
985
982
922
824
994
932
926
959
912
869
959
831
824
997
846
921
856
845
802
870
905
901
882
959
966
842
981
860
994
883
830
873
924
1000
995
810
881
859
943
849
947
813
840
946
809
906
923
841
876
988
849
816
923
904
813
933
808
834
975
875
879
872
823
874
915
924
874
969
848
905
830
972
807
888
959
864
863
814
843
991
988
944
889
967
983
897
870
952
824
929
842
959
844
805
818
897
855
873
862
805
846
929
947
895
844
893
904
822
989
975
930
856
962
834
988
984
834
863
842
934
900
985
987
891
995
989
916
885
990
864
914
834
989
919
924
916
984
943
973
882
814
953
818
864
927
878
956
931
906
943
874
849
841
856
845
811
820
810
850
992
821
949
830
958
952
977
860
982
800
961
833
943
890
964
916
865
962
836
973
849
976
862
838
978
811
870
896
981
940
842
996
854
828
980
841
944
943
944
856
977
815
888
868
814
866
943
832
995
802
904
910
889
868
994
964
844
918
937
910
960
898
996
895
903
832
876
906
824
950
913
868
966
939
865
907
909
942
878
943
949
926
852
894
984
994
993
935
920
852
998
965
931
948
882
952
996
885
909
917
994
858
835
932
959
999
931
802
891
907
981
827
977
845
923
980
970
908
867
841
956
977
843
948
926
881
841
896
989
950
844
919
917
942
814
869
872
911
843
953
899
897
902
805
990
986
870
951
902
832
820
801
930
972
826
881
902
841
922
856
879
952
857
831
997
874
845
862
917
884
967
896
870
846
802
833
943
864
852
987
918
832
973
936
830
969
946
826
873
943
875
922
888
927
998
833
898
823
942
902
830
819
973
916
996
845
817
842
921
909
928
807
937
952
964
812
900
800
915
912
939
960
814
846
859
832
827
905
880
950
804
820
839
836
826
918
924
957
864
854
863
829
996
930
923
868
835
997
811
991
816
847
971
883
965
892
904
963
814
825
838
850
984
883
865
804
970
866
990
879
801
933
829
921
842
856
971
899
932
921
915
949
930
904
893
891
848
827
860
873
897
888
950
855
969
918
904
995
844
887
846
820
985
805
961
974
934
926
909
872
997
806
962
817
998
938
924
990
907
954
895
862
850
965
985
862
847
859
808
987
863
938
829
926
869
930
881
875
910
893
833
903
927
808
993
867
867
867
809
869
899
990
875
957
975
883
963
982
818
930
990
801
875
938
811
898
854
922
939
1000
877
822
893
945
824
860
914
945
974
905
818
972
944
831
980
914
941
915
939
867
828
826
967
831
823
868
846
993
838
940
901
953
807
960
866
975
910
890
879
973
888
848
876
987
841
929
980
914
904
969
868
905
927
802
898
947
940
989
903
946
954
971
872
804
978
868
893
870
979
996
966
945
966
953
919
848
882
880
857
831
820
896
806
992
978
803
851
812
803
909
987
873
960
823
925
816
969
893
887
970
875
930
806
935
811
834
981
865
935
940
901
840
990
849
953
967
945
900
1000
816
867
838
802
962
933
932
805
868
906
942
911
861
899
948
854
987
883
854
946
901
829
807
984
900
998
907
951
941
941
923
824
807
900
841
855
921
999
854
800
924
811
839
829
920
890
973
869
979
876
964
941
940
859
814
863
979
933
952
957
869
940
888
827
859
810
860
841
833
860
841
874
948
840
801
972
966
946
858
978
815
889
1000
996
844
838
955
921
896
853
910
959
926
958
886
857
833
919
958
926
871
936
894
867
959
835
934
885
820
902
987
857
893
914
941
984
859
820
905
978
817
829
949
850
879
901
806
894
816
821
967
916
950
824
944
926
940
865
843
979
937
914
950
942
846
926
997
988
901
822
842
987
909
889
934
926
900
872
875
848
812
904
809
911
898
986
974
982
977
828
886
869
880
946
821
905
960
829
978
898
893
916
852
960
945
931
889
866
994
806
823
867
809
988
833
960
978
806
908
814
805
840
919
924
921
952
865
912
822
961
886
972
893
921
980
825
881
947
980
950
902
806
881
906
944
934
958
991
860
868
945
919
850
938
886
939
992
875
876
800
988
949
889
995
856
865
823
854
922
964
986
904
824
908
990
958
997
879
890
991
901
961
908
951
954
871
819
874
899
991
965
881
880
982
820
990
899
891
978
938
962
838
1000
834
824
849
996
993
985
927
949
815
978
995
891
879
848
953
915
977
952
902
874
859
962
880
851
929
994
946
860
969
964
822
923
991
890
917
813
868
834
917
816
852
820
959
867
817
940
851
923
854
846
894
838
894
884
920
904
855
967
849
989
875
967
886
980
861
936
950
814
883
949
959
940
857
859
974
948
960
907
895
973
838
858
844
967
959
810
830
974
888
875
803
948
922
832
860
926
857
967
914
992
860
857
940
809
939
815
896
804
947
928
862
901
854
855
818
982
947
818
972
848
802
842
985
848
844
961
879
888
819
866
836
847
830
814
844
996
832
951
919
988
888
974
884
919
815
957
997
928
935
824
896
886
990
810
915
836
860
800
853
837
822
810
815
805
829
820
899
805
812
973
812
959
912
915
938
988
844
917
827
931
982
841
941
838
835
964
930
932
872
988
987
941
998
906
984
900
804
1000
981
896
837
889
877
872
869
912
950
924
902
906
804
881
943
949
802
883
939
817
915
830
880
815
974
810
849
939
801
884
990
948
852
817
898
921
822
816
924
861
839
967
802
816
831
865
812
908
993
805
894
965
945
975
944
983
892
919
895
817
902
866
980
941
954
953
839
971
966
808
840
970
820
931
984
909
902
924
834
931
921
884
909
958
839
941
810
985
824
816
800
917
914
971
979
954
979
989
833
835
808
999
855
944
897
812
806
894
826
812
896
848
969
875
840
886
867
854
987
926
980
912
936
961
837
923
846
996
803
941
834
938
873
872
899
856
964
987
929
898
966
876
935
982
832
807
971
887
979
901
820
821
938
808
870
819
954
857
869
913
902
802
981
998
930
819
909
969
805
903
935
863
860
834
928
810
811
917
994
960
871
936
985
825
945
857
851
881
880
801
929
997
810
896
872
869
973
997
930
988
946
927
905
838
879
882
947
851
815
853
844
811
894
885
973
800
836
804
966
846
807
985
845
861
931
958
807
871
890
904
863
886
845
883
936
846
949
901
895
870
961
861
939
900
987
931
838
856
955
913
877
852
942
815
868
979
934
866
937
987
944
815
904
838
953
832
998
996
860
829
809
867
893
1000
859
813
895
854
852
881
953
878
911
802
920
896
941
888
802
959
925
843
923
813
973
834
852
858
950
819
858
849
843
995
849
926
894
851
837
911
901
805
832
870
805
843
987
947
966
856
870
987
939
927
968
928
888
858
868
889
840
908
899
982
817
835
991
965
979
934
832
956
853
887
822
863
808
940
840
914
941
910
901
862
885
872
827
938
883
986
910
828
908
920
902
993
852
828
976
959
939
863
836
900
919
993
946
846
853
893
888
850
943
976
821
902
826
824
869
919
914
855
976
866
871
882
963
819
962
899
959
930
834
971
847
983
876
952
923
923
814
815
927
869
841
893
981
894
850
1000
884
903
909
855
950
904
828
870
903
994
935
834
925
942
908
861
951
958
839
895
814
884
848
893
882
870
854
924
875
823
807
900
837
994
864
834
808
858
933
987
804
896
975
916
853
817
927
890
895
853
993
979
893
828
974
806
815
848
881
898
899
871
916
880
970
934
873
976
865
926
885
858
807
852
831
898
863
904
892
994
914
896
823
985
822
956
820
889
996
966
829
948
950
972
978
973
895
879
814
902
876
933
849
828
849
858
838
944
889
845
832
997
865
952
864
859
949
800
926
992
996
906
875
879
921
839
905
815
940
934
810
984
837
892
886
884
974
804
885
901
991
904
963
931
870
843
934
929
954
844
854
941
884
901
808
838
846
855
869
981
839
831
848
836
842
997
910
868
923
823
910
944
891
835
983
972
978
975
887
955
924
817
961
945
859
982
866
853
929
826
961
959
972
829
829
817
875
913
863
920
862
936
965
999
902
866
994
987
869
981
971
808
928
977
916
848
976
850
854
831
973
949
909
956
994
908
821
963
871
873
866
867
915
926
906
838
820
880
895
965
937
895
884
895
863
929
947
839
953
885
994
976
949
802
970
975
871
922
942
876
912
810
877
982
851
907
858
913
971
990
907
943
820
883
985
941
957
923
977
839
837
909
920
962
819
837
934
975
865
807
849
1000
835
991
989
839
833
972
800
890
910
933
824
913
996
842
920
982
889
889
922
915
993
995
908
880
986
905
834
965
946
903
906
997
978
844
828
957
903
935
827
892
987
956
831
941
825
928
937
918
815
804
810
963
944
877
832
988
955
922
933
814
979
862
905
860
836
835
994
812
837
904
834
937
857
905
872
954
981
937
875
863
871
897
887
860
898
912
971
882
875
978
910
809
931
938
872
835
816
942
993
807
846
998
975
976
806
968
913
989
903
967
835
962
814
974
950
805
919
941
987
825
934
838
831
870
905
903
923
920
987
864
872
958
927
889
939
991
932
972
862
917
841
942
983
810
960
951
823
957
934
939
849
846
942
973
862
915
988
902
953
821
980
997
854
924
974
847
918
878
871
830
846
923
842
855
825
885
846
895
956
967
833
935
849
894
963
942
860
987
971
980
824
998
851
932
843
928
990
804
871
853
853
896
924
917
999
979
877
922
940
969
813
827
914
856
932
814
981
857
875
977
805
840
896
809
827
823
863
999
950
877
989
932
886
811
820
841
911
847
897
917
937
995
995
941
862
849
986
978
878
897
967
855
913
895
896
846
812
831
907
861
923
850
959
988
972
915
844
919
808
850
856
971
936
865
884
962
921
972
952
940
836
946
982
807
928
980
980
914
890
880
853
957
935
919
879
991
856
953
872
942
827
956
999
846
917
974
837
919
863
811
983
944
897
938
852
970
810
908
994
806
932
996
970
998
903
908
816
959
911
935
873
854
898
933
907
882
838
995
802
995
985
830
826
851
808
832
901
923
980
909
862
934
947
902
964
906
960
832
815
903
994
952
999
926
845
868
975
968
945
981
814
949
861
928
953
929
919
833
867
993
869
989
842
927
940
808
828
1000
983
834
861
830
835
890
804
862
999
823
888
814
938
908
839
994
974
985
861
957
962
996
941
894
960
974
945
858
964
944
986
891
881
874
830
890
827
950
895
967
903
833
951
850
906
946
831
861
847
878
933
836
891
873
969
893
822
993
966
990
825
988
868
848
986
942
802
929
813
868
905
983
904
906
882
903
975
967
944
874
855
826
958
880
951
856
962
809
800
976
851
926
942
893
910
867
935
868
959
838
988
889
840
837
828
952
997
810
910
884
953
857
941
843
859
945
947
956
838
886
895
899
913
856
895
817
968
945
875
912
889
866
957
993
967
868
936
875
961
918
946
928
982
857
907
938
843
947
907
958
954
1000
889
844
920
846
937
986
950
931
855
946
990
960
893
871
854
1000
868
935
938
952
912
851
846
851
862
920
998
978
842
950
920
941
829
904
908
869
996
907
878
869
931
914
817
931
814
968
968
905
872
826
851
985
985
828
888
957
800
895
808
990
940
800
974
979
994
909
952
887
930
891
811
869
914
843
935
956
801
947
815
912
866
826
940
868
941
822
838
989
871
870
886
942
815
863
862
902
920
836
808
970
840
899
849
817
887
828
858
937
984
894
894
900
885
959
980
967
988
851
973
868
843
894
955
963
945
943
898
841
862
951
877
820
869
806
892
968
860
913
954
953
928
945
940
943
965
882
901
855
840
875
933
819
961
868
846
821
904
972
824
868
966
926
926
929
862
899
885
881
987
948
985
880
981
985
877
980
902
985
817
964
822
831
852
978
884
932
865
868
935
913
940
827
874
846
986
888
820
920
876
929
931
900
850
942
972
834
975
849
812
965
855
889
824
837
843
982
977
920
951
936
826
963
951
840
887
990
909
938
863
865
946
957
841
930
829
975
972
853
943
944
912
908
892
962
930
893
835
977
930
852
971
951
971
936
820
999
816
890
859
970
880
873
906
807
923
928
921
987
957
935
949
920
989
803
994
813
995
802
883
801
984
837
954
965
926
997
901
875
994
983
993
812
942
959
823
906
815
965
987
978
826
961
968
944
803
861
815
961
801
891
970
892
978
807
898
947
864
923
911
824
861
875
884
822
853
850
958
855
824
949
828
943
934
849
847
980
885
861
844
892
815
949
979
808
906
928
886
983
923
920
896
956
978
805
901
962
919
811
876
937
808
856
939
999
819
922
861
917
899
859
915
955
914
813
861
883
802
827
913
951
890
815
834
986
908
977
856
927
941
922
983
932
911
905
822
938
897
901
984
951
807
869
862
820
813
930
981
801
875
902
967
1000
890
950
977
824
864
877
923
815
987
945
925
991
810
814
942
856
907
883
993
832
861
960
839
926
928
851
942
891
870
802
988
945
910
853
880
985
843
818
867
898
839
951
910
973
906
801
837
964
961
941
947
937
880
920
837
906
874
917
1000
997
841
932
816
826
875
918
974
925
919
873
897
919
965
971
961
943
919
813
821
957
808
901
945
950
959
992
864
853
949
875
811
813
998
934
975
987
860
950
926
871
962
876
836
861
960
867
864
875
896
948
994
886
948
907
904
964
871
874
965
856
913
869
851
863
848
936
841
997
802
826
938
812
831
970
903
885
921
932
871
973
811
858
984
829
904
995
924
847
995
892
970
831
896
832
837
825
835
988
897
916
902
927
986
884
893
817
969
883
998
947
990
943
821
903
915
910
848
862
919
928
880
833
870
824
954
948
959
899
916
859
980
846
872
867
992
820
848
959
873
961
954
975
819
835
985
966
989
825
843
952
833
898
949
807
827
806
946
850
815
834
966
870
949
967
930
966
952
948
1000
936
867
825
825
961
893
893
916
988
905
963
978
926
880
922
829
919
807
934
971
858
921
993
896
939
859
914
882
904
930
893
973
914
863
810
834
820
947
905
962
907
986
883
968
851
808
877
927
808
998
867
822
1000
847
823
846
910
854
895
903
923
864
936
879
811
812
902
843
931
951
881
817
812
944
937
909
833
945
953
978
868
859
944
944
950
1000
917
825
806
861
998
859
814
845
929
880
885
937
904
970
909
927
825
903
913
857
950
891
851
867
865
934
864
844
957
862
930
977
827
939
852
952
823
825
999
990
951
840
872
847
902
892
900
917
831
839
860
835
844
912
848
944
842
992
993
860
946
971
920
808
875
858
924
861
880
949
997
808
839
943
836
858
872
866
946
941
924
982
895
987
873
953
929
967
923
996
983
954
939
836
861
937
962
883
822
824
840
850
833
803
956
830
824
988
929
880
968
957
982
802
990
881
890
856
995
995
924
982
895
977
810
955
844
818
916
945
822
865
909
976
843
915
919
817
816
806
977
969
923
860
992
878
923
822
894
868
999
884
925
853
910
980
985
886
883
819
909
893
843
955
965
890
902
898
932
927
898
928
896
872
983
987
997
831
844
852
898
926
893
888
864
845
806
945
805
887
862
983
900
885
899
872
847
961
815
993
874
996
973
992
985
849
936
996
920
977
870
970
919
960
829
945
860
867
894
934
962
971
882
843
886
807
970
837
879
842
828
890
836
801
996
928
987
888
803
924
933
914
928
935
806
999
817
975
939
934
976
830
818
860
823
910
947
990
892
992
980
1000
892
871
970
967
993
939
916
818
835
804
853
833
818
985
884
882
980
976
888
881
812
852
800
879
962
845
899
810
837
854
964
825
959
855
929
932
861
995
981
972
968
908
978
817
990
833
825
932
961
872
973
816
979
949
997
978
948
914
876
900
949
976
935
858
925
867
934
996
999
940
944
845
917
962
856
801
824
836
900
824
944
814
865
802
809
872
855
950
992
980
883
965
968
965
855
930
954
862
813
837
911
838
988
962
874
825
942
829
880
888
803
873
961
982
948
924
840
941
850
836
854
968
922
880
821
814
821
879
905
876
931
904
808
906
963
936
945
950
887
822
855
829
851
868
865
934
977
993
896
863
894
862
858
880
840
998
843
804
808
880
984
924
834
973
972
888
895
883
831
899
817
946
904
899
810
968
945
969
915
837
963
966
815
969
993
823
906
913
967
994
872
898
949
831
889
981
910
888
920
935
972
898
992
827
826
936
952
855
904
927
834
871
866
877
838
978
937
936
998
911
990
898
824
957
845
914
941
835
889
968
830
848
812
844
952
934
952
976
930
991
880
955
826
954
976
861
978
847
892
991
826
860
814
859
906
826
991
979
849
835
948
816
854
825
834
998
902
999
809
950
881
979
876
807
940
880
920
965
926
907
817
829
923
945
869
889
994
936
986
942
915
930
940
937
836
870
876
883
928
801
883
983
864
986
839
920
975
907
935
808
967
848
876
884
803
838
992
959
948
995
885
953
969
980
864
894
805
907
899
871
851
802
852
940
960
972
846
815
803
913
806
997
977
828
897
933
855
863
946
922
946
841
937
943
906
808
813
840
850
839
853
973
813
830
826
863
806
818
832
875
896
1000
803
813
952
937
883
829
995
854
963
826
962
857
831
978
990
812
867
951
823
871
882
858
804
924
906
977
908
974
889
849
829
960
816
847
826
826
939
877
900
993
851
850
969
951
822
829
936
956
854
979
958
912
888
946
967
922
892
963
919
842
995
886
889
855
873
948
810
802
902
878
866
854
986
896
901
860
804
969
825
922
851
974
908
900
972
911
844
920
872
867
853
997
813
843
816
955
958
851
975
935
985
870
931
876
870
944
933
826
965
804
955
853
913
879
955
809
847
965
908
857
849
873
876
976
939
970
942
926
867
857
852
867
824
943
829
835
872
969
865
826
842
860
900
898
830
831
891
923
920
906
924
935
805
902
908
810
993
821
914
996
869
808
938
805
939
839
861
946
888
918
934
996
811
941
927
993
867
840
864
937
942
937
953
912
956
986
823
889
825
897
972
963
992
979
907
853
801
990
843
970
871
945
971
993
964
985
961
805
888
926
848
836
842
911
834
877
882
915
905
992
967
806
949
923
867
811
874
926
959
929
922
848
848
818
994
857
826
864
807
861
948
832
827
803
862
839
809
899
813
859
994
966
987
961
833
952
961
819
980
909
922
945
972
941
951
820
989
820
976
865
888
827
987
1000
861
988
985
927
879
958
883
807
847
879
898
994
856
806
996
932
963
903
908
964
904
939
975
827
828
942
834
863
855
884
830
812
952
966
967
817
888
905
931
945
839
808
971
855
831
865
974
953
860
904
845
913
859
889
911
839
887
862
914
880
991
909
891
856
801
966
951
928
813
944
884
933
822
1000
945
937
928
806
936
970
899
918
979
975
865
988
905
874
978
932
940
946
934
833
990
902
970
926
946
980
816
904
840
934
876
822
943
818
999
966
814
921
803
929
950
860
819
931
989
870
945
893
880
827
937
875
856
895
818
966
886
874
848
822
815
942
824
996
945
948
876
881
987
865
855
830
967
833
947
947
835
857
888
954
998
921
846
892
918
978
912
948
843
817
929
877
846
804
887
803
951
938
890
979
956
855
966
819
998
903
830
874
942
931
870
855
955
960
819
804
969
807
897
951
985
934
917
826
923
898
996
880
964
954
901
974
999
921
999
955
865
857
907
928
883
891
923
878
952
985
919
893
904
970
946
881
932
833
961
945
913
996
895
842
806
915
888
983
829
853
907
978
954
872
850
809
890
840
985
909
810
981
976
917
913
933
873
943
803
866
996
874
859
945
969
838
806
927
978
946
880
994
972
995
973
916
809
850
905
999
977
827
938
874
952
856
872
834
971
903
819
931
856
964
885
829
940
839
924
946
962
953
958
827
904
821
928
824
838
807
809
869
973
859
946
952
861
824
944
932
863
910
987
970
949
926
866
995
840
953
885
914
905
936
688
543
593
605
563
681
690
530
679
500
654
543
631
584
602
639
573
680
563
597
619
688
535
657
506
573
579
622
618
551
568
501
554
578
532
564
627
592
531
609
563
689
527
531
611
653
544
619
673
555
679
505
642
531
591
537
524
634
637
657
639
513
674
650
620
560
638
682
618
677
501
561
682
694
627
532
574
570
614
577
678
685
607
516
523
543
523
513
508
567
528
594
608
661
541
516
547
636
526
665
503
598
510
547
524
678
604
662
661
552
575
699
572
616
553
560
697
600
661
536
688
545
531
567
562
590
508
564
695
572
593
512
518
616
547
527
699
658
579
536
547
663
675
599
530
548
693
619
522
620
693
577
566
679
579
682
603
604
696
618
534
512
632
500
536
541
573
581
506
513
697
529
606
555
581
654
506
508
544
545
557
593
696
622
586
692
613
516
555
611
502
537
638
561
675
605
533
669
638
560
557
662
675
554
661
669
508
543
671
689
635
634
630
681
700
669
584
685
523
620
581
531
516
569
653
548
532
556
635
580
502
662
618
642
652
552
520
582
649
695
634
616
571
578
595
618
625
697
502
668
667
674
636
639
579
657
649
537
659
633
638
516
640
525
592
567
526
509
665
511
590
584
570
680
555
686
652
680
603
536
589
572
573
638
648
699
611
575
604
653
519
528
572
533
691
655
649
590
538
569
509
626
644
548
627
589
661
581
593
506
617
511
504
681
620
518
517
536
546
532
510
699
533
514
598
616
643
568
517
624
591
633
618
554
659
644
576
588
646
511
655
642
585
587
676
546
605
624
549
615
629
638
572
602
662
680
625
528
669
565
696
640
684
648
546
506
590
665
566
651
526
541
567
526
552
683
649
627
536
684
566
584
669
688
565
598
627
504
526
580
589
625
663
669
612
544
582
590
657
522
658
646
544
651
640
610
684
541
632
700
612
507
534
543
599
576
501
585
630
570
628
514
689
677
609
614
639
601
518
589
556
519
505
560
592
521
500
511
663
572
605
550
628
615
582
621
662
559
649
678
592
602
589
624
665
643
527
541
635
558
522
641
567
542
579
607
525
583
682
605
638
591
509
591
670
647
684
619
576
659
646
622
696
591
599
534
674
557
654
616
588
519
633
519
557
644
535
694
693
537
590
548
685
684
546
599
577
697
577
533
545
509
591
565
654
563
633
615
609
562
693
615
682
541
668
572
577
699
569
657
698
645
689
543
599
575
571
590
610
683
604
526
698
700
617
637
679
663
513
662
531
571
673
545
538
567
640
666
667
652
671
585
579
545
507
632
573
615
690
504
618
531
679
526
609
656
631
629
521
587
676
647
527
617
597
634
589
542
644
621
691
580
565
633
522
538
664
675
696
568
592
535
518
506
633
540
512
667
507
597
568
695
502
502
573
560
623
670
655
636
610
575
590
649
700
685
590
646
617
625
580
527
658
616
533
543
538
686
591
606
585
550
557
603
501
665
624
538
526
569
654
677
559
576
563
592
518
663
536
629
581
574
674
628
627
599
680
686
655
632
559
696
569
568
600
563
507
603
556
577
516
552
571
563
688
595
608
681
536
523
684
648
516
643
642
679
556
600
517
579
506
518
619
660
538
555
670
678
677
609
544
682
613
531
501
577
504
637
547
556
700
560
691
577
633
602
687
607
640
572
649
557
582
682
567
628
607
523
600
692
650
525
529
548
532
659
507
668
591
656
621
565
694
640
529
597
678
535
583
512
606
556
640
641
567
602
665
675
643
508
654
530
521
624
680
656
597
700
604
607
519
573
648
506
686
590
503
505
626
526
657
530
592
656
675
680
546
512
515
555
584
672
639
656
612
686
543
628
584
606
651
592
638
610
564
673
520
627
623
660
660
645
578
666
537
638
690
610
539
688
507
690
576
524
606
620
602
672
635
520
659
613
624
636
568
501
588
611
646
536
674
567
500
603
595
678
552
616
542
698
554
677
655
675
691
547
694
641
629
700
526
583
549
592
598
605
525
645
537
677
595
685
697
530
579
667
583
689
608
695
561
501
682
528
564
663
622
634
647
677
679
513
660
547
650
573
608
579
633
571
699
602
594
593
605
577
609
627
635
588
607
606
525
674
652
611
643
607
621
563
586
666
650
649
571
684
517
625
664
625
577
699
586
663
682
687
511
544
546
530
519
672
668
513
624
674
524
614
533
525
650
517
605
566
666
554
688
539
648
507
653
692
505
667
553
561
553
659
649
508
555
682
577
567
693
645
502
526
607
605
693
634
623
568
515
669
601
550
632
547
545
523
595
653
500
644
654
651
507
509
595
503
660
687
532
543
649
543
534
693
699
565
694
545
571
503
618
602
610
647
597
563
569
501
628
537
511
571
534
530
633
598
699
550
549
572
549
564
636
560
531
533
553
678
527
589
597
531
621
609
520
595
637
516
678
523
504
608
507
631
548
583
640
675
551
665
669
508
599
521
612
658
626
528
587
546
572
699
696
571
540
626
626
557
523
550
645
534
565
613
583
644
694
526
673
567
562
681
519
597
523
659
609
648
695
550
640
517
561
615
518
675
692
523
601
648
512
574
578
650
617
647
695
696
615
669
536
504
633
597
540
560
509
583
607
600
503
641
536
686
625
612
607
526
516
502
601
651
692
650
608
587
503
634
645
551
589
518
689
546
681
696
596
501
505
510
595
636
697
686
552
641
626
586
515
579
700
555
597
658
670
643
575
553
568
670
594
528
522
648
502
691
517
586
550
620
606
648
696
633
653
698
528
512
522
666
602
576
670
675
598
629
609
555
545
553
659
634
673
575
578
570
543
642
621
659
546
686
523
669
668
520
635
594
592
503
522
689
664
595
541
586
592
631
549
531
619
553
680
561
676
554
618
511
512
616
511
523
624
523
531
516
684
645
663
641
569
506
662
649
587
685
646
525
540
689
670
686
562
569
589
532
651
524
524
546
568
543
576
506
583
619
541
651
680
606
522
529
565
681
530
664
692
521
693
686
683
571
591
504
647
501
586
578
621
531
535
587
695
558
548
533
548
613
500
579
676
530
606
676
531
500
522
547
592
620
576
513
545
689
673
630
654
555
592
502
602
655
614
577
659
598
579
619
525
581
678
626
623
511
531
608
593
660
579
620
598
593
571
625
617
574
549
657
574
550
631
561
604
604
674
539
673
583
667
586
648
653
669
534
577
628
592
515
524
560
505
570
691
531
502
565
521
679
652
561
697
516
545
667
526
567
643
536
525
549
629
655
630
505
538
615
689
541
645
591
626
645
585
597
631
582
523
598
608
694
534
654
680
536
618
651
538
623
634
527
682
520
536
502
609
508
680
517
672
515
569
640
658
567
666
610
644
531
559
627
638
595
569
553
602
662
574
592
653
698
504
637
503
631
580
544
531
687
615
604
549
665
620
573
521
668
594
654
686
511
509
507
696
662
509
536
618
632
688
567
584
579
670
628
632
687
557
537
687
534
661
697
558
625
649
671
587
565
670
500
592
537
671
634
693
563
668
666
674
525
524
604
552
588
604
631
640
529
591
600
542
550
638
620
500
558
570
685
539
672
698
508
654
532
560
615
685
677
553
533
688
650
539
660
618
697
501
624
549
683
565
665
660
575
591
626
543
569
543
604
654
670
561
597
571
582
667
639
603
668
590
642
537
667
600
661
516
658
670
528
523
609
693
636
524
642
554
561
513
666
654
661
646
604
699
547
596
514
647
604
582
604
684
542
563
565
579
607
668
638
537
648
615
695
602
583
503
634
678
664
603
576
557
606
501
543
590
561
688
632
603
658
607
531
663
565
679
563
664
594
694
595
690
677
543
696
660
548
513
664
653
604
502
612
523
516
580
662
553
646
571
645
555
597
609
635
641
563
540
503
528
642
554
627
568
546
528
611
550
527
623
595
695
506
659
589
646
576
648
528
603
513
652
622
543
520
674
507
582
533
641
684
645
605
592
503
604
550
552
624
552
617
659
593
619
612
655
538
695
691
685
669
662
600
528
542
579
599
663
511
593
661
643
683
687
528
501
527
561
550
528
656
572
545
650
669
687
678
661
632
642
569
521
644
594
548
677
601
615
542
679
537
574
640
695
664
671
532
647
671
613
558
695
551
667
658
528
598
685
560
617
644
575
647
698
544
582
569
665
634
527
591
606
615
690
519
690
576
663
657
660
691
629
560
622
576
626
589
606
639
529
587
582
530
537
624
506
699
578
657
595
535
512
700
694
566
608
620
656
543
548
673
541
585
646
507
542
631
548
595
675
570
503
672
608
590
601
589
605
552
651
688
589
595
690
646
607
511
593
628
683
532
624
502
583
660
649
547
537
598
576
515
569
679
563
698
536
500
525
516
661
661
611
569
530
683
524
578
531
673
682
663
582
573
666
569
549
687
589
532
555
593
619
546
511
622
684
617
576
574
693
694
513
549
519
630
509
650
611
596
692
618
659
568
695
609
598
542
528
689
505
610
680
546
586
700
613
681
626
605
693
650
669
671
631
543
636
502
681
575
668
569
616
515
561
529
667
581
605
615
687
655
587
589
687
698
515
616
606
697
634
528
634
505
566
646
623
505
648
697
517
686
693
677
521
522
537
613
681
620
589
636
509
577
691
698
599
670
503
564
648
694
608
581
616
591
511
522
597
654
686
675
524
512
688
698
550
635
635
637
505
647
516
613
575
580
543
556
569
697
688
552
581
586
668
621
648
601
567
645
677
630
570
557
502
629
638
518
566
621
586
600
647
545
665
623
573
662
611
599
528
637
574
666
536
574
569
682
613
610
519
662
664
500
548
583
576
620
513
542
608
621
531
557
622
644
505
500
566
686
692
605
649
599
569
572
532
668
632
583
642
592
607
671
558
562
662
506
513
533
573
612
552
670
640
700
531
503
644
625
679
676
523
636
578
689
510
700
564
605
662
565
592
560
574
579
524
519
646
540
514
568
589
635
532
646
554
573
656
692
583
540
637
518
678
676
639
619
596
639
652
698
581
523
565
541
615
611
614
679
625
688
541
634
577
629
618
644
601
562
551
534
605
620
540
566
612
627
645
554
570
511
519
619
669
618
688
562
634
521
535
556
677
676
667
558
500
661
649
608
618
552
564
673
524
567
583
646
604
670
536
561
650
663
626
669
582
682
520
526
505
503
582
656
591
521
663
557
572
611
582
510
639
617
655
696
605
616
643
526
598
609
582
685
659
525
594
638
612
653
541
610
500
515
501
613
615
650
660
563
632
530
540
530
607
528
582
612
651
604
539
524
585
503
599
592
557
555
532
636
564
507
653
681
505
689
631
551
674
601
596
603
678
669
677
570
595
690
598
521
660
505
654
640
596
621
635
590
679
684
696
629
563
614
506
601
660
656
621
562
533
681
582
590
569
505
535
686
543
699
604
660
508
585
505
567
519
577
682
656
656
500
558
544
645
543
509
550
695
623
671
644
545
602
565
625
680
690
637
600
564
527
670
647
537
662
661
538
693
505
535
647
607
698
612
618
618
544
600
574
525
698
654
515
574
579
604
545
527
643
504
575
513
533
565
506
574
542
582
693
565
603
644
616
667
691
629
678
662
526
500
564
507
663
512
536
518
549
638
693
655
514
613
520
575
540
693
592
511
614
516
523
583
667
509
515
622
561
653
612
592
664
684
506
695
567
637
659
698
554
521
573
534
500
680
567
667
647
548
536
615
610
575
564
593
545
613
700
588
668
698
618
619
549
581
664
650
500
657
675
648
501
559
695
570
571
634
666
597
504
524
604
536
578
546
590
623
542
553
567
550
581
690
695
617
568
542
676
524
637
527
654
529
677
649
692
681
603
622
607
613
529
694
614
613
533
557
562
685
576
609
558
640
535
599
563
642
684
642
696
526
519
628
574
537
544
667
573
680
627
541
671
640
525
531
571
519
649
616
633
540
542
510
680
575
511
522
627
507
580
635
588
664
657
646
693
581
699
583
613
679
674
664
685
599
547
525
519
603
645
548
604
557
590
587
695
535
577
513
615
605
570
663
621
578
510
683
661
511
597
500
611
696
545
684
623
638
568
620
595
522
557
671
692
612
643
673
588
605
510
598
561
539
618
505
513
700
652
640
625
674
599
680
551
584
575
507
612
580
648
692
555
573
603
653
636
693
537
539
544
550
538
649
520
657
666
580
630
591
549
678
527
551
686
538
578
516
614
570
672
683
696
527
668
662
589
522
679
649
551
687
654
608
651
542
517
536
579
601
684
567
634
506
640
635
684
687
664
637
614
538
567
518
584
664
509
623
544
659
631
683
661
610
527
616
576
677
582
623
604
566
677
505
538
648
547
542
622
687
652
620
528
643
651
669
570
686
529
579
668
566
556
699
575
575
645
653
647
512
674
576
631
565
559
672
571
530
664
650
644
696
541
553
561
600
602
535
647
698
683
594
690
505
652
535
503
672
557
518
563
688
631
559
574
617
520
597
509
500
553
634
598
588
641
566
690
656
670
612
570
687
567
573
697
593
634
510
507
522
576
622
698
601
570
598
666
626
500
568
575
627
623
674
537
653
519
640
679
578
657
682
609
515
582
552
526
609
530
646
524
568
564
513
609
509
505
524
553
562
682
616
538
565
580
661
546
585
674
613
518
667
557
617
568
613
594
690
517
627
624
606
629
566
614
525
685
511
671
589
622
615
656
666
596
561
613
668
677
635
545
616
562
608
691
663
539
587
622
640
541
550
601
522
625
661
681
552
696
531
503
614
560
626
663
691
577
569
671
579
509
558
700
550
678
600
628
616
520
535
679
682
627
670
659
621
614
562
696
590
536
691
543
565
612
584
612
628
582
613
635
633
628
682
662
599
700
528
527
537
570
635
688
687
575
528
555
690
646
652
641
671
520
543
635
656
614
609
627
642
641
608
534
664
668
609
605
635
656
557
553
669
519
621
545
627
511
608
628
604
554
599
605
598
659
578
596
578
618
693
609
502
554
621
694
517
674
649
604
553
633
515
558
620
631
699
568
535
631
573
602
687
667
503
592
587
554
646
646
565
508
529
642
613
612
697
533
615
639
576
587
603
620
556
698
622
658
700
531
605
687
686
567
578
597
538
519
648
519
611
534
578
545
505
507
599
637
574
656
633
593
571
654
600
644
562
509
697
648
507
642
629
603
624
543
641
674
584
566
623
664
561
550
622
502
526
638
554
659
616
573
687
583
695
644
680
627
568
520
685
657
544
658
595
657
531
568
570
589
504
510
625
655
652
569
692
641
553
534
690
559
627
676
581
697
532
664
689
592
533
624
657
598
668
633
508
613
664
616
649
590
516
566
672
545
509
678
546
516
577
574
685
559
636
600
515
524
531
626
662
641
680
535
615
507
623
567
580
585
612
647
647
642
598
560
579
630
567
549
510
576
655
529
613
512
621
627
698
577
554
587
637
521
526
556
537
687
518
525
579
609
679
688
520
519
595
512
542
615
656
583
502
644
626
522
699
547
543
577
621
630
626
601
509
577
655
684
666
672
600
616
615
623
533
679
612
546
615
646
578
566
530
550
594
638
600
605
502
671
573
550
550
627
698
522
675
679
548
671
625
575
643
690
529
680
564
622
635
593
663
609
508
572
607
661
549
679
522
608
699
662
682
553
615
610
599
627
652
595
674
524
699
699
655
588
508
653
664
686
524
570
679
526
505
534
626
575
534
534
654
675
617
629
620
667
613
509
518
524
605
692
598
566
626
680
640
576
521
529
607
505
662
694
601
610
573
621
681
588
666
550
683
616
685
613
561
662
524
667
514
596
649
614
624
629
660
601
670
664
666
548
617
600
671
594
690
650
690
551
573
518
529
564
507
640
584
698
584
646
587
652
500
521
632
611
675
556
596
683
620
565
593
518
672
583
538
683
630
561
644
544
633
612
633
521
547
663
606
614
570
619
524
575
618
681
628
582
501
697
511
595
568
653
545
691
597
633
503
528
533
620
629
546
562
547
680
700
511
639
667
562
642
646
546
693
533
598
540
619
682
656
680
700
549
687
615
657
553
662
520
689
578
696
523
513
598
664
681
654
667
574
527
518
560
595
639
504
522
603
569
517
639
526
585
505
626
545
674
599
606
601
693
687
598
575
640
640
700
637
583
572
601
658
627
608
666
603
539
546
519
643
544
592
609
642
521
665
667
590
569
622
592
671
633
665
655
542
657
532
695
676
592
532
639
680
658
624
534
640
645
670
668
607
613
553
679
502
690
677
639
618
634
529
565
526
637
618
662
532
515
629
565
523
503
637
500
509
665
652
567
603
505
529
630
552
502
687
615
571
578
630
659
647
582
585
596
588
542
606
592
605
501
668
635
569
581
546
515
620
586
691
653
523
551
589
640
547
629
600
621
698
689
504
606
655
550
575
645
542
541
656
587
589
694
543
691
522
597
534
531
617
613
589
660
642
504
600
531
555
538
622
630
659
551
518
548
641
529
545
537
631
537
626
548
542
547
626
662
546
619
696
517
613
541
566
501
643
579
598
697
545
540
618
528
580
632
624
623
686
550
641
666
611
652
678
631
691
540
506
636
500
501
626
632
564
697
506
533
568
507
558
523
642
673
648
668
670
579
501
693
543
546
630
596
653
624
648
621
520
508
504
530
549
582
550
514
639
651
530
671
686
510
587
515
597
517
606
697
539
661
662
541
678
530
621
550
505
510
530
564
512
643
613
644
620
686
633
600
661
555
651
540
581
546
509
586
509
579
500
699
528
643
629
603
685
699
512
682
558
681
613
626
672
524
595
519
534
665
625
513
529
522
545
649
611
598
545
695
656
534
700
634
675
613
500
533
550
688
544
696
607
563
616
506
649
571
519
643
638
619
697
531
664
674
515
691
584
638
690
644
623
637
689
541
633
633
675
612
650
523
528
653
680
580
593
686
616
573
605
641
501
643
665
619
525
633
622
572
639
688
617
676
663
535
530
554
540
600
559
682
589
514
529
610
508
539
684
673
571
542
545
623
671
596
542
589
616
534
638
669
663
655
504
686
582
508
536
661
635
681
650
521
677
581
523
611
663
566
671
533
602
698
543
520
692
512
545
693
648
581
547
651
604
504
671
622
609
509
601
537
561
646
683
515
691
549
559
502
584
537
546
578
689
560
585
619
675
574
663
669
697
620
505
650
670
619
682
508
654
524
534
528
587
547
670
594
626
561
547
501
671
504
582
525
651
595
562
690
546
530
536
686
576
605
582
539
524
595
682
660
589
691
670
643
504
530
692
624
648
654
654
542
675
676
602
616
687
603
590
508
632
577
609
537
585
539
684
594
620
660
682
660
671
582
560
549
542
585
639
623
656
512
618
624
594
634
520
670
667
565
570
534
526
629
624
681
541
554
503
634
678
646
578
686
534
503
502
544
515
602
550
522
517
585
622
682
578
507
669
635
610
585
602
668
553
611
649
631
580
560
545
587
501
674
678
501
685
602
606
653
628
549
650
964
825
996
965
977
837
901
970
864
930
894
816
949
983
1000
995
835
888
880
979
892
845
950
937
851
936
880
973
869
856
891
836
990
893
913
988
807
841
881
938
824
927
910
950
896
838
835
813
943
855
821
806
897
903
840
839
941
959
923
988
918
930
888
929
838
937
924
933
857
824
894
869
901
903
874
1000
879
991
907
995
876
820
944
929
903
829
962
867
817
916
926
872
981
968
809
996
920
929
887
835
862
886
952
891
828
934
861
861
836
820
982
902
947
962
959
842
871
883
990
801
908
807
928
984
886
849
957
829
876
940
977
810
916
875
862
874
875
983
998
987
840
874
808
980
942
842
887
830
917
920
942
994
851
905
939
970
827
938
811
888
979
908
998
917
957
945
996
995
887
847
989
867
864
817
964
947
884
953
842
836
919
841
911
841
872
941
914
883
901
907
909
994
912
805
923
969
888
996
918
974
939
801
814
827
887
937
902
967
862
843
958
816
940
838
926
998
988
951
892
906
990
862
933
836
958
845
836
815
818
830
865
816
870
945
801
894
881
854
967
836
846
973
979
824
919
911
827
901
849
842
988
925
850
907
993
946
802
927
901
893
843
990
889
836
822
992
856
832
935
881
916
902
874
856
986
809
920
979
962
848
864
806
998
977
845
948
914
972
895
894
935
932
892
944
945
886
912
969
886
905
917
895
809
900
811
880
896
956
813
867
992
935
951
964
858
840
972
934
963
978
935
861
805
978
818
835
896
960
813
808
868
800
961
945
955
971
894
857
899
987
853
992
930
932
823
804
876
945
936
853
890
836
957
808
888
884
959
908
814
808
970
1000
869
883
905
985
972
938
840
809
853
808
891
910
935
993
917
808
994
925
938
846
800
854
892
947
840
816
823
887
847
933
812
923
804
911
954
893
861
980
995
834
979
814
944
929
929
991
829
807
995
952
987
987
896
884
835
854
937
865
820
967
975
828
914
907
847
929
978
802
991
1000
991
995
860
832
983
923
930
875
915
932
986
804
874
879
846
925
929
876
828
827
951
925
940
967
943
967
836
876
998
932
991
998
900
859
948
936
837
859
913
982
941
803
865
907
844
816
828
954
907
998
955
909
891
954
974
972
961
956
873
921
860
823
863
836
994
898
812
942
871
988
870
890
943
850
982
877
813
814
899
900
962
985
988
875
801
877
979
835
917
804
875
907
993
826
849
910
894
986
898
978
864
885
909
996
800
878
808
874
828
847
927
950
857
942
865
881
908
815
967
934
882
875
911
983
993
996
865
960
939
911
889
880
818
812
905
979
954
862
978
813
987
863
821
940
874
845
921
907
825
902
955
924
883
852
801
990
908
882
842
834
985
844
813
817
834
979
979
935
990
993
821
933
940
955
810
888
808
836
900
966
946
995
916
844
823
893
897
925
952
933
884
812
874
811
914
942
945
922
891
954
882
839
821
968
808
802
915
954
982
889
863
912
920
982
986
897
863
820
865
878
992
942
835
851
889
815
961
964
967
833
904
808
838
825
920
993
835
983
882
1000
822
895
938
981
953
838
820
835
827
876
918
835
894
911
860
857
871
884
874
910
828
964
909
997
948
869
882
853
939
935
901
916
957
921
947
827
943
878
820
825
821
913
839
899
884
998
932
941
976
950
995
948
804
817
880
937
902
928
882
879
917
957
892
906
909
877
945
892
891
905
847
823
831
996
801
892
906
940
992
924
896
858
909
800
818
823
885
972
855
818
978
982
946
955
867
988
874
864
875
970
991
854
857
923
932
994
942
863
959
906
806
995
919
863
875
926
816
801
926
820
854
887
865
927
927
961
818
946
845
930
833
901
998
942
933
961
971
988
916
884
973
882
805
966
999
849
904
830
953
800
834
946
918
855
971
807
987
977
929
807
911
805
960
973
832
901
924
905
869
809
921
896
966
825
857
924
918
888
840
802
995
837
1000
917
883
811
923
981
913
967
906
971
810
896
980
937
802
823
890
941
845
845
938
947
948
851
885
936
964
823
1000
883
895
952
905
932
993
835
918
900
904
933
948
896
911
908
974
889
815
939
912
947
954
932
847
979
889
957
816
894
883
991
852
954
875
862
835
941
910
866
998
922
900
889
968
857
985
879
954
867
809
801
986
918
999
956
922
857
899
906
817
972
920
964
918
902
934
946
851
882
820
850
943
808
927
972
966
962
866
837
961
904
975
817
943
917
962
954
825
901
918
959
823
914
921
842
850
922
863
906
834
862
811
934
915
894
877
994
850
818
906
826
968
813
841
869
817
893
909
811
800
846
810
919
844
892
869
807
892
883
839
826
1000
802
887
938
864
906
943
933
904
933
904
899
862
964
858
889
923
962
902
860
811
874
832
864
815
840
897
870
813
874
875
960
823
979
961
925
896
999
948
973
861
943
993
925
827
941
995
982
974
910
897
931
825
815
944
903
983
908
870
892
919
888
839
994
894
877
840
852
938
988
874
920
818
941
943
984
955
911
869
838
880
911
848
948
846
865
997
863
924
844
901
900
892
964
895
916
826
945
829
962
931
801
889
979
962
983
878
852
805
849
914
952
882
863
842
836
839
979
918
850
806
996
939
813
910
819
902
894
845
804
877
806
860
983
923
848
924
876
805
987
802
939
912
978
902
992
890
816
904
881
817
900
987
991
931
977
845
860
987
862
894
915
899
819
966
852
931
878
915
867
856
848
921
880
918
894
942
970
808
806
898
902
846
986
837
981
913
899
926
905
832
821
894
997
937
863
990
880
825
948
876
950
998
925
864
908
807
953
943
907
842
921
948
926
818
930
824
826
880
893
848
997
876
944
999
950
892
927
953
865
883
807
956
870
994
995
982
940
1000
889
801
801
940
825
813
968
994
826
904
936
924
888
999
843
836
990
936
841
805
999
822
817
971
933
918
865
849
831
875
967
819
863
937
922
918
984
999
915
970
996
925
941
804
926
908
972
891
833
995
984
903
839
805
960
997
1000
965
889
847
910
844
931
928
863
964
985
966
961
902
894
885
867
904
991
988
935
886
822
839
903
810
927
840
928
987
976
982
877
840
864
968
848
879
945
991
994
929
973
964
972
873
803
985
950
947
825
928
842
886
913
913
968
884
953
810
864
982
974
864
973
808
842
951
902
881
998
819
870
891
801
815
889
853
921
838
963
944
808
851
860
882
835
822
853
905
977
952
937
999
850
806
814
952
971
950
843
934
853
997
856
817
923
860
986
825
827
881
911
974
957
886
811
996
814
998
945
953
944
930
902
960
976
801
975
895
977
812
892
810
834
972
896
829
871
999
895
899
906
1000
931
922
815
956
878
831
869
871
871
863
899
948
829
827
868
974
985
961
807
815
883
819
800
802
899
907
951
933
857
955
856
948
868
950
987
960
887
903
872
800
981
862
843
948
852
845
949
930
945
835
986
822
839
995
806
854
868
996
874
846
978
964
885
849
923
943
952
964
928
975
907
984
892
866
954
840
993
878
930
910
810
977
972
943
920
917
864
999
875
824
980
822
870
880
859
832
948
855
997
837
945
943
992
918
988
807
809
960
983
977
986
878
841
975
892
823
989
892
879
870
987
822
854
968
870
905
891
912
893
879
983
944
921
835
983
945
835
918
969
816
868
831
908
923
970
964
874
926
843
944
988
977
977
1000
836
873
829
868
831
935
905
813
964
829
834
846
955
944
853
939
902
966
955
903
842
992
826
980
993
950
925
828
870
918
804
923
975
968
924
836
944
837
990
908
916
920
900
887
909
810
895
996
982
823
935
899
860
840
943
816
936
987
837
905
924
843
922
908
814
828
803
934
838
864
811
952
841
855
845
932
900
883
941
992
824
894
914
818
809
960
911
841
916
919
942
827
900
884
836
959
991
871
1000
949
891
840
911
898
945
888
961
820
859
803
945
816
990
909
859
994
855
919
966
991
807
852
963
854
904
921
970
870
951
946
975
893
865
965
918
873
946
978
888
960
815
981
898
881
980
817
851
808
841
996
823
840
888
943
822
858
867
926
915
978
983
870
930
803
822
851
918
871
841
836
886
882
821
827
950
910
956
985
858
855
806
960
999
899
992
951
887
872
865
832
834
924
918
816
954
890
935
844
925
845
817
870
830
1000
838
813
830
913
940
850
965
866
802
996
977
876
821
1000
933
985
879
887
969
813
1000
979
884
831
989
829
857
867
814
934
940
919
906
936
899
810
841
840
868
895
979
838
856
975
981
807
838
854
986
884
870
949
871
803
905
872
885
922
864
949
931
974
999
802
831
947
985
848
872
944
837
812
920
840
908
906
903
870
980
991
999
965
810
943
924
946
806
950
937
844
958
874
887
933
932
987
918
867
999
955
884
883
832
852
943
900
948
988
808
968
966
805
839
918
811
812
871
989
886
941
960
837
896
841
877
890
999
998
954
844
898
991
889
905
835
831
804
826
827
948
905
929
923
811
800
836
938
859
935
887
805
884
808
862
926
923
929
977
832
826
894
996
918
846
856
974
850
858
859
862
837
980
865
965
915
909
906
875
982
870
854
983
846
911
963
823
968
879
904
864
991
845
908
952
904
927
897
920
956
973
985
898
829
843
953
908
865
971
893
864
896
911
900
880
814
815
848
999
965
893
905
980
811
844
905
987
963
883
868
845
884
869
958
835
805
813
820
923
865
900
854
924
966
885
826
851
946
877
970
933
880
807
921
848
877
900
844
939
861
836
968
993
897
909
995
850
865
837
908
870
938
948
951
891
1000
995
865
960
862
874
822
834
949
983
885
810
933
864
910
924
800
945
998
913
838
807
892
951
984
827
964
999
879
852
927
891
936
956
864
998
876
998
963
892
929
856
965
815
911
840
876
997
982
861
818
999
837
963
935
886
832
819
863
885
810
937
908
868
828
920
966
998
901
858
810
941
864
932
867
943
915
979
986
891
850
942
824
814
938
915
952
854
995
911
855
903
962
978
941
919
900
856
930
813
802
843
864
904
993
856
829
996
855
909
862
863
831
887
855
897
977
890
840
997
918
923
899
938
909
834
868
882
919
880
949
972
808
963
996
923
861
978
914
820
848
983
956
970
991
934
881
1000
934
924
987
810
909
885
936
931
993
843
954
977
804
844
849
989
863
952
947
974
995
857
954
811
814
867
997
994
890
888
877
907
941
829
808
938
867
994
900
826
946
930
826
852
936
936
852
863
888
861
826
817
866
848
896
827
986
847
898
801
920
851
865
993
958
985
993
973
912
950
808
843
904
989
891
935
858
975
952
983
935
949
993
937
823
824
833
996
974
963
916
957
923
886
997
949
850
865
1000
943
801
965
844
892
965
916
948
936
990
868
958
858
996
814
890
809
813
939
805
880
985
973
900
807
892
935
808
959
897
957
917
913
885
844
922
878
937
873
883
955
963
878
970
814
907
884
825
860
916
877
878
997
801
902
912
836
967
968
865
841
994
999
985
820
807
897
991
848
993
954
917
947
980
984
845
818
865
934
945
810
879
988
831
975
916
1000
831
978
1000
938
922
838
932
968
813
964
844
816
872
864
800
819
818
887
953
906
859
807
823
974
901
948
802
809
947
822
966
896
868
849
923
919
874
820
828
936
873
939
835
834
990
831
915
955
941
991
844
889
963
957
960
956
918
947
887
823
989
948
988
823
982
961
933
841
988
943
831
826
876
923
801
957
921
947
898
979
806
988
906
832
922
800
878
908
907
911
817
809
887
823
861
864
996
923
874
919
802
963
877
836
987
956
810
914
953
806
949
878
825
956
919
829
913
883
925
982
916
861
872
918
869
906
877
937
812
885
844
974
974
910
816
908
868
922
827
947
962
979
963
854
907
994
915
869
897
974
937
874
885
903
814
849
989
956
947
947
841
835
1000
996
839
873
899
822
857
973
908
900
833
991
894
983
855
820
818
931
999
956
810
980
842
830
907
904
802
959
980
924
811
870
927
955
961
928
928
888
978
908
933
965
918
825
909
842
863
856
913
899
965
982
905
841
951
966
807
833
951
997
905
986
854
973
967
899
812
891
867
954
982
942
935
868
873
888
983
800
886
824
922
866
880
849
854
800
990
888
892
960
929
920
915
920
821
818
806
848
875
964
920
808
879
984
963
961
988
979
992
979
811
847
923
964
809
801
973
848
893
889
960
808
912
975
850
812
966
991
972
880
883
999
862
865
841
845
887
861
905
834
900
814
960
801
921
824
898
886
972
905
928
820
907
898
930
821
952
881
972
863
841
867
937
860
800
985
905
866
1000
937
911
984
986
955
989
971
859
871
999
846
963
819
819
825
996
993
837
916
911
856
932
848
854
890
950
852
825
815
884
874
802
852
930
909
867
803
867
918
835
896
906
926
972
948
869
809
977
822
984
936
937
924
881
872
995
810
977
845
997
841
839
801
882
945
941
983
817
891
811
887
953
909
922
838
845
984
927
984
920
957
879
952
868
858
935
946
918
929
969
918
974
993
864
837
888
824
840
804
930
951
986
937
938
924
868
870
817
935
992
809
894
849
968
965
849
869
968
927
807
942
858
1000
976
955
964
946
935
947
935
915
969
823
866
952
980
925
992
839
914
801
878
965
852
880
937
980
959
895
907
978
966
978
930
874
834
848
855
813
860
810
923
860
870
810
923
932
993
911
913
983
968
837
965
912
967
933
937
839
851
951
869
905
892
948
860
939
982
805
869
960
912
884
808
833
937
857
809
815
904
820
812
805
876
972
892
978
872
957
940
902
891
926
853
853
995
969
903
975
930
872
812
881
836
995
809
812
871
940
926
923
854
943
963
964
965
815
856
844
811
864
906
981
914
941
881
928
936
997
884
863
933
897
833
811
849
911
942
933
860
927
933
939
835
901
904
947
899
827
848
905
828
872
888
817
822
996
999
821
861
989
846
876
940
950
807
906
902
827
1000
850
898
844
948
817
832
876
909
948
896
960
937
869
823
822
948
878
803
983
909
920
816
868
808
909
934
884
859
847
985
994
961
839
804
871
937
869
953
898
892
945
881
815
902
841
855
892
956
826
847
943
990
962
948
830
968
980
810
868
972
833
880
953
993
938
842
932
937
821
967
933
964
854
860
841
853
948
801
944
804
923
823
986
872
931
881
839
917
925
894
817
921
819
839
916
874
916
915
924
976
923
878
890
966
848
821
824
810
835
914
959
807
849
805
891
914
943
1000
918
859
873
839
843
852
856
873
801
829
851
827
836
925
954
963
864
966
854
905
878
910
969
838
805
959
959
973
990
883
873
837
936
884
950
921
850
931
879
806
904
821
824
822
910
901
992
827
955
932
861
912
833
976
899
880
904
879
857
941
977
979
883
825
833
991
858
915
954
931
938
905
939
954
921
978
941
892
881
894
971
903
954
919
813
869
886
873
864
921
998
823
835
828
819
857
847
875
859
961
999
960
884
860
907
892
905
927
812
986
804
861
863
853
861
888
818
849
881
957
926
965
968
984
912
903
932
851
816
964
965
920
889
955
997
840
935
931
845
999
983
931
913
969
888
947
932
836
948
962
873
852
817
822
889
901
895
973
907
941
951
807
976
912
928
879
864
969
894
995
818
977
945
891
802
810
852
983
818
842
922
894
897
894
871
827
801
889
894
924
811
848
919
878
997
951
864
832
856
800
988
926
910
820
999
833
906
897
837
944
846
814
999
954
839
812
913
833
913
978
874
967
917
897
902
873
835
952
896
860
851
930
815
851
997
871
888
962
826
955
955
968
934
800
939
864
876
872
992
808
845
941
990
860
972
912
874
918
981
947
940
886
856
855
965
951
922
805
852
884
935
986
983
982
953
858
962
936
900
915
992
877
926
839
872
920
907
887
985
830
821
816
950
833
875
811
972
894
907
926
895
926
867
964
985
963
937
961
959
948
822
998
946
962
889
865
920
845
901
965
830
937
832
979
808
973
978
819
958
875
905
912
812
920
925
936
854
803
881
970
988
966
924
950
818
821
823
899
998
937
858
822
973
897
962
849
955
916
866
953
846
880
886
943
899
807
832
961
947
958
944
842
827
814
881
962
986
842
818
911
819
971
961
965
996
821
981
804
847
818
931
966
994
890
966
982
897
1000
845
857
836
844
930
804
921
832
883
800
846
973
868
986
960
970
884
884
910
916
883
867
913
1000
822
940
806
867
923
997
890
906
816
835
954
872
986
905
915
838
927
908
933
861
969
936
895
886
826
874
947
903
805
841
974
856
1000
947
917
840
905
877
829
984
915
840
912
880
870
992
801
977
963
971
984
989
974
839
813
973
806
953
997
828
834
929
864
1000
944
928
806
802
918
890
954
935
995
878
902
800
839
818
949
872
856
872
884
953
844
965
964
870
834
999
994
992
944
837
924
886
856
934
876
824
861
841
806
836
825
850
978
830
810
917
981
972
848
873
919
900
905
971
818
831
988
995
938
861
867
870
886
868
870
989
965
924
945
913
873
820
868
925
964
882
880
956
960
836
846
871
823
953
1000
1000
933
910
809
881
816
817
849
915
886
844
837
811
877
948
801
865
884
827
818
971
858
985
931
814
999
823
904
832
820
943
843
933
809
993
827
922
963
825
931
954
965
919
891
863
993
819
929
965
885
868
833
914
944
824
889
993
840
825
828
915
893
887
934
800
913
890
832
918
810
989
819
880
949
880
977
946
897
941
832
817
916
804
834
971
954
931
921
981
817
983
934
850
991
813
808
952
886
819
826
801
896
928
983
932
972
966
810
933
842
860
990
943
913
989
899
951
995
948
828
972
917
973
868
826
933
883
999
925
826
802
889
971
941
904
886
936
966
907
906
951
818
896
822
941
814
927
816
880
876
808
935
987
884
860
941
879
832
870
896
930
804
950
856
992
897
998
855
965
857
918
877
893
868
982
941
847
949
840
985
948
843
836
824
929
880
928
815
925
828
827
960
881
841
961
819
910
913
942
968
959
874
901
915
930
859
807
938
852
916
810
980
825
967
809
861
815
832
817
807
965
931
912
980
948
939
816
943
975
812
868
839
808
908
851
930
954
895
989
810
885
908
873
811
809
938
948
920
832
881
898
956
972
874
850
936
843
908
929
888
911
905
843
878
898
836
877
928
973
984
880
884
970
867
935
896
983
817
907
949
908
919
807
834
1000
996
861
870
840
856
937
919
917
941
880
982
815
809
875
800
988
852
967
961
800
938
950
973
898
948
900
984
931
989
851
992
829
900
866
990
826
817
865
909
858
913
878
909
922
835
914
841
917
913
900
869
985
962
915
834
938
805
832
802
917
807
941
991
983
868
962
894
879
897
863
828
881
803
895
990
939
982
874
883
803
822
910
839
807
997
921
905
995
881
802
881
873
913
983
966
878
801
876
932
933
858
927
888
976
810
903
864
890
986
951
967
873
903
815
827
910
853
931
822
916
891
975
935
876
875
904
982
950
991
839
878
819
823
838
904
807
988
814
854
964
866
857
964
972
897
807
922
945
889
910
929
986
966
913
813
828
835
989
812
907
996
836
993
898
958
937
929
804
911
949
865
981
807
844
998
958
888
982
895
938
923
929
811
913
827
839
933
988
919
892
924
813
934
975
949
808
831
921
848
853
898
819
928
834
884
820
912
819
801
996
884
986
816
972
948
956
988
902
812
828
806
915
818
902
983
836
899
862
860
914
845
905
860
860
911
832
864
836
984
847
979
919
819
853
960
923
911
954
936
969
941
915
842
961
887
861
842
838
848
858
919
824
832
945
966
821
827
860
803
821
940
935
875
868
880
959
990
950
864
896
849
981
906
817
802
953
935
958
964
887
823
993
839
814
844
814
972
904
858
1000
862
936
915
934
830
979
805
815
903
919
881
999
841
875
1000
836
838
830
994
926
888
886
854
980
975
913
958
999
877
919
933
870
818
969
966
836
819
908
826
843
905
807
948
868
933
886
886
917
945
908
920
999
989
933
888
827
808
989
965
869
991
882
958
919
905
860
972
855
970
831
948
956
803
847
891
872
915
940
850
872
993
861
984
906
842
975
822
926
922
813
977
944
915
929
914
939
991
917
946
999
858
969
911
911
834
815
986
894
879
842
1000
850
937
828
931
961
945
959
930
877
853
844
980
891
909
869
856
886
978
997
935
825
933
855
907
981
838
907
941
850
941
865
855
810
947
887
845
862
802
929
983
904
878
987
876
817
905
966
912
972
957
988
869
900
906
882
808
842
818
903
870
992
933
916
843
884
955
996
832
939
926
825
835
891
969
929
867
834
802
849
809
853
973
865
812
937
922
847
863
988
843
974
935
911
937
905
823
956
929
963
901
913
839
879
953
849
981
966
830
816
930
999
932
903
843
885
810
877
803
865
804
800
936
823
972
889
943
952
874
975
961
977
867
844
803
808
885
831
816
925
835
942
921
974
811
827
896
854
877
972
916
991
820
802
808
972
838
998
889
940
805
835
988
920
860
953
848
910
912
853
967
853
904
814
909
906
953
957
1000
891
948
988
965
851
940
970
827
930
858
888
881
805
836
838
919
939
942
973
815
903
857
870
985
948
863
924
897
882
932
891
974
812
809
923
802
838
929
966
933
805
872
841
950
978
846
820
949
846
987
979
870
969
840
914
925
987
881
939
984
854
946
817
937
810
995
845
984
973
909
849
982
863
988
949
922
901
842
871
830
832
820
894
915
890
846
884
825
818
808
988
918
978
967
880
829
855
814
885
915
958
973
943
895
904
841
905
898
811
802
958
827
861
871
878
923
890
969
946
801
902
846
915
968
933
909
971
834
937
843
811
858
918
881
976
986
804
906
833
982
843
876
842
930
925
932
992
830
965
995
928
835
992
920
886
906
974
852
926
967
834
896
901
985
934
811
892
984
879
911
927
863
890
873
962
953
821
826
985
892
877
889
996
974
930
881
964
864
904
964
946
808
925
866
949
872
842
876
886
891
842
910
963
923
847
850
993
942
808
946
873
944
980
987
955
968
996
917
929
811
946
892
961
920
918
991
871
808
896
895
894
991
1000
905
988
862
954
990
929
912
873
835
986
988
906
981
835
883
889
879
876
888
916
906
829
941
931
937
941
891
890
850
966
982
994
926
984
874
974
929
950
901
917
851
842
924
996
857
861
942
892
831
904
824
905
947
881
916
836
817
830
976
993
931
997
968
969
810
887
942
975
924
800
999
827
816
858
964
879
946
849
936
1000
914
933
807
872
883
838
920
909
963
972
974
840
959
940
921
947
843
855
857
988
817
904
888
1000
903
981
829
951
803
939
977
988
814
913
991
875
933
883
997
835
990
833
905
942
818
921
850
972
846
878
843
824
949
999
876
995
953
900
997
800
913
852
810
902
925
954
843
926
875
549
626
520
565
641
550
510
690
646
562
520
637
679
519
507
648
673
512
634
695
567
688
622
540
578
519
645
514
646
685
641
697
503
596
640
654
653
584
500
677
530
686
699
567
628
687
527
522
509
632
681
589
631
615
545
603
579
699
667
544
632
622
638
524
611
689
668
647
509
523
655
576
581
587
694
501
683
692
537
623
671
575
671
620
518
550
501
502
693
692
615
642
560
673
607
648
531
570
607
544
623
654
667
596
508
645
560
582
653
695
544
503
699
598
690
592
533
700
519
593
543
599
567
617
602
511
561
668
700
576
560
605
641
684
566
578
513
679
503
549
519
611
518
692
669
686
572
650
627
627
577
545
676
634
521
667
594
662
504
519
583
668
682
613
546
561
628
679
645
580
695
594
531
580
619
573
635
634
692
594
660
625
660
642
529
632
551
564
664
530
690
650
511
544
630
524
697
665
652
588
683
700
636
592
625
620
517
555
502
542
521
509
647
678
650
566
516
517
512
692
570
682
596
533
700
667
671
558
623
588
652
643
580
608
544
603
532
676
617
601
563
687
644
589
640
532
688
505
602
518
626
656
661
579
606
522
600
686
577
678
614
507
613
682
627
563
569
597
610
561
559
598
557
545
686
560
503
658
516
609
583
585
564
541
655
516
646
693
541
582
673
665
671
590
606
547
568
594
627
545
661
642
533
537
557
516
543
678
616
666
538
500
581
508
625
640
681
674
675
515
545
557
681
631
686
528
524
533
651
651
537
695
568
606
630
636
620
690
538
550
672
511
515
695
572
594
549
525
651
607
545
582
588
644
511
622
594
524
572
622
520
669
666
549
638
644
632
667
563
699
621
689
553
567
530
683
682
529
624
605
633
511
551
650
532
613
610
511
557
593
677
512
547
690
610
593
639
594
510
631
507
687
590
691
558
572
634
655
575
667
586
510
659
573
504
591
502
597
536
691
660
574
510
608
507
512
656
564
503
557
602
535
598
649
668
648
551
543
507
600
506
694
507
667
536
693
500
515
642
511
558
538
538
603
577
525
685
538
675
568
637
683
502
668
691
640
639
586
606
583
520
541
660
515
687
505
693
592
504
590
650
650
683
694
585
646
554
619
633
601
682
649
623
566
574
627
563
657
600
676
534
682
686
698
608
529
560
601
673
604
683
596
509
670
536
561
521
648
514
683
610
642
642
598
698
618
583
593
596
537
520
532
602
573
622
635
658
564
578
505
515
539
555
569
689
601
698
613
646
680
595
506
566
614
544
519
563
544
700
611
676
635
658
582
534
539
666
539
661
659
656
602
596
626
692
578
540
547
625
623
615
619
540
520
610
541
657
579
525
606
565
512
614
554
641
621
503
554
626
629
568
698
678
658
683
597
577
598
515
564
679
502
585
513
500
640
679
601
511
516
673
681
692
700
602
673
604
535
654
540
659
544
594
551
678
547
513
535
572
606
688
525
697
670
694
686
555
691
635
606
522
688
668
556
665
512
667
616
699
566
623
514
515
618
526
510
634
627
597
520
692
638
528
515
515
561
546
519
533
501
661
622
673
523
688
529
532
567
515
516
639
638
633
534
573
631
642
683
581
626
520
536
682
556
598
663
690
584
502
632
516
609
690
621
593
565
685
633
697
527
641
531
587
681
533
545
588
547
578
628
634
537
634
572
565
527
548
548
558
617
660
593
585
642
581
634
658
614
634
518
590
635
505
645
526
565
676
623
617
527
550
509
585
581
551
644
678
572
618
555
660
581
583
660
549
665
530
584
520
613
601
670
562
685
536
527
554
629
522
665
586
532
575
635
615
563
568
507
680
565
508
593
591
531
696
668
522
649
575
507
517
643
606
620
594
660
607
575
585
620
598
538
656
693
600
504
569
509
596
584
510
662
654
513
677
658
553
698
526
652
581
626
667
648
652
548
569
553
572
509
666
579
573
511
693
583
524
666
699
643
521
688
508
522
502
699
565
554
631
680
697
678
635
590
572
517
699
634
531
551
590
614
691
592
684
549
641
501
590
556
629
584
623
507
684
663
559
696
597
561
654
533
660
548
606
583
635
619
503
688
598
508
505
620
596
577
597
545
688
651
605
564
526
500
620
695
652
657
540
522
500
554
576
549
517
695
568
592
565
566
507
686
651
633
661
635
642
592
699
614
594
538
638
677
653
626
570
658
571
609
525
514
646
624
611
697
651
622
697
539
601
696
584
593
643
607
619
520
573
680
585
667
662
519
599
594
667
528
662
559
590
588
632
695
545
549
563
528
584
584
666
532
682
681
538
682
628
578
624
661
532
685
573
556
611
658
588
680
557
549
544
617
601
671
635
593
652
653
604
612
611
539
525
575
519
604
670
629
657
628
663
683
684
650
569
697
552
582
630
576
682
688
603
560
649
699
562
528
653
508
602
656
585
563
633
545
534
515
679
682
646
658
665
510
546
542
650
603
670
559
579
613
682
614
634
647
602
652
529
643
614
532
650
612
530
692
506
634
533
591
693
638
562
569
613
537
596
512
650
514
587
514
514
674
604
668
549
674
624
679
649
656
568
665
643
627
604
619
535
552
604
698
535
536
586
644
582
661
660
665
528
678
609
666
689
608
600
542
588
555
659
647
589
604
508
595
551
614
581
531
669
547
550
638
559
635
578
518
543
546
543
682
576
665
537
561
634
551
578
555
663
544
519
598
547
571
521
533
553
577
546
545
552
641
648
609
581
527
535
628
696
663
649
599
547
559
563
573
669
541
541
646
502
519
534
521
678
640
526
654
653
657
658
573
648
673
683
594
575
559
500
522
560
577
620
585
551
520
638
547
606
591
667
671
535
515
602
585
629
537
649
555
662
524
616
653
500
516
519
516
566
529
502
660
657
533
679
580
504
612
512
611
615
608
578
619
621
672
652
589
594
554
562
689
615
552
551
502
586
600
596
522
639
539
605
529
592
542
641
519
544
617
567
635
531
622
613
670
617
521
663
618
564
603
607
542
606
579
670
586
510
504
549
579
590
631
644
689
525
597
631
688
555
565
697
507
582
607
573
588
600
600
688
568
643
561
623
505
597
600
572
656
589
660
572
654
647
670
656
640
502
605
660
600
508
540
643
606
594
513
675
597
665
594
642
528
672
636
567
537
602
659
673
605
673
573
692
556
686
568
610
568
512
546
514
607
665
610
537
632
523
641
535
585
683
509
634
685
510
629
693
555
601
610
545
502
609
603
688
659
508
500
678
519
612
544
605
536
528
530
529
501
525
526
557
509
543
581
623
671
531
516
509
540
669
677
520
528
696
516
679
585
571
518
599
684
578
515
575
504
530
565
680
537
635
573
697
517
592
647
564
550
664
627
563
508
585
592
558
698
677
691
698
525
525
542
545
626
624
582
523
665
558
698
700
574
538
587
528
565
655
572
528
596
657
642
689
695
568
681
623
536
673
599
640
518
607
614
573
676
647
613
527
673
508
594
587
617
615
659
597
564
623
635
516
696
645
586
580
655
531
511
530
542
505
593
641
659
535
677
528
649
630
626
541
594
643
556
522
603
512
508
523
618
610
550
588
502
579
696
651
584
611
613
502
596
613
514
637
675
619
608
638
692
637
670
690
525
611
592
658
680
639
572
680
681
517
574
693
620
652
527
593
501
680
594
539
661
601
557
700
532
513
587
502
556
608
670
583
510
586
509
505
573
549
591
531
675
582
639
663
581
551
684
682
547
668
580
602
584
589
656
604
502
686
560
583
641
595
649
638
617
508
686
595
582
640
611
651
511
630
506
660
501
505
648
630
548
577
608
561
534
690
528
676
661
589
647
676
666
601
612
607
656
542
508
700
662
691
621
635
574
658
675
533
688
653
570
642
649
650
684
606
638
640
545
660
652
534
636
691
514
604
513
673
618
649
640
650
677
511
656
656
668
522
534
526
617
602
520
668
610
583
651
573
605
603
546
581
580
528
575
671
513
645
530
649
652
563
513
567
698
592
691
662
514
511
637
554
570
569
690
592
517
597
616
577
605
589
687
521
568
553
610
601
619
692
518
693
554
640
635
568
619
508
542
510
673
564
611
521
584
661
608
538
564
544
698
570
632
681
588
586
693
521
648
624
648
667
527
631
554
508
679
664
670
519
676
653
656
584
540
615
612
524
564
505
642
581
617
550
515
530
615
640
687
663
538
637
618
559
651
688
611
540
695
503
691
631
549
599
564
594
540
589
503
597
636
520
554
575
519
595
573
680
542
632
572
640
523
598
628
592
629
685
554
675
692
532
659
598
581
539
527
531
641
519
636
680
532
663
638
521
641
695
612
521
571
592
501
500
596
656
545
674
692
639
642
666
593
691
530
647
697
637
656
647
634
650
672
599
583
516
559
555
653
622
667
554
576
559
687
652
539
653
639
664
652
683
503
628
674
511
677
679
695
587
601
628
655
669
517
547
699
595
616
512
545
633
691
533
638
539
635
622
520
644
670
565
689
582
654
609
557
684
687
597
603
691
624
591
692
617
655
619
627
631
669
640
545
566
683
592
530
694
674
550
510
634
567
679
683
633
545
606
500
648
619
569
700
546
626
538
685
673
672
511
632
651
521
611
678
525
511
628
679
699
629
558
567
540
578
593
640
540
640
517
693
658
620
554
566
612
540
633
636
681
673
633
612
661
583
630
650
598
687
661
520
548
542
648
592
668
691
529
517
692
663
630
682
632
631
572
613
673
576
548
620
502
536
668
593
566
582
544
537
620
665
537
597
570
697
589
588
613
626
675
540
557
584
691
621
568
577
538
592
539
581
626
608
655
649
502
670
653
561
554
591
569
662
575
696
686
624
677
660
576
676
666
667
580
682
525
648
693
535
639
620
551
557
662
635
525
685
615
609
652
671
520
594
608
700
652
511
534
680
681
507
553
638
671
643
502
526
531
624
579
528
663
647
654
641
601
533
581
670
610
609
620
695
670
541
603
548
672
523
592
543
660
602
544
548
663
666
621
700
615
659
600
569
537
582
690
585
659
511
592
685
678
519
645
678
657
670
697
570
587
585
557
581
680
523
578
629
692
526
587
538
666
653
698
660
669
567
655
663
602
696
553
656
648
515
524
682
616
508
600
542
545
624
570
651
636
516
511
512
605
611
582
610
614
616
686
644
577
655
574
514
559
618
633
583
668
634
517
596
673
634
595
541
542
669
663
650
679
564
547
540
658
586
588
563
626
505
573
681
595
534
542
625
636
621
597
654
672
664
617
524
691
537
652
505
648
621
635
516
554
629
518
694
530
644
686
506
642
646
672
653
554
566
631
639
561
502
527
698
678
649
601
525
588
557
609
606
690
662
661
628
534
610
546
584
678
625
541
568
640
661
564
551
594
559
515
551
641
681
564
576
674
543
646
632
530
620
567
595
506
507
678
636
525
671
616
639
641
656
580
584
600
690
618
503
501
510
661
651
686
649
681
666
580
531
525
576
643
588
650
667
563
685
595
518
504
526
624
645
589
616
541
559
641
671
558
614
520
532
534
623
607
601
645
567
607
646
521
538
607
627
567
646
590
572
645
652
541
665
539
580
572
557
622
564
505
655
628
557
654
549
525
513
680
644
659
669
583
608
615
551
621
677
608
529
670
606
598
609
698
511
598
558
609
573
656
556
529
679
664
535
625
530
590
606
519
535
533
578
529
562
698
634
690
591
584
571
557
642
622
680
505
635
646
561
576
502
523
577
593
684
511
631
681
685
653
646
539
657
692
608
558
679
653
525
591
576
639
609
604
542
559
559
531
652
676
536
697
587
555
633
664
586
603
675
665
547
539
545
556
557
511
543
662
602
616
503
512
660
678
530
599
624
688
561
667
512
510
576
566
527
560
655
575
635
673
513
623
583
605
520
640
536
689
645
577
678
552
548
662
646
552
545
631
615
611
552
655
545
628
616
634
570
651
573
643
640
585
545
628
623
505
567
652
501
697
539
549
611
609
539
559
659
615
643
655
530
575
562
635
572
637
618
625
560
692
694
616
620
501
694
647
570
505
621
532
511
563
607
508
610
544
555
593
621
680
590
582
517
618
506
687
638
586
566
611
669
645
679
618
681
619
606
566
646
584
695
526
534
595
639
548
663
620
550
512
668
558
635
635
550
698
547
687
665
684
649
527
683
543
524
672
661
528
697
663
538
579
565
653
662
571
605
678
694
679
588
527
598
693
694
509
605
640
553
560
563
644
607
682
529
500
601
562
652
559
654
590
512
670
627
671
520
678
637
563
558
682
598
557
508
621
635
563
586
534
659
552
673
596
669
570
606
657
591
637
602
644
594
549
659
559
645
534
648
615
665
595
666
683
587
677
624
687
514
556
531
542
520
687
506
674
694
575
642
513
680
544
574
655
685
532
501
588
581
598
665
554
633
603
538
610
536
659
546
681
638
622
562
590
613
653
576
659
609
521
568
546
500
606
546
679
512
649
612
550
515
600
504
655
611
638
551
636
536
626
558
578
587
587
616
640
536
575
573
559
507
622
527
658
591
679
526
504
615
520
660
643
542
660
657
680
682
601
558
658
568
691
651
657
525
619
682
696
504
658
679
600
582
625
580
615
633
652
692
649
564
667
534
611
610
598
696
585
530
600
696
558
624
600
642
563
553
682
505
680
544
569
675
535
671
698
554
528
569
579
550
694
663
605
601
680
585
569
538
651
555
542
526
685
612
633
627
604
507
610
607
593
529
548
595
524
545
622
696
699
656
658
534
513
638
538
520
639
511
515
684
627
535
505
657
607
568
539
625
592
605
694
512
504
623
596
520
541
508
518
506
569
679
676
653
519
650
663
513
655
547
640
525
583
512
555
500
588
634
533
547
613
522
536
549
570
509
648
560
689
627
636
588
549
564
670
637
688
600
660
586
633
688
644
656
674
690
579
662
691
503
639
565
599
538
517
508
573
578
575
683
642
585
513
670
637
603
595
586
650
605
657
641
520
572
638
590
694
586
570
507
593
535
576
606
625
645
578
618
610
697
515
535
556
516
515
642
504
519
507
560
628
612
626
506
651
685
515
524
511
608
533
575
591
629
605
587
553
627
569
633
585
642
641
561
502
652
591
577
599
650
557
527
529
689
552
509
525
567
698
519
642
683
633
661
610
616
515
685
512
514
564
687
556
620
597
695
609
511
645
505
500
665
592
549
627
654
584
601
694
644
645
625
691
552
569
634
600
570
667
596
616
698
584
663
585
536
530
520
535
599
590
571
535
613
678
528
660
627
507
533
621
509
691
568
591
688
539
602
700
684
574
573
567
569
597
569
691
561
543
506
663
588
663
554
561
592
576
541
515
621
552
692
546
566
536
639
615
654
684
636
570
602
653
662
510
525
518
694
560
546
679
638
601
577
671
570
700
501
536
628
633
607
619
622
537
685
571
638
676
547
670
601
608
539
700
508
606
599
644
507
664
533
689
542
614
671
545
525
691
624
599
628
685
620
594
669
680
605
606
622
597
540
698
700
625
688
687
617
561
694
524
691
516
512
582
658
675
633
687
560
648
678
560
518
632
687
630
605
666
572
576
512
586
695
655
567
554
668
639
580
583
507
582
523
503
526
596
688
678
524
503
700
632
561
648
540
563
591
613
522
567
506
613
649
517
629
589
683
682
521
683
611
585
606
572
690
656
526
666
512
580
501
607
636
679
510
514
640
645
516
653
517
656
653
583
658
666
556
683
576
691
593
619
641
619
582
618
537
575
513
554
571
556
605
690
513
640
694
530
637
665
679
503
584
513
573
551
668
656
529
591
660
542
650
567
628
605
619
506
521
524
546
527
511
678
612
509
611
635
586
658
568
688
674
505
600
579
669
696
684
612
606
635
653
667
597
644
679
543
535
606
688
607
520
650
606
657
674
617
517
664
515
613
505
545
677
667
528
698
636
663
616
673
513
607
523
587
535
602
624
670
589
541
594
567
572
576
634
519
614
578
546
571
592
513
635
695
556
506
606
647
507
672
565
502
592
528
529
560
548
656
613
644
556
539
675
678
655
547
687
632
672
546
508
540
513
669
532
614
529
641
546
674
586
551
607
571
588
579
531
641
549
675
566
586
576
686
638
546
634
599
584
568
652
523
673
675
699
647
591
561
695
635
681
600
593
633
636
527
621
669
699
572
646
604
588
587
667
501
510
617
606
625
662
524
511
628
520
608
557
542
684
622
598
641
669
641
577
620
615
500
647
531
685
544
669
504
543
520
559
625
563
577
691
583
671
675
615
549
699
510
518
511
698
517
574
604
541
600
585
673
630
631
556
517
598
529
622
578
641
588
550
526
635
671
545
533
655
629
623
560
573
572
614
671
691
604
585
560
613
669
633
662
589
689
615
658
651
590
688
603
684
554
573
662
532
618
645
599
582
622
695
656
564
524
615
653
522
692
566
544
680
598
649
586
598
622
580
522
590
655
662
508
675
663
690
574
688
627
649
663
607
516
575
512
544
593
666
524
559
684
580
590
535
639
617
568
664
682
571
546
663
525
692
556
588
656
647
675
537
579
568
599
587
578
552
527
666
549
632
575
599
604
576
650
672
698
583
656
530
542
512
611
515
546
535
519
650
618
561
620
554
599
629
620
630
568
695
507
645
679
692
503
682
541
657
645
549
552
620
601
543
640
627
642
573
509
642
661
675
617
561
635
604
592
686
628
543
663
554
658
536
696
685
577
552
668
653
642
651
546
608
603
695
552
653
647
656
568
636
606
680
526
556
556
611
631
678
669
619
627
558
513
506
543
615
700
620
545
644
555
605
590
559
622
545
656
616
537
523
690
679
527
686
597
669
592
691
544
583
546
667
529
663
519
596
678
657
540
577
694
507
585
594
583
625
604
583
622
522
691
609
560
588
614
501
502
645
598
592
661
523
689
582
504
644
505
640
531
561
523
546
648
698
570
581
598
634
537
655
632
602
625
576
689
677
649
654
535
622
563
514
616
613
619
517
555
650
508
512
575
572
636
546
576
503
528
622
543
675
561
577
643
679
637
573
603
512
536
694
689
674
517
619
543
602
587
630
555
644
538
547
698
683
638
543
641
695
672
642
623
651
508
590
666
540
700
505
601
626
524
592
670
620
594
532
594
624
554
592
695
560
542
518
693
564
545
509
670
645
547
555
535
675
648
519
544
636
554
603
647
560
576
572
562
607
624
533
640
583
530
675
565
641
622
552
556
532
561
574
670
687
506
598
518
605
618
690
552
665
639
609
659
511
700
630
671
609
574
636
591
647
673
538
550
648
677
500
591
673
688
526
546
644
605
645
677
552
654
500
581
502
590
667
508
654
563
585
552
694
620
554
567
623
636
551
698
699
624
589
533
569
627
613
570
610
524
646
512
584
604
647
651
570
639
571
652
666
572
525
542
659
569
510
672
547
527
619
598
572
631
591
523
589
616
543
503
686
626
652
537
653
600
508
520
529
687
522
674
588
929
863
990
960
837
914
962
926
838
852
958
976
907
948
861
856
881
962
920
881
951
834
820
855
874
958
927
910
847
965
930
904
983
927
834
817
955
902
988
889
903
933
953
978
934
888
875
820
846
842
966
978
949
903
904
868
994
910
819
912
859
814
956
905
824
968
948
828
856
815
950
942
902
944
807
842
886
984
859
951
856
997
878
857
958
955
970
915
964
946
889
839
957
879
978
849
835
978
999
933
914
856
899
993
855
871
937
843
953
946
839
897
870
903
986
972
881
945
896
935
988
939
848
804
993
923
820
829
854
811
812
976
940
988
926
828
847
933
855
804
812
994
876
886
883
889
954
983
805
844
841
856
922
869
828
916
890
982
999
996
992
946
810
877
824
934
826
899
999
967
939
825
884
893
925
830
968
863
812
819
839
958
871
924
894
876
957
924
930
899
812
971
814
922
939
919
872
932
862
970
933
925
968
807
824
807
836
826
859
937
940
881
958
833
847
809
811
873
976
865
826
939
803
868
987
824
998
889
820
992
822
868
835
844
931
869
826
856
915
984
851
804
800
805
996
958
926
922
837
913
992
873
992
811
884
959
925
946
960
803
908
849
972
999
949
984
973
866
960
896
932
950
973
821
935
972
896
848
863
959
807
972
872
846
916
886
979
889
960
957
887
928
810
941
812
947
927
887
949
801
851
890
991
908
834
883
872
974
853
987
882
952
820
973
920
873
854
811
978
993
962
833
981
981
950
812
826
859
957
804
872
835
825
812
995
983
904
809
826
883
870
893
949
951
812
838
891
868
974
923
913
910
929
861
845
934
902
901
823
809
946
946
817
939
921
993
817
807
897
972
921
873
803
941
910
861
855
979
902
962
949
863
851
950
988
842
872
996
836
905
938
937
939
844
818
997
874
935
929
852
848
926
900
886
973
814
883
861
843
955
865
908
934
828
837
803
842
966
889
993
903
870
867
875
881
849
927
900
977
986
976
821
854
952
914
816
806
804
972
976
947
937
926
890
819
990
879
907
858
852
937
933
995
973
906
953
920
927
904
949
845
975
957
997
989
981
948
881
962
958
814
931
815
877
976
899
920
983
969
858
829
899
801
968
874
908
840
981
858
893
932
932
931
801
867
866
893
987
967
905
819
996
875
812
840
985
806
950
852
874
848
923
984
897
882
884
803
937
970
964
837
902
959
972
819
947
878
938
890
816
904
801
857
801
813
908
858
811
960
932
879
802
921
952
974
956
962
948
805
829
842
958
925
922
958
999
933
985
831
943
820
986
927
911
950
926
940
902
885
893
946
995
962
832
935
837
854
900
959
923
821
919
930
884
985
914
971
989
980
856
887
873
954
909
931
983
844
849
955
804
874
851
877
811
870
895
934
825
844
817
889
949
947
859
999
894
897
942
870
933
837
809
818
957
974
848
971
824
915
876
975
881
809
842
806
837
844
939
976
826
929
931
957
990
922
830
981
957
914
843
855
910
846
891
811
971
834
844
870
886
891
930
994
819
824
831
888
935
924
965
907
823
942
931
901
836
848
957
994
830
916
882
859
802
887
804
928
942
992
814
911
966
966
929
870
894
956
901
895
803
932
971
967
878
886
819
923
943
902
870
953
805
950
853
948
969
962
880
803
831
864
991
811
845
978
815
867
968
972
940
897
924
811
888
895
895
850
865
828
855
928
992
881
893
871
979
930
838
862
895
866
860
953
969
921
853
973
965
801
901
881
971
912
950
977
865
916
822
889
882
833
976
939
944
820
879
817
1000
904
834
947
868
1000
817
801
848
918
811
839
1000
804
979
982
997
855
825
822
803
977
913
915
910
899
924
983
843
988
823
984
912
917
967
841
902
858
856
818
827
816
994
925
826
944
809
919
847
915
842
834
986
912
979
806
866
978
832
921
929
871
824
932
903
964
884
864
896
892
834
828
802
971
880
921
940
897
896
846
940
980
923
915
906
820
948
967
906
879
890
926
855
993
830
902
868
948
918
869
808
971
924
846
814
952
823
938
888
900
962
800
989
836
849
912
900
904
866
804
900
862
857
836
876
888
814
952
838
826
829
953
996
811
883
923
895
863
857
892
860
885
909
863
829
978
859
964
963
927
908
920
822
932
901
883
803
816
947
908
845
827
990
944
837
809
836
965
919
829
971
933
940
847
884
998
845
822
948
987
979
841
823
951
908
821
836
974
848
840
986
992
830
842
921
957
902
923
871
832
851
875
863
932
969
905
873
824
908
997
825
938
834
975
996
832
860
830
987
848
882
819
806
945
846
887
921
914
941
914
993
903
803
925
980
867
989
883
800
914
911
982
838
874
895
885
892
820
841
942
964
988
941
894
900
900
813
908
998
840
821
834
840
868
829
847
873
865
835
996
963
976
981
870
902
925
861
933
868
919
956
846
850
953
993
816
973
993
909
987
984
985
950
926
870
943
932
865
991
886
914
896
911
956
875
841
979
920
945
819
865
928
865
1000
865
972
853
879
853
904
808
939
863
948
917
864
846
809
918
817
893
871
831
827
874
987
905
840
932
978
966
834
917
989
854
836
976
853
806
898
947
870
817
934
983
845
894
915
994
978
803
979
892
832
996
894
978
848
947
978
973
999
927
834
843
960
966
861
989
853
831
925
910
804
855
836
866
830
952
982
965
920
865
932
831
900
988
880
949
925
985
885
832
820
911
914
958
934
947
852
897
870
830
876
917
992
870
923
972
998
824
819
817
883
955
804
876
920
843
942
826
978
985
843
875
977
889
869
859
932
811
942
850
839
863
846
892
896
864
832
848
943
899
844
952
923
951
802
846
953
856
844
901
805
895
810
838
918
824
954
936
945
912
907
830
803
939
875
940
887
952
976
832
959
854
847
968
806
872
810
863
971
947
971
962
885
993
823
813
937
875
866
959
850
983
836
802
836
998
808
986
840
871
939
950
890
864
862
817
900
935
989
940
870
893
930
869
840
948
804
851
806
938
896
985
974
931
908
970
996
919
955
921
889
983
896
856
815
912
989
946
963
916
933
884
963
937
988
840
986
980
839
913
817
850
939
897
882
964
950
804
921
811
993
804
911
819
861
980
896
816
966
812
887
962
987
936
893
997
839
914
962
939
855
844
986
832
871
858
867
904
949
937
868
978
926
966
973
922
898
853
848
958
848
952
992
907
866
880
889
906
961
913
938
877
976
991
807
931
802
800
853
943
801
861
984
960
979
871
943
937
875
902
832
934
890
927
848
880
883
846
927
961
902
899
952
894
977
841
829
904
827
823
812
937
813
907
867
912
996
938
872
832
980
915
967
905
829
859
934
978
880
812
986
893
804
822
979
923
915
862
817
871
964
936
991
882
986
826
979
914
987
909
845
990
966
828
807
915
921
806
949
822
869
820
819
845
818
813
881
837
957
853
849
834
884
955
844
939
850
991
971
839
965
882
995
911
973
839
805
915
888
813
916
987
833
932
963
833
886
918
879
907
835
956
896
825
832
993
940
888
846
811
986
884
936
895
935
942
825
878
872
1000
903
921
899
952
870
996
906
901
877
972
869
814
956
924
930
978
891
906
813
930
996
818
959
892
989
912
810
830
950
920
982
899
848
985
897
887
811
915
956
966
892
881
1000
927
923
846
973
863
881
883
941
912
914
912
942
839
816
876
819
828
974
998
930
846
857
806
809
911
881
812
913
961
919
822
1000
881
825
992
820
913
905
887
820
912
874
962
945
974
859
854
893
895
843
852
922
830
828
834
879
970
874
960
836
908
955
915
918
912
890
844
856
849
931
948
916
893
907
998
878
1000
966
801
854
840
827
993
973
937
871
861
956
901
827
944
825
997
879
962
905
908
839
865
842
902
971
902
908
907
950
888
825
931
884
813
932
909
879
939
890
923
880
851
830
863
862
949
835
889
997
997
915
902
919
901
948
986
892
930
817
981
839
808
868
833
816
859
905
822
943
875
965
978
938
911
906
853
872
884
916
982
828
972
952
841
833
858
907
864
877
901
921
848
896
902
933
983
997
891
953
850
868
979
992
870
891
890
971
890
821
917
929
998
978
887
924
943
801
929
814
819
919
856
897
861
852
973
846
921
950
936
928
988
966
921
851
876
817
878
867
929
999
805
989
925
987
913
954
880
861
887
898
815
963
1000
821
896
878
984
859
967
960
922
898
868
870
893
876
950
850
827
867
898
831
990
837
843
820
860
893
998
804
929
880
859
979
834
878
995
895
927
982
883
869
879
954
885
846
942
819
819
907
823
883
921
1000
824
933
953
844
932
837
967
858
985
915
863
941
952
927
900
892
949
938
845
998
874
929
887
907
840
813
834
922
832
845
896
961
828
883
978
880
888
856
913
993
932
920
803
931
863
842
821
877
956
872
815
930
827
949
942
863
866
829
975
925
946
957
977
829
924
939
875
998
980
969
986
876
872
878
973
890
942
849
946
827
866
989
823
931
907
830
972
898
818
927
873
837
848
966
902
817
838
871
929
941
947
927
802
912
908
980
888
817
802
884
828
931
844
837
993
931
854
971
906
966
986
905
844
905
840
924
976
920
850
929
991
842
945
853
930
818
844
998
888
898
838
804
940
978
988
826
934
978
844
831
957
808
901
991
877
949
980
802
855
975
996
817
952
967
825
889
844
890
979
945
837
975
956
972
924
936
938
991
878
823
969
904
959
919
811
984
838
907
925
948
927
859
916
852
821
941
849
986
876
952
922
959
817
922
907
882
976
930
996
982
928
917
811
890
889
901
920
987
977
940
804
996
945
907
926
901
884
819
805
965
835
947
953
932
832
842
971
974
930
855
917
963
851
934
886
844
941
876
849
888
856
983
929
973
817
978
913
935
854
887
907
870
822
916
958
809
887
919
989
978
905
1000
855
830
887
965
931
991
834
957
923
932
878
955
939
810
893
932
908
976
923
936
998
836
815
863
960
937
994
899
993
998
883
988
888
838
947
838
954
902
984
997
877
947
885
866
839
890
993
807
993
900
993
844
937
901
893
958
916
821
999
878
890
986
970
993
889
895
985
858
885
850
843
912
933
956
902
989
819
857
906
970
925
841
807
970
991
833
944
874
917
898
874
806
941
992
954
823
984
864
803
913
843
819
962
839
996
843
960
964
814
865
825
892
905
998
822
996
802
956
848
822
803
857
953
867
889
859
1000
971
953
947
878
809
888
942
877
850
977
905
861
835
845
932
989
919
947
983
915
996
921
882
853
860
885
872
860
809
990
853
823
879
970
856
877
985
805
997
951
812
983
962
875
813
909
834
818
866
804
893
841
998
955
1000
915
803
820
949
891
951
892
976
971
934
831
879
943
820
869
926
905
807
876
946
922
858
986
910
967
989
955
913
825
922
942
967
898
911
855
868
993
804
863
963
969
975
827
930
818
907
937
878
800
838
914
806
983
858
859
801
955
947
917
878
852
958
988
855
822
967
973
999
888
957
819
974
929
963
948
990
836
853
975
849
857
998
998
839
813
864
946
806
924
840
996
992
939
973
817
855
981
848
841
904
950
974
1000
814
976
990
937
939
858
989
910
913
824
978
900
930
924
927
935
912
871
985
811
985
813
965
958
880
854
926
842
977
919
917
944
944
825
926
929
976
917
871
875
1000
941
940
815
876
908
840
949
800
854
805
990
991
916
880
921
883
984
911
831
911
932
825
967
821
844
922
930
826
962
835
863
911
944
921
976
822
897
930
899
926
934
981
898
862
959
991
921
814
812
832
980
848
930
815
938
937
957
996
988
892
970
990
889
932
818
956
943
973
809
960
827
869
824
849
898
888
918
933
997
804
862
803
907
867
978
847
999
878
924
965
900
889
838
859
905
878
849
835
814
916
974
870
882
962
989
863
829
874
923
999
818
982
895
933
942
848
925
1000
945
884
831
880
818
872
908
885
970
847
804
978
916
881
954
895
983
987
944
859
917
859
926
947
991
806
804
957
973
978
871
875
993
986
899
892
881
855
867
950
830
849
977
935
945
850
986
908
922
800
908
877
864
951
883
963
895
859
985
885
867
878
817
803
805
929
940
870
903
860
978
977
900
942
913
816
851
808
978
945
902
983
807
839
814
993
955
990
986
828
848
851
999
929
880
977
815
890
896
859
882
820
990
851
953
996
941
950
933
899
817
853
961
853
972
837
848
906
966
806
911
909
949
887
836
862
889
886
946
922
883
990
877
905
825
860
807
814
983
847
955
806
992
924
833
866
895
872
998
961
943
876
952
801
968
951
828
900
844
938
828
834
997
966
889
951
854
860
841
836
832
870
832
811
866
952
956
885
986
998
953
818
859
848
927
819
804
970
816
916
864
825
880
975
980
917
916
869
881
858
832
888
850
949
901
813
873
966
890
862
979
935
829
909
851
820
964
899
969
801
890
889
883
973
817
821
814
927
976
851
883
979
880
819
932
995
989
919
864
950
858
965
934
922
880
822
946
912
947
811
893
849
909
828
949
837
828
836
814
865
877
903
803
834
815
995
845
969
874
966
967
933
844
904
802
990
868
899
867
948
972
843
890
846
931
997
913
990
941
837
990
963
931
935
898
837
830
959
933
845
859
895
960
963
946
809
830
980
881
915
940
999
980
908
873
948
906
801
926
893
992
867
968
978
954
971
886
919
846
967
893
986
816
970
898
851
904
801
870
827
861
877
932
881
846
937
931
841
861
932
825
919
940
842
988
952
999
967
956
877
810
835
973
843
900
937
964
958
876
911
891
946
877
868
943
871
954
960
917
816
818
814
871
807
841
841
895
928
846
900
825
946
923
954
884
896
994
886
854
892
889
906
942
824
955
839
976
975
971
996
832
997
851
869
934
861
958
974
866
986
820
965
852
837
941
868
937
899
959
855
910
801
993
855
911
919
806
863
861
954
803
845
879
985
812
834
924
990
976
947
927
997
847
840
906
954
823
884
850
911
924
827
971
981
928
951
997
817
868
976
963
871
865
896
916
822
961
929
825
936
923
853
855
950
906
964
833
972
843
834
818
859
831
829
873
917
958
920
963
894
928
833
933
836
862
920
920
808
906
802
974
902
881
960
927
995
825
929
992
849
995
908
861
859
914
967
933
905
960
896
961
836
977
912
852
968
802
890
852
988
806
809
882
855
899
918
944
805
805
889
819
909
863
813
837
977
886
817
805
902
881
826
845
860
833
814
868
905
867
938
994
941
929
876
862
937
860
976
861
910
845
830
983
832
846
936
875
857
914
807
844
997
954
991
892
951
958
874
820
994
803
979
971
949
864
991
905
949
940
857
987
945
947
902
998
990
941
838
930
982
846
842
981
869
824
857
862
995
928
865
907
919
935
981
903
859
851
886
842
998
823
800
988
967
874
874
838
881
815
801
856
946
879
974
800
819
943
845
829
829
853
911
997
903
836
999
999
978
867
947
867
859
813
810
867
951
885
996
969
808
813
911
999
872
931
926
951
833
913
932
994
887
819
998
981
862
838
952
962
808
915
904
851
955
843
813
897
938
872
821
955
909
936
983
857
883
947
850
881
969
812
913
958
861
842
932
963
874
879
820
803
818
828
917
858
897
985
887
925
819
920
910
810
873
808
879
868
916
868
945
822
876
858
803
846
960
824
864
996
802
953
881
818
905
833
975
801
851
913
984
978
826
930
927
812
921
974
931
858
949
879
897
850
841
908
945
831
988
970
1000
805
882
946
964
953
990
816
899
858
808
910
985
1000
899
862
913
806
968
918
827
912
813
866
846
833
964
896
957
905
912
934
820
867
964
816
894
849
904
805
861
824
828
980
950
983
965
831
826
881
892
828
974
972
820
810
868
921
856
855
893
809
955
849
900
800
821
925
915
982
812
903
847
970
852
850
985
830
893
831
833
830
893
927
976
938
874
890
926
806
981
884
831
956
872
987
884
934
860
895
838
960
976
836
897
937
815
986
818
865
815
867
831
889
855
840
971
811
900
913
948
835
951
937
937
809
964
974
907
886
950
832
872
829
895
860
982
952
1000
939
997
973
815
850
968
1000
852
899
951
935
906
813
969
948
877
817
894
913
863
866
923
913
895
969
984
843
953
973
807
862
923
914
821
979
889
818
938
807
852
964
932
870
912
826
847
851
876
940
968
869
802
930
976
868
942
922
887
927
932
935
815
888
829
815
976
926
971
858
888
987
865
837
857
985
813
925
901
980
923
950
984
967
978
852
889
936
867
924
820
863
880
906
844
966
908
910
983
881
830
902
892
841
946
854
804
913
860
842
864
844
916
858
886
917
870
991
885
977
904
814
984
866
809
927
997
892
806
875
998
978
890
836
826
944
881
849
821
936
817
898
909
913
935
883
815
882
974
835
929
989
999
911
983
838
883
828
873
959
945
857
899
909
956
874
881
990
993
865
919
931
847
911
851
926
812
912
963
964
930
960
902
941
804
935
825
858
836
980
851
997
903
924
996
898
977
847
859
895
864
824
942
838
824
923
811
950
852
914
947
879
820
946
899
864
914
966
825
847
897
911
883
954
866
917
941
963
862
903
920
862
988
856
846
957
809
902
958
968
905
929
810
803
916
981
955
871
814
961
908
975
875
835
948
840
996
903
864
814
826
933
908
833
836
875
855
944
870
956
858
993
991
950
954
851
922
894
845
828
841
840
819
838
960
937
807
896
856
829
955
800
946
897
917
964
958
870
870
949
856
882
869
940
834
886
820
920
903
857
869
858
857
841
903
837
939
855
926
879
919
971
817
933
893
829
856
934
986
845
913
861
969
823
976
858
843
826
878
818
886
977
897
849
820
846
957
861
815
1000
849
940
918
932
831
852
831
899
838
985
929
918
820
979
935
906
971
867
953
919
806
967
946
893
913
834
882
868
976
981
905
846
831
999
935
848
922
833
934
891
925
982
931
822
923
889
827
994
937
918
906
955
824
928
821
888
967
990
976
967
969
901
929
968
882
860
892
834
994
883
868
896
994
962
950
871
970
836
844
866
918
944
857
882
922
854
868
834
965
994
936
968
856
968
836
854
913
896
962
831
878
868
802
927
811
958
810
968
897
891
972
862
839
842
959
860
934
876
837
803
825
858
952
870
903
831
971
955
900
953
895
859
835
889
931
985
931
948
830
979
989
800
920
907
922
854
923
891
925
998
931
879
979
977
806
950
924
974
918
820
993
976
864
809
875
983
915
904
942
842
818
860
924
851
936
994
894
857
812
802
806
937
807
865
974
980
957
999
924
881
952
909
993
916
970
996
931
832
845
853
945
890
993
837
974
863
982
955
996
819
858
804
969
928
844
854
828
972
930
921
963
884
804
947
933
1000
814
999
853
888
873
908
934
975
920
848
838
834
960
884
982
916
864
995
997
808
852
941
992
970
980
807
860
954
986
856
920
983
894
813
855
807
811
828
847
877
832
877
924
978
987
852
914
948
871
938
847
972
858
845
849
870
951
813
816
848
932
979
979
860
854
841
829
805
954
918
976
880
812
816
915
956
860
925
962
934
824
944
915
914
977
983
988
977
853
925
978
925
848
870
961
923
957
940
965
963
905
978
997
994
897
959
941
907
999
865
933
848
993
826
805
884
957
844
953
843
902
971
867
853
937
944
906
958
827
861
936
916
852
947
860
910
962
917
823
970
899
996
911
883
891
1000
898
828
971
814
818
939
949
973
909
939
911
986
917
902
844
851
993
982
825
984
950
893
969
883
887
995
926
994
829
807
915
910
914
849
917
861
949
974
849
999
820
803
999
859
835
843
872
838
872
828
854
988
995
940
895
807
888
815
877
949
954
950
906
963
881
901
877
964
920
946
965
997
996
822
883
842
833
859
935
827
957
881
819
967
914
876
922
817
956
944
914
898
993
830
950
973
849
996
982
847
883
954
943
831
805
917
931
1000
906
873
927
840
914
809
900
931
906
882
859
910
966
882
984
976
921
959
903
866
898
905
922
872
995
972
841
861
945
811
861
933
879
987
918
810
875
819
861
992
920
989
879
930
907
808
999
842
987
943
889
852
899
817
890
924
932
898
880
906
937
834
846
875
814
930
897
818
946
917
982
836
823
815
936
974
890
877
960
926
816
954
835
955
926
890
999
956
974
813
882
859
995
943
803
808
938
939
961
938
855
871
842
911
854
875
841
983
959
998
833
943
972
905
979
955
965
812
981
936
869
913
992
999
936
887
928
924
911
951
986
819
993
859
884
971
865
868
979
804
922
967
926
884
891
893
856
992
911
854
926
939
926
945
939
828
950
800
854
958
871
834
999
883
931
958
933
893
905
899
873
848
953
944
966
831
838
840
966
887
989
985
993
856
983
831
874
829
923
830
966
920
869
971
833
803
977
809
902
911
891
823
801
809
810
870
971
826
887
911
866
864
839
921
808
889
846
985
805
837
918
886
835
843
830
936
882
802
975
947
948
901
819
977
855
831
868
881
935
836
955
973
893
849
939
903
893
964
868
964
1000
826
861
890
954
886
954
876
930
980
976
832
863
854
967
979
842
847
925
972
998
867
887
936
968
962
984
989
870
978
940
974
986
927
973
889
903
947
891
834
656
615
559
625
636
675
669
597
501
613
690
579
668
576
633
618
541
555
529
659
521
620
554
629
696
622
668
501
629
612
675
675
653
502
523
668
593
687
522
675
699
545
596
547
638
636
626
542
663
504
627
692
535
582
666
606
618
564
679
613
531
698
650
503
582
569
695
522
593
558
641
558
643
562
597
656
572
514
516
588
583
511
604
673
629
647
556
642
515
607
614
658
627
623
525
560
580
589
616
682
605
570
624
695
642
610
591
615
615
662
513
626
683
569
558
611
694
533
684
606
534
655
505
601
668
617
540
637
540
589
559
673
631
568
576
594
513
673
596
624
545
578
567
631
638
536
695
634
629
594
565
625
688
687
508
643
687
610
530
666
596
643
593
558
654
606
582
663
547
636
629
645
620
674
562
663
586
526
577
592
613
520
582
587
530
610
564
624
517
610
681
596
508
613
518
601
555
616
567
649
671
551
677
687
658
663
565
657
566
500
511
578
680
631
566
530
644
548
504
599
612
516
693
660
543
557
616
553
596
572
588
613
578
690
514
629
523
509
693
557
563
554
551
501
646
628
632
517
591
505
673
564
582
511
540
681
605
644
554
607
559
548
600
521
503
638
666
654
699
615
628
519
672
661
680
664
591
594
697
538
583
508
591
554
582
693
580
620
669
685
617
520
664
558
553
567
511
584
609
521
566
503
610
547
513
556
523
699
646
651
552
658
632
591
504
598
516
675
595
666
510
522
637
507
634
534
568
544
583
604
581
556
622
652
574
600
626
576
629
614
571
506
565
585
649
638
608
589
694
543
659
662
585
682
650
655
547
506
645
573
616
679
618
565
596
615
556
588
600
687
583
588
551
517
676
593
528
578
600
570
650
574
525
682
560
529
506
543
634
655
541
666
520
662
551
531
564
647
504
690
645
574
641
680
684
543
538
656
588
594
681
526
618
647
635
583
690
653
555
507
599
564
540
542
689
539
537
581
608
568
510
547
503
621
697
636
672
663
554
584
639
675
570
593
673
682
651
516
598
637
575
645
559
510
691
651
644
631
642
520
571
677
638
645
686
691
512
512
674
574
538
588
660
679
667
629
566
573
660
565
601
517
541
561
542
594
533
664
518
675
563
615
557
556
670
611
658
502
648
547
546
573
644
626
606
649
580
645
587
590
660
628
539
530
532
668
653
548
644
599
676
525
651
671
585
579
514
602
550
615
582
643
550
506
555
537
565
540
610
506
569
525
649
694
599
586
571
515
500
556
519
565
543
668
620
508
526
657
573
560
575
545
650
604
501
645
646
566
559
640
537
538
615
511
563
663
598
692
515
632
551
589
682
517
542
600
560
607
650
578
612
604
502
652
565
632
683
700
663
555
533
655
666
697
572
538
510
641
695
598
518
689
532
595
624
601
536
583
540
519
559
558
553
546
654
601
658
573
641
545
658
595
640
643
688
501
525
532
653
549
579
642
549
579
560
573
565
504
623
558
654
567
622
513
520
589
502
694
503
579
612
637
661
532
672
610
679
590
539
642
689
552
538
619
631
525
583
638
660
694
542
681
617
613
556
501
596
696
588
584
505
566
574
594
692
590
577
550
584
518
618
583
679
543
532
698
687
542
681
569
612
608
681
623
649
596
598
641
585
644
647
603
631
691
572
664
567
547
683
505
529
539
517
637
621
557
615
511
608
579
595
663
538
692
637
543
612
612
533
587
604
559
541
671
544
620
680
659
550
677
589
559
514
583
621
616
680
537
611
645
673
575
504
698
645
531
643
620
584
548
607
694
605
618
674
566
595
519
525
581
633
691
687
612
544
561
519
578
603
531
582
552
544
591
536
573
595
585
639
513
684
612
594
684
638
539
684
543
601
637
514
557
573
550
686
635
586
618
656
605
692
588
605
616
614
597
623
607
697
663
653
677
580
666
557
699
549
648
685
547
594
655
558
514
509
635
563
650
513
563
618
632
620
683
535
579
529
695
690
692
627
595
591
603
615
506
508
511
559
620
691
517
548
687
597
573
635
611
539
648
578
550
508
696
650
651
683
636
662
645
543
675
527
612
526
575
598
604
506
667
686
552
672
613
681
639
641
578
539
680
600
674
522
629
647
530
692
691
624
685
614
576
544
551
542
608
653
649
518
576
562
632
639
515
506
511
683
673
644
590
516
612
567
610
508
505
564
529
619
579
634
633
662
548
570
513
512
561
580
631
680
630
681
583
568
528
563
622
670
682
501
570
596
559
656
520
601
668
620
605
524
559
540
633
590
500
568
621
577
692
553
599
647
688
561
547
678
673
571
693
569
510
678
529
580
666
678
637
658
565
509
621
627
636
699
552
561
504
552
639
681
578
509
569
528
679
674
574
640
519
578
566
617
548
608
563
654
649
539
572
628
620
510
566
680
591
558
635
628
697
630
677
671
557
556
646
560
663
657
623
639
500
599
631
650
613
687
657
561
572
628
610
657
627
644
553
566
667
632
543
530
523
585
507
623
689
642
626
673
624
639
525
548
692
593
633
503
605
618
520
550
652
596
631
500
587
645
558
557
611
553
587
683
610
584
538
547
595
593
582
668
548
524
611
597
594
637
666
507
602
561
550
575
548
538
510
642
539
547
635
652
689
552
699
599
587
584
657
664
520
648
604
577
511
661
665
521
523
677
530
687
528
687
617
628
587
608
605
570
513
559
671
533
662
562
673
607
609
624
678
675
617
553
665
575
559
613
540
646
589
523
681
502
565
627
579
528
628
681
612
566
691
572
517
600
684
640
617
651
562
512
568
543
597
510
546
527
599
678
610
509
604
528
521
563
577
538
527
582
595
610
508
688
684
610
614
621
609
575
571
680
518
596
677
674
614
585
592
694
578
549
522
667
663
659
552
663
538
503
647
553
671
672
633
676
516
593
679
511
668
605
621
683
586
678
633
556
657
511
568
616
522
674
533
635
605
640
517
693
573
602
620
665
699
664
573
555
534
611
553
534
509
527
591
648
548
668
607
695
576
515
696
613
619
510
666
514
659
551
697
538
695
667
592
594
636
629
509
500
510
661
662
571
507
512
636
678
655
685
587
514
673
531
551
603
607
678
676
608
502
654
697
586
504
659
625
662
686
546
620
653
578
625
515
669
688
511
551
577
547
676
568
503
570
682
587
691
604
608
604
510
620
606
592
525
698
530
664
512
665
540
524
553
562
683
589
609
611
673
588
692
536
659
607
617
695
558
609
679
554
582
586
501
616
507
568
606
577
602
600
680
502
552
652
519
538
511
544
697
534
545
687
521
666
619
640
534
641
515
682
646
603
580
688
656
631
696
553
593
666
535
693
656
531
647
547
546
691
507
674
526
625
546
611
642
681
627
667
675
598
559
599
545
589
612
565
649
512
513
512
676
590
558
574
538
501
508
545
647
546
556
632
519
605
560
508
593
578
573
646
653
660
553
668
572
530
504
635
597
632
528
525
627
552
500
687
583
546
639
692
616
656
572
503
633
546
656
564
675
559
508
559
662
645
670
562
506
562
575
679
584
671
523
678
659
623
571
589
584
561
595
520
537
655
589
601
639
695
590
683
564
521
565
581
683
550
653
550
663
516
564
501
514
586
691
637
538
681
695
539
557
537
563
637
510
569
563
590
590
648
618
666
686
651
574
626
521
665
587
520
525
571
653
527
516
658
595
640
543
673
650
514
509
614
538
608
524
555
685
558
534
561
691
616
609
646
664
597
639
516
569
553
592
676
633
602
514
662
542
667
579
655
608
642
700
577
538
652
595
527
544
613
579
509
525
637
647
501
613
608
533
635
635
529
592
697
572
680
653
518
518
677
541
673
629
620
592
635
664
640
555
622
613
506
656
572
650
558
677
572
626
510
684
689
547
534
669
500
521
559
538
529
629
574
577
617
549
612
504
684
595
594
561
503
634
500
573
625
511
560
565
542
516
699
544
640
583
504
647
544
628
570
638
628
513
548
655
509
589
512
591
550
601
699
539
602
610
516
632
508
529
516
517
524
513
661
689
629
679
561
643
661
684
650
586
673
509
636
626
630
544
643
672
680
562
559
609
698
665
555
673
554
653
545
681
570
573
666
517
676
583
500
578
601
576
612
607
556
536
603
697
608
544
581
602
698
669
525
598
681
504
519
535
532
507
677
620
559
515
540
609
552
514
604
530
568
537
624
697
604
539
607
591
616
604
653
590
515
581
505
527
559
638
549
655
657
555
617
595
591
569
585
535
681
569
614
627
509
632
512
604
694
695
529
679
575
636
514
539
661
610
501
592
502
662
656
613
518
640
696
567
670
686
632
521
503
546
683
548
501
650
532
544
653
573
681
683
610
553
501
502
503
620
631
607
514
698
678
685
620
643
654
603
627
664
686
669
622
515
583
601
545
587
663
550
590
528
582
614
615
643
616
661
504
592
676
553
608
540
533
681
693
528
503
503
597
596
511
525
559
599
639
514
597
631
668
600
605
675
571
632
575
671
625
661
613
561
665
542
505
668
533
691
662
604
649
691
581
620
606
663
696
508
619
606
666
532
684
542
512
655
571
526
644
506
599
622
532
520
523
624
581
555
657
627
543
609
562
559
604
546
613
507
577
533
557
558
596
640
517
598
669
540
554
586
628
591
622
611
686
542
575
616
597
502
682
603
593
568
679
643
622
592
568
677
690
536
680
636
515
554
681
602
602
573
503
678
628
561
577
533
551
667
550
574
560
613
516
631
533
641
695
541
614
690
600
665
669
561
558
542
665
509
627
674
591
640
520
517
684
675
562
686
500
664
589
637
644
594
608
646
587
621
534
616
678
593
654
542
611
633
522
630
547
678
524
687
605
534
543
603
629
636
630
635
550
555
570
562
612
500
533
643
533
676
673
641
659
623
664
696
581
579
600
700
513
529
634
606
540
663
693
687
502
682
503
653
567
611
569
687
619
600
574
555
621
603
567
623
638
653
508
636
620
540
611
691
605
537
626
524
613
520
641
661
665
509
676
528
643
563
693
674
513
640
526
580
663
568
615
539
693
683
666
597
640
555
694
529
641
535
652
677
653
680
505
579
613
616
620
585
565
635
556
689
505
627
586
552
623
608
546
678
625
607
692
656
633
581
635
557
565
503
642
545
610
687
613
698
676
636
604
626
666
588
620
664
603
659
632
575
697
568
606
699
614
563
505
683
557
537
680
613
582
624
677
593
594
570
643
696
682
678
596
688
558
595
529
533
501
578
674
628
581
501
624
557
524
687
551
570
638
542
596
604
651
616
627
641
645
568
539
569
515
676
681
562
653
669
511
667
644
668
598
549
581
511
616
592
554
637
551
650
651
516
570
631
674
522
656
519
625
606
699
507
608
526
628
540
616
672
671
616
588
569
588
542
620
645
625
672
579
528
656
673
514
627
603
593
695
592
660
623
600
600
578
632
545
546
604
614
506
629
503
513
691
552
582
594
517
683
544
511
631
694
521
580
572
607
696
655
580
516
509
675
638
554
586
629
677
514
546
500
599
630
647
537
553
648
607
586
687
586
685
547
692
691
539
500
575
661
578
590
625
640
526
505
538
645
533
690
589
633
629
585
542
624
502
619
629
531
559
557
597
583
616
631
553
593
693
527
507
590
578
540
582
601
574
589
700
687
672
645
522
675
540
671
653
657
550
571
542
580
600
656
599
565
659
526
699
685
559
519
516
616
634
545
512
582
518
691
599
639
593
505
509
552
602
557
642
607
528
569
524
620
603
554
667
519
547
637
602
625
507
590
528
564
551
641
525
538
508
677
614
654
665
554
656
522
503
575
524
553
557
587
555
601
514
592
507
525
543
524
646
622
617
564
527
599
600
583
574
648
638
575
515
596
576
581
691
550
515
646
619
653
680
690
578
563
519
585
688
692
622
666
612
634
508
681
513
516
554
681
641
676
557
666
590
572
571
681
508
576
537
552
677
591
594
640
666
627
667
673
568
595
506
601
635
617
592
600
571
645
524
660
693
522
677
508
592
575
693
539
534
636
510
677
648
548
606
504
557
627
549
613
620
613
628
510
678
559
573
519
630
698
683
589
663
578
575
549
524
629
611
534
680
630
518
509
530
535
619
573
501
523
649
529
632
671
633
697
678
509
584
588
670
631
529
581
553
664
693
677
592
513
668
575
569
550
556
668
655
594
697
679
673
601
579
606
614
671
510
684
561
637
564
529
628
515
604
552
523
528
526
643
648
534
547
700
608
550
528
687
556
625
664
632
636
548
598
622
587
530
528
627
569
593
622
619
653
547
685
675
637
631
665
690
593
518
522
621
523
684
531
526
572
616
578
505
686
671
567
597
566
517
581
644
617
504
697
656
647
588
635
670
602
631
529
549
684
655
624
574
694
525
546
589
587
565
691
637
691
695
629
622
680
537
696
594
508
610
639
556
573
633
690
694
623
566
696
632
645
521
528
517
655
513
578
513
652
692
577
520
509
694
631
648
636
613
550
591
680
636
512
683
686
512
681
579
538
582
577
700
572
595
677
576
541
631
654
675
641
691
510
578
555
607
572
563
629
524
608
507
653
610
698
544
632
524
668
660
669
604
637
578
505
600
611
552
654
649
660
511
645
588
696
567
589
541
594
679
527
687
659
565
516
572
521
633
530
694
640
645
509
608
513
697
544
648
693
665
563
511
599
508
652
679
609
612
563
651
639
502
568
535
664
617
669
566
592
529
515
666
581
588
532
684
623
522
521
655
578
512
595
590
633
510
597
667
693
631
634
659
556
515
678
655
683
562
584
526
501
607
656
681
564
602
570
654
525
622
678
608
593
518
695
519
633
632
522
537
648
628
535
602
532
545
694
619
634
610
648
657
599
688
697
680
645
512
523
675
519
565
639
556
651
592
617
604
585
558
696
641
541
586
517
626
610
541
518
610
545
565
508
643
663
555
524
581
640
619
598
598
646
657
549
598
524
529
517
667
695
588
532
596
562
674
537
543
582
634
624
606
587
522
695
562
505
622
547
556
663
631
659
616
527
515
509
698
613
572
598
504
586
667
589
608
584
500
534
543
533
564
538
659
594
631
516
626
676
698
510
617
579
522
566
515
565
619
659
599
611
512
508
595
520
614
657
614
583
643
691
576
540
589
677
626
672
610
613
669
638
567
615
548
578
607
633
568
664
659
624
613
572
554
559
554
644
537
566
583
610
659
679
520
588
650
513
692
637
646
591
622
506
565
580
511
668
631
562
570
618
504
608
505
522
518
584
599
509
646
605
601
567
580
605
593
684
630
650
604
656
581
566
687
605
663
607
533
676
537
500
679
636
579
546
661
529
510
618
667
581
695
543
554
641
542
677
632
583
615
656
594
697
640
582
578
675
650
535
576
684
502
529
500
564
698
500
639
654
571
670
623
654
532
566
650
589
540
672
617
582
645
628
560
641
644
694
685
562
580
547
535
557
584
619
660
649
555
520
664
569
549
665
539
619
633
674
590
532
676
584
633
649
577
611
688
517
513
576
546
561
565
571
518
520
699
619
685
551
543
599
512
562
606
629
558
531
619
674
577
648
520
666
699
635
627
535
577
678
615
643
584
625
622
683
510
621
664
611
673
555
557
634
669
601
636
545
677
679
679
507
622
630
685
648
647
676
679
678
621
651
632
692
614
588
577
646
606
633
556
552
560
521
680
544
532
679
628
549
512
658
680
617
537
635
593
611
676
662
675
669
676
547
643
663
661
506
625
512
643
614
652
680
685
533
562
590
658
678
533
603
545
692
662
526
530
651
616
529
697
510
666
692
634
634
623
672
542
608
687
558
696
586
520
598
551
696
531
541
684
617
632
600
639
609
582
587
536
511
561
515
549
555
501
625
503
607
593
657
568
611
580
575
512
684
653
642
632
670
635
605
639
559
550
546
633
670
699
529
645
617
518
590
668
677
677
666
523
545
649
700
510
604
584
700
577
669
697
561
524
513
573
502
501
556
581
591
574
645
695
570
668
558
620
506
617
558
562
606
643
550
640
557
570
593
668
700
507
606
676
678
696
606
564
654
579
654
503
612
564
544
693
639
607
653
542
589
673
540
653
643
634
671
525
673
534
556
662
652
576
572
612
581
686
682
696
608
590
633
501
608
643
656
519
654
606
574
585
538
575
536
691
679
620
672
580
699
678
574
647
617
568
513
681
632
591
596
514
637
617
513
592
604
642
566
696
566
550
549
591
645
530
604
555
666
694
674
624
541
641
513
536
663
619
533
682
551
609
647
593
623
664
643
539
649
575
615
534
505
562
698
633
561
527
527
693
545
688
549
505
669
616
582
517
585
530
694
529
635
619
684
544
658
580
696
637
588
593
512
623
541
685
688
698
655
660
504
542
510
637
534
512
603
604
590
592
675
615
682
506
639
565
570
607
536
644
559
577
575
683
598
695
502
558
536
545
596
560
545
564
686
659
543
580
508
633
639
633
681
636
698
603
690
582
532
680
612
561
534
630
602
626
664
698
603
598
626
603
587
637
525
514
572
612
605
629
623
645
559
578
671
649
607
558
578
520
566
583
601
620
662
668
579
501
560
700
682
503
662
684
579
628
601
563
553
618
601
548
684
639
626
541
544
558
662
534
513
512
522
658
690
515
574
545
577
603
585
590
650
623
599
501
673
606
623
570
675
625
570
509
700
595
524
521
680
578
588
651
670
592
508
697
646
628
674
576
564
594
530
671
598
596
612
605
614
650
679
696
534
628
573
682
615
544
598
620
547
688
690
597
643
654
612
622
637
517
624
665
519
578
581
685
562
658
530
501
619
565
563
673
689
680
620
521
611
673
590
605
697
508
628
506
595
518
595
531
695
532
675
534
530
564
616
646
649
521
563
659
542
676
687
564
676
511
502
560
670
622
570
689
514
624
501
510
560
675
508
597
689
525
507
564
662
590
554
597
575
662
502
693
683
608
621
579
657
642
645
574
506
621
554
502
662
666
613
597
642
545
576
681
650
631
507
664
527
639
567
629
556
633
655
683
571
656
610
630
518
644
612
551
621
622
561
629
517
543
537
508
620
672
502
556
552
613
647
566
516
523
675
564
572
546
551
578
655
526
693
537
694
655
680
532
573
555
510
583
510
694
620
538
544
568
545
647
689
512
664
603
675
656
509
560
567
573
640
672
663
527
527
688
648
597
616
559
515
653
653
561
565
518
683
617
596
654
666
516
513
515
689
649
501
633
520
584
689
601
607
624
609
579
675
636
533
680
622
592
660
679
557
571
673
652
552
652
631
593
642
575
521
531
622
501
686
567
688
542
558
628
583
651
692
615
646
503
605
566
638
583
550
630
660
694
627
554
502
698
590
627
560
591
649
682
506
624
673
625
577
536
527
507
664
511
663
621
596
578
655
533
655
673
614
554
631
572
698
639
521
690
694
554
517
675
660
699
603
629
558
558
515
581
666
526
584
664
661
693
693
558
510
586
593
688
672
526
660
578
553
635
634
551
500
501
557
501
503
543
611
622
520
605
644
695
537
636
647
511
650
698
521
604
655
608
638
518
529
698
592
563
683
566
655
517
558
650
612
672
605
677
536
689
678
521
697
593
663
667
606
527
580
652
673
618
651
580
634
590
527
698
695
680
662
634
647
534
606
648
578
606
581
648
569
642
579
589
561
517
605
594
554
665
655
647
613
594
695
632
503
516
564
571
575
592
619
551
508
667
577
634
599
668
639
694
690
605
582
552
504
566
611
694
568
594
660
645
637
598
625
606
606
654
637
608
522
555
694
539
666
541
657
683
635
638
695
649
595
566
648
527
643
547
508
640
655
577
562
570
606
613
504
560
527
575
506
553
504
538
547
625
596
642
529
629
533
656
584
668
606
662
540
548
671
544
519
546
552
525
563
628
513
558
661
677
616
651
572
677
541
503
570
640
552
593
588
653
542
560
683
562
641
682
526
632
529
512
681
557
697
529
620
659
543
535
501
518
696
608
572
508
523
644
629
641
625
645
684
594
570
558
575
543
666
609
542
626
695
615
617
665
672
687
626
677
650
646
584
534
669
531
650
686
571
618
622
667
550
543
585
537
540
581
633
687
565
571
508
580
647
507
640
645
538
645
607
640
531
576
667
663
602
547
695
676
679
646
522
563
655
560
525
659
542
623
641
592
545
535
652
551
559
612
536
508
547
643
630
656
624
613
507
590
506
557
539
547
649
656
626
610
548
647
617
512
678
525
527
681
698
510
592
525
678
576
584
519
678
522
623
676
696
676
594
599
692
649
593
522
623
682
686
603
505
605
596
851
979
951
974
950
895
972
879
908
836
863
939
907
927
903
809
857
932
878
980
969
952
877
934
987
823
906
991
896
885
884
930
909
930
989
860
828
931
955
861
899
958
989
825
959
984
933
940
863
916
938
821
827
878
895
853
832
950
875
823
942
990
841
885
921
907
824
808
955
852
822
804
940
881
843
866
886
964
967
856
848
843
991
925
911
856
904
876
893
868
997
894
890
864
923
954
855
845
847
901
906
844
932
813
985
897
875
965
927
879
932
938
994
828
837
950
916
845
874
886
931
884
919
855
856
990
980
826
909
829
897
919
959
940
929
883
914
923
805
806
998
807
906
953
870
843
960
866
838
851
902
815
953
934
914
818
973
964
924
814
972
945
818
957
846
982
866
886
959
816
942
883
857
907
917
806
882
982
842
800
946
812
800
892
827
946
948
980
926
982
874
929
893
945
861
976
850
924
879
955
966
979
800
897
862
848
999
864
871
806
855
945
999
895
854
877
927
985
952
885
836
906
970
972
939
912
942
842
856
993
968
969
976
853
849
870
990
999
868
964
872
969
957
897
838
906
899
842
922
921
990
865
826
841
923
955
954
949
804
859
838
940
884
939
887
867
842
934
952
870
906
905
894
849
855
915
937
814
862
995
856
882
975
863
995
837
877
890
803
818
984
875
866
957
931
958
950
807
831
826
929
914
855
982
881
968
845
860
908
945
830
925
815
984
875
826
808
957
861
947
981
997
923
837
989
931
808
884
970
844
821
915
845
882
929
885
912
925
902
951
973
820
927
814
984
833
933
852
970
817
851
832
891
886
948
830
883
909
825
896
811
845
803
885
907
844
839
911
884
805
899
801
995
833
872
866
939
975
858
988
940
848
974
948
841
990
939
1000
936
806
910
986
858
835
977
997
893
955
974
871
920
967
982
978
872
972
943
992
837
846
942
883
837
975
964
958
977
995
859
811
894
926
835
865
863
933
949
805
853
837
801
976
920
939
818
834
845
862
872
819
991
885
998
911
853
958
821
937
955
819
836
856
993
812
993
864
968
849
981
813
854
972
980
910
837
854
905
915
802
819
850
915
976
847
864
875
831
824
976
836
870
864
898
928
946
828
876
896
953
809
953
819
838
930
877
930
848
899
800
842
919
923
809
918
991
912
999
893
817
944
932
971
931
880
855
802
982
809
821
806
862
885
883
860
832
993
913
914
884
985
910
870
931
843
810
989
995
967
814
914
872
846
990
828
963
992
903
892
874
991
908
994
861
994
860
896
917
990
955
871
876
945
801
817
898
940
969
884
992
817
973
913
960
843
945
997
981
834
801
894
827
817
952
967
953
867
878
888
988
983
974
913
955
908
922
815
999
817
880
924
949
830
817
978
943
829
954
971
987
852
837
871
955
818
825
969
1000
888
941
820
943
825
882
925
900
933
948
1000
865
855
878
805
859
905
855
855
857
997
985
919
927
851
813
827
960
973
865
987
944
885
868
913
849
901
806
962
917
981
828
904
902
882
806
846
885
969
991
898
840
924
883
831
985
969
814
907
914
833
902
935
975
906
817
829
942
855
947
934
898
946
970
995
942
988
809
874
955
810
891
881
991
830
828
933
880
849
952
846
930
945
980
969
856
896
806
979
949
896
884
917
966
823
962
868
938
824
988
863
935
984
924
807
882
858
993
922
950
883
938
898
846
873
950
972
954
803
958
962
850
841
857
812
950
886
943
936
988
944
937
838
846
899
869
930
857
859
849
923
937
855
839
902
840
870
907
872
806
992
838
900
813
830
848
921
944
996
855
968
806
877
834
1000
874
932
989
922
827
821
988
974
967
800
903
940
908
807
941
992
808
826
875
976
862
836
889
817
854
980
944
876
916
997
867
908
913
829
890
813
950
944
816
867
975
927
822
926
833
843
936
963
944
926
964
997
972
896
865
1000
970
934
997
807
889
977
856
987
846
820
943
970
912
801
879
930
924
839
913
884
959
807
939
880
860
824
900
871
993
835
850
825
874
997
817
979
917
878
972
939
979
832
879
889
846
914
909
809
923
935
890
918
951
923
920
929
963
809
961
958
917
961
838
978
986
949
956
914
922
888
849
974
940
911
911
995
944
995
947
945
986
895
852
854
923
988
901
989
942
869
903
829
952
901
851
975
884
981
808
829
846
981
889
863
847
994
870
990
959
807
841
994
889
807
859
844
844
953
982
963
866
809
916
958
846
966
894
899
963
839
924
873
994
834
960
893
887
890
871
963
859
864
974
999
825
871
979
877
812
803
932
844
869
840
989
814
879
897
891
873
929
991
899
905
831
821
836
846
856
960
948
857
956
966
804
957
850
892
818
802
958
941
826
898
893
819
877
942
945
842
918
912
816
964
857
888
806
898
894
992
973
853
804
935
997
882
845
825
874
965
978
824
863
914
907
876
879
976
899
989
898
927
806
962
954
907
922
812
926
973
984
943
841
898
804
906
982
994
912
838
906
826
838
943
968
802
822
964
814
835
811
868
949
836
810
872
892
827
838
838
839
876
808
828
949
897
911
856
832
808
848
951
829
819
972
922
982
956
807
995
826
877
879
933
972
800
832
899
839
847
971
875
994
853
942
929
908
972
864
835
801
837
921
951
942
916
888
958
888
819
987
903
937
997
824
865
907
846
908
1000
906
833
855
864
884
807
844
927
876
975
979
849
821
855
949
896
823
944
900
917
855
932
865
993
850
988
906
840
881
946
821
950
953
801
834
905
989
825
963
931
879
932
907
808
851
865
851
815
812
837
825
930
986
854
994
847
969
994
897
904
916
828
856
955
803
892
935
847
937
848
989
998
861
819
830
828
960
948
921
890
815
933
960
955
875
913
923
903
987
822
880
868
961
998
886
890
809
919
988
962
965
817
897
887
939
964
869
894
955
918
879
800
977
892
835
943
810
886
986
911
901
929
887
928
961
957
805
975
877
995
989
925
809
927
841
867
871
873
815
920
904
959
893
846
931
813
802
826
822
846
956
870
815
867
976
994
949
989
891
828
899
969
948
945
935
847
927
1000
900
801
995
973
848
920
986
836
906
880
843
859
934
850
802
842
851
951
832
947
922
800
862
818
848
903
931
844
997
800
997
922
999
933
830
998
857
845
852
854
925
942
907
874
963
983
805
988
954
891
963
901
996
911
816
831
973
804
841
985
893
865
945
815
983
956
959
850
874
804
972
986
845
881
833
803
858
996
973
889
912
991
824
999
840
864
810
934
908
895
896
947
906
926
885
817
897
956
938
983
810
910
820
879
803
920
947
807
909
861
873
942
815
865
929
910
892
983
930
918
890
844
984
805
962
905
808
916
899
948
1000
889
877
893
985
819
995
802
883
815
877
905
965
980
977
868
847
813
853
941
838
926
980
879
979
958
906
893
832
995
826
929
858
953
858
959
930
826
958
975
939
834
946
864
836
873
890
1000
978
833
906
934
924
865
939
816
874
944
883
801
901
960
959
814
908
850
827
950
806
921
999
987
908
809
959
924
954
911
811
909
923
851
830
919
878
947
830
967
831
983
932
975
974
811
911
853
820
964
812
841
973
870
810
844
989
906
860
824
912
849
973
841
875
987
978
998
811
823
953
962
947
885
989
817
806
852
878
919
837
996
941
842
902
840
847
932
821
898
885
854
946
953
955
821
816
993
988
967
914
943
957
958
876
883
955
934
886
839
806
834
820
888
940
833
806
940
826
882
907
871
943
954
845
998
866
933
921
918
834
820
989
800
802
954
941
954
822
883
896
869
863
925
825
905
821
908
890
864
847
925
801
933
907
863
875
965
915
888
867
846
947
916
997
965
880
843
879
843
864
843
886
866
940
945
903
859
961
897
976
926
935
872
989
944
847
978
805
953
841
987
872
993
915
834
807
896
895
827
833
983
982
849
930
994
946
939
970
958
918
850
962
849
896
839
981
800
860
897
948
973
993
871
815
923
821
816
924
842
899
813
886
918
812
976
879
819
896
985
846
936
852
999
893
840
860
904
849
836
910
936
946
818
910
868
840
845
906
835
960
918
837
973
876
823
862
905
914
865
933
907
827
820
929
827
923
920
972
844
986
935
996
818
917
863
808
876
904
963
908
897
832
871
907
933
820
980
823
893
982
944
834
975
911
972
870
931
883
994
873
967
981
951
991
846
920
936
962
843
841
846
991
880
825
938
809
938
956
988
829
906
983
894
974
829
816
855
840
919
896
823
939
869
998
844
916
844
851
829
894
935
937
982
843
996
901
863
980
979
945
839
806
963
951
947
801
840
855
951
887
863
894
988
948
893
859
883
817
827
823
923
862
992
859
923
912
946
988
980
804
901
856
889
990
909
979
886
835
837
891
883
960
997
832
851
913
998
824
945
938
954
831
848
901
889
952
880
917
845
970
800
965
836
990
869
998
875
930
905
869
925
860
989
936
843
812
814
836
986
982
946
845
839
937
817
811
824
882
903
943
897
849
959
924
999
995
856
927
831
805
933
842
878
870
813
921
912
939
874
939
852
832
863
900
910
850
946
962
804
905
961
961
876
864
970
987
865
831
893
845
927
950
883
827
859
917
990
965
913
849
870
951
832
895
894
981
977
882
937
974
922
935
962
930
819
974
988
898
968
912
849
958
865
894
857
978
871
930
889
846
993
867
985
881
812
943
947
998
886
830
851
927
827
920
863
833
979
996
888
820
819
998
994
923
923
954
968
843
836
827
819
866
989
934
834
908
954
908
973
917
891
898
904
956
831
888
886
935
817
978
992
953
801
924
950
942
903
816
980
897
862
912
935
976
903
862
909
928
878
988
937
821
861
997
939
951
919
892
806
980
832
856
909
868
885
876
971
896
930
922
857
831
817
817
844
853
902
971
806
894
854
998
819
831
805
973
827
961
878
872
904
804
817
898
990
852
967
846
898
909
979
985
941
957
860
896
830
960
871
932
971
856
859
885
909
812
828
874
851
849
997
969
896
951
944
842
829
855
881
991
926
906
951
919
921
984
826
863
824
809
958
810
911
885
834
991
983
845
808
890
902
948
933
857
919
837
993
912
888
897
936
968
863
998
924
943
993
949
915
976
834
956
869
916
834
859
867
968
920
929
809
883
875
917
885
978
997
980
847
932
816
936
919
831
897
913
809
898
916
871
829
976
928
947
950
832
808
978
919
802
905
998
854
990
967
854
852
941
912
824
892
869
987
938
978
947
804
805
929
884
895
808
824
907
878
948
967
880
990
937
975
883
819
824
990
912
981
957
934
927
911
828
969
925
941
863
876
813
964
955
997
820
821
845
809
954
851
826
886
839
823
939
846
836
965
930
968
837
826
833
823
856
857
849
937
897
940
949
915
966
962
900
822
820
983
974
947
860
819
819
888
965
867
853
938
998
877
988
909
838
978
822
845
965
977
889
851
900
977
867
886
829
910
913
877
835
933
811
967
950
855
844
836
962
885
817
922
853
980
982
830
908
836
953
826
987
846
845
980
855
893
968
940
899
847
951
814
822
936
963
974
946
859
1000
887
1000
807
996
879
819
867
851
968
973
983
870
818
801
873
908
948
881
813
953
883
927
905
951
966
874
964
912
820
989
814
972
886
885
827
862
885
842
979
853
806
937
951
952
953
941
925
977
872
811
975
992
895
940
859
961
895
922
920
915
971
842
822
961
831
980
993
957
981
882
867
803
949
911
840
832
899
945
991
862
817
964
929
905
867
948
892
952
860
957
919
971
981
810
926
872
850
875
953
959
828
968
933
980
952
822
883
922
947
898
848
918
898
876
894
946
918
1000
848
821
852
868
838
941
875
838
998
983
903
855
942
976
847
840
973
919
895
900
821
940
899
998
864
902
844
959
824
854
927
872
941
880
984
906
978
951
931
871
831
915
855
976
963
822
945
863
893
912
970
800
976
936
994
910
843
860
972
903
971
902
944
905
856
925
800
857
841
988
913
945
840
986
859
878
819
940
924
975
822
800
802
812
824
921
874
913
967
907
810
951
976
862
924
980
911
849
899
836
879
977
921
950
956
915
829
867
992
965
880
952
953
817
941
983
835
950
941
867
880
867
890
994
952
971
926
873
855
839
919
814
952
912
924
909
992
964
853
924
808
999
931
869
929
983
831
943
890
951
913
976
815
858
885
908
841
963
997
928
831
905
880
839
992
862
873
832
801
974
909
885
964
860
839
971
860
840
807
946
829
813
810
827
916
902
959
879
914
899
914
886
817
999
807
900
906
825
945
999
907
991
972
960
989
897
859
937
985
948
818
954
980
821
845
878
996
912
828
865
840
970
817
937
891
819
994
994
919
964
854
945
862
840
958
803
804
831
976
861
955
971
923
892
899
944
940
807
947
814
820
897
963
935
997
936
874
901
950
818
800
990
815
946
897
985
982
888
887
961
978
923
872
807
964
845
866
972
803
872
988
898
952
916
884
895
969
884
990
996
947
933
891
830
807
852
893
834
989
827
917
895
869
922
804
885
917
876
977
810
930
934
963
889
851
998
803
800
859
829
859
926
991
839
857
886
941
805
984
886
995
896
933
852
907
806
938
888
970
833
989
977
956
979
868
820
850
967
877
982
930
873
955
893
946
927
902
878
992
925
846
824
963
905
974
927
937
969
967
892
817
885
975
886
1000
864
836
808
970
997
868
929
800
856
1000
905
880
842
847
938
815
969
964
994
885
820
928
886
950
825
928
993
849
937
819
957
844
808
908
881
982
951
979
942
874
850
817
852
971
975
972
975
894
812
872
880
843
893
816
976
993
819
954
940
942
882
980
953
863
910
1000
974
855
804
862
919
910
869
828
863
823
960
979
952
811
953
940
823
882
922
882
957
941
858
939
810
845
983
887
840
939
1000
854
958
930
913
925
973
834
845
802
897
905
958
911
981
899
882
875
828
960
841
920
903
878
976
813
992
989
823
912
832
815
830
802
948
881
808
963
991
866
974
902
872
845
993
998
870
929
837
913
816
962
927
856
879
898
921
881
950
810
818
872
848
906
959
900
844
908
997
867
866
973
869
934
885
837
915
903
806
865
969
889
973
938
988
872
980
1000
979
872
911
862
922
851
866
876
939
922
998
961
872
992
968
838
889
889
858
973
833
951
981
911
929
834
823
810
823
973
943
904
821
850
878
1000
945
860
932
935
981
939
860
942
949
919
944
918
875
895
831
917
815
901
990
975
888
863
828
945
865
808
941
980
875
892
858
986
986
816
816
902
964
993
961
853
847
995
959
954
960
959
831
870
906
809
899
970
872
976
988
850
882
834
927
979
937
817
977
829
953
856
879
829
860
815
917
958
842
817
854
868
883
811
839
875
910
830
872
889
813
807
970
840
973
819
966
826
942
941
952
945
812
918
827
807
877
991
918
837
841
882
911
881
839
901
925
847
910
808
956
970
887
901
852
921
926
856
876
832
839
825
806
843
875
862
833
863
836
851
848
829
897
846
823
948
917
837
943
914
880
811
996
817
808
858
937
894
856
910
903
804
973
916
890
990
800
960
948
852
942
886
980
940
962
884
922
870
982
886
840
921
840
899
895
833
861
920
873
881
872
815
897
874
950
955
888
946
955
869
921
994
932
971
904
947
878
974
824
984
899
960
969
847
860
838
860
848
836
992
858
868
956
877
927
981
887
894
938
837
870
872
918
839
960
809
936
933
856
970
865
910
947
857
819
943
954
854
891
803
958
829
998
868
833
905
905
977
838
892
940
843
869
861
996
944
817
802
855
892
844
953
963
993
818
911
953
965
919
923
849
896
864
871
833
856
908
853
888
872
991
986
820
860
893
936
918
969
887
923
868
889
978
975
874
995
868
871
861
844
864
852
928
917
981
838
800
970
930
805
944
815
800
822
938
851
978
933
839
838
883
928
963
876
922
975
868
878
899
901
921
800
948
803
904
805
994
984
830
837
975
852
942
861
900
801
840
911
847
935
825
920
819
813
924
960
805
844
949
953
934
912
818
934
885
958
933
894
863
947
993
913
968
870
862
965
938
928
926
964
862
911
986
865
924
963
854
991
830
904
847
945
888
804
985
918
924
812
925
871
846
961
941
847
816
990
979
825
939
933
843
881
818
968
846
977
824
890
950
996
832
991
912
894
925
857
892
868
846
827
879
938
904
981
932
860
877
868
805
902
805
848
949
833
955
952
843
933
833
927
975
824
922
803
859
920
906
813
852
858
875
856
929
822
816
892
907
802
993
801
824
875
983
848
907
958
925
861
843
983
851
950
848
801
962
856
937
810
978
918
947
973
967
818
854
849
983
803
950
920
860
892
919
932
867
904
842
814
909
844
941
906
920
848
984
987
840
992
941
890
956
903
892
897
808
813
915
814
832
867
1000
898
968
844
845
804
878
946
838
953
952
817
838
996
945
851
831
940
918
898
837
948
995
876
838
892
893
818
833
904
920
880
944
972
861
982
910
970
871
938
887
821
889
872
885
995
872
918
878
997
834
998
954
853
849
857
866
817
857
987
855
835
830
921
867
857
982
886
876
860
918
821
934
937
947
999
973
965
975
906
900
800
821
977
862
983
828
855
1000
933
996
875
816
884
816
805
979
951
987
954
933
986
827
910
825
844
979
895
822
907
898
855
872
837
940
990
839
877
839
812
828
945
986
924
932
828
998
993
844
950
882
879
897
813
881
903
802
840
829
895
981
862
974
879
980
835
820
962
964
916
923
930
944
886
887
958
886
986
993
996
901
895
947
850
872
964
960
911
941
983
839
887
819
866
973
946
889
867
919
858
989
823
976
907
980
892
907
900
852
970
866
801
822
975
967
981
989
855
886
890
847
867
812
993
875
881
997
851
819
955
941
952
966
881
819
867
974
904
839
859
965
830
949
995
968
959
807
844
953
925
908
838
846
888
943
943
909
888
895
935
918
895
917
965
974
937
808
898
883
971
915
812
813
968
930
833
884
998
897
897
934
894
800
960
820
917
988
811
948
998
930
895
801
929
851
952
808
909
873
973
863
987
828
978
845
836
829
838
986
986
952
810
950
908
903
880
844
868
960
844
944
876
812
833
832
874
978
956
988
841
866
939
905
861
977
882
888
865
872
882
896
807
861
831
845
922
876
938
876
876
968
849
875
891
978
863
870
864
979
915
846
807
834
994
941
989
978
804
980
965
962
834
861
840
858
961
970
865
948
969
987
910
963
933
959
920
953
988
866
948
921
883
808
955
945
967
901
847
890
928
970
961
948
916
924
935
861
953
846
943
880
876
897
861
899
942
900
930
895
992
916
835
1000
901
906
858
891
946
993
835
823
969
879
861
942
805
921
961
889
987
942
924
865
838
907
806
891
806
959
816
826
962
814
918
840
991
910
910
900
809
978
911
948
948
980
892
986
900
896
929
856
865
972
962
852
949
879
941
885
938
859
920
897
810
873
827
933
940
867
868
872
947
875
948
889
855
981
826
900
841
883
921
889
820
967
803
902
801
963
851
931
922
954
996
833
934
982
919
850
916
948
942
965
997
911
999
825
907
889
927
955
879
895
952
870
857
870
935
868
955
979
800
865
930
988
812
973
923
985
996
806
965
997
838
866
961
942
884
972
830
922
987
963
815
901
845
954
903
940
903
957
937
837
650
508
567
511
684
604
503
505
608
597
501
689
617
691
578
583
517
504
698
574
638
677
596
682
662
544
536
638
666
588
673
637
514
603
577
630
563
690
524
634
528
502
653
645
554
506
530
595
593
626
528
636
587
516
564
557
501
517
671
694
604
638
507
673
557
548
653
548
635
609
577
508
540
601
632
602
573
574
603
555
598
581
636
650
565
504
581
529
607
690
534
640
635
669
683
657
603
695
550
547
606
535
635
509
517
679
540
684
548
630
565
633
658
591
571
583
506
637
664
615
564
637
582
678
700
522
623
663
614
564
573
685
589
559
603
593
688
505
548
619
530
654
563
668
688
660
515
560
573
688
508
570
545
626
504
647
620
635
659
533
564
669
596
591
682
606
677
509
610
586
593
520
549
689
617
539
585
655
624
569
686
681
670
531
588
630
506
612
581
663
644
553
662
527
595
574
552
584
591
592
657
549
643
503
584
674
606
543
584
583
555
696
610
550
543
634
532
600
666
597
635
548
625
642
584
645
671
601
589
549
640
693
663
514
508
663
661
650
534
527
538
602
594
636
688
526
521
692
648
631
605
639
693
566
552
687
564
673
638
685
506
686
530
585
636
696
528
590
596
596
588
699
557
626
661
588
564
608
660
659
568
670
540
586
537
513
697
586
692
549
552
600
616
653
516
514
580
641
595
692
575
592
626
538
630
663
510
523
662
557
677
593
572
526
595
632
668
581
561
682
609
672
549
552
645
509
564
663
680
551
653
550
534
640
662
680
651
609
521
582
603
685
546
511
521
622
538
633
670
661
594
505
675
527
674
680
584
644
692
511
699
538
591
598
613
685
668
505
681
558
675
612
630
505
583
541
534
698
641
606
572
500
547
613
523
529
678
650
620
631
692
678
543
658
610
513
621
683
688
653
507
532
618
513
521
583
625
664
629
547
605
627
615
532
635
533
645
658
650
650
552
551
637
588
586
691
633
544
676
568
509
534
697
617
577
591
652
552
699
509
548
678
657
590
517
697
692
605
502
687
617
513
599
641
514
579
646
687
528
553
644
576
501
620
593
621
543
505
557
620
588
586
552
680
627
629
504
546
678
575
626
643
581
595
682
637
680
686
699
621
547
530
516
500
557
540
654
547
669
632
636
548
585
566
641
626
574
604
628
548
684
640
596
533
616
533
595
665
661
552
578
501
608
539
530
623
548
690
543
528
632
524
511
523
543
502
648
698
659
584
700
508
634
543
699
556
613
652
615
628
619
642
660
538
549
573
572
616
604
655
501
579
557
678
576
641
611
606
619
560
616
561
674
697
638
622
518
690
535
510
642
573
613
662
588
631
582
597
635
569
626
554
622
659
511
652
645
593
572
554
549
640
606
600
681
698
541
607
660
650
509
639
668
521
518
581
589
642
555
649
500
696
589
538
618
660
602
541
595
514
564
502
514
698
640
573
617
656
673
615
656
543
587
519
648
568
502
574
570
506
581
530
683
654
539
549
534
646
655
512
568
576
602
635
560
534
619
535
695
555
545
607
696
525
589
657
531
598
654
555
507
532
508
600
689
503
657
608
644
570
684
624
601
647
531
515
633
567
644
674
624
586
600
630
700
558
622
591
503
626
563
581
572
663
569
562
540
577
627
700
559
547
654
623
615
598
588
578
567
530
605
555
627
645
653
677
611
522
575
599
689
595
622
604
642
700
516
503
622
583
630
531
561
699
626
532
503
625
536
516
618
582
627
648
529
531
634
583
634
585
637
698
554
657
653
688
606
691
585
629
530
576
534
550
646
603
550
545
609
615
562
663
653
506
651
541
574
516
687
535
533
563
601
573
692
651
671
623
500
662
699
597
508
511
655
576
648
627
638
524
502
677
695
521
577
515
570
633
675
618
551
567
640
544
687
615
635
572
577
613
586
573
546
596
674
563
668
696
618
552
533
657
607
520
637
632
684
585
555
674
532
690
561
528
665
661
643
534
558
646
529
599
660
570
654
578
631
626
696
626
588
534
666
557
674
605
524
543
572
605
679
523
700
619
674
679
560
562
572
580
518
570
642
658
663
610
524
580
686
583
643
680
689
615
545
584
648
522
683
620
552
505
527
667
501
645
517
552
657
545
596
636
618
529
665
651
610
627
681
503
691
656
551
510
548
658
653
650
583
603
627
601
515
502
529
543
504
676
663
663
628
580
575
676
621
526
600
577
530
624
669
634
588
523
509
502
548
689
553
695
613
571
606
648
636
515
697
525
700
531
570
517
544
696
580
640
683
683
636
641
569
563
617
512
586
569
530
543
562
566
521
608
601
660
528
542
541
551
543
527
520
537
614
671
603
562
566
571
582
503
574
570
547
568
555
700
585
546
532
643
601
650
683
607
507
669
599
574
566
521
680
502
689
637
568
643
542
535
597
684
575
666
523
645
651
635
540
650
685
530
691
578
634
501
561
615
535
648
677
629
525
664
661
571
639
558
583
677
632
534
522
573
693
672
687
684
558
653
541
667
544
525
636
694
675
580
659
504
692
567
647
663
662
655
523
537
565
610
517
505
553
597
656
572
616
617
564
684
606
578
580
669
519
622
635
621
644
676
626
580
526
659
612
635
627
522
681
637
610
613
661
510
505
514
656
594
544
589
551
573
693
628
584
647
603
700
609
606
538
538
518
676
587
600
548
515
573
600
645
583
513
566
516
598
591
689
557
620
685
564
601
616
516
520
592
525
543
579
533
659
632
636
653
501
653
512
588
661
538
684
565
675
503
614
615
550
592
573
557
680
641
647
530
530
662
684
674
612
571
687
529
652
583
615
531
700
535
613
602
510
538
528
693
518
564
581
651
558
664
533
645
666
526
552
696
602
507
566
698
504
648
589
539
602
627
689
687
544
552
520
669
551
651
548
556
606
574
508
643
577
575
596
597
602
619
679
502
523
685
613
572
541
615
614
591
694
616
680
679
508
575
666
698
507
507
504
620
556
581
517
610
505
518
513
661
640
691
581
598
518
570
641
529
649
689
541
587
535
601
636
620
676
699
665
677
587
629
699
501
568
700
619
539
597
657
514
549
662
534
627
641
696
511
533
527
686
684
557
600
667
613
605
552
558
681
538
631
516
570
550
568
676
590
500
603
640
552
680
627
606
663
608
592
692
648
687
601
695
686
657
534
636
680
529
544
568
503
693
608
679
500
639
698
627
671
510
575
620
625
694
614
605
555
528
557
532
615
572
685
588
514
592
585
631
543
548
608
502
611
656
568
628
603
520
614
608
691
565
699
653
536
576
623
549
574
659
686
596
684
542
575
539
623
520
581
695
567
630
614
511
566
618
559
577
555
509
591
592
556
512
592
652
625
539
665
653
579
507
562
586
698
518
572
572
543
509
511
576
593
644
642
696
525
525
687
650
527
642
680
639
663
559
670
556
544
622
590
698
615
507
628
608
631
512
555
698
516
575
643
618
634
582
624
687
696
638
572
602
563
699
697
506
621
608
598
605
509
508
500
589
647
531
676
663
507
631
643
693
574
693
568
694
516
609
620
596
553
530
665
568
528
514
550
627
548
561
656
516
552
611
641
583
564
561
682
630
678
667
584
689
596
531
641
619
616
656
645
608
593
513
529
621
646
536
620
688
606
581
693
562
581
646
514
620
535
535
511
629
667
615
532
594
572
560
657
563
534
513
571
535
590
696
594
660
689
578
617
576
540
664
636
654
699
670
581
535
531
662
661
669
579
590
556
526
698
538
501
590
625
595
582
520
544
613
573
654
568
529
657
687
629
679
642
662
617
565
573
634
649
599
671
620
615
505
677
686
559
665
605
547
507
513
652
599
589
656
550
675
680
590
565
529
631
514
509
508
651
528
648
627
606
602
579
633
658
605
595
677
617
569
568
531
578
526
582
663
678
660
633
679
689
627
638
562
588
588
671
588
639
661
558
536
632
544
647
521
562
516
594
530
674
662
533
503
616
541
558
575
533
592
523
626
575
658
689
669
583
571
501
662
547
559
608
578
580
598
512
592
516
698
535
623
680
518
683
635
579
541
614
546
684
656
611
557
623
538
700
611
540
569
615
528
507
668
573
637
590
543
590
551
507
504
526
590
646
634
585
599
651
667
515
657
603
683
570
648
616
598
510
528
599
523
666
524
685
520
615
687
571
581
674
544
657
661
631
697
570
555
666
543
621
678
606
639
643
606
593
672
571
516
560
664
623
559
691
643
575
695
656
603
678
585
696
571
564
589
551
591
686
582
674
506
573
662
569
663
668
510
518
655
695
599
517
577
619
619
660
587
536
515
590
610
616
647
545
699
618
651
508
623
521
600
524
565
501
524
700
519
677
664
553
672
606
552
511
697
610
681
519
645
651
610
615
630
539
612
688
690
608
692
693
695
680
580
539
689
683
633
597
621
587
635
688
533
600
595
506
653
564
561
584
635
616
669
550
612
573
517
536
674
672
653
652
622
677
658
612
550
589
682
612
689
648
531
591
583
521
633
522
598
666
666
677
542
675
501
667
515
577
661
583
545
626
683
661
585
553
586
618
665
694
518
623
662
620
632
574
521
525
557
546
666
658
662
524
515
515
506
612
673
691
571
586
601
587
512
631
581
550
562
655
681
568
689
661
644
633
530
563
687
602
565
500
606
616
698
588
699
665
633
642
653
667
621
503
647
535
643
589
570
594
524
674
582
533
540
659
623
555
536
648
522
537
598
644
667
599
558
511
533
501
555
600
662
582
629
644
549
552
678
607
579
662
636
691
674
586
555
558
520
603
527
641
547
543
504
527
551
631
655
547
697
563
584
653
535
695
556
508
666
614
586
545
690
590
572
643
698
546
577
640
573
647
507
610
666
509
628
687
569
553
549
700
699
573
502
622
674
620
603
603
604
656
551
544
537
577
610
670
599
565
623
607
590
568
627
573
570
644
604
643
516
571
525
650
522
557
631
573
671
608
686
538
512
590
548
695
594
624
663
593
676
562
543
693
590
613
699
564
642
567
543
683
543
555
532
598
533
636
667
603
627
589
516
603
663
693
613
635
516
615
561
618
608
575
666
520
673
635
627
615
651
606
671
550
508
597
532
581
659
552
606
581
613
519
676
570
652
599
535
688
573
591
651
538
596
678
582
546
507
601
692
550
539
692
503
523
666
519
565
516
554
530
534
637
517
650
573
535
696
516
546
583
690
663
608
561
666
523
623
643
566
624
584
614
611
549
685
636
589
638
669
619
689
564
660
510
547
634
602
683
599
596
680
501
667
517
591
527
680
599
626
571
520
663
700
692
553
597
595
655
684
624
525
682
556
637
555
642
601
518
649
676
512
669
630
563
522
659
563
665
667
505
537
593
580
651
692
670
523
536
536
540
675
576
700
601
517
574
644
523
654
628
670
642
667
642
623
592
614
599
578
683
517
650
562
572
604
692
572
549
500
555
585
512
645
593
553
603
512
526
652
591
518
662
643
616
596
662
697
572
614
631
613
537
639
613
548
564
590
525
524
690
566
613
617
655
692
543
618
608
502
638
647
535
563
604
588
639
633
537
692
571
586
600
699
610
572
584
564
647
548
674
520
601
649
596
605
617
585
502
683
613
636
687
543
542
500
644
693
613
549
628
596
514
553
608
548
538
679
613
562
539
548
652
591
525
534
656
682
569
598
628
580
699
645
671
550
509
542
647
624
601
564
635
655
680
669
565
645
568
683
576
589
607
549
500
654
617
659
512
536
536
530
596
605
511
657
557
528
640
573
547
594
652
650
627
579
682
635
631
559
608
638
529
625
564
559
501
599
555
606
642
516
695
566
544
530
618
649
685
545
511
534
543
604
654
555
650
529
535
563
693
694
601
642
655
529
607
518
545
675
510
690
581
565
602
513
559
536
629
608
623
584
575
634
651
546
671
573
676
638
556
694
536
646
555
579
599
558
693
570
645
537
591
589
619
621
584
682
520
558
560
638
689
558
526
561
571
537
505
632
692
507
539
546
618
548
581
521
665
687
547
651
699
693
545
669
646
695
602
599
657
593
547
624
571
674
609
583
516
602
697
624
575
508
676
693
552
537
655
691
631
612
682
670
644
514
642
508
648
558
630
500
589
660
602
688
657
595
689
590
544
695
539
664
657
691
694
547
519
537
669
581
584
650
523
656
519
594
607
663
508
621
569
523
541
540
533
506
620
519
559
523
500
675
544
530
568
544
551
583
694
579
668
661
529
524
559
650
560
617
540
625
552
608
511
566
598
509
693
669
608
692
623
611
674
658
619
589
583
537
584
628
622
634
627
616
654
590
552
604
552
679
587
528
694
626
596
699
614
597
592
697
598
637
599
671
611
625
680
651
691
691
513
619
690
679
609
575
632
650
552
686
675
672
535
503
583
589
664
699
581
548
554
651
541
630
502
532
639
569
604
658
512
679
620
541
678
630
661
586
674
516
502
533
697
659
677
513
611
626
605
527
699
552
621
611
538
683
614
625
545
639
593
601
500
629
508
687
610
660
543
614
663
598
522
619
565
526
539
553
645
594
605
688
541
683
501
525
543
569
561
529
673
512
636
578
678
537
698
534
697
626
605
596
654
546
641
666
698
668
630
624
643
686
683
626
638
647
584
596
545
565
533
604
522
586
635
576
612
683
658
602
658
689
580
619
690
627
667
512
608
694
550
572
584
582
577
602
596
547
674
584
598
584
626
665
510
634
626
686
587
615
511
527
549
588
535
646
639
538
690
644
597
633
679
603
687
649
527
668
539
515
552
689
557
514
608
596
593
579
615
504
543
583
637
611
623
608
590
624
651
616
586
561
677
651
572
508
538
588
500
608
586
582
619
511
621
668
612
665
595
694
511
615
632
543
540
648
527
507
536
587
633
683
648
672
697
613
624
523
664
673
658
636
593
594
594
637
586
517
614
563
602
553
569
551
528
551
665
661
652
530
580
641
694
682
561
667
516
612
509
587
605
544
685
507
594
562
604
594
697
550
672
560
606
573
579
540
656
592
589
632
615
633
634
544
549
609
671
622
629
694
524
693
589
584
637
586
648
540
537
592
613
665
561
570
669
551
576
538
636
538
649
629
579
699
531
617
569
622
536
629
624
650
567
540
512
611
614
680
582
503
526
536
629
624
616
643
689
540
688
579
629
696
546
633
679
507
541
552
661
656
571
658
553
600
610
622
653
541
602
574
550
505
596
560
646
512
568
514
528
626
549
679
662
582
598
565
566
656
652
548
552
662
679
594
642
647
567
662
511
626
631
691
684
675
698
644
660
638
543
679
654
686
516
652
594
536
652
550
516
621
511
549
570
553
672
661
649
518
602
700
668
610
566
544
599
691
603
556
543
651
648
676
632
655
585
674
671
520
603
547
509
581
535
556
558
570
636
617
666
690
675
612
626
558
546
566
562
565
633
666
545
648
679
640
537
517
617
512
667
695
529
507
514
629
564
640
543
513
627
530
631
530
694
689
571
505
675
636
503
539
654
537
594
593
656
677
518
614
672
513
611
681
670
550
605
537
694
632
687
583
516
540
664
692
539
695
616
580
548
573
685
632
603
549
700
633
584
693
623
566
686
585
658
661
678
513
575
626
509
513
547
642
560
687
576
564
551
631
503
643
581
592
620
515
575
687
671
619
649
504
688
619
569
503
535
610
517
576
683
524
589
585
515
539
527
629
504
523
594
592
505
552
685
515
652
690
502
512
639
626
673
552
626
506
591
666
646
557
581
662
502
687
601
629
563
551
500
539
661
602
571
562
632
650
627
543
682
528
690
563
682
685
514
595
544
624
690
547
638
690
598
646
647
504
689
561
667
686
526
523
508
546
526
563
671
515
603
594
545
629
682
622
506
552
536
551
542
537
617
635
527
628
623
663
601
621
636
514
547
599
649
524
660
603
648
642
601
597
689
641
557
529
505
664
546
648
651
633
651
535
653
537
651
548
513
555
528
638
676
520
580
535
586
652
547
628
599
503
537
503
551
576
637
637
682
586
647
683
642
616
554
679
517
687
613
629
674
526
536
586
527
573
670
523
694
643
510
692
560
695
639
634
692
515
512
616
613
650
629
598
517
558
594
539
643
516
608
691
508
591
509
675
577
629
651
594
671
503
618
548
644
570
552
509
648
631
655
638
544
615
642
552
583
607
660
581
589
518
699
552
678
514
560
665
639
505
650
607
647
572
590
551
669
567
525
543
579
533
688
649
695
633
685
660
698
593
613
589
685
695
562
644
568
565
546
516
601
657
676
550
572
572
521
636
613
667
602
670
607
673
675
690
623
684
521
635
650
677
600
538
596
575
544
637
665
648
597
507
572
696
618
543
534
583
648
691
521
596
629
654
545
635
588
686
599
624
618
542
519
623
540
555
631
585
528
612
582
654
666
535
689
649
673
672
568
652
509
605
594
690
505
511
679
520
607
696
517
569
622
638
556
530
661
676
617
675
616
512
513
586
589
581
683
605
531
668
558
521
613
557
577
529
694
566
684
512
685
622
522
649
506
525
595
544
554
592
510
600
574
688
568
605
620
661
623
650
697
622
680
500
539
514
688
644
665
509
503
520
611
582
562
539
567
553
584
662
632
544
696
572
589
599
640
606
565
639
695
536
656
500
568
603
652
585
538
632
607
546
700
622
580
697
562
520
530
630
563
528
549
510
592
602
688
689
662
505
604
626
613
597
685
633
651
620
544
580
648
560
678
655
628
526
613
531
630
610
609
672
688
685
679
626
666
508
517
610
586
561
506
644
531
698
659
657
589
571
545
580
648
626
561
622
576
591
684
512
671
676
575
574
659
590
507
567
604
631
594
649
561
560
634
572
523
570
549
642
588
688
512
504
631
637
515
642
532
500
641
636
597
616
528
566
558
548
628
554
628
555
608
634
676
634
538
560
512
646
566
612
520
567
628
690
594
669
640
600
614
652
550
664
635
577
634
583
627
673
598
517
628
686
546
621
598
537
694
574
580
661
544
646
561
514
536
672
617
683
612
561
622
563
669
555
579
690
602
528
506
543
662
646
691
684
569
518
588
615
627
507
513
625
527
685
644
607
687
622
539
525
662
594
572
626
639
583
504
627
536
502
568
699
573
629
591
663
618
696
555
521
584
524
535
647
639
510
568
699
514
598
580
683
660
657
529
526
526
543
563
604
530
572
607
636
584
697
579
537
660
618
684
688
541
573
580
631
502
682
590
634
575
632
646
616
589
510
635
628
618
644
544
686
676
696
579
679
640
653
531
525
670
680
557
633
599
677
689
534
554
696
558
512
572
549
683
666
683
649
632
614
567
535
619
532
675
603
647
559
685
641
651
521
558
553
651
579
528
693
561
682
649
652
628
566
636
668
576
667
597
554
680
633
548
629
594
666
509
679
568
680
683
618
625
612
620
642
621
658
546
657
676
560
561
646
678
529
695
522
529
595
654
618
525
667
506
597
559
663
616
592
547
666
582
613
531
658
692
540
512
619
645
587
507
551
631
508
603
524
645
532
601
526
606
540
610
549
672
614
537
678
518
639
527
667
511
631
514
577
677
664
667
689
596
632
624
558
547
637
513
585
519
533
574
666
538
545
522
650
562
585
675
633
614
571
644
693
665
542
698
644
527
672
543
517
663
567
576
566
689
609
652
507
554
607
520
650
527
570
504
612
509
557
593
696
523
551
569
695
511
534
566
582
593
611
544
684
635
647
512
689
639
693
516
581
644
575
557
564
544
625
547
567
666
675
623
520
638
583
674
641
503
585
643
632
529
515
553
595
524
649
547
513
617
697
516
592
559
638
648
536
618
524
578
533
532
509
657
678
578
517
522
573
657
693
679
555
571
560
521
582
582
521
647
674
585
506
669
668
696
531
689
691
586
687
607
653
582
643
530
600
507
647
688
670
574
591
691
567
519
631
577
642
622
680
663
516
510
562
581
686
526
528
653
635
556
561
650
616
535
675
516
508
606
610
548
534
545
619
608
660
538
695
579
533
572
553
548
504
613
530
579
678
609
505
554
699
560
570
668
513
543
672
560
514
594
540
660
545
592
668
674
542
665
587
587
668
579
679
614
564
667
609
667
646
626
555
526
563
668
631
580
634
574
652
671
696
668
682
507
523
634
637
601
530
683
502
682
694
543
696
608
658
686
627
633
628
628
566
627
589
535
532
696
687
544
507
595
602
536
537
625
612
556
516
682
504
611
500
505
685
502
691
603
613
509
584
538
566
683
591
645
584
524
656
668
519
621
516
516
531
676
640
653
688
544
535
601
562
501
555
595
527
548
689
645
570
529
528
553
584
604
596
646
573
550
695
561
611
602
536
672
541
570
661
614
668
516
625
511
538
545
586
640
693
543
550
511
640
665
526
674
617
594
536
610
551
651
565
555
514
578
685
596
571
633
529
572
548
580
652
503
674
508
676
578
577
667
656
685
529
519
668
533
637
672
563
610
697
533
621
651
614
622
518
540
660
563
602
562
655
687
674
639
551
606
615
675
622
567
558
682
622
605
619
651
501
502
519
640
661
544
652
659
589
554
680
557
618
577
582
602
661
655
656
633
676
613
690
531
644
588
512
599
530
581
557
622
635
576
648
674
572
572
697
551
650
538
545
576
598
626
595
626
567
538
559
597
627
515
641
630
552
648
625
562
561
560
558
540
629
580
606
580
618
508
532
593
665
554
658
678
672
591
620
651
658
680
500
530
603
548
675
610
679
604
536
501
637
548
500
574
691
620
684
617
583
506
526
635
617
553
591
665
697
519
511
512
513
691
523
672
587
621
535
527
534
560
618
565
639
530
538
662
646
586
523
576
520
594
524
527
506
682
557
645
595
574
538
586
546
673
540
551
609
628
582
700
590
613
553
518
661
594
644
517
593
569
511
618
536
579
692
564
624
549
596
589
631
637
611
623
698
524
648
654
621
551
685
624
576
643
684
633
522
515
696
506
625
674
597
652
647
613
690
688
675
654
653
612
585
623
578
528
562
673
651
629
526
648
564
600
660
638
686
607
554
612
508
578
631
521
599
599
646
698
518
612
573
608
548
583
579
644
556
603
509
554
665
611
621
628
504
655
641
623
518
525
687
565
558
620
629
517
543
513
510
831
882
887
875
922
1000
961
985
982
819
847
965
973
995
834
815
916
932
923
807
903
800
911
919
979
970
932
940
818
825
958
913
866
933
957
844
934
1000
978
930
896
867
877
910
972
963
886
852
860
938
859
801
862
809
997
932
923
897
878
953
834
900
932
859
960
885
801
880
926
826
815
808
851
837
885
975
860
971
891
883
934
942
964
895
902
954
981
917
946
945
913
944
836
968
906
857
867
956
917
952
800
891
815
925
952
971
886
989
869
831
833
840
807
894
905
904
851
869
908
985
985
839
928
824
822
812
811
988
871
835
850
887
806
837
825
873
966
942
845
972
894
814
982
896
878
835
967
830
837
959
850
817
977
960
844
818
870
836
923
842
991
991
915
912
984
897
916
977
971
910
856
812
952
889
828
930
983
882
882
840
931
874
873
949
875
827
868
851
817
990
877
902
934
991
944
807
884
855
929
917
820
964
845
935
958
832
873
804
858
907
939
910
917
921
931
878
989
851
927
983
852
864
855
980
905
992
816
911
937
852
901
839
946
970
932
899
865
932
972
951
926
835
818
828
886
912
863
941
829
849
930
948
846
960
986
800
893
856
938
826
986
942
961
887
874
972
921
830
878
854
937
983
820
844
937
932
861
846
964
955
884
822
924
874
963
913
861
950
922
983
986
830
937
847
905
978
890
894
839
848
829
807
800
848
943
823
883
983
980
884
905
930
894
902
952
969
952
897
990
946
833
813
908
892
868
865
901
947
957
944
965
805
875
819
879
921
804
840
809
887
975
844
884
807
803
951
818
986
917
937
898
845
881
854
943
985
897
965
810
835
880
968
848
889
817
909
952
979
949
819
859
858
803
908
974
954
917
894
963
851
874
893
970
811
854
822
939
864
865
893
892
898
840
905
973
836
875
876
987
968
863
969
806
864
980
836
898
985
935
996
824
930
874
912
840
921
965
961
940
885
883
917
985
806
958
802
957
893
951
931
939
810
866
929
879
970
848
844
906
800
936
868
979
887
931
941
924
835
964
875
929
885
990
831
958
966
978
871
849
902
886
994
836
893
889
817
843
868
966
990
977
901
843
878
961
804
951
871
848
907
918
889
989
808
912
848
895
931
946
850
923
887
960
987
843
897
881
839
974
958
826
972
869
802
889
834
807
839
869
981
973
897
876
872
855
849
856
894
946
942
846
867
990
956
937
837
963
862
807
997
881
949
992
947
805
943
908
921
891
826
949
863
908
936
829
836
808
880
941
954
817
995
929
961
982
949
999
937
811
898
872
869
883
829
863
938
845
889
932
915
817
986
922
907
978
993
927
905
896
900
908
917
824
896
958
943
954
919
980
953
891
819
884
992
822
896
862
832
850
878
816
948
872
821
852
861
876
831
877
800
988
922
885
910
828
997
992
821
998
999
831
838
923
930
845
844
884
906
852
961
830
961
917
952
972
868
936
995
818
934
852
955
875
825
964
848
895
800
883
866
872
838
800
966
986
887
939
847
965
891
862
915
888
932
988
900
970
985
825
846
992
907
837
834
899
955
941
962
837
823
972
991
903
958
825
943
814
963
932
822
976
985
967
851
841
813
993
878
921
852
848
825
938
905
824
897
813
926
970
845
919
908
884
916
951
846
849
999
852
978
929
848
967
926
1000
831
994
973
987
808
986
901
835
992
850
835
856
807
989
878
822
880
902
945
829
958
937
877
807
869
968
941
898
891
873
813
989
946
837
889
854
848
910
960
847
890
944
983
958
831
943
941
919
833
953
902
961
945
848
990
924
938
964
811
889
873
931
887
866
978
946
964
971
890
939
973
924
868
889
918
930
841
868
894
811
827
941
810
821
808
897
915
836
832
814
962
823
872
926
823
900
900
907
874
868
838
899
998
920
995
977
868
970
907
832
838
935
831
999
856
963
854
957
976
876
975
989
911
886
906
949
842
958
857
841
821
833
841
973
866
808
859
936
878
954
841
974
811
818
934
819
821
946
855
806
888
882
887
898
817
932
942
890
934
883
843
963
873
1000
848
943
918
984
830
841
881
807
828
828
817
860
831
968
801
862
829
950
873
969
854
937
839
940
959
999
1000
960
897
972
896
872
860
818
967
927
888
869
911
978
809
839
847
808
995
836
852
842
830
843
831
822
883
999
849
893
862
913
857
888
804
999
939
957
925
838
822
917
962
996
921
891
807
809
919
915
854
804
918
833
985
946
925
857
834
921
920
899
864
819
821
995
920
967
852
961
916
963
800
809
804
890
847
876
901
877
901
987
867
991
995
909
886
983
869
900
884
924
815
934
821
984
829
909
988
865
962
900
847
879
893
910
915
957
982
810
839
997
859
815
851
972
872
854
982
877
883
877
815
972
902
935
923
943
809
975
935
944
974
836
942
898
916
860
842
912
879
835
808
826
988
1000
844
987
909
932
970
948
951
841
844
813
967
961
896
843
890
822
869
855
832
809
818
824
928
824
846
819
938
945
836
935
964
902
835
805
885
968
894
825
844
843
870
972
902
848
914
978
945
930
890
979
872
903
987
861
924
840
983
855
800
843
851
859
883
895
877
980
992
925
896
980
949
891
808
945
844
946
864
911
986
945
958
943
956
813
972
934
842
813
854
882
989
932
975
829
971
937
859
972
846
846
802
972
806
813
800
854
845
984
922
973
991
940
932
975
965
942
979
805
908
980
978
808
804
953
875
853
880
897
870
856
948
831
892
813
914
854
810
816
979
827
940
922
828
841
808
950
831
889
997
858
982
812
918
944
915
918
952
801
849
855
917
846
902
884
835
953
833
817
892
956
834
813
827
833
865
929
934
865
909
835
899
820
845
842
845
854
953
999
874
873
965
895
834
900
939
945
956
869
956
904
996
987
909
919
816
819
873
809
809
917
899
962
869
850
948
982
895
854
850
848
913
898
821
985
954
949
851
841
934
837
835
992
843
840
817
973
851
950
867
875
882
804
903
809
878
975
883
953
919
852
896
881
915
919
892
991
854
855
978
881
817
909
819
803
899
819
862
935
872
924
999
815
922
932
894
981
945
981
934
921
975
932
962
991
930
973
801
929
885
842
853
954
925
808
956
831
800
980
822
976
922
990
971
882
880
941
950
878
939
962
938
889
863
838
816
814
927
986
890
859
813
908
801
825
970
848
938
986
890
803
845
875
940
955
913
846
993
886
865
842
818
972
877
890
954
946
998
955
854
926
903
906
989
1000
902
853
807
961
881
957
857
849
961
871
845
856
980
913
860
995
927
912
815
869
846
939
851
986
928
881
957
877
961
928
993
933
943
881
965
890
990
800
827
979
1000
823
988
966
909
828
971
923
906
945
847
940
874
893
916
804
990
889
971
855
800
860
847
973
955
856
948
863
951
935
917
984
932
830
899
904
947
839
906
842
978
959
831
946
992
913
906
980
839
803
884
950
905
959
966
848
924
987
816
862
972
968
877
972
864
861
863
944
841
852
938
969
848
934
929
905
901
880
934
915
981
875
872
919
853
972
959
935
987
908
947
829
941
873
914
803
850
837
979
868
950
893
898
826
862
882
835
950
831
976
847
899
881
929
1000
899
854
901
824
830
909
946
964
821
986
904
941
849
862
837
949
922
962
912
856
910
969
929
849
860
955
855
971
992
1000
899
945
867
952
898
911
928
992
992
906
952
901
963
906
940
879
893
959
861
991
944
807
818
814
965
901
991
940
938
815
868
996
923
895
824
868
851
900
950
966
917
858
822
830
897
804
883
885
910
830
953
972
962
974
997
953
903
891
901
804
998
858
947
911
819
963
828
863
907
916
874
908
903
921
802
860
902
818
834
881
883
820
874
943
832
863
846
972
918
847
847
917
809
840
819
983
877
918
896
888
978
858
814
900
865
899
944
869
957
937
975
954
836
832
948
875
927
894
845
834
875
951
971
849
901
875
973
921
918
900
861
849
838
958
954
955
934
873
940
943
813
856
946
873
907
889
996
927
915
927
934
957
957
912
842
860
815
986
859
922
933
886
842
966
809
904
823
992
932
942
829
894
868
963
843
930
895
856
869
861
832
859
914
880
868
877
967
800
969
845
802
998
890
848
923
993
823
852
940
924
917
845
984
896
887
934
818
908
972
983
893
984
972
832
808
833
891
937
880
941
928
951
961
841
910
964
942
887
984
947
886
846
959
964
895
818
915
891
881
999
950
839
949
887
895
893
937
800
926
910
813
916
825
847
823
954
817
908
992
936
908
971
898
838
890
893
898
833
832
906
918
800
899
926
958
821
879
882
858
865
871
978
847
952
904
835
810
860
806
807
883
877
857
927
903
912
833
996
840
968
958
909
914
808
941
825
860
924
873
860
969
817
848
845
989
1000
990
883
810
889
940
878
810
936
954
875
952
879
813
832
839
933
838
916
876
835
886
924
903
919
844
867
920
990
906
910
928
911
844
816
868
939
802
814
838
851
985
863
811
810
888
963
883
893
833
837
978
929
835
991
954
976
985
881
897
844
982
848
923
966
807
915
913
803
998
820
988
973
941
914
804
867
809
834
868
811
901
914
844
969
841
852
989
995
903
990
812
855
833
911
823
936
906
990
989
993
987
940
943
990
901
950
842
821
817
937
892
942
858
946
809
810
982
894
906
995
832
922
861
931
928
941
803
865
904
909
916
810
981
929
909
934
986
983
876
905
955
842
969
845
811
928
968
907
927
952
800
883
822
999
892
876
909
846
998
972
982
867
811
919
981
876
892
969
822
930
882
890
909
810
802
895
900
890
997
924
939
928
931
873
843
931
837
815
912
896
944
872
891
894
898
874
998
866
820
848
820
851
807
995
992
838
988
916
859
997
969
840
958
848
988
933
878
995
967
836
809
973
974
933
895
800
806
885
892
892
852
859
809
968
861
837
931
869
970
809
908
946
993
993
812
842
906
941
825
800
937
1000
812
845
867
935
990
983
872
852
893
808
964
890
840
892
967
800
953
987
825
811
892
926
989
942
978
821
928
960
837
942
977
820
841
801
999
917
850
850
934
979
871
837
878
830
843
945
896
894
986
937
857
834
961
974
943
851
951
971
809
826
877
986
863
822
909
900
899
989
818
808
867
904
800
807
828
844
805
983
829
939
841
875
956
995
896
895
948
978
830
895
934
911
903
994
932
899
820
927
916
867
803
930
971
821
828
855
950
826
805
962
892
938
878
984
925
927
974
930
921
966
957
877
813
931
921
835
934
807
935
881
877
932
938
816
939
860
981
857
869
832
910
965
863
923
832
830
837
879
931
833
813
827
809
938
893
849
874
881
968
976
802
860
959
857
837
807
943
900
819
816
916
893
834
957
966
944
992
938
882
994
914
900
986
806
863
962
952
865
838
888
867
971
899
820
864
811
864
976
937
906
894
836
931
801
814
864
826
922
980
991
958
822
881
906
935
876
807
924
854
895
865
865
959
854
894
839
846
985
805
870
878
998
942
803
852
981
887
829
922
803
881
816
954
982
937
942
989
992
968
930
842
897
924
879
976
984
866
811
940
928
940
999
878
876
928
948
940
828
988
881
834
930
989
841
925
980
822
965
840
805
989
809
887
829
893
845
896
808
904
935
898
879
834
802
960
849
841
917
885
996
856
991
952
851
975
972
809
842
982
992
807
895
980
974
923
812
953
957
878
909
849
885
834
994
969
977
846
909
929
932
905
983
961
835
930
805
950
962
932
916
894
808
887
959
913
820
847
814
823
943
880
924
927
932
861
867
943
925
859
855
982
893
972
875
818
857
989
954
888
842
957
803
925
928
926
962
886
963
899
844
906
971
920
989
870
840
893
860
916
872
994
873
861
887
832
901
1000
824
975
965
989
891
824
939
941
856
839
962
936
849
907
872
924
982
872
893
828
917
946
911
972
848
963
858
931
929
900
920
873
827
870
965
958
919
841
850
903
859
896
882
921
856
860
801
959
810
806
857
824
990
995
857
918
884
906
843
920
805
951
884
831
949
846
889
974
895
992
991
962
838
849
860
955
974
850
824
992
995
959
930
842
981
929
945
918
835
925
927
854
921
940
990
962
952
827
938
928
981
967
928
842
859
841
893
852
816
946
873
989
916
951
953
914
917
928
992
852
861
885
999
805
919
959
890
941
847
801
949
888
859
858
846
923
890
947
916
832
925
874
905
836
833
983
895
988
882
965
939
801
981
880
865
821
975
875
858
837
930
825
958
903
879
921
1000
957
930
941
924
933
892
842
988
885
946
933
804
944
850
842
962
928
890
938
930
965
909
966
955
975
943
950
837
815
881
898
985
887
867
907
870
826
930
812
969
974
997
930
882
993
922
860
963
819
952
963
818
830
967
976
842
906
962
968
824
919
848
867
866
955
913
867
867
959
963
821
988
929
910
923
920
974
938
953
879
929
994
934
909
840
826
866
916
807
905
843
917
934
935
903
915
899
819
809
811
980
809
907
878
886
917
936
865
982
888
967
970
883
888
994
856
940
920
900
824
923
917
917
864
965
971
800
802
803
924
882
908
946
944
812
914
834
865
913
945
842
803
958
863
878
985
873
923
839
830
912
956
928
921
926
928
881
994
973
916
886
977
930
969
975
992
862
993
993
862
1000
816
825
849
977
841
956
919
879
905
860
851
905
959
804
808
874
938
930
806
810
859
972
995
957
965
863
957
916
809
898
968
965
931
995
895
821
935
908
987
859
864
858
981
801
947
877
932
995
961
871
866
910
845
825
999
879
802
955
936
889
825
834
900
909
924
904
928
988
894
860
836
973
953
967
918
909
971
856
841
824
972
850
988
813
966
963
929
947
844
832
859
898
875
818
800
867
815
928
961
921
883
945
974
898
845
969
950
986
824
855
929
874
988
933
993
878
948
967
836
865
918
800
822
930
960
823
970
937
886
832
919
830
895
892
942
896
863
971
837
984
883
854
959
894
848
833
968
992
803
881
918
829
960
841
840
885
895
919
897
811
816
846
929
849
990
911
862
901
912
974
944
881
859
842
964
804
813
905
861
877
993
971
858
910
942
972
899
939
982
994
924
838
955
800
883
954
850
1000
995
978
850
945
863
946
899
951
917
863
857
976
846
996
947
896
826
905
955
863
823
979
928
890
943
875
838
883
956
836
917
982
817
900
930
972
988
844
845
825
825
893
980
945
825
828
956
912
933
886
802
917
895
918
816
879
831
973
851
966
999
928
841
827
975
999
866
830
978
917
943
982
956
853
812
966
943
915
804
979
929
964
904
899
888
826
1000
944
928
813
988
830
931
832
859
807
881
878
928
982
921
864
855
996
869
873
992
854
943
920
930
944
830
956
978
935
850
933
943
847
935
871
990
827
972
956
990
819
863
853
806
934
844
993
925
941
946
919
879
876
891
953
980
943
972
808
809
867
803
809
814
874
918
874
956
883
1000
950
954
903
949
961
806
932
809
867
803
900
918
883
997
859
876
868
887
818
938
984
911
910
896
870
802
993
981
891
865
840
818
898
869
883
834
876
868
856
971
828
860
821
840
802
912
887
894
868
997
954
885
845
921
826
916
894
935
941
988
920
866
995
845
871
909
992
919
871
806
963
812
973
823
861
922
900
986
912
899
889
859
981
827
957
881
901
859
875
833
846
907
805
951
961
851
915
942
923
952
872
832
920
893
834
898
911
843
904
863
861
841
932
830
950
918
886
916
938
910
940
864
803
811
804
823
946
933
818
988
869
801
800
893
942
874
832
806
810
882
840
997
897
924
985
929
870
846
865
835
846
874
991
967
998
992
978
864
942
979
913
850
981
838
921
847
869
959
882
971
804
833
910
942
935
938
939
907
871
980
961
990
808
927
824
893
927
976
982
886
930
918
938
814
921
989
979
900
942
964
809
905
826
831
925
892
955
883
992
880
927
967
997
944
984
858
865
821
878
870
837
887
900
872
858
876
886
802
983
932
975
838
980
955
981
964
891
895
922
847
943
863
856
893
943
962
940
942
832
967
998
946
852
946
841
971
887
982
966
888
978
935
824
989
937
897
845
940
1000
891
864
934
885
819
878
844
897
803
878
946
818
832
861
906
866
858
938
942
906
955
827
975
873
840
955
933
801
835
936
957
907
948
933
997
989
817
851
917
942
838
833
814
901
803
999
997
895
823
887
852
950
929
945
821
805
804
847
916
829
810
977
967
927
912
893
815
912
900
817
847
939
815
914
895
821
875
963
886
957
917
881
926
984
915
932
917
851
888
810
807
834
945
887
829
971
805
895
890
927
906
825
875
951
899
920
838
936
934
900
858
895
969
851
865
1000
830
989
878
982
992
928
806
812
864
984
838
983
888
957
921
914
965
962
938
953
969
852
842
943
911
920
914
826
970
882
992
946
964
901
879
865
887
968
831
889
803
881
965
935
969
901
846
870
981
807
896
813
930
995
966
981
949
864
977
995
837
882
806
886
995
988
890
860
953
969
861
810
874
977
932
819
833
889
886
934
1000
861
827
825
890
845
886
899
838
923
928
994
963
930
900
935
801
870
885
912
803
990
977
867
984
819
857
985
863
860
983
928
814
979
821
999
937
914
884
805
911
908
979
1000
965
928
844
825
979
827
867
877
926
896
983
801
911
820
923
891
879
877
889
921
849
929
832
804
901
869
916
827
813
810
875
870
870
875
983
906
885
875
865
865
964
994
942
949
827
947
866
891
925
913
874
847
831
978
876
888
955
857
812
908
829
880
852
952
962
851
947
961
960
937
989
801
950
913
892
826
931
953
846
991
871
908
807
806
947
976
902
821
947
814
918
812
983
929
901
811
894
921
878
868
812
828
862
857
839
885
871
935
978
849
933
832
961
960
870
814
934
976
894
983
830
852
957
821
845
904
949
814
823
895
825
929
880
947
864
902
897
964
821
922
916
961
867
901
877
881
945
836
903
963
804
973
975
991
836
931
869
802
900
986
873
869
839
983
966
962
946
877
827
853
804
806
977
815
956
922
956
801
924
922
804
804
915
960
965
809
930
890
829
880
985
917
944
863
849
943
840
816
855
981
966
812
953
959
821
978
970
956
960
826
813
919
812
866
926
913
839
846
898
904
882
920
825
801
813
887
841
976
870
832
841
884
806
930
972
848
977
813
838
855
856
844
986
997
814
851
936
957
867
820
832
858
895
846
809
917
845
915
909
988
815
868
809
810
994
976
881
943
847
991
848
965
958
943
887
937
916
800
883
968
908
846
948
870
885
830
973
943
970
930
962
816
908
837
915
931
950
961
964
979
854
876
986
817
858
867
903
944
845
970
834
901
868
972
943
814
874
860
844
969
928
873
903
825
933
981
953
891
871
884
940
828
958
803
977
899
837
893
810
918
831
911
894
949
986
814
854
963
971
848
909
982
898
827
818
852
807
842
883
895
801
986
960
896
900
849
979
894
860
893
997
847
594
596
623
607
666
582
558
649
540
519
659
672
591
582
615
606
655
504
618
528
587
676
650
528
671
522
596
697
612
570
569
647
671
622
588
601
591
566
652
511
528
681
683
568
639
522
613
630
677
519
682
662
536
617
590
507
657
546
560
529
537
681
639
526
678
607
658
665
607
674
621
503
512
636
554
502
684
659
696
685
535
542
659
628
587
656
507
591
591
637
667
589
633
582
628
569
595
516
686
604
597
540
551
657
651
523
640
687
612
692
570
583
634
641
685
696
693
524
612
639
524
510
521
526
609
611
575
521
633
560
580
623
503
630
501
585
530
533
610
530
524
522
579
673
595
689
699
623
674
571
620
552
562
501
624
608
517
594
567
695
621
579
663
527
515
531
584
658
563
639
612
585
507
523
514
685
689
640
504
537
606
519
553
642
613
690
619
551
625
689
678
659
589
523
542
583
524
594
670
629
552
623
640
635
649
681
557
600
633
609
542
628
630
511
642
520
698
688
517
683
508
690
573
585
641
692
687
556
533
536
567
591
693
633
528
671
541
592
645
546
529
540
590
626
529
563
598
531
622
515
599
639
589
525
641
700
666
673
620
591
678
698
674
690
680
530
604
575
525
545
673
508
533
567
681
650
540
596
537
643
661
682
584
536
631
668
576
658
656
595
650
620
600
563
599
505
665
668
553
584
579
642
668
669
595
663
535
687
666
683
577
689
601
609
643
532
633
626
593
660
601
628
582
528
542
578
615
649
559
506
501
558
687
700
598
659
592
645
674
534
576
573
573
662
505
564
663
610
575
572
649
594
590
642
666
684
638
649
670
626
690
571
612
631
605
658
559
648
634
651
638
535
523
678
542
616
623
527
562
604
620
578
530
573
547
666
566
522
518
511
587
668
551
691
585
569
671
560
534
536
602
531
539
671
527
532
518
522
682
617
514
695
570
548
669
548
616
661
528
663
627
504
575
622
509
669
535
663
592
637
594
591
567
612
573
542
688
529
646
665
621
662
657
699
563
560
504
563
530
636
615
660
691
605
571
615
604
600
524
566
683
515
664
581
695
566
558
566
659
620
609
558
606
624
565
577
539
548
588
534
691
579
581
545
598
612
699
684
501
616
660
680
691
581
580
555
668
667
533
558
655
584
641
657
588
610
576
636
698
552
576
679
667
587
528
512
547
553
602
606
544
619
601
581
609
518
520
574
657
645
593
524
671
679
678
622
690
650
602
550
658
605
619
509
510
606
648
527
535
684
655
522
655
652
693
542
632
547
562
533
605
570
571
651
525
692
536
691
691
650
608
577
576
525
635
637
548
517
530
688
623
506
638
646
683
658
595
647
651
545
574
538
504
647
565
592
630
540
641
596
634
522
636
587
619
619
533
531
625
689
531
611
644
642
542
667
654
514
592
596
637
562
633
669
696
632
512
510
566
660
670
595
590
584
670
649
674
524
624
691
535
674
592
573
638
556
598
645
675
573
500
618
569
567
521
501
610
512
700
566
505
590
551
700
685
683
526
519
580
559
519
524
506
668
618
666
680
504
616
538
672
563
606
608
595
546
608
567
624
510
531
508
677
666
588
552
533
593
663
539
699
528
583
693
613
672
570
611
571
673
565
639
651
599
546
574
640
578
697
519
661
543
527
665
674
686
565
671
549
542
621
638
698
519
508
507
646
655
652
548
543
535
612
676
632
566
526
669
647
608
517
634
514
665
632
680
673
693
648
627
548
502
542
644
675
566
604
538
514
578
563
673
522
565
542
581
656
693
679
518
621
649
687
670
560
559
552
659
529
691
565
651
531
508
604
501
646
697
505
586
501
518
610
544
687
506
644
680
526
556
654
649
692
590
553
615
533
568
653
655
535
511
673
666
561
508
648
538
629
597
643
656
700
551
620
654
656
601
629
635
604
688
508
599
538
575
667
594
607
519
633
665
513
572
606
543
570
569
558
605
583
620
689
602
659
584
508
510
673
523
507
619
603
641
523
632
592
586
532
605
683
537
518
515
515
589
568
554
563
676
648
650
548
549
554
670
654
548
618
526
598
532
659
691
538
520
570
691
629
505
641
519
526
608
623
608
605
514
658
674
546
637
640
670
641
608
671
556
614
545
547
587
614
664
649
697
662
526
651
644
505
670
676
567
522
521
574
657
504
653
566
639
554
684
547
550
696
631
675
574
688
643
554
608
544
698
697
685
613
655
646
634
692
670
603
527
672
525
624
536
569
684
632
615
653
566
565
582
618
625
568
631
604
636
644
675
613
673
642
682
559
561
630
607
571
629
692
611
552
552
561
565
621
619
610
558
591
651
601
660
683
593
637
663
618
653
543
687
537
569
652
539
534
684
545
698
512
627
505
544
531
604
607
556
522
568
648
634
525
569
664
611
539
502
692
684
564
572
654
565
560
634
536
698
684
632
700
652
555
618
532
593
694
514
571
502
501
532
570
640
547
557
549
611
667
609
575
683
589
539
685
619
653
681
551
660
557
630
608
543
597
672
586
694
606
622
638
677
512
570
679
534
632
554
535
622
633
528
685
651
588
697
624
538
514
636
659
685
590
679
623
690
669
576
699
668
656
617
506
564
611
521
611
660
638
689
612
574
653
619
561
691
676
606
536
679
646
601
575
697
656
670
657
555
555
556
621
603
586
543
672
667
603
621
654
629
582
624
531
515
559
597
645
664
656
692
547
579
619
665
631
510
693
621
580
652
643
501
576
659
592
587
652
636
513
663
628
659
609
591
591
604
658
533
695
624
634
671
504
577
613
582
659
518
601
613
575
586
571
619
572
538
561
559
607
676
529
550
570
662
644
634
536
522
610
515
636
576
520
605
581
647
504
653
603
654
576
547
513
589
513
688
562
642
687
671
660
576
557
657
590
683
685
537
542
686
690
600
604
687
677
695
546
541
517
665
652
551
547
500
585
511
509
587
515
583
569
599
550
666
661
617
672
600
525
567
620
663
669
530
630
658
610
636
634
608
537
641
592
697
565
561
651
533
674
681
679
637
540
699
650
700
513
524
549
521
528
652
553
653
688
585
565
651
652
576
531
505
624
697
541
621
536
555
549
700
505
627
565
546
677
601
550
607
626
614
536
536
516
566
601
669
635
661
651
693
592
633
609
591
692
503
592
629
510
652
529
621
584
638
522
516
580
562
671
682
591
504
614
621
621
509
640
518
577
664
528
559
540
606
521
567
696
665
643
573
665
560
579
641
554
568
524
569
560
597
636
582
506
620
683
599
596
636
569
564
601
601
587
552
597
658
559
591
576
689
538
667
536
612
689
632
501
658
551
675
572
657
520
621
557
522
528
653
694
632
503
509
687
627
612
503
557
686
556
650
660
586
544
590
508
532
655
542
621
590
538
654
608
554
672
663
635
575
533
637
650
698
526
569
608
681
561
567
510
609
560
595
627
561
688
532
543
685
570
688
567
618
616
505
651
577
586
617
664
617
621
548
631
611
594
574
520
595
553
553
532
605
657
589
628
670
521
681
513
622
559
684
506
506
513
551
576
642
677
685
559
515
638
500
600
565
532
500
653
684
569
525
571
607
594
568
615
575
564
695
535
656
537
668
649
527
562
554
513
692
538
554
599
683
513
593
680
682
646
592
555
500
578
510
630
692
687
516
632
529
660
527
550
671
578
532
580
585
502
661
664
593
652
597
523
620
667
700
699
583
670
698
655
688
573
669
535
544
692
552
509
590
561
629
653
573
700
629
667
690
596
566
571
612
694
561
696
622
639
587
624
667
621
659
644
632
527
615
552
659
632
672
575
669
641
600
577
576
506
682
625
561
596
543
649
696
674
519
601
566
565
615
534
669
667
559
698
515
564
664
652
601
591
622
612
563
613
580
617
570
504
542
656
531
659
661
667
586
689
666
698
508
679
511
525
530
614
522
573
583
647
666
546
579
590
613
591
573
644
578
567
680
569
636
541
674
579
548
685
685
648
611
603
509
560
527
553
572
687
682
624
591
533
626
552
512
507
666
646
699
671
544
689
604
690
649
562
637
661
612
604
601
564
629
595
521
657
568
568
696
570
635
605
575
595
608
617
512
666
550
519
568
655
635
550
554
559
521
620
556
603
698
612
502
625
554
688
609
548
505
631
505
529
526
544
663
608
617
503
661
568
512
511
508
597
663
694
558
700
617
690
657
587
542
642
597
666
577
521
629
646
569
522
669
516
619
655
635
606
681
566
650
644
536
691
586
540
542
667
569
530
654
620
549
567
589
681
619
634
646
638
633
525
508
627
523
687
587
658
694
501
594
567
623
655
538
606
641
574
675
548
501
515
667
664
615
661
680
592
595
652
658
609
696
694
699
621
688
557
649
653
534
520
524
636
518
606
568
523
598
587
576
627
555
610
619
613
671
609
662
684
616
570
511
603
560
646
501
681
619
576
676
641
658
666
524
628
630
613
520
601
515
617
537
567
521
640
508
506
590
615
628
592
687
568
500
610
549
550
532
542
569
681
636
556
500
625
656
614
601
628
559
640
559
547
642
644
586
668
667
693
544
666
515
659
634
601
518
699
558
582
679
636
690
621
615
541
551
571
670
631
547
621
663
584
571
606
604
560
604
604
595
673
502
533
543
631
537
685
697
682
655
571
672
515
632
572
631
530
580
556
651
655
663
675
616
535
662
654
565
675
625
500
513
641
700
594
653
546
627
534
512
570
564
557
660
568
504
504
554
637
564
640
671
535
503
625
532
668
585
631
669
565
691
534
578
604
667
699
537
593
599
693
531
679
609
616
689
574
669
500
645
536
567
569
644
510
600
569
577
666
656
591
534
515
531
682
517
659
578
546
630
661
540
699
511
623
634
580
635
581
542
630
635
662
669
591
504
574
699
528
506
552
641
644
669
671
588
577
589
638
606
659
525
559
588
664
594
666
589
531
686
641
693
612
522
639
548
664
583
678
640
616
672
546
583
633
566
624
630
516
502
564
601
520
615
631
638
630
663
607
547
649
583
508
538
698
677
537
566
653
500
685
657
609
584
559
620
628
653
672
597
690
518
684
575
553
550
678
630
528
533
680
675
673
662
554
539
582
635
614
506
525
661
505
562
690
536
566
566
643
525
595
593
565
655
544
608
616
519
642
501
683
563
523
688
517
548
634
696
590
625
519
552
683
518
692
557
629
505
522
601
678
515
521
548
696
625
512
607
695
512
690
654
556
540
625
519
558
553
575
635
588
528
539
638
582
639
510
629
639
592
504
567
584
617
650
585
530
631
679
596
551
684
601
589
542
693
636
567
670
529
674
657
572
509
511
531
555
637
565
668
675
695
591
522
645
684
660
554
548
642
554
555
626
665
622
614
556
582
657
698
526
673
648
520
687
644
573
532
617
553
613
526
699
685
673
607
593
582
637
521
649
521
614
634
596
625
607
606
558
608
596
683
562
632
617
637
606
613
531
512
661
662
676
545
648
600
601
507
687
626
587
523
608
650
564
517
532
569
540
662
689
605
647
552
601
620
521
650
510
593
566
566
652
520
532
572
515
594
513
694
669
557
602
532
552
586
618
525
518
603
535
589
683
548
538
517
625
530
682
628
672
560
602
501
658
590
677
598
677
610
602
549
690
666
523
533
686
521
695
503
565
667
518
540
690
549
503
664
581
604
539
590
676
649
572
653
680
610
592
633
539
549
506
672
517
601
611
503
692
592
626
548
689
596
590
649
679
611
576
517
624
500
636
651
560
512
593
616
556
687
693
606
633
624
549
567
550
618
604
520
643
613
583
630
631
655
516
536
500
575
649
678
686
624
586
587
694
548
530
617
631
581
539
652
572
503
597
571
570
630
591
613
620
678
565
646
698
687
509
636
581
577
517
675
543
653
574
532
564
674
583
504
643
677
516
565
565
639
663
661
662
678
563
584
557
531
606
571
590
589
621
589
623
597
523
544
660
566
604
596
659
607
552
617
678
679
631
648
635
684
632
635
501
567
687
643
586
662
638
638
594
613
641
603
636
511
545
676
621
538
565
694
603
565
532
636
535
601
575
679
596
596
689
644
525
673
557
544
503
557
537
619
624
633
600
527
528
694
535
573
596
513
512
573
691
650
681
695
569
540
520
665
540
688
656
541
517
503
670
546
597
533
661
636
624
633
678
648
531
668
601
656
651
612
654
641
635
610
515
546
588
579
557
522
677
544
585
524
617
638
618
621
691
583
575
666
660
580
519
601
526
511
637
599
571
662
549
629
689
645
546
572
573
676
676
693
634
655
522
654
607
572
569
632
541
638
573
532
688
548
654
651
611
609
542
679
551
660
630
628
552
627
520
652
568
640
649
522
510
608
611
609
515
589
558
572
617
509
581
641
553
687
523
688
559
601
554
607
638
609
616
594
500
615
508
525
627
544
591
699
596
595
673
575
651
685
562
506
669
637
657
543
563
641
608
589
585
541
553
613
587
638
612
532
682
592
557
519
638
613
635
586
633
580
531
614
596
619
546
642
635
664
527
559
646
664
674
606
641
647
586
525
534
697
545
601
554
595
634
511
504
606
572
668
553
630
562
516
696
527
628
634
540
626
668
614
684
528
604
657
665
605
571
537
615
626
536
689
588
559
579
605
602
528
615
501
607
663
684
642
638
551
533
680
527
617
664
690
576
535
507
696
624
624
609
632
508
619
617
570
652
564
609
558
645
581
579
662
659
597
520
580
643
679
657
501
585
564
678
642
585
521
666
545
549
588
579
592
530
590
517
582
512
592
519
552
671
639
526
555
533
632
564
564
539
660
559
658
602
629
689
579
654
557
600
551
671
610
648
563
697
595
606
571
627
535
700
676
696
521
537
682
577
518
655
598
696
677
633
604
575
520
685
659
611
602
678
544
636
590
605
656
534
660
659
667
546
666
537
549
579
593
637
501
668
662
611
630
548
594
551
569
540
590
538
543
699
647
545
684
590
512
662
698
521
601
621
532
558
607
635
615
613
547
503
656
538
576
576
597
672
508
576
692
556
677
528
677
682
662
543
599
582
558
686
578
512
517
694
681
691
569
626
559
623
628
638
548
553
557
666
670
507
579
505
570
615
690
690
517
640
682
599
575
685
654
586
594
552
515
524
674
556
580
693
556
633
690
500
625
549
559
534
659
627
660
688
570
548
546
622
645
629
550
557
578
588
632
596
628
572
604
518
635
613
684
689
650
507
576
669
662
519
601
538
524
507
513
661
648
518
587
567
570
533
551
681
616
661
629
544
594
522
630
501
597
605
585
659
645
545
608
561
605
623
513
569
656
590
524
670
526
601
656
599
672
586
692
644
510
636
599
636
652
544
527
656
561
677
661
670
545
555
577
633
522
585
619
637
686
504
643
603
595
651
501
677
682
632
529
593
687
605
612
615
641
667
614
552
591
617
670
685
548
687
654
634
549
617
661
518
595
516
530
555
657
667
691
566
503
650
503
551
581
648
617
584
594
652
694
668
621
524
674
602
586
682
656
692
552
583
601
510
640
652
585
619
649
527
607
682
679
679
504
545
565
516
539
617
606
513
607
637
546
603
607
526
674
545
664
556
683
634
628
545
673
695
622
643
665
587
546
576
677
646
594
515
639
502
545
561
687
632
596
540
680
679
520
519
503
577
517
666
551
539
684
507
636
645
526
672
542
589
602
667
693
552
675
504
539
608
693
502
577
595
506
688
636
551
606
676
547
525
500
584
542
685
538
621
544
572
565
602
563
686
550
606
669
612
554
681
518
560
540
605
640
581
664
674
538
657
653
525
504
605
550
646
546
618
551
635
655
519
574
628
664
683
676
538
567
536
503
589
637
514
502
619
565
519
630
688
653
624
541
569
658
679
515
536
586
615
618
524
555
645
602
639
551
581
692
500
522
541
574
584
623
560
610
564
605
600
632
590
587
592
505
681
521
513
687
620
554
533
549
696
604
576
627
564
539
653
603
507
640
637
541
693
560
668
512
628
518
601
584
602
571
614
543
501
556
643
671
605
555
547
607
555
686
601
531
572
689
506
616
684
578
642
519
608
572
674
640
596
546
568
515
551
509
626
592
598
620
506
539
511
602
565
500
579
563
661
603
514
565
541
638
627
527
530
501
512
546
530
556
637
600
662
550
583
555
507
551
657
632
545
575
571
613
678
647
656
554
688
589
624
697
643
627
572
669
554
517
585
657
670
670
682
625
661
647
538
558
550
619
602
578
628
536
532
620
593
696
615
546
650
581
552
611
558
679
586
530
655
563
586
674
697
591
546
530
530
678
528
643
621
578
696
532
522
627
642
578
544
665
596
689
581
500
673
510
569
511
609
527
634
608
674
566
696
591
554
595
595
531
595
693
630
651
604
566
662
577
643
635
543
591
641
528
667
511
515
634
651
542
680
596
630
620
601
597
603
557
505
538
676
594
605
585
645
539
610
514
646
631
590
590
550
685
525
509
625
592
518
652
518
564
659
559
645
658
695
565
517
655
637
566
632
610
685
571
667
598
582
599
690
699
682
535
593
666
531
582
589
677
609
502
556
652
681
593
578
552
610
581
700
584
587
580
578
622
690
551
593
589
541
693
613
564
665
669
603
588
684
619
630
661
558
560
600
585
662
671
666
534
676
595
577
641
696
569
638
637
560
613
595
664
583
697
515
604
652
645
645
500
544
632
637
525
659
587
542
636
679
605
516
611
508
657
637
673
666
661
583
670
616
645
632
530
655
659
654
563
510
700
669
547
670
610
534
517
679
635
586
633
555
520
663
642
617
680
610
541
653
649
614
518
537
675
680
500
629
505
548
651
571
559
505
657
570
607
509
615
589
660
631
638
578
677
503
608
577
534
663
679
668
534
559
669
686
683
500
573
584
613
694
574
700
676
633
667
635
536
527
531
610
647
605
696
604
672
517
528
555
598
619
652
563
502
685
517
599
582
623
686
690
688
500
510
639
595
532
531
505
526
647
666
698
605
625
547
663
534
658
626
587
582
637
567
576
699
664
688
545
584
613
666
683
501
687
658
675
654
526
684
575
589
538
641
585
656
654
670
593
665
574
591
612
618
522
535
505
596
651
662
590
526
650
598
667
668
650
678
608
652
693
561
526
633
542
679
663
652
695
680
621
656
624
636
666
666
549
526
501
615
631
600
621
681
608
585
689
629
599
565
560
669
618
541
598
698
532
629
522
591
517
554
585
653
646
656
628
689
506
637
632
682
657
529
593
529
634
625
643
541
507
504
678
688
632
650
538
639
624
567
591
505
634
681
635
614
574
527
674
648
611
693
567
536
518
519
622
525
573
538
556
516
574
619
528
571
665
665
541
678
626
610
567
698
554
608
540
694
631
514
532
506
643
517
686
685
510
530
655
561
656
511
541
504
660
638
641
602
555
552
622
597
550
545
650
651
678
587
625
527
646
658
501
610
548
688
652
697
512
545
644
577
571
580
544
540
637
515
634
562
672
500
613
508
658
678
536
592
590
563
548
605
651
676
614
578
665
600
671
599
530
566
683
528
510
688
696
584
506
624
598
588
527
623
661
518
662
539
691
519
525
551
521
524
513
653
519
672
665
675
500
566
601
667
555
690
538
535
519
567
681
683
608
506
523
574
538
557
625
617
692
688
685
564
570
693
588
628
605
561
566
626
602
649
646
637
598
570
636
651
636
588
632
575
587
597
524
527
662
563
603
599
653
559
583
528
581
567
660
529
645
536
616
566
644
562
504
541
523
616
533
648
574
612
506
650
513
544
670
508
570
526
636
577
514
665
594
603
696
628
700
611
529
555
697
676
697
555
657
573
604
570
648
612
685
568
667
548
517
606
610
611
655
640
646
632
568
524
670
527
631
647
667
577
674
540
593
606
629
585
626
620
520
625
666
674
502
555
626
685
519
575
530
599
613
559
568
560
595
527
511
530
611
643
678
662
613
562
690
500
645
679
520
675
670
679
689
555
669
541
530
636
672
609
560
542
592
669
592
695
586
630
625
669
564
578
614
601
669
620
674
502
569
501
557
550
584
581
567
555
694
572
677
692
629
501
655
656
661
508
543
615
635
605
662
622
635
539
643
607
557
610
580
569
583
608
581
559
519
695
644
660
639
576
675
617
522
567
619
503
521
656
670
648
654
662
546
566
658
517
642
680
517
537
530
533
700
500
650
578
691
583
643
542
533
626
502
519
675
529
602
612
696
619
515
556
614
620
508
610
606
562
577
630
577
680
559
672
688
675
680
633
690
670
512
533
607
593
647
629
605
665
645
555
661
682
555
574
664
552
524
507
593
591
580
685
696
673
503
558
697
612
548
522
643
522
672
686
619
669
696
585
578
644
578
538
596
567
617
631
516
625
580
527
596
526
588
547
542
509
516
692
570
674
663
661
549
511
599
658
541
621
890
856
942
889
909
993
848
856
809
814
869
996
907
895
880
982
858
897
921
991
896
864
931
835
907
868
945
930
989
841
966
897
908
820
985
987
869
914
824
824
908
820
893
803
910
973
916
828
944
943
950
866
892
900
947
966
963
927
863
906
848
875
827
924
894
816
973
826
811
921
847
896
931
879
869
959
817
985
872
978
915
877
966
841
910
827
957
843
808
933
933
918
824
822
968
868
908
918
989
896
902
957
919
979
828
903
927
945
821
887
893
870
922
862
982
971
904
871
831
998
859
958
983
857
829
983
847
856
963
946
822
898
995
985
879
880
819
940
957
904
905
939
830
937
941
904
898
918
865
939
802
871
859
968
996
959
960
919
957
964
811
825
897
909
994
942
871
872
914
853
827
875
977
911
963
911
920
860
804
938
988
802
969
844
991
886
843
961
811
808
937
977
862
943
903
871
936
892
894
903
820
987
862
952
986
916
816
943
916
828
961
822
834
802
907
822
875
848
974
896
800
891
803
926
831
836
876
911
932
852
936
951
894
899
827
993
943
999
914
819
984
922
931
821
802
829
974
936
891
834
995
854
943
972
982
987
881
839
800
958
877
910
841
937
877
822
982
907
876
846
978
933
950
911
850
828
933
857
960
897
882
951
804
924
889
826
829
889
994
959
992
965
864
814
960
973
937
899
934
949
838
855
806
912
903
867
995
989
937
926
976
970
880
886
831
955
968
865
972
905
922
952
810
999
818
868
881
919
875
888
973
874
802
878
955
948
916
813
881
980
950
967
849
951
919
864
853
907
825
835
887
944
940
942
857
876
838
932
899
932
906
998
888
907
805
866
937
982
918
875
822
802
907
926
807
854
915
825
835
814
844
891
836
967
805
988
839
860
858
981
811
861
844
994
875
933
881
945
839
994
868
953
863
954
803
933
859
818
888
908
850
932
889
902
907
817
935
927
885
970
908
833
851
947
813
882
880
940
992
841
851
994
925
821
918
911
813
867
820
959
850
948
965
902
986
932
945
876
985
932
864
887
857
822
904
915
975
864
979
984
899
837
955
921
855
970
994
935
954
917
988
845
982
879
851
808
883
848
899
864
940
846
859
880
849
888
900
861
902
968
838
960
887
874
984
892
806
818
908
952
907
989
904
927
823
970
973
939
948
907
962
836
823
875
956
876
914
821
953
851
902
852
970
946
918
941
994
808
803
857
903
995
829
816
874
882
812
841
897
993
986
817
917
919
998
853
914
800
988
824
818
949
823
887
816
848
839
958
949
867
968
834
948
821
826
1000
971
908
986
821
974
997
847
830
879
882
842
823
820
809
997
967
942
957
899
856
824
925
835
990
920
969
910
801
830
997
813
816
891
947
862
945
847
963
967
860
946
814
879
995
924
949
996
818
940
945
993
886
855
855
866
967
800
841
988
813
949
802
991
801
803
843
858
828
982
910
876
877
945
927
815
854
893
898
990
872
864
935
976
953
977
892
808
925
983
806
949
835
991
906
800
998
897
992
984
845
970
919
962
939
886
910
841
912
812
994
840
943
942
827
999
1000
800
807
836
954
803
810
982
956
805
958
957
881
965
968
849
924
806
804
939
828
914
872
991
1000
852
939
810
960
863
978
801
848
893
972
993
872
844
997
845
956
819
806
903
802
899
991
830
846
845
881
818
997
913
930
905
949
972
890
804
880
834
971
874
818
886
828
865
802
962
900
925
876
896
883
840
909
866
979
977
868
816
931
898
857
861
981
918
879
947
885
980
900
982
893
937
832
810
947
991
930
915
973
951
854
877
898
835
922
888
932
881
944
833
918
893
931
842
872
934
864
839
837
915
839
920
802
888
937
979
826
970
850
921
837
996
903
989
924
898
806
808
908
956
972
808
965
985
947
952
962
987
802
928
832
953
916
924
849
820
903
888
924
811
867
811
977
841
906
810
932
895
991
870
978
843
940
802
817
869
989
861
870
985
821
941
886
834
800
812
833
892
851
830
937
886
967
970
834
968
960
864
958
872
924
822
967
908
896
943
821
919
857
879
971
886
835
898
808
873
904
983
979
828
999
867
909
953
890
914
821
971
927
878
932
819
843
930
886
905
969
969
839
887
968
920
926
816
932
849
821
916
907
814
935
828
828
907
886
953
897
863
875
883
995
950
934
847
924
981
843
872
957
945
879
892
814
964
812
813
922
979
936
883
911
972
897
841
943
954
952
829
914
948
969
844
988
997
911
997
936
987
842
859
981
954
864
829
981
984
995
863
809
851
993
817
932
868
850
858
980
810
809
801
823
805
831
868
833
861
977
820
989
974
869
928
942
809
815
918
904
910
823
961
826
880
998
993
926
934
935
972
858
950
995
827
800
870
864
899
843
839
962
994
981
979
807
886
845
898
818
928
888
806
998
869
943
827
977
987
997
903
995
947
852
882
886
815
979
996
824
827
885
869
957
837
833
935
999
842
941
830
809
987
981
988
897
898
882
987
825
918
889
945
978
962
983
958
993
819
862
973
992
894
877
950
952
891
838
953
825
950
910
840
949
824
986
904
929
933
925
894
931
996
912
964
836
811
934
953
989
994
879
833
864
943
920
911
866
831
831
997
895
865
889
879
854
990
944
859
989
932
905
912
836
830
804
997
822
932
904
894
935
980
920
946
883
921
802
971
984
942
981
964
943
953
825
911
974
804
907
848
891
973
851
810
976
953
823
833
981
884
814
967
838
838
821
893
987
883
897
884
864
885
804
995
884
847
875
856
877
801
868
984
920
920
821
854
952
812
875
827
844
856
810
863
944
831
934
902
945
824
929
937
822
825
853
846
893
813
834
984
829
834
843
826
834
943
877
997
884
863
923
932
920
934
868
962
828
842
836
951
816
835
823
934
879
1000
923
843
870
917
958
801
882
829
905
876
806
950
855
824
906
938
837
977
981
935
994
847
819
991
984
922
998
880
994
922
927
833
920
940
994
942
919
893
950
963
918
902
960
824
932
813
927
911
822
921
894
956
986
865
961
998
856
988
883
890
853
816
825
924
923
966
961
868
946
964
850
818
885
982
990
981
978
932
888
900
927
946
918
841
925
907
860
881
878
897
875
891
954
907
901
800
997
927
805
943
912
915
938
937
830
845
835
917
958
956
893
802
992
873
867
965
938
948
988
813
901
940
852
989
918
870
986
805
984
993
810
966
892
891
996
876
951
960
933
843
975
883
931
967
986
875
803
977
936
895
942
856
959
903
988
942
986
807
803
961
917
840
948
867
925
953
865
881
957
930
874
852
902
908
814
815
806
804
908
814
930
899
877
898
820
974
823
991
908
996
800
894
961
976
815
803
898
872
996
856
830
936
987
863
819
896
923
885
897
876
859
837
865
829
851
987
981
969
899
922
805
910
971
808
953
877
991
837
881
849
976
991
917
835
829
965
824
813
853
973
808
863
848
964
886
853
977
851
897
817
984
847
924
806
973
861
894
802
889
990
835
954
879
902
841
958
956
881
911
969
876
958
880
940
911
892
870
884
896
865
951
819
912
906
951
982
901
978
940
826
892
828
868
845
905
823
854
961
842
928
815
850
953
968
829
894
835
817
839
836
958
868
819
906
928
940
884
836
836
884
972
887
928
829
972
907
822
958
951
975
987
950
927
924
908
978
890
840
886
982
995
892
868
961
973
928
923
844
964
926
807
975
834
911
813
866
898
864
961
878
824
962
965
948
880
831
855
855
977
950
862
874
927
977
902
863
814
990
842
880
897
958
985
941
953
961
909
830
919
966
812
994
841
868
916
885
889
851
990
927
938
969
914
865
853
803
821
950
864
976
931
974
853
919
926
988
861
890
935
880
982
900
919
865
848
885
933
980
933
904
925
908
935
926
800
887
917
918
918
945
884
803
947
822
901
918
813
816
961
888
890
966
885
823
975
832
952
954
978
983
882
873
900
887
919
812
897
997
931
916
811
847
933
834
965
937
910
842
938
842
840
976
994
882
966
974
873
996
831
879
960
943
857
870
886
832
923
955
802
890
875
957
910
962
974
802
801
942
856
835
874
925
831
936
873
953
994
995
857
902
872
840
829
997
899
917
950
859
807
961
890
947
837
858
898
963
810
953
923
861
983
839
806
835
917
907
927
841
833
898
964
840
988
958
992
859
817
918
929
851
821
860
910
828
962
932
963
962
928
903
829
817
911
907
941
839
881
905
933
840
815
986
831
993
803
905
984
830
841
803
810
956
812
967
942
851
983
997
813
860
905
906
922
855
921
929
824
917
910
848
880
988
816
808
948
939
985
982
920
853
902
963
970
988
806
878
932
866
930
938
988
905
933
892
944
936
820
880
892
940
883
880
904
963
911
832
855
875
878
928
957
841
927
895
911
893
889
867
951
914
908
845
940
928
913
963
909
862
932
984
978
845
867
935
931
964
818
950
801
930
994
901
965
805
858
904
927
928
848
836
924
889
996
991
831
845
953
852
897
906
932
836
850
967
902
892
938
954
935
894
948
841
898
892
981
954
976
958
997
904
975
828
985
824
982
890
995
975
895
810
841
884
894
816
914
900
936
893
969
949
851
888
820
993
856
857
812
981
957
894
813
985
824
1000
848
986
810
858
800
979
842
988
884
830
887
988
937
893
952
983
912
922
957
916
975
947
979
991
873
839
988
987
998
861
830
891
860
990
912
983
943
821
916
946
970
861
936
990
884
859
949
816
842
993
885
869
842
847
814
905
819
806
856
864
935
924
942
924
824
928
853
909
992
895
811
874
812
895
978
882
891
860
907
845
963
991
839
855
800
818
909
907
822
962
902
889
810
913
944
983
835
972
914
935
953
967
938
924
943
964
881
921
835
833
866
958
971
907
962
902
824
922
950
887
882
878
840
875
805
913
922
876
910
873
985
816
993
945
907
812
987
871
970
982
947
967
981
816
819
804
884
859
953
929
826
894
988
974
805
836
998
981
847
993
813
901
945
986
981
862
843
825
818
800
950
820
924
875
837
983
909
830
819
950
892
881
886
930
912
914
959
915
873
918
803
869
985
926
808
829
837
877
860
955
848
874
841
838
978
879
961
942
963
937
986
818
839
980
948
927
905
937
863
879
840
920
897
814
912
836
852
877
958
949
850
881
938
942
874
822
840
883
818
830
837
995
925
882
987
811
858
897
977
977
935
872
808
825
898
899
800
958
855
904
983
824
939
834
938
944
977
845
949
903
968
843
880
972
898
976
843
998
968
912
965
901
852
814
862
992
919
890
845
949
829
942
846
854
857
809
918
944
983
892
841
888
856
951
903
857
828
944
945
932
887
856
807
910
939
964
908
970
869
855
842
849
812
999
884
965
971
807
810
981
880
994
884
961
810
802
956
942
870
895
822
843
819
861
842
891
915
927
860
902
959
822
913
864
991
952
952
860
989
924
949
848
935
939
852
933
983
987
879
949
875
983
970
801
974
810
861
836
966
980
804
875
815
991
854
987
840
831
804
937
971
869
919
894
947
843
899
893
823
914
998
878
884
904
814
885
948
878
997
967
924
939
899
996
904
956
809
917
952
936
952
821
912
840
805
888
832
845
875
829
976
980
838
884
974
989
831
802
900
888
904
816
982
837
899
911
918
847
870
820
823
846
962
923
987
916
806
968
998
960
988
812
895
887
999
880
916
836
819
877
838
806
882
831
955
816
972
868
860
960
939
869
978
804
939
908
910
807
879
903
830
856
811
970
929
991
933
927
994
803
969
878
945
800
995
820
883
901
992
858
956
908
822
842
807
952
808
941
908
983
917
934
930
903
833
872
981
822
996
989
946
842
935
865
871
939
818
919
878
953
917
994
847
877
946
991
892
884
971
800
867
996
858
928
918
828
801
854
983
921
995
929
853
881
861
936
965
955
899
964
964
959
943
936
875
995
893
870
838
808
911
902
881
988
814
812
825
946
867
952
906
895
801
874
850
963
804
836
825
845
930
877
808
845
952
900
999
842
810
998
948
872
885
905
825
847
986
980
862
901
919
876
972
854
836
919
941
820
807
813
983
889
946
805
849
972
828
949
980
995
845
952
958
941
951
976
892
890
807
860
822
986
858
900
852
853
992
842
884
814
981
996
956
853
834
825
867
853
920
827
833
951
950
966
859
950
983
977
841
893
968
871
859
818
882
980
981
814
883
969
983
905
922
806
941
810
962
853
890
872
870
886
926
986
859
916
879
955
830
923
812
908
906
935
905
836
996
843
890
822
955
997
993
987
800
851
923
850
966
970
960
803
845
984
887
849
991
990
953
906
810
858
913
824
850
874
803
871
830
966
969
878
996
910
835
908
985
805
819
901
963
894
818
938
928
992
986
883
976
956
805
820
995
892
854
807
866
870
997
918
950
855
886
835
963
966
830
953
973
958
844
994
984
982
914
817
906
969
850
936
845
918
871
878
972
976
920
889
856
904
915
1000
806
826
848
950
972
966
982
908
970
805
962
886
854
820
972
818
892
942
919
996
963
812
875
816
868
970
887
889
968
911
974
919
986
839
863
958
842
893
886
942
926
823
801
833
818
840
933
847
814
959
824
922
956
995
898
851
836
857
870
985
892
914
881
958
805
876
985
910
956
948
942
819
916
864
817
963
850
933
870
831
805
838
811
994
940
920
962
838
849
952
823
855
941
870
887
816
845
975
978
994
869
839
881
875
874
838
962
899
811
982
955
926
962
905
942
857
901
913
840
820
971
950
916
831
801
902
961
891
887
958
951
961
803
919
953
980
929
834
845
944
1000
848
964
965
838
812
875
992
812
824
892
814
821
976
962
923
916
885
896
958
987
971
962
988
918
994
875
911
839
955
815
849
982
921
831
878
879
998
994
969
863
885
924
971
879
915
977
942
899
826
902
977
950
854
848
946
922
957
899
910
931
902
927
958
931
922
840
999
824
839
801
838
921
1000
820
941
872
859
839
860
875
996
870
962
842
889
973
851
925
857
881
907
938
930
921
878
841
826
915
843
955
933
870
806
906
821
804
860
805
820
826
963
954
844
873
873
911
967
843
978
913
992
968
825
884
940
899
874
952
833
994
880
863
973
997
830
802
939
920
828
879
862
905
831
974
833
896
871
930
979
806
946
921
925
847
996
983
843
813
996
837
962
912
816
917
953
821
813
872
974
988
874
998
807
998
927
991
848
997
991
861
949
807
878
881
999
806
917
818
923
942
925
820
883
857
924
887
829
907
872
916
952
836
954
908
852
851
954
974
970
850
980
941
966
978
880
966
845
954
863
947
961
981
857
945
840
843
993
881
944
919
943
885
887
811
888
888
813
940
868
905
830
864
963
875
915
982
832
954
961
849
943
929
957
931
952
920
850
848
911
934
953
925
914
830
876
901
984
969
984
855
920
835
932
989
810
973
964
905
917
901
928
960
852
933
872
944
916
978
941
823
880
804
992
990
850
917
871
896
842
835
960
946
994
889
995
994
839
827
896
891
901
818
938
854
882
924
964
908
809
950
820
974
960
886
921
896
892
918
852
912
955
838
994
987
927
978
822
939
815
890
895
867
951
969
975
883
971
915
837
906
983
961
986
846
980
911
813
906
843
871
831
899
982
820
952
842
879
815
893
864
889
990
974
981
855
814
896
953
901
806
893
954
833
883
914
953
907
976
981
946
837
921
909
867
820
948
907
976
927
992
966
916
833
892
868
864
835
883
919
822
962
990
995
863
899
917
883
839
914
866
834
991
842
923
957
990
905
920
888
986
966
892
818
955
863
817
912
862
909
892
808
909
883
992
879
833
818
829
837
847
1000
844
889
964
892
825
961
877
803
875
906
998
880
830
951
891
960
886
879
944
837
876
974
803
844
831
884
823
824
915
827
872
928
983
893
836
857
876
980
831
881
828
891
929
975
875
962
901
873
820
913
970
981
837
910
949
816
860
873
947
912
966
993
856
851
871
815
901
943
946
921
920
872
805
959
913
978
896
897
980
882
985
966
844
940
894
803
934
958
824
877
895
884
874
870
937
806
817
947
834
825
930
888
876
920
803
988
894
939
993
878
910
832
878
979
981
901
800
924
842
905
809
882
844
819
826
898
875
807
812
861
936
914
874
978
824
865
854
915
827
924
951
933
885
826
960
926
943
868
965
993
923
971
949
830
881
827
842
994
987
944
999
998
915
807
811
913
878
914
814
862
910
835
984
875
838
853
933
889
800
897
944
985
807
978
925
973
909
919
956
926
963
882
952
839
893
872
942
825
862
843
852
861
908
882
837
929
868
962
808
803
920
872
876
893
810
805
978
987
838
958
981
907
884
929
958
826
806
857
914
966
911
841
912
819
865
989
948
899
887
971
932
836
907
981
952
944
919
972
958
986
893
892
979
844
977
993
915
962
881
997
895
817
841
890
837
937
865
832
955
898
858
928
983
981
990
976
864
819
812
874
890
902
903
861
908
995
815
901
872
842
899
940
906
893
952
924
953
907
867
938
860
899
853
810
941
933
807
999
849
974
882
872
874
962
822
920
824
985
966
823
896
848
843
812
932
876
884
986
818
870
849
942
959
863
898
863
880
988
884
881
964
868
974
975
899
928
972
960
963
937
869
904
824
843
827
973
850
949
880
907
841
954
922
862
999
890
947
885
918
918
911
804
938
939
824
817
903
837
814
982
870
906
877
988
845
941
965
981
997
968
842
938
897
866
953
845
868
881
887
954
851
820
810
999
978
942
837
801
986
958
901
921
975
933
871
815
820
886
811
925
930
819
834
846
982
870
965
966
875
838
971
844
998
841
963
834
889
878
940
965
965
890
904
875
896
988
929
961
973
988
901
856
846
834
946
924
899
816
934
846
881
925
841
891
917
925
911
972
1000
840
827
969
848
886
966
881
850
899
987
983
825
827
961
880
843
819
885
807
945
857
920
987
943
804
914
940
891
844
934
994
903
902
802
869
842
962
836
898
948
819
888
923
859
825
860
808
874
801
850
953
823
966
995
918
908
944
869
944
943
842
840
884
955
913
839
996
819
830
982
882
974
918
986
870
809
917
894
812
911
845
867
833
949
886
854
854
858
951
951
802
996
866
835
915
832
900
843
974
883
980
919
834
921
916
871
966
987
843
852
897
944
880
906
982
999
893
875
877
868
868
958
942
886
913
858
910
904
970
946
801
836
915
888
970
857
802
866
975
848
810
918
869
941
995
976
814
941
931
958
970
955
958
862
984
968
806
838
822
913
963
834
867
999
850
938
917
894
837
843
906
823
947
903
924
991
946
833
897
859
957
913
871
995
888
964
869
850
900
928
891
808
964
868
871
929
816
999
851
877
982
947
944
801
892
818
929
959
993
827
883
859
870
983
944
982
810
913
856
858
902
801
909
909
863
838
896
838
961
934
990
943
875
998
823
877
882
924
931
880
926
911
961
975
946
909
862
902
892
931
828
849
973
930
920
802
926
802
822
972
873
859
826
996
833
960
921
892
961
818
956
904
991
930
909
895
849
987
949
904
988
844
879
964
811
822
979
824
904
821
846
968
997
951
837
896
896
979
945
807
837
902
877
886
845
833
967
851
805
859
997
974
916
811
805
989
947
994
887
988
868
817
994
944
910
970
966
968
893
977
886
901
827
841
832
832
864
815
916
870
955
852
832
817
974
876
925
835
924
995
948
874
976
931
884
861
813
979
980
921
959
934
809
855
938
946
812
877
987
921
864
837
860
851
969
800
958
850
907
856
946
930
991
935
952
806
892
856
867
818
963
946
919
972
974
875
927
847
940
983
838
939
956
927
901
810
996
825
822
927
822
851
814
826
813
962
975
874
859
962
937
827
975
964
827
916
878
981
868
998
926
910
970
953
981
946
915
817
907
990
949
932
908
979
921
940
905
847
859
806
802
988
950
828
945
806
870
818
994
947
988
966
813
960
961
834
999
934
932
978
978
971
943
839
855
803
879
823
978
933
892
975
923
845
804
850
887
851
865
907
969
809
800
805
951
947
935
949
976
840
904
858
866
836
848
892
856
990
829
974
822
888
984
881
862
983
988
971
997
932
896
839
970
819
923
912
902
929
848
839
882
949
878
855
814
892
891
974
829
895
915
938
991
878
853
935
906
805
891
890
817
908
975
846
948
857
512
634
528
588
533
595
529
513
516
536
501
688
642
546
552
635
659
692
669
636
510
692
518
552
682
696
658
593
668
588
659
523
645
696
564
591
526
674
546
539
693
596
637
579
663
647
503
627
673
656
658
530
502
558
696
528
675
594
584
611
630
537
594
608
505
617
509
621
589
586
679
663
682
617
661
686
603
600
663
513
592
633
655
606
551
599
675
548
552
659
586
570
574
609
503
670
501
508
573
671
548
601
561
513
564
547
584
590
627
601
550
690
603
591
682
611
619
507
633
500
542
529
600
605
664
529
593
503
570
627
658
676
592
638
630
542
535
694
557
627
501
569
643
570
638
658
677
587
698
533
576
652
521
609
655
574
655
593
533
610
641
586
576
691
601
685
589
652
507
565
685
516
603
677
591
524
662
610
660
683
658
671
521
696
511
634
545
543
636
622
575
685
524
539
514
687
651
668
635
578
628
587
623
695
533
686
565
575
543
504
611
572
572
612
638
627
687
591
573
634
584
684
505
686
695
660
644
514
592
542
501
669
567
622
559
646
589
612
560
535
631
561
556
628
695
535
630
617
526
547
700
572
596
555
628
639
545
590
672
528
503
684
606
695
659
612
611
625
686
540
629
557
517
584
615
649
508
654
629
642
578
565
672
513
626
508
541
689
688
630
508
630
573
551
677
668
669
628
666
627
645
629
582
566
505
584
612
533
627
551
685
518
561
585
558
604
554
676
679
678
674
660
508
526
542
501
622
645
517
542
588
515
521
611
554
562
617
691
686
668
665
578
650
655
590
600
508
527
663
545
546
618
515
646
631
507
641
524
636
627
682
657
671
530
559
525
547
556
555
669
578
557
564
584
529
590
532
687
674
638
537
645
634
605
522
571
635
681
531
528
699
607
643
501
695
608
577
662
635
571
551
520
514
619
690
563
516
611
632
585
595
519
581
690
518
655
539
611
628
535
691
699
601
551
617
690
541
535
532
672
695
525
569
692
662
669
676
682
540
559
579
585
511
697
554
526
633
648
552
636
609
604
604
505
628
689
539
600
661
517
523
600
605
535
595
562
577
521
650
671
510
652
684
556
630
555
522
695
639
594
642
544
566
561
693
686
557
630
520
509
692
673
512
680
512
655
539
650
688
688
601
503
610
659
553
640
614
674
583
677
609
596
607
683
510
618
611
568
670
545
663
651
540
642
640
649
621
620
664
537
612
575
627
631
695
636
671
630
594
571
651
521
512
646
639
552
520
597
672
533
680
568
692
573
501
631
655
530
648
643
627
668
661
545
578
509
538
657
674
572
682
697
616
551
516
610
660
635
574
615
639
510
665
562
509
533
553
516
647
680
602
660
506
513
579
673
624
586
584
671
697
549
666
648
623
698
529
547
665
672
688
687
505
556
578
617
604
531
634
677
585
609
629
517
633
612
561
556
627
519
539
541
644
679
662
589
613
670
672
631
579
504
642
536
585
624
604
546
678
580
695
695
658
560
633
530
505
626
521
583
630
559
534
515
642
652
589
531
583
596
682
582
515
617
668
587
584
518
697
627
694
671
684
533
679
515
604
513
522
519
629
700
501
523
562
578
574
640
653
517
574
602
500
619
549
596
571
602
648
686
562
534
581
570
554
634
685
559
585
685
589
661
645
634
652
568
644
683
676
585
609
628
659
616
697
668
646
641
559
658
630
688
629
613
663
516
567
581
605
620
637
608
583
638
681
566
600
514
569
621
579
557
573
532
671
556
507
637
505
531
663
514
532
670
699
506
587
640
697
547
567
671
643
691
512
653
656
617
510
515
562
665
670
700
522
559
576
589
534
655
599
662
611
621
631
700
549
620
639
592
695
657
578
600
668
627
672
629
676
667
539
579
680
696
679
691
687
526
641
585
698
662
637
625
647
668
510
665
612
575
502
597
606
566
699
549
597
544
542
646
613
553
643
635
620
616
695
692
583
625
638
585
693
684
574
553
645
675
590
631
549
519
600
552
589
577
628
622
689
552
542
585
552
700
594
501
579
586
563
664
594
563
649
508
616
695
643
630
527
522
655
557
513
570
536
612
643
663
536
551
549
638
614
510
595
668
671
602
561
650
606
517
529
681
609
639
529
664
527
589
678
524
580
637
645
504
516
568
680
671
521
698
527
556
624
504
673
590
543
579
634
537
522
684
691
555
547
587
653
595
611
545
599
640
670
626
663
650
518
608
565
594
650
648
527
640
691
686
674
531
634
658
545
698
511
516
666
684
518
587
694
552
673
661
625
627
519
606
588
654
696
628
547
670
616
649
696
632
672
637
680
580
533
604
676
672
635
518
627
615
571
671
602
572
550
535
520
686
606
545
512
567
678
568
658
595
502
643
518
645
642
568
507
661
531
539
510
630
689
698
560
644
524
517
670
559
551
697
697
644
652
673
546
503
700
654
544
669
551
585
651
700
570
682
571
539
504
548
643
515
624
591
543
514
571
549
643
585
690
555
699
585
664
613
618
552
688
659
630
549
682
510
658
528
535
677
642
535
626
585
697
592
523
583
607
637
639
531
539
652
510
556
519
660
644
588
544
686
617
677
510
594
574
540
521
518
504
606
531
687
624
527
636
695
675
530
503
506
578
626
575
565
542
503
638
500
678
673
559
656
524
611
518
608
500
585
633
666
636
572
572
670
566
688
534
547
654
679
596
589
665
513
647
681
545
678
570
614
646
666
564
582
551
526
623
581
667
581
536
615
547
674
575
621
690
558
640
576
505
544
559
510
519
545
622
644
676
573
656
570
607
567
578
550
634
566
659
580
504
578
605
616
619
693
575
610
613
571
544
638
529
637
652
663
700
677
684
515
656
587
508
588
611
677
666
529
674
633
686
677
583
665
579
667
599
684
511
670
689
642
501
545
666
543
504
509
554
584
642
641
651
519
549
500
682
639
618
557
613
684
669
686
700
692
583
617
551
600
595
529
586
675
648
559
688
602
624
562
600
654
535
542
612
678
545
619
579
565
556
549
683
640
651
587
508
573
649
661
550
626
659
696
522
655
574
628
588
539
663
507
565
609
559
623
619
644
592
634
677
552
589
670
505
562
589
662
630
655
621
542
526
540
647
696
668
550
645
539
583
652
607
500
552
662
686
626
687
545
700
659
525
524
642
681
529
684
589
603
626
598
677
600
550
543
532
515
546
552
675
578
551
694
526
558
566
647
501
518
683
688
571
616
631
626
590
649
556
569
696
646
532
574
567
672
569
612
682
548
621
674
599
688
540
662
654
577
565
580
641
678
695
590
585
659
565
586
519
685
508
677
582
579
592
645
622
687
690
665
589
689
666
686
601
638
511
588
659
542
575
610
646
648
570
687
511
691
694
679
636
533
533
592
610
661
696
686
585
623
548
607
663
639
622
666
688
504
605
628
616
667
523
632
609
700
649
677
700
513
681
616
550
605
655
517
620
528
681
548
560
654
696
540
634
507
599
630
564
546
540
606
611
569
643
645
643
665
521
692
538
690
673
530
615
502
606
691
644
511
581
527
632
548
553
601
607
678
602
630
666
650
678
504
589
628
592
583
595
574
680
662
584
513
600
686
636
539
659
597
614
579
537
599
602
521
592
500
695
558
654
628
632
670
631
518
600
636
648
681
582
510
690
650
622
602
654
581
638
557
590
670
681
553
609
677
550
589
585
566
686
606
602
696
640
683
587
597
524
566
554
609
512
630
562
681
637
610
645
640
504
529
590
680
676
645
646
685
560
559
671
566
551
541
612
589
632
643
665
698
503
549
607
655
690
532
695
695
521
693
675
585
566
518
606
663
691
614
608
645
672
647
606
593
639
569
543
635
603
500
594
531
649
661
539
667
599
663
559
544
645
602
591
542
619
563
585
691
501
602
655
689
641
562
570
630
688
605
578
511
525
670
635
625
508
611
591
590
674
608
607
509
602
640
665
698
643
680
596
525
600
684
523
581
687
670
507
524
501
504
508
679
540
556
501
569
503
609
531
678
550
622
578
559
578
676
639
520
692
531
599
619
576
692
524
511
538
688
625
547
640
540
544
506
685
691
641
630
582
565
611
686
593
696
675
639
500
686
602
586
592
673
504
545
515
564
640
552
520
591
680
552
650
696
530
606
685
673
669
551
588
628
678
685
618
508
535
594
643
556
544
682
610
555
667
581
634
618
576
641
595
511
671
686
581
691
666
597
536
660
543
574
648
556
610
525
530
680
578
573
622
596
523
594
626
656
626
662
680
532
570
518
579
641
561
628
694
687
502
540
597
680
508
690
572
571
568
656
563
536
539
673
502
579
571
539
678
625
530
695
684
523
610
597
680
585
619
697
642
569
540
509
571
582
676
561
676
653
670
545
531
694
638
545
632
585
656
576
566
600
608
545
668
516
699
684
651
616
581
581
548
508
695
560
501
662
622
582
566
658
673
513
580
551
681
522
551
522
543
550
621
645
521
674
650
567
637
683
617
619
535
537
613
648
616
653
608
673
525
602
540
685
635
664
608
546
591
683
620
653
554
540
581
548
671
600
664
631
545
553
623
608
579
610
660
620
635
622
533
565
667
686
559
613
590
520
627
674
587
587
517
694
672
617
596
501
671
573
671
671
565
598
591
565
690
517
556
647
600
590
679
515
573
645
632
686
691
574
601
565
575
524
522
578
655
559
578
534
690
614
588
679
587
655
615
655
630
521
692
607
652
643
555
621
523
501
617
519
566
628
570
590
543
601
608
638
585
697
578
532
661
610
511
524
661
519
654
571
560
597
566
698
683
583
620
645
547
669
640
606
659
501
656
651
577
609
512
540
538
587
568
511
591
536
596
568
692
522
617
595
584
544
582
551
682
654
679
626
686
572
636
689
514
539
595
517
568
529
583
507
575
634
644
569
507
684
642
557
508
689
547
544
556
655
562
510
675
543
628
635
542
534
691
534
607
570
663
593
596
665
595
533
511
540
583
700
502
554
581
581
619
543
695
686
618
554
557
602
635
503
604
695
552
647
521
684
510
580
674
575
608
512
686
536
660
543
576
682
548
669
672
615
543
562
640
678
601
616
582
560
555
551
681
652
640
507
602
534
666
682
610
548
616
613
572
507
595
594
560
685
678
643
545
616
629
664
659
537
501
599
604
618
628
584
619
663
639
549
673
614
537
642
697
570
542
586
682
691
651
512
680
643
586
616
554
510
543
684
579
535
526
694
589
681
588
633
516
570
657
632
652
636
613
613
592
637
640
644
564
566
626
640
693
596
528
618
532
586
604
612
692
509
668
605
615
623
675
569
509
510
551
620
527
688
652
574
572
546
600
700
668
665
688
666
561
604
558
667
547
625
631
552
595
510
683
640
592
523
541
607
677
651
546
528
503
604
668
517
692
692
543
641
697
629
522
503
685
628
560
613
571
685
638
635
592
516
512
631
690
564
544
557
589
601
669
508
573
527
511
651
629
644
591
557
536
558
687
589
616
581
661
576
639
579
593
569
579
531
607
665
683
576
678
679
615
527
663
593
598
602
646
594
515
628
580
528
501
605
561
528
524
692
592
608
581
505
679
588
578
598
687
694
698
593
531
530
629
671
589
588
669
600
561
542
692
624
698
517
560
548
697
619
635
552
584
609
687
566
658
637
668
595
607
560
679
501
501
565
663
566
691
520
510
685
634
670
548
622
611
677
627
626
620
519
520
564
612
623
695
639
594
700
653
602
516
547
606
504
529
583
516
538
542
629
581
506
584
654
656
551
578
555
631
536
573
593
567
575
514
534
518
594
536
575
589
650
508
643
581
526
524
571
563
675
534
576
562
689
517
690
513
553
586
673
610
652
526
551
594
561
518
632
689
513
541
588
537
580
577
534
619
686
581
605
662
532
613
634
685
637
567
573
543
594
635
537
618
502
510
665
598
605
595
643
643
593
677
548
629
700
560
560
549
554
533
531
663
532
524
698
554
646
677
625
653
660
544
596
668
575
527
534
594
516
558
526
524
514
501
649
510
542
685
546
532
586
582
674
674
521
618
584
663
583
676
684
550
688
599
560
634
674
587
676
592
690
654
576
679
636
682
505
648
567
606
601
631
534
634
511
566
682
532
593
601
506
546
691
563
600
627
570
641
649
613
603
513
523
688
653
610
558
632
696
512
679
695
691
645
689
598
624
647
608
661
506
643
570
641
689
673
652
564
598
514
650
577
696
694
661
642
561
640
615
639
530
672
672
619
576
608
546
698
677
660
629
596
508
545
619
581
572
649
540
698
514
560
674
658
654
526
645
537
506
669
629
572
576
665
696
621
630
588
555
645
612
614
544
540
539
569
650
613
646
589
630
599
667
514
504
671
628
592
552
678
561
539
544
610
511
687
512
545
560
608
645
623
624
688
611
563
663
663
634
643
626
583
538
532
662
567
593
524
657
583
580
696
590
516
580
518
637
549
503
656
674
614
623
584
656
504
647
518
676
509
598
576
618
654
537
661
652
609
681
555
665
603
672
619
646
649
609
636
664
604
628
662
641
622
616
509
517
546
523
648
583
548
661
692
527
539
656
565
693
501
558
677
623
521
593
503
631
661
698
510
558
596
630
618
594
651
672
578
631
674
635
508
556
508
535
618
588
655
568
625
540
515
667
516
669
654
540
579
664
575
638
602
520
577
601
699
539
640
503
598
697
594
658
637
664
606
588
693
643
577
567
500
678
551
598
560
638
688
508
559
620
507
625
526
656
594
688
545
695
611
551
505
681
686
525
623
633
566
605
675
577
684
625
680
575
671
520
593
660
592
688
621
680
501
685
571
690
643
594
623
537
646
635
516
639
665
657
681
583
501
520
540
610
593
594
536
584
664
611
690
605
520
517
589
549
629
548
647
531
552
504
515
592
675
670
647
591
515
592
580
592
518
510
581
586
620
546
532
565
575
564
601
563
597
519
603
532
584
522
520
513
569
529
529
614
525
675
643
644
654
582
623
582
578
528
585
579
686
547
601
595
517
658
501
554
647
696
678
579
593
554
625
647
535
524
522
667
578
597
573
520
512
639
577
591
535
676
528
694
527
614
520
563
697
641
666
579
658
691
647
642
617
549
600
545
563
545
553
553
539
626
581
622
507
536
611
558
636
604
685
571
681
526
604
591
664
529
570
609
692
533
611
599
564
584
571
661
700
661
560
674
514
676
654
555
522
578
527
553
533
503
550
665
605
554
547
699
691
629
517
601
617
639
658
590
558
610
697
696
696
609
541
658
554
605
596
697
631
658
508
516
524
582
501
544
623
542
590
590
670
564
686
669
500
530
586
567
655
615
555
673
604
565
581
659
597
554
525
663
628
536
503
586
596
511
601
632
564
618
624
533
580
677
503
662
670
538
664
609
667
522
562
630
538
693
579
628
589
523
515
622
507
621
676
643
594
682
686
672
523
545
523
611
636
539
544
508
525
552
527
502
645
646
563
578
618
613
507
599
692
620
520
617
646
655
599
545
658
567
564
674
510
512
622
619
547
538
506
526
533
661
568
683
504
579
559
633
611
660
592
551
625
686
539
616
579
554
658
678
565
648
644
591
628
613
563
686
515
567
700
579
666
644
668
594
568
598
569
547
513
647
558
543
601
604
512
586
691
565
601
530
555
695
611
673
585
601
592
527
639
537
629
511
619
549
610
560
599
547
510
537
540
672
653
607
527
692
514
645
538
563
643
510
605
561
695
554
690
558
520
693
552
557
578
630
532
619
696
572
502
630
525
651
594
685
538
679
619
649
521
577
598
673
524
676
533
690
681
619
676
665
693
683
533
627
540
508
581
506
538
534
617
642
621
617
588
645
600
582
573
566
625
683
688
527
620
538
617
666
568
698
659
646
664
654
682
691
656
642
621
595
558
687
627
607
505
611
509
689
539
699
647
580
529
644
514
503
506
665
671
548
616
539
684
671
585
564
675
523
535
623
511
645
654
627
556
505
548
583
581
634
671
545
655
684
587
622
655
646
517
527
700
697
532
522
637
621
647
637
691
657
551
520
638
604
531
509
694
649
669
659
566
700
657
585
667
697
616
666
597
562
622
503
663
560
564
533
662
665
686
519
560
700
606
625
610
645
504
596
543
504
607
604
616
614
549
544
682
521
513
660
577
660
685
693
507
682
569
538
636
601
693
623
640
548
575
652
609
610
502
536
557
620
529
655
612
530
566
562
687
677
597
530
523
656
649
557
519
556
543
672
553
563
636
639
551
688
524
560
563
586
653
544
547
583
660
678
611
586
523
654
607
561
538
636
643
574
652
646
534
651
626
668
611
631
591
543
555
680
698
526
526
639
515
509
571
648
544
675
673
623
508
548
587
539
532
627
568
673
659
695
677
683
665
559
555
567
679
690
687
699
538
582
529
528
698
700
657
636
592
578
591
539
502
593
657
564
552
634
546
500
641
596
501
507
563
666
590
700
664
620
672
554
524
565
530
675
621
551
644
500
659
500
612
618
546
683
689
570
594
665
539
536
560
656
517
572
675
656
533
584
506
674
513
502
634
532
647
665
662
602
616
584
541
554
562
678
606
604
579
603
505
550
510
510
549
616
511
564
587
596
688
666
634
670
599
604
636
571
586
559
501
558
505
670
622
637
545
542
628
507
630
666
699
689
530
658
508
568
657
590
604
519
611
564
507
632
533
567
602
647
598
583
546
506
527
577
683
591
516
556
603
542
650
558
512
577
564
551
535
576
667
640
619
582
556
608
614
679
543
638
593
630
536
519
503
660
545
621
653
674
670
647
511
568
505
529
696
617
529
562
530
540
691
535
681
699
605
598
594
573
604
671
625
517
637
540
589
648
664
643
538
646
593
538
527
681
595
674
637
636
587
669
527
682
647
516
649
654
621
520
606
578
543
553
700
633
657
539
576
639
651
612
681
628
605
618
657
516
618
590
628
540
547
670
505
503
503
507
506
547
696
528
522
564
559
662
573
568
579
700
590
613
542
660
594
529
696
601
638
621
573
683
568
638
667
556
531
681
598
619
691
621
517
584
609
691
572
510
581
559
628
511
582
662
568
565
541
533
551
648
674
540
645
628
698
530
603
642
617
576
695
535
596
552
685
669
692
574
538
543
511
694
554
531
553
587
567
689
626
563
536
520
665
680
673
534
678
695
615
648
570
631
541
641
598
552
538
646
698
687
597
515
625
668
572
586
513
579
570
602
686
552
505
613
691
691
512
664
548
513
673
544
608
637
509
668
529
665
536
697
696
642
528
565
524
509
574
521
531
547
575
515
592
694
627
552
592
671
621
647
529
503
502
643
614
679
634
598
501
669
653
660
503
604
501
676
531
507
547
543
677
578
537
500
556
596
586
625
531
585
640
512
606
653
504
612
604
511
638
527
663
549
518
645
542
596
521
629
596
614
661
602
644
686
601
560
590
569
694
688
574
613
653
609
502
536
649
676
641
502
603
586
502
548
631
591
566
675
677
653
529
587
558
574
633
506
653
652
622
660
681
535
699
562
688
593
588
502
692
591
500
567
526
676
655
601
512
665
683
649
631
504
658
669
630
683
699
526
655
645
570
527
649
616
556
698
545
605
530
691
529
611
548
614
580
603
528
596
683
585
646
575
515
596
505
603
577
570
508
503
610
539
672
514
700
653
531
656
523
613
518
509
661
527
607
681
547
642
505
617
632
600
601
693
671
612
599
632
606
654
529
572
606
572
665
604
902
899
810
913
846
897
858
846
845
835
882
864
884
904
820
857
841
993
980
878
920
894
988
927
936
911
997
933
825
879
923
991
879
919
879
999
850
960
845
871
883
957
803
838
968
960
930
854
821
825
961
952
813
886
910
825
998
950
903
939
977
832
990
988
920
837
879
818
919
904
958
857
970
889
905
828
900
932
829
861
913
889
826
864
958
978
965
982
849
809
908
805
852
926
903
971
954
875
822
889
860
955
883
877
952
831
907
893
904
816
813
920
824
838
956
834
967
996
827
823
912
861
888
912
824
910
815
964
963
875
969
990
887
839
920
918
802
894
858
804
913
990
989
932
905
840
953
898
924
803
923
972
801
934
826
817
955
884
816
915
809
929
859
849
938
835
950
952
997
843
972
930
933
959
989
935
991
813
986
845
894
965
840
869
950
934
867
985
835
979
986
950
847
815
907
958
821
870
946
893
927
989
946
824
906
838
933
976
893
946
988
881
882
960
839
806
932
825
940
819
934
815
913
865
895
825
974
973
946
991
887
977
995
983
854
956
894
989
901
996
912
953
964
912
865
995
936
822
817
936
938
854
818
997
985
877
898
838
953
1000
924
987
819
919
942
956
870
921
910
936
801
973
954
963
807
901
889
969
883
911
939
960
878
846
950
982
839
897
905
841
838
871
904
991
818
841
998
929
810
908
973
833
957
919
822
842
872
850
985
877
979
897
934
945
854
812
806
835
990
969
880
849
996
997
932
869
992
839
829
852
960
996
856
976
930
888
805
999
805
855
940
885
919
869
998
827
974
894
865
867
861
843
877
813
919
814
840
992
893
804
802
971
977
897
911
851
871
836
848
873
936
825
801
925
824
988
862
900
945
849
872
940
800
946
803
886
901
858
819
906
919
947
835
920
862
997
834
930
956
898
964
910
974
991
877
866
973
988
990
925
833
819
966
918
895
993
897
972
876
832
807
829
874
969
984
943
975
820
864
914
984
905
873
968
861
915
821
968
995
914
890
883
837
936
893
991
975
801
835
988
982
802
821
990
916
988
853
947
951
962
865
956
934
831
955
908
893
999
868
995
922
809
847
867
967
842
829
932
857
993
919
950
892
882
805
846
959
867
945
821
920
982
990
894
975
825
953
872
883
941
894
965
815
921
933
908
848
909
834
933
936
890
929
881
973
852
967
957
974
834
933
849
986
971
936
914
923
918
800
888
997
881
991
820
933
960
911
951
885
967
867
875
817
814
953
941
803
969
878
817
841
867
972
833
993
828
928
965
913
823
957
915
883
813
952
872
872
893
895
863
985
925
941
923
936
972
856
873
974
997
874
907
890
863
940
810
802
862
894
955
921
906
804
965
830
921
981
915
871
931
893
938
906
964
975
855
877
934
801
981
1000
841
858
997
955
928
857
931
825
948
964
962
945
899
965
970
808
935
962
928
917
837
895
932
958
816
845
876
830
923
918
962
953
857
857
923
958
999
990
933
897
862
914
960
979
885
862
868
940
919
895
984
971
899
963
851
878
864
890
803
896
825
924
933
827
995
835
970
816
879
885
923
956
877
938
964
862
879
875
989
914
919
800
850
948
867
902
815
911
928
991
939
871
864
999
854
958
927
801
911
972
820
885
807
984
874
911
949
810
876
821
856
864
996
935
996
966
895
890
928
811
969
827
924
993
961
954
944
821
877
933
873
838
956
876
825
981
825
978
978
824
993
933
893
859
869
979
893
847
962
936
869
905
943
805
914
958
841
1000
901
901
861
991
848
991
831
867
889
962
936
935
853
879
834
967
890
940
1000
932
973
835
836
999
843
971
960
906
903
952
935
828
805
829
829
848
827
800
898
947
869
985
810
939
839
996
1000
909
979
873
923
985
871
829
827
880
904
876
993
904
854
953
975
873
839
994
888
959
944
922
889
832
889
996
932
909
895
938
961
910
818
917
933
845
841
912
975
885
833
989
945
959
835
895
935
840
880
867
912
850
877
883
816
831
871
971
957
804
930
894
836
805
934
878
857
992
941
910
925
904
848
994
917
987
915
959
872
926
908
955
881
893
967
961
849
961
928
907
976
996
881
886
832
891
925
848
989
979
898
846
804
902
801
830
839
989
805
917
894
891
945
871
917
850
846
820
812
816
870
966
951
858
949
954
927
960
969
929
956
874
846
874
915
951
924
940
838
966
973
909
849
932
908
922
839
908
928
942
820
906
950
927
899
916
964
985
934
901
944
878
898
947
838
947
938
900
912
930
931
998
839
976
985
959
989
925
826
926
911
903
971
885
824
978
868
856
956
849
949
921
806
958
938
936
982
823
856
891
937
950
801
945
905
967
919
860
894
932
987
878
936
907
835
897
955
970
905
987
807
892
920
858
829
896
844
968
897
917
834
880
918
935
948
874
961
959
994
935
927
841
994
808
874
959
804
827
821
867
959
872
815
981
867
985
892
845
905
857
809
818
871
980
969
810
973
809
876
946
935
859
966
912
978
931
903
838
880
955
835
854
937
913
823
901
867
848
893
963
935
908
898
917
801
870
991
915
937
843
869
897
997
867
883
911
881
939
965
881
971
865
849
986
891
849
971
823
982
893
804
938
893
895
994
897
978
883
801
878
854
988
901
983
908
815
976
829
870
910
922
843
937
920
982
802
905
805
963
800
859
881
904
885
887
997
872
982
901
998
861
828
861
880
817
806
804
867
871
962
861
829
989
981
842
830
830
927
863
917
858
894
881
940
893
889
990
906
900
1000
978
864
831
1000
812
820
952
828
873
808
953
862
806
843
905
913
944
840
949
841
927
845
923
988
874
857
948
963
831
948
932
953
975
987
980
912
858
882
971
976
814
931
954
876
985
892
848
895
949
864
819
932
829
919
854
868
817
800
911
959
867
820
850
956
907
936
865
858
959
888
995
801
830
946
932
976
912
824
930
834
959
879
932
871
885
822
821
851
981
846
802
944
969
845
865
875
972
967
931
918
806
914
805
981
978
820
802
884
904
878
976
858
975
878
814
867
876
956
924
821
935
915
831
976
876
940
948
938
906
972
814
819
856
860
926
802
841
844
953
859
804
910
953
925
945
824
911
844
838
986
924
916
908
880
823
895
845
997
935
848
952
936
871
981
957
949
991
904
931
810
874
802
816
829
821
842
821
920
926
906
880
834
883
928
865
983
954
913
844
990
858
919
893
827
963
900
933
896
982
941
840
986
815
985
960
982
835
871
911
971
851
959
906
996
839
946
921
806
840
879
942
887
846
955
993
842
866
879
880
891
918
916
836
893
804
847
964
994
916
897
832
966
865
833
912
991
926
819
939
877
942
876
801
988
856
957
859
881
989
990
904
820
1000
826
805
828
951
919
1000
960
827
931
868
807
919
812
851
854
831
961
857
856
822
954
869
862
973
883
961
882
853
975
872
843
904
926
936
999
856
806
997
1000
980
919
879
857
838
802
809
910
811
815
802
968
913
949
959
875
886
975
867
834
952
944
912
953
849
917
999
886
957
803
888
893
972
951
851
974
812
968
896
882
832
923
979
970
898
976
883
906
845
931
995
902
805
854
871
949
998
838
871
932
933
923
804
998
814
966
915
971
906
908
812
877
969
852
950
905
943
813
996
905
882
866
870
971
848
934
926
948
927
942
910
861
889
895
988
998
908
849
946
921
800
887
976
823
981
923
938
845
946
817
956
945
909
854
855
815
968
940
995
842
852
821
809
861
809
892
904
965
936
947
832
829
808
973
813
822
804
941
872
819
934
868
821
955
850
807
938
882
969
862
806
806
805
870
819
804
975
817
980
822
858
801
883
994
926
869
875
852
812
989
902
987
935
951
963
858
883
842
882
840
895
958
929
858
865
995
989
930
867
922
989
964
936
818
842
943
997
850
963
892
936
971
860
983
943
869
943
886
819
883
998
857
823
835
933
846
802
806
923
869
928
880
851
867
802
949
1000
814
873
907
869
993
969
855
892
873
898
891
934
949
943
948
814
885
914
869
988
913
971
822
970
976
950
952
898
974
851
896
959
802
933
828
946
973
823
989
880
876
826
829
941
829
945
925
885
977
935
809
834
928
961
941
964
946
834
800
888
812
886
909
899
996
844
854
924
957
918
891
886
939
943
852
863
935
907
832
879
959
991
822
833
989
905
975
904
960
824
842
891
829
888
926
898
890
995
809
915
888
974
834
898
834
997
981
864
826
934
963
864
933
882
986
898
803
991
965
936
895
849
954
983
919
879
913
991
945
903
806
915
992
986
845
831
814
997
815
882
896
941
920
933
939
911
953
905
933
876
997
915
817
908
917
839
869
871
917
996
850
805
990
937
1000
955
940
886
986
832
951
989
833
827
885
904
996
868
826
930
920
969
898
887
901
953
816
909
837
951
992
827
899
925
889
853
988
899
897
870
981
904
913
1000
833
871
823
926
901
874
807
968
924
999
892
988
963
911
874
876
958
949
947
874
871
961
965
855
819
869
842
819
917
966
896
980
890
845
871
914
908
943
986
828
892
910
828
803
986
970
838
852
823
906
978
813
813
863
817
932
952
847
932
982
837
932
866
846
995
814
920
971
915
952
978
814
895
996
872
973
806
935
859
861
903
858
811
939
887
829
887
811
896
946
854
903
896
923
859
925
851
899
871
853
979
940
993
975
984
847
916
833
985
806
818
955
877
934
879
825
963
982
812
823
893
998
967
980
979
800
850
992
811
868
998
825
845
955
994
888
923
905
959
857
992
937
998
811
956
959
959
817
982
866
888
928
848
888
907
853
806
827
923
929
924
809
865
995
949
829
853
831
897
968
954
893
883
944
846
928
983
923
951
840
808
940
826
852
869
830
893
830
888
867
955
863
897
861
866
945
978
864
983
864
878
903
963
840
937
960
843
887
953
872
864
834
811
874
815
960
923
938
893
841
997
868
994
966
880
840
970
850
814
930
820
808
934
921
898
877
873
994
956
919
872
985
890
979
826
949
840
969
894
933
883
825
844
823
919
985
858
869
821
835
891
828
991
942
837
893
861
878
895
817
938
894
887
842
834
824
843
953
885
901
960
954
831
902
939
929
832
896
918
849
919
964
966
831
966
836
866
836
911
879
810
822
836
898
995
987
990
915
994
939
816
891
815
955
811
821
934
957
928
977
818
842
830
878
809
966
960
805
810
999
897
886
922
950
829
851
832
953
916
826
996
932
986
910
870
897
844
903
805
833
958
851
845
840
997
813
932
987
817
906
963
950
857
828
847
986
970
902
947
906
855
891
998
884
815
862
995
982
929
844
983
876
864
967
957
947
872
965
800
887
933
991
874
978
937
906
910
936
813
865
984
902
815
985
898
941
907
842
829
933
889
828
900
946
858
875
972
891
995
827
851
908
918
867
937
845
973
837
865
866
861
992
871
842
981
952
895
847
826
862
956
814
861
999
948
947
977
862
800
865
901
842
949
925
953
915
880
894
942
989
883
918
923
822
809
906
839
802
867
975
973
998
875
997
907
826
807
944
868
975
963
883
972
810
887
934
931
996
802
962
889
966
980
940
999
927
863
936
996
885
994
880
859
991
997
914
960
1000
974
887
967
840
946
914
913
821
986
826
886
878
809
851
953
882
902
897
841
886
813
894
990
829
939
984
992
984
983
816
992
910
959
892
801
843
808
847
928
837
822
901
822
811
891
907
877
839
853
844
818
996
997
964
912
829
991
839
800
955
859
960
824
904
903
884
979
893
873
970
975
851
929
965
860
860
803
994
932
988
936
929
975
970
967
985
972
887
809
916
869
985
984
903
807
984
997
842
958
891
803
877
949
903
854
982
899
827
989
837
949
890
973
957
931
914
997
930
949
893
826
868
927
974
916
872
832
922
814
914
803
843
938
857
873
803
996
852
848
800
951
965
979
978
897
890
985
804
941
962
870
826
804
879
926
947
964
901
826
975
966
978
829
831
890
896
899
938
908
988
909
990
923
801
918
901
833
949
809
979
896
834
954
885
851
884
938
847
967
937
979
820
906
877
905
865
969
957
819
864
916
925
938
973
936
879
843
974
982
957
836
986
867
820
933
987
992
914
938
929
813
905
983
826
911
843
978
946
861
992
891
839
812
979
957
847
877
942
830
968
948
835
1000
997
988
943
848
856
847
831
900
832
896
858
984
957
807
902
843
921
828
965
820
898
813
837
845
982
805
861
867
941
980
941
858
974
844
972
969
872
919
926
886
959
895
979
977
907
834
864
825
842
979
865
808
958
837
993
980
975
853
861
807
874
851
801
981
809
848
928
881
960
827
801
897
984
851
810
861
917
941
1000
923
963
839
925
859
970
951
917
951
869
838
839
974
839
946
945
961
907
971
909
958
989
961
833
913
908
921
849
805
979
924
996
1000
943
807
936
997
803
989
875
935
913
857
805
992
824
936
932
993
945
918
965
996
966
980
856
950
860
971
912
802
911
802
994
848
892
915
865
941
976
985
833
892
986
991
910
829
943
877
874
826
830
878
943
824
891
877
878
951
977
996
809
847
933
832
873
949
871
953
917
908
960
828
992
856
966
992
850
966
895
983
909
932
876
849
844
854
996
890
974
946
838
835
954
859
997
805
902
843
933
917
801
1000
842
985
981
922
919
839
857
966
819
965
863
851
833
991
991
973
801
832
1000
901
888
915
923
910
882
933
985
965
963
868
996
873
960
891
928
862
969
814
910
880
943
866
819
899
937
864
1000
838
863
964
947
980
894
877
848
960
845
931
836
879
821
957
955
915
884
813
974
934
842
900
839
859
871
998
868
807
854
835
832
982
827
934
912
891
904
890
912
996
821
973
846
874
929
820
930
973
982
929
873
936
806
853
851
939
828
969
974
817
809
875
990
942
981
819
801
961
841
952
880
873
890
899
916
973
801
980
926
951
828
871
898
887
918
1000
838
933
940
831
815
864
846
817
933
968
956
826
859
981
942
969
985
819
944
850
996
987
887
824
861
973
997
804
807
864
962
945
821
909
955
905
943
911
922
918
952
898
830
891
977
980
937
924
986
986
820
897
887
892
840
842
835
993
945
901
885
958
817
966
868
962
975
923
866
923
899
865
866
910
894
899
923
934
915
928
844
854
829
950
1000
855
958
983
831
931
986
856
846
989
855
970
894
827
963
809
849
844
852
898
912
850
993
944
912
986
845
861
824
952
800
918
815
871
949
917
980
909
897
905
893
995
855
826
998
943
860
875
996
963
833
826
815
929
994
960
839
808
822
933
998
872
881
940
867
804
814
939
967
957
820
823
808
820
916
819
969
936
891
993
880
827
901
849
808
847
990
948
952
981
820
951
932
943
944
969
875
845
818
801
943
970
949
881
945
988
930
924
888
981
810
994
879
902
803
936
974
990
814
868
940
801
920
997
935
961
894
931
834
815
907
848
878
989
950
832
841
813
803
856
993
865
954
948
800
827
928
851
881
847
844
876
914
874
895
913
875
918
800
835
922
944
924
941
824
878
835
809
945
956
836
940
888
984
872
807
948
816
856
892
963
860
818
932
847
866
881
958
915
846
915
904
802
831
834
909
815
931
956
947
806
910
949
800
982
940
872
835
846
853
890
818
970
934
895
849
914
800
885
996
818
854
963
863
805
896
931
968
982
866
850
863
887
886
876
930
948
922
890
851
849
829
867
997
968
882
819
816
883
925
891
929
968
830
932
893
995
960
948
900
893
807
867
877
830
935
801
973
974
943
974
813
809
838
860
840
824
842
981
807
960
998
854
862
960
840
976
998
863
850
820
900
829
851
990
875
895
949
801
982
888
999
891
961
875
903
871
856
824
860
889
867
940
815
888
895
959
940
966
881
924
908
845
840
920
970
837
811
916
867
945
902
971
844
854
945
803
802
891
893
883
857
881
833
802
800
894
858
976
931
913
939
918
906
879
849
858
954
813
868
860
810
847
819
887
833
921
928
802
950
921
895
982
958
993
889
818
934
928
928
913
987
880
965
973
967
847
855
847
980
887
845
971
960
822
891
913
887
802
908
882
809
850
858
956
909
924
844
902
996
816
880
977
816
920
810
984
954
943
998
809
982
916
801
953
921
947
935
880
910
855
973
894
959
898
937
961
905
814
800
973
848
853
921
956
946
951
824
934
956
875
854
979
942
804
836
945
983
823
804
808
946
981
925
820
800
966
908
826
847
955
946
808
987
804
913
877
899
960
834
996
939
813
833
965
826
959
971
938
858
1000
923
867
931
806
828
861
820
843
939
847
975
867
935
969
819
881
974
812
837
896
811
818
896
939
930
840
857
965
814
875
824
987
805
867
985
826
997
862
984
937
950
863
915
867
947
900
975
932
973
827
893
882
878
995
871
829
850
852
815
971
934
856
887
846
833
987
995
867
881
894
983
894
896
924
815
948
869
860
989
999
999
971
978
826
997
920
925
802
854
813
836
850
857
958
953
811
870
866
841
917
810
826
934
952
885
943
841
945
883
886
955
889
923
910
974
947
855
874
865
953
908
958
835
855
835
822
925
926
833
953
873
888
830
897
906
986
859
932
851
817
952
970
875
923
837
809
895
948
829
847
940
991
805
884
975
852
977
913
997
832
800
906
962
833
996
981
914
924
877
938
896
820
816
877
964
827
891
848
848
862
994
942
877
820
856
956
812
860
953
977
931
919
930
850
862
893
809
895
887
920
904
840
890
885
903
886
892
874
990
886
998
936
960
865
846
978
941
999
891
963
920
881
832
911
959
896
955
854
858
820
800
836
991
967
857
892
878
857
952
908
905
870
987
839
814
996
865
852
873
947
809
917
905
907
849
978
965
899
838
940
864
894
991
938
978
820
897
858
921
877
809
861
950
935
964
865
929
999
921
925
993
837
929
947
827
918
883
933
811
994
857
902
913
919
973
849
881
957
835
856
889
981
963
923
995
946
863
953
925
857
854
981
959
910
978
982
865
980
964
900
907
970
880
904
904
958
998
813
948
895
981
907
806
907
800
981
918
936
942
905
811
853
936
840
923
847
920
921
814
910
837
872
837
910
961
802
887
881
967
924
906
966
872
900
889
972
871
973
995
832
964
820
871
971
822
978
954
871
984
1000
997
982
821
931
820
980
853
867
805
901
868
953
969
993
888
987
947
926
836
971
961
987
958
879
980
842
848
993
842
837
907
837
852
899
922
818
942
976
903
907
935
866
943
803
996
921
987
806
872
890
995
856
973
929
903
889
908
917
893
917
958
928
833
973
941
880
865
813
991
879
852
825
831
837
807
859
904
965
866
928
807
914
843
940
890
841
846
834
824
829
845
993
936
941
885
943
920
918
944
811
846
918
966
883
964
821
912
859
986
967
849
976
844
913
803
824
858
996
852
938
873
833
836
973
917
989
825
997
981
990
828
961
858
923
816
800
865
844
905
913
923
815
989
981
848
990
884
901
856
913
930
872
843
986
965
989
861
933
955
893
917
845
890
997
924
907
997
857
919
875
927
950
813
879
804
804
883
872
858
1000
947
991
889
840
832
902
997
802
925
979
850
853
800
953
993
939
870
934
993
878
856
942
826
958
846
849
984
836
839
937
836
967
800
939
926
947
836
804
912
867
801
915
829
879
837
914
842
934
864
806
830
828
892
999
835
844
977
991
865
828
972
808
944
900
806
957
845
994
987
949
916
979
932
853
964
828
826
987
960
809
997
995
877
840
926
932
930
904
813
969
987
842
847
934
946
959
971
800
851
819
918
935
802
926
830
965
814
968
857
937
955
874
836
940
982
892
978
822
947
950
951
821
967
932
937
990
930
833
998
990
930
806
933
953
932
892
820
823
970
974
860
988
931
936
954
892
905
826
838
996
883
996
860
852
850
895
982
805
885
936
951
817
800
882
840
917
860
950
996
889
948
858
935
898
939
800
923
923
847
873
855
922
806
963
878
835
884
912
899
985
836
851
962
896
958
897
847
822
933
908
938
800
861
897
841
849
907
955
889
828
812
951
883
964
948
832
806
929
863
892
804
929
878
819
802
999
832
938
826
898
981
856
910
902
944
839
919
999
872
825
965
901
820
829
823
863
843
975
808
851
906
864
839
809
963
863
917
937
843
814
826
830
978
847
852
994
831
958
863
997
993
809
838
945
958
825
820
838
877
816
961
922
891
935
952
856
836
902
814
1000
818
995
870
938
855
948
908
953
916
929
931
873
855
853
918
808
969
853
853
910
815
996
859
911
985
923
931
827
882
918
868
812
956
956
992
960
826
813
805
930
943
874
855
931
867
988
932
909
801
959
886
937
879
848
829
855
921
967
964
852
957
900
926
908
805
978
1000
947
961
934
811
975
843
805
894
963
842
961
869
880
975
807
852
893
981
833
937
876
981
968
824
813
841
843
980
977
938
913
903
820
881
903
995
878
905
998
875
879
970
985
823
957
858
858
813
839
882
843
952
823
820
898
889
989
881
827
898
873
837
945
894
927
804
909
862
945
817
814
989
952
980
829
824
832
884
949
891
947
823
995
869
868
838
994
850
887
936
899
909
852
983
819
946
868
950
907
953
839
874
898
966
921
992
973
878
807
852
897
919
857
924
862
882
969
812
965
987
802
924
831
959
863
846
821
874
924
995
996
809
904
886
932
861
922
957
901
895
907
878
833
938
952
895
940
801
988
857
841
939
800
880
844
856
817
934
967
914
996
906
841
800
902
957
955
972
817
886
977
922
988
887
893
941
904
894
846
845
979
910
935
900
823
803
505
675
647
596
700
698
507
699
573
640
671
596
500
511
572
537
512
672
543
577
567
593
518
655
606
583
637
589
595
590
610
566
670
546
684
630
669
572
677
630
607
604
685
671
621
604
590
575
656
663
581
550
651
593
650
520
500
638
664
538
542
653
543
626
521
512
503
626
626
699
680
624
654
636
591
644
625
591
655
647
590
539
516
577
515
633
549
684
698
643
581
613
640
547
578
623
675
618
696
554
558
618
533
607
615
663
587
596
572
698
651
555
678
537
614
616
674
530
634
511
569
648
622
500
541
663
633
568
604
524
599
661
584
514
657
510
667
577
553
667
530
654
662
523
560
647
534
547
565
641
612
576
525
541
665
500
610
642
627
594
551
638
633
511
540
615
599
575
572
664
596
603
564
514
530
631
627
513
635
648
667
586
657
620
573
609
503
693
599
608
700
700
505
654
526
571
609
625
556
519
584
625
602
625
606
612
520
647
565
645
500
667
576
592
532
548
661
651
508
637
627
617
618
649
637
668
603
660
630
551
667
634
538
562
598
596
588
656
504
574
526
667
532
588
519
566
600
616
537
511
534
597
613
594
546
596
689
504
632
646
695
613
543
644
690
698
681
524
553
563
551
594
516
653
511
593
642
574
695
645
610
518
628
644
573
690
619
623
533
520
511
671
648
669
682
608
589
501
601
558
618
696
541
613
655
631
671
562
659
506
670
533
655
541
640
679
662
566
601
591
638
514
534
651
548
551
614
673
596
668
612
660
528
614
638
518
512
527
547
632
651
505
559
635
583
550
679
638
683
667
517
514
681
620
582
670
695
619
632
609
643
638
524
632
655
543
577
685
563
642
584
530
567
519
571
594
662
551
564
673
598
603
622
646
542
647
696
547
668
595
553
572
627
623
632
616
588
666
669
584
568
691
571
526
565
674
637
546
679
564
531
600
644
626
528
531
691
667
533
588
676
643
510
634
550
530
686
547
578
609
566
606
669
502
533
504
668
514
643
626
628
638
534
637
660
626
630
684
638
538
604
523
625
679
538
631
655
584
542
632
607
669
539
620
665
671
651
553
554
675
579
582
628
699
694
656
614
604
583
513
546
625
578
572
592
505
577
699
638
697
561
624
572
634
685
557
654
656
633
528
668
515
504
659
662
587
650
513
695
575
536
641
555
514
531
694
566
545
673
511
613
591
675
683
647
582
667
530
651
506
528
582
553
627
636
687
605
637
656
516
549
600
513
607
607
614
622
616
547
643
647
518
519
674
657
526
599
589
556
624
525
667
528
618
517
563
512
676
620
580
579
700
538
690
546
673
591
664
638
501
618
666
516
572
557
549
666
666
694
652
561
671
564
513
664
553
569
688
518
683
644
548
542
590
540
544
662
660
588
615
636
645
664
573
527
613
626
598
687
687
697
627
582
554
548
673
596
568
679
503
538
625
587
608
621
540
565
659
618
630
585
579
649
696
617
688
590
544
698
637
645
607
562
642
624
588
513
515
591
609
615
687
625
515
577
633
632
646
672
522
696
619
638
695
685
521
611
574
580
611
687
697
671
640
583
554
684
580
674
692
550
622
608
662
646
549
666
508
526
527
546
628
536
590
658
658
693
553
591
587
636
625
546
679
587
575
606
696
641
519
572
633
573
545
691
574
638
559
577
585
680
598
581
622
639
503
540
533
672
555
548
665
634
582
678
586
642
569
676
561
516
647
598
549
515
641
603
664
545
675
625
603
531
657
518
522
700
506
621
664
648
587
658
639
544
585
511
678
572
608
589
536
700
655
534
691
640
520
539
526
620
593
666
620
668
598
540
526
564
631
623
672
543
634
630
655
522
664
588
693
560
567
571
514
635
660
570
509
560
510
505
528
546
563
670
508
510
509
624
682
668
670
636
554
558
542
635
544
588
636
677
661
566
506
625
551
519
615
637
531
672
678
509
616
634
530
586
607
650
639
595
694
594
557
680
518
605
607
671
660
625
521
639
675
655
555
590
517
628
539
619
576
690
682
575
517
533
580
515
547
581
637
700
657
520
528
650
517
500
623
515
522
678
556
624
642
555
684
530
678
635
587
585
545
605
685
582
598
620
514
534
522
526
629
517
571
575
631
555
518
657
591
523
620
620
600
621
615
608
518
683
576
614
640
591
500
560
547
523
551
550
564
576
589
579
660
594
521
587
623
680
627
631
574
551
569
668
692
529
639
697
686
530
648
548
628
655
564
644
628
556
502
687
581
506
610
667
668
571
650
651
511
591
537
580
631
577
688
560
505
545
575
670
604
644
530
600
685
552
608
645
566
604
585
697
574
518
633
644
630
582
692
676
587
671
550
524
625
502
570
689
654
616
507
537
661
589
658
548
625
592
663
589
675
606
593
614
675
557
503
553
692
691
605
505
696
690
655
550
578
553
579
648
586
653
557
624
528
601
551
597
657
699
576
572
558
673
547
584
640
525
519
515
558
552
510
525
503
509
630
543
547
548
635
527
641
572
642
533
511
641
541
683
672
687
628
581
598
637
638
566
586
516
618
536
581
567
622
675
558
580
570
698
631
679
530
531
636
689
635
571
649
600
593
661
659
634
644
567
608
659
642
515
571
674
550
595
549
603
546
517
530
555
517
508
625
656
636
633
669
535
528
539
536
696
606
546
608
652
633
547
510
570
646
677
645
680
596
550
677
508
668
605
610
510
526
542
683
612
627
612
501
590
540
524
500
516
618
579
530
605
660
513
580
693
563
661
696
623
612
618
500
551
553
697
583
529
579
688
538
573
614
677
611
578
521
563
502
650
635
538
670
519
537
671
612
675
655
680
629
597
619
588
664
698
538
685
659
689
589
636
536
687
635
511
562
632
618
562
640
671
568
637
631
553
514
625
652
557
525
511
586
518
625
589
669
656
590
609
532
667
503
693
560
571
548
625
508
670
674
527
523
506
697
519
700
646
582
663
553
621
545
523
587
535
686
652
562
523
553
591
592
545
641
568
582
665
500
655
611
690
691
555
557
511
573
681
582
581
670
674
603
592
544
685
573
603
649
577
691
646
660
601
617
537
632
644
608
607
684
632
583
687
533
641
594
670
524
593
527
583
562
559
659
545
663
627
670
648
595
596
534
622
683
592
667
506
693
632
687
555
515
610
606
566
586
690
542
508
593
554
628
672
661
696
570
612
596
698
603
649
598
682
671
676
652
576
612
519
648
543
620
596
673
587
518
550
655
645
699
537
604
593
553
656
556
671
507
677
642
663
579
507
697
504
504
677
514
611
662
578
648
508
642
690
534
652
531
624
526
621
679
554
545
695
603
580
554
639
516
591
630
551
519
540
674
649
634
677
553
525
669
543
574
509
536
649
634
676
657
667
568
557
526
568
567
535
653
612
612
592
588
571
664
699
620
653
654
661
689
586
653
662
646
690
640
605
533
516
668
572
572
585
633
522
680
541
636
638
664
584
520
544
557
609
694
629
500
635
608
561
537
532
523
607
605
544
638
628
542
517
565
555
548
577
512
539
697
503
565
532
587
624
656
589
557
670
553
645
581
697
570
694
587
541
519
686
606
561
624
666
562
508
672
517
603
644
539
611
503
583
550
592
532
694
672
572
606
656
523
651
610
668
669
583
591
662
574
547
626
680
649
617
628
608
678
697
625
584
535
620
651
557
633
620
578
611
509
530
559
605
507
629
659
544
569
631
695
562
569
610
590
518
533
686
535
674
671
529
631
641
518
676
677
616
662
616
503
531
607
601
576
604
695
503
516
536
526
672
700
515
672
653
584
605
685
645
606
653
685
529
576
675
647
536
554
661
535
593
600
569
617
594
516
635
523
664
508
579
601
566
513
507
567
613
608
634
503
592
519
638
620
603
612
545
676
575
673
599
649
570
516
618
525
637
548
590
538
516
615
637
638
551
512
686
693
632
625
668
643
521
598
544
507
503
593
515
697
630
664
682
612
665
577
567
686
581
628
624
648
648
554
611
553
685
540
684
681
605
549
568
649
589
602
586
699
654
626
611
598
590
613
535
680
519
684
621
697
633
602
661
569
516
622
614
688
643
682
526
647
582
627
610
556
647
526
585
646
570
626
659
502
516
606
591
594
672
546
652
594
645
576
650
582
611
503
628
519
660
605
525
533
521
661
534
664
613
667
669
558
501
660
631
572
700
573
503
653
506
638
520
546
625
505
577
568
681
624
582
693
570
641
640
562
639
517
583
566
620
574
550
553
666
649
559
549
605
662
609
627
657
536
618
504
575
602
564
603
634
686
622
596
601
679
536
522
572
691
518
672
596
687
663
629
609
507
563
610
657
558
697
657
634
687
683
657
576
670
637
641
561
642
594
623
613
592
517
633
683
690
526
665
517
603
506
682
609
691
652
649
694
630
596
607
656
551
688
594
610
694
672
599
675
548
520
522
528
643
691
641
568
689
512
555
655
624
609
698
596
632
622
638
535
583
635
586
508
683
700
524
584
569
660
581
621
612
538
530
532
605
557
529
519
593
613
689
579
690
500
688
571
681
600
558
612
581
671
636
600
527
509
547
590
580
664
561
511
663
533
699
693
520
650
625
642
626
566
628
524
640
597
644
700
539
570
553
591
523
630
627
551
657
638
583
557
516
526
595
628
522
635
644
607
627
528
515
610
627
596
543
604
564
554
597
694
550
544
515
591
645
682
630
530
536
510
558
546
544
677
546
593
696
507
657
572
567
536
505
644
620
645
637
673
576
673
537
513
518
581
635
675
620
615
644
567
509
502
692
693
659
590
692
567
514
502
673
528
663
507
692
622
551
529
669
615
527
680
638
528
552
576
687
586
543
597
695
621
574
667
547
581
547
598
590
507
544
654
601
525
581
682
623
550
681
598
515
661
544
657
598
676
582
668
524
518
556
691
543
574
523
563
528
575
630
647
634
609
602
687
525
664
508
677
583
640
660
647
634
684
611
650
681
539
591
562
572
566
651
500
667
524
586
536
593
676
662
500
601
506
531
523
504
609
568
519
505
625
557
650
556
527
671
670
522
578
586
515
564
677
534
579
692
606
573
689
656
686
516
663
655
649
643
647
693
526
500
631
556
589
665
698
587
665
618
531
643
563
669
541
632
615
604
558
610
666
676
602
570
503
674
573
544
548
662
560
671
501
576
661
510
699
611
592
540
633
567
578
669
582
551
528
549
638
683
594
693
613
569
653
690
622
691
677
585
548
684
611
537
563
582
598
586
571
647
608
518
648
512
539
609
685
532
527
515
691
681
538
681
665
617
679
607
659
637
527
507
654
597
654
511
603
586
613
628
517
642
600
685
660
555
543
603
605
699
698
696
693
504
570
584
636
541
592
534
584
600
603
687
599
508
585
652
699
524
527
595
564
509
690
585
568
682
692
508
525
700
628
609
508
543
503
652
505
677
684
650
693
656
660
570
666
687
612
580
681
618
676
649
644
679
695
548
637
554
545
565
510
549
618
665
662
557
658
546
538
602
584
535
515
621
601
661
542
504
639
627
550
514
583
647
578
556
675
651
628
553
584
557
540
537
625
647
673
539
606
650
529
555
664
642
621
561
578
584
632
562
696
574
693
602
692
587
671
583
587
551
567
582
508
690
512
585
629
654
646
682
679
617
552
616
535
685
669
579
610
560
554
641
686
530
546
606
502
606
638
575
602
588
539
678
678
566
536
550
513
630
681
566
652
507
586
535
697
517
537
615
688
571
594
500
613
695
611
658
562
677
608
517
673
657
669
673
541
590
601
524
511
601
530
603
641
675
535
526
580
645
671
676
592
616
593
656
690
603
564
584
569
664
509
585
623
539
517
576
696
555
591
691
614
610
535
552
525
675
545
597
591
603
637
570
648
579
592
691
676
571
516
637
674
623
619
572
537
568
582
699
594
512
566
560
500
548
605
537
577
634
541
605
546
637
608
582
692
524
659
509
582
562
526
533
597
567
504
645
667
595
698
595
631
684
594
626
683
638
622
694
677
643
527
695
509
587
560
693
529
606
626
619
676
500
652
683
642
668
678
556
586
687
692
560
575
692
596
502
558
618
647
512
681
549
604
608
676
685
627
693
503
554
561
551
685
519
562
581
576
623
690
529
620
682
554
579
525
644
596
667
696
670
645
510
571
686
541
639
649
647
645
546
698
579
591
565
510
595
639
644
558
618
536
654
673
676
599
641
679
529
632
697
511
556
613
656
615
587
530
643
619
629
586
641
658
503
612
593
597
665
580
547
632
598
509
508
668
510
643
552
652
618
571
560
691
541
579
661
650
656
683
553
585
640
640
593
695
654
561
609
587
542
654
561
663
586
604
637
549
598
573
667
679
577
537
696
597
683
551
637
682
555
609
652
680
597
531
633
509
636
664
601
505
605
600
652
699
603
573
602
543
696
543
511
510
539
542
648
673
599
686
567
658
652
652
637
529
559
683
654
594
569
546
504
523
685
626
506
666
645
691
698
576
561
649
634
531
635
580
595
579
658
513
581
501
646
534
507
681
589
526
585
504
558
675
648
694
675
657
543
547
515
604
585
602
524
628
689
542
527
620
681
580
697
532
560
527
539
529
537
699
650
692
680
564
569
507
510
623
651
582
640
640
645
607
537
543
622
501
500
695
515
522
634
567
608
646
688
558
545
684
668
639
578
554
530
540
586
527
579
617
650
504
588
642
534
646
661
591
552
633
667
602
631
698
699
668
506
636
580
530
590
615
590
593
639
612
591
696
537
584
586
657
610
624
530
675
586
590
520
556
506
625
633
652
615
533
553
606
567
676
564
651
651
617
645
603
517
619
687
507
645
616
585
548
581
542
666
639
590
594
595
597
649
693
563
642
679
621
578
544
589
665
690
639
534
579
618
648
676
540
673
584
539
535
653
610
681
697
686
641
515
625
590
583
542
622
575
562
650
602
524
573
530
523
576
619
651
630
540
604
564
624
684
526
555
691
595
675
585
651
633
664
559
574
618
596
662
544
628
662
650
507
683
584
525
647
657
551
670
627
697
581
586
593
535
642
685
643
664
688
555
536
543
665
629
691
649
562
505
513
521
557
505
622
535
541
515
621
554
667
523
631
687
568
517
599
658
610
619
519
530
513
502
537
550
697
607
695
527
521
647
635
647
569
602
587
682
539
667
549
644
578
692
576
581
570
689
601
641
650
544
628
634
690
539
674
582
676
535
565
600
629
628
553
555
561
601
684
634
602
545
542
564
559
638
519
603
543
662
551
504
633
572
606
515
691
667
544
668
514
632
607
518
642
501
597
616
600
567
550
582
673
590
516
606
593
573
643
638
629
576
611
685
695
684
676
591
589
549
698
535
652
636
692
650
696
611
515
503
671
605
531
545
548
534
651
696
581
525
530
519
583
582
621
696
510
649
530
657
578
529
577
523
550
674
528
563
602
619
537
621
559
551
562
523
549
573
618
513
642
626
598
501
554
554
651
699
599
611
682
530
584
573
538
576
688
564
508
523
602
618
525
648
545
629
683
545
632
591
655
655
651
562
547
503
554
533
554
560
650
656
640
531
649
609
688
509
669
586
629
559
678
651
684
633
513
507
538
525
693
625
617
624
673
552
527
536
632
699
555
507
527
533
549
538
599
599
502
508
526
641
692
594
675
508
677
553
613
574
508
696
565
687
676
625
500
614
566
659
592
626
536
676
601
567
561
542
636
596
567
544
649
574
530
542
588
684
548
518
504
611
627
563
500
582
590
527
668
677
660
611
657
619
509
553
598
676
559
523
510
648
636
573
542
692
610
526
648
503
695
552
637
640
525
542
651
629
581
538
675
536
633
579
581
526
638
521
633
621
523
529
567
669
565
609
575
688
663
556
628
525
599
557
522
506
668
647
628
521
622
696
545
685
556
637
510
639
545
684
511
568
546
515
578
574
631
669
550
568
539
577
650
651
614
605
542
700
658
678
669
603
533
613
634
651
687
668
540
666
571
547
560
635
690
549
597
674
503
651
606
531
646
688
559
559
602
574
691
606
645
658
527
577
651
550
673
516
612
568
563
690
513
647
634
538
590
520
643
529
612
631
665
697
548
514
651
509
528
553
611
589
598
666
570
576
690
593
569
525
620
522
525
661
617
605
642
585
506
563
664
573
517
692
537
691
517
516
511
557
615
588
664
666
672
665
503
576
584
640
589
585
570
667
622
611
555
503
606
518
569
694
630
587
624
675
584
528
634
693
519
644
640
603
637
551
597
580
544
611
626
513
540
662
594
575
591
604
551
634
638
593
563
542
501
697
550
606
640
662
536
622
550
602
652
565
639
506
670
580
632
535
675
579
695
602
596
528
505
619
645
652
549
570
523
571
627
625
637
554
528
656
530
549
597
579
680
665
639
599
651
597
687
592
669
571
663
663
629
504
664
657
546
572
578
680
660
575
518
609
615
607
555
550
541
609
653
630
657
643
629
513
573
700
692
619
558
502
649
612
572
566
624
536
591
561
699
613
588
568
509
679
562
528
689
589
525
501
536
525
639
647
643
638
559
663
692
618
539
557
616
641
591
550
636
665
527
670
648
677
648
656
686
696
568
594
606
632
526
641
553
682
691
510
596
536
541
689
653
511
505
631
681
594
542
666
673
535
654
620
636
624
528
589
645
604
684
695
597
599
640
568
541
656
611
678
573
554
547
516
696
606
508
504
563
557
609
596
559
522
594
671
526
505
522
663
589
500
690
520
516
626
675
636
645
661
681
653
500
560
684
643
536
550
632
551
569
624
684
549
540
586
619
598
594
693
595
640
643
700
593
576
501
671
520
648
532
602
597
630
507
614
691
676
594
650
571
546
530
560
687
668
561
621
505
552
654
617
583
669
545
534
639
562
644
624
509
681
642
669
682
562
616
533
593
501
576
671
579
550
675
551
525
644
678
679
640
522
620
692
644
624
530
694
603
539
661
517
642
557
667
564
525
506
590
672
667
585
610
554
572
540
550
647
691
635
523
533
521
684
540
541
556
651
576
543
607
611
531
592
601
600
566
684
501
555
645
609
504
680
506
569
649
674
691
537
644
530
526
653
691
555
602
663
556
526
586
543
655
699
588
662
579
637
675
577
527
695
518
645
503
578
633
524
508
549
519
679
694
583
514
683
519
636
660
553
579
671
699
588
543
620
510
532
596
642
630
618
686
555
510
503
698
512
600
520
554
541
506
600
561
634
519
533
678
700
655
609
587
631
530
700
552
511
526
623
532
568
603
596
588
630
577
600
606
653
568
613
578
592
664
612
634
546
539
664
607
621
535
650
547
563
581
639
643
617
526
647
648
677
645
579
516
691
699
610
531
607
671
511
636
572
632
636
511
694
530
540
569
609
576
505
611
686
641
527
502
560
621
525
621
500
632
589
695
521
646
654
530
609
648
591
505
549
621
597
534
650
660
577
610
625
501
638
674
586
602
630
539
581
671
630
568
555
585
547
580
699
525
682
523
615
599
692
685
575
583
686
563
635
698
655
638
655
555
618
646
640
569
647
619
515
608
556
639
592
638
543
658
540
569
630
582
641
553
675
622
585
537
578
584
667
664
527
571
568
675
638
608
540
680
677
666
579
528
563
537
634
669
512
584
700
607
672
555
656
604
627
682
656
534
629
665
610
557
646
658
673
504
686
623
638
573
679
538
651
674
655
571
516
639
589
542
574
630
688
521
659
655
663
557
585
517
518
588
690
603
683
553
620
581
597
678
641
613
560
682
663
537
624
628
607
647
575
597
523
642
689
533
569
540
625
700
527
526
681
540
646
529
562
674
700
542
670
586
577
614
611
500
528
563
542
675
626
683
628
609
638
596
654
531
553
605
540
502
548
697
678
570
660
649
599
561
579
559
514
527
662
679
516
555
586
558
506
590
554
605
662
650
564
616
666
612
510
653
617
562
691
597
556
656
662
534
690
674
592
649
558
536
532
618
567
536
635
511
634
568
683
612
628
571
549
519
673
500
539
557
646
526
500
520
556
697
514
699
558
630
514
508
635
633
686
602
543
558
526
511
661
552
554
636
699
591
527
607
639
635
675
695
653
577
625
562
545
649
637
556
614
686
546
627
587
553
535
540
548
678
598
633
649
590
648
686
685
512
573
660
670
613
550
583
596
606
513
641
655
607
591
555
508
567
522
668
697
521
567
531
619
684
522
569
686
627
602
610
603
670
607
510
638
584
527
653
664
667
591
568
599
663
509
577
551
676
536
682
525
571
672
504
582
618
543
675
643
512
687
510
686
565
566
660
622
612
604
512
526
573
538
565
640
511
597
564
581
510
691
641
696
507
614
675
686
610
676
517
538
541
600
522
531
567
517
575
596
639
691
700
530
673
594
608
683
599
516
568
642
561
660
553
619
520
692
693
683
544
537
531
696
672
633
644
698
558
647
586
594
560
620
531
596
571
556
534
626
597
644
513
512
504
529
696
516
638
674
605
686
542
560
630
611
517
647
543
694
646
586
602
612
604
508
588
516
573
616
686
636
635
565
548
601
591
699
576
698
630
678
659
574
528
571
624
618
564
570
651
507
567
517
636
590
627
616
543
500
527
534
645
572
550
538
699
678
577
662
670
667
502
585
574
574
658
551
697
510
523
659
536
531
662
663
650
534
650
605
628
568
648
652
564
548
598
653
506
637
688
545
534
698
594
531
699
583
580
673
586
612
596
623
524
681
535
503
502
564
680
545
544
599
527
697
547
686
534
644
592
639
591
581
642
683
506
597
640
532
666
508
573
657
533
581
635
503
641
538
617
652
921
809
920
827
966
909
950
953
809
877
931
994
986
946
997
848
967
879
932
915
871
924
857
903
909
822
933
904
909
956
990
991
871
905
906
918
963
901
941
944
942
991
855
900
818
914
891
953
991
854
953
983
827
842
895
852
831
986
888
863
879
817
896
930
803
849
918
989
905
853
806
858
946
990
827
941
1000
844
802
811
868
987
903
882
884
824
994
981
905
968
860
905
925
984
901
906
929
927
846
911
939
942
963
802
925
856
807
870
916
852
886
889
974
868
828
811
904
878
813
800
841
998
998
964
924
838
915
976
864
895
852
970
977
869
888
825
966
920
840
978
819
834
968
992
865
989
915
904
851
887
981
873
826
903
933
816
811
895
989
977
920
946
812
900
933
914
872
840
830
837
985
915
976
903
871
822
879
941
911
848
955
991
933
864
821
865
802
894
835
842
947
838
995
994
803
994
842
806
890
948
895
966
867
804
905
904
809
997
961
948
957
936
853
863
809
883
920
813
806
831
828
890
963
803
958
913
899
949
972
913
986
926
853
988
875
941
962
853
958
984
931
924
828
983
960
810
950
851
879
840
820
843
825
895
965
901
996
968
853
958
866
846
921
890
916
975
969
834
827
802
987
915
983
911
990
825
917
808
935
886
814
966
938
985
949
984
975
890
932
875
893
829
986
842
841
959
917
807
935
853
968
821
880
867
973
994
965
880
908
960
897
823
858
976
969
882
888
850
934
945
874
914
803
989
983
906
906
939
821
837
913
948
970
824
955
958
837
1000
807
997
809
899
862
859
991
803
920
853
910
804
855
864
980
877
870
933
859
828
828
827
897
945
958
981
894
896
925
974
855
910
803
909
911
914
817
974
832
831
928
903
992
897
874
978
945
805
810
848
926
870
846
867
825
896
976
830
888
968
915
958
984
873
810
889
920
959
855
875
906
903
825
954
999
944
812
962
872
874
966
989
986
858
981
883
877
803
856
809
892
896
866
824
940
824
935
943
929
941
846
829
968
937
813
841
938
822
997
870
900
857
883
814
917
871
945
913
989
815
911
804
882
840
992
940
813
949
946
862
925
998
845
806
841
853
812
966
939
874
992
914
817
1000
952
895
840
966
932
871
895
926
919
926
818
942
972
880
863
811
824
870
857
896
911
963
943
969
970
992
881
879
987
856
990
859
889
819
921
897
847
812
809
810
978
835
832
894
809
998
901
981
953
963
901
819
869
943
947
984
999
960
888
980
849
909
868
859
824
916
967
992
835
924
919
876
961
878
854
984
964
875
965
807
888
813
824
932
838
964
937
896
920
899
914
980
971
895
812
818
829
946
858
898
837
910
821
944
931
896
848
855
895
881
912
808
977
853
858
982
950
971
965
965
838
942
856
846
942
910
845
927
907
937
871
951
999
971
826
840
803
845
979
852
947
864
974
909
895
972
959
820
876
825
877
833
975
855
858
836
872
997
973
863
969
848
934
810
854
915
957
828
927
945
880
882
981
954
817
819
894
900
984
976
807
865
807
968
923
958
982
818
872
882
829
853
868
982
881
914
972
910
800
941
956
874
916
860
999
936
915
894
964
859
960
933
982
895
844
901
967
965
927
977
899
910
898
912
833
819
931
950
864
882
975
902
991
962
890
925
925
906
885
963
898
835
900
868
921
897
846
937
830
813
818
911
952
944
803
993
846
902
819
800
809
989
885
912
966
919
940
979
970
929
975
942
987
925
985
843
915
880
849
963
880
866
940
864
934
970
871
903
821
989
908
853
1000
950
846
957
896
908
891
956
899
985
973
833
850
864
877
952
859
895
815
974
905
950
937
946
822
865
971
939
839
813
990
832
937
949
904
938
877
809
939
913
948
820
870
879
857
917
953
830
899
828
969
908
909
817
912
936
939
965
970
834
922
813
922
997
961
942
958
981
800
932
842
901
828
983
885
923
988
800
920
811
869
829
931
885
930
844
891
836
994
844
823
824
911
958
866
807
930
837
845
952
907
863
995
852
837
869
847
976
816
822
853
854
995
908
990
811
815
950
840
999
872
857
823
875
999
848
896
917
875
882
972
967
911
956
860
801
854
943
946
824
955
804
810
803
883
956
917
840
829
908
892
848
893
982
982
830
852
871
961
874
813
872
853
850
924
923
829
825
895
880
880
813
906
965
923
988
932
959
970
896
860
925
822
991
868
873
930
826
990
819
922
801
928
918
953
935
838
958
844
967
902
824
932
954
933
889
862
941
878
865
997
1000
820
809
998
962
824
828
994
812
859
967
892
932
813
981
986
969
855
805
851
971
986
823
935
962
936
862
832
813
807
853
814
814
988
811
966
905
982
953
990
805
911
812
902
984
892
865
958
857
885
928
809
859
864
927
818
981
894
985
940
904
961
954
899
841
988
902
864
902
844
891
845
836
825
979
815
880
830
939
833
817
888
906
883
870
892
867
948
867
868
853
935
834
998
920
802
985
827
972
878
974
843
811
993
837
934
874
872
911
938
903
834
808
983
934
938
878
947
888
836
978
913
820
989
848
956
854
871
814
961
919
811
832
947
901
834
974
945
817
979
841
866
886
956
933
950
868
930
990
895
876
963
906
808
877
931
943
825
879
895
850
860
860
959
815
922
916
879
960
914
873
878
963
887
995
984
816
999
896
837
811
977
880
896
877
890
810
831
987
859
822
811
897
914
828
845
859
810
996
959
820
821
995
871
991
870
889
867
944
938
974
983
894
862
824
888
996
910
979
841
857
900
839
988
843
840
988
908
801
909
923
855
891
888
831
862
945
943
858
889
888
850
930
813
801
925
829
969
842
888
916
924
827
852
899
957
868
869
848
902
843
813
809
964
863
953
948
803
947
998
978
850
942
872
935
912
959
949
961
806
928
895
809
896
966
911
914
935
861
989
940
997
971
912
974
971
911
887
855
971
882
829
960
800
887
935
944
910
870
986
893
931
1000
932
853
919
829
935
874
989
943
969
933
945
838
804
987
905
870
970
943
987
933
825
891
876
972
802
951
893
860
912
898
856
952
883
911
933
986
887
987
935
860
939
922
897
922
956
966
967
1000
852
942
868
835
935
813
989
877
923
962
953
905
824
850
928
885
973
828
903
815
911
964
947
820
904
809
831
824
838
943
872
939
984
874
882
993
985
935
879
883
982
985
880
965
889
808
967
929
836
940
909
940
922
806
829
858
804
851
933
906
801
819
877
849
871
890
815
874
881
994
855
981
911
892
911
866
934
957
939
854
858
977
888
999
844
856
912
992
915
840
838
865
927
901
823
957
806
838
859
818
856
848
908
939
903
891
953
938
835
831
966
1000
813
922
879
984
955
928
860
801
952
872
981
893
926
819
950
976
825
927
857
865
947
916
859
900
886
923
924
994
958
855
915
898
925
816
967
878
926
865
996
963
896
884
1000
979
951
833
939
978
979
865
917
999
975
893
881
997
895
816
918
917
827
900
937
856
887
861
879
956
821
877
995
942
992
880
946
942
866
865
823
900
997
846
982
818
904
874
957
994
859
873
883
940
820
962
973
983
892
916
982
834
849
998
992
843
811
931
860
860
828
818
878
802
906
913
919
871
901
946
905
994
936
956
825
888
876
919
957
933
828
959
877
887
810
874
909
930
980
908
891
983
821
831
872
947
941
859
876
956
920
940
900
925
856
907
981
903
825
949
902
839
879
923
855
852
904
882
945
887
833
944
837
879
857
809
855
987
863
922
990
944
897
853
804
845
822
874
952
988
852
969
924
911
845
855
938
969
887
969
935
814
878
875
883
973
974
896
910
938
870
855
866
827
867
879
900
968
917
962
973
981
811
952
840
876
923
853
885
842
978
864
978
907
834
865
900
928
909
966
878
892
911
941
924
974
930
856
872
861
907
941
839
803
880
909
970
882
844
971
895
992
826
836
873
965
984
850
901
1000
914
822
860
921
949
934
848
858
902
828
804
973
818
888
903
934
873
837
851
948
925
1000
852
834
971
905
885
895
995
982
855
996
995
948
993
970
872
801
859
961
868
972
870
970
897
976
950
851
884
903
917
821
990
922
838
940
862
996
812
843
913
975
956
858
940
817
986
894
854
835
996
989
953
833
883
905
1000
1000
983
813
996
977
927
989
839
843
882
930
928
857
984
859
971
860
850
894
933
870
950
939
819
867
857
905
957
988
801
855
913
855
935
951
959
953
912
884
845
889
967
898
998
974
865
949
909
848
821
835
902
885
980
951
897
849
821
943
964
851
831
831
805
843
895
996
847
836
837
808
844
936
833
918
977
835
983
816
879
985
936
897
942
872
875
941
934
892
905
972
999
820
893
809
811
836
812
925
887
845
911
850
958
804
946
826
873
950
817
824
899
829
984
959
984
910
872
932
853
821
861
850
817
964
881
934
839
871
806
989
842
987
913
953
960
990
889
949
880
867
958
959
891
918
894
949
834
903
857
848
864
885
920
978
946
938
939
994
973
841
861
855
841
809
832
995
970
1000
838
993
905
848
985
964
875
900
843
854
968
838
998
845
965
884
808
935
951
956
926
973
832
833
932
941
806
813
816
817
840
832
861
882
956
991
999
919
891
814
879
929
929
858
998
837
906
847
823
979
807
886
855
865
896
1000
823
803
974
994
924
810
932
814
837
919
980
851
889
999
929
884
841
875
889
831
826
999
943
940
872
864
899
950
862
872
869
930
882
872
912
894
997
841
970
873
861
981
800
976
854
862
842
953
961
982
874
841
820
979
894
810
876
829
918
994
804
812
963
809
821
994
888
843
987
951
839
972
966
992
916
823
992
836
806
838
988
830
833
826
805
987
845
817
838
908
842
815
837
913
981
875
851
959
975
845
845
893
824
932
979
934
985
853
856
877
973
980
950
959
886
832
998
984
955
851
972
850
820
921
872
961
957
959
940
954
963
805
818
981
820
861
943
983
985
998
888
814
917
851
956
890
859
965
816
900
956
833
899
971
922
925
812
991
801
826
885
835
860
868
965
985
900
928
978
929
903
955
846
939
870
915
964
973
897
914
936
813
815
807
850
859
808
986
815
829
900
859
815
930
843
830
963
938
996
836
854
830
896
869
874
965
913
800
895
990
924
923
891
993
881
864
845
870
862
885
991
830
979
873
950
860
954
819
854
840
995
840
954
895
840
872
815
882
988
967
923
815
914
974
874
857
839
807
816
915
985
994
867
810
803
989
891
848
990
949
924
967
843
875
944
843
995
915
913
992
928
935
897
856
877
821
992
908
862
942
817
842
909
926
801
926
961
886
871
891
997
837
807
981
862
817
897
856
903
969
958
982
862
968
998
933
995
801
898
966
813
869
824
870
927
835
956
856
974
856
886
856
897
955
947
901
932
906
960
800
868
959
872
869
826
906
978
844
969
929
956
829
994
997
920
902
832
950
957
976
833
940
981
971
878
983
817
867
872
809
928
942
806
966
889
805
851
962
825
824
932
917
911
901
897
854
925
996
925
993
989
829
987
968
972
809
863
953
904
819
911
938
869
979
873
964
872
987
967
967
926
933
911
844
899
926
805
926
803
918
836
899
908
998
924
882
976
884
995
843
949
913
933
809
992
972
879
878
824
872
823
966
835
890
855
843
921
948
892
990
875
905
916
860
944
867
976
912
816
934
940
814
847
809
971
860
931
887
916
976
944
919
880
835
958
837
864
929
987
929
815
919
950
899
834
928
975
840
868
978
896
815
872
946
971
999
982
907
860
892
931
924
817
820
917
932
836
901
939
905
993
988
819
898
911
801
849
979
931
902
926
956
839
895
822
857
876
844
909
805
985
910
954
887
854
805
806
870
990
929
975
909
809
804
881
945
981
846
840
998
834
971
892
964
855
881
846
940
854
962
832
855
854
877
827
939
968
947
911
982
871
828
928
984
805
835
907
994
829
835
902
977
957
908
938
806
975
928
873
870
911
922
806
916
952
865
947
860
889
887
895
904
818
977
931
888
828
851
977
800
969
860
864
821
819
815
950
855
944
812
911
882
881
988
836
950
821
947
835
807
984
955
906
949
828
835
873
886
979
835
843
889
886
919
961
882
808
842
948
925
957
837
893
869
936
868
981
986
946
932
992
813
850
967
871
946
817
889
832
873
982
903
974
829
916
972
929
835
882
819
831
883
836
910
923
846
863
870
960
917
983
996
822
956
965
910
969
931
918
881
979
827
910
828
894
963
803
856
813
944
998
813
813
867
857
848
814
849
848
851
981
955
947
980
895
916
968
867
858
992
996
979
969
958
850
999
836
895
998
874
943
819
821
861
826
827
966
857
877
983
875
831
867
824
889
829
823
952
990
816
941
964
813
986
816
820
921
920
828
996
945
943
961
809
968
807
914
878
991
934
849
861
976
905
862
919
889
863
877
906
970
868
972
946
865
883
860
829
938
907
835
816
961
976
988
889
868
991
954
873
908
897
883
1000
952
906
876
991
885
821
922
931
921
947
907
948
900
814
897
989
973
869
907
961
999
816
981
926
814
822
858
896
834
991
808
944
899
825
815
903
964
839
982
856
972
940
961
915
825
852
866
824
867
878
914
873
895
860
871
897
990
866
805
922
984
917
866
804
998
835
961
868
945
923
937
866
821
946
879
891
941
863
956
979
937
888
940
883
820
825
911
992
816
818
807
882
954
837
920
872
800
916
961
897
826
929
841
867
966
800
935
999
909
946
849
907
831
838
823
866
902
913
837
948
899
869
948
971
816
856
824
853
854
979
987
934
915
898
978
869
883
937
990
965
902
920
904
995
932
902
997
859
898
914
996
833
979
885
813
945
898
872
830
917
906
905
851
903
877
907
973
860
842
983
977
808
888
943
959
859
963
918
972
945
847
857
891
870
932
916
992
855
957
964
948
972
889
878
888
842
819
909
862
888
870
993
847
875
941
925
937
993
876
925
885
838
821
960
837
835
990
965
963
993
903
891
945
963
957
924
942
946
944
848
913
840
801
859
839
988
894
817
819
925
815
923
979
995
953
955
890
864
937
893
965
947
917
930
800
880
836
900
873
944
878
919
991
828
970
922
811
888
910
854
961
985
945
942
893
867
913
984
871
883
994
937
991
940
806
924
848
849
984
845
973
995
832
885
837
971
845
838
895
899
952
920
837
928
855
882
850
889
918
864
990
844
923
902
864
871
919
819
820
833
957
873
836
862
887
859
841
983
909
817
971
927
818
910
977
960
996
914
892
949
932
968
892
927
818
875
851
979
932
872
983
862
946
882
809
800
943
880
876
808
821
861
948
927
826
979
820
891
817
851
962
849
949
873
810
858
974
915
899
881
959
827
923
926
861
952
929
834
915
905
871
869
934
965
987
923
860
976
878
914
957
984
946
958
976
935
800
996
823
804
954
863
827
826
880
845
836
858
848
941
989
857
853
1000
936
825
960
832
925
811
804
981
922
931
901
927
842
877
961
865
975
841
864
853
975
890
973
806
841
884
849
819
859
871
930
944
802
864
806
990
902
830
967
945
874
804
995
976
907
894
907
833
804
880
962
802
819
826
971
872
896
882
838
830
839
804
931
997
923
907
989
987
821
945
896
953
958
997
983
985
895
985
873
820
999
916
870
937
838
964
919
907
814
846
889
910
859
804
894
958
835
867
826
900
985
883
920
856
975
821
845
888
935
842
807
945
962
823
851
975
934
902
946
830
836
834
807
999
967
826
868
975
983
905
842
898
890
802
881
865
869
939
915
902
968
877
909
877
960
835
978
815
949
808
888
983
887
989
949
863
883
910
902
998
885
973
980
978
936
809
984
978
989
824
817
885
814
940
855
903
836
924
935
892
921
811
933
818
884
923
809
968
959
919
847
875
927
995
888
871
948
951
937
853
817
874
988
988
811
985
816
855
921
822
808
992
994
947
842
915
970
994
913
893
820
973
960
969
912
884
977
904
900
857
815
899
836
808
965
936
904
883
964
815
899
802
898
891
801
953
986
806
983
846
978
905
943
953
804
947
939
892
882
910
812
963
818
818
997
856
811
904
909
822
861
915
928
838
911
869
926
819
801
829
966
844
880
822
987
998
858
804
980
889
964
890
975
818
999
959
879
844
901
869
885
956
857
966
813
832
995
822
818
833
885
954
956
871
892
983
825
820
877
811
896
885
956
897
872
991
942
877
913
910
887
957
876
992
906
843
838
869
837
861
895
819
878
969
813
913
819
851
992
967
999
833
952
986
996
901
963
950
914
904
829
820
940
919
902
979
841
848
997
885
861
913
954
949
956
850
934
820
964
997
942
945
966
936
956
922
917
929
871
997
901
824
927
873
816
896
881
837
821
812
979
918
935
852
850
974
815
890
895
800
882
936
921
1000
886
807
915
935
813
900
835
923
878
909
974
990
945
978
802
981
936
887
812
823
933
888
861
935
994
957
844
877
924
958
867
850
907
919
855
817
865
815
854
808
974
907
862
901
994
929
921
981
888
886
906
913
853
877
947
999
903
963
961
899
869
926
982
984
932
846
906
970
942
858
908
820
843
953
862
877
950
923
802
881
920
947
955
967
889
900
954
967
949
918
866
949
884
837
941
999
852
937
914
865
965
993
869
975
908
814
970
885
896
844
957
949
829
902
882
822
808
958
971
912
896
937
807
861
829
926
958
814
867
837
951
967
947
919
983
862
801
970
854
959
983
991
954
878
983
921
961
870
991
880
814
937
884
984
941
992
948
873
854
932
921
809
964
969
937
943
843
838
865
823
808
933
849
902
978
877
848
858
863
844
812
911
826
811
842
820
980
984
997
804
874
998
977
961
869
981
903
830
995
825
969
848
834
996
804
829
929
811
847
925
932
857
847
946
854
881
838
893
903
902
800
898
903
884
909
968
831
885
808
939
815
925
871
867
942
807
841
937
904
876
872
865
898
891
966
857
883
858
989
820
974
802
912
928
884
965
934
962
893
994
980
835
881
945
861
857
932
883
917
848
870
977
854
805
908
823
839
868
802
827
800
922
816
871
842
871
845
804
907
896
835
973
874
885
824
940
885
955
939
990
864
816
925
996
921
961
844
956
961
904
985
986
877
897
911
903
841
899
860
952
957
845
943
921
932
930
804
810
951
971
959
862
973
943
897
855
947
811
818
996
851
859
839
851
850
892
932
895
902
979
981
988
939
875
945
962
826
885
928
824
980
912
842
988
800
820
832
821
983
836
844
973
898
830
977
905
925
925
920
936
917
863
950
986
825
835
818
939
808
880
991
837
973
814
811
994
804
875
826
860
889
922
838
964
820
968
957
948
960
841
843
853
853
841
885
972
960
845
907
831
891
813
811
938
833
930
952
822
894
979
829
972
847
823
959
804
917
943
989
940
851
828
833
908
834
873
844
944
907
835
856
814
875
853
934
996
851
823
879
945
966
966
911
892
924
849
855
861
897
886
921
963
908
862
500
591
689
610
649
662
581
674
699
578
653
528
583
639
578
617
518
560
619
692
559
509
601
571
685
535
689
532
657
527
666
649
520
664
620
509
512
650
559
541
606
693
610
658
650
635
508
618
535
585
555
632
505
562
540
652
523
618
624
506
686
510
544
508
613
529
695
698
683
698
576
508
527
648
543
642
564
612
630
536
559
527
687
646
664
530
654
501
574
657
535
615
522
582
635
642
632
678
620
580
619
635
678
690
621
511
661
642
566
694
590
540
504
676
573
612
692
673
650
502
593
544
639
584
663
501
536
604
561
507
573
602
699
567
539
540
638
533
595
534
639
680
550
532
605
679
512
613
672
563
501
680
582
633
555
563
564
521
692
561
577
634
676
518
620
540
621
537
590
533
634
612
679
684
537
611
629
668
616
681
571
541
673
628
600
552
687
630
610
592
567
594
578
605
639
682
573
613
612
538
592
534
511
575
546
521
642
631
572
514
660
508
578
594
689
584
593
696
586
653
599
565
674
663
601
579
686
676
555
524
542
645
501
579
502
643
564
518
531
611
663
700
595
518
551
538
590
513
548
500
573
534
653
584
581
625
657
674
634
644
651
578
633
695
578
509
624
658
591
567
615
598
578
570
516
608
593
634
534
642
668
699
587
563
567
538
591
677
554
507
627
680
512
662
605
662
696
617
585
566
542
654
678
560
585
663
593
593
690
699
576
545
516
652
534
644
564
694
634
590
646
530
557
560
608
532
684
676
568
601
648
587
542
626
606
652
542
604
514
527
571
693
649
694
594
670
575
538
541
684
534
573
552
686
596
678
556
648
567
558
530
613
643
504
522
591
691
553
663
578
687
525
633
519
570
551
571
555
562
590
627
592
653
533
517
564
515
589
692
604
629
679
533
550
636
698
594
655
668
528
556
587
503
510
544
643
656
570
659
630
607
653
531
528
687
500
543
592
613
690
564
668
541
617
697
534
553
554
524
583
637
662
522
563
570
560
552
563
655
557
690
547
504
553
602
658
556
566
644
504
683
566
665
576
682
657
672
643
558
513
686
559
569
561
667
672
639
635
576
567
537
524
630
571
535
508
669
669
700
677
694
614
687
528
687
670
610
532
510
523
688
641
556
562
541
542
536
679
609
649
605
630
659
609
553
609
674
678
559
540
694
641
636
550
624
503
615
650
677
653
551
660
637
538
643
694
659
523
562
552
685
676
623
551
529
639
649
698
524
622
589
564
691
649
636
559
646
681
605
561
505
531
604
624
606
681
658
523
556
561
676
527
694
546
700
535
558
505
641
643
516
546
577
691
636
544
547
614
677
700
678
562
656
695
609
684
647
696
570
531
638
636
684
557
622
682
504
502
693
637
689
529
625
644
687
699
640
567
672
684
677
550
614
508
503
598
639
684
662
659
604
624
542
685
615
573
555
570
528
606
600
637
549
507
700
629
694
541
639
597
584
676
505
566
666
625
664
510
574
536
673
641
565
642
550
683
636
691
632
621
544
621
632
506
624
571
567
676
677
599
558
565
697
574
633
517
560
552
674
519
627
651
520
617
619
646
613
622
614
665
656
574
612
638
685
547
663
611
551
534
583
520
614
568
539
606
655
564
623
669
666
647
589
606
591
578
640
638
680
691
675
644
678
579
622
688
641
690
558
541
558
662
523
518
566
555
582
652
646
651
646
590
503
686
668
507
687
554
612
667
589
693
597
627
575
580
650
663
510
652
593
576
678
627
634
555
613
505
525
540
676
556
576
552
512
604
656
606
501
543
557
573
613
676
546
564
508
576
680
618
551
632
625
612
604
582
625
631
634
591
572
581
507
694
542
613
571
659
640
589
604
544
612
650
568
647
555
565
622
527
697
529
583
670
682
614
625
556
594
656
575
522
679
679
561
515
611
688
535
687
637
634
677
601
629
616
670
695
539
694
572
645
650
621
646
698
638
613
680
565
671
539
585
583
638
596
560
608
671
560
692
699
619
687
604
505
578
690
660
653
558
627
502
628
585
601
634
616
507
552
572
649
631
550
687
549
577
586
592
654
504
521
536
509
522
551
524
500
677
678
532
566
660
656
692
624
594
625
638
546
513
649
574
513
597
549
659
638
605
635
652
577
639
687
573
609
543
554
577
648
612
523
623
698
527
685
552
594
678
558
656
613
519
594
619
513
599
590
700
602
613
512
649
507
522
635
554
574
609
519
563
547
652
504
601
596
553
527
652
604
697
618
610
615
552
530
540
685
673
648
595
549
629
592
550
677
595
588
630
684
500
673
553
518
539
505
626
546
670
517
632
515
514
569
644
555
520
617
650
661
675
662
623
555
531
525
533
585
627
652
587
501
690
600
658
685
527
530
605
628
653
598
603
600
535
544
612
675
633
562
561
545
579
502
667
608
599
631
576
503
547
546
512
630
528
588
544
568
601
543
566
516
683
625
533
661
637
621
556
542
616
504
654
626
697
563
562
686
588
601
555
585
549
609
678
528
609
521
568
538
689
549
579
539
682
662
519
625
648
621
579
694
518
551
576
577
617
567
642
575
590
605
638
522
685
578
604
695
519
504
700
575
609
549
597
567
609
531
597
587
517
516
688
526
681
526
504
516
680
647
533
671
560
679
576
665
675
646
560
520
627
501
664
526
551
641
596
617
674
558
682
533
525
560
657
606
627
620
673
552
567
602
591
511
686
647
644
622
672
553
673
605
647
591
625
689
559
643
628
544
664
670
550
509
650
574
696
565
632
691
513
667
578
517
634
656
621
684
526
533
686
546
627
543
698
640
592
527
528
614
625
686
698
637
609
521
658
557
590
611
659
535
534
668
570
560
520
579
662
666
611
578
500
523
535
622
595
551
610
524
617
587
674
646
573
522
695
685
511
503
550
592
568
649
584
501
626
647
526
579
535
552
570
544
522
651
544
696
615
666
523
563
620
563
635
695
608
622
663
696
648
593
676
512
548
655
613
596
609
679
612
591
633
663
599
591
506
663
545
508
563
554
627
585
653
613
530
694
619
566
517
561
675
636
690
551
620
676
531
568
573
654
586
513
606
681
697
618
559
529
694
560
610
601
542
696
606
584
528
534
642
654
562
698
636
695
575
690
513
625
649
696
568
641
523
543
557
655
650
678
542
568
676
557
572
633
680
682
549
575
651
619
650
700
510
686
544
561
643
638
511
595
619
677
650
690
510
519
692
526
664
656
580
564
671
561
571
691
616
632
564
555
622
643
644
676
606
546
587
560
694
669
528
654
564
682
539
594
508
588
663
657
692
676
575
682
681
680
684
641
676
573
571
510
541
666
559
557
501
624
545
597
562
506
639
640
604
606
533
593
541
607
582
677
662
534
581
647
642
589
619
536
563
648
539
579
700
594
590
604
510
590
538
700
664
664
655
682
515
564
656
582
644
636
624
687
656
563
532
561
509
564
639
566
656
520
538
613
517
598
621
510
600
599
682
545
665
592
653
500
596
523
680
653
547
665
639
683
584
606
629
540
522
633
501
549
695
668
676
586
525
536
585
689
615
673
566
530
555
524
636
534
608
645
674
544
616
514
514
577
506
539
673
679
587
638
505
521
537
547
623
670
572
625
582
613
651
634
605
531
698
589
563
557
527
555
623
633
622
647
648
699
560
603
527
548
657
679
647
616
561
609
572
656
619
500
665
655
693
564
554
596
682
604
603
616
522
579
527
621
679
684
660
543
578
619
509
668
608
650
586
685
619
621
649
657
660
539
685
571
560
614
695
544
650
649
604
508
688
692
576
516
647
680
579
592
660
574
510
652
524
521
625
520
663
544
687
643
588
666
514
544
573
544
588
586
631
626
596
582
607
699
693
522
517
624
560
581
536
540
553
541
636
508
541
557
600
583
565
505
533
564
629
668
519
606
550
597
592
634
502
675
620
679
659
503
506
676
572
504
545
662
579
505
697
534
533
685
629
567
562
570
588
690
601
629
638
511
648
575
553
634
540
570
625
648
613
667
527
684
675
605
638
678
514
673
528
688
675
632
507
512
618
623
510
617
567
552
609
593
601
642
668
638
572
504
527
695
522
626
629
655
517
643
500
658
669
696
608
508
531
670
699
525
612
587
524
553
660
677
564
698
524
626
513
632
700
634
677
632
535
672
654
633
516
618
512
578
518
633
660
690
530
530
545
678
650
576
633
631
700
698
697
674
569
501
554
619
611
699
699
623
600
526
627
591
613
612
663
512
514
516
646
542
648
641
626
569
518
582
684
614
608
642
592
644
644
648
555
604
573
604
520
676
567
562
696
686
558
632
655
504
531
544
517
629
700
639
694
520
597
647
654
592
535
609
562
618
603
568
578
592
566
647
586
500
561
645
513
614
577
577
672
513
638
549
700
512
596
689
536
604
590
516
672
627
505
602
549
541
654
527
675
586
672
503
615
651
634
544
572
637
659
507
577
589
555
549
605
671
600
576
680
595
561
686
528
541
669
659
579
690
574
553
606
588
555
573
657
517
584
573
521
516
526
582
629
619
694
666
517
536
552
521
604
667
691
515
509
518
537
579
641
587
671
558
515
608
646
525
575
507
561
537
548
604
589
501
526
604
675
686
510
635
502
556
508
664
536
542
673
531
513
667
508
633
577
613
580
672
611
550
648
634
637
517
534
643
665
624
521
558
528
582
534
513
698
619
588
653
568
621
599
538
557
650
546
646
698
551
512
639
632
574
631
526
658
615
526
586
536
578
614
590
528
530
685
611
684
572
656
565
552
647
580
556
601
565
553
667
501
524
586
573
525
568
589
514
570
624
537
518
635
653
607
547
653
584
552
569
668
636
531
513
509
513
595
656
642
535
538
579
696
688
515
557
557
522
606
627
671
619
654
689
604
687
503
654
581
698
635
689
534
641
674
542
527
509
554
580
543
501
635
694
662
682
515
582
616
571
538
565
530
622
628
608
685
626
659
609
672
610
646
518
576
692
624
565
545
639
547
684
608
646
653
538
619
500
556
618
662
525
612
540
547
579
581
552
638
695
571
573
618
513
680
549
531
562
605
527
688
534
653
647
508
524
517
674
542
554
552
556
650
557
521
640
623
522
633
678
690
523
531
516
638
649
620
634
636
646
623
557
526
550
598
507
695
691
684
614
668
613
594
547
524
549
548
699
664
541
646
600
507
641
666
561
546
583
663
668
573
585
521
694
692
539
541
681
553
673
556
609
599
653
668
643
533
637
700
508
501
633
547
574
650
631
628
533
604
652
530
686
654
659
696
504
608
616
643
576
601
597
677
602
549
531
665
542
565
566
514
629
608
618
510
548
603
545
540
553
658
594
689
631
527
695
608
623
629
646
664
669
624
521
557
586
584
561
679
501
510
504
632
634
607
535
526
663
534
584
638
639
547
601
623
685
634
599
513
585
549
685
558
509
649
649
548
635
502
616
596
682
695
505
539
666
690
646
618
674
690
582
698
598
662
608
509
665
587
502
677
629
568
676
527
592
668
658
591
589
621
634
517
511
577
528
668
567
528
574
652
528
600
619
685
641
506
646
635
595
593
674
616
546
673
514
537
513
643
574
508
617
535
653
581
552
687
520
525
677
695
554
653
601
535
521
534
664
523
685
582
628
550
505
627
696
527
561
690
629
507
648
630
623
600
547
512
617
607
694
584
650
522
610
599
695
618
548
636
519
522
648
699
655
539
614
535
673
535
618
545
564
505
566
550
583
525
541
523
639
660
620
593
694
670
649
526
646
586
523
567
606
613
556
636
510
647
507
531
632
502
570
669
663
675
635
587
590
588
524
539
553
636
566
550
580
694
582
671
596
562
636
626
528
549
595
622
512
565
677
532
573
520
568
571
547
517
693
652
660
628
645
532
623
671
506
652
516
655
659
610
522
620
603
607
549
574
619
651
505
641
649
677
683
559
542
613
610
664
687
630
598
641
558
522
576
518
514
598
546
644
584
596
622
563
592
589
700
679
569
668
577
545
610
596
675
528
609
664
516
624
588
584
543
557
502
690
696
622
685
525
516
637
593
694
669
547
605
552
531
605
587
502
536
589
652
520
605
538
590
628
550
638
664
697
608
685
517
659
558
635
693
551
665
574
658
542
566
618
528
512
679
522
534
609
520
611
676
505
526
541
643
614
508
652
595
596
594
668
606
579
686
631
674
640
670
564
510
548
626
637
538
540
561
541
611
561
647
663
529
606
661
669
602
526
535
555
646
677
665
565
540
650
643
520
693
628
636
561
540
531
691
625
628
590
652
555
581
637
657
571
592
605
523
646
620
503
523
590
527
644
636
556
539
521
544
608
588
681
532
522
656
607
686
648
529
566
531
515
649
517
604
534
603
548
512
553
628
527
540
609
671
557
675
649
512
698
565
551
652
546
512
533
580
577
607
615
523
548
654
681
536
682
576
657
531
637
691
568
694
573
571
680
687
547
571
625
571
625
650
659
581
602
545
519
501
502
598
623
681
660
555
666
564
654
619
570
537
520
593
553
654
533
545
620
539
631
608
640
646
612
535
596
625
594
627
519
665
584
662
559
593
584
675
647
688
551
691
677
585
547
574
672
687
641
622
575
652
651
663
604
679
504
617
682
545
610
596
695
560
623
647
651
545
532
660
621
577
642
520
547
532
516
578
600
659
503
617
599
679
513
554
517
672
632
530
529
624
614
686
505
508
652
540
631
615
558
639
532
565
633
644
580
637
592
601
570
672
544
578
605
517
550
620
641
612
506
674
643
583
597
534
623
548
627
624
636
617
521
586
637
680
645
648
618
531
512
575
656
521
552
662
576
673
678
644
672
648
504
652
503
660
600
572
604
556
653
683
533
583
554
540
644
593
698
636
583
509
564
548
695
514
689
502
605
613
631
555
548
540
644
551
506
533
648
669
651
629
568
584
578
677
565
618
648
513
637
507
502
643
601
628
596
697
604
584
683
695
647
536
615
526
638
646
693
609
556
563
639
646
662
658
690
643
507
641
525
691
578
506
617
554
579
627
638
581
560
661
664
513
518
547
666
697
554
683
528
664
653
654
576
647
544
548
521
554
679
652
534
662
580
584
529
620
634
526
601
700
613
664
598
521
502
561
547
639
651
637
637
532
617
561
534
685
557
608
593
631
687
587
575
556
501
532
677
624
526
579
644
699
500
627
673
582
693
669
638
544
659
615
513
573
637
510
555
544
540
577
564
506
645
549
500
602
569
575
549
505
577
588
661
554
594
687
518
537
602
533
539
535
547
616
508
560
681
584
531
541
526
646
625
630
538
580
637
691
693
589
686
544
576
679
676
590
596
653
645
660
561
629
597
650
641
639
535
612
646
592
514
530
501
653
525
550
568
688
664
676
636
527
657
542
677
539
638
507
513
603
522
568
665
620
625
696
652
604
640
695
507
669
699
596
540
672
627
641
605
618
642
651
682
572
680
552
610
508
633
569
623
648
648
630
549
524
666
520
686
572
514
510
554
525
678
507
608
526
531
663
592
532
507
508
563
643
675
589
695
678
604
700
653
629
663
622
562
626
655
694
700
620
606
615
574
592
522
603
687
551
693
559
590
639
517
510
627
681
593
650
605
592
591
687
567
520
545
534
654
508
618
557
581
665
669
615
675
506
651
679
617
575
658
645
627
615
648
558
618
694
599
606
545
523
575
601
669
578
563
534
527
543
520
685
595
658
576
652
601
646
697
672
568
604
523
623
697
542
661
674
551
518
564
615
580
683
696
508
543
635
700
613
600
510
554
665
632
608
513
602
691
660
681
543
566
524
693
597
696
630
610
667
545
552
565
597
608
505
668
613
530
594
681
695
675
607
678
692
687
687
681
576
680
533
682
551
609
555
687
513
575
655
622
572
545
550
501
630
612
631
527
586
685
526
691
642
624
589
538
677
587
612
535
634
641
515
660
627
586
528
605
650
629
585
667
574
517
584
563
517
588
548
570
626
611
602
578
612
631
617
548
518
647
506
584
541
623
570
677
637
682
653
546
576
684
573
550
600
671
628
563
667
557
595
574
656
593
536
600
653
604
522
548
546
626
695
572
597
525
592
662
608
534
620
526
670
540
529
697
648
555
598
676
696
602
568
515
697
695
517
513
564
530
676
518
667
565
616
620
599
572
602
546
530
585
541
502
652
661
565
554
532
640
673
644
643
640
631
512
639
552
550
698
594
518
582
634
693
666
581
506
537
620
647
622
569
629
619
648
571
601
574
644
623
558
564
527
513
669
643
675
681
695
625
683
595
623
630
511
667
509
593
648
669
518
637
624
568
649
656
640
517
657
524
673
692
697
622
534
628
550
532
612
563
651
506
700
622
656
660
650
517
669
515
524
669
552
635
643
651
559
547
631
684
533
543
598
607
592
541
691
651
516
637
665
683
535
556
539
533
540
686
568
620
597
695
509
623
537
533
560
512
636
517
599
697
539
656
656
637
620
694
635
626
558
643
691
540
573
612
587
693
638
502
684
678
574
691
684
537
644
632
507
622
545
672
674
550
661
677
535
647
700
622
561
645
597
589
664
619
647
551
511
617
681
524
638
610
573
608
559
588
682
557
501
601
568
507
696
519
596
552
669
658
684
654
531
562
583
571
691
557
543
623
683
624
615
622
511
622
534
682
592
700
558
674
606
667
619
540
648
615
628
600
671
652
615
530
639
557
623
563
536
538
668
658
591
534
656
591
537
668
610
672
649
602
696
649
515
560
560
585
667
614
560
654
592
533
676
604
589
633
537
530
513
585
546
539
648
564
609
608
608
596
618
500
559
618
572
500
671
626
665
548
640
544
581
554
622
690
592
696
630
509
503
515
683
662
516
614
533
528
693
637
670
552
514
560
580
587
529
601
640
636
667
633
668
690
699
602
501
508
589
680
506
618
668
523
669
592
545
657
583
579
582
555
672
600
624
506
696
511
698
518
684
508
620
654
666
595
504
593
641
690
599
523
605
575
603
517
636
678
626
630
667
609
505
686
500
700
695
625
668
689
580
503
689
629
589
608
539
598
605
572
595
674
517
507
580
561
626
613
581
628
623
589
652
693
560
654
611
616
505
682
534
623
674
575
684
509
546
565
537
607
629
681
647
656
672
594
569
587
613
646
583
605
580
641
518
584
680
597
606
674
599
551
560
668
581
545
522
700
603
556
685
553
560
605
544
567
671
631
684
605
534
580
620
663
531
695
653
604
674
545
596
697
665
672
568
699
619
644
599
594
651
585
696
547
694
522
589
697
682
509
549
660
525
686
644
565
676
564
697
644
614
506
677
690
605
531
687
568
514
682
582
630
585
639
507
605
609
508
599
627
539
593
660
591
629
514
678
642
503
519
619
500
502
682
619
563
547
584
683
583
547
670
530
693
533
618
506
675
580
584
603
665
616
664
640
618
681
642
511
521
690
628
647
572
677
671
687
643
634
692
647
631
683
616
529
601
669
672
516
689
694
571
564
674
590
634
670
628
606
656
524
607
530
606
670
698
597
561
618
571
664
601
623
666
543
636
555
559
685
694
674
565
602
594
644
613
669
522
665
546
519
566
658
576
658
504
555
602
630
624
574
503
514
691
584
539
537
690
611
684
646
680
685
680
647
536
631
584
559
603
617
562
632
554
664
623
694
607
630
531
651
665
666
633
509
608
508
654
605
681
541
644
554
649
653
646
657
644
523
560
597
511
547
539
555
548
500
679
675
510
627
700
605
654
535
571
620
624
653
558
582
586
672
589
542
662
534
509
611
688
520
545
616
579
618
522
674
638
658
569
573
567
657
621
585
558
571
555
659
628
616
602
641
639
623
573
629
622
586
699
543
561
515
514
686
671
647
631
603
563
529
553
642
617
574
604
554
536
580
500
562
543
560
599
628
550
644
682
653
613
568
597
602
601
600
615
582
505
697
662
678
546
613
599
551
618
689
585
555
558
637
593
564
676
571
547
542
535
687
646
622
616
502
668
594
587
620
569
578
573
505
516
519
640
504
535
696
526
509
675
602
575
598
674
601
691
668
643
512
619
585
508
537
620
579
544
600
660
597
586
572
691
591
583
526
527
577
502
697
680
592
633
511
663
588
658
569
518
658
570
655
601
679
541
578
614
572
586
511
624
591
556
623
651
656
505
510
584
503
517
630
509
663
564
517
619
595
551
660
640
599
524
687
556
692
590
527
663
658
690
645
671
688
579
539
613
662
503
645
642
603
640
643
580
639
550
675
638
555
698
639
652
588
509
620
689
561
592
689
517
629
564
576
634
675
660
520
586
648
524
553
668
593
510
696
598
599
689
546
631
681
575
665
556
673
529
559
616
616
665
553
572
674
675
597
510
642
587
641
649
628
500
627
587
514
531
595
588
577
520
575
625
629
677
597
589
581
690
579
666
546
613
517
639
550
687
558
569
668
544
647
669
579
639
619
582
556
520
554
654
663
673
653
568
627
688
688
564
532
505
607
553
697
662
677
569
565
630
662
673
583
533
552
604
554
611
622
627
602
563
640
601
529
635
655
602
570
638
676
511
509
562
586
661
628
652
694
610
507
574
653
641
626
697
631
607
645
684
673
650
585
532
699
690
568
548
682
688
587
615
601
529
555
636
694
508
660
672
584
543
536
513
518
626
610
594
614
611
607
543
635
587
562
656
672
505
596
634
525
613
682
653
531
529
502
614
687
522
586
693
567
657
671
511
668
672
546
630
595
612
697
560
623
503
536
658
583
556
619
675
675
545
676
512
602
652
507
526
505
544
669
590
651
561
680
567
628
544
627
636
673
542
515
605
587
565
612
693
626
591
523
549
603
510
598
656
572
511
571
529
607
643
652
678
569
678
682
680
677
546
506
550
564
685
615
642
696
673
543
600
565
540
625
561
501
576
613
564
644
525
574
598
698
607
502
516
560
629
594
538
583
694
698
559
697
528
608
639
538
699
562
662
587
581
685
667
587
556
689
680
696
569
586
520
605
697
682
543
694
695
586
660
586
685
617
530
578
621
695
594
511
535
552
523
618
526
693
609
657
622
627
559
581
557
596
652
598
583
530
571
539
621
533
656
637
629
647
659
695
548
696
679
580
546
552
564
643
529
618
642
667
636
512
652
641
511
520
671
690
535
544
560
537
504
529
642
669
618
688
555
526
628
642
656
578
682
507
692
642
572
522
615
665
634
629
672
629
698
570
541
638
693
661
667
606
568
600
627
908
936
848
906
970
930
957
827
888
948
977
916
819
990
942
886
991
899
811
953
803
959
837
842
1000
828
948
854
860
966
950
948
939
851
876
885
953
982
836
847
892
862
817
950
997
972
935
955
827
837
849
982
884
813
857
875
968
949
856
928
809
865
992
927
968
896
993
947
868
918
936
985
827
954
987
947
989
904
830
811
803
880
885
859
945
969
867
811
944
898
839
816
994
926
881
806
948
862
969
825
976
835
823
832
877
889
820
961
973
826
864
883
955
924
980
895
1000
834
824
897
816
966
926
992
960
994
939
995
909
825
954
973
890
952
944
819
966
932
880
896
853
837
941
929
856
945
821
957
958
826
929
963
920
977
816
850
968
906
802
950
934
989
924
880
961
950
847
889
822
864
855
855
945
890
971
937
992
973
999
936
943
978
963
927
935
982
815
894
883
983
992
906
998
846
954
900
995
996
874
949
983
844
950
807
954
981
934
840
992
850
893
868
937
816
800
995
828
879
958
869
886
857
863
838
895
838
926
922
873
848
919
808
862
906
995
895
802
828
808
938
880
893
880
884
857
817
962
895
991
908
841
882
936
817
947
940
928
929
997
995
900
997
853
939
880
894
908
879
911
994
941
929
892
841
908
801
912
833
878
815
923
968
893
831
807
848
972
828
838
978
815
808
858
889
823
972
997
933
927
903
965
887
922
909
942
955
975
907
829
827
964
874
809
810
940
865
867
879
931
928
896
975
898
868
990
842
913
866
844
839
926
857
892
872
804
831
872
896
887
878
976
856
839
934
994
863
824
904
985
984
980
822
983
877
999
882
833
888
976
820
937
824
872
960
879
909
980
863
847
826
870
841
892
849
863
820
836
922
864
888
932
930
870
975
886
961
938
888
989
898
831
994
912
869
814
983
840
881
993
879
979
818
802
873
969
828
922
811
842
823
912
842
910
939
881
838
930
862
881
894
940
854
891
882
903
909
800
905
934
875
814
891
899
889
958
938
844
835
816
991
847
933
804
914
973
845
920
922
923
951
970
806
848
890
832
902
953
934
837
801
972
941
964
902
860
803
821
966
985
949
969
825
988
978
867
929
822
905
928
941
994
981
904
877
812
883
967
820
841
947
823
860
883
901
823
821
832
997
813
920
987
999
916
904
831
929
806
871
905
819
959
888
986
819
837
989
943
964
848
898
969
893
926
842
926
941
908
935
988
862
929
804
825
830
878
897
876
884
910
828
826
898
853
878
996
875
802
995
904
874
828
834
897
990
985
861
834
850
984
841
921
913
895
904
860
871
971
982
830
852
922
965
971
882
843
966
925
880
815
867
828
949
900
817
846
882
857
857
936
950
934
998
855
808
843
830
989
924
926
835
948
837
992
903
881
926
803
939
866
931
813
838
982
844
888
929
955
848
983
948
842
857
880
826
999
901
844
832
910
836
964
994
947
973
848
994
955
871
976
880
858
886
855
951
967
887
881
904
832
982
1000
916
858
899
939
834
823
956
911
872
892
992
835
833
934
900
879
837
841
929
844
966
822
821
815
851
974
921
908
896
992
919
933
922
825
961
847
937
997
931
810
867
996
914
851
912
911
965
853
992
808
922
837
865
969
889
892
948
860
825
960
946
862
849
868
969
919
876
970
859
940
835
802
891
888
908
830
988
893
837
844
885
866
817
820
939
989
880
958
805
892
882
943
957
888
974
911
969
839
809
969
975
837
948
979
949
984
857
995
838
955
910
894
969
844
924
878
943
962
857
868
953
801
965
945
824
806
977
836
977
811
978
813
928
919
864
979
801
915
810
980
821
982
920
878
867
944
886
979
965
998
923
872
891
910
821
874
917
856
870
902
982
862
815
845
1000
846
853
964
970
882
921
990
930
960
847
913
873
934
933
876
878
996
815
870
845
978
883
808
974
977
992
872
946
971
828
840
803
825
889
812
892
980
875
919
980
920
888
811
889
922
881
906
929
842
941
834
878
951
817
925
836
879
866
955
915
944
836
921
918
818
847
819
902
904
984
869
855
961
900
984
963
973
944
903
832
918
834
872
948
898
958
829
959
953
885
929
875
803
911
865
955
833
929
928
968
944
845
830
828
834
828
841
920
852
936
928
913
999
953
996
926
993
871
875
855
960
995
962
881
816
904
922
870
861
837
855
897
936
937
859
893
810
851
829
890
861
989
805
993
914
998
947
905
878
960
885
811
905
897
949
925
926
960
815
1000
941
943
802
951
973
974
878
918
951
808
833
932
954
915
873
928
901
872
869
870
987
949
948
844
889
964
895
828
871
928
912
943
932
801
917
888
914
936
857
812
911
894
949
848
941
931
948
951
918
916
839
964
836
856
928
876
948
864
931
935
873
912
970
821
846
851
877
846
801
931
822
865
906
885
979
955
979
924
995
999
843
929
840
808
833
948
900
802
818
853
902
964
945
856
955
986
953
974
884
867
979
861
909
899
954
987
803
932
997
984
969
854
842
815
900
875
852
827
999
825
843
827
860
867
969
979
997
844
889
826
982
964
811
928
876
889
824
961
912
888
900
927
809
823
875
869
872
960
924
913
932
931
1000
836
867
902
914
846
995
995
832
988
924
915
921
846
817
905
977
822
971
955
924
986
852
918
810
883
830
955
944
844
822
933
871
912
904
803
900
827
924
973
852
836
824
914
962
942
891
864
849
916
945
936
955
986
997
986
932
849
947
829
947
877
807
910
988
857
989
921
962
856
893
807
998
979
859
843
959
812
993
857
882
864
859
842
903
942
800
941
808
825
947
855
898
810
911
960
813
904
810
909
913
868
849
941
980
915
941
803
997
964
895
937
845
994
864
890
952
949
810
887
905
804
894
990
950
853
885
844
903
823
911
879
851
891
934
957
891
805
903
959
916
820
983
878
860
835
987
920
893
925
985
1000
949
942
948
854
869
966
817
905
901
958
983
957
820
965
832
824
905
878
857
952
857
855
900
802
957
801
888
887
997
914
952
889
894
830
803
923
923
897
962
817
910
859
824
849
810
812
986
896
830
980
953
878
818
937
853
919
837
883
913
827
926
937
998
888
993
954
903
851
942
1000
924
917
965
899
903
866
966
946
885
922
986
819
966
921
805
814
866
892
879
978
885
927
820
898
958
862
907
816
935
972
837
930
934
860
954
825
979
958
881
865
983
824
982
911
841
964
899
904
991
908
829
891
849
940
983
842
973
885
938
959
897
927
950
983
970
814
912
952
881
850
904
943
886
836
916
902
910
849
963
864
930
830
800
965
811
894
981
819
953
956
883
954
850
864
999
819
963
879
912
892
904
998
830
963
914
939
840
908
811
968
867
931
908
904
856
920
819
851
859
801
812
820
920
832
890
973
912
809
809
830
808
973
800
933
998
828
997
981
882
926
890
853
860
938
950
995
995
998
801
904
862
845
957
879
920
846
852
936
914
833
910
904
959
940
897
991
877
886
975
884
932
905
948
942
994
843
869
975
973
946
886
973
813
926
986
914
977
953
992
919
932
997
922
953
971
900
998
869
969
868
950
989
898
800
971
947
803
844
957
898
933
809
932
852
959
949
810
888
973
843
840
925
971
845
881
889
892
956
822
872
878
895
932
877
817
985
813
803
951
999
977
874
913
870
941
942
966
892
980
822
915
838
942
889
955
953
840
995
976
965
880
986
967
847
990
993
841
832
958
915
849
931
821
874
860
838
883
985
845
928
865
943
851
978
820
830
880
906
831
832
874
804
820
885
923
852
800
887
819
826
868
825
972
804
815
942
989
892
904
841
812
919
919
1000
856
835
963
858
843
907
988
911
929
909
877
980
851
891
890
860
809
976
888
849
837
968
835
983
928
962
884
870
932
844
829
971
900
816
994
924
977
980
889
857
926
957
884
985
1000
810
988
831
1000
809
825
923
869
867
868
911
865
884
893
990
954
956
899
920
935
885
814
877
809
997
827
840
950
880
991
932
835
813
815
897
933
991
876
857
948
942
850
873
942
978
998
948
971
812
830
899
869
928
936
830
937
844
935
804
952
881
943
858
919
857
840
879
811
937
842
970
820
983
934
980
831
997
998
831
882
836
976
860
956
842
969
959
863
977
881
803
968
870
814
932
935
971
913
805
802
925
881
869
812
965
834
914
977
960
933
873
972
862
892
846
864
862
809
974
907
947
896
838
905
950
911
806
849
984
915
927
809
906
859
862
854
854
914
895
851
805
815
801
987
943
972
903
974
860
842
826
974
979
999
861
924
932
914
966
842
829
953
818
863
843
979
818
990
837
887
827
844
971
969
889
943
908
817
871
849
887
824
930
846
875
807
814
935
850
801
938
815
801
901
975
867
812
959
955
916
968
863
896
809
942
959
844
819
830
948
991
881
984
946
922
991
897
852
996
897
900
866
812
858
893
892
878
965
933
848
930
851
989
868
1000
985
939
979
851
984
933
893
894
968
991
920
991
928
898
877
908
933
823
897
922
810
832
863
973
862
851
984
956
981
827
897
828
885
865
867
900
815
818
879
854
905
964
894
936
928
873
834
838
886
927
919
864
975
952
892
897
926
812
978
972
985
862
892
837
809
994
987
970
993
933
997
876
921
901
903
900
808
909
872
862
850
845
839
961
921
907
995
932
826
883
866
884
940
909
864
809
927
915
884
950
839
947
953
994
920
874
926
987
915
903
820
980
949
931
804
994
894
980
906
962
816
858
971
969
806
981
878
803
918
973
865
964
888
828
872
957
966
861
801
890
953
985
911
988
973
841
921
922
814
926
879
938
801
821
877
891
942
971
936
914
899
965
946
927
837
932
920
877
825
848
939
972
852
902
898
921
820
958
872
945
834
809
869
916
893
991
827
982
940
858
871
850
913
979
914
972
993
979
921
961
913
920
933
990
981
811
870
834
908
845
807
928
933
834
873
887
961
819
877
940
852
830
949
874
983
994
882
938
995
950
915
903
830
925
937
980
838
934
803
854
922
900
879
884
918
907
967
993
856
875
975
990
946
835
918
824
894
913
937
888
929
873
896
814
807
883
879
990
913
866
958
921
840
983
900
966
913
955
942
877
947
880
940
806
971
950
920
883
893
819
934
996
924
875
888
868
853
858
942
862
951
852
972
848
852
939
945
911
960
967
996
921
964
880
826
801
931
974
809
832
852
857
993
895
829
871
865
872
897
981
981
924
895
865
892
978
993
911
928
955
851
892
914
819
813
822
931
882
812
891
866
865
962
990
980
918
944
979
897
860
887
885
862
921
895
800
953
947
977
886
821
835
976
916
906
887
857
909
987
911
859
962
834
967
882
879
949
874
804
862
839
862
986
894
988
862
973
975
997
803
851
927
848
926
948
939
894
906
991
864
951
997
856
974
941
815
876
895
869
836
940
848
961
846
871
815
831
956
917
835
886
982
940
998
870
960
999
833
892
806
806
880
930
979
822
932
847
848
952
945
954
814
828
987
903
835
933
846
976
910
883
882
860
929
959
877
850
921
850
804
844
990
800
965
896
900
998
853
832
893
834
883
932
820
822
913
982
943
879
926
952
873
821
998
837
893
831
999
855
837
857
829
855
920
809
930
991
919
837
948
949
823
844
996
821
895
932
970
972
988
928
855
826
834
958
881
803
905
814
996
886
841
971
847
923
931
894
978
823
909
868
808
874
926
964
948
990
959
810
930
976
880
921
816
804
866
909
907
903
824
874
865
900
927
924
935
872
886
958
925
957
852
837
941
823
936
851
833
823
876
966
916
944
983
815
898
816
885
942
820
864
837
883
989
804
975
851
825
835
805
950
876
883
965
972
993
966
889
898
917
881
854
815
839
861
942
902
885
975
893
975
816
974
812
911
872
952
824
964
863
881
800
966
836
989
870
891
976
997
948
935
829
851
847
967
869
987
847
845
991
820
841
970
909
839
1000
879
841
949
920
812
959
800
822
930
825
914
852
974
895
812
983
822
965
852
991
896
980
970
912
952
911
982
830
966
876
804
905
920
808
915
945
909
821
826
869
863
826
943
808
926
861
1000
934
953
878
883
850
945
879
913
875
870
823
979
918
857
996
893
845
849
939
867
834
889
1000
977
957
902
885
948
932
860
916
968
980
926
881
861
899
874
862
911
884
857
901
931
882
856
913
810
883
933
847
891
926
881
994
868
848
942
950
908
992
968
887
851
982
891
833
919
953
827
942
937
893
975
972
924
979
907
897
878
992
828
939
890
989
855
874
956
944
827
857
932
840
808
908
849
886
867
800
935
842
858
912
856
886
814
999
819
854
931
972
866
999
815
930
983
889
994
883
852
891
928
912
957
828
889
917
896
907
817
939
975
888
866
888
834
936
997
954
924
916
872
848
865
861
900
815
863
987
987
828
911
888
903
909
853
992
916
973
908
810
959
853
957
913
989
820
828
964
842
806
910
940
881
819
913
922
813
865
915
816
948
968
896
917
854
1000
957
933
826
895
862
882
833
984
841
962
862
996
917
896
827
862
883
998
837
913
943
840
926
917
996
947
854
888
966
928
922
803
994
901
848
874
913
948
904
916
894
896
884
806
962
978
804
816
814
869
869
808
896
956
963
844
812
833
957
866
937
885
806
912
898
894
898
963
926
825
909
966
807
965
845
960
818
869
964
954
858
969
859
954
916
890
832
880
975
993
870
835
869
875
997
940
975
918
843
818
954
927
904
989
962
834
859
1000
966
914
850
913
892
916
896
907
892
859
806
806
941
967
976
921
933
980
870
814
832
819
803
997
939
850
857
968
838
802
821
925
995
978
830
952
839
866
919
869
836
937
963
907
886
865
802
843
936
902
995
964
884
921
880
836
846
866
875
971
976
869
953
972
959
861
811
925
811
879
841
994
918
981
878
930
915
848
988
936
842
864
852
899
815
936
913
995
925
887
940
993
974
886
933
983
987
944
908
811
888
905
939
840
976
805
840
813
951
936
946
977
800
803
828
884
856
875
814
884
907
997
877
910
938
830
814
897
859
989
814
803
965
860
803
954
939
814
849
828
913
848
870
888
855
894
954
809
831
951
838
991
828
803
877
922
934
834
976
979
893
834
977
899
941
964
863
939
826
933
846
876
876
940
908
851
981
814
922
952
964
802
969
911
840
948
806
808
970
904
959
910
843
848
859
801
964
917
920
901
1000
804
883
859
911
906
903
990
838
892
813
979
957
934
853
867
837
999
868
972
995
891
837
882
860
814
925
928
978
843
949
950
955
880
859
954
913
824
863
959
907
993
980
905
825
917
893
882
883
990
951
893
819
899
981
987
814
885
902
872
875
923
879
905
959
975
809
802
967
934
954
870
995
987
908
877
806
803
887
941
954
954
829
875
915
950
990
870
877
813
965
918
947
984
967
811
925
866
804
815
984
895
909
955
810
812
820
825
824
915
831
913
969
843
853
899
972
982
880
882
876
956
957
876
990
941
862
828
941
812
853
940
987
829
919
820
833
814
921
878
979
826
970
855
846
898
890
816
837
950
896
927
893
952
967
804
909
892
820
905
977
960
818
933
865
894
942
952
827
824
874
856
942
987
905
977
897
852
947
810
825
973
855
881
888
970
909
856
988
909
841
938
952
870
931
858
831
897
981
996
806
828
971
978
872
985
850
989
994
986
857
935
842
924
837
996
984
888
950
819
889
938
973
969
824
836
975
934
888
978
845
940
861
820
991
983
948
989
855
911
871
967
993
925
986
911
851
918
859
884
889
921
929
991
983
962
801
923
910
856
803
942
873
934
856
882
845
935
807
801
965
970
807
986
885
837
970
968
840
803
950
866
989
831
890
953
890
970
962
892
976
870
1000
860
886
952
914
818
813
926
911
821
802
846
893
986
834
815
863
869
876
896
924
962
909
986
996
880
925
877
897
999
927
869
838
865
912
988
967
859
811
971
916
930
936
916
964
932
964
977
854
866
827
894
955
838
934
847
876
955
843
990
881
981
850
944
985
969
930
904
825
859
861
849
814
829
867
944
981
873
919
821
988
992
980
885
919
897
864
991
853
885
965
994
889
961
970
905
907
927
891
861
993
830
829
933
892
905
861
970
885
945
865
834
917
885
973
873
945
938
992
879
809
871
876
817
907
1000
921
805
856
916
961
995
824
809
928
874
992
953
944
996
881
821
922
936
938
892
941
967
930
900
894
864
975
803
850
910
988
858
976
841
885
871
933
874
891
864
878
866
954
807
886
963
954
850
804
982
978
925
923
915
919
975
966
871
804
834
932
867
891
953
828
801
846
978
920
915
944
933
838
815
813
956
957
988
814
888
943
817
827
858
920
902
843
944
808
912
921
928
944
982
886
887
835
938
982
968
860
821
816
903
946
1000
917
892
822
879
926
924
815
882
872
932
881
887
819
989
968
837
896
836
948
841
921
811
869
995
828
938
856
974
848
923
922
971
800
805
856
973
967
996
857
860
810
932
826
858
816
976
874
961
894
904
842
896
906
866
967
905
933
956
875
956
830
852
937
800
887
871
842
840
959
997
882
979
835
834
804
929
928
815
982
921
813
845
954
974
934
1000
801
843
829
946
885
880
826
948
897
878
942
914
996
965
951
884
934
872
842
984
892
848
809
939
813
970
888
955
814
968
939
872
895
947
859
962
800
935
972
830
984
935
905
925
925
948
903
963
842
873
900
976
812
852
979
813
948
902
927
886
893
921
805
985
905
943
823
985
913
849
940
803
866
834
924
954
808
981
882
883
867
977
857
819
963
833
876
859
819
800
872
967
900
936
967
991
948
851
825
868
836
920
842
833
924
838
964
958
970
942
859
910
944
983
852
820
852
996
935
861
905
981
946
881
951
925
843
986
857
830
930
900
927
956
943
991
828
826
824
820
856
912
863
850
916
913
910
832
900
934
820
990
827
950
914
939
963
888
986
826
965
856
878
909
928
844
955
908
946
907
880
929
976
919
942
962
869
852
850
873
892
946
972
853
996
814
886
807
943
986
992
885
825
848
920
899
939
916
805
838
897
824
872
820
933
843
978
864
858
813
975
878
949
913
866
872
856
850
935
940
970
882
993
826
816
971
987
815
948
848
985
841
836
899
884
840
874
811
908
979
823
932
913
902
857
923
830
975
938
873
801
960
970
892
953
919
868
931
945
800
902
916
955
907
936
935
963
865
985
944
804
930
861
879
960
859
858
960
885
915
955
875
818
939
875
991
840
922
936
960
942
927
885
969
949
865
998
891
870
839
935
939
903
920
980
911
810
878
946
876
927
924
903
853
971
836
987
825
818
911
944
837
871
860
932
866
830
938
857
825
840
879
893
868
942
857
857
879
887
822
977
843
843
970
965
811
926
984
865
954
998
920
917
995
935
919
953
892
887
864
827
908
808
832
825
805
810
924
991
877
823
936
844
937
976
957
860
853
851
975
978
866
966
831
892
965
979
997
842
862
895
827
929
849
945
917
817
815
839
838
989
906
928
864
853
881
854
934
948
895
942
854
869
996
877
873
918
862
975
940
904
874
958
853
957
855
970
858
937
926
869
950
863
821
864
883
866
999
881
840
934
970
898
861
898
813
866
818
874
857
920
887
848
803
816
959
996
941
813
903
906
810
998
946
961
847
807
860
800
860
947
862
871
855
860
922
834
952
973
998
936
935
940
911
866
873
896
919
855
874
965
985
975
955
856
825
843
973
913
979
894
940
983
971
820
943
838
946
881
823
950
903
967
991
899
874
823
938
955
943
816
925
905
819
907
986
826
842
858
918
918
941
873
928
899
883
956
926
802
923
807
963
863
812
937
914
828
989
878
937
936
813
844
951
943
901
857
830
873
815
963
980
855
878
888
880
817
947
972
829
966
923
850
858
942
805
984
963
852
935
925
855
915
830
858
880
877
971
861
988
972
951
877
901
894
997
906
897
978
892
843
965
884
845
934
923
970
941
850
970
828
990
952
961
945
927
876
889
957
891
928
832
855
946
852
815
897
831
810
980
847
920
936
974
992
874
901
992
959
888
849
945
949
811
984
949
963
930
907
973
882
848
937
985
900
938
914
813
805
830
869
859
999
845
917
840
903
927
818
853
838
916
877
955
894
980
885
856
821
804
875
802
886
902
834
952
935
847
866
941
835
851
905
814
993
989
965
801
809
969
840
830
861
827
837
803
954
802
998
991
852
887
838
897
972
816
942
945
891
811
824
917
957
884
930
908
987
817
939
824
884
964
897
872
826
913
965
882
844
920
993
927
899
893
990
960
874
989
812
968
870
857
862
831
935
841
944
909
835
925
984
973
828
939
891
805
926
942
971
828
1000
926
999
867
918
882
901
837
821
958
944
874
905
977
883
858
950
921
832
885
868
929
954
954
990
990
970
945
852
828
931
953
859
986
953
817
821
934
806
898
982
812
941
950
991
980
855
812
980
937
939
933
975
944
870
846
909
851
907
915
879
834
940
971
922
880
823
980
873
885
967
979
904
829
846
966
953
858
923
858
915
874
984
926
953
928
846
803
892
855
853
879
909
836
967
806
904
985
907
862
827
932
983
949
845
858
801
857
946
870
979
866
830
958
808
804
911
901
899
855
968
854
803
882
990
998
975
900
911
829
1000
903
979
931
987
945
941
886
939
914
830
988
918
822
997
902
962
928
947
840
921
967
959
831
935
998
893
844
890
886
909
899
833
959
944
979
881
975
808
956
955
912
928
970
851
939
943
821
814
819
923
945
949
903
996
830
1000
833
825
837
935
824
970
1000
848
962
967
840
912
987
853
858
903
890
918
893
944
962
958
867
972
977
917
828
885
803
997
968
951
960
940
870
966
958
958
884
873
893
846
942
928
966
800
876
981
829
846
960
869
824
951
978
956
825
973
883
818
809
983
865
818
827
877
945
813
965
940
981
943
866
886
926
883
839
883
854
879
978
939
862
942
970
892
812
984
885
925
914
850
901
864
867
917
911
824
829
840
844
844
931
974
935
979
816
975
959
948
826
927
813
820
977
803
845
814
841
877
826
969
809
962
832
862
876
805
805
836
896
948
946
987
944
982
808
1000
944
972
943
976
861
899
824
986
862
951
976
951
816
962
947
816
965
846
891
896
872
927
881
979
883
838
926
993
941
997
942
840
885
827
953
876
917
821
811
834
840
509
626
653
642
583
536
651
678
590
512
554
556
601
541
552
697
657
597
680
529
529
503
511
641
570
524
570
583
659
551
524
596
594
534
696
574
546
581
588
593
590
580
613
515
699
563
652
564
654
583
515
683
629
531
599
639
556
542
540
652
636
553
690
595
622
630
688
612
689
607
513
617
504
621
621
560
511
586
684
631
614
644
688
611
536
602
646
618
572
672
657
594
559
531
536
649
602
693
630
553
593
517
648
591
538
561
515
627
576
510
635
527
516
646
601
532
644
658
561
507
678
522
556
699
692
505
642
670
511
659
639
600
600
515
558
553
503
567
641
651
583
638
546
532
588
655
680
628
644
648
501
581
634
684
577
506
646
630
658
535
514
587
547
526
504
515
630
569
517
550
531
651
594
568
655
625
680
668
609
602
617
657
631
649
643
606
593
640
677
666
500
580
617
525
606
668
535
616
521
662
687
509
608
575
509
672
625
510
502
504
556
528
520
647
581
649
641
632
576
592
581
689
685
677
534
673
570
653
561
547
633
596
564
642
618
623
659
674
599
635
635
607
634
605
659
581
685
615
518
614
616
613
683
621
589
625
544
585
546
559
628
655
661
512
600
639
582
570
688
563
589
526
581
555
631
695
551
570
555
696
560
580
659
660
629
562
586
621
658
632
672
575
671
626
512
508
659
653
589
580
667
518
535
574
606
576
695
580
534
542
644
596
650
574
602
638
517
677
535
581
673
599
696
523
554
503
558
629
632
598
546
607
546
596
511
582
518
679
627
695
612
585
693
624
690
502
668
614
535
529
650
604
645
631
654
689
645
625
543
546
570
670
627
688
585
595
690
668
528
682
533
626
638
521
662
562
607
556
625
660
636
542
527
535
639
628
542
616
609
614
588
503
510
555
524
639
675
634
551
624
558
518
584
541
501
693
506
591
655
691
587
677
514
641
544
516
502
631
578
562
589
500
643
500
666
656
654
571
538
696
673
584
527
579
579
688
689
589
526
586
654
523
514
697
634
519
627
537
618
616
669
559
558
629
641
532
520
650
560
674
674
650
690
553
586
634
577
515
648
530
511
617
583
643
543
514
697
651
632
628
677
565
561
685
604
698
601
581
683
574
569
564
668
574
640
631
524
694
522
568
685
691
619
621
664
593
513
551
606
509
597
652
580
557
554
656
592
501
673
606
635
642
507
651
665
521
542
658
633
648
544
506
511
537
590
683
684
555
527
538
543
698
610
534
665
581
637
561
501
593
536
687
660
624
649
570
544
674
547
506
590
596
600
592
521
594
647
685
617
616
508
642
514
627
694
695
502
515
542
629
598
692
550
665
699
679
589
681
561
692
677
592
643
603
636
657
668
533
681
509
591
529
531
606
523
554
555
612
530
538
527
681
679
573
649
693
639
535
552
634
696
613
629
526
521
647
601
636
572
694
676
670
591
663
517
584
617
579
663
656
596
700
517
667
545
555
627
571
637
676
562
549
504
583
536
591
649
591
619
527
635
609
566
539
517
540
539
643
549
587
578
632
689
675
577
594
659
608
596
655
518
629
502
524
700
692
528
606
527
502
572
574
677
686
532
556
628
519
642
647
619
510
664
656
541
672
546
680
626
614
562
538
515
504
596
586
511
686
644
621
622
537
542
619
528
576
534
634
679
517
634
575
579
531
501
692
502
534
651
551
547
650
528
616
679
641
515
537
588
649
505
648
625
530
500
631
654
602
521
690
658
559
630
512
572
604
538
655
696
542
681
620
619
625
570
522
624
647
516
591
631
698
647
665
567
598
623
559
621
584
597
683
617
641
573
522
628
571
637
504
688
604
542
655
689
635
636
587
564
504
502
700
561
644
642
612
502
591
644
601
561
555
647
520
686
658
606
652
699
597
656
524
599
601
624
620
508
621
670
683
613
562
510
575
572
633
592
610
697
521
637
654
516
647
672
522
599
545
619
556
545
593
535
608
530
619
644
575
700
552
508
680
581
698
630
697
567
641
668
674
639
529
635
578
681
547
699
557
693
589
503
666
570
664
613
584
509
542
556
633
565
658
503
696
546
563
542
567
684
544
503
544
505
675
677
696
533
635
627
577
521
692
531
568
649
595
644
681
526
523
587
526
506
628
509
606
656
605
593
654
544
611
599
564
695
628
543
697
659
540
560
685
644
670
676
633
504
607
500
699
583
617
631
543
543
576
613
590
566
610
685
677
553
502
626
676
515
526
570
538
560
675
586
598
628
546
528
602
632
557
628
515
622
598
683
558
695
563
611
596
656
586
602
635
670
648
537
512
654
629
651
591
663
592
669
690
620
526
500
572
670
506
579
592
580
586
571
640
643
528
536
538
525
611
610
525
669
590
530
658
680
646
662
687
510
517
503
529
641
575
508
597
519
629
555
619
569
552
634
555
528
643
638
666
526
564
682
604
583
691
677
554
690
509
686
610
647
554
586
551
647
619
563
572
556
692
521
667
578
592
540
546
573
612
604
612
623
588
697
587
688
664
533
576
645
567
503
641
700
614
689
675
555
552
629
698
697
627
638
614
552
673
608
603
575
604
585
510
531
621
577
645
659
615
635
651
635
626
579
697
535
675
647
595
601
676
543
625
654
620
660
643
548
544
618
667
693
623
564
502
655
559
592
591
525
618
623
651
639
660
517
663
680
655
659
583
695
527
654
672
547
595
649
655
613
688
620
667
593
515
633
551
621
554
586
550
699
533
688
675
568
670
620
535
509
624
650
606
518
599
516
580
552
665
558
504
641
511
641
648
648
615
554
501
637
675
697
538
698
572
559
552
654
514
558
546
644
575
689
698
525
505
512
641
503
576
684
507
550
697
630
578
535
672
587
547
594
505
687
612
639
556
614
549
663
634
638
502
621
630
677
510
621
675
620
506
592
673
583
560
542
532
558
696
589
674
596
542
678
622
506
531
637
513
572
676
508
696
697
655
577
516
635
562
697
696
515
526
559
601
503
642
526
657
603
539
665
699
524
521
538
639
590
692
612
623
513
611
697
541
634
636
651
520
566
613
502
545
524
566
537
581
546
518
683
635
642
512
688
556
700
660
516
593
564
516
557
652
635
629
608
648
667
672
590
508
616
593
523
613
696
504
592
581
523
637
687
537
628
588
630
670
654
598
675
643
651
532
524
535
577
580
623
540
534
616
696
534
655
552
681
654
631
556
656
695
608
520
518
669
572
691
617
689
579
505
583
661
629
635
547
645
692
537
678
523
517
561
552
605
659
516
650
599
694
579
609
524
676
599
643
581
558
674
655
641
640
553
517
637
540
550
603
661
626
540
562
509
653
610
557
541
671
514
503
537
564
556
563
627
590
592
615
551
672
520
500
677
630
582
556
622
556
640
559
676
652
605
655
617
681
540
687
538
601
510
614
554
575
559
538
554
630
535
665
532
602
596
643
589
583
576
693
593
583
583
646
648
559
634
593
570
565
521
600
577
658
661
532
696
645
542
531
658
554
601
601
526
662
664
573
534
524
584
695
699
637
625
675
548
595
591
588
562
608
620
589
585
669
669
530
533
544
608
648
646
624
556
544
578
535
610
535
523
526
694
526
675
502
542
584
547
667
623
516
572
695
614
616
693
590
571
521
612
608
564
556
647
643
682
683
636
680
535
696
667
611
604
577
503
557
568
524
547
641
551
612
547
562
649
595
543
600
670
634
646
579
646
568
676
665
669
508
646
573
591
698
595
506
607
590
529
638
594
519
608
654
506
631
534
667
591
607
604
671
544
572
592
548
530
537
663
527
572
569
550
503
548
643
622
586
554
505
521
613
682
675
608
574
535
672
534
669
680
519
570
694
561
531
681
678
671
632
630
535
501
655
674
554
556
599
589
632
595
506
549
660
591
556
567
625
552
614
649
567
634
677
523
674
663
543
516
670
513
678
678
530
611
558
565
542
675
595
653
567
695
518
648
588
531
671
542
546
555
664
550
694
691
655
539
518
606
577
588
665
692
674
678
613
630
700
528
537
510
624
506
667
572
675
596
514
519
611
527
636
596
620
598
619
662
685
589
563
624
576
601
597
606
534
669
645
697
645
508
644
667
501
539
638
526
572
541
649
663
503
642
673
609
543
678
666
671
583
602
578
694
647
567
513
621
542
658
656
521
630
556
612
547
528
678
678
668
603
582
666
508
525
519
557
645
545
585
672
549
564
560
667
527
632
571
507
656
541
634
580
665
576
614
557
686
699
527
601
601
525
593
598
597
524
629
555
518
538
577
526
623
649
565
546
662
637
682
524
635
628
625
649
638
674
573
667
561
672
629
696
509
656
669
559
604
648
650
543
500
649
527
698
504
606
528
614
681
592
503
617
693
540
525
561
671
636
550
509
503
641
578
597
636
650
550
542
627
584
581
562
685
535
600
634
673
647
534
558
629
666
620
628
585
596
612
662
652
638
538
630
577
656
660
587
574
561
577
545
654
669
550
573
691
636
562
608
612
545
586
589
512
667
622
530
692
524
687
545
588
626
621
500
607
599
631
677
547
638
663
572
640
632
559
671
597
610
631
683
591
518
612
522
641
594
633
685
692
595
551
620
579
700
624
610
688
573
539
541
603
636
558
515
606
532
535
549
512
658
609
674
541
672
663
590
651
676
614
608
524
646
660
698
520
673
518
502
522
571
626
602
593
685
531
504
545
671
607
572
566
591
537
632
686
614
617
588
681
507
574
560
526
611
559
690
569
510
661
609
659
528
513
563
521
563
681
698
514
695
689
606
544
625
605
668
511
541
523
560
666
680
503
541
543
585
550
633
577
638
545
577
545
598
591
691
628
527
526
684
514
532
651
642
653
525
524
654
544
621
609
574
541
605
660
607
678
699
688
673
557
675
684
593
541
607
619
541
582
698
674
674
667
609
540
540
512
525
547
614
621
664
520
521
569
683
638
693
615
629
556
668
552
698
651
654
690
597
592
691
574
649
563
606
633
560
529
565
632
652
664
689
652
643
679
568
561
611
584
559
618
567
581
513
687
523
503
678
500
674
617
613
610
566
589
645
617
511
527
590
574
513
641
546
594
641
671
678
584
645
642
646
521
572
562
633
679
676
571
670
544
562
595
653
602
641
650
691
672
660
617
537
594
652
681
560
610
553
603
632
514
691
552
642
681
632
650
575
583
564
523
523
604
616
584
503
517
594
675
576
583
678
550
593
615
658
628
537
634
670
589
678
667
655
576
520
575
516
589
602
539
552
543
525
544
670
693
676
671
685
581
531
611
607
673
562
631
545
699
510
676
606
607
620
677
629
526
590
664
677
658
518
551
688
691
547
526
614
520
573
677
640
504
688
656
537
655
690
553
648
505
534
689
516
683
691
555
569
517
651
696
594
668
636
534
672
570
645
654
699
584
609
539
637
612
693
684
619
550
524
622
513
652
693
561
559
544
563
647
678
578
580
577
576
667
599
676
687
537
691
608
666
618
628
660
539
532
619
624
554
566
552
514
625
677
560
534
640
510
595
514
612
638
669
541
548
507
527
623
670
556
611
513
563
633
671
530
538
531
632
630
640
509
619
530
675
511
627
694
559
535
563
574
659
662
530
619
591
551
628
538
540
652
660
592
627
639
541
689
663
545
502
507
517
691
672
660
609
600
525
620
588
503
629
607
683
517
665
617
628
601
673
671
617
554
549
650
610
626
622
616
524
507
629
560
589
657
694
577
528
619
520
639
645
569
649
565
685
643
653
603
611
517
641
652
656
551
617
604
614
560
638
695
642
539
650
604
540
532
554
582
655
612
603
515
502
601
605
618
588
695
593
585
644
616
642
608
663
521
588
540
677
693
616
557
554
684
574
589
671
687
504
607
508
685
648
592
502
672
594
684
537
592
627
507
520
690
583
697
631
625
643
561
614
679
697
696
551
501
597
502
585
615
587
667
505
502
668
585
536
648
632
699
573
548
553
589
639
569
577
604
555
689
617
506
511
603
543
561
602
554
580
572
595
589
687
585
501
501
693
671
543
631
605
679
563
695
582
527
527
610
603
627
669
582
558
582
620
631
604
631
551
660
672
552
633
674
506
558
670
659
641
570
581
597
506
665
673
537
528
594
666
657
590
504
561
548
570
700
657
555
557
552
609
634
642
561
564
619
629
694
521
617
509
632
542
535
559
665
680
516
643
546
597
647
515
591
512
570
558
519
511
621
681
565
555
642
508
548
529
655
693
593
657
622
511
672
515
587
616
568
628
593
636
635
689
637
626
578
562
545
616
667
545
697
645
600
598
503
522
519
670
678
521
549
509
618
637
593
682
582
565
622
538
686
586
518
550
517
667
505
643
696
508
544
511
618
619
597
693
546
544
531
538
577
662
648
624
601
603
569
654
625
647
670
551
538
543
582
632
596
542
677
501
536
607
567
559
692
673
613
504
513
540
653
599
660
512
577
580
583
681
668
513
687
532
553
665
589
612
663
684
526
525
502
632
622
505
500
603
658
575
586
547
628
558
645
505
613
681
593
689
507
515
526
620
681
564
531
623
613
541
618
503
655
502
511
647
561
652
559
546
665
640
598
610
648
527
550
615
562
571
549
694
539
611
669
687
511
602
605
694
676
528
618
540
659
622
681
662
562
700
621
651
612
631
690
504
643
638
560
690
623
594
618
697
644
675
680
572
546
696
518
637
557
639
670
680
655
521
585
567
578
636
544
611
595
596
675
554
502
695
536
683
697
522
539
532
591
664
616
683
509
643
655
629
580
592
564
697
696
661
572
663
650
575
501
692
671
570
611
507
663
550
560
551
606
506
608
666
659
594
576
548
608
639
667
613
666
657
615
690
645
635
645
677
602
519
523
502
630
615
610
642
677
512
588
621
528
638
634
595
501
610
611
609
672
608
503
662
545
619
607
567
633
642
525
655
565
502
645
641
584
561
665
683
642
681
685
559
668
632
644
627
668
500
633
671
529
671
562
520
597
601
594
632
640
677
535
678
620
535
674
628
661
644
660
625
677
654
613
512
520
593
507
650
542
691
576
670
547
603
540
500
579
558
564
613
619
690
594
653
619
593
558
553
517
652
549
567
555
626
696
502
642
659
655
587
680
522
551
614
551
621
573
516
552
531
635
639
584
665
633
631
661
556
576
520
658
552
624
542
534
545
693
675
639
632
616
548
558
609
650
631
617
568
659
566
649
568
580
520
700
657
692
693
610
528
520
649
672
687
636
564
595
562
645
621
580
574
698
604
690
536
598
535
693
567
666
699
613
504
590
661
530
510
671
576
672
624
614
675
521
548
569
522
578
540
684
645
672
502
644
612
687
583
602
511
534
578
694
694
657
667
544
637
686
628
662
507
639
633
610
507
561
622
567
695
577
511
510
600
654
645
527
519
687
535
651
614
529
528
557
661
685
575
689
505
635
626
643
677
571
589
582
540
543
509
656
649
580
592
536
629
515
645
671
666
544
672
656
631
581
641
669
506
672
535
617
522
515
640
502
626
532
632
543
615
560
616
570
521
669
535
697
668
519
575
653
508
567
699
549
613
526
684
653
573
621
611
549
549
608
608
616
568
656
514
505
583
680
674
682
534
660
653
521
657
513
501
546
650
578
699
623
621
577
673
604
693
621
644
580
564
600
568
564
579
684
505
525
531
657
625
680
584
567
575
539
564
689
611
588
641
619
682
618
690
632
695
630
565
587
514
508
607
631
623
599
620
567
541
576
500
591
643
693
670
646
572
675
612
520
581
579
681
678
600
607
700
664
579
688
599
697
581
644
596
564
572
550
671
654
613
569
566
669
613
678
545
604
619
533
572
622
669
574
600
661
666
589
580
688
647
597
680
556
520
602
559
688
662
631
613
627
515
646
562
690
600
645
666
657
518
644
509
517
540
640
583
642
581
511
557
539
600
511
592
675
598
662
645
559
603
583
610
587
573
668
519
630
577
694
548
594
522
514
551
681
570
512
676
647
521
505
691
649
546
504
633
605
690
521
500
556
504
627
532
534
579
534
700
550
588
592
679
691
658
612
546
696
629
522
684
672
584
513
655
563
613
516
519
549
621
515
573
587
576
689
502
640
615
688
533
678
527
615
690
571
597
606
551
583
693
612
555
537
582
516
653
520
638
523
537
679
626
626
642
508
598
694
612
622
527
554
566
589
649
625
681
681
593
574
662
549
643
674
609
670
517
604
635
522
610
504
592
673
616
610
599
687
654
684
515
663
689
519
553
564
591
612
655
560
503
533
669
591
631
691
637
676
533
500
591
604
679
538
540
515
506
517
635
532
543
698
603
625
568
690
660
595
582
577
553
611
625
527
658
687
642
630
510
543
654
683
700
557
621
654
582
615
676
528
565
575
542
632
691
509
531
592
662
617
517
525
660
581
520
592
583
538
518
601
557
631
560
597
604
601
524
699
577
583
565
578
602
506
502
605
546
518
553
698
604
685
507
698
690
540
662
624
587
596
533
518
640
687
534
623
541
601
517
663
677
682
563
551
631
616
648
562
679
650
558
599
561
680
502
568
564
610
660
533
542
589
671
663
566
505
661
542
553
590
684
632
677
632
695
520
577
546
659
577
565
659
620
558
695
560
695
628
561
699
657
691
594
682
611
672
538
664
535
594
645
636
611
637
541
594
622
541
572
639
552
646
588
644
653
544
579
595
577
534
695
542
560
615
619
697
677
605
636
699
525
585
625
659
629
527
641
605
515
604
565
654
649
531
666
546
543
556
508
535
656
547
691
638
694
504
634
555
515
554
646
657
603
597
598
554
679
654
661
586
691
635
591
524
542
692
588
683
633
635
683
618
550
628
673
640
680
607
576
583
666
676
515
540
567
694
691
550
674
570
581
564
599
556
614
688
598
567
547
688
599
655
571
671
599
680
650
649
545
585
635
694
546
604
664
678
645
667
567
587
543
686
572
507
594
599
648
553
558
698
627
590
670
503
605
532
669
597
566
667
559
668
596
676
681
560
607
681
527
644
692
671
560
650
564
629
655
515
590
540
525
598
530
641
648
647
646
629
695
509
504
688
590
650
542
561
698
576
691
640
638
579
578
647
616
680
628
697
530
654
691
514
602
568
571
587
570
582
635
527
695
534
698
656
697
526
571
506
564
516
698
596
585
558
681
661
612
622
531
574
588
677
578
680
558
503
650
699
670
514
623
578
605
567
688
617
641
677
509
540
648
517
503
699
646
531
624
626
557
657
661
659
637
549
665
530
658
697
647
521
525
641
669
696
689
541
612
678
582
531
605
681
558
621
609
504
585
563
677
632
541
536
515
647
507
660
682
606
559
537
548
604
621
594
633
674
673
669
519
612
589
587
559
524
669
532
572
597
652
519
517
565
645
519
566
660
502
515
618
645
527
604
543
700
524
643
526
638
654
550
517
628
644
611
534
647
515
670
512
653
570
556
582
512
635
631
686
587
555
528
650
612
617
601
697
520
649
665
514
641
580
673
653
676
656
585
658
579
537
630
673
578
549
699
569
530
503
627
546
637
657
565
580
562
572
644
541
545
568
660
523
580
603
666
574
521
616
544
551
691
525
606
595
648
689
584
514
501
532
631
690
567
696
587
504
671
696
531
664
612
519
594
649
575
510
651
575
512
665
610
699
558
675
570
663
657
503
634
627
650
502
625
662
563
612
614
700
667
528
521
689
563
660
643
568
604
574
607
662
502
603
600
698
532
698
501
599
521
549
690
548
646
632
515
520
544
566
522
634
672
655
698
512
540
609
645
656
505
630
567
520
524
565
653
547
690
530
632
531
657
615
532
668
622
661
697
607
680
572
614
645
592
520
624
597
663
600
619
657
642
621
531
542
620
625
676
568
692
562
545
570
642
654
513
618
522
607
596
641
520
643
624
600
676
572
560
546
521
556
695
552
620
678
521
552
614
629
540
607
617
596
535
696
511
552
574
615
625
521
668
533
693
554
596
616
506
603
606
501
699
644
541
692
631
507
597
651
506
558
519
627
561
687
512
665
545
577
565
638
634
673
869
967
966
904
811
981
936
949
923
1000
880
924
969
947
921
857
801
998
956
968
935
857
917
883
972
922
900
816
907
849
974
984
800
976
867
979
822
910
849
953
878
872
979
802
907
931
920
809
838
933
951
992
985
953
942
822
929
929
872
951
834
967
933
864
928
916
826
941
899
905
846
995
931
876
953
908
991
910
921
928
867
986
887
859
879
974
825
862
954
984
910
950
991
885
958
936
976
943
813
936
817
996
965
991
828
847
901
963
910
908
890
869
882
908
895
956
991
888
844
931
827
858
982
967
984
813
877
812
910
857
925
824
865
823
881
877
832
960
898
976
997
991
912
931
884
921
885
881
980
804
885
957
855
870
869
828
962
823
918
966
955
827
891
980
900
924
907
921
920
929
821
888
828
874
976
828
959
862
964
978
887
970
955
819
848
877
812
954
871
806
896
924
898
803
927
976
835
826
822
890
908
920
988
883
870
845
991
949
902
936
830
870
972
858
992
823
812
932
937
848
935
825
869
972
895
876
917
953
831
955
816
808
952
944
967
856
831
995
866
876
973
922
956
827
873
904
886
907
857
895
821
817
904
867
953
980
857
813
996
862
933
984
998
862
925
859
860
995
870
853
875
804
822
868
823
877
964
823
947
984
854
960
885
957
860
846
835
980
853
956
960
838
804
849
868
891
916
804
906
867
802
907
834
915
911
862
963
809
883
889
885
966
925
827
971
908
948
958
825
821
930
980
828
900
858
973
979
890
960
848
899
828
914
956
966
834
954
833
848
921
866
885
987
821
876
806
952
954
964
876
989
827
848
923
884
830
986
927
827
888
934
913
935
974
929
1000
917
919
895
968
936
997
833
869
860
960
911
899
934
911
815
909
909
871
850
881
809
941
831
824
852
940
841
817
973
817
923
824
978
915
974
922
861
849
946
810
921
800
939
923
867
874
895
895
858
863
926
957
859
807
865
892
969
841
904
844
821
968
905
807
843
891
906
848
829
874
817
994
990
832
963
963
924
854
821
802
924
805
869
943
975
844
900
922
892
910
900
920
989
928
831
983
981
907
962
801
873
874
932
991
843
888
967
857
827
968
839
985
851
803
888
950
830
890
866
862
963
996
955
932
964
837
997
967
887
891
968
829
992
802
978
998
976
870
976
978
985
874
900
866
895
898
991
815
833
949
811
823
801
997
829
948
856
995
804
845
904
965
988
981
861
962
987
949
849
894
868
819
943
804
940
957
933
803
990
916
897
834
926
877
921
912
864
822
817
925
917
830
825
821
893
848
880
988
883
886
974
872
864
805
883
849
990
883
991
971
972
956
966
863
889
933
865
991
814
967
920
966
827
966
802
901
910
939
832
931
944
962
913
875
863
897
893
981
837
846
973
895
842
809
866
861
831
847
805
980
897
888
873
809
868
955
809
976
894
862
935
969
817
840
826
880
903
810
878
889
969
811
869
911
883
987
966
864
880
953
965
864
973
960
894
810
844
897
987
921
948
865
956
926
853
890
834
995
977
899
997
998
863
909
901
879
884
806
852
932
917
986
848
849
897
853
860
996
941
887
955
855
902
920
915
966
988
974
915
924
969
882
991
943
865
872
899
952
938
950
913
910
862
927
854
841
850
842
872
893
871
921
859
813
953
915
853
943
842
822
990
903
892
850
838
892
959
891
976
989
960
801
852
847
830
888
937
971
942
936
800
864
932
974
932
989
853
1000
942
935
934
965
820
983
954
809
846
815
974
995
927
805
974
888
893
869
859
965
803
864
940
973
937
903
864
979
928
858
807
976
903
870
888
987
805
824
816
905
920
844
841
854
921
808
914
857
977
902
908
985
910
902
869
897
933
987
967
879
885
925
883
902
819
946
916
994
995
901
839
880
823
997
983
819
924
923
906
983
840
904
879
819
845
884
953
993
992
851
855
977
863
895
866
840
961
942
951
964
836
807
864
868
962
930
996
915
915
908
949
880
896
902
912
947
963
924
853
805
948
805
841
914
997
876
986
862
898
816
946
942
803
973
881
926
913
807
973
877
980
857
888
948
889
875
800
925
846
856
913
819
851
881
895
944
982
904
831
953
885
907
974
876
805
890
893
985
871
851
921
951
850
842
988
901
848
852
830
912
875
869
953
917
935
971
928
882
877
989
839
822
969
908
897
805
920
888
906
852
947
952
864
920
819
891
837
949
884
903
988
955
980
951
855
904
892
889
965
907
988
848
826
963
881
905
838
828
814
927
865
935
926
920
943
810
853
807
913
863
858
894
942
970
938
814
968
809
988
992
832
933
912
959
885
815
905
885
818
824
938
938
875
957
984
837
894
816
828
926
922
827
813
992
852
989
966
879
988
904
973
803
891
880
875
833
834
934
859
807
994
915
907
878
908
948
967
858
938
847
916
812
954
989
923
920
839
857
853
887
960
889
934
855
826
829
972
977
976
910
978
992
914
918
800
988
852
879
913
954
987
861
841
889
860
836
894
871
939
839
880
926
919
964
956
987
887
811
896
921
956
933
896
824
984
993
907
909
896
923
854
808
966
954
992
917
844
837
903
882
917
873
842
932
885
852
961
1000
936
933
985
976
836
824
978
932
933
885
981
857
897
852
808
916
802
845
893
996
981
942
872
845
919
944
807
900
951
862
957
989
891
996
889
815
919
910
815
867
1000
908
1000
905
995
919
838
961
926
866
897
924
942
946
883
838
825
847
816
886
836
961
920
957
839
841
870
989
931
998
852
819
972
872
982
916
955
822
964
918
991
993
979
976
953
934
889
853
948
821
980
895
973
870
838
972
879
849
868
853
860
960
835
981
837
1000
948
998
909
801
838
983
910
932
941
890
908
816
945
832
878
977
962
927
956
986
931
952
940
849
891
832
853
819
900
839
945
944
802
994
821
927
974
957
859
956
936
970
917
955
858
900
880
836
809
860
881
919
983
941
934
847
932
960
864
933
919
881
922
995
856
955
907
803
885
928
834
834
946
849
953
878
944
860
882
976
931
824
949
805
956
869
984
963
807
936
917
934
839
967
808
877
961
846
870
937
984
904
1000
971
977
826
989
887
853
990
909
978
897
938
850
837
916
893
979
923
975
820
866
817
890
963
990
891
898
880
947
1000
833
838
819
882
852
947
886
902
959
888
973
984
859
908
820
920
984
931
857
831
957
946
820
894
923
954
954
905
925
992
927
964
808
805
987
933
992
920
969
998
860
829
951
904
990
963
877
893
851
872
923
929
868
859
867
876
818
809
989
929
816
930
865
890
873
825
842
966
969
831
844
883
950
929
816
888
928
895
871
881
827
884
984
841
832
836
963
938
932
979
810
990
821
954
928
874
1000
934
829
880
863
930
819
910
992
992
861
944
862
822
879
804
890
942
821
861
803
982
863
955
806
933
933
943
921
936
986
955
814
801
898
869
944
970
862
837
975
993
923
813
905
934
801
978
981
904
839
871
884
987
881
819
818
802
812
938
889
870
927
974
938
804
838
938
840
928
951
870
813
887
998
913
910
879
806
909
890
968
892
899
893
885
831
941
997
852
984
813
912
946
985
908
985
883
870
847
849
818
874
803
828
942
867
964
936
909
881
840
895
910
982
812
981
965
847
909
869
895
977
898
908
813
868
895
831
861
806
878
928
935
820
841
931
908
903
896
895
806
921
895
940
915
851
951
889
972
889
901
838
856
975
843
858
826
819
928
979
899
922
970
874
901
914
817
881
960
985
888
954
859
835
905
858
890
987
844
976
979
925
901
880
968
895
908
985
972
871
955
879
913
803
940
938
984
944
950
847
975
901
885
966
937
835
901
801
857
963
867
962
935
954
813
918
866
816
933
991
875
922
939
878
818
944
868
828
966
887
839
893
931
915
950
853
902
990
988
847
844
854
832
852
941
894
885
837
920
984
958
800
995
979
872
996
844
878
815
949
946
924
951
920
949
953
887
930
874
811
871
867
845
889
918
938
1000
923
977
952
964
952
981
858
946
801
860
989
830
861
907
970
985
800
848
929
890
817
812
918
881
971
877
832
833
917
883
811
890
980
884
822
903
957
967
877
802
972
998
899
830
828
998
838
927
932
952
842
812
822
937
950
865
877
925
818
992
968
976
912
827
965
822
836
935
831
937
846
840
964
870
929
953
812
906
878
831
954
801
894
875
846
941
874
970
987
935
902
996
975
811
890
882
805
999
870
889
997
870
894
855
836
803
908
816
830
831
814
815
962
1000
981
801
915
928
842
988
948
994
908
915
942
815
854
890
870
897
873
924
947
975
803
911
935
978
835
935
984
832
803
812
800
901
879
997
993
807
845
936
800
858
846
871
927
970
928
833
847
865
990
907
852
824
833
883
803
893
810
914
979
944
974
898
991
984
977
811
914
906
890
845
821
812
801
953
908
879
845
896
868
999
841
945
976
821
942
918
962
857
938
986
807
805
826
917
859
874
969
923
824
967
922
922
980
860
905
896
928
945
805
993
805
984
903
942
887
966
973
836
896
914
932
802
847
874
957
891
953
946
862
906
945
919
977
981
826
930
876
977
921
800
815
884
805
885
944
865
898
955
935
811
858
900
933
963
825
807
921
822
903
871
908
871
911
992
948
941
953
856
977
953
904
861
992
856
994
997
846
891
849
840
1000
989
836
942
978
800
952
870
881
927
979
906
882
894
837
989
919
899
934
979
942
982
869
886
849
984
831
983
911
847
860
962
940
872
826
977
983
864
860
865
892
918
995
919
943
965
943
920
966
872
879
817
987
883
826
898
903
862
929
988
975
942
945
840
836
861
826
819
981
944
881
846
973
861
944
802
940
920
912
986
974
852
935
961
817
927
802
921
952
878
808
975
818
947
918
952
827
804
835
954
819
897
905
888
865
990
847
889
956
905
817
916
925
991
832
985
930
917
849
874
828
939
842
844
891
902
886
904
875
949
925
812
915
827
841
956
823
834
827
938
942
912
973
873
901
839
833
836
918
897
885
829
878
941
871
881
815
834
977
896
824
858
912
838
865
849
866
970
899
965
892
882
984
950
897
843
904
833
942
893
959
961
918
887
960
962
954
975
826
848
941
984
929
825
803
879
820
814
960
975
801
951
945
997
868
844
814
959
894
966
941
939
963
973
946
898
922
875
856
972
869
873
855
870
920
803
846
971
863
975
984
956
953
874
808
973
830
911
913
847
993
904
956
866
949
851
930
870
897
939
905
898
996
839
846
966
892
990
951
847
841
901
802
901
824
972
977
917
945
917
989
915
863
965
844
894
938
864
854
812
875
971
994
874
868
909
958
910
883
967
859
940
818
994
997
920
815
972
918
909
903
960
947
808
840
816
806
863
817
822
959
862
1000
937
951
837
954
985
894
865
815
997
999
958
822
946
957
856
954
864
822
878
984
989
891
856
997
939
879
998
876
855
852
857
888
875
908
909
837
973
808
832
941
984
977
903
960
903
984
802
854
918
891
990
907
844
867
848
910
970
994
995
860
975
951
885
968
939
827
829
869
980
814
822
942
881
807
971
828
917
867
863
839
972
865
854
885
832
1000
981
866
802
922
820
847
815
951
930
903
922
935
875
924
851
896
866
978
915
981
876
803
802
812
867
970
829
911
993
904
926
979
903
806
872
883
800
896
973
820
891
821
852
915
800
860
857
935
917
905
909
864
880
862
843
800
878
987
884
838
824
903
996
988
923
814
995
991
957
860
917
884
861
943
874
899
908
933
862
990
849
833
820
904
829
887
882
999
912
866
936
913
965
983
869
988
861
954
938
960
888
829
846
968
865
850
837
877
896
998
842
893
897
846
982
944
999
856
883
854
887
932
939
921
846
816
975
937
822
936
854
955
902
931
972
888
807
917
834
952
939
986
945
853
937
876
998
954
849
963
815
832
898
883
902
819
837
938
852
822
959
944
939
847
935
967
898
956
843
825
841
956
832
808
980
818
814
982
856
878
841
821
957
992
913
830
813
933
899
826
958
872
803
884
903
964
931
906
925
975
995
836
907
976
932
886
968
990
814
982
986
837
811
803
826
810
991
840
813
950
986
873
984
828
892
845
820
895
902
909
943
949
846
917
949
930
853
856
965
968
926
893
830
949
893
910
936
936
888
854
948
1000
928
800
971
906
813
986
894
890
897
961
863
936
885
895
836
953
917
951
840
979
840
875
978
956
919
872
813
942
813
946
921
990
967
952
986
812
889
975
835
971
910
991
985
966
920
886
896
939
903
870
992
886
809
978
888
878
813
992
903
968
939
963
972
823
962
990
841
845
982
918
824
923
939
844
888
946
947
855
945
837
948
902
947
893
880
889
996
909
850
853
934
851
807
911
852
869
860
870
987
958
994
930
832
965
932
944
828
891
991
930
944
912
960
951
917
818
836
855
851
894
924
987
814
801
984
819
940
872
985
858
878
957
832
997
910
988
898
951
947
884
995
961
840
848
916
868
983
970
922
980
933
807
970
994
903
961
965
991
832
809
827
941
931
852
867
934
910
967
891
818
989
808
936
888
968
872
835
827
927
988
865
850
856
902
800
873
987
961
835
889
891
933
975
817
903
956
813
831
914
866
808
845
830
869
990
995
837
923
931
808
961
991
991
805
902
910
901
814
856
819
817
819
867
974
828
887
998
972
946
899
938
992
876
868
871
984
966
820
800
938
934
930
878
887
834
920
986
820
925
992
881
923
979
831
811
967
806
928
858
842
892
991
852
843
935
956
981
854
949
863
835
982
808
885
975
936
985
876
802
957
863
873
823
957
987
823
991
842
902
801
880
833
813
892
881
928
820
895
960
869
910
840
806
898
923
977
837
985
836
911
911
979
955
878
816
922
853
818
812
890
960
968
914
916
955
925
804
803
838
976
861
832
919
836
862
953
825
810
886
992
918
851
893
932
821
802
918
993
951
990
975
988
915
816
883
856
940
820
897
895
888
862
868
920
931
862
844
947
868
825
952
988
934
866
801
879
951
945
985
866
898
909
820
855
950
907
946
837
878
861
929
843
837
826
991
914
868
951
833
970
836
900
803
919
876
863
983
873
845
997
929
808
874
946
902
819
862
984
876
841
874
881
937
963
929
860
858
868
937
862
912
828
981
980
961
922
904
951
843
866
923
934
980
974
810
887
879
907
958
893
976
865
901
802
961
899
952
843
990
851
830
877
866
915
1000
839
947
893
891
995
983
956
986
823
889
939
844
807
948
844
841
976
918
852
912
864
912
985
840
899
962
965
816
850
946
997
878
865
838
874
840
839
975
818
985
828
941
857
968
864
868
942
941
860
868
848
926
945
999
889
939
958
992
893
819
900
815
844
871
865
957
947
818
924
818
984
908
888
998
868
975
935
877
980
880
989
984
925
858
978
877
939
843
848
826
980
928
957
978
938
904
813
890
941
808
814
881
840
966
880
809
936
811
939
930
880
935
986
845
984
914
853
923
909
907
854
906
986
904
905
914
957
856
906
826
988
883
979
810
940
992
869
855
839
973
899
854
883
882
913
812
821
824
978
869
843
926
900
963
868
859
928
815
951
966
813
958
801
985
930
948
926
998
992
896
946
947
978
858
905
987
921
864
831
957
903
815
950
885
889
909
998
893
990
828
890
823
889
892
808
890
806
854
960
893
861
964
981
864
917
865
852
984
972
963
911
815
870
962
918
992
991
961
995
842
836
980
849
929
922
897
941
931
931
936
882
805
873
858
878
994
949
802
866
941
980
801
853
957
878
848
819
855
964
989
952
888
974
981
871
988
854
990
933
889
950
884
857
817
827
836
841
884
949
803
877
872
909
981
856
950
862
885
921
973
833
868
977
886
958
851
915
877
984
812
992
856
998
864
863
957
999
848
817
964
876
983
885
834
939
908
953
862
994
879
938
897
864
900
872
992
981
977
833
897
935
814
808
912
947
975
814
954
874
925
891
931
948
811
805
816
849
835
814
874
992
852
996
811
968
879
883
918
901
883
875
937
869
952
993
824
837
999
870
990
837
915
844
896
951
969
834
967
854
818
830
928
814
862
935
947
821
887
888
983
980
1000
889
937
955
855
813
813
830
926
990
928
877
806
880
880
836
894
931
914
922
909
950
854
852
904
974
995
918
935
850
941
807
829
881
807
878
918
848
984
1000
970
809
831
935
971
860
948
807
969
823
821
836
929
856
930
952
824
962
819
821
819
913
856
838
969
879
948
875
987
987
829
849
951
982
808
979
977
914
961
935
942
979
843
841
809
957
921
996
811
996
960
912
892
859
854
914
929
857
864
992
941
909
852
954
983
919
849
968
975
860
957
914
986
846
955
836
832
849
944
912
948
920
939
933
834
817
920
890
955
915
851
867
866
854
949
998
921
861
835
892
967
941
848
807
958
816
888
900
830
803
979
938
943
846
956
822
896
824
926
869
955
962
812
802
812
865
920
819
857
849
850
804
927
829
810
819
828
849
995
905
876
823
936
863
820
902
886
903
946
885
956
964
864
954
893
841
957
882
843
808
937
911
953
821
918
896
917
867
814
972
961
879
845
825
932
880
895
950
820
957
924
897
998
826
981
903
963
896
888
950
814
817
919
865
852
879
816
998
932
871
992
948
853
849
966
943
819
962
896
938
956
854
868
913
998
820
880
919
945
935
854
884
812
810
853
881
857
843
915
921
800
900
954
811
857
871
840
996
971
844
834
871
973
971
885
926
979
837
852
981
913
904
938
950
923
835
809
857
861
932
846
908
928
836
948
872
855
963
898
993
870
994
816
862
976
955
897
836
864
815
818
994
819
974
927
894
943
941
916
957
963
847
886
879
925
840
814
838
802
907
828
943
913
918
1000
895
810
838
884
891
873
961
924
925
949
863
927
842
885
849
955
961
816
908
963
993
891
892
848
960
975
814
844
856
854
973
898
837
843
844
955
810
914
807
950
924
852
836
919
952
825
884
813
983
920
848
864
998
948
923
914
891
877
905
969
945
820
960
973
850
977
888
802
886
905
888
962
913
903
836
949
829
941
807
998
995
941
969
843
973
927
930
888
921
829
1000
856
867
872
862
981
997
817
876
952
858
848
891
927
881
939
931
971
950
840
806
893
964
957
849
913
964
957
934
997
971
947
880
941
877
871
828
905
859
836
848
985
824
815
978
956
833
922
800
820
894
844
887
895
909
862
816
957
905
988
913
937
964
905
956
820
959
862
846
839
943
980
920
955
824
847
837
929
994
839
891
993
890
849
819
885
860
923
876
813
837
838
833
992
863
955
858
851
873
943
858
861
945
918
959
890
903
815
852
940
824
910
898
994
867
892
998
873
943
844
937
982
858
916
855
926
880
968
985
896
936
814
922
905
961
802
824
652
697
699
620
636
596
630
608
614
654
540
542
661
553
620
659
525
607
688
684
591
529
668
679
655
661
509
674
549
609
637
561
629
655
509
534
620
566
542
679
656
559
611
550
553
676
543
683
586
503
611
504
695
612
548
641
507
605
502
652
544
683
552
648
610
642
523
664
678
659
506
509
528
515
578
693
558
691
544
670
615
691
510
551
662
653
576
651
568
558
677
657
518
577
672
697
659
604
544
596
658
602
546
578
680
651
646
567
694
675
690
655
573
567
520
553
680
604
663
519
530
683
581
594
639
538
663
571
642
501
638
509
553
679
556
621
659
588
574
501
695
673
654
670
577
585
575
659
641
644
556
572
682
501
659
692
643
642
611
596
652
647
686
625
502
658
552
633
584
517
618
632
619
661
600
682
640
624
631
510
576
600
621
666
665
627
559
650
687
616
673
599
526
589
683
531
691
610
683
580
606
661
609
598
562
633
525
618
623
672
532
619
532
599
699
522
602
626
595
664
521
518
576
503
533
534
540
695
525
693
688
687
545
679
501
631
540
531
654
549
559
549
564
618
686
617
611
505
696
562
585
661
645
509
666
535
542
600
573
636
646
625
513
628
521
568
567
566
574
654
550
560
533
541
589
664
568
654
600
610
548
627
505
668
575
515
687
534
621
506
556
538
508
677
622
503
609
662
601
646
501
603
582
678
589
522
613
668
564
672
610
697
660
687
508
531
557
597
624
683
507
611
510
682
612
595
514
662
689
557
523
694
638
502
695
690
640
686
556
626
671
697
556
641
540
628
508
528
683
553
534
691
665
569
698
648
646
653
690
655
674
554
594
586
513
621
688
515
560
511
635
624
589
583
636
628
598
617
642
575
649
583
518
593
618
595
613
509
679
529
672
651
574
522
629
537
555
656
562
622
526
551
606
541
617
602
621
504
549
502
633
575
627
634
592
507
502
541
523
535
569
610
527
569
698
519
624
537
653
672
613
592
638
595
620
542
631
683
557
585
553
538
690
624
574
557
559
549
514
591
557
635
615
578
687
571
583
699
624
600
669
505
583
684
541
653
690
603
619
577
526
615
660
653
657
538
600
692
515
606
518
557
691
661
632
565
572
537
565
565
515
515
573
667
682
641
583
617
514
622
694
589
525
526
595
525
642
555
629
617
616
687
548
596
633
507
609
651
524
588
634
567
700
667
583
516
550
655
517
600
571
584
518
664
513
567
547
518
504
651
520
632
519
604
574
686
563
516
554
514
626
540
564
589
698
690
524
683
547
620
537
691
661
647
659
549
612
565
700
668
570
675
578
647
594
648
563
559
507
575
616
541
535
566
595
529
682
509
644
603
531
537
513
641
621
625
694
512
632
559
512
576
602
565
673
656
608
695
698
662
531
678
533
535
570
530
579
579
591
613
595
515
657
517
512
574
547
559
654
585
506
678
544
513
547
516
548
518
673
690
694
651
557
570
629
572
535
583
629
585
573
699
528
563
532
627
661
613
624
525
526
559
543
624
584
620
547
586
548
681
624
586
582
630
653
617
614
519
661
629
690
571
507
567
654
501
574
545
698
597
520
684
524
559
636
512
564
622
620
552
521
545
561
699
675
627
605
548
553
545
693
507
552
682
610
532
652
576
534
548
522
505
646
660
583
622
695
569
534
643
649
659
600
684
510
555
557
597
647
627
524
697
623
690
644
635
661
624
513
594
520
664
575
618
564
520
519
698
537
667
622
632
554
615
555
503
614
530
609
575
580
697
599
558
590
643
661
563
677
670
579
567
535
554
671
540
621
690
559
557
549
689
699
587
669
577
670
549
528
663
507
604
553
556
569
588
663
617
581
551
592
661
553
606
518
663
604
570
685
695
543
628
550
524
536
542
586
536
654
617
658
605
502
561
679
503
683
584
689
682
512
603
692
591
513
528
552
541
571
513
541
509
635
528
584
583
668
502
579
545
613
640
644
675
520
507
608
513
691
618
538
603
575
623
655
595
655
668
664
546
606
596
612
576
617
632
515
505
633
547
583
643
662
600
634
663
607
590
546
588
542
561
655
666
672
572
594
602
577
504
598
515
532
591
617
583
640
536
646
635
688
522
539
515
699
663
572
659
531
516
526
528
543
677
549
526
638
581
665
682
550
690
641
650
529
620
565
554
503
656
691
682
643
550
624
617
563
670
650
585
684
579
518
593
516
545
506
622
577
695
657
667
576
695
655
640
517
581
694
659
692
516
523
609
569
542
674
671
615
621
692
586
592
605
502
572
672
564
582
609
585
667
565
566
583
598
567
697
609
501
526
529
594
635
628
602
578
670
592
673
543
511
647
583
621
650
675
694
531
579
516
501
504
548
697
697
509
610
673
622
668
559
637
590
531
540
576
609
619
679
620
637
640
505
513
538
697
526
668
550
511
534
577
592
515
565
545
660
628
673
539
586
600
540
630
514
509
635
508
577
510
628
521
538
616
514
624
584
666
572
504
663
609
666
630
580
660
589
610
546
652
500
675
537
690
507
625
569
534
641
536
644
524
517
639
595
674
666
563
647
671
597
665
502
698
553
541
669
651
558
681
518
683
603
548
683
621
502
563
503
658
598
551
533
616
585
565
505
516
669
535
651
571
579
638
606
677
615
694
528
620
630
565
532
596
690
625
542
600
516
507
523
577
538
510
560
653
697
684
564
682
582
531
671
625
585
633
609
683
521
645
581
591
690
633
588
510
658
552
522
557
696
527
549
516
509
520
627
683
600
574
541
646
520
587
696
558
541
633
602
649
592
599
691
547
537
655
510
553
621
662
518
545
553
571
574
618
537
653
590
666
534
635
540
556
660
634
507
515
572
552
521
678
561
565
684
628
638
607
566
603
662
617
531
579
677
569
648
612
570
505
616
529
692
632
663
640
593
556
565
681
552
535
659
515
585
534
523
660
639
618
510
526
574
587
517
667
537
679
561
642
681
598
604
696
583
647
605
532
525
579
552
678
516
661
599
590
661
645
512
574
658
583
517
654
690
510
553
573
599
563
652
574
634
560
601
584
670
513
667
641
673
568
636
559
681
691
585
696
585
557
700
614
541
670
539
585
684
580
677
642
528
556
573
613
521
556
531
682
686
654
686
621
546
507
579
557
585
670
607
692
584
673
620
659
630
595
607
593
622
523
546
684
645
564
676
697
611
603
624
686
528
594
584
692
601
537
525
531
630
674
619
552
625
567
628
507
663
541
647
607
529
659
636
632
534
605
548
548
504
621
544
571
699
542
544
508
554
683
679
672
698
503
528
582
646
663
625
524
674
637
549
636
511
637
534
667
700
675
681
662
677
583
634
582
548
633
641
684
533
622
609
657
511
532
520
521
531
606
679
535
680
638
600
584
532
665
634
594
571
619
529
592
608
589
549
533
530
639
510
658
585
557
558
616
682
546
642
528
593
555
674
546
673
569
511
643
561
513
630
609
604
616
561
578
602
502
559
555
512
657
674
519
611
584
558
689
637
589
682
699
646
555
574
561
686
508
672
539
566
607
700
605
693
668
591
567
651
696
595
634
535
599
541
630
580
592
612
645
543
651
506
659
652
629
505
663
669
646
537
645
571
597
606
661
611
615
551
681
633
563
600
651
638
616
577
540
545
627
582
605
612
659
591
698
597
607
546
553
553
572
695
605
530
668
567
594
530
692
566
623
661
504
543
520
528
571
590
620
653
637
642
662
591
514
611
673
590
673
546
510
504
651
674
675
541
676
601
623
659
511
587
639
501
609
624
572
668
599
541
669
507
627
537
658
500
578
518
509
697
645
549
686
675
565
622
616
539
621
548
549
549
605
549
508
508
520
598
529
554
666
678
600
615
686
503
567
539
508
590
664
539
522
700
586
644
697
676
567
636
656
662
506
599
518
535
539
528
649
585
688
570
510
520
602
643
691
601
527
500
543
555
535
690
631
641
642
604
541
656
512
620
565
621
520
605
523
504
553
652
661
603
692
624
690
643
523
612
677
603
680
553
533
545
598
524
510
661
604
594
588
503
624
668
698
619
546
553
694
536
514
655
576
591
550
561
506
651
583
590
623
652
550
578
671
672
523
670
568
672
538
512
546
586
509
517
663
626
500
629
586
686
657
536
583
697
512
564
640
594
551
680
571
564
555
676
623
683
620
515
522
637
683
595
692
700
629
690
622
566
636
660
636
654
547
579
512
552
526
680
605
540
570
559
651
565
591
521
556
587
523
612
509
540
614
661
595
691
520
630
503
531
556
567
610
670
651
571
635
680
508
526
517
525
679
557
635
506
635
551
619
615
602
689
527
585
629
673
680
620
539
548
513
652
618
657
579
591
582
603
557
622
696
582
542
565
632
587
614
676
649
645
509
649
652
508
696
556
674
678
563
501
658
683
616
655
630
678
690
557
661
609
507
652
608
558
643
597
633
513
586
533
589
576
658
625
521
642
507
553
646
699
572
679
683
602
505
533
688
656
609
521
549
649
653
667
601
644
658
529
596
634
622
593
611
574
592
676
670
574
640
677
596
610
644
579
679
686
555
699
651
652
620
679
594
685
561
501
665
593
642
576
631
635
502
533
587
598
616
583
696
585
660
650
647
670
653
655
614
650
559
697
611
545
588
675
502
534
658
688
673
578
578
591
510
663
618
691
521
623
523
617
620
664
688
588
562
678
569
500
557
690
692
502
606
539
578
615
576
581
556
667
679
593
645
593
598
629
598
548
572
586
522
643
674
587
607
556
636
644
544
512
596
575
568
637
559
596
595
544
619
558
543
612
658
514
522
695
572
618
554
698
520
548
647
617
536
597
632
516
584
539
535
665
612
663
520
653
632
689
669
536
561
539
544
500
593
564
641
560
552
588
501
647
652
564
629
539
547
632
520
519
698
695
592
636
526
654
620
649
545
685
672
650
558
602
536
540
615
688
567
674
618
623
588
557
584
563
508
550
552
654
644
541
505
684
647
602
598
676
627
555
560
547
577
594
549
646
634
656
535
575
548
595
545
620
559
567
600
601
548
545
525
693
656
648
548
669
562
624
694
512
622
586
532
522
694
565
543
641
689
614
622
547
673
507
671
587
530
652
585
607
596
512
583
624
665
573
560
664
575
654
511
649
572
676
678
682
646
684
617
673
503
577
585
695
553
668
677
628
539
567
568
616
597
553
565
567
603
516
558
517
659
544
531
618
636
525
602
661
637
511
541
521
654
634
544
520
524
596
658
525
613
681
564
686
599
626
513
523
558
698
696
613
524
510
557
516
636
685
552
651
650
564
661
638
538
560
601
640
554
656
506
521
557
689
519
550
663
611
567
524
644
595
624
685
645
507
645
516
683
547
680
538
575
557
566
550
675
608
563
590
632
545
682
695
567
662
512
618
518
561
502
575
583
529
607
609
512
561
625
699
517
673
669
697
694
592
504
521
525
521
605
536
515
658
692
678
608
638
610
694
620
619
640
562
581
532
612
555
526
549
546
634
650
632
535
666
574
534
692
537
582
693
528
541
549
616
515
635
514
586
567
601
650
566
699
598
516
573
635
560
512
559
583
636
664
522
631
700
622
621
564
697
561
577
682
689
697
575
583
517
515
521
596
581
519
594
665
633
568
551
613
670
559
574
502
502
622
610
529
646
608
517
523
670
666
562
656
661
597
536
500
633
620
539
521
585
623
508
613
609
502
558
673
648
660
649
537
642
592
543
615
590
583
557
581
677
669
690
697
570
680
552
629
544
688
700
599
698
584
546
584
575
562
610
557
652
602
513
543
682
663
635
640
631
684
666
689
626
546
581
501
655
656
521
659
584
605
686
540
555
557
535
518
693
501
630
594
683
520
555
690
510
538
626
551
628
616
634
669
669
638
573
569
667
517
634
694
647
544
603
680
693
671
563
698
561
683
674
643
695
647
595
589
657
569
661
533
624
530
670
534
571
563
645
543
631
616
511
520
537
631
664
501
585
677
638
593
676
662
596
633
578
621
530
522
593
613
699
508
642
539
695
511
695
662
565
557
641
543
582
596
613
696
657
626
618
592
661
520
559
636
551
677
562
552
528
685
539
683
534
564
657
652
624
691
553
532
628
623
585
696
518
666
629
684
699
534
551
641
687
543
521
543
501
582
580
691
526
690
632
518
603
538
585
667
540
689
571
653
505
665
501
540
650
501
510
695
524
611
564
599
597
502
501
501
544
529
505
646
697
695
640
662
551
576
565
533
600
542
669
653
547
605
611
665
640
520
648
633
613
581
649
582
619
676
630
668
654
605
661
619
511
572
659
583
683
695
694
617
637
502
503
557
685
697
640
526
533
626
517
692
552
604
622
635
596
668
623
580
700
549
534
684
617
566
693
524
525
573
646
577
540
519
686
689
591
545
562
538
679
675
505
592
574
518
640
616
554
590
655
518
564
555
579
673
667
590
660
650
528
700
570
656
589
524
695
640
546
690
580
651
666
663
532
559
696
595
593
589
583
557
505
552
542
641
511
573
608
654
650
696
568
594
556
532
558
547
631
505
602
670
633
524
682
503
566
651
627
588
693
551
601
532
634
606
700
513
547
523
533
589
694
539
594
685
624
581
576
646
611
631
558
599
536
700
542
508
636
525
634
641
581
623
589
638
587
507
501
510
695
615
627
652
689
518
681
561
541
700
657
605
594
674
683
625
601
695
687
512
594
664
561
545
600
622
601
610
677
655
603
635
566
698
579
625
583
663
517
538
667
536
542
654
665
531
647
648
687
569
696
612
566
673
669
509
524
505
558
625
588
524
664
513
662
647
556
544
625
680
609
584
663
594
553
554
536
581
555
628
529
506
531
635
611
602
578
667
651
683
510
516
619
537
519
606
517
524
523
575
560
506
607
517
686
528
612
605
560
687
587
693
660
603
640
681
609
642
574
651
558
609
577
616
540
622
630
574
526
658
523
516
547
602
662
673
651
622
522
621
616
612
688
639
537
646
531
544
568
523
526
516
519
501
615
578
641
684
687
669
571
659
524
650
629
625
543
671
668
558
510
622
698
664
514
643
631
531
674
600
602
512
509
569
684
571
559
537
539
671
690
514
532
613
509
573
556
637
643
623
558
667
646
602
630
581
534
646
571
629
661
683
527
648
596
538
663
589
643
599
641
648
692
609
608
509
585
573
687
597
689
627
539
668
546
502
692
604
637
558
685
584
648
669
592
679
698
516
641
516
644
604
500
515
505
691
554
589
539
632
519
532
591
556
636
692
632
523
508
542
634
650
608
567
605
652
508
546
577
643
682
569
551
634
531
637
533
698
649
634
563
577
563
544
560
590
518
546
559
532
606
575
677
589
686
611
696
637
573
654
614
693
661
694
613
540
581
561
559
655
609
675
673
614
591
503
639
677
663
654
543
513
634
697
622
631
547
695
568
508
646
597
683
570
700
575
612
610
539
605
656
654
549
692
598
501
571
513
570
653
683
697
628
667
597
594
555
598
513
566
624
523
613
673
540
607
517
517
661
511
568
624
615
561
532
581
615
609
591
626
526
536
694
677
582
642
611
672
661
613
636
558
597
533
609
600
580
660
544
649
528
570
621
503
686
667
560
666
602
515
508
570
520
624
543
524
695
578
615
609
656
679
514
600
667
677
567
619
681
663
595
689
535
526
573
585
689
505
567
568
535
647
645
632
634
669
670
540
548
522
505
611
622
597
647
517
670
653
638
655
637
584
602
561
642
525
594
555
636
531
694
687
609
595
695
603
669
608
687
525
646
610
529
596
593
597
608
626
505
662
683
506
632
538
570
506
687
690
640
625
533
606
567
578
699
533
593
522
575
676
638
636
655
619
598
524
693
602
614
565
690
582
584
602
682
593
576
639
625
671
676
628
576
542
508
685
691
563
695
543
699
659
578
546
513
692
609
515
539
593
660
683
645
607
683
578
681
645
553
661
677
629
521
549
690
663
606
536
513
699
554
644
601
540
684
672
603
525
542
554
584
525
594
548
548
575
675
576
571
575
662
560
514
559
535
578
607
509
553
637
581
546
677
550
658
589
575
654
680
626
561
584
525
638
621
624
658
557
600
514
554
638
597
677
509
575
661
694
642
673
658
617
637
557
660
625
519
537
531
656
573
547
592
597
659
660
631
611
500
686
628
521
679
673
686
550
625
649
664
510
502
573
622
640
666
540
668
549
608
697
507
667
650
576
547
604
645
668
671
510
538
644
534
553
630
546
614
626
614
661
538
581
694
507
633
610
547
532
591
628
523
618
699
628
531
608
540
550
570
528
532
500
646
645
537
669
686
522
603
556
613
549
698
639
566
597
578
689
686
540
531
540
686
544
662
650
539
626
591
514
623
663
683
626
568
622
663
630
671
560
555
500
545
526
534
649
551
556
628
613
575
589
637
559
635
650
571
516
691
658
667
656
511
575
664
522
583
554
670
677
641
645
659
672
562
639
565
516
695
608
684
671
596
532
551
569
524
519
693
573
566
546
519
593
648
657
640
586
699
612
666
618
506
534
555
693
598
597
597
581
671
524
543
630
547
684
613
596
611
624
535
650
690
545
654
622
578
520
653
528
662
630
671
538
584
656
515
530
570
546
632
633
656
660
543
620
700
648
579
552
696
685
629
577
665
677
600
530
518
642
530
634
540
555
521
692
593
602
586
551
681
663
531
510
519
507
605
529
548
677
689
674
510
521
622
678
636
612
609
693
597
686
504
650
567
521
585
541
576
536
586
607
564
685
577
516
633
605
515
638
529
580
650
680
603
607
607
558
553
670
552
561
698
548
534
580
618
690
502
648
521
550
629
584
550
674
593
524
598
512
506
525
637
552
679
532
523
544
570
618
657
584
653
541
559
622
681
604
595
634
542
700
649
667
588
686
559
609
560
648
579
681
577
618
603
512
651
612
548
546
511
665
670
693
563
661
632
532
542
661
690
526
642
640
500
511
550
533
517
504
648
646
674
502
507
606
529
555
653
537
517
505
595
549
563
590
572
673
627
552
543
504
607
521
500
542
556
671
551
692
600
627
624
697
577
601
612
697
585
564
660
658
502
650
570
650
570
653
519
551
687
575
626
614
522
648
511
625
642
567
650
615
604
620
547
511
531
700
597
591
547
691
699
595
539
589
521
529
632
683
629
682
541
580
657
541
641
636
653
670
657
526
544
677
594
532
586
557
625
575
549
602
616
590
545
547
592
613
631
543
586
671
654
674
637
648
572
607
690
564
608
624
563
608
512
509
521
663
559
525
579
601
573
587
672
680
604
647
634
512
583
669
541
528
539
687
700
612
654
674
577
539
602
614
534
682
660
679
676
643
564
658
626
622
624
626
600
549
625
631
551
558
527
584
696
682
698
621
625
683
632
536
570
635
559
539
556
513
527
524
505
699
518
518
676
658
628
665
516
691
649
566
676
659
578
521
680
552
555
566
696
633
669
576
586
631
690
523
653
696
667
683
620
650
699
675
637
607
648
502
555
686
541
685
631
669
528
665
660
634
503
630
632
567
529
686
618
650
685
698
559
542
571
570
566
676
634
571
511
566
698
545
508
565
509
623
660
523
594
530
555
558
625
608
517
655
523
508
565
539
544
598
513
626
571
656
678
586
648
514
644
545
638
502
629
518
597
527
622
534
684
686
567
612
575
592
606
538
587
596
643
521
622
638
550
580
698
593
603
547
661
601
657
518
681
600
633
676
675
607
509
660
638
648
627
594
644
525
661
670
587
589
506
568
638
595
520
542
540
686
613
608
635
606
682
602
567
688
672
546
502
605
545
620
695
530
646
567
560
526
662
652
612
602
600
600
570
576
648
560
544
520
626
551
686
611
574
574
660
612
543
528
632
617
693
556
634
658
696
698
688
534
507
574
689
539
517
665
659
645
671
546
639
532
618
627
523
551
531
673
613
580
581
516
590
630
547
531
588
691
532
506
660
556
682
551
688
673
595
635
689
526
574
687
654
526
697
564
524
647
639
582
594
547
680
590
651
557
700
662
584
512
555
690
500
642
660
547
597
634
658
540
539
628
597
553
679
547
522
620
635
549
520
560
688
640
597
650
584
542
514
507
607
518
556
555
695
609
538
610
691
527
553
511
660
634
687
623
700
700
575
603
683
577
673
680
663
649
650
523
646
607
592
580
688
535
659
539
588
547
695
594
665
512
537
666
658
516
677
539
582
504
631
538
698
620
642
531
510
613
622
585
591
525
595
667
514
526
589
673
687
573
577
632
512
700
596
548
671
573
563
546
533
630
633
601
625
523
544
588
590
678
629
535
689
537
552
522
624
585
597
588
587
607
674
503
679
564
625
620
644
527
551
600
557
637
565
692
547
649
631
520
610
632
642
587
695
688
586
619
557
511
652
680
506
616
608
559
643
527
686
700
648
558
656
511
539
608
680
590
611
561
580
634
610
679
663
584
690
504
505
576
502
680
588
689
640
662
570
621
631
510
576
500
598
639
563
517
630
594
569
686
543
592
505
501
677
586
517
606
518
607
584
539
546
536
585
606
625
572
666
656
568
594
578
626
612
510
557
678
600
583
699
648
592
581
681
573
612
507
641
508
591
648
547
589
617
636
632
649
528
521
558
674
544
611
564
653
525
899
850
898
905
878
872
996
893
874
926
836
802
887
912
849
887
845
805
940
971
938
946
837
982
926
940
832
839
990
981
991
1000
824
948
831
888
996
806
923
912
812
989
891
812
928
910
974
902
886
805
972
820
924
852
928
925
912
920
865
929
983
811
983
1000
998
822
894
912
948
868
906
862
997
818
828
938
878
835
924
926
858
944
957
854
960
975
888
805
838
834
910
831
929
953
945
884
822
872
822
920
815
925
880
957
901
989
956
883
857
999
868
975
802
875
811
860
832
925
867
845
918
901
917
857
852
996
985
821
823
936
953
910
952
983
873
970
868
987
956
986
833
822
930
847
985
993
981
963
862
982
823
990
873
982
994
896
987
971
860
925
924
908
945
845
963
973
851
841
995
822
864
818
893
958
991
878
963
971
818
924
893
829
906
822
954
866
969
957
896
877
924
854
949
889
808
898
887
805
860
950
957
894
985
940
852
948
910
945
803
828
844
989
990
811
889
951
922
919
986
819
890
830
847
905
923
854
863
953
839
924
828
823
932
964
952
947
946
865
934
988
950
865
974
904
806
808
974
849
822
851
914
914
977
853
907
899
898
862
884
998
838
862
815
866
958
844
874
883
842
951
993
937
927
948
920
838
907
873
805
922
825
865
965
953
872
969
855
916
966
933
878
929
898
869
817
921
984
997
840
960
957
979
972
895
909
829
926
922
910
951
913
925
857
972
860
949
892
889
847
924
960
911
961
985
963
978
971
897
862
930
949
921
979
820
826
885
871
969
865
989
839
903
948
960
900
822
808
933
949
915
851
953
938
999
957
947
800
989
914
842
941
821
947
970
945
935
926
943
951
982
975
990
947
814
803
918
831
829
885
1000
987
868
873
917
954
877
998
926
935
906
843
921
833
988
899
996
936
805
877
831
894
992
948
906
887
953
838
963
882
938
972
867
963
895
856
825
915
846
997
808
845
831
884
989
937
971
963
863
961
809
845
854
918
961
820
936
817
965
926
844
833
937
800
805
826
802
1000
900
868
955
872
886
899
966
1000
875
847
928
940
997
973
927
839
883
946
874
864
979
898
977
955
960
936
881
946
830
887
803
951
977
882
893
893
905
803
965
815
913
807
889
840
829
862
838
852
887
918
901
919
844
822
924
807
903
809
892
836
915
984
962
813
912
903
830
928
992
840
800
985
973
850
813
823
997
837
909
811
825
928
914
886
911
995
991
896
898
975
929
858
821
841
885
886
974
857
816
915
995
868
834
819
845
884
970
994
997
838
808
842
945
867
979
806
905
834
930
817
931
960
826
927
997
833
914
812
943
978
822
985
913
813
988
862
831
872
859
828
942
827
923
831
989
968
904
808
832
881
940
970
858
939
917
802
987
823
927
861
947
830
953
802
884
919
831
965
927
891
813
964
931
816
1000
856
804
890
915
881
978
825
818
834
918
902
962
970
970
818
922
869
994
956
892
817
855
889
818
819
867
954
892
953
960
920
936
923
826
807
937
919
912
943
880
879
869
895
857
970
801
850
973
965
804
919
819
974
824
894
883
900
861
849
893
943
899
857
999
957
948
943
845
899
815
953
902
867
829
901
875
939
890
918
962
851
886
875
965
939
809
911
939
935
895
892
873
869
922
858
834
911
916
850
983
922
898
925
922
836
843
989
805
849
869
861
986
874
954
832
983
989
978
981
892
859
920
955
879
915
889
834
922
974
820
894
997
986
804
917
975
844
848
901
989
864
807
837
993
999
995
894
862
802
971
808
801
950
853
994
882
897
933
852
901
893
907
874
927
879
956
962
932
926
922
965
905
987
824
937
984
870
984
944
906
831
882
812
802
970
873
913
834
855
853
964
952
954
834
961
884
804
868
926
822
815
876
932
904
977
827
903
853
979
987
801
1000
812
870
933
982
865
876
935
866
932
814
847
803
823
848
804
814
915
928
928
909
989
933
801
935
960
962
931
888
916
863
886
945
958
842
933
916
919
870
985
815
842
801
948
832
937
803
921
912
992
875
822
999
963
948
818
818
907
938
978
910
834
972
989
839
997
911
901
905
895
990
898
845
843
919
992
953
816
911
900
815
827
803
895
858
967
861
902
975
858
812
804
875
843
852
802
965
841
825
818
827
899
940
996
840
939
916
834
882
976
972
829
946
803
867
824
809
875
804
957
836
959
951
826
917
862
975
877
920
847
977
950
835
879
916
911
992
883
991
886
968
853
838
955
945
971
800
902
937
957
980
905
875
991
894
889
897
807
968
809
818
853
871
969
873
893
801
909
865
825
825
835
968
987
868
997
938
974
1000
977
968
889
890
854
805
929
905
960
896
891
956
872
880
919
893
954
933
963
991
945
908
849
800
828
806
809
849
907
854
838
960
994
913
833
899
947
904
934
819
898
918
899
977
875
934
985
866
805
988
843
839
913
979
852
991
962
986
899
869
881
923
836
837
819
847
835
844
979
809
860
929
829
978
930
959
814
813
988
913
857
813
887
942
991
928
873
837
929
906
888
858
913
875
975
802
862
929
877
971
954
939
916
966
960
958
971
885
807
969
943
824
884
928
917
836
918
849
957
855
919
963
927
974
898
922
808
824
916
968
855
872
819
976
885
920
988
896
825
958
957
868
981
905
869
980
894
883
878
976
814
815
936
838
969
806
937
986
881
898
912
886
818
960
826
984
844
911
806
895
930
801
860
869
906
842
969
902
997
976
810
849
884
806
910
971
896
836
884
810
935
853
890
973
823
821
818
991
848
985
911
808
880
826
943
874
958
804
870
811
993
818
924
888
816
938
928
927
871
853
996
829
849
850
826
884
948
928
953
844
959
875
833
895
987
962
993
956
843
851
868
823
873
846
836
827
979
951
810
892
936
976
978
950
952
910
831
985
985
967
852
939
837
937
989
866
991
865
907
923
816
984
975
917
983
906
830
900
975
934
810
923
976
888
824
855
852
887
904
984
931
928
928
866
939
836
807
834
969
803
902
955
893
998
890
813
855
925
975
850
935
998
850
911
888
929
915
975
954
969
960
915
808
816
839
939
917
920
817
959
887
842
930
866
1000
982
869
849
850
845
907
989
824
844
885
904
863
842
998
814
838
971
957
966
890
912
979
984
926
994
959
951
901
874
958
953
909
821
948
976
845
853
994
862
862
960
907
957
970
880
981
806
928
808
905
940
847
921
994
907
990
927
813
913
847
897
810
919
921
992
904
885
972
861
844
939
977
885
972
921
958
976
916
974
809
916
867
973
802
803
869
834
863
959
810
999
841
985
860
916
913
858
991
829
820
942
955
994
806
920
865
920
957
901
831
863
853
838
995
886
863
907
812
972
811
945
988
954
912
956
999
837
901
969
998
910
976
914
857
909
936
858
998
920
997
968
858
887
836
823
859
893
851
925
947
985
938
895
942
970
936
832
946
860
864
999
937
957
880
980
941
840
892
998
935
873
874
945
918
944
906
886
860
833
918
858
853
957
819
956
978
883
821
907
842
995
822
892
856
980
823
814
940
973
812
886
852
969
995
825
940
935
856
924
987
821
849
850
869
864
846
931
901
977
930
885
977
841
841
857
975
861
857
857
836
911
976
840
836
953
901
813
989
920
884
849
900
971
969
825
941
826
973
851
902
922
958
996
898
985
883
899
954
826
849
805
829
960
857
803
898
901
886
850
987
817
972
832
824
927
968
857
882
873
814
930
837
843
946
827
818
913
884
966
877
889
992
853
926
926
900
923
944
864
940
878
834
840
939
855
807
829
936
883
880
892
809
961
861
854
856
977
844
922
877
975
978
893
814
900
988
970
805
965
1000
868
975
972
925
975
869
823
884
883
930
849
866
938
832
971
890
920
975
824
800
936
848
861
973
965
958
833
857
830
984
855
844
987
844
873
963
900
870
893
964
862
824
910
879
978
962
892
974
897
976
978
926
969
980
953
886
870
976
841
940
893
836
806
856
910
988
890
826
852
994
907
877
912
818
992
943
941
855
900
947
845
875
887
826
955
827
805
937
883
920
807
810
831
996
913
805
898
962
892
929
970
890
846
938
898
862
878
989
858
833
829
849
971
829
828
839
915
995
935
820
951
856
868
828
847
839
987
814
928
956
981
924
841
988
829
960
840
845
902
891
857
811
887
807
833
988
862
954
842
979
950
839
825
940
911
933
981
867
968
813
862
891
999
921
835
839
846
903
852
853
853
801
997
945
855
846
894
831
902
999
977
869
922
942
945
893
992
832
870
800
819
920
982
949
965
932
978
949
824
919
916
833
959
986
855
875
843
865
970
965
824
832
996
971
825
957
824
893
882
940
932
949
892
858
926
845
905
977
860
822
986
917
952
886
960
818
958
885
972
930
933
954
919
952
899
820
950
975
904
890
891
943
836
894
834
801
995
872
994
833
953
990
936
889
990
858
925
885
810
954
809
997
966
956
991
805
904
887
838
847
801
911
866
971
857
890
867
955
926
887
808
940
996
806
843
908
872
914
857
823
971
978
843
840
961
901
858
918
935
965
999
860
869
981
817
954
973
990
947
810
815
978
936
983
988
820
900
922
862
957
880
841
827
984
950
919
877
963
940
928
976
993
932
889
863
825
924
815
926
876
858
900
969
967
891
849
864
976
823
883
937
935
978
867
814
913
949
889
989
887
893
881
970
823
853
826
965
958
810
920
947
875
883
965
902
840
889
812
967
831
890
819
834
994
912
819
984
993
911
858
842
902
996
939
826
818
858
981
810
977
806
997
991
878
953
865
913
978
832
926
802
958
957
990
881
953
982
973
912
936
896
996
955
887
924
947
825
886
990
968
871
914
979
819
916
836
878
870
961
892
897
859
993
906
920
831
879
845
927
981
924
821
844
822
974
931
924
856
833
801
861
801
806
836
941
916
950
819
807
985
915
927
934
983
966
803
860
843
823
829
917
898
836
803
950
857
922
891
987
818
912
826
862
891
898
948
891
832
882
951
926
845
954
920
878
902
891
875
870
863
871
896
974
972
876
858
988
1000
913
840
998
825
895
894
930
837
967
944
878
819
904
999
913
868
893
862
959
989
946
884
920
972
804
817
949
910
927
850
921
967
844
875
916
825
901
951
956
973
926
975
834
985
869
849
803
908
860
930
825
858
938
802
813
850
982
987
920
937
879
990
914
861
907
801
910
833
865
975
851
917
802
801
953
814
894
881
863
969
999
864
877
800
800
802
921
914
837
943
948
923
928
915
920
952
840
837
825
971
960
887
905
820
909
961
875
801
902
830
1000
827
813
969
956
848
897
873
862
993
830
891
901
837
816
858
935
928
935
937
815
840
936
940
992
965
878
883
811
957
934
948
899
964
903
854
936
907
848
962
806
940
921
960
992
948
925
887
819
871
936
989
996
992
946
804
825
962
892
808
993
819
910
998
853
891
885
909
986
968
916
840
979
946
861
897
879
928
866
936
980
849
955
837
922
915
843
886
923
859
985
810
993
849
918
958
901
955
895
958
876
982
919
899
935
821
911
909
981
859
858
856
934
825
964
866
879
977
964
983
949
986
984
815
975
820
985
901
914
877
894
901
906
923
940
801
838
937
915
893
808
906
869
861
972
996
862
964
905
888
981
923
977
962
874
984
979
900
988
828
803
819
892
990
926
954
925
935
959
883
908
897
859
920
937
933
807
932
975
900
817
954
840
802
883
997
903
883
915
922
899
894
961
995
874
931
880
883
931
914
967
885
828
886
976
819
952
884
878
913
809
837
928
868
926
941
802
901
805
929
906
997
959
820
923
988
960
888
898
883
843
928
910
844
960
831
964
914
873
824
821
858
966
896
813
882
952
843
873
885
825
804
885
976
896
957
928
837
899
947
849
940
912
894
980
929
938
809
837
932
960
880
818
994
939
861
922
817
982
986
888
873
853
911
990
940
964
888
838
970
905
932
853
811
903
850
805
943
973
971
864
904
876
828
953
924
922
835
931
861
927
995
835
806
956
845
814
943
884
825
802
844
979
994
850
931
810
864
847
986
948
913
885
805
967
820
834
847
974
894
892
893
875
808
900
906
931
851
806
890
952
998
892
801
966
844
825
959
894
919
808
958
933
938
938
992
859
935
852
857
912
828
939
955
847
933
947
928
848
905
828
914
948
936
975
877
858
910
999
827
970
821
955
897
913
951
860
849
980
957
875
850
983
891
867
998
826
870
975
982
920
967
848
831
911
948
855
957
826
883
960
846
982
891
850
854
846
997
888
842
855
895
889
820
906
886
883
870
874
805
846
884
801
978
808
806
870
835
912
911
942
894
929
986
924
964
994
861
930
842
889
871
919
923
991
849
994
954
827
893
820
857
936
826
874
813
927
940
840
911
849
862
991
879
959
828
941
977
876
932
891
940
938
925
956
802
951
997
898
956
812
960
979
984
907
991
860
934
957
914
816
948
887
933
817
973
806
852
986
928
998
961
845
889
979
899
904
891
945
926
928
999
938
882
849
963
911
858
820
947
951
819
996
885
830
831
966
891
902
978
897
806
940
945
823
985
931
910
997
977
855
886
1000
813
919
820
990
921
909
831
982
808
824
877
984
910
818
959
949
992
941
945
842
847
856
964
920
905
974
814
955
947
881
876
899
975
945
994
917
983
919
1000
989
946
814
851
890
955
895
812
961
974
965
851
978
866
869
826
807
991
942
986
822
979
881
817
838
973
893
926
998
879
985
800
808
858
956
808
805
963
979
857
880
958
820
883
920
961
931
980
866
914
979
995
906
925
812
856
865
866
883
885
898
818
869
802
988
845
990
804
963
819
986
842
898
956
958
998
837
845
842
931
948
934
960
834
850
816
809
973
870
957
834
950
882
816
972
907
867
920
843
834
983
809
912
839
905
910
804
994
905
897
888
932
835
852
986
919
827
805
811
830
949
982
854
962
919
996
819
987
958
935
892
953
855
880
817
920
937
986
979
945
830
842
877
985
844
894
923
965
853
832
972
871
957
879
938
918
990
986
830
944
964
900
994
851
909
938
915
861
993
933
981
865
833
856
945
894
977
942
978
842
869
977
872
947
874
826
902
898
947
946
950
990
925
867
802
816
853
894
815
937
906
836
822
839
958
890
877
955
852
802
970
818
905
990
917
917
958
842
826
967
980
995
969
868
951
904
908
838
975
950
878
986
832
1000
984
880
884
973
925
833
905
918
980
871
805
805
932
960
809
925
869
830
988
850
899
827
877
930
954
855
892
881
813
972
803
918
908
904
871
987
902
827
803
809
854
883
837
931
840
862
876
942
908
909
989
834
991
948
960
898
874
840
824
956
944
862
886
819
976
841
999
870
825
924
832
824
831
914
853
823
901
975
821
813
948
959
857
892
858
920
997
882
977
882
868
806
967
851
961
962
966
903
942
941
886
992
900
957
974
911
905
991
919
831
926
842
843
872
842
913
942
816
884
970
973
955
828
835
822
960
807
895
841
832
997
946
856
864
911
922
821
833
893
826
864
902
902
889
857
864
905
879
834
828
903
900
916
881
921
868
972
918
859
864
985
974
836
986
884
802
858
813
956
918
823
876
921
901
905
953
919
944
846
957
885
939
938
961
991
938
819
802
821
927
916
951
993
869
817
810
877
913
987
804
830
817
959
933
937
825
994
826
926
929
901
821
975
806
919
986
948
848
876
845
810
811
972
938
928
920
816
945
865
937
923
831
962
924
810
961
912
904
838
879
943
828
975
922
921
895
966
853
903
921
990
893
894
846
897
968
937
881
968
934
808
989
873
831
890
912
839
957
984
879
889
852
840
983
942
977
897
860
835
992
922
831
994
963
994
918
804
981
960
916
936
818
981
928
843
803
849
973
890
885
841
890
877
830
992
918
886
967
935
825
977
979
819
889
846
905
888
968
999
831
914
993
882
972
850
924
926
823
855
813
888
996
906
893
937
886
900
853
913
954
941
926
999
904
804
1000
887
969
924
923
965
904
877
977
816
830
837
852
909
940
851
954
916
925
925
994
860
837
834
828
890
893
948
984
981
976
981
870
842
806
817
897
902
992
932
927
899
931
915
890
993
917
931
828
803
874
987
945
962
991
997
830
817
831
827
955
907
989
993
956
904
922
872
886
930
930
965
935
871
935
888
835
897
958
910
894
850
971
951
925
892
836
902
993
879
942
886
906
841
929
932
943
903
959
993
841
800
991
928
913
993
818
920
882
862
832
976
840
911
810
948
826
949
988
990
842
863
841
829
913
919
853
987
829
810
841
962
820
881
890
855
886
800
941
932
865
891
828
836
904
860
972
994
918
885
867
937
919
826
956
955
993
941
849
801
949
827
995
913
979
891
845
838
915
878
889
848
862
989
808
903
842
870
830
974
927
933
836
812
896
867
808
860
897
926
967
827
872
803
873
869
938
958
999
856
842
997
943
924
869
947
893
866
997
872
983
994
889
854
928
988
915
846
856
887
952
862
835
839
873
948
816
923
985
879
896
974
810
866
864
963
824
920
896
955
881
881
914
943
821
814
867
824
881
919
907
871
904
883
897
840
964
818
863
936
809
961
977
884
801
810
918
858
909
939
937
942
854
844
938
941
910
836
846
930
918
910
827
839
958
925
834
828
886
851
999
930
918
996
921
821
800
945
806
892
857
838
910
883
814
964
983
926
976
872
838
886
932
806
881
807
823
861
805
904
889
966
999
842
883
880
902
970
979
935
937
949
879
801
824
900
828
892
829
836
997
961
865
994
841
984
916
866
964
986
874
945
848
866
915
932
822
974
806
843
911
857
960
877
991
973
903
947
983
845
866
940
816
999
850
843
907
806
822
986
834
850
856
966
823
965
806
843
916
830
854
964
946
991
983
835
923
997
854
973
879
841
893
898
955
894
834
802
835
818
945
993
938
961
850
894
921
905
963
967
944
893
934
902
974
806
804
872
829
863
898
968
886
960
925
927
906
996
869
976
977
839
916
926
868
834
992
884
876
801
969
818
872
948
991
870
990
840
834
844
814
987
919
852
896
826
969
997
891
889
823
828
804
966
838
909
957
850
834
848
851
831
863
861
803
836
981
836
908
866
920
919
972
941
874
852
883
811
933
981
940
981
869
950
979
828
995
852
983
975
812
822
804
944
996
987
927
848
823
977
926
848
867
815
893
972
929
868
869
915
865
837
938
946
884
857
945
894
854
924
859
875
883
953
963
924
966
953
937
951
928
858
875
950
865
928
878
923
986
975
994
902
827
845
846
907
831
901
926
981
956
900
851
856
930
963
832
819
818
824
892
906
911
807
886
814
956
890
973
988
905
924
981
987
838
818
937
940
895
865
937
820
938
983
866
886
822
894
852
820
820
819
848
982
988
858
884
904
812
973
905
819
868
970
973
964
817
976
855
897
810
858
994
926
946
891
814
997
971
928
989
909
838
908
890
987
812
836
903
817
951
812
902
822
823
950
853
829
983
943
891
864
896
910
804
809
984
890
810
874
837
828
918
856
907
821
922
962
886
824
922
904
960
894
851
900
930
842
989
914
909
906
930
937
864
999
849
915
849
918
884
968
902
869
805
894
940
961
810
842
859
862
822
817
960
993
844
885
832
871
812
844
988
897
969
824
953
938
938
882
958
912
832
900
823
926
876
829
933
909
998
818
913
975
881
963
886
927
918
825
839
891
820
642
535
555
681
584
651
562
541
598
590
681
631
664
561
572
532
516
662
606
526
680
693
667
676
693
681
670
549
525
527
616
567
501
642
536
507
527
543
624
633
586
568
687
585
653
621
510
622
588
589
613
636
635
697
672
659
685
573
681
541
687
635
562
666
581
520
644
628
505
671
663
560
688
645
658
530
568
669
516
627
508
577
521
615
694
500
565
585
674
506
656
547
578
617
637
545
612
509
584
653
555
551
547
516
502
559
656
613
605
686
622
685
566
654
652
641
515
510
619
620
553
655
673
534
699
664
593
551
634
641
505
547
569
524
524
636
658
624
612
554
559
663
581
523
658
539
623
592
670
580
500
558
611
684
603
585
502
596
569
690
689
577
682
647
550
607
539
539
513
536
536
646
556
603
648
632
695
629
510
588
556
581
699
574
544
615
583
698
521
591
561
535
570
611
672
528
698
636
650
586
535
603
639
659
533
665
678
661
616
603
643
649
538
625
610
590
629
516
514
566
654
545
588
673
535
536
637
672
654
576
612
523
519
599
683
502
530
566
638
557
532
523
673
517
688
654
515
559
530
690
564
567
617
530
574
548
658
574
694
585
634
546
523
602
692
642
562
647
574
638
592
689
576
651
638
644
626
518
506
669
568
530
688
529
563
642
675
554
607
638
568
617
611
667
579
675
605
546
659
545
570
677
596
549
528
601
597
524
641
596
609
698
582
541
606
610
665
575
511
673
560
690
591
678
694
684
529
623
511
546
518
518
549
602
561
545
607
622
558
523
645
628
657
609
691
610
510
649
515
655
557
660
641
541
540
507
651
502
660
513
534
645
661
589
560
615
687
629
634
610
573
532
661
655
559
533
509
599
666
583
536
591
636
628
546
696
623
646
581
552
523
626
569
636
657
680
673
606
655
649
504
697
683
664
647
672
624
645
604
596
636
643
511
691
610
626
595
632
663
645
634
614
586
523
569
503
695
610
572
671
697
651
542
575
680
640
599
524
566
678
512
571
669
651
623
581
535
619
666
632
566
599
516
624
578
630
626
535
503
660
573
515
623
501
658
697
513
611
696
590
525
583
594
555
602
554
569
610
665
506
556
697
552
553
559
643
569
659
635
573
523
577
666
531
518
606
683
505
566
671
563
579
579
626
649
663
668
666
679
699
558
603
684
567
507
682
569
651
682
504
636
670
534
653
682
505
559
654
572
698
630
648
692
538
649
573
519
699
529
683
658
608
641
694
654
566
503
598
533
507
538
618
564
641
573
542
603
593
639
600
624
561
538
545
520
617
656
526
558
554
512
613
682
584
625
512
625
503
546
535
516
587
501
656
561
571
515
606
678
581
570
583
561
599
512
614
516
583
681
536
574
678
618
686
579
646
628
594
688
612
527
607
507
681
585
670
646
655
647
592
682
520
592
632
647
681
510
659
680
562
513
619
604
601
533
513
599
610
649
644
639
680
666
586
556
572
516
557
504
657
596
637
697
591
610
690
695
669
677
542
589
514
654
655
556
528
567
642
523
609
592
531
675
670
698
514
568
631
671
606
584
547
559
563
622
634
629
548
625
531
569
619
674
639
610
634
527
537
692
547
669
690
612
608
623
693
507
588
531
579
652
656
603
611
632
597
606
521
581
543
611
584
614
607
530
673
699
534
601
538
652
625
677
565
635
646
648
558
611
560
600
625
698
548
573
629
683
622
519
696
643
550
671
557
550
505
609
652
630
653
609
598
636
579
546
542
665
543
550
582
669
681
621
573
682
689
683
534
548
511
536
589
692
553
549
648
552
534
697
534
511
615
631
521
662
691
601
548
619
516
678
624
513
501
653
695
592
564
638
542
598
650
565
517
561
613
595
501
680
685
675
577
578
634
500
548
623
503
507
535
583
541
580
527
552
559
691
632
648
606
626
553
585
523
683
655
679
547
531
514
674
576
669
517
688
503
610
506
505
577
669
691
560
643
594
593
532
690
676
561
602
508
629
529
516
503
519
628
653
523
669
686
568
588
570
671
648
544
612
681
656
655
572
519
634
582
656
655
535
506
508
635
682
610
656
542
647
653
556
546
594
508
565
573
501
593
608
533
661
619
519
589
577
514
614
580
524
689
689
585
578
614
612
583
505
561
536
606
659
573
606
651
689
577
667
603
636
657
688
638
541
515
564
571
526
620
578
545
609
640
636
659
500
690
674
604
699
511
575
662
607
670
668
596
599
636
610
696
540
504
676
673
661
644
638
641
685
504
644
670
691
689
658
692
553
595
659
501
680
590
515
510
550
564
664
650
574
541
601
675
677
593
612
611
558
698
605
596
578
670
686
577
621
540
625
537
626
663
699
668
697
693
573
500
595
574
601
534
679
602
700
654
689
501
610
588
631
691
639
692
535
602
566
607
580
669
526
565
674
555
588
561
635
671
621
500
680
637
511
679
539
568
587
614
607
580
533
599
592
690
536
620
575
657
573
630
608
640
676
687
689
595
520
631
623
579
597
590
673
700
517
508
611
641
534
641
553
565
519
542
505
688
652
612
695
569
679
522
540
624
577
671
509
638
577
536
510
569
660
626
660
508
630
504
646
589
557
513
611
556
670
637
593
671
506
635
637
569
513
562
502
662
695
507
586
645
657
560
548
539
627
679
590
665
665
648
602
630
576
605
539
606
539
526
558
568
580
567
600
534
562
681
649
619
635
554
629
604
656
672
686
538
550
652
616
619
649
532
696
659
649
631
659
514
651
562
543
552
559
519
637
695
604
586
567
698
520
683
661
660
638
630
514
626
525
662
696
599
693
607
536
600
520
656
536
658
697
629
501
624
636
580
638
519
650
545
575
689
582
515
610
629
613
688
596
526
597
554
578
660
652
599
516
661
543
652
580
700
622
639
695
538
651
559
509
660
508
687
685
520
652
604
546
532
543
583
525
648
689
633
663
526
548
559
633
598
614
619
636
644
694
526
509
524
689
506
633
575
501
656
504
560
564
651
516
615
620
540
572
645
680
572
685
560
543
581
553
538
526
550
653
679
600
606
561
648
626
527
572
666
666
602
616
607
504
622
569
621
606
550
671
593
665
543
676
561
563
509
672
517
648
614
643
597
694
684
645
550
520
523
605
532
690
613
630
585
627
504
580
620
661
508
581
607
500
525
603
697
625
658
665
521
659
525
557
620
601
632
588
654
611
580
662
548
555
525
522
682
664
654
515
582
574
689
599
621
638
525
629
617
519
668
626
690
661
641
614
593
686
515
652
580
651
531
531
560
649
638
650
633
603
685
650
547
580
525
687
518
697
590
608
601
538
690
600
628
606
691
688
685
524
684
623
582
613
665
578
545
685
656
643
510
662
504
614
512
689
574
607
513
669
574
642
679
668
636
609
683
543
529
650
655
692
612
564
649
518
664
574
598
542
578
531
546
570
589
554
543
539
536
621
689
515
646
630
594
567
516
668
622
534
582
578
632
500
660
652
519
538
635
595
678
577
522
643
669
511
551
674
512
574
614
644
586
700
501
530
637
666
603
538
626
527
500
555
505
503
677
621
616
526
669
625
635
634
690
538
514
615
697
676
614
537
667
517
600
651
573
659
672
552
509
634
588
669
522
545
682
555
579
699
691
517
690
632
592
634
617
568
664
555
536
694
650
639
517
527
622
675
540
549
633
673
511
604
580
662
538
607
698
624
573
545
642
605
592
503
614
676
523
616
698
662
519
680
598
595
696
605
592
594
577
509
661
623
584
521
564
611
507
534
551
680
544
636
593
645
611
640
569
699
538
665
574
575
531
622
546
639
681
665
554
522
570
684
517
608
675
554
684
672
633
687
595
670
645
642
637
579
680
524
643
661
628
595
630
567
666
671
610
549
646
570
607
641
559
557
583
535
689
530
540
524
592
588
640
672
504
661
597
685
626
643
638
690
651
512
500
664
553
646
621
557
583
648
623
642
602
522
577
527
669
545
504
618
673
678
675
640
682
598
558
653
594
627
619
685
564
653
569
572
669
551
539
663
643
574
649
524
613
581
681
575
688
664
615
526
553
570
690
676
690
683
506
582
523
552
659
597
505
667
677
513
649
624
547
690
649
555
536
566
676
522
612
653
576
551
556
576
560
671
581
645
513
552
587
659
536
562
516
669
629
537
519
567
629
640
512
542
677
539
700
543
527
517
562
577
622
618
574
696
501
604
696
556
503
666
632
695
688
689
570
535
669
568
648
560
696
597
575
600
513
665
500
625
520
502
535
675
700
632
677
573
535
637
507
501
507
576
600
512
583
600
637
551
599
661
662
676
512
563
620
673
678
644
611
667
654
630
548
649
624
641
569
644
514
526
590
609
580
698
680
579
593
559
589
616
575
510
604
548
604
652
661
583
566
531
607
630
527
543
684
504
634
674
620
537
613
657
623
638
682
518
566
638
593
642
567
635
677
644
649
541
669
603
559
564
564
528
541
696
631
690
645
666
548
593
668
597
681
599
684
555
603
662
545
646
608
566
632
525
578
671
587
700
593
553
564
539
539
676
586
563
686
593
684
556
655
533
657
665
681
617
579
605
630
554
652
548
567
648
511
552
561
683
611
535
554
655
629
608
588
521
670
535
583
621
512
572
665
581
613
639
654
637
568
640
535
622
532
622
520
654
546
520
573
608
597
599
569
533
502
618
622
640
621
638
526
653
542
521
561
550
596
542
561
620
513
513
610
659
689
693
571
530
521
538
568
624
527
622
678
551
598
597
605
668
564
534
617
555
513
697
558
595
646
671
669
546
683
637
616
522
670
631
563
588
501
637
635
667
571
546
680
600
627
566
581
698
672
663
640
553
641
572
696
617
506
640
639
501
676
525
690
588
600
517
582
605
649
669
673
551
552
686
650
551
628
511
602
629
515
631
696
652
661
683
604
614
641
578
678
525
547
579
612
649
551
634
565
688
598
605
602
696
672
562
563
647
547
644
646
686
622
674
540
512
591
521
507
517
616
507
591
663
563
602
617
565
600
585
580
505
661
612
511
640
668
677
545
635
515
662
687
689
533
670
610
626
686
678
691
623
549
517
586
629
600
643
539
654
584
579
502
673
585
532
596
634
585
562
629
593
633
551
654
590
623
577
557
543
510
690
598
517
657
590
692
519
670
583
638
642
642
557
668
614
556
540
592
665
582
511
537
614
542
697
693
574
555
521
575
647
612
686
513
590
566
506
515
544
502
696
699
595
600
568
521
572
689
650
585
601
537
645
633
565
617
567
562
602
512
556
630
632
605
644
612
636
638
656
524
554
595
554
637
616
592
645
694
599
511
504
677
528
554
593
680
609
586
675
541
590
613
524
582
687
602
637
685
608
544
633
565
534
661
606
560
678
530
583
570
595
507
614
571
605
564
635
528
507
668
502
516
627
692
641
568
522
666
595
502
555
618
682
501
643
666
700
688
558
504
663
642
621
626
675
567
651
523
687
664
581
650
500
626
615
523
629
567
549
653
561
543
550
638
626
646
579
598
521
678
673
588
528
644
668
619
581
680
614
607
649
674
550
622
562
539
516
664
531
527
617
678
505
503
514
653
504
555
531
577
549
514
657
667
655
630
595
535
686
605
668
553
563
582
634
501
512
696
661
677
515
585
591
618
533
537
634
591
536
623
653
602
651
654
589
574
531
537
627
647
685
672
584
555
614
603
683
676
573
674
508
584
603
638
691
693
661
616
606
545
638
636
583
534
653
619
574
604
675
527
520
584
505
639
593
590
552
608
668
571
597
615
588
549
561
608
571
529
624
518
549
554
581
521
638
675
563
670
509
580
559
623
633
693
681
616
508
563
554
661
601
648
625
693
526
529
650
611
562
609
607
654
681
509
695
570
689
668
655
563
513
547
583
575
672
564
606
700
699
681
610
529
513
569
610
524
700
623
534
672
605
642
614
596
603
553
604
692
572
553
552
635
589
571
696
574
688
578
603
566
520
528
591
597
562
545
519
526
543
672
561
541
537
575
596
611
524
504
676
593
633
603
689
526
647
564
558
681
700
568
652
539
647
602
599
660
557
607
653
571
524
618
590
550
584
685
527
549
572
526
540
595
646
639
607
636
517
514
528
665
670
503
585
510
613
574
500
675
599
597
635
537
564
566
548
634
700
592
644
627
695
570
573
575
578
549
532
661
513
597
615
562
600
544
653
584
546
662
578
544
546
592
625
651
586
690
684
527
555
674
619
566
666
667
504
592
519
535
547
562
593
582
608
627
684
611
691
679
524
550
586
595
700
600
656
525
560
506
590
639
634
587
556
631
613
685
584
581
612
545
625
573
570
576
639
617
686
527
522
596
562
698
557
596
597
576
580
605
618
637
592
542
568
595
526
677
608
590
530
699
646
656
526
582
663
664
606
516
516
522
505
660
628
651
668
677
550
625
558
634
673
588
688
598
641
501
661
684
529
527
632
524
551
571
547
606
509
529
635
645
636
671
660
503
591
700
512
678
619
567
545
595
700
519
656
542
624
542
641
512
530
649
530
609
561
640
688
539
663
534
548
650
559
627
546
540
542
586
525
654
691
537
566
673
630
534
580
656
530
582
553
591
591
611
660
595
565
672
664
542
694
667
532
536
539
551
577
684
552
546
569
659
649
507
503
626
601
648
625
651
554
517
580
523
518
624
516
569
638
582
592
558
538
548
501
592
594
539
627
543
549
519
563
685
582
530
662
700
671
688
681
582
673
640
660
579
581
670
682
545
657
539
626
616
545
572
611
677
567
679
613
623
586
538
690
680
550
665
593
635
591
622
570
642
592
648
684
657
690
667
529
525
596
625
552
513
615
635
627
623
537
669
594
593
626
572
680
573
632
670
562
570
638
660
565
608
552
526
509
528
666
612
640
539
506
564
644
588
500
508
681
552
650
669
582
573
566
616
680
529
676
528
511
548
560
694
612
689
673
567
614
500
609
612
538
524
529
661
630
561
534
557
594
597
552
649
617
679
537
581
603
502
590
547
664
599
678
699
679
620
504
515
664
519
598
642
591
616
634
598
562
631
529
635
679
686
562
532
661
683
679
622
655
682
637
678
587
646
552
586
501
559
535
600
621
685
641
700
590
688
547
653
551
681
503
690
611
585
518
683
598
541
547
527
592
679
604
659
638
576
504
662
657
576
542
546
669
602
552
631
684
609
513
671
654
635
618
638
581
515
582
577
517
634
606
536
667
655
694
502
514
639
660
578
526
592
595
619
624
654
546
556
690
538
576
658
525
585
556
502
513
560
667
644
537
618
586
524
694
594
633
629
598
506
580
658
551
674
513
640
565
559
596
513
568
540
509
631
576
613
504
671
571
653
505
515
619
646
683
517
550
668
500
549
596
510
585
548
567
566
671
656
500
542
503
549
572
543
517
677
637
585
628
662
617
560
624
603
670
601
628
516
565
644
578
610
628
602
502
601
528
636
658
512
655
548
597
589
554
563
572
640
686
533
544
514
523
692
672
641
537
537
550
561
522
526
616
568
606
620
508
686
574
649
633
634
538
619
684
692
605
570
682
500
686
574
695
690
681
655
526
650
651
604
645
594
614
661
676
639
617
647
505
521
672
611
687
565
540
652
628
639
692
526
642
637
672
651
668
640
552
586
656
517
631
655
695
619
503
656
580
625
551
618
524
605
555
646
552
507
504
691
592
614
640
507
672
633
659
570
565
639
687
529
589
695
521
601
603
515
640
515
550
657
517
666
528
594
649
681
667
578
522
632
693
553
605
601
625
661
696
560
668
540
618
689
519
574
527
609
522
582
539
657
696
680
567
522
585
589
675
521
579
510
520
570
676
550
537
591
689
667
594
673
649
681
530
528
590
668
573
568
590
500
651
570
636
693
503
658
689
679
597
534
520
570
556
509
608
575
646
664
517
581
546
609
689
574
551
700
579
674
526
527
518
572
553
620
530
578
500
514
558
525
562
572
664
576
657
606
584
539
595
650
591
577
623
632
528
548
621
563
516
541
680
691
592
524
582
649
697
654
550
544
524
569
561
501
641
672
625
695
653
548
558
544
512
604
509
518
534
569
684
684
584
530
661
623
609
648
640
653
675
697
576
535
552
670
644
675
658
612
532
574
553
578
646
558
627
626
669
679
696
506
550
579
624
611
640
585
692
637
632
576
580
642
574
631
596
664
504
554
513
654
626
592
679
692
601
644
545
526
596
527
584
692
545
540
504
504
623
613
534
678
588
621
666
511
566
657
695
565
521
684
565
545
632
634
694
696
562
509
567
626
552
671
699
618
616
593
660
584
588
582
572
633
612
672
562
563
634
575
650
684
620
612
604
532
666
658
631
670
591
655
622
611
533
639
522
624
575
647
636
545
656
614
538
620
560
546
525
570
617
506
633
526
630
654
565
667
687
692
643
541
628
542
560
575
521
595
659
533
664
682
598
593
659
621
537
643
505
554
620
518
542
624
544
572
570
517
660
570
670
622
533
638
700
646
650
674
674
631
534
561
691
559
613
657
594
641
668
515
679
629
505
535
555
661
586
684
539
664
589
554
662
687
637
530
668
684
544
593
536
640
637
590
541
592
631
609
519
508
696
533
640
671
608
694
548
657
543
538
571
623
523
502
556
525
538
698
618
517
632
530
658
634
558
561
621
672
541
521
636
522
638
644
534
618
549
684
535
597
676
694
642
560
619
698
610
577
584
600
646
656
675
681
566
577
529
523
660
511
533
623
667
539
601
617
675
572
503
670
520
500
617
576
505
686
652
519
670
623
634
558
534
607
524
554
598
620
607
665
656
597
583
689
565
524
559
699
654
554
668
617
567
607
598
505
526
512
586
636
591
699
608
539
623
643
665
582
650
652
657
540
676
648
585
640
529
575
662
684
646
665
608
641
504
599
555
640
535
626
659
613
677
536
518
566
622
516
506
607
569
549
591
629
501
599
615
671
638
545
669
510
576
523
671
541
696
681
578
652
586
578
650
516
646
580
552
516
671
576
583
617
624
692
687
503
578
525
648
585
591
547
610
531
682
516
615
599
583
694
645
534
587
555
616
687
629
584
685
549
637
599
665
514
612
683
673
563
505
500
590
510
683
661
688
699
594
670
618
558
548
690
678
636
578
679
568
504
590
675
696
580
509
568
671
672
602
525
597
686
642
693
522
673
518
658
636
674
667
529
692
678
654
678
559
567
591
509
608
525
581
512
666
619
587
608
539
574
504
610
660
641
587
643
515
600
666
591
532
620
561
673
529
610
542
696
609
696
648
649
600
664
516
651
680
669
603
526
514
504
581
612
520
574
541
689
548
535
556
603
675
597
538
572
668
657
520
599
512
560
541
693
514
532
630
549
649
633
605
559
526
508
689
587
530
509
584
609
647
675
564
681
539
647
556
540
611
648
654
616
526
672
615
631
504
545
509
595
602
532
612
518
640
558
648
689
538
602
581
677
582
619
636
656
621
539
675
678
692
639
542
686
574
532
660
544
545
521
658
612
645
630
635
501
502
692
562
681
664
529
665
569
637
555
603
581
553
544
662
505
634
604
554
700
620
643
523
500
666
693
577
686
572
668
617
549
609
698
502
571
648
578
585
543
678
689
591
561
597
526
510
599
548
676
549
629
542
582
579
605
690
679
693
580
522
665
538
561
558
584
538
589
525
511
596
574
653
615
508
608
527
562
508
598
689
586
602
666
672
671
554
538
568
504
689
514
671
516
598
612
537
542
546
631
627
539
698
698
636
694
641
594
529
523
510
582
637
666
620
582
587
698
534
506
627
586
533
582
560
565
552
583
540
531
608
610
685
520
577
623
605
654
618
549
588
645
577
516
697
676
504
613
577
504
602
575
596
514
628
685
584
621
532
685
618
576
631
617
684
561
649
697
612
605
635
681
599
698
501
653
565
561
568
565
654
562
621
567
506
601
630
597
601
648
671
810
875
921
983
819
848
889
988
936
834
905
950
811
801
915
870
875
989
986
832
932
960
855
995
831
828
912
863
846
803
852
954
910
866
967
856
992
832
882
874
936
902
908
826
997
844
822
906
801
889
949
945
972
940
914
903
980
956
935
910
980
947
978
992
914
822
880
885
907
839
950
852
975
880
820
842
806
985
867
932
936
855
819
881
874
993
801
951
984
882
816
999
886
995
958
994
944
986
800
807
864
838
847
889
851
933
849
870
891
922
933
920
993
883
818
959
890
906
941
801
952
816
909
941
904
851
804
1000
917
837
948
949
910
985
939
810
952
942
838
856
870
987
966
802
971
911
876
932
893
954
840
947
859
851
869
800
903
833
910
858
981
911
898
830
918
966
898
926
907
830
834
883
961
855
989
975
895
925
812
923
959
959
837
952
846
951
996
974
903
915
835
898
946
834
906
832
886
827
929
934
925
970
973
876
901
943
886
838
871
891
880
968
853
940
950
823
814
933
851
832
936
827
966
838
940
922
894
969
916
907
862
873
920
995
972
894
991
950
877
838
915
910
938
883
837
978
941
850
877
970
856
964
840
919
940
820
950
991
944
861
803
882
982
946
975
849
850
971
821
906
812
891
997
901
882
903
975
818
986
919
855
884
863
917
862
824
841
980
991
823
804
938
964
989
815
846
845
886
903
823
826
963
911
958
963
858
921
990
855
1000
917
904
885
915
862
943
882
999
860
831
917
919
948
922
921
909
809
907
851
802
897
832
918
926
916
908
864
886
990
859
929
859
817
829
910
825
905
900
997
847
878
909
902
822
849
941
873
808
822
941
960
979
927
925
995
844
943
875
922
903
923
883
993
915
835
805
992
927
813
943
984
938
861
910
912
904
855
833
933
965
945
970
897
850
943
878
991
991
949
953
994
826
963
806
850
983
952
992
807
855
966
983
911
842
829
885
803
968
937
979
985
982
841
933
961
934
832
993
936
888
988
841
977
933
968
840
968
962
817
972
910
959
953
832
888
971
842
852
913
849
822
814
972
1000
923
990
915
887
830
813
867
886
946
825
969
886
873
817
853
862
899
873
925
880
976
866
861
936
951
947
866
857
815
885
903
900
885
851
874
926
984
937
999
940
806
954
805
901
832
931
888
995
988
886
916
964
954
919
888
999
867
885
931
990
854
925
879
883
881
903
921
917
941
810
831
867
894
806
913
824
926
829
920
903
865
876
835
950
825
952
977
909
959
935
941
954
986
921
900
963
954
861
975
837
940
914
943
879
805
854
935
893
894
845
869
962
893
960
990
993
866
954
891
918
850
834
867
809
949
965
934
977
965
963
835
905
884
843
853
884
859
911
872
923
939
929
892
968
849
955
839
867
941
810
969
835
802
922
855
864
817
980
872
858
871
954
924
818
911
970
966
855
945
833
905
912
1000
922
907
943
937
908
816
951
929
860
913
863
906
866
806
937
999
938
844
830
801
993
907
886
845
845
897
831
929
950
966
829
943
834
931
879
803
994
882
947
878
813
942
922
944
855
983
882
944
855
866
861
938
910
963
950
849
999
978
833
814
801
953
872
838
852
972
802
868
833
843
922
837
865
969
855
867
836
905
982
912
975
905
988
983
945
986
895
902
968
985
852
864
956
945
851
987
958
990
872
862
947
908
947
920
870
877
823
952
962
968
891
854
825
817
850
846
866
875
824
987
968
800
812
816
877
851
853
885
832
958
852
988
920
808
948
833
953
838
875
805
998
803
805
940
823
964
952
909
984
816
848
996
960
862
806
870
879
867
925
906
863
895
868
975
948
910
958
801
990
970
863
963
818
863
984
860
995
945
875
809
845
853
895
996
994
973
1000
815
981
863
928
949
839
847
832
969
951
980
931
848
873
884
836
975
830
944
837
871
844
804
818
904
967
990
997
819
856
902
857
924
837
831
937
812
949
843
958
807
819
852
856
827
994
934
819
896
827
982
935
864
848
817
847
952
803
991
928
806
992
867
846
947
889
811
987
890
865
891
845
986
974
950
838
913
863
991
928
909
873
951
864
882
829
836
813
880
900
808
886
973
829
890
958
814
927
827
919
832
837
859
897
804
806
898
969
925
996
820
918
841
866
812
904
800
823
925
887
909
987
819
968
937
984
878
951
943
815
956
937
992
813
996
862
858
890
801
976
832
885
905
919
987
929
983
975
913
972
901
955
924
849
967
884
817
905
998
967
998
904
947
996
820
926
870
962
811
816
807
952
885
945
995
950
999
837
945
979
981
843
864
835
895
950
877
825
890
814
909
870
962
884
987
809
858
856
874
886
957
952
883
971
817
928
857
974
805
969
932
874
988
855
939
813
946
867
887
915
861
984
852
960
812
876
905
997
826
908
982
976
915
873
937
879
938
931
925
935
937
839
806
898
956
854
841
828
928
890
875
965
807
942
835
997
995
982
828
979
907
912
865
928
970
871
995
920
985
862
872
830
824
862
952
907
914
905
822
948
984
981
876
861
985
937
981
814
963
950
877
884
979
894
982
835
940
934
917
895
926
800
842
915
816
896
819
930
939
887
880
883
973
990
933
862
840
823
971
942
917
965
906
946
890
822
956
998
936
946
986
847
914
868
811
842
862
962
834
887
834
1000
946
845
979
942
990
872
904
902
903
805
955
898
946
896
933
810
993
914
810
918
873
985
946
988
952
994
868
951
959
964
893
925
897
996
991
925
975
875
880
883
999
844
818
830
877
829
916
907
975
955
936
938
823
826
921
968
820
932
911
902
857
804
845
846
833
927
806
893
862
895
872
803
954
810
805
889
865
839
826
995
999
963
829
896
828
894
802
905
862
851
838
820
881
814
982
982
889
852
808
832
939
971
851
874
817
875
933
800
922
931
944
916
842
825
801
981
811
814
941
878
983
804
963
813
993
978
927
866
804
865
823
939
841
855
963
922
948
876
906
821
980
810
950
966
922
986
858
900
853
926
978
901
828
916
999
916
815
836
824
901
931
908
993
997
951
973
971
916
948
867
891
818
997
947
981
906
884
974
826
830
880
847
828
970
899
929
846
942
925
882
883
1000
854
966
928
937
800
960
801
838
879
806
801
934
964
865
982
851
926
821
873
932
888
890
850
873
957
845
862
968
961
809
825
957
989
815
888
989
905
861
814
939
903
953
877
905
904
956
900
823
963
899
857
943
986
999
966
939
820
981
982
992
935
984
951
962
849
955
829
851
995
959
872
885
912
950
985
861
918
814
983
878
868
890
923
848
972
921
996
849
966
879
820
926
954
973
906
828
942
980
927
927
915
850
848
891
969
964
855
831
970
861
862
801
963
982
927
861
976
856
884
945
844
890
890
920
895
838
963
875
929
943
982
810
995
820
924
906
901
962
948
871
979
922
952
926
974
999
854
849
888
850
835
934
970
997
833
859
943
987
807
976
920
816
836
946
868
909
876
811
898
845
950
956
887
800
863
870
944
950
916
958
856
949
949
858
925
863
873
899
826
898
882
800
927
934
983
887
824
867
851
839
912
970
849
997
845
815
800
993
967
967
848
934
916
905
853
957
871
987
989
927
876
894
848
886
854
979
872
827
903
813
991
907
867
877
948
914
869
914
977
825
959
907
872
899
837
847
855
926
896
858
899
946
920
892
841
891
899
810
979
885
917
928
929
803
914
806
894
941
962
967
987
971
819
853
922
865
908
852
974
893
856
834
973
908
957
801
951
831
987
938
855
897
836
946
949
956
899
869
859
981
966
928
874
818
926
971
884
964
830
823
992
985
806
875
903
902
918
954
897
903
967
975
941
838
827
944
862
897
826
905
978
894
818
981
953
890
860
910
989
901
810
821
851
995
974
922
851
894
953
922
926
834
843
991
924
980
866
867
945
958
990
955
887
942
846
1000
953
898
874
976
881
935
806
817
857
907
819
964
955
934
959
876
951
873
870
803
844
829
960
802
950
915
836
905
983
909
860
893
891
923
839
983
833
982
865
877
877
927
901
831
863
996
978
829
971
953
975
963
852
817
829
897
965
910
807
907
914
877
988
821
968
822
988
985
988
839
926
979
851
996
815
884
879
849
837
967
926
951
994
917
916
959
812
816
860
926
868
868
802
989
810
938
814
945
821
986
948
839
911
911
845
830
995
873
982
810
922
871
832
869
800
886
825
857
922
955
983
836
997
813
801
954
933
999
891
981
930
922
839
916
976
855
866
945
926
891
950
969
872
874
910
856
986
858
896
890
876
978
921
809
977
868
971
895
908
818
832
866
972
984
931
960
855
996
874
885
989
815
879
952
815
855
830
953
925
988
878
889
933
869
886
835
897
865
1000
991
902
873
874
927
862
956
865
982
916
910
848
862
957
920
887
909
989
922
812
884
859
833
956
894
800
868
913
909
847
875
996
906
955
953
803
972
872
890
851
964
852
949
905
837
864
938
864
942
981
935
891
973
858
934
952
957
844
896
857
886
929
855
967
974
830
823
923
827
939
805
980
971
894
835
821
857
995
893
871
940
866
958
878
837
995
822
932
917
976
885
989
845
807
821
871
951
824
922
992
925
988
819
975
948
851
809
853
996
927
834
923
872
865
865
849
832
853
993
805
877
937
946
914
871
933
843
811
943
902
821
938
871
808
853
890
830
871
841
970
888
961
935
971
838
843
965
872
807
855
991
825
803
816
827
947
944
902
964
943
993
840
981
885
830
802
967
892
838
894
833
873
834
997
993
826
965
982
924
960
863
907
860
844
871
963
880
918
904
832
881
934
937
810
801
865
938
827
973
915
933
907
901
938
877
989
851
829
867
840
930
817
828
973
972
807
937
922
896
968
921
833
968
984
936
857
987
981
968
965
932
878
858
996
989
936
861
914
973
803
806
902
884
966
880
819
947
912
910
932
867
943
983
995
947
891
906
871
945
913
838
937
917
913
847
859
910
883
874
956
971
816
961
890
837
801
939
884
913
994
840
836
907
965
841
961
953
988
939
860
892
829
876
843
971
901
856
863
878
921
947
955
907
819
891
879
912
841
900
968
871
940
818
905
950
858
889
974
852
967
924
805
970
979
856
802
973
927
872
850
959
859
853
981
945
843
924
832
960
896
904
943
976
975
835
978
963
998
876
812
899
975
842
927
888
844
911
853
954
941
895
899
962
970
917
860
861
874
826
870
814
886
975
896
979
966
901
957
876
920
966
944
899
957
981
979
946
833
960
919
973
838
889
887
912
889
856
936
920
885
845
825
972
833
909
832
953
864
926
881
891
998
832
915
912
957
859
902
925
870
909
935
833
988
912
900
1000
955
905
977
854
954
998
825
915
839
984
860
960
858
916
945
994
830
995
914
908
820
876
909
959
828
974
974
923
889
866
850
963
970
854
969
961
925
817
862
923
900
855
947
904
959
979
999
949
903
892
926
912
814
975
928
982
818
967
951
880
929
878
932
804
950
875
859
895
960
955
888
823
950
938
893
939
807
979
944
805
955
996
996
956
937
974
927
844
909
913
870
942
958
837
946
885
931
920
985
843
896
830
954
974
894
972
837
895
958
828
965
977
964
813
840
920
944
966
847
811
911
980
846
975
921
882
906
905
928
844
991
980
981
848
812
887
967
855
876
973
930
810
995
835
852
831
880
876
979
830
916
884
940
830
973
816
907
932
864
807
851
916
848
859
958
813
927
892
888
841
862
902
896
941
977
830
1000
996
1000
822
906
823
966
991
941
847
968
821
807
920
974
927
964
882
957
847
945
993
937
937
935
884
976
962
830
813
811
915
823
981
939
973
900
922
893
812
995
927
959
860
836
975
959
850
803
942
890
880
959
802
828
917
915
892
810
929
844
937
835
962
978
804
817
833
895
947
866
929
836
939
848
816
961
949
885
932
897
960
939
910
873
826
972
859
957
902
996
874
983
850
853
921
862
970
878
891
831
944
922
886
806
969
977
895
850
898
880
917
940
895
983
988
934
962
849
926
952
992
927
993
913
832
893
924
851
811
972
830
819
842
958
949
804
867
802
879
928
904
954
868
912
869
970
880
852
847
956
823
865
921
985
833
867
841
961
884
879
966
908
914
993
919
925
867
936
930
833
990
841
909
876
804
911
946
972
864
803
921
850
828
886
913
807
909
928
890
825
932
806
995
850
847
839
841
911
927
966
988
984
849
893
828
842
988
928
955
997
872
963
905
815
874
962
856
811
912
924
866
900
807
981
937
923
804
813
918
916
919
997
982
874
807
932
983
807
978
882
871
925
897
835
925
868
855
922
856
905
801
912
978
904
985
930
807
967
932
825
976
878
989
869
842
958
999
905
911
902
927
803
901
810
961
829
906
892
936
916
955
955
851
869
841
822
947
911
825
900
821
869
895
939
909
890
805
942
880
979
901
918
902
822
906
844
841
922
845
811
828
917
992
997
970
930
851
942
904
829
999
987
862
822
869
911
878
963
932
984
946
960
896
829
840
804
994
990
853
870
929
883
830
923
845
997
978
922
995
938
905
864
824
802
999
831
929
977
937
863
915
887
974
843
972
926
987
898
899
835
851
967
805
838
876
874
856
861
864
851
988
992
937
974
855
812
883
828
886
850
828
819
891
964
844
904
844
838
860
825
879
853
825
877
912
941
902
980
988
889
943
842
813
1000
985
848
878
949
877
875
839
814
909
871
839
849
838
821
893
872
950
983
944
893
974
839
864
838
823
844
865
979
988
818
886
865
963
843
954
889
895
989
802
972
856
944
981
944
823
995
915
887
955
887
853
923
818
938
887
989
917
819
998
926
922
989
904
946
862
817
885
848
957
952
950
820
837
802
820
843
902
837
844
981
834
983
958
952
946
986
868
975
936
995
839
929
840
931
937
809
871
993
875
913
866
997
878
946
911
869
890
996
802
822
856
873
963
989
895
806
845
987
995
996
860
863
923
928
875
978
956
814
812
819
824
892
963
878
879
988
998
869
824
962
890
848
982
988
845
968
834
941
815
805
915
995
986
938
891
811
898
994
840
846
950
823
977
908
947
814
898
865
936
836
951
990
858
903
859
841
881
821
977
890
820
862
993
965
806
878
841
996
922
965
928
964
908
947
986
809
919
829
982
889
997
858
908
993
950
912
898
825
895
819
903
862
919
941
973
896
872
826
876
929
832
822
947
926
929
977
889
866
853
899
976
926
946
871
820
947
957
922
825
949
815
999
979
884
837
972
894
888
899
803
914
817
974
934
939
955
820
811
860
941
832
904
958
947
807
897
860
943
992
820
848
822
914
942
853
871
819
975
819
915
904
858
854
975
809
920
810
994
801
978
810
997
812
844
968
829
870
884
966
848
800
848
895
900
898
894
870
901
869
828
956
906
840
935
956
945
940
849
931
899
991
872
959
969
901
944
877
855
911
982
944
931
840
990
979
818
817
884
920
875
916
849
844
920
854
889
916
843
944
905
801
969
940
804
974
887
919
985
850
891
897
926
823
1000
991
810
986
938
815
1000
802
823
979
996
988
889
899
973
817
830
932
872
982
917
861
879
821
857
970
969
857
879
858
910
957
988
948
869
832
836
997
921
933
845
802
887
904
964
965
867
970
894
815
860
979
980
991
858
876
884
1000
914
911
813
892
958
809
870
890
830
902
899
998
940
960
952
940
993
814
818
821
836
875
924
891
987
994
912
915
881
907
916
909
979
966
857
835
839
854
970
975
854
902
970
961
904
824
837
804
984
953
860
922
825
838
835
848
944
883
872
967
953
862
825
953
815
947
973
971
837
901
939
863
977
948
936
821
896
982
855
924
814
865
899
818
986
843
988
876
889
882
851
888
945
936
914
853
960
876
917
949
800
983
890
873
875
960
986
896
822
809
926
862
855
877
866
993
884
929
862
858
957
884
925
915
966
931
846
938
946
836
967
841
860
927
849
866
873
855
995
826
852
938
840
993
914
957
861
849
955
837
817
908
894
987
816
881
887
900
866
950
858
887
805
870
922
877
905
997
831
936
883
838
818
864
854
889
903
993
823
872
920
901
866
850
878
945
924
838
950
944
838
881
801
960
978
955
822
816
882
811
925
979
909
892
949
926
928
865
848
858
896
834
956
807
829
885
896
939
960
997
867
979
973
823
818
909
880
843
869
921
916
958
803
820
972
957
828
879
995
836
942
959
918
892
944
857
953
895
863
949
854
935
810
809
826
847
873
993
893
865
887
974
840
834
953
846
809
825
841
870
943
932
987
801
892
914
939
836
861
802
849
845
976
927
994
928
881
999
977
808
916
854
850
814
837
808
921
923
956
901
979
969
966
872
936
852
1000
949
947
994
920
851
849
938
805
843
888
915
858
971
984
908
992
959
870
845
843
876
900
878
887
921
839
993
822
999
825
866
982
983
961
986
983
845
957
982
838
863
892
869
902
943
976
868
872
863
923
866
920
880
988
842
935
859
843
945
824
973
999
803
817
933
902
961
900
963
830
909
834
862
917
934
803
949
824
991
841
845
983
871
884
881
834
865
980
817
888
993
928
824
975
972
965
980
978
975
967
879
821
850
894
863
891
803
891
860
884
857
817
952
932
882
894
932
931
856
969
982
916
903
908
822
961
896
860
984
834
940
869
962
938
886
993
966
979
935
866
849
863
965
963
803
893
930
904
904
830
957
811
881
827
986
877
939
803
981
874
844
889
907
882
820
815
947
975
932
810
977
896
812
884
965
927
825
886
879
819
871
956
918
898
960
898
872
898
837
843
930
819
893
998
881
811
988
938
886
820
951
935
962
963
931
959
833
949
950
946
807
873
935
852
872
900
945
804
864
883
809
945
820
874
879
903
966
836
953
954
999
816
865
823
965
962
987
916
847
835
991
973
810
950
873
811
963
936
880
993
971
990
986
995
991
854
834
871
950
900
968
942
816
897
827
859
972
908
970
939
933
804
909
894
977
836
974
904
859
827
809
855
958
857
831
864
913
854
885
956
816
993
967
834
802
994
957
819
818
898
887
946
833
803
830
910
940
912
929
923
985
965
825
863
988
981
833
995
844
829
894
908
945
841
905
876
918
905
836
843
887
968
811
996
994
942
809
895
986
924
934
842
878
968
962
942
870
829
867
998
864
849
999
952
832
889
808
995
836
919
913
843
822
966
887
829
902
947
803
883
899
995
889
885
870
899
904
910
861
912
948
919
878
953
612
518
529
642
514
684
512
673
654
659
670
621
536
620
641
682
668
612
519
649
502
692
582
650
610
665
573
566
587
622
662
546
559
619
528
692
522
626
650
637
630
665
668
586
604
508
531
651
577
692
598
634
517
596
612
527
501
683
537
662
509
570
695
593
557
667
662
619
528
682
659
523
512
695
580
655
500
583
576
619
516
680
647
538
630
618
677
673
699
573
697
629
599
598
501
667
573
662
576
569
534
680
559
523
618
617
555
693
684
535
671
665
684
517
504
648
531
590
621
660
671
654
586
603
668
657
544
574
639
679
674
561
692
595
511
613
681
544
593
643
691
517
648
657
509
533
664
700
585
700
668
688
627
562
500
594
535
641
539
533
687
632
673
573
619
530
574
610
668
586
501
558
669
700
653
523
512
654
699
660
564
653
537
678
578
613
605
536
607
524
504
569
522
599
580
517
656
573
680
523
510
658
529
682
514
540
585
614
629
632
569
695
605
530
516
620
677
512
590
641
620
585
618
500
530
655
555
558
685
646
517
549
540
616
679
576
521
624
512
531
617
604
514
546
569
544
531
688
631
569
605
516
659
554
578
609
515
504
677
567
530
641
691
560
557
542
700
592
635
625
502
688
676
604
628
514
622
545
519
644
652
562
504
540
691
551
529
604
672
539
648
570
629
644
621
638
542
560
656
548
501
521
626
584
588
661
528
692
571
579
604
667
569
653
515
652
659
639
582
666
695
687
612
537
580
531
635
547
606
594
632
588
591
545
575
522
590
508
550
698
610
681
666
572
690
659
560
635
610
570
606
634
518
576
657
513
664
526
645
511
684
666
554
507
659
638
563
581
602
571
535
571
688
688
675
602
663
672
664
585
525
655
513
576
598
660
569
684
687
517
564
671
560
584
557
656
625
677
575
531
638
515
542
563
625
532
607
559
694
581
555
617
682
661
668
506
655
641
586
590
554
628
613
698
596
668
666
507
549
617
660
612
635
627
514
636
657
643
684
556
569
693
507
638
619
696
683
626
633
514
502
529
565
567
559
543
536
663
513
554
675
658
519
591
652
699
607
658
573
541
587
666
671
664
580
582
636
670
691
614
665
512
659
549
576
566
556
639
512
596
638
673
607
513
691
500
693
605
576
565
582
689
601
684
559
519
632
657
549
678
611
598
640
602
598
627
652
504
609
580
683
622
555
665
627
570
578
539
543
632
626
563
581
581
534
638
538
592
652
587
622
531
530
672
691
656
552
598
575
666
581
519
665
649
614
661
628
686
517
663
696
685
614
686
538
592
555
617
597
596
659
586
556
546
535
635
676
613
540
519
649
637
648
634
603
570
580
614
636
682
653
688
571
664
631
514
587
665
672
543
533
660
555
518
514
634
661
539
638
515
552
525
549
588
629
509
687
620
544
539
517
533
639
676
636
565
666
542
687
553
617
664
693
515
670
540
545
653
631
607
503
684
693
574
532
693
562
697
543
527
519
555
651
592
658
648
573
591
509
590
637
508
681
632
651
530
591
682
688
603
527
649
503
521
560
536
636
529
519
675
636
501
553
621
552
561
609
662
587
649
643
589
510
524
650
565
607
595
593
501
639
591
542
606
547
656
587
674
527
521
654
507
591
518
586
613
606
603
620
626
666
598
658
549
546
664
687
542
524
518
501
597
593
688
660
546
659
558
567
606
564
521
644
590
674
635
671
666
502
550
569
582
582
640
569
645
554
651
625
618
625
661
651
520
642
646
628
685
563
603
635
673
637
510
667
585
692
696
537
588
680
594
640
616
548
662
554
546
528
503
700
535
537
636
538
509
555
623
549
647
548
648
594
534
674
559
623
671
507
584
576
647
620
586
687
593
655
556
685
505
631
615
693
505
643
648
563
628
665
657
671
622
565
615
691
664
590
504
581
657
620
659
604
529
606
660
567
569
624
668
641
699
526
684
620
582
533
543
513
611
632
545
687
551
604
588
536
627
538
676
682
519
652
573
608
620
680
663
509
520
589
647
661
618
641
697
573
651
662
657
582
623
565
537
595
598
568
554
582
558
553
649
512
562
518
597
624
560
656
568
530
615
586
588
572
520
667
502
661
618
700
515
596
625
529
621
614
573
666
567
580
525
657
592
584
631
593
620
583
616
696
637
537
536
583
579
522
626
651
696
553
618
599
685
664
604
597
570
500
525
697
660
607
530
699
541
532
515
601
592
548
581
580
518
691
505
510
672
621
620
519
684
625
507
552
627
583
655
690
594
537
536
668
524
572
509
507
621
524
606
572
556
673
691
593
548
596
659
630
683
694
666
589
569
700
689
611
604
626
529
623
698
609
647
646
682
684
669
537
540
537
579
612
677
546
668
612
676
502
665
563
547
650
556
671
566
549
569
697
688
677
691
631
536
505
572
590
636
557
609
562
537
591
540
681
641
606
684
593
555
533
506
651
564
699
635
600
527
636
595
677
665
501
680
594
538
618
601
669
510
674
646
620
545
501
601
601
669
592
646
532
504
631
700
523
691
544
658
564
659
564
673
633
652
573
687
606
619
600
642
616
610
631
573
662
662
590
510
614
646
669
600
659
631
572
670
503
525
521
517
561
594
677
616
694
655
566
538
585
511
526
542
613
682
555
602
691
533
568
666
665
556
540
570
603
524
698
528
668
699
510
511
547
506
657
583
648
685
621
641
675
542
629
613
509
539
646
664
661
551
521
584
592
599
578
646
507
570
575
594
692
646
592
674
517
580
629
686
691
623
670
582
696
672
663
624
527
587
676
581
612
558
521
502
693
698
539
570
604
675
668
519
508
536
633
502
683
520
658
685
643
540
633
545
532
628
502
552
598
519
538
700
524
662
586
687
641
643
661
525
585
613
680
621
542
536
617
694
620
619
555
666
647
515
684
532
516
559
581
502
631
551
546
541
547
669
566
566
684
588
533
606
591
592
670
545
610
534
544
526
676
565
681
601
646
507
569
545
606
676
548
531
673
585
667
517
650
615
536
583
538
659
601
608
648
677
535
552
699
591
638
657
636
611
648
681
579
575
564
677
603
562
621
542
541
665
618
567
555
678
510
518
669
586
596
689
611
547
513
588
657
607
610
658
608
670
528
641
673
508
524
511
564
581
558
689
500
651
606
699
538
578
603
622
565
643
595
602
664
653
609
563
517
513
642
667
664
637
564
510
587
599
572
641
613
641
525
692
566
591
560
506
503
507
525
681
548
502
614
557
528
654
579
524
683
631
522
635
691
637
515
547
559
674
633
625
682
513
584
566
595
665
665
653
688
562
526
537
529
506
620
644
570
563
655
639
686
651
543
533
515
582
530
552
612
517
507
584
560
512
573
517
561
572
598
609
635
686
610
696
545
551
538
632
623
575
563
610
520
635
663
604
673
627
695
617
699
615
687
625
677
614
557
644
557
584
655
519
545
527
506
574
547
634
568
596
651
687
539
568
698
640
519
629
608
517
600
544
663
574
610
652
579
501
677
656
695
607
627
529
503
559
516
501
616
614
700
561
587
560
640
582
510
654
517
530
566
697
602
521
545
671
562
515
503
697
610
500
670
549
679
627
572
553
609
561
632
698
590
563
613
536
689
652
642
565
664
501
621
549
633
595
696
579
565
591
695
605
687
566
580
642
672
551
522
522
592
570
523
618
583
597
650
576
535
622
669
541
567
664
586
504
515
556
634
663
561
544
507
668
667
575
660
632
682
668
672
570
537
562
609
549
700
666
547
660
538
671
557
686
552
602
516
530
679
582
515
567
682
580
616
661
514
513
563
614
673
611
569
553
581
556
580
671
513
675
596
514
612
581
669
504
678
528
546
577
519
584
553
660
517
681
550
557
646
600
622
540
509
535
629
554
620
525
626
607
546
676
626
697
502
671
643
662
568
574
664
529
627
512
684
673
621
669
589
638
614
695
687
670
575
543
561
516
642
657
643
669
559
556
671
555
569
571
693
637
509
563
622
538
690
660
692
606
509
516
637
561
673
540
506
639
684
619
561
535
502
505
641
520
699
523
635
549
604
506
586
611
695
555
638
671
674
540
589
615
598
630
603
536
575
595
646
684
638
536
586
521
676
642
630
655
646
539
621
645
551
668
583
676
592
683
577
547
634
650
687
670
691
676
512
547
555
501
568
676
540
522
689
613
612
695
612
585
631
503
503
518
666
697
655
660
664
593
675
580
641
506
684
648
541
682
522
595
535
693
577
654
698
600
599
657
564
585
644
649
579
575
620
636
522
565
567
620
553
597
699
559
548
677
541
593
581
686
620
523
676
590
672
582
575
631
656
695
574
511
557
679
688
604
556
544
563
549
695
619
673
569
637
693
618
629
630
667
615
558
625
621
596
533
548
597
500
592
633
570
524
618
608
635
534
547
546
536
500
563
640
503
566
646
594
585
539
521
606
659
523
664
672
665
538
551
575
526
509
550
675
584
700
564
672
605
502
644
670
623
697
689
696
518
612
540
696
628
609
618
612
690
501
555
500
624
506
618
612
610
698
567
669
624
672
640
621
564
506
623
620
682
659
650
606
586
610
543
609
574
601
690
515
675
542
611
576
664
688
654
656
530
611
607
628
592
531
514
658
554
624
523
500
619
664
603
520
654
503
644
575
525
697
542
605
685
654
586
514
664
510
699
574
548
695
676
668
507
603
543
615
568
624
652
561
554
635
504
645
662
587
588
549
655
508
685
693
660
680
527
538
578
681
596
617
603
530
608
633
505
553
507
673
618
515
588
512
557
609
502
590
542
502
656
607
591
665
616
510
624
651
592
687
514
551
540
623
511
626
637
672
663
531
601
686
637
677
540
608
628
503
660
571
671
611
629
563
538
679
555
667
553
535
578
613
654
577
628
644
534
503
565
517
518
509
517
581
578
612
599
532
512
522
638
640
653
665
572
698
608
538
544
653
543
523
672
527
538
646
692
572
694
531
564
507
572
694
666
522
554
698
632
692
519
613
579
529
524
699
556
648
686
683
592
700
631
565
685
679
553
644
623
531
501
659
680
514
527
644
503
578
550
637
630
558
571
659
584
530
680
520
548
511
509
584
533
542
565
587
627
588
522
560
575
569
697
699
611
612
662
512
583
619
502
569
550
579
603
682
696
529
605
629
590
608
536
532
695
528
634
657
616
615
650
613
572
517
587
697
596
509
640
641
577
567
639
685
508
630
603
568
532
625
500
517
547
562
614
619
612
542
686
640
663
678
627
565
681
504
604
569
574
614
509
626
614
576
679
636
608
530
538
513
515
610
509
567
693
581
648
621
603
667
512
598
502
603
582
514
592
631
511
567
656
510
588
591
584
555
510
566
684
515
641
637
553
631
526
520
509
568
621
588
511
508
572
624
602
635
549
583
628
649
671
658
563
579
678
679
622
634
515
678
675
561
510
665
675
560
620
644
638
673
504
578
532
571
577
576
557
575
523
611
589
607
573
632
530
672
621
554
697
611
676
666
654
662
633
590
510
549
680
626
527
573
525
650
620
583
522
595
669
621
694
565
640
595
568
632
680
573
696
523
528
655
625
699
506
523
629
687
573
696
581
605
695
607
578
643
529
622
673
526
611
544
508
651
535
607
611
562
700
685
639
555
521
531
535
658
549
601
698
513
597
589
575
542
533
674
636
679
634
604
594
563
574
617
615
523
628
656
504
503
657
529
512
586
516
629
698
628
596
599
650
568
509
564
541
618
623
540
611
691
634
510
550
653
506
627
533
529
669
555
618
674
554
633
506
669
664
523
687
693
633
575
593
528
529
596
520
526
503
515
512
675
633
630
533
530
573
589
560
522
540
593
592
686
672
683
564
647
562
530
569
684
572
601
545
599
583
544
656
542
633
583
555
627
612
594
514
553
615
694
654
620
538
539
623
555
508
503
520
636
665
651
596
689
518
623
504
587
605
690
670
636
622
547
614
540
566
622
578
563
529
563
638
640
673
636
589
507
555
669
644
576
616
549
542
650
574
540
548
694
506
522
548
513
601
689
679
698
644
563
677
511
551
677
557
661
527
519
640
524
670
619
542
585
538
536
628
638
693
524
538
525
672
517
553
597
558
638
507
668
545
544
668
503
646
616
686
635
589
531
549
600
527
629
690
592
658
524
633
508
631
659
654
575
533
571
698
690
561
601
529
501
624
617
522
653
612
634
693
655
580
604
617
533
629
573
593
565
632
687
596
529
650
666
531
679
561
617
654
528
505
510
543
585
501
667
566
612
500
675
662
532
562
544
533
583
537
536
642
523
608
696
514
597
607
665
533
526
696
600
619
662
694
520
516
578
679
507
641
507
575
537
613
585
695
584
557
700
509
535
607
591
592
614
515
526
600
658
572
615
584
693
561
581
585
583
685
625
614
698
548
660
506
580
640
519
516
529
686
525
670
525
502
636
648
665
636
520
607
694
613
648
509
659
525
669
686
621
698
545
546
691
567
593
655
566
531
590
676
532
654
632
675
517
608
654
697
644
576
666
625
623
684
674
684
608
575
543
505
674
513
694
690
658
650
694
626
663
676
698
641
657
671
559
662
539
659
678
510
574
650
570
699
620
613
531
529
559
637
687
603
544
590
507
563
541
689
552
578
613
640
505
504
515
681
694
504
699
584
544
599
507
575
510
506
545
571
523
613
584
682
504
648
671
583
663
657
533
623
503
545
530
630
507
514
556
621
561
635
641
524
577
683
594
648
573
637
637
598
699
584
661
612
623
673
647
630
627
670
535
507
657
665
503
686
561
613
666
597
500
683
666
639
534
680
520
562
670
514
679
678
673
560
514
635
528
646
665
696
566
582
688
669
612
670
673
550
663
588
674
605
547
683
632
693
664
510
617
514
683
669
601
598
596
661
612
589
524
628
611
655
651
671
537
527
678
631
528
521
600
532
570
622
655
593
669
693
526
622
511
597
534
557
618
610
509
598
645
505
547
698
636
635
513
534
624
614
619
526
620
529
591
682
635
547
524
583
586
694
537
631
678
689
647
681
683
628
607
557
663
585
697
669
569
645
606
671
503
690
559
545
691
654
500
692
667
508
575
634
532
505
509
686
515
621
616
695
539
517
683
539
557
641
564
521
566
515
664
572
532
666
612
680
624
608
644
550
680
618
613
560
599
524
571
601
576
646
532
621
586
632
526
594
532
567
591
678
543
576
658
509
551
530
512
550
512
515
516
637
556
543
651
689
685
509
586
654
580
636
559
510
694
540
514
658
578
532
565
638
603
592
665
641
576
620
538
560
542
504
666
503
602
532
573
516
593
638
552
607
664
630
514
637
576
589
544
643
592
679
548
560
692
638
674
614
533
699
569
649
500
544
580
561
625
700
599
666
598
652
698
591
534
657
657
607
670
569
512
621
587
507
597
508
694
683
653
631
558
585
592
657
541
650
629
589
553
665
549
576
692
689
505
570
694
662
574
657
520
518
594
613
561
626
506
584
671
511
560
666
582
685
548
652
633
627
665
545
633
558
594
693
694
500
532
607
573
612
533
547
616
665
553
581
696
619
557
685
625
554
513
596
640
619
562
666
610
537
576
698
564
521
574
589
551
503
617
571
636
598
617
558
643
516
515
608
617
637
524
641
513
659
652
579
611
513
682
587
503
655
660
513
664
686
695
634
650
519
675
641
597
517
639
576
524
693
520
591
639
509
598
679
582
567
607
594
628
627
587
665
635
585
631
565
621
581
639
599
658
600
578
542
551
560
539
582
692
692
679
630
664
624
512
616
510
532
618
690
629
546
509
622
578
538
562
697
528
582
556
508
637
644
583
651
522
511
506
639
532
566
614
615
522
631
587
683
565
642
555
680
619
570
582
633
590
607
664
602
608
641
522
524
537
582
534
561
627
674
629
616
670
619
664
614
666
613
579
572
666
686
584
608
523
604
584
598
664
695
529
517
500
686
580
580
655
628
571
526
699
646
573
573
680
662
509
516
694
681
640
616
670
524
594
661
510
696
625
647
637
605
531
576
666
681
584
598
676
584
555
617
631
619
654
685
623
602
666
614
693
533
592
696
553
555
611
535
547
640
530
630
540
532
636
526
641
539
545
504
583
655
607
549
688
694
609
609
581
682
649
552
508
697
554
671
629
576
581
675
574
564
600
586
637
663
511
663
504
642
568
627
651
638
609
633
672
696
533
561
546
502
504
504
577
572
594
601
694
501
687
642
622
687
681
560
608
615
607
662
655
625
641
642
699
651
670
532
563
675
562
528
666
596
520
629
683
669
517
680
522
621
626
620
537
605
610
541
681
611
674
550
688
609
672
655
534
598
604
606
674
600
509
583
599
633
592
542
688
690
592
559
592
613
536
552
607
559
515
690
696
522
607
661
698
556
669
681
655
621
622
605
511
685
666
597
620
582
522
523
583
507
514
643
695
553
674
603
535
674
698
651
674
651
637
672
521
563
577
698
644
530
541
501
617
511
588
639
637
552
578
645
508
544
700
571
687
673
537
507
524
673
611
554
622
635
685
693
653
635
551
671
618
590
546
524
655
589
509
595
602
536
527
566
699
684
614
516
529
665
605
598
512
677
531
689
587
590
511
581
610
594
592
631
570
563
631
673
635
699
536
656
700
537
689
577
589
540
544
674
609
688
503
671
552
571
566
527
691
575
694
650
615
670
560
629
671
667
638
592
631
634
618
524
512
646
508
586
563
519
599
616
550
623
601
618
505
607
656
668
675
643
538
509
676
625
608
549
607
697
522
678
680
679
650
558
519
554
594
558
548
573
543
589
512
576
627
661
577
521
520
678
523
666
567
502
589
658
646
693
580
654
518
686
535
667
699
616
579
669
635
513
549
652
626
577
523
678
615
546
668
594
543
656
644
642
651
670
536
548
615
579
699
586
587
573
696
647
521
691
585
604
577
515
646
651
682
551
505
580
632
591
659
567
602
642
575
692
505
512
553
526
545
551
672
639
504
500
532
616
696
608
608
685
628
559
614
603
584
690
525
613
563
539
672
610
628
603
651
663
693
532
597
631
632
615
650
573
532
509
505
665
640
597
519
573
674
569
668
518
513
536
652
623
599
672
510
544
528
610
548
538
527
568
531
594
636
626
520
533
541
609
620
589
610
534
641
602
674
588
570
565
679
529
674
525
672
678
671
551
529
589
592
608
649
561
508
519
603
608
696
590
506
695
666
663
629
663
626
644
617
568
669
501
613
611
634
694
642
525
690
612
676
522
681
578
586
621
678
634
615
572
655
631
553
574
562
580
634
623
628
677
605
619
504
698
665
614
672
506
539
696
563
566
609
668
680
559
596
560
530
623
599
671
585
573
534
619
524
553
519
623
638
530
649
541
583
659
656
686
578
636
500
516
548
548
503
678
535
531
544
692
629
607
632
642
621
528
600
533
585
587
591
511
566
648
643
580
628
586
501
519
613
692
563
659
685
659
624
589
606
691
605
536
565
644
588
546
580
537
502
643
597
505
569
585
690
610
697
660
694
594
591
643
687
604
501
536
654
649
548
509
609
579
511
590
612
610
542
602
508
506
547
544
681
601
548
568
644
634
501
916
812
920
803
999
869
876
864
953
847
854
877
990
938
814
868
948
831
864
840
810
815
867
893
858
890
956
805
989
881
954
965
813
992
996
862
842
827
872
914
913
948
878
916
955
847
1000
991
821
926
864
878
994
875
805
835
828
944
878
937
905
891
857
843
932
995
844
944
971
955
897
846
876
990
834
867
975
889
861
898
951
995
889
909
849
808
966
831
886
923
823
987
918
976
883
956
935
1000
881
824
819
941
975
974
966
848
906
861
961
848
883
973
902
993
907
900
842
881
871
978
824
833
900
929
865
985
872
945
998
877
988
996
803
826
842
903
925
867
952
816
994
934
976
974
803
876
952
968
843
800
996
871
881
838
846
930
979
838
874
895
835
936
810
811
957
926
948
968
837
960
923
933
996
938
926
931
898
940
904
860
919
974
943
815
877
898
865
945
807
922
842
831
938
995
850
853
959
918
950
877
970
886
808
811
993
971
942
963
971
938
982
858
860
830
906
973
987
907
958
811
814
963
817
964
947
858
835
984
895
813
813
864
953
859
985
865
818
879
973
939
867
829
814
892
821
994
832
960
861
812
970
943
918
850
850
931
978
842
884
823
956
887
817
900
875
833
942
956
870
837
865
875
944
917
981
926
950
984
901
936
877
830
884
960
991
1000
838
945
842
835
893
859
825
801
997
801
818
855
917
976
995
930
998
925
800
809
932
955
819
861
862
991
940
993
974
930
859
961
831
890
910
911
924
873
850
981
904
958
960
857
808
903
881
946
955
847
1000
931
918
918
862
895
851
816
862
942
849
898
828
865
953
860
979
990
962
963
905
983
955
852
961
816
834
856
982
928
820
972
812
939
861
881
852
887
901
883
946
853
827
963
881
817
803
968
820
833
822
823
930
974
939
905
921
897
986
965
996
978
921
993
914
857
882
982
882
957
828
1000
844
917
884
853
917
976
917
972
904
803
831
929
977
941
871
802
979
865
966
892
872
904
881
813
937
862
907
941
899
840
878
880
873
930
925
907
915
883
908
993
978
895
854
868
867
917
900
854
866
884
977
876
980
900
981
961
892
872
950
839
828
848
939
937
950
906
904
828
828
930
860
993
831
883
892
830
860
996
813
989
963
933
996
925
900
894
929
906
938
858
865
963
806
831
806
941
986
856
801
868
917
920
867
984
833
852
832
800
939
996
949
920
911
904
938
974
830
939
930
908
913
896
919
912
908
921
832
897
908
869
948
928
844
917
915
967
821
934
821
903
848
827
849
956
920
826
821
846
963
872
976
806
985
944
841
823
825
856
863
894
833
969
810
877
979
947
801
932
989
923
982
902
858
955
880
979
990
817
961
887
927
865
824
990
936
860
846
865
942
853
814
824
812
979
977
806
898
828
967
905
923
957
903
849
872
953
981
918
868
908
916
988
953
995
957
914
988
895
974
941
965
854
989
811
989
805
899
988
852
860
902
997
923
877
833
845
916
979
937
991
829
1000
818
991
847
995
874
800
860
978
808
814
946
863
974
870
974
832
988
922
982
888
917
842
836
946
840
890
871
917
884
888
987
988
957
884
950
800
862
874
950
974
918
894
909
875
893
879
935
881
959
843
987
820
934
909
976
900
822
855
986
948
831
931
978
933
980
823
840
850
804
890
813
885
916
842
977
929
925
923
851
883
991
909
809
837
852
890
835
807
892
889
883
845
868
868
881
979
919
946
883
988
817
948
819
927
997
939
943
963
933
800
978
920
928
952
969
891
880
899
906
813
804
893
945
990
938
942
806
876
828
813
918
933
823
987
941
842
893
976
995
835
911
962
937
824
995
959
998
994
935
974
942
837
817
835
895
812
894
902
917
811
830
994
946
988
946
835
926
992
810
899
941
903
890
898
960
899
911
972
992
907
866
871
904
960
834
988
905
906
884
886
821
879
898
972
803
814
803
979
960
991
925
934
830
868
916
868
909
995
910
861
808
912
947
815
930
961
988
839
902
970
803
841
855
967
932
853
882
858
871
926
854
910
864
914
824
925
823
829
847
908
814
965
874
938
884
802
917
848
903
893
800
961
975
921
878
827
822
844
895
930
831
964
826
932
907
931
820
830
997
900
841
990
911
913
851
861
802
838
831
938
852
838
982
991
863
920
857
919
962
971
929
891
802
945
902
965
954
1000
972
823
973
925
917
819
937
807
947
823
990
900
990
817
891
851
800
822
855
933
922
833
942
879
945
946
809
863
867
864
869
891
805
817
823
929
932
941
960
890
950
866
923
876
854
824
827
923
985
866
923
850
802
886
997
827
872
832
921
975
936
921
809
924
948
992
987
823
919
818
927
918
848
975
953
820
864
951
985
969
922
975
856
832
986
951
980
904
994
980
882
892
972
987
951
882
936
957
928
841
988
800
948
924
974
859
969
953
867
807
888
813
830
830
982
919
864
951
899
984
871
957
927
883
868
833
965
839
894
815
1000
934
944
803
804
941
886
976
976
954
947
920
800
806
865
994
893
814
996
848
974
969
974
990
864
843
945
801
996
907
946
804
874
896
977
850
995
950
826
895
993
970
947
988
877
812
920
834
971
809
953
890
945
867
987
816
909
965
992
915
927
938
884
827
884
850
953
990
993
950
912
909
874
914
836
923
926
933
852
930
972
829
995
946
925
948
823
970
836
888
979
900
958
808
986
965
833
806
939
858
909
959
853
828
846
861
832
941
828
807
912
940
896
823
817
913
890
989
876
941
920
897
876
868
914
805
831
983
859
885
922
830
807
964
907
885
968
903
957
1000
973
887
987
804
874
868
879
808
959
805
811
867
805
838
877
996
819
837
867
912
876
920
813
959
869
873
805
905
804
949
898
826
999
844
958
870
843
874
811
873
971
863
904
911
913
953
835
977
803
953
974
833
911
912
951
952
871
915
874
896
934
825
814
800
842
904
919
975
885
805
844
866
996
875
925
905
873
965
854
971
868
934
826
979
924
822
828
993
957
875
969
960
853
877
988
869
811
860
903
929
950
890
873
978
901
891
807
988
894
836
945
967
944
996
812
881
825
918
980
946
876
843
955
814
827
973
863
973
848
910
879
900
849
861
993
877
939
803
822
964
967
936
982
846
996
965
991
807
967
949
893
906
860
898
908
938
986
998
906
901
970
830
998
982
933
979
865
925
995
962
882
800
888
968
830
920
879
907
809
927
939
930
970
880
922
944
850
874
907
869
978
906
860
817
867
983
930
925
959
924
916
999
999
939
988
816
865
951
947
887
863
915
989
858
819
967
937
889
918
917
862
872
883
859
926
872
819
891
933
952
976
990
990
809
875
958
812
945
868
958
888
979
859
845
995
986
951
967
954
931
906
997
931
928
944
843
957
894
912
962
936
833
842
802
999
1000
954
946
817
824
966
961
941
808
873
816
809
971
994
891
987
873
944
849
837
883
936
908
911
973
815
927
923
873
940
982
890
885
941
866
966
853
943
888
977
894
863
916
813
887
974
947
926
810
859
940
807
922
910
902
837
989
890
826
958
822
804
890
965
905
990
948
987
860
999
1000
801
971
979
915
987
968
813
829
995
837
957
864
992
863
812
965
886
865
847
876
873
852
811
812
923
943
915
806
833
900
824
805
845
963
920
864
832
898
833
883
866
824
1000
908
814
916
803
806
850
871
900
937
967
884
981
965
941
860
959
841
960
935
984
901
801
841
944
802
882
801
888
921
928
874
947
933
984
882
927
988
997
979
802
929
986
968
810
824
849
986
942
826
947
854
903
912
862
975
877
824
997
817
897
869
858
894
944
971
929
862
858
988
982
831
815
958
980
986
998
945
845
818
922
856
932
825
917
834
912
970
969
870
943
975
854
960
1000
890
977
895
905
902
974
882
897
847
824
917
835
838
871
985
999
981
925
952
911
899
885
902
898
906
899
856
872
859
848
903
889
837
969
898
868
804
897
893
911
899
881
962
881
910
914
982
801
998
986
817
930
980
948
992
976
803
886
890
833
923
998
815
845
920
899
850
963
882
948
966
931
826
993
814
826
868
909
885
856
971
976
900
946
954
910
903
926
995
992
825
916
943
897
965
954
943
861
907
944
805
841
805
871
968
988
832
965
995
963
979
807
968
828
866
888
993
870
935
888
971
923
847
896
916
891
978
961
815
838
857
854
814
926
997
980
881
878
858
863
997
802
867
867
920
995
963
834
950
918
880
882
930
943
850
909
954
895
815
873
858
876
866
881
820
973
981
930
832
949
991
825
948
962
856
924
935
961
803
831
941
832
915
884
817
969
945
865
921
998
955
903
983
824
904
874
858
862
913
969
976
949
928
979
916
880
843
855
806
892
845
990
971
943
860
841
948
827
808
906
911
867
801
930
890
914
974
996
848
808
890
876
945
998
883
983
864
939
846
919
899
833
982
867
881
848
991
899
871
960
915
893
876
881
840
802
945
958
829
873
892
896
988
940
889
802
983
978
945
924
948
899
980
841
927
979
809
951
958
956
840
870
907
993
944
859
829
809
968
998
985
888
937
943
835
876
927
839
824
894
912
811
933
980
818
867
821
844
861
984
868
835
850
878
997
840
978
880
885
989
806
965
917
976
875
926
894
933
932
945
970
897
825
989
883
823
939
881
926
811
987
965
972
947
986
822
963
806
990
941
847
908
818
831
810
847
903
845
969
830
897
970
806
951
979
889
918
933
838
889
834
973
890
944
853
942
998
957
922
882
881
950
994
980
988
836
896
876
877
887
981
934
828
945
936
919
869
926
943
805
962
839
981
845
826
925
840
823
931
955
949
975
948
924
886
802
953
901
827
916
967
930
974
963
810
959
828
976
931
879
944
882
884
832
809
907
930
929
810
955
877
804
969
870
859
857
817
932
817
913
806
926
813
802
868
985
813
996
812
957
875
980
840
989
906
860
893
844
998
934
863
955
889
910
801
806
1000
948
875
931
820
804
896
823
941
981
966
848
911
891
977
830
835
860
829
807
959
904
913
995
987
855
991
908
869
937
823
861
833
949
925
952
842
944
927
953
953
988
896
947
944
938
853
996
811
835
947
861
967
855
985
811
872
803
976
905
956
863
937
955
937
973
955
990
868
831
948
926
897
885
903
873
846
821
921
900
941
815
815
968
868
856
900
925
976
831
868
897
898
973
855
810
954
973
928
875
941
1000
863
879
820
970
842
846
914
947
837
948
848
938
804
849
900
855
813
919
891
962
850
984
877
955
888
837
958
931
914
937
917
916
876
909
827
897
954
996
892
946
981
970
980
832
832
930
841
879
839
907
943
850
988
809
856
846
805
871
953
815
816
951
912
852
853
911
934
876
800
958
893
982
887
976
967
817
884
922
908
983
953
821
889
931
850
955
840
880
845
924
922
901
934
863
851
995
802
859
882
889
834
926
994
878
891
933
871
962
966
954
976
949
848
953
801
898
933
870
901
925
942
810
859
806
966
895
912
870
928
834
988
874
820
821
866
849
850
969
918
988
873
951
986
932
840
908
944
814
996
865
921
987
965
825
866
841
898
976
817
877
990
940
812
989
903
863
971
948
943
848
897
888
950
936
990
991
842
863
929
817
996
994
854
843
865
840
868
927
944
853
919
918
841
875
956
883
963
859
899
976
885
937
808
838
812
896
978
917
876
986
924
992
897
981
995
996
938
961
992
874
907
888
939
837
930
835
879
861
873
899
926
852
978
819
934
865
960
972
889
858
851
899
979
840
917
956
924
802
890
904
879
986
846
823
844
874
913
826
852
893
909
962
955
947
920
921
987
810
802
846
908
929
996
869
808
981
800
929
810
927
975
827
1000
805
869
882
887
805
993
854
871
866
934
883
826
825
849
978
900
862
926
877
996
970
988
989
900
879
835
817
836
875
883
983
949
909
827
899
970
912
974
929
861
997
1000
932
876
803
964
856
893
969
872
967
857
950
999
976
867
964
841
918
829
939
846
929
903
882
939
874
877
833
979
946
839
869
982
948
993
870
998
933
814
977
907
925
887
908
986
869
830
981
800
877
822
981
909
808
902
838
959
865
889
892
837
874
873
838
965
842
983
859
842
958
828
998
806
824
813
942
892
945
850
821
814
858
869
930
995
983
943
931
930
847
809
813
942
882
942
968
869
801
896
1000
828
990
818
952
977
843
954
837
802
977
835
896
849
866
879
916
952
892
954
996
837
863
917
961
821
862
991
970
933
810
832
916
885
861
884
846
941
858
832
940
997
964
844
831
856
999
918
857
947
868
919
999
882
845
989
915
977
948
948
834
818
827
982
846
970
916
961
815
968
970
909
977
925
908
975
859
838
973
830
952
882
866
998
806
916
818
853
872
994
825
933
919
895
878
986
812
929
828
978
806
962
877
958
857
914
905
839
931
935
975
861
961
805
857
985
861
945
932
848
885
812
945
964
915
836
899
987
822
822
938
990
875
941
883
922
838
850
886
875
978
801
872
865
945
853
836
910
887
891
824
973
818
972
916
821
978
836
958
945
862
835
970
855
878
981
808
808
907
905
927
955
839
912
870
812
803
835
892
899
841
824
960
837
905
968
861
910
943
953
960
887
913
943
980
819
876
849
879
961
880
819
899
814
841
855
965
925
956
846
945
804
848
804
999
860
914
885
801
864
894
868
894
994
874
822
972
912
822
906
869
875
983
889
992
837
844
805
894
815
877
824
937
902
938
990
997
818
864
880
998
969
819
817
960
995
956
869
838
945
978
934
925
890
921
965
936
967
886
981
989
958
833
986
953
913
904
958
938
926
806
906
827
959
879
890
881
812
821
851
840
917
904
893
991
927
804
842
937
909
952
928
966
805
864
853
884
988
825
995
981
836
999
831
863
841
899
806
858
973
906
874
947
929
933
913
864
942
860
874
906
970
978
854
980
942
812
865
977
917
851
889
854
817
843
941
841
952
832
953
949
845
833
934
861
951
865
943
961
837
879
920
816
838
895
923
960
933
866
876
976
952
904
856
815
941
833
848
877
818
894
950
891
965
904
925
868
999
941
849
844
890
973
966
949
894
950
852
908
858
874
836
995
954
850
809
852
855
947
877
876
921
819
882
957
982
890
845
913
914
850
822
930
870
911
886
804
968
961
827
826
847
894
817
991
850
975
808
999
871
899
910
986
909
938
959
894
832
899
902
946
905
902
971
897
896
909
973
822
927
862
912
917
839
861
859
809
825
885
961
840
826
857
953
950
808
922
928
903
955
887
858
903
837
896
891
924
973
947
906
955
906
823
985
805
851
823
924
988
912
866
952
897
863
950
970
995
891
809
880
896
959
1000
891
809
941
842
808
938
961
954
894
997
923
966
958
831
971
968
813
977
819
816
872
884
992
839
933
927
930
943
959
997
999
960
982
858
962
837
999
977
938
908
953
980
984
894
831
871
957
903
993
868
820
930
877
847
957
900
988
907
967
828
849
869
959
978
823
960
930
997
941
827
937
807
806
962
967
834
935
873
861
933
879
948
855
914
942
989
951
897
896
940
826
977
933
838
822
869
812
981
879
874
986
868
876
857
975
839
815
883
990
976
911
838
943
946
812
999
1000
958
873
824
979
833
929
901
916
894
864
835
843
895
972
957
962
841
864
974
986
848
991
908
816
891
969
951
869
969
874
839
925
834
932
851
994
978
801
946
925
821
885
853
804
869
884
994
900
928
902
812
823
992
937
972
869
916
986
881
921
829
829
853
902
979
853
816
968
800
848
886
927
935
955
986
924
970
847
934
946
856
955
908
848
908
964
996
909
958
950
941
834
851
908
800
985
926
927
935
856
830
955
842
866
831
800
887
900
848
839
867
831
855
826
984
903
858
838
901
944
950
921
978
899
924
985
854
994
938
858
809
913
992
866
925
875
936
813
996
957
901
945
872
842
849
899
983
946
862
941
842
980
969
957
934
976
993
800
860
857
959
856
945
930
855
935
889
1000
828
992
857
966
810
955
853
898
944
924
964
969
899
927
815
925
843
988
837
949
936
800
938
831
879
983
867
842
928
802
926
804
914
845
994
949
999
942
996
817
954
932
914
982
806
969
961
848
968
913
812
969
977
897
966
825
995
982
807
808
993
800
908
991
920
959
901
800
826
874
960
955
874
947
937
849
850
836
882
910
808
965
912
823
845
844
869
899
826
876
876
844
931
926
820
888
982
847
989
831
998
852
943
868
887
861
949
880
883
915
822
830
968
937
980
904
816
840
883
914
844
991
811
940
807
1000
803
913
964
919
803
848
909
884
875
809
819
818
951
825
830
861
805
888
976
874
831
801
994
939
967
959
994
989
961
879
834
885
975
856
970
950
894
835
910
986
986
845
982
960
916
927
913
898
967
855
854
837
819
938
826
938
949
883
824
841
845
840
938
855
910
881
925
996
960
882
949
822
807
852
859
923
896
975
948
847
819
958
958
825
908
992
875
930
824
953
978
812
802
951
968
907
815
900
816
872
982
871
939
868
946
941
983
964
942
817
838
841
910
835
831
869
839
851
950
931
881
801
869
869
906
923
852
974
948
811
994
830
801
893
804
810
990
900
807
819
951
975
883
843
887
960
894
985
954
808
951
967
868
876
943
954
826
840
945
899
874
874
823
835
977
884
800
925
834
831
911
898
872
916
835
827
983
810
895
950
911
884
894
988
958
915
954
902
911
933
924
846
843
931
821
802
931
842
808
842
997
946
857
864
841
824
824
822
804
817
945
942
855
898
918
845
850
914
833
800
901
848
973
922
934
823
920
935
984
907
862
832
894
847
933
946
816
886
830
875
820
995
964
991
933
814
839
897
904
990
834
848
829
807
919
937
865
909
969
913
923
828
990
937
817
984
884
841
907
969
970
810
881
899
957
900
913
834
994
916
876
927
894
814
997
810
911
926
844
865
884
888
963
839
994
819
861
988
895
844
843
970
933
975
867
886
865
986
999
965
803
885
938
914
897
988
976
832
892
864
967
949
809
930
886
871
900
954
802
982
857
816
938
900
839
974
976
880
984
975
848
981
811
999
984
969
895
982
907
963
862
838
852
938
839
929
976
978
830
944
939
914
825
938
948
894
833
985
843
946
851
974
834
866
967
837
988
859
973
876
809
878
998
957
844
936
803
947
886
845
910
822
916
876
974
893
815
956
805
826
992
879
823
853
813
954
934
965
887
901
883
871
889
876
903
876
986
906
855
826
940
915
993
928
878
892
938
893
924
826
857
995
975
936
856
899
939
830
814
838
867
961
915
969
908
982
915
913
809
811
982
901
832
840
916
827
949
981
1000
833
920
991
881
800
989
949
970
871
824
855
871
835
983
880
937
969
956
907
897
815
860
840
910
860
846
953
879
850
881
857
860
928
957
853
889
994
838
917
833
946
801
888
939
916
962
956
931
999
987
803
881
879
974
942
990
963
981
872
855
919
949
847
867
844
904
856
915
920
910
985
821
948
943
973
866
879
817
847
985
804
992
901
856
920
891
842
919
861
892
869
916
805
801
836
966
954
923
965
902
863
963
808
945
828
864
894
806
912
927
831
888
973
851
992
994
938
987
817
997
975
893
968
993
921
861
897
802
979
971
894
916
942
865
992
956
881
840
882
941
836
924
839
936
813
921
813
975
842
969
850
823
964
973
860
964
830
827
985
870
975
852
905
853
918
850
971
869
848
862
938
986
898
805
893
877
878
843
959
813
964
952
849
918
913
862
953
959
963
832
816
842
890
869
842
919
817
878
968
968
867
902
915
955
848
910
862
829
991
945
848
917
878
801
842
945
815
936
831
999
984
856
931
946
861
955
985
844
921
852
888
817
810
866
867
885
820
900
939
835
902
961
873
899
977
946
938
847
808
948
805
807
969
978
910
984
954
905
949
932
954
802
843
967
816
810
848
929
851
969
968
886
920
992
901
977
834
915
810
947
863
803
964
948
892
898
995
989
820
908
900
838
955
967
866
963
855
944
832
959
843
909
850
885
909
939
907
932
878
845
851
901
879
573
688
661
604
664
633
508
555
560
632
592
642
695
590
594
688
591
580
679
696
553
629
612
674
615
690
614
515
596
566
684
699
531
638
564
585
502
559
542
561
629
593
658
535
502
586
546
579
631
670
615
632
542
584
543
635
659
621
686
583
515
631
676
604
555
520
523
556
532
575
549
505
656
683
505
535
504
525
517
638
545
664
637
518
619
518
655
611
508
565
611
520
585
547
540
542
640
557
606
587
531
673
604
595
571
609
522
672
553
679
533
559
674
570
591
527
578
540
527
542
522
664
635
595
617
640
692
593
689
644
633
620
624
501
635
691
611
559
697
660
551
547
619
526
676
687
528
546
584
693
575
519
653
628
668
644
620
601
647
506
522
584
508
607
500
518
632
551
565
582
556
530
575
562
562
564
662
590
521
640
647
589
536
547
583
663
692
599
620
671
679
542
505
671
543
685
610
549
667
503
609
636
618
537
697
568
619
595
540
630
550
570
678
525
667
604
520
522
694
601
566
511
694
582
501
570
594
617
636
572
631
669
561
529
501
658
625
567
660
586
573
542
552
539
548
624
527
616
667
622
680
623
592
598
689
693
549
504
597
523
590
608
668
516
575
590
551
512
545
548
509
660
637
627
598
637
575
648
574
525
595
532
700
672
655
669
538
663
561
541
574
676
543
690
629
634
658
517
627
641
521
677
524
690
562
686
582
618
552
555
534
680
556
635
669
604
596
587
561
538
651
573
682
634
673
634
582
511
669
565
599
535
661
669
610
508
609
519
534
678
665
677
646
564
540
655
642
575
672
609
506
584
629
512
673
596
545
598
629
547
651
508
670
580
521
530
532
654
578
603
696
657
655
520
575
595
618
652
680
644
596
568
686
546
525
621
663
692
517
580
585
574
539
595
638
661
500
672
621
621
613
607
520
602
560
562
700
617
686
596
629
663
571
513
558
584
681
609
506
634
575
561
671
546
697
570
549
666
657
695
504
664
533
645
542
548
509
659
621
506
543
600
589
680
568
616
572
602
670
614
523
518
587
537
505
655
541
647
537
662
609
605
652
693
556
576
508
657
538
543
692
634
521
628
591
568
547
624
510
514
642
505
537
581
545
697
668
647
635
694
643
619
682
592
687
572
500
579
641
583
665
650
524
525
647
572
615
569
531
596
584
549
586
561
616
554
621
636
610
684
621
568
686
650
619
689
609
524
686
630
600
693
633
615
560
636
556
500
517
670
567
622
684
530
519
576
626
526
512
666
590
542
524
625
613
653
642
544
694
619
605
556
690
655
516
664
621
625
588
622
652
583
689
526
633
660
554
644
529
604
557
565
551
507
652
555
587
566
528
584
641
579
698
588
659
545
543
665
574
586
539
674
544
622
670
667
547
524
680
659
505
529
673
618
623
666
647
665
514
582
542
626
611
618
694
541
542
568
672
627
628
541
592
575
618
618
680
698
690
602
627
658
612
691
631
651
574
681
598
526
661
622
625
633
501
693
658
544
700
583
552
562
693
624
697
659
617
539
674
697
638
589
599
674
516
603
651
652
631
620
612
572
600
560
640
532
514
546
608
599
544
565
676
594
518
641
643
606
628
558
543
651
549
684
683
523
670
517
525
543
646
674
525
510
661
520
532
557
622
605
632
637
524
508
512
571
597
664
622
573
609
553
598
647
534
634
676
617
602
611
517
586
588
513
638
635
696
617
590
614
503
564
625
652
684
566
649
690
501
651
535
568
660
521
603
682
623
697
543
600
510
649
591
578
581
645
686
551
504
520
668
519
652
544
532
637
532
682
591
664
675
654
690
661
602
573
652
673
650
561
547
560
567
527
511
547
514
509
684
503
583
614
613
563
638
675
606
592
649
615
590
655
516
548
691
548
549
591
650
693
525
529
549
671
617
600
575
586
547
619
659
618
615
528
508
595
501
539
521
539
587
549
574
505
669
602
674
664
635
613
524
694
529
665
532
557
651
663
522
668
637
645
552
639
651
515
665
525
698
566
558
660
662
546
543
516
640
618
632
522
539
684
600
568
688
545
507
533
669
642
663
674
569
587
509
686
525
598
526
664
510
674
586
629
698
589
691
598
643
511
633
521
560
633
549
592
519
635
676
574
560
590
695
540
600
500
597
512
555
564
629
613
595
654
667
586
505
508
569
553
505
666
677
580
594
616
559
605
627
514
638
556
685
668
634
515
605
606
501
570
693
585
676
553
615
520
665
596
663
615
594
587
506
573
503
523
560
590
574
578
643
524
505
677
565
700
635
646
645
646
602
684
641
675
510
686
663
692
525
643
681
600
537
646
632
598
585
664
625
639
652
510
680
517
698
550
526
516
626
660
578
528
634
582
684
627
557
505
638
683
547
573
674
649
558
583
502
531
564
675
584
651
647
620
586
680
559
678
508
557
585
638
602
631
666
530
678
692
557
697
591
590
693
562
564
674
577
566
674
666
631
562
530
581
660
509
597
504
552
596
564
569
621
588
678
575
628
638
659
678
631
698
637
538
527
583
688
602
534
691
507
657
651
676
540
571
510
580
554
637
569
649
530
622
509
689
644
511
700
643
660
501
526
593
683
656
503
507
636
545
543
649
571
515
673
573
543
508
678
566
505
520
623
539
700
652
630
550
613
637
589
690
534
555
549
578
666
567
624
697
653
566
674
553
595
629
643
517
606
533
615
518
685
521
558
549
547
535
696
548
551
514
691
582
512
619
677
539
571
528
645
624
564
674
638
561
674
509
697
629
601
596
628
565
571
593
688
648
514
645
502
606
543
627
669
664
643
502
552
670
648
616
664
602
508
572
554
510
662
585
509
579
695
650
635
559
674
574
551
610
501
568
560
619
592
532
576
549
572
624
517
694
555
652
544
681
658
640
506
697
520
602
572
629
616
507
586
511
643
632
600
678
514
572
543
621
556
605
699
660
666
664
622
527
514
548
627
595
685
507
686
519
511
581
521
554
590
575
661
614
616
627
648
583
621
578
628
539
613
524
681
671
513
618
621
650
685
684
571
545
523
660
533
619
534
682
508
638
516
646
527
538
689
638
613
557
653
682
641
594
517
556
533
616
676
517
652
612
548
591
649
670
674
550
558
532
613
564
663
523
643
533
538
678
507
546
658
658
536
531
661
685
538
577
564
542
556
695
699
547
619
637
650
555
597
534
608
533
679
525
590
700
599
556
524
521
659
582
528
629
551
505
611
576
632
539
603
685
536
626
680
581
654
503
648
633
612
560
568
546
605
661
625
699
573
660
583
621
509
589
697
682
572
591
614
569
595
532
686
634
668
565
685
585
697
572
634
664
575
534
655
552
628
616
663
610
590
649
615
574
606
539
592
604
644
572
598
518
563
637
687
523
677
599
627
633
521
502
549
669
669
689
700
656
627
517
548
677
644
600
601
567
574
624
647
598
686
510
594
630
683
674
623
563
541
553
593
502
559
510
646
537
567
531
516
695
594
622
638
648
674
533
631
582
568
539
619
535
630
537
649
571
522
586
538
694
665
564
662
522
621
502
587
583
508
693
568
522
655
619
578
559
696
624
672
659
635
506
635
599
633
694
529
550
618
531
667
529
630
600
572
574
603
599
681
577
557
604
510
626
680
537
604
679
631
511
537
619
514
628
665
595
636
522
686
504
609
600
581
627
500
554
660
582
697
620
555
640
606
573
582
510
602
659
643
528
586
605
597
552
511
528
609
687
584
619
508
516
642
692
612
601
645
530
587
613
524
552
563
642
529
595
588
529
576
536
506
565
586
588
588
563
554
642
571
517
548
572
501
584
629
519
612
500
520
607
544
559
580
536
530
526
676
511
560
526
533
620
580
542
551
510
661
672
519
619
592
544
512
623
582
621
577
626
527
535
516
686
501
538
596
689
579
641
553
591
568
526
537
589
590
636
629
539
637
585
503
593
519
559
652
562
666
662
609
519
574
524
615
574
622
617
515
629
503
575
567
530
613
581
536
682
688
537
575
596
546
519
600
513
591
678
587
696
567
540
665
678
623
687
665
559
530
508
591
500
561
585
586
608
618
568
560
594
646
675
583
646
622
540
576
576
547
664
629
639
589
633
689
574
581
647
610
548
695
543
591
554
673
646
571
614
695
652
616
621
580
645
569
529
578
606
510
537
616
516
535
694
526
567
652
613
640
647
540
612
603
610
578
666
638
505
631
541
613
635
680
565
530
570
649
541
651
678
572
670
674
696
578
649
605
699
561
544
615
514
652
696
573
676
645
611
603
622
587
687
551
674
589
541
561
674
672
610
663
587
671
596
672
519
562
508
699
657
646
586
601
687
667
680
587
617
576
588
603
581
516
679
594
697
624
591
589
674
553
516
555
663
539
518
699
632
595
651
561
548
688
521
627
549
518
656
665
690
619
644
596
520
655
656
652
675
700
555
658
549
503
513
600
569
587
681
651
506
633
505
603
641
578
663
518
516
654
608
524
505
674
690
684
623
630
626
548
644
686
698
651
522
664
692
611
509
644
517
647
568
656
676
676
598
567
633
510
539
585
555
513
645
691
629
618
566
547
523
562
588
645
534
561
568
536
639
506
675
519
589
544
694
675
617
598
647
688
562
674
653
521
596
586
685
654
673
636
538
517
547
596
571
700
677
679
679
515
500
559
676
553
560
695
539
524
560
650
544
524
563
530
692
699
677
503
600
602
563
548
521
678
500
596
573
562
667
595
618
526
578
699
663
529
553
666
592
580
603
602
683
657
555
698
605
684
598
528
692
694
588
540
534
601
609
594
631
694
583
631
574
599
685
653
674
532
503
640
599
565
683
655
533
651
584
663
589
527
651
636
684
664
610
535
587
664
589
517
539
580
585
626
653
560
535
639
676
675
586
585
670
531
525
581
638
668
678
527
514
547
642
575
644
666
623
567
655
594
648
548
695
588
632
696
572
610
600
654
588
652
693
599
612
524
571
668
687
573
502
552
625
608
597
551
682
614
626
616
658
516
680
668
601
530
543
657
590
662
677
648
691
579
634
578
680
584
629
602
539
618
659
611
521
624
508
699
509
504
690
653
515
697
595
643
628
620
522
674
593
517
592
657
664
656
592
609
564
618
663
579
542
568
518
534
535
567
696
579
639
692
576
648
599
625
502
595
625
676
676
615
561
611
671
621
527
607
645
635
644
564
593
686
627
650
508
535
575
548
626
623
687
639
546
587
611
592
513
573
632
522
557
535
596
635
573
659
597
501
541
595
526
583
541
560
512
550
538
508
607
699
700
592
517
525
584
553
624
568
552
597
556
693
647
616
629
578
561
621
587
553
653
684
503
576
637
535
587
688
667
563
523
672
575
537
544
634
505
616
627
660
546
506
540
519
547
533
683
662
674
557
596
649
617
646
540
546
669
644
595
672
514
687
685
656
629
625
621
582
678
579
646
530
514
635
596
680
682
684
569
619
690
566
630
547
616
626
635
574
543
620
549
699
671
631
655
552
502
517
632
546
628
600
669
698
684
689
634
583
502
683
549
635
696
648
603
671
700
561
659
598
595
611
504
527
587
695
603
556
619
658
685
525
659
660
587
584
612
547
650
663
697
630
562
579
587
596
586
511
679
532
569
599
645
676
599
549
678
612
658
619
604
517
644
541
662
548
604
661
534
573
567
502
557
695
622
540
534
542
525
676
672
549
601
690
671
503
613
631
541
695
622
700
575
504
569
642
578
508
649
633
562
638
681
524
601
507
695
616
573
590
515
547
530
554
683
670
619
566
648
695
604
688
590
699
619
669
549
524
507
699
513
514
564
511
504
663
649
638
631
542
564
547
584
639
557
600
676
625
577
537
607
595
525
513
529
642
553
627
628
677
625
503
644
614
594
568
529
592
605
565
530
685
524
503
538
565
699
650
547
595
647
653
618
560
527
539
610
642
527
589
639
530
584
522
606
640
699
603
573
545
603
695
515
620
680
503
570
700
641
507
508
536
616
530
596
585
688
584
554
646
594
546
526
533
533
550
699
573
580
668
549
637
642
667
537
576
594
614
623
646
680
562
640
549
539
583
543
600
652
643
525
530
579
511
576
584
517
538
650
564
633
561
675
578
544
596
685
617
608
640
516
565
687
565
585
658
665
698
649
525
516
654
544
627
621
579
630
685
542
599
557
540
532
700
647
689
506
628
632
630
662
631
586
647
502
522
521
598
568
642
524
562
628
683
546
684
561
522
566
562
681
637
659
593
557
535
559
508
612
555
537
661
677
640
630
640
530
569
661
663
637
505
583
670
549
600
505
575
549
679
605
646
579
527
504
623
556
601
640
657
650
511
631
603
574
668
613
635
547
509
520
601
512
607
506
517
647
525
560
633
651
507
537
577
611
619
549
565
547
507
518
584
687
523
550
532
596
617
589
699
525
535
575
674
620
538
614
690
644
613
551
633
666
593
679
663
591
635
553
568
570
570
527
525
643
536
619
699
617
675
528
570
669
568
634
519
673
627
660
500
541
557
511
504
562
619
535
518
573
648
653
562
611
686
631
597
582
604
625
609
508
607
655
692
554
675
689
520
556
528
680
620
659
537
668
587
659
532
612
556
609
651
636
624
638
582
674
597
596
698
531
517
591
688
592
515
696
601
642
534
537
552
528
560
593
532
696
620
621
645
522
658
599
508
594
531
504
525
678
540
502
581
500
665
593
524
533
545
607
541
566
672
503
548
610
619
698
527
639
624
619
551
539
591
501
550
619
671
564
602
697
558
546
651
592
612
697
586
697
545
587
613
628
688
623
540
693
532
669
636
521
609
638
603
501
517
680
691
685
675
555
550
518
578
556
605
675
533
586
672
568
638
563
528
597
675
596
667
626
691
518
517
638
693
603
643
564
643
610
593
621
570
646
623
529
558
656
509
669
604
589
518
633
522
697
619
572
620
617
663
688
662
648
507
627
627
607
689
546
550
629
569
572
551
649
545
628
674
635
501
692
585
517
572
683
630
546
644
650
658
577
662
638
670
652
698
676
641
654
592
675
587
638
510
597
668
646
659
692
591
671
549
593
621
696
532
570
593
504
621
546
689
588
627
644
546
582
525
512
695
504
584
688
579
549
509
607
684
583
607
599
641
658
532
539
667
653
510
688
663
632
630
615
596
587
554
566
570
685
663
568
549
537
648
664
649
697
568
538
507
524
553
664
648
544
586
687
589
536
571
592
582
613
590
627
682
511
514
575
641
654
613
639
546
611
587
676
659
622
533
622
687
527
605
503
542
623
572
659
547
602
581
653
662
572
611
539
539
566
552
566
640
503
513
610
594
694
555
617
613
632
633
579
672
678
500
638
683
624
603
605
541
517
688
500
561
549
617
523
505
649
532
602
672
555
692
682
586
590
648
596
536
695
636
519
554
648
513
517
615
574
700
671
541
541
611
692
615
687
595
538
549
624
649
621
541
601
626
512
505
544
695
513
700
540
605
567
515
503
575
574
636
647
600
592
688
580
514
531
676
584
619
511
632
700
568
611
667
575
561
654
618
530
568
649
534
551
633
679
555
699
699
663
699
684
601
658
525
698
634
606
547
658
542
561
609
613
645
546
679
700
632
660
653
671
642
535
596
617
515
652
527
611
683
618
620
653
552
595
697
669
595
679
583
565
666
634
605
558
568
649
545
649
685
637
523
700
615
641
699
573
507
668
603
617
617
554
581
588
633
566
633
588
680
644
675
644
639
575
681
675
678
655
549
529
512
567
685
596
637
541
663
553
627
628
597
608
612
581
575
555
530
598
642
556
684
538
507
557
513
666
565
687
669
665
674
626
689
525
518
614
544
694
641
529
675
672
571
541
533
513
605
699
551
665
653
534
580
522
606
655
646
503
538
689
560
637
502
524
553
563
681
535
661
657
587
506
662
594
646
542
509
640
627
626
586
660
506
680
507
658
548
648
700
636
629
648
550
574
678
641
570
588
505
567
641
509
669
670
555
686
539
633
646
596
687
663
551
566
544
582
634
560
667
537
545
590
506
539
641
600
662
632
613
671
624
508
637
668
615
624
625
678
621
661
610
589
514
646
694
520
505
647
682
599
515
518
609
514
642
505
596
678
673
506
529
584
652
571
513
500
560
586
615
514
636
563
525
628
649
595
566
668
563
629
584
622
682
677
515
608
563
597
618
623
610
528
650
619
677
510
529
688
630
582
608
569
548
625
684
611
578
664
515
569
520
600
500
671
662
622
591
515
682
533
613
600
659
612
651
697
624
615
615
535
507
531
569
642
503
668
517
608
662
621
690
545
600
679
660
530
572
506
651
652
655
606
618
573
537
506
623
647
571
502
670
578
606
645
638
613
657
695
592
610
660
668
666
521
639
540
678
614
588
629
648
556
531
535
671
634
668
636
501
530
635
628
610
641
620
506
640
656
574
655
656
669
654
677
695
615
680
641
629
683
610
683
609
519
676
537
590
635
647
666
539
535
516
653
580
585
520
521
551
673
602
572
611
504
566
523
652
514
666
518
562
504
608
530
581
534
618
631
699
652
583
676
647
616
607
613
516
520
543
500
635
689
555
535
640
603
677
581
629
609
580
657
564
639
695
674
664
578
654
608
510
649
685
570
526
699
512
608
523
591
672
551
575
552
617
557
508
534
642
670
513
558
543
585
508
570
675
657
653
514
602
501
500
527
669
633
672
684
640
587
605
636
593
609
638
571
627
502
621
654
694
560
666
659
552
630
568
513
629
557
622
526
510
656
549
519
617
521
511
576
536
507
556
624
522
535
573
628
612
568
648
632
612
531
635
553
630
558
607
565
619
611
558
525
538
553
570
622
556
564
569
542
604
686
611
501
591
545
553
598
611
644
509
562
616
541
619
592
513
674
521
535
573
582
598
530
569
634
550
628
682
588
515
556
522
625
599
581
596
599
648
696
646
572
688
550
627
539
617
573
500
549
634
664
603
609
658
678
552
534
686
684
655
699
639
576
581
583
560
684
574
582
578
558
536
592
633
581
512
605
670
648
596
517
526
671
546
595
664
510
637
560
523
561
597
600
557
599
577
517
568
518
686
698
567
529
658
577
657
512
682
617
656
502
551
648
614
604
535
635
631
634
519
575
653
500
660
609
650
554
529
670
657
674
613
643
619
669
536
609
516
553
631
504
508
699
563
627
580
603
650
525
593
557
543
585
550
656
685
508
674
523
643
581
515
596
681
650
641
657
506
643
586
514
635
680
596
545
618
629
586
666
593
613
530
599
561
681
670
530
690
552
661
648
504
644
630
620
637
664
588
584
639
517
520
696
579
596
683
531
583
690
599
533
651
534
587
689
695
521
598
551
654
502
595
510
522
581
541
543
552
578
516
638
632
697
604
696
651
694
635
687
560
616
692
684
620
634
608
518
659
641
595
634
569
672
614
563
546
620
502
561
533
663
699
560
685
506
593
654
666
572
518
652
620
658
661
582
528
629
596
643
687
683
552
601
697
696
546
668
680
585
507
631
603
655
590
617
671
614
644
622
549
698
543
630
507
657
671
546
519
602
549
640
569
506
690
620
537
661
677
590
677
593
560
696
547
527
680
581
650
690
533
512
609
679
592
644
681
659
658
669
679
688
514
561
536
687
661
608
503
515
695
605
535
612
571
505
627
577
521
528
635
567
665
628
666
692
651
681
514
612
519
647
675
689
521
541
613
568
511
557
512
534
560
505
611
621
592
585
503
502
604
548
534
584
569
621
509
619
572
589
586
664
560
637
591
540
584
552
667
674
533
564
578
664
572
521
589
642
528
644
534
585
565
669
559
577
635
677
532
531
541
658
532
658
517
595
574
699
683
665
569
560
628
646
521
623
538
595
627
514
540
545
633
511
674
588
507
696
644
534
676
692
623
506
539
521
599
555
625
626
612
504
563
582
663
549
630
587
655
661
698
643
671
510
539
508
671
683
555
533
675
677
609
542
512
656
541
601
604
646
651
556
656
517
635
510
690
653
590
673
637
637
557
643
512
633
516
515
573
563
526
670
669
510
522
527
618
551
519
502
501
577
663
601
544
624
591
592
554
556
564
658
606
673
666
504
603
682
654
565
636
608
529
577
666
564
591
589
696
578
595
557
584
538
686
593
564
636
698
525
615
563
544
655
533
547
531
553
658
605
692
606
529
601
607
553
642
675
674
697
567
673
581
560
647
605
611
664
566
619
668
526
614
510
647
667
682
538
501
687
676
635
556
529
625
536
665
546
575
698
565
511
590
676
678
534
530
650
567
507
525
608
515
662
541
631
633
696
616
634
690
649
600
634
569
696
693
637
510
572
617
647
587
523
558
688
568
650
634
680
676
641
697
516
556
616
661
517
675
685
599
562
634
583
579
695
509
557
606
634
514
677
531
615
540
575
610
606
623
590
659
661
627
581
618
611
520
632
631
663
548
565
562
520
504
630
545
637
560
531
569
614
695
670
597
676
633
615
659
670
641
661
556
676
695
587
563
672
568
532
585
513
612
682
564
621
588
643
597
597
700
677
690
524
507
575
676
505
632
680
640
643
602
545
662
527
621
609
648
614
520
513
501
543
572
526
671
529
618
653
687
523
626
511
677
600
575
500
586
695
586
505
528
594
614
663
591
658
683
700
524
554
529
624
537
685
583
654
621
680
634
656
677
662
534
889
990
965
903
964
884
915
980
861
815
861
909
857
826
835
994
887
886
825
964
906
889
828
898
866
824
888
843
836
895
874
925
955
916
801
800
802
830
985
858
848
848
805
963
808
902
938
989
965
892
853
971
862
842
940
925
900
966
884
804
864
928
855
846
890
875
885
915
843
846
986
976
830
891
934
867
994
857
801
800
821
825
980
916
984
955
999
984
905
819
951
979
907
969
835
839
842
824
842
960
903
931
852
881
814
859
957
929
833
932
969
868
998
874
889
852
858
815
826
899
891
808
864
972
892
957
861
953
982
812
984
919
933
915
988
805
878
986
910
940
978
850
821
829
808
994
908
915
871
909
850
958
954
998
892
929
815
849
986
820
865
886
938
808
978
951
874
909
984
924
851
869
871
858
869
802
983
922
815
973
844
957
918
934
922
893
942
918
939
990
842
830
851
855
900
842
865
967
898
811
968
831
915
835
852
904
958
988
904
865
977
885
876
816
829
967
975
946
984
966
844
984
994
843
938
872
856
818
946
909
846
845
943
863
908
881
805
997
819
969
952
968
865
905
988
905
819
819
851
970
968
914
999
822
834
960
994
974
917
868
901
860
828
855
865
1000
911
889
851
865
886
940
841
994
813
847
812
936
963
945
875
902
829
822
868
904
924
934
974
942
877
817
972
992
976
911
983
825
982
957
894
981
895
883
856
801
895
842
899
918
821
877
876
937
931
991
807
996
923
946
824
866
991
823
994
883
842
812
976
899
850
945
800
888
860
863
987
982
940
807
850
932
823
886
870
955
832
980
837
954
805
960
816
836
820
912
996
937
807
917
993
869
926
803
838
899
984
835
963
827
980
862
983
860
875
860
845
920
923
902
946
988
976
897
871
879
895
941
874
806
823
962
833
880
995
959
996
894
836
862
942
923
973
951
872
846
859
838
802
972
809
807
934
817
913
994
972
879
800
975
865
817
903
993
810
889
920
829
911
889
972
891
829
826
814
960
810
857
874
883
997
936
973
896
935
832
820
917
810
942
975
874
948
904
918
851
919
899
1000
862
934
853
864
951
822
949
877
952
905
881
989
899
887
880
832
818
877
956
954
880
915
941
937
999
995
842
831
822
986
971
858
886
846
849
886
901
825
994
982
985
994
865
907
894
993
894
931
955
915
940
849
803
928
961
918
880
851
888
885
870
821
999
909
893
964
871
892
848
889
840
894
848
948
901
997
932
953
857
975
885
907
823
882
976
949
820
980
805
820
972
979
805
908
951
998
930
995
905
858
926
828
830
973
894
933
946
914
926
833
982
883
936
919
881
829
966
888
836
883
865
869
898
806
832
931
899
862
979
888
991
876
831
851
806
869
874
975
938
956
940
908
846
869
870
813
925
808
885
832
982
896
872
938
843
870
821
901
938
978
989
984
847
992
926
977
849
938
923
867
857
857
904
918
901
958
894
920
843
823
900
916
975
897
938
976
914
816
926
877
956
915
894
845
960
910
903
867
969
852
856
945
968
955
958
965
969
838
970
891
903
934
833
967
910
922
921
881
905
946
958
818
1000
991
997
954
824
893
807
836
943
929
856
843
913
959
809
879
966
811
844
837
934
981
984
842
879
855
982
969
917
938
972
842
825
870
922
985
905
865
976
877
860
856
825
976
943
835
952
975
862
870
920
952
877
942
925
899
976
868
815
832
971
809
850
862
910
874
992
891
902
820
935
927
814
974
876
897
842
847
918
925
820
970
905
905
862
884
973
958
944
995
834
889
832
981
999
982
891
976
879
921
975
940
812
984
892
825
940
879
990
953
881
878
822
927
858
896
801
803
935
986
810
854
878
879
984
931
842
811
963
860
820
838
885
995
958
919
923
896
911
840
972
867
893
895
816
978
896
904
968
910
922
988
913
973
831
932
863
857
880
904
859
877
860
988
889
827
831
997
924
926
864
962
971
833
926
867
914
946
809
956
881
945
852
963
953
988
962
946
838
971
997
806
992
891
910
853
800
863
945
881
941
861
851
924
916
901
992
976
848
822
895
902
878
853
959
918
954
910
915
934
804
907
876
823
965
841
885
913
803
942
978
901
953
985
822
880
805
963
824
809
987
818
928
992
801
978
991
893
945
867
988
981
972
959
925
910
959
993
852
941
941
889
836
904
966
827
881
946
934
955
985
936
805
961
866
816
913
814
823
947
992
1000
951
817
962
834
999
965
984
941
864
952
890
955
800
922
814
805
957
973
854
817
926
982
813
874
946
854
925
990
907
909
955
844
949
807
911
936
984
963
951
867
998
945
978
892
954
821
959
807
967
940
939
856
889
964
839
907
845
927
913
998
825
834
852
870
909
849
927
960
985
883
916
843
827
835
974
951
1000
864
943
835
895
888
819
925
852
976
828
929
951
910
891
804
840
930
996
848
869
991
840
867
823
869
990
838
913
946
927
811
823
907
836
853
808
910
883
960
863
929
886
992
988
810
823
972
953
928
976
823
862
811
980
831
879
850
925
822
810
876
884
991
878
959
949
850
991
888
800
877
926
803
991
996
956
933
839
944
1000
988
977
923
880
912
926
804
957
881
859
973
955
883
888
825
817
877
924
993
962
940
899
977
866
995
906
827
827
833
896
946
805
941
938
971
886
930
943
953
834
950
895
879
960
895
924
838
811
873
954
953
968
807
822
809
907
925
953
905
1000
847
987
911
883
865
997
877
910
906
849
922
840
802
936
899
999
931
986
982
950
907
826
879
859
858
896
953
972
901
838
938
857
909
948
854
882
1000
828
994
986
977
899
816
818
936
849
868
894
803
942
951
980
885
991
980
881
877
815
943
843
834
842
846
996
947
819
933
840
944
965
843
880
868
964
959
962
805
892
851
888
986
878
844
988
857
808
811
806
970
888
970
905
858
861
849
855
915
838
803
882
846
959
961
816
972
924
961
991
854
821
801
881
949
876
830
909
813
918
875
886
860
864
883
887
860
806
860
854
813
951
864
963
922
980
909
823
963
956
878
999
806
803
918
940
973
932
957
880
972
939
962
984
897
810
853
939
953
919
996
843
926
800
990
922
916
809
909
942
856
983
876
888
926
960
900
981
875
954
886
978
823
841
971
978
952
970
995
918
973
823
852
960
811
837
957
975
889
813
897
804
853
819
981
881
904
973
806
868
861
951
855
841
923
949
862
959
983
971
997
997
810
863
835
943
857
949
915
913
810
860
886
876
875
984
835
817
995
870
964
842
896
855
967
884
980
805
989
883
886
969
921
934
814
868
965
812
934
912
837
847
961
921
969
959
940
996
895
923
887
917
869
962
943
926
807
950
887
994
861
821
962
895
894
823
835
851
828
949
919
981
879
953
897
819
959
963
973
999
879
871
981
992
806
971
928
845
994
982
821
890
994
974
816
823
931
900
834
846
813
836
864
923
954
865
833
803
936
945
912
921
912
964
892
865
843
935
820
942
853
812
816
991
884
920
937
801
840
972
944
913
883
866
836
808
826
824
918
975
977
803
899
847
817
850
910
970
1000
904
837
808
969
963
801
873
819
988
844
860
820
963
985
842
985
994
803
891
925
966
946
886
935
854
812
843
801
921
838
817
998
834
964
997
819
891
984
811
817
964
921
923
936
989
979
825
905
961
934
891
807
864
954
899
960
951
933
989
994
944
890
904
829
951
901
802
884
874
828
956
901
863
872
842
929
978
835
973
948
867
857
977
912
927
906
958
864
840
961
949
973
911
811
821
904
959
924
836
886
882
986
936
946
994
947
800
916
984
819
850
867
816
924
937
954
937
962
822
885
865
910
877
804
936
911
949
918
845
824
925
852
979
877
900
921
885
863
829
968
946
848
809
873
901
885
812
850
887
979
824
833
849
849
893
810
970
869
956
906
991
809
852
970
872
960
872
802
855
979
989
929
837
918
990
838
813
866
962
911
929
813
970
998
883
875
987
847
957
902
830
804
958
832
887
945
890
916
931
869
846
915
872
862
864
963
811
926
855
914
892
887
906
988
825
977
931
836
909
920
856
855
978
962
895
832
990
870
950
813
986
888
995
992
818
938
944
839
945
925
811
887
917
893
898
960
852
825
852
884
887
911
863
903
829
842
923
910
959
942
913
990
995
914
871
945
954
901
843
846
818
856
976
913
981
991
856
874
863
825
890
818
817
881
895
927
886
944
876
805
963
979
827
812
997
947
908
869
880
878
897
869
948
976
847
906
869
988
841
896
882
963
870
825
943
945
969
950
870
953
931
865
962
902
902
863
986
887
995
991
955
860
928
906
912
914
821
881
978
813
864
982
937
845
820
800
953
817
900
896
846
904
845
811
999
902
879
941
935
958
807
956
861
881
803
877
896
949
800
888
910
987
870
943
840
914
846
858
968
983
945
865
925
997
977
900
846
983
826
840
832
827
965
916
921
822
941
960
983
972
807
895
950
828
924
935
805
841
987
888
950
882
854
877
869
848
809
830
872
937
839
861
804
937
954
819
850
859
899
804
856
838
913
840
906
815
850
994
811
844
815
998
943
829
879
876
934
961
924
945
957
987
803
978
800
942
949
943
902
927
927
829
912
859
862
977
874
918
863
896
994
912
879
839
845
845
843
910
865
978
812
930
923
824
818
947
920
952
942
990
957
949
934
800
876
872
976
990
831
837
807
870
933
856
825
882
903
813
952
975
831
947
886
956
979
858
839
875
952
830
809
828
847
865
826
882
822
962
840
963
992
877
833
877
876
880
973
976
843
808
922
979
957
884
943
920
870
906
972
823
999
952
806
942
885
828
865
881
913
859
979
857
950
912
838
843
851
964
924
990
825
948
813
912
891
882
910
824
990
800
937
872
821
913
884
869
916
954
991
901
879
881
858
845
877
937
947
915
864
975
855
863
836
917
868
957
892
822
857
814
952
840
992
922
915
954
940
807
828
932
813
949
924
811
975
805
866
821
842
863
844
938
870
972
993
808
944
936
978
839
983
947
822
952
865
807
954
831
887
910
848
956
827
851
865
809
882
972
818
838
898
810
812
836
813
850
949
845
972
858
894
879
864
966
966
893
903
895
870
851
866
989
873
841
987
818
810
921
895
844
936
852
808
856
958
966
954
896
957
816
902
904
915
967
892
913
993
875
934
944
801
857
916
968
853
879
951
871
911
812
984
906
908
929
822
828
831
826
984
966
932
991
870
802
847
965
813
899
929
876
980
948
873
823
937
989
813
978
807
814
843
852
995
899
893
801
819
931
949
814
924
806
874
896
856
955
816
837
955
1000
988
962
845
999
942
910
974
817
907
927
843
972
939
928
910
956
851
866
838
913
915
800
812
937
833
880
907
841
865
915
860
868
902
860
912
975
834
816
830
855
980
814
860
972
827
848
843
994
929
881
915
945
849
912
833
997
998
831
814
988
876
954
807
880
871
941
842
898
996
848
956
993
856
810
932
894
875
931
861
808
882
837
843
960
935
997
886
915
864
987
845
900
860
903
986
975
969
894
850
971
874
934
969
931
831
849
850
960
999
942
944
990
902
894
821
994
930
995
998
936
936
945
877
864
973
917
906
849
999
864
831
932
921
807
996
890
847
834
876
992
966
850
932
879
842
935
866
806
839
938
817
864
848
967
947
876
833
917
923
991
983
838
852
890
835
887
848
878
963
990
919
960
972
843
1000
1000
889
975
843
897
846
811
962
819
923
834
944
865
838
911
990
804
988
838
810
877
908
968
822
953
810
932
923
857
960
858
870
879
828
805
995
836
920
990
891
963
811
998
867
911
918
849
964
899
928
910
844
931
870
813
928
800
962
845
931
956
906
924
955
950
917
832
962
963
923
838
881
927
998
824
836
908
936
847
911
995
815
879
915
888
994
918
938
897
804
971
914
932
807
868
940
985
843
949
959
986
841
937
932
868
853
891
856
810
892
944
855
953
937
994
845
924
882
903
882
990
896
846
866
842
931
928
841
864
944
812
902
802
921
967
919
836
899
929
887
985
854
872
821
929
869
880
972
938
885
844
947
866
828
819
868
959
914
892
906
928
914
891
824
874
979
973
929
894
917
856
825
888
804
816
980
987
927
906
906
937
831
835
820
982
954
858
926
845
833
832
840
908
913
825
910
865
808
889
948
967
923
823
933
856
809
886
927
997
855
985
966
929
999
975
955
890
943
927
966
912
863
819
822
997
976
910
904
842
874
842
922
895
882
986
828
867
956
824
830
993
944
888
957
942
853
940
811
820
890
869
806
897
913
881
804
844
910
981
844
982
892
810
924
813
994
890
829
912
963
877
848
857
886
974
975
921
810
839
830
808
806
959
899
932
898
846
839
946
809
981
926
849
1000
964
800
826
811
997
954
845
851
809
913
868
820
893
918
844
839
803
827
886
955
840
929
833
993
977
947
902
890
982
826
872
815
864
915
815
942
810
972
890
952
967
950
931
910
925
809
913
916
892
823
907
976
907
840
874
966
930
968
823
802
879
921
942
834
894
821
900
868
891
823
822
909
897
850
962
950
848
829
820
832
852
945
944
910
810
832
995
845
879
889
958
813
844
908
862
817
994
844
968
954
882
828
962
981
964
880
962
820
873
919
838
856
941
904
817
957
803
913
974
924
843
917
859
863
801
819
874
959
924
929
966
884
920
866
991
983
861
952
892
915
825
831
879
883
942
961
894
879
973
835
900
835
981
921
880
843
915
847
922
806
846
1000
808
974
947
994
877
824
836
972
838
816
985
912
931
955
901
956
873
889
947
984
863
818
952
826
961
950
893
854
952
803
921
894
949
859
871
942
833
999
900
801
826
991
924
869
820
914
959
823
938
946
904
851
975
816
931
824
984
858
859
998
803
941
826
900
813
824
873
994
922
949
848
955
979
984
903
934
942
819
848
836
992
971
845
911
919
955
898
879
929
868
889
938
978
819
996
867
802
800
907
887
897
954
926
847
820
943
866
902
919
855
836
820
963
824
919
825
991
849
928
910
849
877
861
914
801
980
819
978
905
842
908
961
894
936
947
988
827
981
895
964
929
901
992
852
951
861
870
859
901
852
900
865
986
822
925
996
918
898
824
988
821
843
928
865
811
828
962
865
873
961
857
927
914
988
834
933
929
936
927
925
976
875
823
867
808
947
934
964
873
938
865
823
868
967
893
820
981
829
825
891
865
891
969
816
952
973
912
939
945
940
872
977
820
998
812
911
855
986
898
809
928
973
889
809
869
822
885
987
983
856
913
925
988
980
851
819
914
847
823
802
827
948
952
898
929
854
891
822
932
936
893
808
868
863
910
992
990
852
888
987
858
838
892
855
978
993
1000
812
934
914
852
963
891
829
959
881
862
964
896
824
969
879
801
878
939
911
972
942
965
964
866
936
950
962
836
976
957
934
842
829
963
945
997
958
946
933
869
896
907
821
904
916
938
801
846
941
977
912
854
818
950
931
906
874
951
901
900
850
846
928
819
809
835
860
928
877
905
930
938
912
871
947
960
800
925
914
816
988
912
988
823
996
836
882
888
812
939
907
932
990
996
814
852
994
869
995
977
808
849
830
904
902
856
995
878
836
863
913
886
938
830
958
826
855
980
954
920
972
850
971
846
803
989
951
971
843
984
919
902
946
987
865
815
996
903
860
802
883
817
1000
865
947
946
958
932
899
837
844
905
990
801
906
894
922
853
986
944
963
895
862
898
892
822
878
892
826
879
956
925
968
990
986
956
976
880
938
812
965
883
875
869
823
901
902
978
891
971
823
815
938
980
990
968
926
969
846
971
818
884
988
827
950
968
808
982
935
960
801
966
821
818
948
874
872
899
994
875
832
820
973
990
884
916
970
846
900
821
802
996
917
847
837
820
905
894
882
925
959
870
835
846
819
969
866
989
883
843
807
808
938
880
983
820
865
949
855
840
818
925
941
826
967
838
808
813
955
931
907
890
904
926
873
968
810
870
905
843
987
806
966
811
965
963
807
856
857
830
809
911
995
897
971
996
925
930
824
880
874
948
972
920
860
990
806
871
929
896
985
846
920
827
926
956
830
908
868
889
888
922
930
824
876
899
808
842
928
969
980
852
931
953
951
945
857
873
970
921
995
973
998
837
865
876
974
913
895
810
885
899
836
943
981
801
810
918
810
987
840
843
816
858
868
893
957
978
972
924
932
905
970
933
899
893
992
878
1000
984
898
948
811
968
891
914
972
928
925
986
800
924
906
814
879
945
808
901
837
993
830
950
907
972
994
912
987
974
902
965
886
911
938
959
885
822
917
905
832
871
899
917
886
983
885
849
908
894
999
967
861
955
921
827
823
870
822
826
995
826
933
933
969
960
847
954
987
909
845
875
856
800
949
881
917
931
842
805
914
914
994
896
923
983
887
1000
810
919
894
802
889
823
969
928
965
928
919
888
907
996
962
818
967
965
901
844
839
847
919
978
826
884
906
899
922
853
846
906
945
838
991
933
819
963
1000
838
874
927
868
964
828
899
820
801
816
878
937
844
882
908
908
991
840
823
814
865
957
800
979
849
867
808
839
932
817
898
847
816
896
998
806
940
964
994
956
952
809
963
970
936
947
921
863
855
978
960
880
868
908
953
992
857
950
937
957
919
961
932
832
905
974
934
895
881
805
997
921
903
892
945
995
970
877
829
807
873
847
920
821
855
973
911
914
962
944
853
876
807
979
942
967
895
894
857
858
956
840
936
819
921
940
955
968
942
882
872
929
1000
820
979
800
819
842
816
854
934
875
967
823
863
923
819
978
983
976
933
834
875
914
835
924
897
991
898
913
874
837
850
933
861
803
925
960
806
840
962
946
844
915
900
821
922
836
939
811
816
857
848
979
833
918
948
879
926
836
810
811
869
996
857
916
974
882
930
882
847
837
995
954
810
902
933
851
981
976
988
973
839
875
983
855
887
826
839
940
947
963
941
806
895
815
869
902
977
808
848
843
938
938
902
867
831
897
923
834
934
941
933
886
966
893
879
888
991
853
831
856
862
933
975
899
838
807
841
913
905
855
902
990
936
995
903
957
812
877
838
870
904
907
894
996
813
865
821
990
907
807
947
927
980
888
924
808
949
951
814
987
883
970
962
804
803
882
913
816
867
812
969
955
900
911
956
993
810
805
953
909
844
926
999
865
880
983
967
826
845
912
934
878
913
995
858
907
921
865
911
817
814
845
941
945
929
894
833
974
866
996
952
899
853
893
902
823
954
930
953
979
910
854
877
970
821
984
983
940
848
967
847
851
958
893
971
905
933
891
928
977
913
941
955
858
951
949
866
879
817
894
950
936
999
838
937
960
858
884
931
878
953
876
886
832
899
1000
817
806
823
987
888
906
909
812
880
946
919
827
910
940
997
891
964
830
841
859
920
805
907
825
824
938
936
972
940
935
939
968
873
900
959
910
858
927
914
849
802
808
909
986
865
899
840
975
902
818
804
935
851
900
941
861
879
852
881
918
905
902
921
938
952
899
947
1000
937
802
881
840
978
841
987
815
845
966
851
995
955
809
946
827
891
949
843
917
804
1000
889
882
870
978
996
846
919
827
902
806
867
897
865
960
864
906
927
938
959
996
847
934
866
828
877
961
905
937
823
805
1000
896
999
837
983
862
891
884
972
984
981
869
937
876
849
944
901
888
897
890
983
991
888
918
833
897
876
925
904
840
846
836
871
938
884
814
944
849
801
827
1000
876
866
921
868
826
887
964
929
954
998
838
931
955
835
954
842
961
902
883
932
877
859
842
859
917
845
905
855
922
824
876
857
909
930
975
857
859
916
941
920
952
932
987
987
976
977
992
926
965
859
905
926
909
931
857
984
827
969
861
889
947
824
911
964
899
944
943
810
994
882
863
999
960
840
859
926
995
930
818
862
893
868
903
822
976
987
855
937
900
980
889
927
815
844
909
961
892
974
921
930
872
990
985
969
933
963
883
960
910
868
966
949
848
932
855
986
886
859
992
964
977
931
848
907
832
886
926
949
813
973
974
837
808
912
833
940
942
909
886
811
831
822
859
810
940
810
824
933
884
833
861
978
808
808
889
988
968
1000
994
885
911
993
927
963
809
819
903
850
860
913
903
913
803
1000
830
940
831
839
860
985
830
955
999
909
955
843
1000
838
930
986
823
810
886
606
655
687
636
597
596
650
549
548
546
678
531
513
517
620
560
553
507
604
687
602
507
591
582
536
579
523
553
582
529
665
696
539
616
540
692
658
555
588
624
683
589
514
646
508
561
695
694
570
531
668
625
552
610
683
510
668
700
577
645
527
678
664
656
507
510
578
567
655
664
649
683
565
515
581
562
535
562
628
670
545
564
660
518
546
517
507
698
504
537
587
520
601
692
639
619
500
640
515
634
603
596
617
695
641
501
524
551
697
600
576
503
592
526
691
546
529
539
543
579
681
572
504
501
650
512
679
584
675
594
654
683
689
684
514
696
556
525
594
639
684
639
582
685
628
638
527
587
548
649
564
519
535
689
674
629
594
642
588
531
676
624
541
645
576
551
560
573
626
588
636
657
539
599
687
653
577
670
672
566
647
500
593
515
542
555
516
628
521
535
658
627
544
688
614
506
623
687
539
643
613
663
694
696
514
579
677
641
574
648
583
534
630
555
565
514
577
511
675
538
686
699
531
558
552
511
517
569
579
624
597
623
666
575
524
552
693
683
605
654
694
626
643
566
676
584
697
693
652
636
637
503
629
562
500
517
669
588
606
644
591
564
556
661
627
662
521
681
636
551
645
567
545
661
611
608
566
512
670
589
677
561
585
672
502
523
658
562
547
625
581
699
691
560
661
540
531
554
658
687
618
659
665
557
537
602
529
531
610
648
616
593
635
572
568
607
520
505
615
682
556
689
600
687
582
539
622
651
642
694
531
622
676
503
538
604
698
635
516
642
690
501
619
549
698
656
696
560
656
631
543
636
673
551
622
579
528
583
512
689
615
622
629
536
583
623
621
625
625
541
603
591
598
594
516
614
538
579
663
611
570
581
568
647
519
572
681
628
527
507
657
564
658
506
651
558
614
638
619
682
643
610
565
547
550
651
621
570
593
674
642
501
639
500
686
566
669
544
547
633
532
587
563
646
568
633
596
698
516
636
518
516
687
621
597
567
587
526
686
600
579
639
607
603
655
642
548
700
639
518
555
691
671
638
609
509
505
587
558
676
526
581
561
513
634
671
526
671
697
637
648
573
691
565
674
625
585
512
649
699
601
691
528
592
553
544
616
567
557
509
539
576
543
554
579
639
680
676
580
533
685
603
661
628
618
567
520
654
647
656
642
615
690
524
667
612
535
687
675
616
677
580
516
619
694
679
521
551
600
568
528
511
661
606
500
626
642
581
529
631
593
637
513
572
564
529
638
641
510
625
564
652
675
577
531
556
512
625
597
552
658
520
644
545
574
563
622
503
640
591
658
613
666
561
572
596
628
531
572
655
514
573
676
512
623
672
626
651
611
648
659
650
503
505
629
598
612
652
680
592
634
602
525
578
657
646
502
566
652
694
566
532
657
633
661
530
519
695
513
615
503
549
648
653
559
694
607
569
700
613
549
531
541
697
586
654
693
527
594
625
544
627
589
563
616
570
560
568
662
636
533
535
579
689
583
598
556
532
547
639
568
504
571
657
664
591
613
545
616
624
611
658
640
661
544
601
508
697
540
663
683
565
694
662
635
500
513
649
551
561
579
691
562
674
536
532
641
627
668
689
551
679
562
527
574
594
695
598
624
500
661
596
699
693
556
628
543
668
657
665
547
660
610
671
525
588
698
551
628
505
538
599
613
557
598
688
530
512
677
651
687
527
611
592
656
593
700
687
692
659
563
565
542
632
581
567
575
688
524
535
546
609
655
546
545
532
656
596
523
634
594
620
524
608
612
669
609
676
624
579
650
656
608
597
684
626
610
630
546
637
680
551
564
520
574
576
513
671
645
652
556
615
691
603
573
542
604
676
536
665
696
618
561
508
656
603
502
586
539
508
536
700
542
627
583
574
700
558
614
700
513
687
609
648
501
697
688
677
685
593
637
572
572
602
564
528
662
542
697
639
569
583
610
574
504
632
519
611
658
680
595
586
572
637
605
504
645
550
680
641
591
509
616
639
517
597
532
547
641
512
500
516
637
561
660
637
660
512
688
607
523
511
545
542
635
561
507
681
679
615
569
674
683
608
553
662
607
651
552
633
628
576
505
666
531
569
626
504
518
586
623
660
543
631
689
591
575
537
545
636
555
531
520
607
561
685
661
594
511
614
510
507
592
680
603
684
621
558
569
657
660
643
614
599
554
658
554
556
645
610
568
677
642
660
620
549
700
681
571
578
530
509
575
519
658
543
697
548
546
555
510
517
621
658
570
559
567
597
643
569
614
619
627
598
581
561
610
663
505
639
619
650
645
551
689
537
681
525
628
678
535
531
560
660
614
552
550
566
522
697
576
550
567
572
641
602
677
554
608
500
589
576
640
630
575
602
546
626
510
616
565
523
685
506
528
556
680
530
675
641
627
565
692
544
572
554
634
689
516
683
618
687
522
532
633
637
515
648
540
654
680
512
673
600
607
683
516
662
526
554
649
576
514
555
515
600
561
527
560
620
667
659
655
547
700
634
579
583
507
653
645
534
676
609
673
505
654
511
590
542
600
642
526
511
520
644
589
586
525
568
603
552
557
668
583
549
584
582
669
643
595
623
611
695
674
576
549
607
546
526
642
580
691
661
571
648
500
596
665
610
525
649
551
543
588
692
585
573
668
559
596
608
683
668
602
532
620
558
654
689
532
529
670
525
616
645
519
700
599
514
610
526
621
646
661
681
673
547
644
657
659
609
554
559
610
556
641
695
625
603
579
557
559
583
610
530
653
601
590
698
616
576
631
687
507
612
689
685
560
651
538
671
580
628
501
533
679
627
644
596
690
564
604
654
664
698
679
579
534
643
538
619
681
654
654
642
625
553
511
525
689
637
530
609
552
543
630
598
504
590
529
517
664
634
603
682
578
643
567
690
698
613
612
666
658
625
525
577
529
629
572
678
565
507
639
614
586
596
647
524
624
687
595
528
624
648
519
539
512
644
604
573
599
583
653
589
528
666
569
500
526
667
650
675
637
537
519
619
659
554
668
519
609
689
530
553
534
623
658
512
595
645
657
664
582
592
700
590
592
582
567
618
678
532
669
660
575
657
583
677
592
537
567
608
603
648
600
609
686
666
694
678
637
520
513
601
662
562
533
678
643
627
689
662
508
625
526
537
514
592
604
545
526
676
593
570
615
506
650
577
553
512
553
520
514
553
548
582
501
553
525
601
526
598
700
548
550
527
509
515
645
583
537
575
697
524
540
526
617
533
500
663
700
541
696
596
518
546
566
572
571
696
626
592
611
639
623
598
577
680
631
600
508
508
616
639
586
561
580
687
523
531
603
621
531
567
529
675
519
516
533
536
546
658
516
527
695
699
670
532
523
657
603
633
614
638
551
519
654
540
509
588
607
629
533
637
659
506
536
620
658
514
589
667
673
548
686
599
575
656
624
525
506
671
686
583
582
692
574
596
584
637
549
656
500
577
700
608
560
626
661
651
593
675
636
547
689
700
579
562
604
507
562
597
623
678
513
624
526
680
577
575
545
688
615
694
642
540
637
691
541
507
620
597
532
655
618
652
562
530
626
590
607
609
553
699
647
507
604
520
617
591
538
582
690
627
533
549
643
543
520
597
608
607
679
518
511
686
529
585
674
653
528
646
639
637
609
687
663
550
596
653
509
523
609
541
506
670
539
566
666
606
613
649
532
669
590
586
565
572
599
660
621
600
534
523
599
504
616
661
541
564
560
596
630
607
574
666
559
537
506
505
510
690
675
593
628
536
507
624
542
607
620
606
522
641
676
553
537
642
604
617
548
640
600
636
613
511
680
640
582
683
569
600
613
578
615
566
571
525
552
652
559
531
548
681
641
533
589
521
619
533
611
521
557
688
669
544
645
613
582
608
510
553
572
635
517
571
608
521
533
584
513
549
658
503
543
650
601
554
693
506
524
576
678
506
686
580
680
643
565
635
519
511
573
613
562
614
634
664
590
557
503
668
598
671
589
520
633
520
681
560
605
531
621
635
688
629
533
619
681
615
572
693
544
524
663
595
564
687
591
686
681
657
681
659
612
626
662
651
570
551
599
643
520
585
556
523
639
507
657
652
671
518
688
627
634
639
567
662
685
679
524
679
532
682
545
691
648
662
509
612
560
662
623
551
623
600
527
584
616
668
582
522
588
593
667
680
671
504
538
547
665
572
589
533
502
673
514
672
593
564
628
514
629
613
674
564
506
561
630
686
681
663
611
667
579
564
578
513
585
613
664
664
503
643
683
664
655
554
613
614
606
613
527
648
523
596
551
578
681
661
516
631
676
613
563
587
598
645
628
621
626
590
628
534
679
503
679
641
683
551
631
509
554
545
603
535
586
539
556
546
593
590
503
628
642
513
611
527
632
683
648
630
594
528
677
536
646
536
671
565
617
604
662
513
524
684
581
530
622
516
583
683
679
578
624
664
548
604
558
579
559
611
681
647
602
627
519
626
625
500
581
545
544
651
600
671
547
520
617
530
592
686
613
664
676
615
583
602
536
573
548
533
537
583
629
597
598
632
587
576
522
622
531
672
522
504
593
658
534
512
585
630
535
571
519
654
673
567
612
676
578
514
524
665
561
673
555
504
563
669
580
690
538
502
676
642
697
646
594
611
692
634
510
549
688
672
682
521
569
536
669
561
595
616
668
562
565
552
640
612
675
687
615
628
507
519
537
575
521
665
566
670
586
691
591
698
612
628
608
578
518
559
693
544
544
506
591
542
638
680
690
551
698
695
666
566
582
693
672
694
676
567
541
661
594
545
522
656
529
650
664
611
587
692
557
558
517
680
503
507
681
683
613
648
580
548
605
663
589
538
528
531
583
580
681
691
550
545
552
554
519
609
514
690
638
593
519
681
697
682
585
689
536
634
686
671
539
696
633
604
630
593
685
507
588
668
535
540
583
624
694
561
665
543
622
566
588
544
672
589
536
571
683
631
700
623
690
674
695
505
517
567
519
675
532
591
522
600
563
508
590
640
611
675
511
576
558
544
639
612
642
633
697
648
561
666
603
639
637
685
693
618
664
606
651
511
533
515
683
587
551
554
510
501
677
521
683
696
509
545
677
646
641
509
598
648
685
575
544
628
520
677
583
626
642
699
598
665
584
592
699
554
676
602
685
678
590
651
652
592
615
697
653
576
517
558
633
505
645
642
523
518
556
693
528
521
606
686
512
509
543
523
515
691
636
583
556
689
566
602
670
676
538
662
525
697
697
510
500
648
621
593
579
581
587
554
622
678
613
650
593
513
667
512
664
641
523
696
621
583
700
503
653
631
572
696
587
687
540
604
692
686
589
575
533
539
635
568
636
698
629
544
599
627
564
674
543
664
554
598
505
502
584
551
578
559
529
689
502
680
582
506
649
546
564
683
639
627
674
619
681
548
545
625
544
519
557
687
542
585
695
575
652
528
510
617
630
561
609
641
582
669
583
602
686
508
592
606
531
545
541
615
690
654
578
654
685
674
504
562
574
672
598
583
681
659
630
637
612
606
513
620
665
603
522
537
669
515
561
691
585
563
618
509
622
688
578
683
522
528
640
586
551
699
690
519
507
685
533
680
512
638
678
652
687
576
697
627
560
501
633
617
571
515
653
687
531
609
565
700
523
581
570
581
673
632
505
573
639
576
649
545
572
565
652
546
613
604
510
577
584
595
583
631
670
599
556
567
512
558
585
692
643
635
683
607
551
510
583
693
575
582
563
693
671
653
603
649
647
647
678
562
543
530
610
505
595
519
585
575
661
698
543
645
604
663
572
562
545
644
652
697
635
639
552
644
609
630
562
639
510
567
605
517
610
587
659
503
607
675
546
682
599
699
595
591
656
657
620
530
648
606
534
544
693
581
590
632
506
607
546
645
652
532
595
538
573
693
553
663
648
698
645
555
537
541
623
500
665
649
546
535
567
593
691
696
691
527
561
656
699
614
567
506
565
655
632
649
604
598
508
639
514
538
546
639
637
700
673
571
642
668
658
531
564
531
620
585
501
557
614
537
602
688
575
556
548
579
679
621
680
621
638
671
646
597
587
689
503
586
523
560
565
619
681
605
640
502
666
640
530
613
554
543
673
687
691
601
518
700
613
565
580
556
547
547
661
649
651
636
595
594
565
566
617
543
630
563
519
657
620
607
660
650
683
597
537
507
553
617
563
580
525
572
633
657
671
659
553
623
537
603
507
539
659
647
531
657
562
684
699
507
635
621
631
504
681
610
514
671
532
646
553
658
548
576
691
684
544
535
532
524
651
659
566
655
560
652
504
566
575
698
574
556
628
635
675
669
531
658
512
663
537
562
538
537
610
518
501
575
679
627
583
552
581
669
651
632
571
522
658
615
631
690
591
644
652
645
578
519
539
515
665
601
596
525
509
679
610
533
663
686
551
678
609
516
700
576
634
664
658
667
521
503
626
678
582
695
556
623
645
518
542
695
589
699
688
622
584
530
517
684
673
685
519
527
551
554
607
548
640
639
588
507
619
642
696
658
663
584
664
545
643
561
515
693
643
501
681
630
568
637
603
669
655
696
538
664
697
639
589
686
669
633
651
690
621
581
604
685
517
686
578
678
506
536
616
686
642
688
541
527
637
610
629
532
691
677
601
657
696
587
521
504
552
607
532
571
549
620
620
511
655
657
573
507
613
507
630
639
681
670
685
523
590
670
535
595
519
545
594
541
533
564
643
582
666
596
574
626
501
690
635
569
595
501
606
535
511
634
549
510
520
674
501
629
684
643
525
579
548
649
610
570
507
640
669
622
519
606
549
672
630
670
560
700
571
512
557
655
692
570
607
516
669
571
577
613
625
688
502
668
531
630
689
685
552
579
622
636
513
559
559
615
580
583
572
637
523
554
653
552
695
509
687
500
681
675
585
679
602
572
655
553
501
634
556
696
528
549
515
690
667
634
549
620
595
613
577
589
549
611
504
693
559
603
646
659
658
604
624
542
576
686
587
615
631
554
549
674
504
503
539
578
662
614
605
544
523
656
583
611
655
535
694
666
572
571
568
613
614
500
629
574
504
644
557
538
587
641
532
670
655
628
603
699
566
633
506
650
643
648
595
684
601
512
511
577
593
690
514
652
686
571
580
690
632
530
509
621
572
676
651
678
649
674
589
510
662
615
514
578
593
573
651
540
607
618
597
653
693
572
510
608
662
529
623
612
554
541
555
660
507
667
680
684
657
646
654
548
508
527
573
553
615
594
644
588
606
594
539
581
556
525
542
564
659
665
549
677
509
650
657
579
545
569
508
560
651
533
590
612
612
517
585
598
658
569
533
583
593
523
664
669
504
603
528
641
567
505
687
609
536
586
508
696
580
661
669
640
563
687
544
669
577
566
609
577
635
538
642
649
534
565
592
586
638
627
645
603
541
666
645
598
508
585
615
559
695
602
648
691
699
694
538
624
668
577
622
505
559
500
589
648
667
545
532
682
584
660
588
668
659
587
574
586
544
547
577
545
543
504
548
570
654
655
594
557
695
530
617
633
663
653
608
649
661
604
645
576
674
697
689
519
523
504
676
609
681
665
663
523
621
672
528
626
629
700
573
684
568
669
504
589
651
574
512
696
673
546
540
582
626
608
658
518
539
617
532
556
582
566
598
612
680
658
546
525
564
508
659
519
675
503
700
565
654
521
630
620
659
554
646
501
658
550
587
536
581
530
685
573
559
528
683
524
624
500
629
592
559
517
609
580
568
606
671
549
590
674
539
508
626
553
610
548
649
625
533
519
632
501
677
685
573
645
679
547
651
664
643
612
611
640
545
681
589
504
518
644
643
529
639
615
600
635
523
601
686
510
550
685
615
554
554
673
651
573
580
652
523
657
699
695
595
669
674
568
540
685
664
695
647
558
700
518
631
580
682
627
509
540
666
543
699
501
626
658
583
538
646
505
542
567
700
558
516
582
531
607
650
632
523
552
530
663
559
539
662
557
507
640
647
656
697
502
593
539
576
691
641
608
620
647
589
670
522
524
541
697
566
597
583
633
539
639
577
624
650
695
533
700
572
625
534
651
560
558
667
537
650
510
511
626
614
519
676
545
603
628
560
567
601
640
648
621
593
602
636
577
512
556
607
666
668
503
588
643
579
698
560
616
629
543
614
572
674
525
573
525
543
640
677
580
520
596
695
523
584
621
553
567
656
655
623
536
538
612
609
540
577
602
616
656
533
627
635
576
611
625
527
601
574
657
580
604
645
537
609
563
584
553
559
523
534
539
671
681
657
616
684
529
524
618
656
503
570
579
532
561
572
568
570
659
700
653
642
669
584
634
507
552
503
531
564
525
541
625
553
519
607
593
680
513
511
510
629
608
548
689
623
688
667
512
514
671
585
597
594
666
619
641
663
543
596
650
614
634
655
650
608
606
621
655
672
568
686
696
600
546
594
697
679
627
533
575
582
571
579
633
640
572
614
676
590
576
563
553
516
515
554
571
672
598
563
682
675
647
664
658
609
592
588
652
510
537
620
629
640
688
589
525
583
540
566
539
668
678
600
615
612
578
545
620
607
553
675
646
501
510
652
538
684
612
545
664
611
674
544
522
593
502
578
619
652
671
525
619
656
611
698
667
515
700
590
592
515
566
659
599
680
697
644
514
553
560
621
671
633
541
629
700
603
520
619
614
533
544
656
554
609
525
626
563
566
576
617
652
615
575
532
604
693
521
579
545
580
601
553
609
681
535
657
692
511
569
677
649
509
585
563
625
686
552
582
660
689
501
623
570
662
559
570
572
628
569
676
615
591
631
545
697
679
580
502
661
523
609
640
610
545
645
626
591
548
559
616
667
508
575
699
576
675
561
656
649
607
508
675
634
616
672
671
670
564
547
545
559
673
514
580
643
686
504
578
677
664
544
517
564
688
640
663
591
656
649
533
605
508
607
663
642
539
671
519
632
548
581
689
651
621
625
619
637
551
553
650
641
692
543
537
548
613
640
509
627
573
598
666
526
586
564
549
671
601
522
629
556
654
594
529
693
655
617
514
664
542
585
569
642
526
623
619
640
698
523
665
621
532
566
534
659
528
640
576
659
512
687
593
550
527
624
675
673
665
639
608
546
597
519
504
603
672
685
609
620
589
503
607
676
557
691
561
597
700
616
633
522
673
693
508
525
515
562
508
520
559
672
593
673
548
500
536
651
574
616
682
629
551
514
700
646
516
623
509
589
642
588
598
577
550
580
557
678
577
544
558
661
681
551
689
542
540
500
606
522
587
637
543
547
582
634
588
576
555
694
507
679
548
547
647
672
508
574
516
670
554
659
659
551
543
621
690
560
647
669
600
587
542
606
699
526
670
693
699
682
574
656
511
508
593
691
526
569
507
611
557
683
579
666
569
661
676
536
573
562
700
531
561
584
657
619
596
620
636
507
513
632
565
563
530
516
695
520
546
638
692
581
527
664
645
542
587
619
685
658
525
535
655
529
581
686
690
558
540
552
505
643
645
634
536
678
692
646
572
533
647
696
604
532
513
590
601
579
662
526
623
595
529
573
633
565
675
618
590
550
629
536
675
651
532
560
605
510
576
546
594
675
669
511
594
639
593
633
576
511
658
627
585
536
623
525
652
537
635
605
695
508
555
693
550
647
591
580
575
594
637
533
574
505
664
656
590
527
561
592
567
545
518
680
552
529
512
630
614
625
571
526
562
695
641
650
589
645
530
584
678
578
636
591
593
673
647
611
625
677
606
572
605
567
625
615
608
548
615
542
502
670
567
548
666
612
677
658
607
697
530
612
652
627
573
542
584
549
646
536
572
565
696
584
696
606
614
675
565
567
551
645
627
611
535
663
560
668
603
580
689
685
532
526
589
520
526
650
588
672
538
636
685
546
629
537
575
673
578
535
612
658
570
656
626
700
589
656
668
613
692
695
672
613
687
587
566
613
535
692
669
642
586
633
600
621
585
507
600
505
641
581
658
658
666
518
524
584
554
680
685
557
614
631
519
660
671
521
541
602
542
514
551
597
510
597
688
590
894
947
889
951
990
959
904
834
887
939
921
955
957
904
964
823
862
931
826
810
997
936
847
990
914
923
822
814
930
872
900
843
855
848
830
954
832
997
982
976
891
998
899
882
837
917
855
962
981
987
893
868
888
933
904
911
992
909
990
942
951
994
824
939
981
838
865
992
982
926
908
926
855
901
948
948
936
868
969
881
829
922
975
943
895
815
803
981
987
947
944
836
893
845
833
917
892
937
908
868
880
826
912
840
944
805
904
861
925
901
854
850
823
899
890
980
811
865
951
917
889
898
956
939
849
801
995
857
983
935
894
1000
976
834
855
903
848
885
967
990
958
952
833
864
820
950
914
941
888
849
864
930
872
964
931
877
926
966
979
937
934
980
964
929
962
920
801
946
921
873
906
805
845
983
801
942
882
918
809
896
998
873
840
835
962
819
931
908
902
911
929
896
821
853
980
872
931
892
875
835
992
892
910
953
961
969
979
983
936
873
985
811
943
922
854
803
872
970
953
986
938
800
841
870
844
803
1000
834
888
856
870
918
919
996
895
903
856
867
971
855
828
823
883
917
976
911
839
880
978
863
865
946
898
889
865
915
901
872
969
907
881
894
845
893
943
802
837
890
903
993
917
843
928
999
948
865
998
881
1000
841
1000
982
909
856
921
800
852
907
887
864
928
878
982
1000
818
936
869
856
933
923
837
881
999
982
818
938
962
877
876
851
847
915
986
841
957
940
847
903
936
988
877
928
889
931
890
938
902
898
842
915
825
980
936
953
992
942
893
942
928
924
945
814
837
847
902
858
976
912
900
851
807
934
847
917
872
903
888
952
988
815
808
813
903
938
902
910
822
812
839
975
912
993
864
846
963
822
857
989
960
936
976
969
866
868
824
917
861
981
915
954
966
885
975
867
928
876
924
845
824
925
975
845
976
947
821
848
849
991
957
875
813
848
831
808
874
842
915
953
876
963
944
857
848
855
892
990
823
863
990
931
993
876
868
929
833
965
988
806
820
940
980
970
850
955
988
954
882
972
829
813
810
849
880
893
877
930
949
807
897
977
989
909
937
954
926
915
886
970
964
946
849
926
979
967
895
838
874
836
808
883
823
901
930
853
859
975
988
889
880
883
823
951
805
875
992
843
996
851
936
898
987
985
837
805
870
904
854
840
993
902
888
917
889
853
849
844
817
833
899
880
987
936
910
802
859
908
968
998
944
964
880
901
972
987
884
817
933
832
985
807
871
802
833
945
860
838
956
951
912
965
969
960
829
830
878
951
831
990
964
888
806
820
877
833
967
825
971
972
999
899
886
857
889
964
901
834
822
922
870
809
866
841
823
967
972
802
817
992
889
880
968
818
953
870
853
834
992
987
800
833
813
849
988
811
890
848
982
988
834
962
803
863
806
933
898
896
853
949
962
885
849
971
815
865
931
983
918
988
936
931
892
922
874
897
806
950
916
940
895
976
848
864
950
809
985
851
954
854
815
820
845
947
932
850
949
936
865
851
831
876
851
850
826
897
942
854
810
932
981
914
999
941
804
979
819
999
838
942
806
959
995
869
862
935
919
902
919
902
951
957
831
864
846
933
966
860
941
989
938
878
913
993
966
800
817
899
968
978
981
808
835
876
834
894
921
960
933
904
847
948
941
844
897
928
872
921
906
902
968
984
933
986
892
876
962
968
830
852
862
940
934
831
943
848
803
900
952
832
981
814
932
998
876
899
836
864
914
980
803
905
894
982
989
845
846
813
852
819
920
850
937
819
944
868
858
966
938
904
900
884
927
867
801
957
918
902
812
940
929
803
852
944
833
875
993
992
801
999
855
836
920
917
894
835
988
952
930
972
886
948
979
826
962
945
831
886
972
875
982
926
932
888
816
949
947
937
999
807
993
856
873
991
991
992
892
838
802
865
919
962
981
911
909
832
911
811
840
926
905
954
875
971
830
842
918
958
961
989
833
806
812
849
969
905
856
899
928
903
924
964
831
874
963
840
966
905
844
876
909
818
811
955
849
960
811
907
990
883
874
868
941
881
991
883
924
1000
840
848
953
870
832
885
995
866
977
916
909
875
965
964
981
977
929
873
822
911
866
919
919
973
836
931
961
967
803
824
995
975
873
853
839
844
965
995
833
986
934
984
876
929
853
920
827
996
985
864
924
959
928
936
816
829
954
848
939
974
854
820
989
927
939
970
983
927
885
865
881
974
876
987
957
963
843
973
999
816
958
865
1000
974
950
800
974
979
921
847
822
895
801
886
899
946
851
916
841
820
912
910
942
924
870
806
832
930
900
976
991
976
818
948
812
868
931
868
944
941
982
986
843
970
843
932
809
950
967
855
974
906
973
987
993
957
952
998
942
950
829
957
848
918
875
809
999
941
996
920
961
853
964
929
985
824
859
818
951
846
975
862
967
996
994
952
831
865
900
889
813
971
993
850
877
935
911
847
936
859
968
992
983
854
944
957
876
830
852
949
829
841
978
999
942
962
925
847
870
917
906
878
828
838
999
990
804
817
869
818
949
975
892
995
979
904
834
925
884
927
850
937
912
814
999
981
974
886
815
829
919
926
875
989
847
920
855
829
935
894
929
889
884
879
966
844
928
823
854
802
828
962
860
915
832
892
825
995
926
990
848
986
914
946
980
876
964
985
946
971
813
921
838
961
928
946
947
879
927
821
965
922
988
958
823
815
994
897
832
913
950
829
839
835
993
808
834
889
978
938
964
927
886
811
870
891
930
855
986
895
945
892
949
943
884
835
889
844
909
987
946
855
857
825
950
824
862
903
931
936
994
963
926
942
956
874
806
992
882
867
835
917
896
943
850
938
862
967
972
878
822
865
930
849
993
858
906
959
957
801
940
803
838
969
841
938
1000
881
830
872
800
912
926
981
962
898
853
995
993
831
834
896
928
897
865
890
993
947
932
820
845
905
975
882
850
993
806
828
873
948
851
802
859
843
973
911
919
884
874
975
914
963
809
847
918
882
901
993
891
891
989
829
934
805
872
895
842
807
813
904
976
948
841
833
926
850
847
853
831
984
949
958
961
937
994
949
821
839
954
800
805
901
836
833
950
818
934
926
939
937
981
884
858
881
844
826
955
884
888
802
938
828
980
831
979
952
872
961
986
945
825
982
826
988
942
855
839
912
888
961
981
871
937
843
886
986
914
945
832
895
912
892
855
910
816
865
961
959
975
903
834
989
809
884
838
988
862
951
838
880
803
923
953
850
996
801
851
892
804
960
820
981
974
919
932
879
917
886
940
826
814
895
925
979
836
976
985
809
826
837
906
847
939
923
836
983
975
993
934
985
853
952
862
998
926
933
912
853
827
889
841
803
849
885
984
861
989
800
822
853
990
830
937
920
978
800
834
997
996
989
811
946
814
996
983
936
877
822
854
878
997
990
843
825
983
905
940
850
864
958
876
953
939
941
881
828
806
887
961
969
898
862
925
956
877
832
1000
953
849
951
958
840
809
817
956
962
933
867
933
906
959
906
811
851
970
901
890
848
987
949
963
932
869
901
986
838
996
970
930
820
878
939
891
881
856
810
889
905
844
928
973
940
943
993
928
834
909
928
932
982
848
962
857
871
893
805
845
893
899
982
959
985
823
911
985
816
818
886
908
860
868
952
875
857
963
995
867
811
921
981
919
804
900
867
945
840
817
893
801
942
804
973
854
833
813
828
820
801
992
863
822
868
881
893
843
980
878
851
930
894
851
904
813
928
952
893
838
971
882
892
814
849
977
899
939
885
854
833
839
812
926
976
803
978
977
818
933
957
939
950
819
977
950
955
895
974
944
828
874
894
979
927
867
863
830
861
812
874
969
887
944
912
998
976
847
810
844
953
957
853
879
900
944
864
993
828
849
871
908
801
983
920
958
855
833
929
824
940
833
970
906
815
964
984
963
875
862
918
870
925
921
830
915
817
984
900
972
861
979
909
921
907
997
866
922
846
936
967
964
955
996
982
830
948
825
909
874
888
848
829
974
968
965
800
803
846
930
893
896
886
926
960
894
896
813
844
876
846
813
836
829
879
914
900
818
969
832
853
838
951
954
1000
871
833
915
980
804
885
886
847
949
903
922
818
905
964
847
909
898
960
881
903
924
969
912
982
855
802
895
895
991
953
825
840
924
860
952
901
860
803
833
935
860
870
999
953
867
943
936
899
872
949
901
944
841
942
914
859
974
971
972
923
856
935
882
806
957
842
941
991
868
921
814
925
893
802
874
819
940
849
939
800
801
897
887
907
900
832
884
953
847
830
813
917
820
903
888
863
815
976
871
850
930
912
882
806
978
932
906
951
874
992
837
997
922
960
928
962
813
890
833
950
984
929
872
847
953
967
943
855
901
930
918
897
941
833
865
862
929
989
913
998
855
865
824
943
901
809
845
904
955
954
907
946
802
845
951
817
979
830
922
813
882
963
851
816
951
977
999
948
849
936
909
893
972
875
801
985
885
981
916
989
969
875
802
896
888
849
928
865
950
912
888
963
990
962
826
864
871
888
868
906
919
831
875
882
890
940
911
835
831
850
977
985
886
857
865
976
859
995
873
856
879
874
954
961
994
912
966
845
905
868
974
851
972
886
825
961
905
816
930
904
894
823
949
901
818
854
910
862
915
930
882
948
959
976
856
943
897
861
826
828
816
887
910
830
802
849
863
837
887
868
995
844
990
958
999
882
913
978
923
917
913
838
802
933
951
830
890
950
834
800
907
990
879
831
904
853
926
955
892
999
811
845
836
990
816
929
854
927
944
916
991
987
802
857
935
960
859
895
909
855
919
893
992
952
810
962
831
807
947
922
954
857
889
961
903
907
805
903
970
873
908
967
812
967
851
970
824
832
969
811
866
881
998
968
933
891
984
860
937
934
891
984
930
995
870
930
891
1000
926
940
895
967
1000
921
929
922
983
871
817
982
830
981
892
965
920
961
863
943
983
879
981
842
857
817
970
834
804
806
955
873
917
904
838
933
955
969
948
821
842
816
820
824
996
881
851
956
891
879
916
980
829
987
989
986
911
943
977
873
877
875
886
947
832
802
985
937
917
954
974
890
934
937
871
890
955
932
943
872
902
806
955
883
952
859
983
871
960
936
924
830
838
850
823
881
857
994
808
854
815
900
943
961
836
842
857
831
984
942
875
984
801
875
867
887
879
875
861
836
924
800
981
805
977
976
914
901
833
962
998
868
879
886
811
954
885
835
951
859
927
855
978
903
825
839
878
971
974
854
814
914
831
860
963
814
924
879
976
934
814
811
863
936
804
996
895
849
985
969
839
958
999
838
908
905
831
916
810
818
946
991
833
845
810
907
902
824
957
986
800
944
921
986
861
824
905
857
862
844
992
961
877
821
975
802
875
855
992
816
828
977
801
944
805
851
907
821
831
816
931
975
959
987
937
947
806
922
980
920
932
998
921
903
974
828
842
827
964
967
835
800
975
988
918
866
807
949
1000
844
839
907
807
904
805
848
849
889
893
871
846
811
876
907
823
832
913
883
947
866
934
863
950
831
934
859
964
837
834
908
839
878
847
887
924
925
865
960
820
854
860
865
950
834
869
935
897
886
950
943
899
903
957
974
932
939
899
869
886
842
922
930
938
933
902
921
841
965
840
856
973
881
862
826
995
899
900
855
857
823
945
815
815
890
938
827
953
984
861
898
950
997
955
897
877
905
940
922
895
949
893
946
890
921
984
995
937
834
979
850
842
993
875
943
889
888
923
841
866
842
900
906
889
868
925
947
972
853
811
927
823
895
941
832
990
966
910
801
858
895
804
888
887
894
981
900
829
991
935
949
934
937
996
832
912
807
918
879
901
949
844
904
947
838
985
896
907
807
944
948
802
842
827
939
824
904
885
838
836
891
806
970
843
877
901
886
920
859
958
970
993
933
950
803
822
887
952
924
802
859
827
973
941
821
823
874
952
842
858
837
995
844
828
881
843
910
873
919
977
884
971
833
927
891
972
848
951
905
816
857
932
846
958
970
945
816
917
913
834
991
801
850
998
970
856
971
921
825
823
826
995
873
810
833
844
939
833
819
912
825
834
831
988
872
908
904
894
843
957
941
868
818
917
968
803
886
978
896
847
817
826
996
819
914
807
843
868
976
976
869
904
894
910
880
904
949
843
818
844
824
846
931
926
851
964
913
955
808
937
970
815
861
941
922
934
998
875
806
989
992
842
889
998
886
923
894
829
1000
997
940
922
861
981
884
924
898
983
910
891
863
920
806
841
981
899
969
854
831
890
894
809
953
847
853
811
862
894
832
826
880
932
834
834
973
830
929
966
921
919
939
972
863
1000
802
816
944
948
858
904
896
978
915
895
833
961
919
943
891
903
840
868
824
918
802
956
989
882
883
997
868
961
805
991
914
993
808
869
895
816
947
979
949
877
925
998
979
908
846
872
913
946
878
926
998
845
928
878
958
984
975
954
841
924
900
956
865
867
948
823
813
834
883
879
924
907
882
827
862
889
831
921
926
1000
896
803
988
952
963
938
967
992
883
868
831
901
977
958
901
928
929
818
863
923
952
894
942
914
806
994
881
875
806
882
950
976
973
809
996
835
921
808
816
967
927
954
839
912
916
996
932
884
999
932
810
986
846
954
949
969
885
956
832
958
948
866
976
977
957
873
965
882
907
919
962
938
836
915
963
964
904
957
808
806
840
911
993
979
883
924
967
894
925
882
991
987
813
999
837
942
964
850
866
831
804
883
908
945
960
980
871
917
807
846
901
819
962
896
898
828
841
977
837
996
916
975
910
808
828
800
916
801
876
980
961
903
939
814
917
963
911
904
940
806
805
812
950
872
887
971
849
972
898
854
916
819
824
950
927
888
899
966
826
964
958
970
927
860
913
896
936
804
952
954
981
819
865
888
872
999
818
840
901
902
977
848
907
968
860
885
844
838
931
864
973
816
961
840
862
990
970
933
863
948
859
953
977
830
986
865
946
911
823
844
882
887
855
984
807
986
918
874
855
829
825
953
946
806
953
995
850
866
957
963
952
944
984
869
914
943
924
942
803
880
936
893
811
938
939
868
986
855
838
990
806
856
828
807
838
883
983
895
854
830
939
802
1000
853
842
954
923
889
947
950
952
842
917
991
903
1000
922
835
821
822
858
971
950
833
999
809
899
824
824
820
919
954
962
902
964
862
899
974
855
976
807
850
990
957
855
880
947
849
936
863
834
864
859
1000
982
851
843
855
906
976
901
927
903
869
993
926
830
820
931
956
931
908
858
926
964
924
808
978
881
864
884
983
811
900
872
812
971
912
918
976
979
869
836
839
978
987
834
848
950
871
833
959
967
943
879
920
878
865
887
829
932
989
996
913
837
895
930
801
879
872
938
821
862
800
897
948
995
819
865
832
920
938
958
917
975
923
994
832
973
964
890
947
904
831
883
937
967
845
909
848
909
963
911
961
994
854
852
830
918
853
932
860
1000
915
846
912
845
950
807
922
920
907
916
886
934
960
971
847
948
971
888
845
956
923
925
995
845
816
874
990
940
825
838
955
858
914
986
859
842
924
826
896
938
852
892
885
945
819
957
844
845
824
843
1000
934
860
966
932
904
844
815
959
952
992
838
952
958
803
822
884
893
884
948
817
817
885
870
951
915
853
919
998
953
870
944
933
801
817
932
833
966
925
816
820
844
803
853
962
832
970
837
948
983
963
939
953
822
804
837
912
945
999
993
955
917
880
902
853
863
973
834
815
876
941
843
947
869
980
968
884
881
959
985
973
897
832
880
929
845
901
804
812
895
982
838
972
894
832
824
979
930
946
888
824
935
922
911
857
984
830
987
856
872
993
992
819
968
877
997
885
993
859
850
878
912
991
896
840
817
995
847
930
888
986
943
863
942
847
828
945
846
983
920
914
909
822
869
906
871
803
862
837
875
860
846
914
831
841
963
981
855
808
947
928
993
911
811
1000
811
805
886
808
1000
853
940
881
801
947
987
884
870
974
981
824
874
949
938
932
974
929
970
987
969
900
971
908
965
889
869
873
975
881
908
875
964
973
1000
916
800
925
958
954
917
876
999
986
818
853
803
862
855
872
975
884
964
844
843
839
952
916
871
825
957
809
956
912
852
911
991
998
998
952
988
835
948
824
937
855
929
826
874
937
902
933
808
892
903
913
853
812
866
878
879
887
931
859
840
833
852
950
950
857
826
924
882
836
836
943
915
996
982
831
829
812
974
941
981
897
898
914
900
981
911
873
956
840
857
933
984
848
886
912
859
912
978
874
971
819
944
926
884
995
836
905
952
812
993
940
850
930
916
925
886
967
950
911
827
984
846
992
948
953
981
933
899
987
979
843
885
912
969
985
803
848
930
910
809
962
983
982
895
808
917
865
809
931
863
922
952
820
953
948
953
962
863
937
986
880
979
924
863
977
902
922
885
922
892
866
848
934
810
855
948
925
961
909
956
851
886
841
918
951
801
887
820
832
924
861
868
940
944
987
994
863
980
991
922
825
868
875
957
800
994
802
989
910
838
988
939
858
849
809
889
994
834
806
801
890
801
937
913
911
867
827
849
982
888
984
935
884
920
920
899
939
900
867
945
987
823
886
841
938
994
847
833
804
898
875
883
928
832
958
990
855
833
955
805
901
818
853
861
866
831
858
815
886
975
847
953
946
949
880
854
893
832
886
849
976
848
970
925
967
981
812
947
841
949
945
992
811
978
862
854
904
892
990
938
860
802
812
973
816
952
856
868
819
897
886
872
933
844
932
926
849
921
955
894
852
880
982
990
981
939
969
875
981
836
920
882
971
999
932
870
961
905
840
810
981
979
855
882
965
815
995
930
926
911
939
916
819
1000
919
907
811
959
892
951
951
813
997
897
803
939
918
848
962
897
891
935
916
994
804
843
998
910
832
944
984
914
985
801
820
899
878
849
836
928
905
819
881
802
995
841
842
960
879
850
878
965
813
908
882
807
901
837
849
917
834
861
973
859
865
849
953
903
819
814
934
840
965
992
979
822
969
970
955
807
993
851
950
818
887
845
986
826
864
885
843
882
850
991
865
857
926
986
924
804
992
944
814
949
874
955
879
877
957
852
882
1000
877
933
873
869
954
903
997
948
810
961
880
933
802
887
818
945
920
865
867
952
962
938
885
881
815
837
979
998
803
839
835
989
845
844
918
852
985
904
902
877
979
839
931
851
930
846
818
893
875
884
868
848
974
979
934
800
981
815
882
926
885
968
835
993
898
943
971
996
947
937
995
860
971
998
948
856
844
895
877
841
832
973
876
966
933
924
886
974
916
938
983
933
949
965
930
867
854
822
917
843
800
876
942
971
863
988
924
939
868
898
911
893
815
995
873
962
819
851
947
882
866
984
966
991
906
941
987
803
871
819
901
966
949
877
958
823
878
865
886
802
882
855
873
994
814
887
871
814
881
826
895
895
983
895
993
871
843
932
872
864
850
914
974
985
916
806
836
838
894
850
837
854
808
978
867
809
859
808
922
814
806
818
924
928
929
885
803
802
933
870
806
997
982
1000
969
873
982
821
893
828
951
982
923
803
957
891
813
1000
803
909
912
812
818
895
890
971
903
982
861
900
816
970
895
981
870
951
967
826
936
806
831
845
940
954
955
858
847
921
947
984
999
876
957
888
907
913
893
898
853
838
805
960
831
833
954
912
917
815
834
864
896
957
998
990
810
909
904
941
1000
914
819
901
875
906
890
816
982
883
973
847
867
879
997
816
812
822
892
858
812
846
859
942
851
801
819
935
891
851
955
985
954
830
934
869
869
978
848
857
808
887
991
885
946
871
827
973
889
902
948
908
993
859
955
946
949
993
940
865
830
864
875
859
850
824
926
936
906
822
900
841
967
916
820
882
961
922
870
845
860
843
989
847
813
837
857
906
876
932
872
827
814
962
1000
881
999
904
988
971
926
898
923
885
845
911
981
985
991
953
887
967
953
907
847
862
977
903
846
887
933
801
806
992
838
984
978
836
899
970
885
860
814
941
873
840
959
924
968
891
932
807
888
874
970
887
885
989
982
892
913
842
987
886
993
987
914
822
886
858
904
982
812
939
883
935
954
934
847
933
936
975
912
980
991
843
870
874
941
980
930
990
997
852
830
915
912
831
932
956
906
808
937
967
894
822
898
908
925
841
944
979
833
861
905
871
830
905
934
835
950
812
897
974
909
924
973
823
883
850
905
849
811
905
995
943
929
932
912
945
864
937
993
852
975
958
806
931
978
865
959
816
954
825
914
974
848
880
974
996
812
881
816
867
879
971
814
940
973
860
995
975
965
999
915
806
924
827
969
916
998
959
996
810
933
992
918
824
888
946
864
978
965
816
802
861
849
864
819
981
917
991
961
872
991
926
986
862
868
972
881
886
876
897
869
992
971
864
856
843
847
889
969
913
940
993
942
907
970
984
824
815
812
801
954
846
865
811
956
851
892
958
872
966
926
853
975
872
945
816
911
854
907
801
852
811
917
851
971
821
885
916
984
871
871
923
924
827
916
934
833
843
853
852
804
900
919
852
824
974
809
854
980
833
842
934
979
831
899
910
862
935
956
990
985
836
885
982
964
900
852
847
923
859
906
853
833
819
902
884
810
967
887
920
828
897
850
827
887
843
832
900
932
934
976
884
942
977
910
800
885
835
855
899
898
978
967
971
823
898
823
971
919
884
815
818
945
968
955
985
980
813
974
812
953
815
923
996
838
881
863
826
904
962
845
985
956
868
942
913
962
926
807
822
865
889
801
884
814
980
900
856
932
872
978
967
897
960
905
998
956
940
954
823
868
892
962
889
848
925
884
821
840
684
636
624
584
571
519
603
609
615
555
514
688
642
578
541
512
587
670
619
651
555
639
595
689
521
663
537
517
573
606
639
667
664
528
588
610
638
636
559
650
529
538
681
535
566
657
648
690
616
615
563
505
570
539
599
534
590
531
535
656
621
631
558
608
677
574
613
638
661
546
516
563
653
514
570
572
666
501
652
540
577
596
575
565
698
661
626
582
535
697
568
562
539
508
621
505
544
569
545
512
574
675
575
568
551
671
686
505
553
576
689
581
698
663
657
601
572
583
684
626
681
612
623
606
502
628
623
650
576
504
694
676
602
566
581
509
550
585
617
667
629
630
611
588
681
543
508
529
569
529
680
692
504
506
563
657
561
657
642
598
545
509
564
547
601
655
682
516
627
538
556
523
580
599
608
512
537
686
635
572
582
672
697
649
640
632
687
534
594
621
649
554
585
507
659
632
637
692
577
535
619
577
552
657
597
507
513
601
500
550
624
698
657
570
633
698
505
555
596
695
680
606
688
661
524
550
631
541
628
627
604
661
594
671
606
572
642
546
554
542
685
662
500
542
510
669
529
516
502
679
616
648
538
694
542
634
579
602
696
686
540
502
515
533
623
669
663
525
537
542
605
669
527
616
693
515
645
576
611
548
585
550
568
669
503
508
631
659
598
601
660
578
688
548
634
585
607
608
528
529
560
624
521
685
529
679
636
679
549
652
610
539
645
659
694
641
512
612
539
629
658
636
503
669
586
537
559
662
627
559
551
683
650
667
579
591
571
508
528
666
655
571
660
665
678
661
585
588
669
699
626
600
656
539
573
533
514
551
700
682
581
635
520
623
676
579
500
549
687
515
582
569
668
554
623
611
508
546
519
593
641
691
515
633
563
643
685
639
629
595
652
522
652
678
623
505
663
530
627
587
605
636
673
677
609
673
678
698
546
642
645
604
512
692
619
649
676
556
638
626
631
578
557
605
610
519
578
506
542
512
688
589
652
651
634
514
583
612
551
501
599
641
666
630
579
677
543
583
562
655
638
557
545
598
508
593
594
510
528
643
690
644
508
635
524
524
600
648
600
573
557
614
574
578
642
512
504
651
568
694
569
647
575
584
646
677
533
693
686
522
602
535
699
607
666
616
566
623
696
585
532
522
678
618
682
533
627
651
554
641
575
617
683
585
569
686
642
567
622
676
654
531
584
574
696
686
686
559
621
617
525
637
622
681
549
681
576
529
527
599
501
606
681
686
626
625
519
568
567
553
538
693
592
511
614
674
636
671
685
522
539
555
602
534
618
618
698
624
651
699
696
511
614
634
632
687
576
616
515
695
672
615
525
511
533
660
639
693
586
628
660
694
659
577
533
651
521
677
525
666
671
504
543
616
650
597
554
533
571
542
555
663
674
597
589
605
552
592
588
692
694
686
513
672
540
594
546
679
558
504
545
623
658
632
694
680
547
607
555
684
678
502
577
630
512
692
528
652
642
513
512
596
595
521
534
645
626
508
565
613
604
676
618
604
514
579
554
507
615
620
640
562
698
526
600
574
607
513
645
590
689
654
590
649
554
679
557
598
650
609
630
641
598
607
635
602
651
514
620
638
566
642
675
635
541
542
618
600
566
503
601
643
611
589
546
583
595
635
530
626
535
690
669
634
653
515
658
626
699
642
503
506
612
589
615
538
542
676
613
645
514
516
554
633
501
520
589
667
610
642
571
517
675
507
664
603
644
580
605
692
630
580
654
569
640
542
584
504
679
651
520
566
557
688
687
629
530
544
613
524
667
672
515
501
503
513
663
646
615
639
587
643
509
645
581
538
504
613
612
551
642
671
509
632
616
587
567
626
605
522
568
583
688
633
508
507
620
512
641
621
647
635
542
687
558
501
634
533
654
544
630
609
564
502
615
600
655
649
510
659
539
500
590
639
630
541
700
592
578
500
508
501
598
505
577
653
647
517
590
638
517
582
519
665
690
645
690
693
575
593
608
656
628
574
558
556
637
618
664
687
586
543
566
659
659
619
599
527
647
635
582
674
526
631
519
545
554
689
507
658
602
615
665
563
533
501
649
632
691
636
691
696
532
562
554
633
627
554
559
602
615
644
547
634
654
570
540
568
561
572
530
586
588
524
659
668
525
668
630
691
683
694
538
676
613
523
502
574
646
673
636
598
538
526
658
627
532
667
681
531
615
629
632
557
610
597
547
589
684
691
699
699
643
538
663
516
578
535
629
526
616
637
675
562
562
552
529
539
637
693
559
661
700
515
686
689
682
634
508
673
554
629
549
664
684
615
662
600
647
542
525
629
618
529
573
532
667
588
660
546
503
689
642
561
667
501
557
675
511
671
519
597
518
591
601
641
646
621
687
509
631
578
609
559
603
555
575
672
545
568
640
556
655
584
534
574
514
530
558
568
625
550
668
534
612
685
695
532
666
631
580
672
620
626
645
600
613
550
603
533
517
577
550
540
522
612
674
622
684
586
611
503
632
556
667
526
614
515
547
693
698
675
674
640
595
675
694
592
545
621
500
585
700
531
682
699
669
534
636
577
590
544
673
571
505
693
635
660
532
541
537
680
553
642
560
674
635
533
632
561
608
500
567
611
659
642
637
670
548
653
539
667
569
618
614
672
514
632
536
564
556
666
537
660
588
689
683
548
660
503
541
584
575
569
504
587
624
666
504
667
638
691
512
585
514
539
519
527
663
609
537
603
505
632
632
549
523
514
694
512
669
599
520
576
575
603
696
672
532
684
671
613
639
554
511
610
577
649
578
626
571
637
672
637
504
515
583
525
549
600
634
583
657
674
621
666
628
588
503
573
577
626
548
647
555
566
656
625
509
549
507
613
588
614
524
684
695
668
677
567
569
609
679
679
635
552
556
599
567
548
604
682
553
674
649
688
645
532
500
682
561
682
563
575
530
604
670
651
624
595
570
613
678
602
547
647
627
565
575
572
618
662
633
634
689
549
664
612
644
570
589
581
583
618
581
521
542
556
583
565
529
556
575
597
575
518
500
574
563
638
521
645
600
617
565
534
531
640
543
590
564
533
691
540
574
612
504
698
609
599
651
514
684
586
631
512
567
614
529
550
510
536
596
692
640
675
617
611
576
664
536
692
517
691
512
531
589
627
547
557
520
679
560
650
553
534
570
693
504
623
689
599
689
509
664
667
610
515
577
533
693
661
526
692
659
700
600
652
538
674
693
663
543
566
532
551
557
638
527
523
553
619
682
581
584
546
610
575
575
682
603
609
588
525
577
654
503
594
612
514
500
623
619
588
646
608
693
685
688
507
635
676
552
505
574
601
598
625
541
697
617
674
657
641
527
523
523
505
579
553
689
580
525
668
623
660
580
548
575
592
643
591
558
558
516
657
670
637
577
632
584
613
614
580
652
622
592
698
676
646
529
593
582
648
646
523
564
550
617
697
664
622
505
609
528
661
607
531
514
638
600
665
630
550
602
659
589
683
536
698
615
502
664
538
641
643
544
629
606
548
583
611
583
625
597
562
511
551
659
688
553
571
584
507
683
665
690
659
501
525
588
511
559
504
616
665
505
665
659
521
679
536
566
532
557
657
621
564
664
512
626
532
530
555
649
550
642
545
699
544
542
569
651
665
561
510
534
626
503
677
503
676
639
506
502
531
676
549
679
644
542
693
529
509
681
543
552
618
546
663
570
550
531
575
635
575
629
616
642
643
607
610
584
509
657
522
642
557
633
568
685
622
538
644
624
670
510
524
533
542
655
631
540
600
693
681
508
569
634
551
570
586
540
511
520
608
541
663
550
598
514
657
599
564
663
517
672
644
691
543
626
608
580
567
525
648
650
522
573
555
590
557
617
666
555
549
610
664
691
577
635
649
613
517
503
649
623
698
527
539
566
587
580
581
663
522
533
688
565
611
546
619
513
612
581
616
595
516
658
629
599
566
601
629
694
665
550
515
684
604
583
685
638
674
504
608
602
645
589
534
685
693
634
613
610
580
513
688
639
593
696
694
567
671
588
519
680
526
609
532
674
620
582
507
561
524
566
657
575
668
677
621
580
574
652
517
644
613
501
583
522
501
611
569
630
590
691
594
596
665
528
538
531
543
630
504
667
536
613
673
558
596
648
674
593
521
591
507
530
571
516
504
649
629
573
599
688
604
550
569
532
597
649
652
542
565
634
646
648
630
547
681
591
501
505
693
675
528
681
535
659
600
645
585
624
533
665
579
650
533
688
504
610
532
581
668
668
516
683
526
611
550
632
644
695
513
588
568
532
660
638
512
544
673
534
542
675
622
610
546
593
595
604
661
518
561
585
504
661
700
511
690
563
547
643
678
679
633
594
505
671
559
581
665
509
691
519
664
553
663
611
686
513
696
573
668
659
605
513
599
631
532
506
561
644
559
649
616
651
683
650
525
538
586
666
690
687
655
618
506
565
618
630
500
610
579
602
648
559
530
658
551
534
526
685
649
699
619
594
632
520
582
669
676
619
569
638
526
512
535
655
590
635
565
678
553
657
604
684
597
591
513
658
611
680
631
625
500
500
621
660
568
554
611
553
532
677
683
565
633
685
517
601
594
598
626
600
572
501
526
516
672
658
568
559
622
695
614
522
687
565
553
622
505
569
539
536
539
548
542
627
535
561
546
549
505
534
647
672
518
659
663
617
589
537
633
650
501
559
600
535
580
558
647
593
509
687
610
526
503
643
527
687
667
575
693
646
517
515
641
631
531
530
613
651
571
551
665
573
582
665
651
618
664
691
542
507
557
619
627
575
677
580
564
526
540
641
528
617
577
504
510
581
627
514
507
500
565
576
645
530
536
621
501
640
645
677
612
592
536
661
646
659
584
540
694
658
612
527
612
550
642
619
549
632
526
544
664
561
600
589
586
571
663
646
644
683
687
560
659
580
637
682
680
583
500
554
549
648
518
516
635
560
671
536
578
648
537
519
676
669
620
509
559
547
510
561
510
592
643
659
622
660
603
555
697
551
616
656
614
622
665
685
588
625
588
578
588
543
569
510
500
600
509
516
620
578
656
506
601
691
524
584
600
618
684
690
639
549
652
568
542
526
632
674
625
594
677
625
538
591
591
614
689
562
637
563
700
572
574
670
671
604
511
567
643
516
698
664
680
597
515
608
610
631
534
519
607
676
691
607
510
665
686
623
555
507
596
573
651
599
617
686
605
696
640
520
602
665
689
644
604
575
509
575
525
675
649
533
538
590
505
644
598
552
638
700
647
577
614
683
606
586
620
641
657
565
544
502
700
622
696
563
530
506
571
504
678
559
695
642
686
553
577
541
527
657
672
567
650
577
606
605
638
652
533
612
516
606
675
664
514
501
671
689
599
618
669
504
637
695
579
518
586
529
647
542
597
553
677
553
640
536
501
654
591
570
526
648
653
625
510
550
678
503
608
587
606
507
539
561
593
524
602
531
691
511
652
539
502
653
570
550
530
532
609
683
506
620
606
688
679
624
658
540
691
643
666
691
553
692
571
530
604
613
569
536
646
571
582
640
687
508
663
671
609
519
507
532
518
564
525
629
542
637
689
635
546
509
506
659
645
504
622
536
624
618
518
675
663
682
646
691
611
530
552
588
519
509
527
645
602
616
643
574
542
693
516
578
584
530
526
685
645
683
555
616
692
614
608
525
675
576
572
549
519
554
521
505
586
656
656
686
585
684
625
584
514
667
663
589
688
508
552
500
537
598
588
571
556
505
656
666
521
658
633
533
510
599
615
664
582
555
633
538
661
605
509
603
547
565
556
522
616
655
634
529
548
627
669
511
657
698
603
668
687
556
546
598
556
646
575
685
587
631
619
546
571
553
544
592
621
558
582
534
539
564
643
538
612
619
669
554
536
589
624
574
658
591
700
546
530
548
595
542
699
595
605
534
687
591
551
641
517
678
552
581
596
576
627
627
657
651
541
620
520
594
509
502
534
570
659
522
681
560
539
529
517
550
700
678
553
696
664
628
560
673
635
524
505
520
667
582
534
576
560
534
671
572
697
571
613
654
637
687
513
606
587
596
553
503
600
699
544
622
525
618
624
686
650
669
511
566
536
605
512
569
667
572
502
591
677
565
616
547
560
619
573
610
675
587
643
527
691
507
624
545
685
502
669
525
629
501
622
642
623
612
517
610
594
559
689
700
691
616
602
512
688
556
528
517
630
649
688
538
533
628
516
645
687
526
502
567
684
520
579
560
539
559
591
658
505
567
664
676
610
527
626
611
677
611
507
679
699
533
570
518
681
564
534
611
607
612
666
648
642
512
587
672
555
680
692
672
512
515
523
550
603
510
663
509
558
518
542
626
606
529
514
597
677
549
617
689
649
568
689
687
549
517
506
567
619
561
562
523
546
619
669
687
536
562
694
522
652
522
653
558
620
580
595
535
636
587
633
558
615
597
676
555
527
695
510
657
695
621
595
599
665
538
698
601
614
614
657
613
595
533
604
523
548
536
639
671
663
579
576
696
551
630
665
619
553
675
666
603
541
678
606
648
623
577
548
682
644
611
557
534
657
625
688
606
681
545
509
658
690
588
589
508
572
670
554
529
541
513
614
528
514
528
667
517
659
583
577
597
502
569
589
528
621
656
691
562
667
567
601
523
559
544
528
524
639
506
567
689
505
636
535
625
545
605
538
639
657
697
544
561
622
565
671
609
655
683
579
562
651
691
514
567
637
684
656
538
637
695
576
563
518
673
506
544
604
596
611
546
527
653
535
532
572
542
591
666
688
693
669
678
629
661
529
627
698
524
669
612
552
598
661
622
543
642
596
633
591
505
655
646
553
630
593
616
573
614
565
542
586
626
674
578
508
617
614
689
656
586
611
599
688
696
689
518
676
580
557
600
549
511
618
521
662
600
527
604
644
575
611
683
584
626
669
523
559
596
596
611
620
541
672
650
538
663
619
656
654
503
597
536
572
522
636
587
661
628
541
624
634
605
621
512
659
521
602
511
605
579
699
547
682
559
559
503
605
559
679
692
621
631
550
601
623
577
698
579
600
677
634
665
500
597
519
577
664
543
612
673
501
566
550
525
588
527
570
517
614
637
571
520
568
585
579
628
696
696
662
689
595
603
566
669
657
510
505
576
655
567
542
575
616
699
509
533
544
631
634
566
625
562
598
552
672
549
681
590
546
628
632
648
582
562
559
548
664
507
631
648
630
591
565
523
687
649
656
560
551
543
646
639
647
661
614
521
511
558
562
628
615
543
591
639
576
656
602
518
506
664
522
643
551
695
652
663
589
658
656
638
620
630
529
657
646
611
553
532
640
543
530
697
609
675
532
615
569
639
646
604
608
659
530
567
690
576
699
580
523
551
589
691
579
617
689
639
500
677
580
643
571
612
598
627
635
555
555
650
525
664
596
514
569
551
625
647
649
630
654
570
514
694
648
640
698
569
584
626
658
634
511
535
581
678
699
695
696
603
662
640
670
590
554
643
610
665
620
518
611
591
604
532
538
516
503
617
509
637
609
671
638
631
672
665
623
528
681
508
572
601
510
537
525
630
505
577
525
626
641
693
666
679
596
542
551
554
541
668
602
505
579
529
527
699
510
656
552
549
694
669
634
684
573
692
686
658
699
595
547
559
673
591
552
651
684
607
696
534
609
533
552
620
573
557
588
691
559
629
622
620
520
673
530
500
604
512
646
553
527
667
527
676
655
507
545
512
609
529
618
528
694
662
584
507
698
526
543
529
593
611
531
633
590
554
503
503
554
697
613
512
551
587
512
577
600
542
647
634
597
578
659
671
505
699
665
630
641
684
579
525
688
688
654
528
686
672
592
602
505
579
677
697
625
669
652
504
613
560
573
569
544
550
599
573
536
608
624
680
653
584
582
501
537
587
606
641
548
625
551
597
591
693
510
636
556
670
591
543
535
569
653
642
619
692
585
662
586
574
575
611
572
516
682
500
651
700
604
585
502
619
565
680
596
654
630
631
628
678
502
631
685
534
660
672
556
672
558
515
555
681
542
509
671
548
582
585
521
542
515
585
597
558
624
603
588
504
681
612
503
571
500
621
624
545
517
676
611
599
516
516
603
623
691
693
596
522
659
530
522
644
535
692
662
545
547
586
525
688
694
535
588
603
537
544
681
578
683
657
661
605
671
661
584
598
677
566
689
670
577
506
678
532
665
660
675
649
615
522
604
673
609
542
674
652
543
633
583
614
700
517
609
610
544
579
689
672
542
543
589
513
689
547
502
645
521
549
551
581
603
627
525
562
565
509
649
588
696
681
500
599
541
561
699
659
611
515
566
537
624
575
670
504
598
573
676
535
642
638
639
696
670
596
652
556
670
507
685
678
624
681
512
505
509
673
618
596
577
514
599
585
664
698
616
642
596
683
579
661
612
514
690
643
650
540
691
690
577
501
582
582
549
546
571
690
681
679
516
553
607
571
619
521
587
689
623
668
582
661
665
655
604
676
532
646
603
693
507
584
695
507
507
555
519
693
586
654
557
637
571
624
581
692
562
551
672
640
690
562
538
504
647
588
535
508
679
535
661
588
671
574
652
697
579
586
608
673
567
699
667
620
604
505
660
554
621
604
543
536
540
700
599
661
668
619
676
577
569
504
636
609
581
533
649
650
596
630
575
517
584
634
564
510
555
532
523
643
692
631
609
555
683
559
620
681
691
620
687
542
563
667
526
666
623
593
510
615
513
550
641
622
630
677
632
647
502
516
669
630
553
634
517
622
648
650
640
693
607
554
656
683
521
650
535
683
557
556
577
661
571
690
657
695
656
560
689
687
642
636
583
627
511
624
655
685
664
583
601
539
534
624
511
554
611
574
529
673
582
589
647
682
507
598
559
603
508
579
584
509
663
679
623
533
557
665
671
695
613
520
608
577
522
518
689
554
531
573
572
619
537
681
656
656
678
545
659
578
537
596
564
546
585
534
674
560
699
687
592
605
631
604
686
552
698
582
664
661
696
511
535
691
532
515
661
647
567
595
564
664
506
634
520
698
533
693
507
546
657
641
606
527
572
623
689
524
619
640
652
587
631
520
593
625
655
517
558
567
595
607
692
679
678
577
601
568
634
687
579
653
631
573
593
608
578
616
508
628
669
637
618
563
599
653
692
630
560
557
508
678
676
548
606
678
694
666
663
507
593
697
518
548
537
589
526
558
664
696
621
578
613
531
600
575
519
548
599
663
695
682
690
648
615
588
561
664
586
543
641
600
700
546
502
519
501
634
565
504
552
671
645
514
637
612
547
682
624
558
589
533
697
657
514
609
658
502
652
608
533
545
598
520
659
610
589
677
642
521
617
545
678
637
633
534
653
607
674
644
659
598
693
565
679
576
624
618
582
558
679
621
538
543
643
640
696
611
520
537
544
574
553
630
538
662
626
570
639
680
617
533
619
546
542
500
642
650
692
607
641
559
621
677
566
585
686
642
700
534
585
598
580
608
579
685
568
595
690
508
543
561
673
593
582
627
633
505
668
588
610
646
594
620
570
690
542
587
560
639
631
530
662
684
622
585
615
670
603
521
618
592
519
608
584
687
569
636
572
616
694
576
580
595
546
504
629
597
612
613
627
554
567
627
659
542
544
555
685
584
625
581
510
524
685
516
542
700
661
653
604
689
567
697
540
621
669
691
558
645
569
573
548
654
620
535
540
517
579
522
502
595
696
590
670
505
651
553
513
573
640
697
511
593
633
635
544
644
580
700
500
520
681
646
645
583
583
573
659
553
697
647
638
615
513
631
533
514
529
532
664
643
635
614
551
552
601
643
578
605
614
501
548
602
697
523
571
672
607
618
502
640
503
563
556
560
618
635
662
677
516
528
508
561
695
515
514
681
537
521
582
669
542
583
585
696
595
583
527
625
598
534
666
643
609
651
503
556
515
539
614
529
693
571
518
627
611
689
670
575
650
670
501
637
578
502
530
534
616
680
531
594
548
583
635
507
504
511
664
615
502
540
581
623
660
678
698
694
671
517
533
536
639
659
501
650
699
539
645
584
682
511
586
634
598
600
583
617
522
591
598
568
602
607
511
563
585
529
560
533
664
524
667
509
695
610
506
553
590
592
699
544
550
614
603
683
561
509
542
511
549
526
678
623
507
508
693
696
539
615
641
538
513
513
508
502
509
605
553
602
511
673
698
552
567
571
621
682
545
606
684
563
568
622
633
669
595
692
663
586
595
637
596
669
560
541
678
565
633
700
674
622
633
592
672
604
634
502
533
669
633
572
575
569
614
507
552
655
572
570
693
677
655
575
693
546
528
694
566
655
548
567
632
617
689
650
575
659
540
531
505
565
658
664
587
692
699
525
539
626
562
527
696
550
501
662
535
688
587
531
699
558
593
598
600
633
664
504
539
562
505
510
657
676
540
529
585
524
600
644
534
578
528
511
504
675
576
674
681
533
646
595
532
654
640
629
534
513
688
606
698
617
579
689
628
690
670
602
527
549
630
663
635
664
563
610
573
593
629
577
697
573
546
534
580
677
530
572
539
663
609
612
609
605
513
536
616
548
641
571
530
620
505
628
676
524
687
611
652
551
592
640
547
560
690
531
611
621
668
687
583
552
638
606
553
666
634
562
596
606
694
624
553
540
504
698
569
524
507
639
537
669
531
699
533
527
559
518
686
606
513
640
555
687
661
656
623
630
637
529
504
608
560
627
598
519
519
675
648
558
528
637
690
547
620
698
602
587
574
676
668
566
543
610
615
610
525
574
645
551
631
570
560
616
652
519
575
513
555
574
521
555
632
619
677
578
533
574
614
532
593
677
511
565
597
634
693
669
697
517
944
913
955
959
952
862
896
940
852
968
916
830
815
905
815
890
977
976
971
935
983
848
917
885
830
851
947
876
871
935
837
951
974
881
849
840
985
915
902
987
954
943
807
917
992
937
838
891
922
874
893
872
865
882
833
866
809
832
917
952
900
849
967
905
956
933
933
981
833
864
926
972
866
878
842
949
899
914
900
859
828
906
844
848
901
859
920
973
948
849
860
833
824
962
922
893
946
806
902
970
972
804
894
890
850
846
942
952
920
984
941
839
961
935
906
813
928
930
866
866
941
913
919
936
961
905
821
888
897
946
886
802
940
823
916
880
843
959
818
892
842
920
963
893
988
940
993
944
968
978
907
892
909
987
911
950
883
980
827
923
961
923
949
855
816
913
835
938
961
922
871
831
938
853
975
881
836
804
806
987
994
911
939
892
937
966
985
801
989
997
916
965
897
826
950
981
841
833
826
848
979
984
960
973
928
854
892
866
967
891
814
979
879
837
844
949
846
935
913
918
955
823
850
815
881
849
996
890
948
977
1000
838
953
874
915
975
987
826
948
990
863
929
875
922
911
891
944
910
983
914
828
926
959
823
842
807
872
808
844
895
851
836
952
939
821
944
814
816
829
965
857
970
994
885
938
878
917
883
842
990
827
875
848
959
984
838
873
827
979
807
959
840
993
922
824
819
846
936
860
875
893
813
897
876
875
907
989
922
973
910
962
900
879
850
905
940
885
926
890
977
929
876
908
956
943
941
958
890
980
964
913
803
902
938
982
870
971
889
827
864
818
835
871
815
812
959
945
983
901
984
971
971
946
805
964
835
857
814
904
961
926
866
924
877
823
956
816
878
934
861
935
877
947
876
836
855
1000
824
999
815
870
976
910
969
925
968
850
837
891
962
880
981
832
923
834
980
851
975
983
875
989
859
868
848
916
814
989
810
869
817
966
966
990
955
875
842
815
921
891
923
918
876
940
831
813
851
815
868
898
988
856
905
906
961
851
832
870
918
949
834
918
934
915
976
832
977
834
881
802
849
806
806
961
963
881
948
811
901
928
923
949
934
867
913
861
901
996
830
890
827
876
976
812
996
959
878
858
868
903
925
845
849
850
892
821
916
916
844
899
985
869
976
826
909
876
854
949
913
964
973
804
908
820
932
997
942
888
903
983
830
812
994
921
889
813
829
923
817
982
923
895
969
947
978
974
890
951
979
966
839
854
869
825
820
844
835
990
993
878
990
933
905
998
941
912
869
802
800
953
867
920
926
844
988
936
936
842
920
913
982
809
818
947
822
952
996
814
863
936
847
908
881
972
812
806
853
813
806
994
828
921
933
888
982
955
964
904
901
904
896
977
935
996
901
955
805
840
890
893
891
845
814
855
828
954
918
880
875
821
967
805
818
962
892
891
840
990
964
889
866
811
823
813
988
835
831
943
851
992
993
912
854
990
970
847
875
999
860
802
978
1000
924
853
812
907
882
947
800
977
805
928
868
986
968
856
935
833
965
954
856
869
808
892
809
834
944
992
901
845
955
918
807
976
817
867
837
851
900
973
832
823
899
844
905
800
932
879
820
999
994
893
997
817
891
943
904
834
898
811
843
979
876
878
872
913
985
893
960
838
803
953
983
939
890
839
895
950
823
919
949
976
966
938
914
968
862
965
998
806
866
911
982
886
942
999
911
912
891
912
885
986
972
980
833
920
938
938
965
852
946
971
934
833
865
985
850
948
822
827
895
967
899
896
851
828
842
894
905
840
938
930
969
886
858
974
991
849
841
989
819
898
939
874
857
979
921
830
865
872
951
947
916
900
913
874
811
901
974
876
910
893
813
957
911
849
854
979
875
889
809
921
894
980
835
827
811
830
939
902
901
992
946
992
888
945
943
959
853
906
949
884
996
974
876
984
873
959
853
835
994
906
871
854
945
805
816
838
857
812
810
851
820
973
902
894
880
950
813
956
805
862
978
819
947
868
935
859
825
879
962
930
867
831
878
965
906
868
941
850
957
806
995
805
999
830
887
880
853
856
940
902
982
976
877
969
819
926
898
820
812
880
825
922
930
905
908
855
801
876
864
967
930
880
923
991
947
801
945
811
996
801
815
987
878
902
833
980
920
944
977
813
857
903
941
893
892
810
846
929
915
847
885
991
937
920
832
803
821
863
900
843
986
993
831
921
855
970
858
875
975
855
816
920
925
895
839
933
877
827
983
822
965
868
836
912
822
843
969
853
828
987
947
994
890
801
862
900
980
940
900
919
930
966
871
975
875
993
802
942
808
993
926
839
990
813
945
914
1000
811
965
856
912
957
982
831
924
836
907
858
993
929
935
973
901
855
952
842
989
920
898
963
887
923
984
891
886
980
993
979
838
972
846
803
981
957
968
874
966
882
984
805
943
821
922
951
834
866
981
981
915
880
909
895
862
991
970
837
914
828
941
912
944
953
910
875
976
973
854
854
876
913
977
878
994
941
938
819
828
811
964
865
946
819
813
830
836
968
816
944
992
998
961
855
893
891
828
881
875
971
818
892
964
977
901
959
944
816
826
944
921
922
967
848
924
983
828
912
821
922
868
878
868
868
879
886
906
957
920
847
837
990
912
846
971
852
853
953
829
901
975
973
825
859
913
932
866
989
991
832
831
879
933
927
937
854
820
845
832
858
859
928
982
955
988
864
991
932
993
854
827
838
851
984
942
922
882
925
970
847
802
992
816
836
857
903
967
943
872
895
963
853
896
815
913
954
873
857
811
916
801
952
950
933
932
957
964
864
931
962
941
1000
925
901
987
895
817
922
829
857
944
922
814
934
861
875
873
898
980
981
951
943
875
979
840
865
824
958
808
957
917
958
905
848
822
994
888
946
832
919
803
925
903
856
888
871
887
874
897
980
804
940
896
981
999
805
801
816
890
904
896
863
894
822
983
961
814
830
905
915
938
985
910
867
849
989
949
880
808
842
989
871
968
849
903
998
893
874
933
931
912
991
999
958
859
917
902
859
972
817
914
873
887
942
977
992
968
964
930
844
887
823
805
921
948
814
897
846
808
925
850
990
853
996
894
810
872
863
832
939
928
910
826
800
962
942
846
904
872
905
906
914
859
804
961
944
899
968
973
983
875
816
913
976
974
847
830
809
875
996
995
924
928
892
876
863
906
951
954
929
974
925
947
814
955
894
937
802
865
934
859
891
814
887
981
899
830
824
904
950
884
817
842
943
893
926
890
998
929
855
995
850
892
872
983
975
951
867
960
980
828
942
825
800
899
906
930
911
934
955
944
819
939
854
832
800
979
885
912
804
821
809
819
950
895
801
905
914
937
823
994
959
999
919
904
902
971
825
999
977
894
866
858
988
964
807
855
868
892
967
904
908
893
846
967
878
975
988
881
956
913
951
843
928
849
981
956
957
970
815
849
994
968
923
996
800
989
997
904
813
852
868
910
963
832
890
971
919
803
863
994
844
860
954
969
847
985
904
899
810
808
847
946
866
844
964
905
880
840
970
810
858
869
804
984
886
921
828
812
834
981
902
805
943
935
946
922
992
850
997
988
897
965
963
858
968
942
837
871
918
934
891
814
870
805
994
833
931
988
875
936
852
801
812
895
980
835
890
987
859
988
944
892
995
914
897
832
921
832
974
945
990
885
842
952
978
807
823
993
889
955
810
918
989
978
997
964
826
950
874
839
849
972
916
939
821
884
880
925
860
878
815
801
898
931
916
979
834
878
891
893
985
931
905
847
964
820
809
922
878
969
967
968
807
996
835
853
991
856
943
926
962
801
928
888
897
964
859
806
891
959
873
913
995
842
910
909
994
825
975
938
962
984
866
961
894
936
811
998
997
822
858
971
953
916
870
951
894
822
812
931
923
810
970
941
860
860
800
931
936
931
920
920
901
895
982
850
814
924
997
831
917
996
826
808
996
838
950
911
979
855
909
869
814
896
978
907
979
821
922
876
806
815
804
963
954
911
948
978
879
832
839
805
992
939
902
906
900
856
835
909
979
833
851
889
902
818
887
925
985
942
842
960
950
972
820
925
906
960
938
868
870
834
819
926
917
883
966
996
800
888
998
844
897
884
913
802
872
864
859
859
957
972
809
903
829
875
837
818
898
879
993
821
937
918
937
863
871
911
936
878
873
947
913
900
980
884
812
840
909
838
877
953
975
897
964
966
925
876
816
888
993
881
805
958
952
869
869
869
854
942
977
808
965
933
852
952
902
963
908
801
816
965
925
974
989
931
954
913
801
986
828
989
886
890
882
942
896
879
841
893
903
978
890
834
909
946
819
907
845
917
823
981
974
877
944
874
998
948
906
966
976
832
926
865
962
957
839
957
802
945
961
966
877
997
962
923
903
875
983
890
893
945
941
815
817
978
865
929
841
918
860
928
964
967
828
925
924
996
988
899
926
910
814
863
974
912
887
993
825
943
905
950
912
829
869
872
913
828
916
868
942
820
989
802
874
836
868
962
892
896
958
984
926
954
939
955
998
977
903
923
917
946
916
869
852
848
985
839
952
917
811
854
920
871
942
988
880
860
832
978
911
860
851
915
829
849
835
875
977
801
895
980
896
889
932
888
938
978
801
914
882
803
812
899
853
917
934
897
986
818
877
898
977
861
941
817
994
838
874
826
975
822
868
814
887
967
871
883
976
831
805
856
970
839
916
917
961
952
896
830
824
943
990
892
831
829
842
938
910
926
893
915
949
933
940
928
991
844
964
920
1000
936
873
921
942
870
923
983
832
999
818
806
954
828
864
982
920
963
887
847
909
873
871
805
864
959
988
908
859
976
857
897
834
940
902
860
910
860
882
965
880
908
863
943
877
990
982
859
914
812
968
924
894
928
961
918
985
953
985
834
922
934
870
965
850
970
827
916
981
804
803
815
991
929
871
908
962
836
952
992
901
835
982
880
841
952
990
944
837
883
983
908
807
816
883
848
931
809
800
871
837
848
865
939
843
845
881
812
838
803
807
886
844
883
849
923
970
875
968
845
1000
833
973
939
867
922
839
835
887
827
902
941
813
911
825
963
980
981
996
831
943
891
968
833
846
905
930
811
922
854
973
980
852
809
964
920
953
944
976
966
981
885
967
928
989
862
984
894
894
871
812
803
895
961
990
876
948
984
962
937
883
857
986
815
864
949
823
905
836
941
861
992
841
835
946
869
876
947
997
817
819
808
949
967
813
997
901
945
867
987
800
812
944
955
800
905
890
984
991
818
993
880
870
942
851
903
979
939
881
818
892
837
891
946
882
931
916
865
875
820
832
950
983
930
956
932
888
862
999
918
903
972
916
941
963
948
967
961
949
843
898
866
941
913
949
878
935
972
914
896
870
972
855
982
885
823
834
861
940
947
811
901
991
920
952
853
902
977
911
832
858
938
835
908
818
975
818
888
875
917
991
811
923
856
993
943
908
959
954
842
906
846
829
961
846
812
968
945
917
838
852
989
930
963
823
971
886
951
885
912
810
904
864
971
856
807
900
897
862
917
835
905
919
815
913
995
996
885
984
823
918
978
900
830
926
815
805
885
958
866
945
864
900
989
894
819
985
881
978
945
824
965
880
835
960
825
805
912
802
807
944
818
852
957
942
906
947
842
906
876
826
946
896
998
803
806
876
802
892
937
957
971
938
815
947
800
910
857
806
934
983
813
996
948
952
973
899
964
903
956
983
811
841
854
858
863
909
802
963
977
954
884
972
821
849
974
970
857
947
802
886
901
835
883
862
857
885
801
867
951
957
832
911
943
884
979
835
855
890
809
991
847
926
853
986
910
932
827
879
962
823
975
956
883
891
917
977
933
900
842
877
935
990
832
997
966
952
898
801
908
841
980
875
841
934
992
887
939
885
865
854
899
893
815
978
845
934
806
847
928
860
881
895
927
848
948
977
964
889
808
987
974
894
894
962
818
932
979
951
899
890
945
829
933
967
961
978
874
934
896
946
870
978
905
837
829
950
873
891
969
866
817
829
862
866
896
1000
809
958
968
968
899
826
944
987
960
967
808
998
903
848
998
926
829
1000
886
881
929
933
961
949
918
823
805
930
851
936
970
864
839
900
850
881
808
952
851
954
937
813
891
905
895
991
935
908
870
923
920
984
819
907
836
809
865
999
855
974
961
948
892
960
845
878
887
906
838
940
840
877
972
857
802
837
888
921
853
848
861
925
876
948
973
898
810
816
990
976
994
956
904
854
814
964
955
922
923
945
879
983
843
965
826
839
981
859
833
896
852
975
968
871
905
949
931
903
946
838
870
865
851
821
846
871
943
906
876
867
962
829
832
852
802
895
840
960
988
898
954
895
883
808
857
932
918
809
952
974
918
814
943
857
997
858
838
937
873
840
848
953
978
983
903
819
816
840
858
912
855
894
991
803
971
997
984
987
959
832
827
925
840
864
932
855
824
958
969
875
891
946
843
979
834
884
972
898
970
826
941
829
970
933
829
876
905
986
832
879
803
927
948
813
870
940
965
832
916
825
980
911
823
982
987
926
946
963
938
877
809
937
920
903
830
839
853
955
846
906
902
861
956
854
850
990
839
952
904
920
971
814
802
801
844
851
873
873
936
897
842
989
999
855
885
1000
938
804
929
862
859
895
990
945
915
807
853
930
962
882
818
812
948
903
817
953
1000
941
962
938
848
835
961
865
967
920
926
960
809
971
977
961
860
980
912
977
844
815
877
986
965
824
924
966
926
844
869
811
826
810
904
857
951
988
922
931
849
895
844
950
833
855
864
879
832
801
839
941
959
880
959
958
900
959
806
855
983
815
866
849
987
851
958
942
840
813
802
927
907
863
875
883
837
979
987
903
821
952
856
820
812
882
938
943
828
807
867
973
835
891
979
806
954
856
882
878
847
954
993
974
944
941
885
902
897
834
875
890
938
946
835
891
962
828
802
811
978
922
803
990
904
802
880
937
815
903
919
949
979
852
888
926
909
901
818
878
870
860
887
890
938
804
896
825
917
867
896
997
883
995
956
910
939
936
979
964
917
950
810
895
823
862
807
901
981
881
975
969
911
1000
923
801
969
934
868
822
831
886
834
970
900
970
844
988
859
962
941
936
832
941
891
804
991
853
983
808
857
894
839
855
809
870
983
976
992
955
941
912
871
836
841
827
887
912
925
829
971
849
967
890
873
880
825
845
909
952
977
900
960
923
839
869
968
967
891
900
860
935
873
867
874
943
937
965
829
979
826
915
834
865
897
965
872
912
917
914
962
874
866
821
852
867
901
959
944
828
917
997
834
817
883
853
946
925
947
908
822
957
863
858
816
857
820
828
806
871
917
988
984
851
814
885
976
928
840
852
892
933
956
935
955
851
953
931
932
820
916
987
893
842
879
978
996
926
924
950
846
938
898
888
837
1000
902
894
934
895
899
845
858
854
816
816
840
924
955
994
838
860
989
863
888
993
910
912
939
920
983
986
845
911
928
900
909
915
846
937
818
914
965
892
933
806
812
923
849
989
907
966
875
949
998
800
1000
821
989
894
947
834
995
861
898
991
867
900
983
883
883
985
962
964
835
876
902
845
956
885
922
801
888
982
946
801
971
893
800
959
961
819
810
823
862
918
899
879
805
993
973
857
882
904
841
863
971
882
809
903
968
915
882
847
882
817
811
920
990
825
922
912
992
975
991
960
910
904
812
836
928
803
954
994
881
882
965
836
992
984
971
885
926
910
913
824
943
919
905
845
873
805
949
839
942
857
961
980
800
931
1000
804
921
933
837
813
999
962
940
903
905
803
931
900
893
922
852
823
826
974
960
889
809
922
839
973
927
860
812
853
843
875
847
990
952
865
941
874
814
934
948
935
834
932
899
801
972
990
807
814
948
872
897
939
808
970
927
801
946
997
838
899
945
891
861
917
898
884
915
906
885
946
986
887
976
904
861
858
944
902
888
873
860
881
880
949
866
904
994
965
800
883
918
926
800
877
814
880
938
955
810
969
923
819
816
935
810
957
871
994
840
809
965
918
951
890
812
903
836
818
919
840
927
919
983
862
937
998
899
825
954
902
997
871
905
883
939
898
939
931
821
849
937
919
835
938
962
875
820
912
865
847
809
854
867
927
886
827
886
805
992
979
938
807
822
907
808
953
962
866
873
807
991
970
941
899
828
932
832
891
822
829
945
930
948
835
810
934
856
867
815
925
865
852
959
903
990
859
915
997
905
960
852
888
877
806
892
903
905
984
809
818
877
808
967
973
924
929
818
914
941
951
839
935
926
846
891
887
850
959
941
983
801
890
912
907
904
999
816
908
953
802
885
907
825
824
897
955
987
975
968
921
948
827
831
865
987
932
948
933
929
830
898
817
819
911
885
895
810
925
836
928
831
850
994
856
963
889
910
887
829
925
886
941
974
938
825
931
867
881
826
870
969
934
968
866
844
920
996
818
858
921
882
934
999
932
1000
998
897
979
883
968
938
939
847
923
876
842
967
845
883
921
906
859
944
831
963
912
983
843
944
919
991
934
819
852
800
920
984
827
843
853
903
937
983
915
860
887
938
850
894
912
907
940
818
839
955
817
997
951
913
925
929
884
945
826
869
871
885
948
920
970
853
943
889
879
967
947
873
859
918
921
830
898
877
819
958
919
886
818
899
918
918
801
961
861
815
828
947
922
881
988
962
800
981
925
870
974
819
967
965
831
903
908
851
834
873
865
816
990
947
901
832
915
920
978
871
913
828
939
940
870
956
988
906
908
829
816
930
852
951
815
906
900
990
929
959
850
884
861
870
982
923
954
953
999
934
992
946
908
810
964
966
884
977
803
971
957
841
956
913
987
890
902
801
981
970
884
939
833
851
828
927
997
818
930
831
881
826
826
820
948
973
969
957
958
812
989
908
880
817
852
991
896
846
881
963
851
844
889
973
822
853
957
876
876
946
809
907
800
852
912
944
845
840
860
825
966
934
873
920
896
971
876
888
987
849
878
901
965
847
815
929
930
808
884
862
1000
918
870
813
933
890
977
903
826
990
979
868
821
853
903
811
989
822
815
931
905
960
931
954
851
885
995
810
889
928
957
999
873
884
886
827
937
951
885
866
836
939
926
989
863
916
821
905
806
973
971
991
820
963
927
938
835
948
875
884
996
831
834
955
992
814
977
894
994
844
981
935
820
943
802
809
902
827
910
934
896
872
968
857
927
834
855
878
887
885
995
965
855
914
975
945
892
987
890
976
919
914
960
974
960
892
882
913
892
838
818
945
987
858
910
856
978
879
808
963
892
991
907
877
888
877
913
828
931
811
983
872
925
929
999
987
929
968
889
961
809
956
905
840
960
1000
901
899
879
853
950
983
911
821
978
931
990
862
822
964
907
917
880
926
809
949
973
830
811
994
866
994
958
919
869
973
987
802
948
972
875
857
976
990
953
963
924
868
989
991
871
883
804
920
847
983
885
989
864
818
986
804
900
818
835
855
940
873
979
927
842
856
988
801
944
837
934
977
981
822
926
916
807
909
979
805
821
951
940
914
923
813
969
854
880
815
826
838
811
946
866
916
874
949
897
860
802
900
804
953
964
805
864
877
839
998
814
994
868
961
945
831
914
819
982
892
871
985
945
836
982
886
849
874
867
902
983
987
828
815
967
894
902
898
928
865
997
823
834
918
900
969
930
859
910
841
918
828
965
970
869
911
986
917
958
927
945
914
999
965
972
961
951
944
969
879
878
943
886
839
817
982
905
870
818
849
934
868
893
873
842
811
816
803
835
952
945
967
827
800
911
980
907
845
836
955
832
949
857
921
932
979
824
987
806
900
977
829
882
909
940
904
929
935
913
873
804
819
841
829
855
955
973
925
984
949
833
858
963
943
976
897
953
834
884
887
916
845
965
855
863
952
934
866
943
815
853
923
870
922
941
968
840
941
908
968
800
866
957
809
995
847
915
844
977
979
830
805
827
841
861
929
800
989
817
952
996
819
805
829
946
905
992
993
945
832
880
858
864
947
962
987
904
844
825
915
844
859
964
941
804
990
939
977
964
895
857
848
940
943
956
954
822
804
871
817
991
978
879
807
974
801
817
876
945
916
990
842
803
832
844
979
900
948
957
949
961
842
944
836
957
910
893
815
953
910
925
976
898
959
836
886
948
943
901
804
942
974
926
913
933
834
821
941
882
895
811
868
951
854
929
994
955
866
900
990
845
956
929
933
946
836
855
909
917
945
876
802
995
848
816
928
961
979
850
894
881
978
803
961
831
949
802
947
945
994
811
920
897
874
919
870
530
573
589
666
545
685
522
641
613
570
692
573
691
679
548
596
517
606
530
636
577
660
586
587
621
691
560
586
680
695
674
579
684
594
569
640
606
629
585
583
501
557
688
546
680
682
605
677
505
553
565
607
642
656
529
560
638
583
571
606
517
539
688
665
628
648
680
549
617
572
684
514
618
632
682
687
688
617
602
659
565
587
644
685
518
651
539
502
623
516
604
612
692
667
621
516
659
662
622
687
669
674
609
622
594
530
564
639
579
526
515
531
590
613
563
615
555
696
694
622
525
641
535
601
647
681
674
640
530
576
579
645
509
538
535
524
587
553
613
648
504
503
590
501
555
621
620
580
672
652
521
533
641
619
692
559
648
663
564
531
561
660
549
601
517
656
688
648
621
516
554
697
514
610
542
591
558
512
625
644
641
559
671
617
565
597
525
546
603
520
525
603
540
673
562
542
670
658
554
585
566
501
638
641
586
565
637
685
575
645
505
511
516
581
506
692
679
630
523
640
532
672
655
563
513
578
509
665
517
608
583
588
679
515
663
673
553
625
682
662
654
529
642
677
593
653
590
575
607
688
527
518
689
682
628
644
615
504
616
563
506
563
637
544
553
592
670
529
654
587
654
571
513
699
505
661
519
506
630
696
675
666
630
560
561
585
572
693
674
504
521
542
513
617
619
540
655
522
576
685
677
687
638
596
593
678
519
596
635
545
521
548
519
524
684
677
647
616
699
508
621
659
604
517
667
563
558
560
664
611
537
531
680
617
599
662
547
619
620
611
509
696
656
553
562
586
590
506
594
673
547
684
621
543
615
540
641
695
671
613
580
565
694
547
646
694
515
683
640
505
649
593
668
614
620
655
631
508
543
604
561
639
694
599
597
521
551
665
578
620
632
653
618
514
696
510
523
685
551
598
596
699
688
666
605
568
509
620
693
616
512
584
511
637
607
580
594
508
545
580
695
515
514
677
590
653
570
578
507
651
528
653
536
565
682
591
639
565
642
586
638
609
622
559
660
589
533
535
524
515
536
644
552
644
544
613
636
528
505
686
532
634
549
568
585
651
598
679
508
619
523
605
623
528
574
583
607
566
573
577
501
511
565
628
568
662
530
686
651
588
579
601
683
662
614
547
599
681
523
533
557
656
572
528
617
652
623
539
536
688
583
518
516
611
545
563
599
594
693
524
591
674
516
645
549
663
587
584
626
649
507
649
562
553
643
600
507
642
580
589
586
560
526
544
637
632
663
698
697
540
581
550
698
538
528
673
656
526
614
548
632
644
633
637
643
634
608
537
656
624
578
506
586
520
698
620
616
636
645
604
604
552
538
650
683
592
578
672
588
586
629
620
505
664
533
521
573
678
594
566
514
625
522
575
680
664
587
514
560
681
513
554
617
699
546
631
538
579
593
517
630
500
670
617
693
509
591
598
569
592
665
693
596
535
591
527
698
679
633
672
510
507
610
585
627
646
526
624
666
538
543
694
518
598
631
556
588
625
690
514
585
608
670
535
597
675
570
689
625
564
502
537
640
591
592
688
543
669
618
695
614
586
614
627
593
574
624
556
528
611
527
572
628
527
635
595
686
547
550
520
515
608
665
682
503
524
517
588
694
593
511
621
699
537
601
630
517
557
578
642
529
589
603
642
530
544
670
523
628
643
551
563
651
597
698
543
511
565
593
698
597
559
661
575
527
500
551
666
549
662
543
521
574
536
509
556
603
523
564
591
645
667
603
627
553
580
624
650
604
569
555
604
521
510
699
517
551
555
516
512
527
529
535
572
555
522
635
560
683
651
659
652
597
586
564
538
632
525
594
571
696
533
523
638
558
519
685
654
529
656
558
552
661
646
541
503
608
566
647
644
512
687
543
603
549
591
590
529
688
518
641
651
674
676
687
628
591
525
600
587
518
624
525
664
633
543
657
673
503
596
511
527
676
650
639
592
522
524
591
538
502
515
633
557
623
578
552
628
522
612
581
653
570
559
662
536
656
592
531
675
576
575
607
635
653
596
554
523
566
529
593
646
692
686
603
631
642
508
686
583
544
656
650
690
659
639
604
689
594
661
509
595
522
639
674
565
687
631
676
661
523
661
630
624
631
643
668
587
537
616
668
522
523
550
622
588
565
592
556
655
639
527
621
585
523
642
595
607
568
520
685
672
614
625
647
678
652
591
529
519
625
500
527
641
577
507
630
534
688
560
696
529
646
607
613
535
540
514
634
696
581
574
599
633
558
517
584
542
513
643
565
561
641
501
657
547
667
543
613
530
517
676
666
635
678
675
638
690
591
682
538
509
620
693
505
514
625
549
565
676
536
655
650
644
668
564
595
665
669
575
516
553
633
586
596
533
611
512
635
601
641
595
551
628
514
628
505
623
616
627
520
604
673
689
519
569
520
630
693
693
579
612
523
593
660
643
660
673
593
651
659
572
526
627
545
657
526
503
606
693
524
654
569
565
576
536
656
668
593
651
550
563
546
608
632
585
555
530
556
577
572
525
656
500
601
614
612
523
505
557
578
566
682
698
630
509
521
573
578
631
674
517
633
524
669
657
518
614
503
571
587
616
614
535
546
542
603
634
569
543
666
695
548
674
526
581
542
636
512
574
601
531
511
683
612
656
689
595
607
619
684
564
598
567
607
672
641
643
649
566
630
554
569
502
621
670
661
578
566
597
643
657
588
501
504
630
630
659
644
600
556
514
501
691
623
664
644
539
514
686
604
643
686
669
635
581
576
600
532
545
591
689
552
590
684
516
595
595
549
596
568
551
565
562
602
523
689
636
539
545
626
597
573
631
501
694
502
595
650
530
607
698
679
601
676
678
539
631
628
634
511
589
599
578
597
664
577
637
573
627
641
646
687
584
621
505
581
675
625
625
643
513
553
524
611
507
694
555
568
513
568
539
592
569
576
626
613
504
567
677
579
563
551
645
570
668
556
554
583
601
603
648
654
657
530
555
572
519
520
569
636
593
537
658
512
538
562
657
679
659
610
530
600
648
613
660
582
700
609
673
561
641
563
621
500
585
534
607
634
577
553
515
689
653
503
599
594
537
544
619
588
606
571
505
508
604
651
585
664
631
660
643
668
633
626
692
660
655
548
634
676
549
600
652
670
627
638
509
526
617
656
502
599
511
587
662
545
693
619
570
606
609
512
595
661
555
608
655
598
559
649
661
514
577
567
685
607
603
584
671
518
512
689
661
686
699
526
547
515
682
615
509
603
631
579
619
638
509
574
592
668
685
615
569
665
677
587
623
510
684
587
669
671
540
566
671
513
507
518
541
688
693
690
525
657
565
595
638
674
629
616
662
545
662
500
560
500
581
545
649
629
632
531
500
679
577
663
555
576
638
557
500
513
641
684
680
529
644
507
645
574
697
688
512
642
517
602
531
660
692
546
671
510
548
601
681
557
620
531
600
698
520
661
662
589
659
503
672
542
664
587
553
646
542
664
605
641
517
643
573
549
672
541
629
541
621
587
646
545
679
676
631
555
532
513
695
534
563
575
513
524
654
565
550
675
699
552
601
621
513
652
576
580
600
682
694
669
660
574
514
531
552
535
529
516
587
509
518
572
503
535
649
660
569
546
621
624
588
587
666
656
581
558
568
518
665
540
610
559
654
567
584
613
682
614
564
592
622
633
515
524
501
655
541
676
533
640
578
689
564
518
685
537
560
682
550
558
664
556
687
603
606
507
690
674
636
668
564
510
553
542
603
601
677
653
660
641
614
577
502
623
637
633
644
589
686
644
624
511
551
649
633
581
557
571
597
588
683
639
654
700
632
680
556
613
665
626
680
698
597
687
545
517
604
630
628
697
572
513
662
621
639
611
587
596
521
555
509
659
635
700
671
696
524
594
646
525
614
691
539
554
597
564
597
606
560
619
622
628
694
626
512
588
543
658
547
661
615
506
559
522
536
638
564
660
680
636
666
535
529
525
606
618
561
595
657
670
622
522
650
573
555
550
565
630
587
665
535
646
554
527
559
634
669
512
516
669
683
621
682
639
597
579
696
526
508
571
675
671
671
660
644
572
620
616
684
590
645
660
574
693
686
527
543
628
550
690
685
566
544
507
670
522
500
536
607
580
619
515
591
584
511
676
562
616
678
535
507
689
596
505
643
629
693
608
515
654
606
602
536
534
616
597
573
598
524
535
658
519
552
596
657
556
515
606
599
677
512
547
671
524
521
632
540
605
534
533
536
639
532
643
641
630
606
649
501
604
695
509
533
601
572
601
592
515
557
687
613
571
565
652
537
560
658
512
633
528
654
639
570
529
524
579
554
638
659
513
597
557
503
567
590
525
594
597
676
556
697
546
578
699
546
562
504
614
693
585
512
670
681
529
519
600
659
505
524
692
591
691
594
520
681
502
569
549
689
558
530
628
605
698
691
610
545
603
524
591
569
678
632
673
538
659
515
545
583
603
520
511
693
540
544
665
641
644
516
619
564
622
583
597
587
512
639
660
530
620
692
506
632
618
554
524
656
554
505
550
504
652
591
604
531
535
586
602
682
579
513
625
655
614
620
508
694
540
699
526
611
644
595
509
634
549
581
590
639
665
590
678
553
604
556
688
569
554
631
514
506
674
609
529
527
506
523
529
527
664
677
526
627
610
550
699
531
689
591
654
527
613
650
691
678
688
511
622
689
517
591
551
597
614
671
668
604
541
650
535
699
545
687
542
552
581
628
577
689
580
559
621
676
571
539
689
620
690
672
619
581
574
624
622
560
696
684
619
658
584
680
581
566
568
619
543
533
582
520
570
677
700
638
686
674
682
610
591
577
623
535
604
687
569
523
555
629
576
513
560
655
650
579
663
684
609
697
626
585
683
660
557
529
646
666
547
578
502
643
671
687
602
632
613
658
668
675
606
632
537
520
625
539
555
516
620
527
607
624
638
625
540
519
635
688
591
540
602
538
662
528
583
503
620
529
683
612
556
598
537
571
656
645
507
505
590
596
569
627
573
620
576
659
549
512
592
509
615
668
529
540
625
693
661
598
635
697
583
668
659
671
632
569
529
531
515
663
572
598
687
534
584
547
627
663
644
528
601
565
549
577
506
586
615
573
593
592
594
511
691
618
520
681
693
618
569
583
570
646
515
685
616
695
624
519
565
513
503
671
546
597
598
511
512
538
560
645
567
676
678
520
503
584
508
650
621
604
588
551
607
651
636
562
680
546
504
664
553
562
524
625
543
512
579
528
561
669
639
692
655
500
679
509
601
505
687
507
675
631
566
605
667
534
664
609
667
638
594
557
598
612
633
531
612
545
589
639
535
602
649
681
604
663
653
560
687
514
500
669
618
672
505
638
546
632
654
611
614
609
509
614
560
629
567
639
538
603
634
598
580
516
625
577
575
610
503
678
685
549
535
617
541
515
608
552
632
684
594
657
576
548
582
699
625
520
605
511
527
624
588
630
562
555
635
574
591
583
532
651
565
641
542
694
628
545
655
533
500
687
512
556
632
513
678
548
506
694
553
567
563
625
514
662
537
677
567
699
619
692
636
627
674
601
632
641
630
612
599
700
544
605
691
648
532
576
687
561
634
667
688
519
500
663
622
693
623
521
555
685
620
514
506
688
639
624
531
650
658
585
559
692
616
501
510
690
582
577
637
545
516
528
557
651
609
630
523
514
591
676
637
538
594
638
585
567
589
596
672
661
621
655
687
586
657
577
576
649
618
561
550
641
585
696
633
690
607
614
689
575
561
587
549
700
675
571
620
631
588
618
527
529
526
603
521
510
583
637
503
605
512
574
541
539
514
560
673
565
549
597
541
639
614
689
519
553
520
547
519
558
586
628
691
678
637
536
525
511
555
513
542
513
582
677
510
693
523
599
680
574
543
666
605
589
652
624
574
645
620
649
518
664
543
549
695
622
582
629
613
539
617
508
667
686
670
639
560
555
509
506
584
519
631
560
551
582
539
523
562
684
534
679
639
585
556
631
680
637
587
634
597
587
660
652
590
670
576
635
575
676
548
653
660
609
693
632
575
591
528
536
636
508
503
538
557
613
520
511
650
694
540
550
685
534
502
525
613
506
569
527
623
615
595
614
564
628
669
546
642
548
521
515
541
687
684
619
521
629
640
631
522
529
587
507
547
659
606
502
679
681
545
553
553
663
539
617
622
627
603
690
560
632
672
657
532
677
665
693
676
638
620
663
526
595
620
611
629
540
546
652
526
548
565
542
686
696
514
670
523
530
506
674
664
651
557
587
580
576
659
661
526
615
560
699
586
590
631
649
587
690
578
610
543
663
542
691
542
559
560
700
519
549
535
692
528
516
611
613
611
580
513
512
629
531
685
596
603
515
512
567
614
622
699
519
663
522
653
669
608
512
588
621
630
636
694
521
648
575
564
565
692
527
557
537
657
615
513
681
630
519
681
600
550
699
560
526
621
619
651
635
646
587
556
679
604
575
558
535
696
520
693
655
537
605
564
644
690
625
625
617
538
661
641
668
673
618
680
559
552
659
559
526
537
656
544
603
587
625
666
651
589
563
684
671
623
593
699
634
540
515
618
677
626
513
520
684
621
571
595
549
594
532
611
663
581
628
530
697
540
694
525
643
697
684
652
594
519
666
536
687
599
617
602
582
574
640
551
581
659
652
575
595
527
609
516
577
660
640
577
687
524
513
548
545
695
597
582
557
573
533
658
695
618
597
639
541
540
606
517
694
516
577
663
516
588
675
679
556
569
632
621
502
677
605
549
661
663
699
608
657
612
640
619
613
501
504
674
508
549
513
501
553
616
559
639
598
652
504
589
657
515
620
508
581
504
580
514
613
588
559
680
674
659
654
654
606
500
576
658
692
627
575
599
550
687
548
559
674
642
672
673
635
573
642
700
524
579
601
694
561
654
674
663
594
610
665
592
607
616
637
659
532
625
557
524
559
555
620
664
553
668
640
660
504
568
568
510
558
537
659
506
700
632
541
576
634
613
665
514
685
534
511
621
631
638
662
694
517
627
630
657
592
681
693
605
649
559
570
575
686
533
667
678
519
617
656
565
666
677
699
518
508
542
624
555
645
571
582
543
581
598
667
561
643
557
604
587
618
601
512
697
532
508
534
627
513
612
527
553
550
623
643
584
631
524
617
689
684
539
646
628
629
600
678
654
559
508
587
559
682
512
699
614
699
501
535
647
539
600
563
541
674
618
596
639
519
670
507
530
627
622
577
506
643
583
688
553
633
661
685
570
613
611
538
669
601
625
567
582
618
530
683
679
679
600
613
617
594
631
599
605
539
548
547
647
686
674
636
658
525
611
647
593
676
518
531
623
664
595
659
546
652
525
683
582
667
580
638
586
680
693
650
660
506
638
553
684
608
681
511
527
586
561
534
625
599
522
603
535
555
565
662
594
626
564
504
629
679
650
588
558
550
672
540
574
669
523
523
685
504
618
611
616
667
619
624
542
554
660
672
643
580
614
593
570
522
581
681
645
555
552
633
562
598
602
534
548
524
678
657
571
591
627
536
604
573
583
638
575
566
613
663
535
600
697
511
576
622
537
544
521
629
562
675
510
641
586
560
501
538
673
642
504
689
517
519
519
558
588
613
544
524
519
501
604
525
640
695
509
620
672
671
570
688
535
576
573
501
531
521
643
561
692
597
665
678
609
585
570
656
697
659
607
636
602
659
572
632
607
700
516
531
554
527
512
670
559
638
546
579
665
530
700
654
526
559
604
606
693
593
660
608
688
597
524
624
603
674
648
541
550
577
622
551
634
554
657
589
524
674
527
692
514
626
522
530
623
629
590
616
580
567
618
629
645
537
633
569
650
524
569
586
643
564
575
663
641
502
556
689
605
582
590
612
538
604
551
549
515
565
674
580
690
548
508
511
552
650
538
696
668
527
560
532
690
635
613
601
565
612
555
615
600
573
553
669
506
649
648
528
615
500
598
658
617
650
654
525
522
654
518
698
672
694
683
540
567
576
699
558
507
537
620
586
585
538
513
649
534
509
643
502
571
687
678
648
679
517
646
507
648
613
587
667
515
601
559
531
603
625
576
597
556
565
662
666
634
619
569
511
623
582
563
506
697
622
625
524
656
601
563
685
674
552
577
504
561
681
675
538
573
579
642
557
519
588
627
592
689
625
694
552
593
551
601
554
624
558
641
619
609
539
671
503
650
570
583
640
604
669
610
574
589
514
696
622
650
552
645
509
609
655
672
630
633
666
577
543
612
534
559
527
584
588
541
531
553
632
619
578
679
569
603
569
513
588
550
673
674
527
542
602
662
507
674
692
640
584
648
546
534
699
700
666
694
673
601
616
584
700
637
503
511
686
588
587
555
536
568
654
653
602
511
529
598
601
538
568
519
660
695
589
577
646
575
605
694
637
589
520
645
548
667
673
553
663
620
660
594
612
613
681
555
584
690
570
516
531
652
656
583
585
619
613
615
606
515
554
684
557
655
663
577
573
555
648
618
546
515
689
542
616
578
553
612
542
552
517
559
689
636
579
654
632
513
619
591
586
581
519
599
659
614
688
696
573
687
683
643
550
538
633
576
523
523
668
533
597
616
621
656
512
522
635
666
501
540
649
532
617
554
659
576
700
637
580
622
632
598
594
654
651
652
500
562
548
643
628
504
553
595
594
690
506
649
661
577
660
535
599
563
612
521
670
667
542
551
571
514
523
525
631
510
680
557
680
596
602
546
501
692
632
530
564
512
641
531
604
626
552
619
624
560
618
574
569
619
666
532
641
505
516
550
641
600
645
554
676
642
649
514
695
537
541
666
634
693
663
514
648
599
535
587
664
601
686
603
609
659
697
593
543
527
649
516
619
513
602
595
535
537
540
513
550
504
505
546
536
547
698
595
585
636
547
700
672
602
580
572
527
690
688
523
548
500
558
558
618
615
607
695
683
537
610
698
671
565
571
667
655
563
556
522
571
557
543
658
659
509
510
573
539
539
568
680
647
553
680
643
685
651
617
696
579
633
699
562
625
588
579
690
538
609
584
580
654
530
515
528
689
570
601
658
516
578
682
613
677
515
693
674
506
655
515
641
658
655
523
581
664
567
514
667
571
525
613
630
685
692
592
647
594
609
630
515
500
586
512
508
657
634
697
615
534
579
644
640
634
508
543
503
580
604
615
523
649
563
661
650
521
621
599
531
589
534
561
669
562
535
580
609
540
562
525
515
669
581
660
554
521
685
664
578
678
681
612
503
605
544
581
683
645
623
619
619
608
506
540
510
686
576
687
649
541
581
649
564
623
636
642
671
644
556
681
540
678
531
685
578
593
575
506
671
676
503
506
658
531
576
589
668
606
537
576
524
612
532
512
640
541
655
629
594
698
653
631
629
588
609
589
601
518
636
646
656
556
656
597
582
697
638
662
653
616
628
646
572
549
688
500
543
657
626
502
681
551
564
662
557
612
551
603
698
577
663
629
575
631
543
630
584
599
660
697
690
581
556
677
588
561
535
557
675
543
663
605
536
505
629
667
673
519
685
597
539
598
658
547
602
586
538
507
671
509
516
631
684
622
600
555
547
548
596
674
591
658
676
652
613
639
551
695
516
551
690
517
700
582
553
547
649
696
510
674
576
653
663
516
658
552
596
573
621
654
656
520
564
690
648
622
609
509
648
567
622
593
544
502
601
559
543
669
512
629
578
628
593
696
647
695
539
591
569
517
695
679
533
617
614
534
693
610
627
593
527
673
668
583
629
557
695
676
666
533
673
500
639
502
622
538
523
664
509
572
595
627
673
612
613
684
636
528
652
636
683
632
549
621
609
533
619
605
523
561
562
633
595
696
633
582
539
675
603
624
504
634
649
659
601
626
609
579
672
518
540
675
569
666
510
669
575
687
575
506
571
626
690
614
578
584
684
638
574
656
649
548
533
551
582
505
616
539
644
533
511
579
672
655
578
576
521
658
588
639
635
504
555
532
591
563
509
507
657
597
508
514
514
639
687
654
540
579
506
697
670
598
636
569
528
506
667
661
652
681
649
651
542
678
540
695
589
539
515
654
560
631
596
649
679
508
624
582
655
694
563
507
690
508
650
692
528
590
539
620
515
500
651
514
579
584
597
561
686
506
516
557
658
630
640
569
567
645
545
530
532
515
640
662
526
603
500
683
513
528
623
677
679
652
698
668
597
601
644
674
515
561
534
693
576
591
539
548
674
603
543
682
512
512
590
551
599
606
689
663
652
558
660
510
511
592
560
513
629
509
577
648
682
515
593
529
570
500
610
589
570
681
588
621
622
566
530
564
583
573
662
565
657
694
636
665
601
693
535
582
569
581
678
548
629
622
580
542
539
575
511
538
609
669
597
700
605
596
570
587
692
697
505
518
669
605
682
529
615
574
690
651
633
541
564
569
700
501
554
682
642
644
697
529
628
683
580
521
643
680
571
534
685
570
660
621
605
610
616
694
576
678
507
606
671
560
571
567
587
564
700
693
672
597
626
568
630
583
525
533
698
643
574
680
542
514
539
608
566
687
550
569
542
640
626
668
573
550
676
553
509
690
692
598
628
620
548
585
580
507
613
586
556
550
651
619
578
671
579
657
574
533
535
588
687
644
624
544
679
548
539
625
693
591
655
683
540
593
599
647
672
552
555
503
689
613
682
532
612
594
527
655
604
616
683
620
590
534
591
515
621
557
508
621
514
544
675
641
501
534
618
628
503
618
635
616
660
639
648
578
631
520
518
636
553
510
617
616
535
653
610
685
530
512
582
608
608
599
509
518
594
599
673
637
693
647
558
553
602
657
506
686
607
582
696
684
502
570
552
670
656
584
567
504
569
575
678
590
591
554
660
677
578
576
615
661
677
633
551
657
601
589
683
534
514
697
510
559
614
652
606
652
597
626
844
881
880
866
804
830
918
822
947
822
896
988
911
969
864
884
845
932
887
884
827
992
855
973
993
829
811
981
868
921
824
842
957
867
824
816
835
899
879
869
858
998
870
810
885
901
842
827
906
810
971
839
948
854
984
924
948
938
955
941
840
985
926
897
942
928
856
949
820
923
815
850
902
813
863
826
931
904
890
845
833
904
929
966
818
914
953
964
901
862
917
947
802
801
948
912
875
929
851
996
918
948
861
875
923
820
982
914
828
944
876
913
943
942
927
843
989
985
962
905
997
954
840
844
830
931
814
931
915
938
847
929
970
870
813
818
850
943
996
920
876
841
984
821
839
900
973
834
926
851
921
926
958
856
830
804
932
805
863
997
931
837
810
895
926
926
997
850
950
942
891
855
987
890
995
918
906
977
939
954
884
923
808
850
835
937
961
821
970
827
865
935
915
948
808
857
813
840
817
850
864
854
985
859
844
807
868
819
947
945
996
829
826
906
871
977
955
823
913
915
844
859
866
823
856
933
817
849
821
945
822
932
932
858
985
882
923
850
937
968
899
845
949
972
974
952
808
884
900
821
957
927
862
831
943
920
855
971
991
900
822
952
804
913
993
970
959
878
810
996
939
804
803
956
841
980
812
927
946
842
958
978
918
890
963
993
873
967
849
995
802
845
813
945
960
894
912
857
848
823
993
892
880
800
945
802
850
805
825
915
886
894
876
878
989
832
832
880
838
861
876
964
809
879
896
922
935
825
905
851
840
942
1000
981
876
835
941
998
811
855
822
983
806
837
854
843
973
801
824
832
818
901
949
894
986
938
825
965
882
988
875
911
982
958
862
877
920
844
912
871
983
800
965
828
835
939
942
802
975
826
915
819
879
939
971
917
873
967
946
956
910
869
944
934
960
851
971
885
984
867
898
867
979
977
971
852
872
894
858
821
974
951
969
867
908
972
812
960
860
829
944
819
930
989
910
936
817
1000
907
962
1000
848
800
900
952
835
820
850
879
863
985
959
841
904
941
1000
935
983
874
893
872
842
942
965
906
827
940
911
987
961
866
814
823
914
872
818
998
992
950
830
881
812
873
871
894
844
936
870
899
820
964
956
941
957
862
997
1000
910
883
868
861
950
962
909
866
876
888
826
998
874
929
963
976
975
874
950
939
887
851
823
854
883
912
840
884
862
971
988
915
876
887
994
875
805
967
949
825
978
964
868
891
811
993
939
857
968
982
907
955
1000
933
983
926
932
1000
867
819
994
800
860
992
877
868
994
988
900
837
918
927
965
944
911
986
834
949
923
849
833
951
940
868
996
911
819
947
817
970
809
835
848
904
830
948
889
889
918
914
992
921
951
908
836
1000
904
943
957
842
807
895
931
981
851
858
889
903
962
950
934
859
806
943
868
881
868
819
815
995
950
957
811
900
910
927
994
996
826
856
919
894
817
873
956
821
942
867
940
993
966
839
982
913
837
886
878
987
863
851
806
954
835
996
954
873
888
852
944
960
810
903
972
944
862
852
856
943
907
880
970
822
992
817
966
809
824
991
886
867
906
884
952
908
982
977
845
812
929
934
969
974
913
887
960
826
937
877
981
828
866
914
867
921
834
991
993
980
996
864
846
877
832
887
816
868
992
847
918
865
812
951
845
970
853
908
950
991
877
805
824
983
886
930
959
993
957
881
860
984
937
979
824
917
877
904
924
988
865
900
810
984
858
989
920
901
899
818
818
859
857
857
849
916
838
945
826
931
893
869
996
980
945
921
936
859
988
974
899
917
888
819
980
944
804
857
902
856
978
911
917
833
942
925
906
988
955
974
882
856
829
985
982
998
867
813
830
894
808
922
806
987
992
818
827
892
993
918
801
959
927
891
808
876
987
949
838
876
916
974
896
931
875
889
989
910
956
900
800
861
915
988
935
878
994
997
999
885
985
811
933
809
972
977
932
857
988
1000
929
912
888
811
979
977
961
954
986
861
845
916
937
800
822
906
998
821
965
823
997
957
981
954
919
908
947
944
876
811
977
922
924
890
937
836
817
994
958
919
860
880
896
961
910
991
991
883
917
875
825
806
852
878
878
815
963
970
989
936
847
817
826
839
964
984
946
826
819
970
898
863
928
916
821
906
942
809
812
826
821
988
812
979
934
835
923
928
860
824
823
978
938
940
941
925
835
846
811
840
951
941
902
943
885
851
921
818
861
929
990
869
887
942
989
809
897
870
801
826
940
911
831
804
985
938
806
925
823
919
994
993
892
854
907
800
804
981
846
850
845
824
841
944
887
826
956
858
922
821
886
813
839
848
900
885
941
887
888
852
893
862
888
880
985
859
958
937
935
935
883
853
845
938
910
905
880
847
878
932
801
882
804
912
859
904
906
919
873
922
925
882
969
957
855
841
842
821
950
802
934
855
806
868
952
887
842
801
816
860
845
944
864
965
929
991
955
844
933
930
930
942
923
919
892
873
978
810
861
861
880
911
904
912
805
922
986
835
964
946
977
993
999
825
940
823
978
873
902
825
877
924
892
978
855
862
881
853
815
901
834
855
845
854
918
840
980
859
988
858
940
936
930
991
956
937
914
896
992
873
959
972
829
902
977
939
1000
849
910
828
893
941
868
821
910
911
842
853
860
934
930
872
872
867
974
857
938
984
937
935
924
918
839
891
846
882
989
904
990
888
949
833
939
835
964
818
917
892
906
875
997
881
824
907
981
854
995
805
951
830
854
873
948
991
893
876
854
879
821
952
897
976
869
860
847
832
886
820
964
984
858
962
868
948
809
935
828
991
863
816
913
871
996
828
990
960
843
848
886
944
900
886
838
856
860
812
802
857
849
860
875
829
876
979
918
954
974
910
824
917
891
953
899
947
896
982
815
887
829
932
849
853
881
947
801
855
915
950
969
913
851
851
839
853
820
923
954
919
812
998
975
976
930
973
869
868
916
902
807
867
964
876
937
873
940
964
899
915
918
877
942
844
967
972
896
936
875
955
926
912
981
971
804
982
934
819
814
835
942
848
934
939
882
954
860
913
866
801
800
845
808
923
823
958
985
885
831
813
944
968
869
868
964
896
986
973
806
940
897
869
893
860
858
939
919
908
923
950
897
848
830
888
802
825
801
874
812
966
925
940
876
969
974
881
951
991
988
871
963
836
899
831
803
977
902
874
924
926
829
851
858
986
997
837
928
943
954
822
976
810
860
975
963
850
922
809
976
911
821
991
887
901
913
808
916
950
886
830
898
858
921
817
896
963
893
823
868
877
909
870
974
963
831
829
842
823
849
911
865
815
916
889
989
979
853
935
842
880
831
959
823
826
904
820
958
849
824
963
933
876
931
899
988
969
966
937
988
936
925
840
899
813
987
874
864
918
998
832
939
853
884
946
919
962
800
859
974
990
804
802
877
941
857
909
853
893
838
982
858
807
906
974
928
981
939
858
909
843
901
840
959
841
957
901
983
986
900
864
885
986
986
954
895
967
915
876
967
919
908
809
965
900
855
845
904
920
806
851
821
967
949
848
805
806
988
896
961
982
870
974
917
933
851
954
968
842
841
837
820
859
999
939
820
902
997
868
967
930
876
969
980
880
870
839
813
875
865
907
955
942
832
849
852
941
897
820
836
872
830
971
969
850
889
855
893
847
971
960
853
820
860
826
887
923
850
973
942
962
930
864
953
823
838
871
955
842
969
890
823
820
876
812
967
808
904
909
894
901
830
951
946
941
936
937
855
990
944
880
989
909
982
959
905
816
909
818
937
898
947
888
834
815
906
914
899
817
874
842
971
832
945
802
855
903
839
957
955
964
847
903
962
931
966
993
970
820
888
830
877
946
880
999
906
933
954
889
874
977
885
873
831
844
934
910
894
965
940
980
889
982
967
992
930
974
871
850
849
846
837
903
834
923
868
849
835
942
821
902
962
934
994
958
832
951
964
860
821
807
949
876
812
886
890
947
980
826
800
914
902
915
863
866
857
956
898
853
954
974
984
985
996
831
942
807
944
808
978
973
844
829
871
895
843
846
868
969
844
904
803
936
896
934
986
898
803
963
922
874
832
852
925
912
821
880
937
987
969
841
832
898
933
827
939
940
939
982
985
810
994
824
936
868
981
872
819
812
936
872
842
932
938
955
881
944
903
843
823
865
852
922
818
855
987
900
881
818
864
991
947
872
904
810
877
995
857
961
868
846
991
865
942
841
858
932
954
979
832
968
976
801
994
948
995
968
878
884
839
823
809
933
959
910
973
837
878
866
965
844
928
962
822
914
815
996
839
899
828
975
992
803
982
825
838
877
848
891
834
812
803
924
819
880
968
936
975
852
910
949
915
905
838
845
910
963
997
821
986
854
924
882
822
879
994
811
884
947
819
891
849
809
958
893
911
856
843
831
912
995
805
867
892
845
859
878
955
1000
842
937
827
898
940
893
899
816
826
998
861
967
859
963
996
907
987
851
800
851
875
947
849
982
839
959
855
881
839
853
880
913
958
980
996
893
932
951
949
903
921
934
927
886
843
1000
948
842
995
886
826
876
810
918
850
946
904
828
897
901
810
960
825
999
976
986
912
925
844
830
839
950
850
845
887
931
972
899
969
932
839
843
931
835
806
824
995
846
883
865
815
887
824
866
839
951
935
890
900
896
965
925
956
950
946
915
928
933
828
984
907
983
817
998
929
849
876
905
948
918
859
854
984
997
860
874
919
894
958
929
897
823
932
805
946
994
916
923
981
961
821
836
844
811
880
889
996
937
938
872
861
906
871
854
938
962
935
909
903
909
823
911
941
872
876
984
853
863
879
924
838
894
835
965
974
920
943
989
986
903
870
980
825
936
964
918
914
996
875
950
955
902
849
842
808
844
805
853
927
892
800
815
861
967
814
986
813
969
814
985
874
833
870
990
805
810
879
881
894
814
846
930
902
951
810
922
984
843
875
982
805
956
832
953
988
885
856
820
957
807
992
948
927
893
859
946
923
958
839
992
963
971
838
884
909
813
871
986
922
955
905
826
939
825
960
901
872
868
838
974
905
964
808
859
842
986
948
843
977
842
880
807
815
853
868
867
920
806
849
926
840
951
978
956
830
802
858
934
835
924
906
923
986
917
951
826
827
964
893
905
810
877
916
888
829
944
831
861
827
941
853
960
813
906
936
998
914
966
998
972
952
833
839
884
815
801
884
909
936
904
824
905
814
966
962
950
937
991
917
920
803
833
841
914
892
838
813
884
911
848
959
965
878
980
935
895
879
839
891
927
900
979
954
849
873
977
881
817
963
891
884
883
971
827
955
923
920
864
811
882
858
985
953
867
834
935
915
870
868
843
925
840
822
839
852
849
955
900
947
941
958
846
991
891
826
831
982
836
884
982
808
915
876
876
848
950
824
837
1000
825
829
960
914
955
905
910
822
861
943
901
829
956
854
911
888
865
858
823
987
930
807
805
965
821
956
983
848
868
801
927
861
925
974
830
845
939
842
876
826
862
856
891
938
957
961
826
816
935
970
922
820
945
925
842
817
856
883
987
984
802
982
874
839
846
948
839
842
987
911
842
910
839
864
846
943
922
884
899
817
839
985
872
954
819
856
866
812
978
888
825
950
961
898
920
839
817
910
830
819
933
855
839
843
820
836
855
961
999
942
906
949
867
868
996
933
995
955
979
827
876
872
898
807
858
853
848
983
874
825
963
988
903
832
987
845
869
900
854
812
927
891
897
916
924
835
909
809
875
960
870
938
941
969
844
988
801
913
930
954
888
961
883
927
935
854
819
827
871
965
836
887
895
810
928
997
843
861
809
851
853
972
971
918
818
878
897
950
904
998
847
944
813
800
942
922
923
923
859
929
974
966
819
841
923
944
840
997
809
885
922
816
944
982
951
887
852
834
800
896
803
819
986
988
809
866
868
906
987
889
855
911
834
925
967
851
967
943
965
892
895
916
964
815
980
822
857
939
926
854
810
946
816
856
807
952
822
846
893
917
863
979
869
951
961
871
969
846
925
881
929
951
895
985
876
879
969
826
902
923
931
905
857
907
986
882
947
960
955
841
831
821
819
906
930
886
812
889
945
946
945
805
988
943
981
1000
924
927
963
905
987
846
935
965
938
916
969
935
885
929
888
863
964
992
850
908
927
916
996
871
888
882
991
866
905
976
950
934
851
880
983
828
928
843
978
900
923
864
977
875
940
985
989
849
824
849
829
847
981
957
964
950
983
970
911
885
908
829
897
832
817
875
868
835
824
903
921
932
944
805
839
903
846
989
923
837
986
974
905
862
953
889
825
883
825
819
964
846
946
906
881
996
936
933
917
993
815
815
875
872
845
943
835
854
947
950
807
844
907
916
806
811
972
972
889
969
805
892
847
884
921
828
855
883
989
817
858
977
835
840
919
848
916
992
891
957
820
993
812
865
975
877
930
930
809
944
878
966
898
844
979
934
818
814
811
889
896
850
917
959
964
820
962
850
982
835
941
860
821
858
953
922
959
854
891
879
923
847
981
988
915
827
894
831
967
839
868
994
866
825
810
924
864
936
994
807
834
847
965
839
861
820
833
833
908
986
813
845
840
880
813
811
966
861
980
888
943
925
981
936
843
818
931
971
976
904
917
898
917
953
984
862
800
927
982
933
862
975
976
850
864
974
829
800
875
975
930
899
906
876
848
857
941
998
813
913
938
801
883
836
1000
820
828
879
824
905
882
814
955
955
846
800
973
804
887
948
865
915
848
927
978
983
892
974
973
938
847
809
968
901
801
934
856
831
873
933
841
851
952
914
835
842
932
896
938
822
805
936
946
870
805
834
802
976
975
861
813
927
911
885
878
979
900
900
934
929
891
936
857
875
814
829
923
973
804
832
833
969
888
806
959
821
902
880
855
995
942
928
913
827
957
843
937
868
967
860
825
805
814
873
968
935
918
974
938
924
948
917
872
912
937
909
941
998
941
910
924
811
914
942
842
885
919
812
825
805
891
813
881
960
882
965
945
817
850
813
914
883
935
865
826
822
874
951
990
814
844
973
993
871
941
999
987
888
920
985
939
919
928
809
829
846
986
807
974
975
843
896
935
890
971
923
970
804
912
878
943
817
940
926
851
927
809
951
870
821
800
939
876
843
921
965
879
941
893
884
983
893
835
904
800
926
863
814
871
933
929
965
962
904
835
813
902
898
814
812
885
980
1000
911
985
893
845
1000
984
806
838
886
893
968
966
806
823
935
968
816
847
941
840
869
933
904
914
934
949
875
932
890
946
918
955
836
883
960
907
958
992
917
825
866
994
973
825
833
952
884
806
958
860
858
880
911
968
840
972
891
975
898
856
881
801
814
856
852
996
964
968
856
1000
983
904
802
937
820
891
997
872
807
954
994
896
958
925
960
877
844
869
968
907
924
840
900
821
815
867
866
814
881
920
860
951
841
858
885
872
931
972
888
987
995
958
913
919
843
928
994
939
952
880
994
922
825
948
976
936
804
852
885
821
927
891
841
883
887
816
824
986
878
881
967
974
803
973
958
808
957
949
976
937
806
854
938
883
826
909
918
856
993
871
959
985
858
800
865
966
880
977
875
885
855
875
881
976
826
924
835
836
970
839
940
805
939
923
934
825
814
941
865
899
983
826
841
871
840
833
951
950
983
895
985
994
814
869
976
809
924
993
842
908
891
975
904
982
911
824
892
865
847
965
844
885
864
828
805
985
934
985
871
992
830
907
804
933
969
957
883
865
864
828
874
905
871
948
838
869
879
916
987
861
934
947
813
844
875
819
983
857
834
961
919
900
983
841
934
865
933
879
805
975
887
823
801
893
961
902
812
865
973
962
883
949
956
933
972
999
942
862
859
834
840
946
865
907
800
826
813
979
859
980
972
811
860
930
835
924
866
978
894
836
949
906
990
874
967
900
993
997
944
927
884
801
878
836
837
806
860
895
862
932
979
911
992
818
818
882
803
854
972
897
935
971
950
968
851
812
883
958
932
932
902
811
850
850
943
839
979
816
844
920
961
986
876
840
936
871
995
903
868
813
995
918
846
817
953
871
961
920
997
870
856
856
839
998
978
800
860
829
940
915
919
908
824
950
820
887
909
900
985
932
953
837
961
821
972
811
907
906
972
977
887
970
846
827
821
943
917
958
904
824
946
899
877
966
983
866
989
926
950
967
899
975
808
944
921
816
845
934
822
818
972
971
802
997
824
909
864
909
914
862
886
830
994
907
833
879
935
856
985
813
875
997
804
829
904
882
928
886
996
899
995
871
909
858
985
827
898
895
975
927
892
890
959
887
882
831
830
918
821
851
908
929
904
904
998
984
983
872
905
837
842
942
874
906
936
981
922
882
836
947
853
898
836
994
881
942
910
977
841
846
870
841
811
947
867
935
969
934
958
867
833
960
978
820
883
957
842
997
942
917
909
846
840
826
809
983
904
827
819
819
990
913
905
860
817
819
954
802
902
890
977
902
974
925
999
971
820
873
864
920
876
999
959
810
962
852
810
860
963
915
806
915
909
998
936
879
916
886
996
930
914
882
858
820
808
944
921
931
916
946
940
885
979
863
935
986
925
898
817
836
846
816
813
892
931
884
902
994
921
996
828
995
975
963
917
941
818
831
895
964
865
883
976
807
854
906
961
985
967
873
924
853
869
916
900
812
851
842
1000
870
966
913
848
984
821
869
850
940
879
957
956
953
925
957
864
973
890
806
817
866
996
902
806
840
867
905
998
857
828
989
873
983
849
928
845
885
855
815
865
883
994
815
817
892
886
828
872
824
961
934
801
857
936
892
893
820
904
839
889
876
916
946
828
956
972
804
835
855
873
802
915
925
895
935
905
849
853
960
971
926
872
890
856
907
824
985
952
860
846
853
916
873
919
945
957
904
829
880
804
918
946
911
927
899
883
894
890
876
800
1000
883
927
831
926
928
948
952
800
939
861
895
995
919
847
936
920
996
930
988
805
814
985
816
905
845
879
932
989
801
845
844
949
833
847
915
856
938
824
802
859
814
992
999
969
958
875
931
941
993
855
821
835
923
913
959
827
962
836
882
855
889
872
830
963
961
873
852
893
888
991
802
947
816
978
860
800
900
844
835
841
949
826
928
810
857
881
946
845
854
863
801
934
925
923
995
976
977
914
910
917
827
820
906
911
806
815
828
808
858
978
928
992
877
945
910
938
902
907
832
892
973
989
884
947
899
964
988
959
999
972
847
885
853
885
937
846
916
850
940
944
884
812
954
863
937
966
988
863
946
877
999
916
933
919
918
970
800
977
868
955
869
826
864
920
974
945
831
812
972
979
938
843
863
923
912
925
976
990
916
946
943
969
804
815
948
867
835
960
898
830
917
851
855
979
828
974
904
807
926
846
969
963
842
899
817
937
984
903
955
857
942
815
924
993
858
986
928
854
888
982
957
872
867
870
982
814
885
842
928
856
995
945
922
925
803
985
906
905
988
963
887
985
965
844
984
815
946
851
914
1000
953
838
948
911
953
800
893
970
854
992
833
883
942
957
869
997
848
959
839
915
814
842
846
870
837
845
910
811
972
858
978
988
807
952
901
832
976
851
907
818
914
888
925
805
986
886
945
801
866
871
940
951
845
980
891
974
968
930
943
895
913
857
857
823
848
896
846
997
992
891
933
816
907
992
954
925
900
851
812
841
833
835
958
800
999
828
820
971
914
949
925
972
934
993
860
909
868
882
901
875
961
911
944
815
843
801
974
878
994
816
815
818
928
822
994
862
953
965
886
991
873
994
878
984
911
930
953
961
925
995
944
871
972
825
913
880
926
816
872
979
958
871
936
908
942
912
876
948
815
948
984
813
877
880
931
867
827
945
910
850
831
930
934
969
980
843
944
876
822
893
966
949
939
930
875
920
968
956
835
976
954
951
857
911
819
982
909
947
915
894
910
938
976
938
922
825
868
931
972
915
855
976
980
890
934
991
984
809
842
917
843
928
868
913
980
997
941
913
936
860
979
907
838
870
964
858
998
944
816
887
812
919
944
822
940
849
867
855
974
925
965
907
945
880
940
954
845
814
906
854
848
954
909
954
980
930
850
822
937
928
953
923
978
836
910
846
846
923
832
907
824
522
555
606
604
571
506
694
588
626
618
659
563
679
576
625
649
633
542
530
625
559
646
636
686
586
506
664
699
564
553
620
579
686
523
603
696
581
572
636
662
630
568
699
617
684
561
517
563
536
612
519
658
609
694
592
596
594
621
586
649
584
679
586
522
565
504
578
669
616
687
672
552
578
535
601
672
610
519
662
698
516
650
651
675
509
581
511
577
616
623
527
546
621
609
601
611
638
615
591
524
560
658
605
685
578
617
511
581
601
598
570
530
597
509
696
657
570
646
572
581
692
686
529
695
500
585
606
586
680
522
627
644
595
565
648
698
589
533
693
574
644
514
674
534
526
671
546
540
691
656
643
601
657
594
547
525
570
600
653
561
579
518
507
601
533
688
580
632
585
580
507
639
616
562
568
666
625
504
512
536
660
607
504
561
609
542
508
605
686
596
586
692
542
669
613
645
634
584
588
634
644
512
593
609
593
544
585
561
693
518
696
625
628
549
697
634
617
667
586
671
534
521
662
518
593
520
642
514
646
657
566
642
556
545
561
648
516
676
681
691
610
525
578
598
599
590
543
509
545
609
559
566
568
603
565
624
555
532
598
506
540
566
594
592
564
528
500
696
580
609
612
666
507
692
579
515
534
530
673
690
686
667
681
553
631
524
505
566
579
554
559
640
609
630
527
660
551
633
645
562
620
646
533
660
515
558
671
570
680
578
657
631
556
673
531
690
537
565
606
571
564
687
566
667
664
622
568
608
680
574
539
675
621
599
563
528
591
696
521
670
661
645
640
662
638
510
635
566
647
613
527
602
553
694
556
632
542
556
539
532
574
635
688
581
636
652
641
634
621
525
548
508
644
617
596
654
647
610
661
616
697
666
639
592
592
587
606
574
520
571
698
663
549
629
538
505
514
576
595
642
507
630
538
627
513
564
626
616
696
530
528
635
621
666
613
553
655
569
522
582
630
597
597
606
637
571
598
555
693
631
651
651
624
628
583
700
678
520
521
586
620
568
560
570
581
679
573
646
580
548
500
594
529
678
592
597
505
621
642
637
650
628
598
601
654
537
592
616
676
547
581
553
514
509
681
530
589
501
675
673
629
550
665
589
635
667
689
693
680
604
595
562
570
532
601
569
505
652
650
588
673
585
639
627
582
656
664
643
683
658
668
538
547
574
588
688
655
591
590
676
652
542
619
678
626
621
622
642
655
661
618
592
600
566
643
683
675
688
531
604
546
578
611
581
509
626
596
636
628
681
583
644
650
667
608
530
555
635
532
622
511
681
528
557
591
578
652
604
572
656
542
569
690
674
564
673
658
654
684
549
672
613
677
671
530
690
645
593
629
681
685
558
622
523
510
520
657
640
624
657
685
617
688
528
615
584
521
534
623
562
636
691
582
678
526
542
550
553
627
594
598
579
677
627
590
532
674
532
552
571
577
557
698
687
525
582
592
625
687
524
550
670
553
557
639
559
511
662
597
504
587
600
630
519
529
617
579
508
617
584
647
584
650
620
548
641
674
549
579
557
531
645
647
662
624
507
524
539
552
548
650
623
585
647
638
602
699
672
646
696
592
684
674
505
670
500
530
589
537
523
695
507
548
566
688
517
565
687
531
603
522
687
510
591
558
586
637
539
603
595
693
511
549
700
632
679
526
620
595
533
652
660
684
559
584
522
590
646
598
599
501
586
608
620
599
515
682
615
694
698
546
599
558
687
682
605
680
652
611
632
518
567
599
617
594
696
523
567
607
691
646
531
640
562
609
612
634
683
634
584
613
591
591
676
522
599
506
694
619
684
601
576
574
544
502
523
689
513
646
668
627
641
626
617
613
626
688
684
565
526
583
536
659
526
630
610
606
667
589
694
673
695
512
517
512
646
637
653
520
538
684
643
544
521
697
600
580
513
558
672
550
676
625
664
510
543
517
507
629
635
660
547
511
681
601
674
607
616
566
571
595
507
615
693
648
527
611
647
598
621
630
575
630
604
634
611
665
652
693
629
612
622
673
549
664
575
578
532
599
539
556
592
692
612
693
527
612
693
676
557
617
562
528
607
592
628
622
633
560
575
559
627
696
663
552
695
526
623
676
603
658
503
500
606
676
602
659
687
572
558
606
513
645
615
682
592
544
596
519
506
557
528
662
586
694
556
585
585
667
698
580
662
599
582
532
571
622
597
514
655
543
559
647
692
502
624
535
522
572
571
594
548
631
565
618
537
565
659
653
696
516
692
506
576
659
669
546
620
672
664
548
662
575
683
686
603
502
573
521
655
600
569
657
580
530
552
650
601
629
541
557
549
558
693
550
523
632
625
554
580
606
552
538
648
602
576
682
543
566
574
664
562
543
577
554
651
544
560
512
514
686
586
685
658
610
678
625
647
509
677
607
622
654
597
662
545
626
637
586
539
561
531
640
635
564
686
589
561
579
635
577
691
587
693
563
659
544
555
628
694
637
636
540
650
609
567
613
580
648
649
529
687
582
656
675
636
611
647
538
596
607
691
670
506
568
577
609
632
662
514
646
648
521
506
545
687
641
699
650
647
683
645
604
635
648
517
643
544
522
645
542
648
609
625
549
679
517
640
625
549
596
530
528
648
508
523
610
547
562
662
688
692
568
635
502
581
642
698
648
667
658
653
543
561
553
610
599
611
613
511
671
513
620
525
664
688
649
680
584
501
534
669
617
680
661
583
513
592
674
522
564
632
691
637
696
514
509
604
505
631
502
525
548
680
591
625
615
517
699
670
620
637
535
611
678
517
525
672
567
539
583
601
661
700
534
654
628
511
501
591
555
607
541
619
508
610
695
689
659
663
555
544
578
693
566
539
657
602
507
557
688
524
558
644
531
655
679
504
568
581
696
589
616
541
626
607
513
512
622
520
640
506
573
568
516
559
663
625
585
534
559
506
651
549
648
585
502
569
610
514
531
622
675
637
684
502
592
589
580
618
502
661
619
680
516
532
692
698
606
510
560
610
638
638
640
639
700
687
507
698
533
528
663
551
653
500
513
684
699
675
576
691
618
506
596
670
691
534
543
614
631
645
628
616
559
637
564
609
632
595
636
635
639
537
546
618
524
653
569
542
584
645
595
616
568
613
671
539
568
510
641
663
533
501
527
557
533
519
571
579
677
529
640
615
674
560
673
652
600
687
611
629
502
581
636
690
523
524
680
655
685
574
617
606
632
596
696
650
594
527
629
584
617
624
680
520
638
612
562
631
530
633
593
681
585
579
611
517
582
681
524
586
629
565
553
546
521
516
646
526
511
576
639
532
543
500
667
531
505
681
557
645
516
522
505
521
638
533
512
626
598
618
669
658
512
612
615
665
581
665
699
520
656
623
627
665
700
646
598
530
670
577
565
561
504
605
617
666
600
553
547
685
531
626
584
572
626
638
681
537
632
565
583
664
590
544
673
549
601
669
693
656
643
562
521
699
576
555
577
675
649
599
541
579
616
558
560
690
570
691
521
559
541
623
598
601
666
584
603
593
694
563
509
510
601
537
602
551
508
542
510
683
665
555
555
609
639
558
515
624
689
569
631
686
677
555
689
532
587
659
575
625
629
546
575
557
683
503
662
518
546
529
614
563
691
670
673
577
596
671
521
501
611
670
694
590
664
626
534
661
646
533
686
552
637
561
546
686
616
600
661
582
683
690
659
566
656
528
602
555
510
578
678
531
505
622
614
540
637
695
557
573
663
505
611
542
517
651
572
655
512
508
578
645
553
608
637
649
682
647
642
695
574
677
654
535
537
603
581
536
593
673
679
680
549
612
570
666
568
536
644
656
640
574
507
518
644
592
519
573
516
502
571
609
550
618
673
648
639
596
693
664
697
650
661
680
585
687
678
580
534
635
501
514
557
601
691
561
505
569
650
553
647
527
696
608
655
650
520
569
692
663
614
517
680
669
689
586
603
649
611
611
556
623
523
650
631
624
638
527
587
597
552
512
686
645
620
697
639
562
698
594
607
622
602
690
642
626
686
584
553
542
677
681
630
629
668
520
658
686
677
612
677
507
687
647
590
513
532
676
614
588
587
689
628
637
604
617
657
514
680
694
565
648
631
692
557
693
653
645
630
549
596
504
504
514
653
594
500
570
604
664
568
665
620
641
676
559
681
609
515
551
588
560
589
548
656
587
574
587
643
543
598
623
665
691
610
502
642
607
519
677
610
565
573
689
666
616
524
584
654
670
583
543
664
610
543
526
538
532
514
563
512
554
678
561
698
663
669
636
552
689
502
565
611
563
644
590
657
635
611
659
565
561
693
532
507
529
633
658
655
677
594
658
571
685
657
527
642
581
529
594
540
627
692
641
607
555
527
594
690
551
678
654
580
508
697
636
540
505
527
632
510
671
690
669
571
569
692
687
519
586
522
675
684
545
661
574
657
564
601
508
620
555
551
538
690
639
612
666
595
593
510
575
524
527
530
606
571
625
660
513
578
568
562
680
538
548
557
518
607
644
695
595
629
627
550
668
504
626
623
536
661
694
535
604
636
629
543
544
532
512
700
572
505
690
535
561
502
683
504
547
650
511
576
663
627
517
634
671
608
606
571
560
656
513
505
574
594
684
603
609
570
639
653
666
657
608
526
611
525
649
589
573
685
671
666
502
688
625
627
559
547
653
559
531
697
575
663
612
523
581
586
519
538
567
598
558
630
654
625
602
525
526
524
549
609
561
650
540
567
500
586
580
677
528
690
532
699
566
596
592
570
638
538
605
679
521
687
514
571
561
530
568
697
697
548
683
511
503
685
627
600
503
643
638
644
688
514
600
624
540
609
649
673
597
637
632
635
550
615
664
520
657
632
503
631
628
580
589
550
666
545
657
536
631
636
511
589
613
576
500
606
552
610
581
576
573
515
607
596
677
508
629
533
639
637
683
529
514
683
667
624
681
620
668
598
595
570
700
515
650
606
668
623
544
658
539
552
691
595
642
502
513
534
684
603
530
620
508
623
527
571
599
586
580
592
511
533
581
522
699
689
620
663
601
505
672
683
618
675
622
516
535
620
566
675
619
598
510
533
631
583
509
528
633
700
528
667
673
686
553
614
664
606
540
580
576
534
680
614
511
647
630
680
573
597
648
687
544
553
574
626
541
550
643
573
687
582
528
601
543
513
581
632
555
635
522
504
665
569
512
533
587
636
587
543
651
618
679
567
648
538
573
624
639
696
558
625
580
548
676
503
503
677
675
624
514
533
666
589
667
681
528
673
676
511
670
572
603
656
605
603
683
559
531
680
621
700
514
583
596
583
531
556
609
514
638
636
525
682
642
685
605
657
549
505
516
582
669
600
512
665
550
629
618
550
690
523
649
665
668
644
565
519
545
657
522
550
677
520
658
549
521
630
674
504
661
575
576
696
681
532
574
566
580
673
622
649
529
587
581
595
515
582
530
595
599
564
567
634
577
698
544
671
689
639
565
638
653
563
627
684
512
630
690
538
556
507
552
605
578
576
695
566
633
679
634
613
546
638
573
661
539
528
640
562
647
545
633
610
657
600
592
519
659
567
566
690
603
631
527
580
531
671
658
555
623
654
537
684
529
516
580
526
585
540
665
538
668
536
588
671
621
558
500
573
512
675
642
534
511
515
657
624
624
672
700
658
518
550
662
564
586
689
649
565
661
625
579
678
530
643
647
628
538
601
613
573
530
616
625
558
653
585
508
545
501
524
584
523
548
623
510
585
583
516
675
613
573
526
695
633
546
527
588
585
559
551
503
573
585
637
503
636
585
500
628
609
550
689
673
628
649
624
661
527
543
685
604
564
620
655
560
643
536
620
524
679
558
618
619
520
632
602
615
630
671
580
645
682
680
535
501
604
692
549
594
528
603
667
613
699
549
548
594
592
635
503
588
542
584
500
581
631
548
560
695
502
676
578
535
642
550
643
634
670
610
581
593
639
652
507
533
550
563
500
688
562
543
603
518
619
512
593
628
669
547
590
625
552
645
500
519
552
622
614
687
661
643
587
515
568
661
523
637
655
504
587
644
591
676
617
623
600
635
565
650
573
564
523
676
666
500
575
513
589
684
698
685
558
616
668
503
524
545
626
571
525
638
618
556
619
589
603
636
525
501
602
501
552
507
508
587
694
660
606
516
583
506
532
680
679
556
561
663
687
559
555
559
568
560
626
564
644
605
614
602
537
597
614
520
666
647
691
686
540
645
540
508
525
585
538
554
548
686
544
614
633
524
642
540
674
605
589
637
511
582
679
658
512
518
501
668
625
554
538
513
584
597
665
527
619
542
536
687
693
538
697
537
548
547
675
530
694
530
685
606
621
513
534
686
647
641
652
571
539
535
632
673
650
681
615
503
514
632
511
502
673
531
602
572
528
520
649
674
501
548
679
662
655
579
613
670
502
536
681
700
670
516
506
541
622
557
560
629
530
699
509
639
671
689
570
615
577
600
571
561
680
590
504
550
532
630
667
672
586
571
508
634
581
619
700
652
609
586
513
637
558
634
572
688
522
517
591
674
641
685
546
644
642
659
511
587
590
570
505
608
508
667
635
617
612
544
551
692
541
696
653
510
552
546
556
512
514
508
614
518
539
659
565
610
593
669
664
570
621
566
673
700
696
636
691
502
531
536
671
668
525
640
623
501
555
622
646
540
566
618
560
641
684
538
628
607
512
676
556
510
558
623
677
667
530
629
695
538
611
663
641
691
587
615
605
528
512
655
643
569
675
528
547
554
589
586
622
631
525
691
534
557
561
668
669
507
628
607
638
540
598
628
601
675
608
619
507
541
616
661
555
563
552
550
613
561
631
676
675
657
649
587
624
649
539
502
676
664
615
679
618
554
695
637
560
502
511
620
575
508
541
512
506
501
673
639
600
658
533
629
575
537
639
539
569
655
635
531
572
567
530
562
505
660
584
509
542
520
590
514
529
621
505
517
654
626
509
512
674
649
563
542
510
645
538
502
582
639
648
587
665
529
529
654
552
660
672
591
661
628
678
544
616
622
582
501
670
690
588
533
567
561
700
548
519
676
594
531
593
616
659
690
563
614
610
637
647
562
622
603
622
608
618
607
635
602
630
697
579
691
570
637
510
658
565
665
522
506
623
580
524
686
598
509
660
695
645
529
548
549
653
602
618
557
676
626
638
569
522
534
573
629
560
675
669
659
675
514
507
660
632
700
505
506
623
551
653
652
587
636
568
638
629
577
533
550
646
656
646
635
552
534
662
532
546
556
632
560
698
502
646
661
663
565
612
539
576
503
626
501
579
534
592
525
625
648
555
650
652
606
691
626
580
560
517
512
602
660
564
550
597
554
564
622
616
693
700
539
505
554
617
666
682
559
687
631
566
506
590
506
598
547
672
561
558
659
650
536
680
681
690
541
572
607
552
509
614
649
513
519
575
617
649
522
611
684
502
568
553
668
531
660
604
585
647
655
505
526
571
530
518
507
649
634
625
672
565
528
592
585
641
554
630
635
596
548
599
537
660
516
515
644
693
616
644
514
577
681
594
656
699
700
538
687
692
503
593
691
667
609
517
683
679
562
648
685
662
692
602
675
585
569
636
644
584
687
679
544
659
672
650
557
589
528
700
604
539
519
600
672
624
697
657
602
611
623
503
611
549
637
536
582
520
688
669
546
659
552
681
607
565
526
609
610
517
649
547
520
632
684
564
614
529
549
649
609
549
677
666
515
684
601
523
688
549
675
521
535
646
633
598
577
519
589
588
693
587
632
672
563
541
653
688
507
640
687
592
551
615
659
555
670
530
615
596
700
679
658
578
573
664
589
683
684
525
507
514
543
582
515
508
668
530
582
550
634
631
698
533
502
604
563
542
538
621
603
565
658
644
695
591
577
512
525
532
682
589
554
562
692
696
682
602
594
567
551
626
681
568
650
612
623
592
645
695
574
568
677
512
612
682
579
516
589
696
577
563
512
690
515
557
527
611
634
602
574
589
606
510
612
505
603
621
524
505
545
523
519
687
688
582
605
601
526
506
646
629
700
544
524
689
664
531
592
504
677
631
590
624
699
629
504
589
688
614
554
651
566
677
534
563
599
596
546
693
612
608
538
571
534
650
635
501
633
600
502
649
638
587
540
657
624
687
637
592
517
678
590
557
560
631
630
624
606
676
579
687
531
663
685
641
641
592
654
546
533
535
696
640
593
557
624
507
513
665
590
553
530
605
646
663
567
683
530
700
533
533
637
629
619
511
574
564
545
512
641
654
567
618
662
521
685
525
523
604
681
657
660
549
670
685
645
531
521
530
686
547
674
672
560
626
635
658
590
651
653
549
635
665
534
676
548
689
548
587
604
613
614
641
579
574
623
534
601
610
506
616
513
512
658
603
683
506
514
675
549
700
582
620
610
630
589
660
697
690
526
608
503
518
529
504
693
692
617
504
613
656
581
500
696
597
670
622
686
534
684
679
514
592
617
682
548
598
588
502
551
697
541
595
598
659
663
548
502
602
570
582
575
613
640
602
603
624
686
505
525
608
531
545
680
655
525
699
608
663
537
564
606
684
607
653
607
657
626
695
563
632
593
555
544
559
615
570
673
502
561
560
573
505
511
591
677
516
537
541
692
589
628
515
668
621
599
503
618
518
507
523
595
690
653
627
530
500
650
664
562
690
594
600
633
608
642
596
557
630
508
551
507
606
680
548
613
580
513
504
504
560
528
564
696
588
631
650
686
583
515
671
660
508
534
674
567
577
631
547
690
539
628
570
550
675
667
583
655
699
686
666
615
619
697
619
574
688
650
656
618
659
551
691
671
656
564
663
554
558
605
515
686
570
668
598
607
570
599
650
605
609
595
613
555
683
668
530
637
556
691
700
609
659
648
544
510
669
536
691
699
540
518
659
695
652
525
515
635
546
689
665
501
529
628
566
589
651
551
692
632
645
677
555
654
633
553
696
672
583
526
547
629
537
510
657
522
568
659
624
524
510
627
686
523
663
586
553
530
681
678
601
659
640
654
525
603
539
518
668
596
698
688
623
697
579
683
623
668
694
662
613
572
628
538
504
528
617
545
636
561
692
653
600
584
669
633
550
676
547
680
507
676
579
631
564
660
569
646
700
638
657
532
638
546
591
650
526
574
671
607
578
584
670
684
560
567
695
629
635
528
650
507
693
509
631
698
579
521
558
575
673
677
535
642
576
611
567
585
682
558
574
655
574
655
585
637
608
544
604
616
567
647
682
613
596
630
593
616
674
551
638
526
579
629
532
577
545
592
657
625
625
549
636
658
568
597
690
563
700
674
638
570
562
685
500
562
540
643
609
597
533
511
585
529
680
509
632
647
500
699
535
643
623
585
544
574
687
697
594
611
618
594
619
591
649
683
569
542
603
593
628
655
586
664
537
528
521
660
535
566
688
540
508
557
618
659
634
594
555
579
578
556
635
681
666
503
521
686
557
651
667
575
566
683
660
637
524
554
624
663
579
539
684
555
591
606
535
672
527
549
636
570
610
571
595
680
509
635
693
585
593
572
527
687
610
547
677
568
614
645
696
596
685
630
688
669
506
541
576
578
527
699
649
535
517
603
510
629
639
527
563
609
629
684
685
668
528
678
632
664
631
693
629
640
535
583
500
625
610
595
641
544
578
587
656
645
669
696
673
563
660
678
638
643
662
551
642
691
521
590
667
575
631
646
626
671
588
677
509
550
626
614
687
552
537
627
585
690
636
678
534
555
674
611
610
643
668
597
549
528
533
597
679
544
696
638
601
617
562
579
550
681
570
668
680
663
508
504
570
501
692
685
557
690
671
521
635
536
586
511
549
519
600
700
563
673
643
560
567
646
508
636
686
575
526
671
574
624
684
509
575
682
573
549
570
620
600
616
538
557
577
541
661
631
507
679
557
551
548
675
642
614
567
561
506
695
508
536
628
644
555
588
636
635
531
578
605
514
647
659
653
669
621
514
572
596
594
550
608
671
637
612
595
548
590
610
699
569
685
590
656
557
630
570
534
663
558
546
637
535
685
677
585
632
640
641
521
559
554
684
838
931
865
863
989
916
954
936
972
981
860
921
953
965
816
842
961
981
876
803
997
896
964
871
846
870
913
939
897
988
928
999
972
928
970
854
863
951
989
984
887
943
982
848
994
952
901
952
817
800
937
878
917
909
892
907
898
900
863
916
847
806
950
852
958
976
815
921
830
906
844
829
890
839
884
844
805
931
847
869
986
942
927
820
948
898
836
971
927
906
831
844
808
831
887
962
886
927
814
922
841
839
827
983
862
914
932
983
952
852
809
994
987
845
973
888
943
865
933
962
995
913
846
888
899
844
808
848
942
950
888
908
878
853
916
942
867
926
803
887
980
907
910
966
946
867
820
965
905
974
820
893
881
947
850
813
992
839
986
999
978
911
914
986
864
848
837
827
921
953
823
895
852
860
967
902
960
936
989
857
825
916
808
943
930
858
999
852
905
820
824
963
946
813
991
863
944
834
945
997
820
819
833
857
898
865
874
888
947
801
958
807
953
830
975
860
917
849
803
984
815
1000
915
982
957
813
863
978
984
944
884
915
958
891
813
920
951
868
829
970
928
896
928
871
897
810
946
932
869
961
949
994
933
899
831
912
801
837
868
891
900
803
905
805
804
800
945
854
961
939
914
897
931
993
865
967
817
857
806
805
913
917
998
948
895
844
905
877
896
976
986
880
856
810
859
963
876
829
923
999
934
954
964
966
997
917
913
881
954
820
937
916
968
880
871
950
925
913
946
879
891
934
963
941
831
812
997
894
959
831
860
863
801
954
848
869
890
815
989
907
872
992
929
973
868
812
980
908
853
882
988
817
854
806
946
935
910
851
952
918
885
951
942
998
924
847
990
935
817
916
947
880
872
831
990
957
983
803
911
843
910
924
933
980
871
853
933
903
897
846
872
898
959
841
965
807
904
893
988
877
906
854
936
847
900
845
914
919
812
842
829
896
982
948
870
994
864
959
980
919
855
906
990
930
971
983
890
998
856
874
935
895
827
993
960
843
823
952
848
989
884
815
831
984
877
801
840
832
924
937
885
864
857
971
937
965
888
983
823
960
975
809
993
821
844
800
890
885
821
892
822
990
927
997
908
801
925
908
826
807
979
970
877
835
971
932
996
986
914
991
803
935
855
850
851
968
848
921
881
936
816
883
974
863
938
913
919
976
863
815
842
841
956
941
873
880
957
942
806
920
874
841
924
922
931
911
950
882
813
963
934
981
840
968
838
998
985
802
870
965
922
885
997
839
889
956
993
962
997
942
898
908
985
964
917
910
887
996
890
897
904
977
818
874
837
801
936
866
897
997
803
898
947
988
948
995
870
910
851
853
933
932
878
850
881
814
814
812
960
949
902
883
838
891
986
903
995
937
869
919
944
846
840
932
961
990
897
876
994
982
800
963
943
963
907
919
891
980
820
812
811
859
851
802
953
900
897
960
915
851
921
891
903
820
939
882
968
852
966
971
998
882
898
881
821
914
865
893
864
802
919
973
979
828
802
965
940
855
943
994
970
966
808
802
911
900
950
975
998
915
854
896
990
981
877
969
853
949
910
809
944
975
878
850
907
854
878
829
869
806
920
866
940
956
895
883
907
947
994
822
944
840
844
915
886
985
947
810
936
956
939
840
896
958
958
826
959
873
869
920
837
1000
802
936
984
811
805
938
813
963
833
870
936
800
833
979
819
843
888
910
895
811
921
828
983
869
850
896
852
861
933
871
954
969
929
844
902
832
942
885
999
926
964
876
860
817
859
970
913
909
833
806
854
935
895
858
843
848
931
912
973
858
810
899
802
946
975
990
922
874
960
989
835
970
849
892
967
1000
848
968
884
971
991
972
895
812
943
979
814
976
889
899
873
986
968
998
893
853
840
940
984
930
847
956
843
831
835
896
969
983
873
873
1000
842
952
938
970
860
916
964
864
889
916
817
939
850
910
916
984
921
927
842
843
962
963
989
915
855
847
867
930
963
867
848
818
984
897
853
803
815
898
978
963
895
937
801
998
833
971
902
842
880
882
971
976
819
863
944
891
806
819
862
898
938
956
917
840
809
927
917
854
857
913
920
816
876
929
888
990
968
924
929
839
837
876
915
847
860
964
948
805
887
809
992
825
838
844
937
979
848
950
895
857
806
971
833
987
845
898
826
832
851
919
800
914
829
801
867
893
801
919
976
993
825
894
985
829
815
916
821
900
980
893
861
881
915
865
938
876
993
991
834
848
847
992
974
884
843
853
888
801
878
994
975
850
805
1000
965
997
876
802
988
888
816
815
818
865
919
852
977
901
889
961
870
939
872
896
961
928
981
932
829
913
830
955
861
877
971
912
860
928
866
946
964
968
885
946
956
868
997
882
994
922
971
819
964
817
870
858
863
949
931
876
934
830
847
901
807
813
978
976
978
872
953
890
854
956
875
879
924
901
878
863
863
919
934
894
811
937
878
866
923
829
944
871
889
925
840
915
953
946
915
818
803
900
861
875
879
875
855
944
845
973
814
875
810
825
867
871
972
933
915
810
854
800
856
986
965
974
980
902
958
932
819
966
973
972
803
942
818
945
855
867
955
861
953
823
981
801
937
945
935
906
927
823
951
816
970
827
894
935
947
954
826
976
971
983
823
845
861
948
821
879
807
831
968
856
862
937
848
916
857
801
839
924
902
921
917
829
929
841
844
950
904
841
872
877
871
905
958
873
918
951
833
815
812
966
975
830
874
850
924
822
825
958
860
809
986
938
832
830
911
817
940
841
945
849
813
836
804
893
885
940
990
845
981
802
806
874
969
864
917
943
958
944
982
888
900
897
921
814
927
991
855
838
909
983
894
969
1000
824
991
883
988
842
801
814
823
919
861
965
802
970
967
805
881
843
883
952
944
878
885
879
853
807
955
992
987
867
840
992
813
867
907
959
959
964
924
940
868
843
981
901
819
958
894
858
851
865
913
964
869
818
855
835
912
916
948
823
902
996
927
970
973
840
810
863
959
827
944
979
900
964
877
808
968
853
882
859
932
854
942
911
829
955
823
889
875
845
809
907
913
811
821
867
945
925
930
987
953
956
901
894
967
938
904
809
893
915
877
806
877
991
883
814
880
820
980
985
914
839
901
839
872
914
841
975
807
932
853
950
911
910
856
854
842
989
958
907
966
933
915
823
805
870
993
938
828
901
902
877
928
931
913
973
902
856
911
973
831
881
836
954
996
924
828
935
886
849
943
994
920
999
994
805
967
836
871
989
887
915
964
868
968
973
872
815
937
981
869
961
957
803
811
981
900
826
861
942
984
950
850
918
844
1000
958
985
859
802
955
870
894
873
951
823
870
827
991
907
932
888
919
926
838
994
910
958
837
865
963
834
885
853
858
922
832
978
875
863
986
846
957
819
933
970
939
856
984
959
829
883
947
936
919
882
833
936
891
976
823
899
912
872
818
973
837
832
981
870
989
861
809
827
858
906
924
848
835
895
903
984
945
900
827
985
916
850
970
884
881
919
859
959
952
956
808
899
879
882
893
914
956
836
900
878
833
957
821
999
832
908
900
979
863
999
828
958
979
855
840
965
918
849
814
874
902
902
815
808
938
825
990
880
908
916
831
879
940
896
918
978
918
873
805
993
884
943
927
861
912
867
988
981
810
903
901
810
988
906
880
976
981
990
922
969
954
851
911
945
984
966
862
964
909
801
946
920
956
929
877
913
981
808
866
987
850
887
850
881
858
985
844
967
918
822
935
891
896
986
871
800
902
850
944
888
829
849
875
873
936
976
961
881
955
952
937
821
988
897
991
813
866
862
866
994
828
912
994
807
801
888
840
971
973
839
819
940
874
889
864
817
818
998
870
930
825
941
896
912
862
929
866
896
982
838
921
946
920
974
903
906
877
816
970
805
884
948
976
907
857
973
884
959
956
839
895
928
884
948
934
823
946
960
954
824
820
998
843
979
837
946
993
932
998
877
892
967
895
915
826
939
847
951
950
842
987
852
987
969
822
901
928
993
988
825
836
877
809
992
855
986
1000
899
994
808
999
823
843
957
843
918
840
894
945
824
951
801
961
838
982
839
853
955
815
807
982
921
965
849
860
828
984
975
939
815
932
864
812
904
910
807
845
812
865
855
988
970
800
868
929
980
996
867
839
973
805
907
972
894
820
804
934
978
969
879
921
980
917
898
875
897
938
804
901
832
923
838
954
838
968
936
967
930
878
806
859
812
858
994
842
958
878
892
869
974
904
868
911
981
837
1000
818
938
869
879
835
877
804
811
841
920
927
836
973
950
998
998
865
820
917
958
990
800
914
983
890
902
874
998
875
981
961
956
941
889
889
834
1000
903
888
963
992
949
845
909
895
806
874
930
940
916
850
857
976
919
911
916
879
870
922
812
977
904
941
969
865
807
806
886
946
895
801
876
945
860
830
894
985
908
994
973
839
805
899
980
876
890
918
965
844
917
862
877
854
926
866
855
865
895
840
887
977
955
814
801
840
841
821
916
832
907
982
847
933
874
831
840
942
822
895
917
938
807
828
874
905
840
935
860
886
902
984
921
966
962
818
840
842
843
888
939
871
839
999
934
987
808
807
918
969
842
821
875
965
809
909
819
888
882
910
1000
984
811
934
879
844
1000
941
925
864
871
975
960
969
831
943
813
939
847
996
835
983
811
835
963
806
970
924
892
835
823
896
915
856
828
999
999
967
864
948
858
870
843
953
929
886
841
932
838
919
916
952
912
915
931
991
958
830
904
938
900
842
919
861
964
942
949
909
944
887
876
925
894
920
938
861
960
928
871
942
850
809
837
955
875
962
973
837
885
958
997
863
940
905
832
866
919
914
983
819
896
822
931
904
895
845
990
917
905
903
911
966
813
952
820
941
940
983
851
978
828
874
921
848
950
938
865
893
952
892
959
960
833
919
906
913
962
975
985
904
984
828
952
887
805
992
841
862
939
915
868
941
901
844
801
863
911
844
956
892
924
996
984
973
868
854
843
874
947
977
809
986
971
1000
838
979
971
927
983
885
983
947
853
936
894
874
960
908
835
916
990
807
816
917
876
859
931
953
907
874
947
955
993
950
936
895
935
850
825
832
874
907
965
955
876
971
877
924
851
828
858
883
977
988
815
988
967
851
960
927
952
933
815
875
997
816
895
855
977
834
886
901
851
923
947
982
899
850
930
815
981
803
963
887
839
923
837
909
967
898
978
987
923
844
968
983
907
940
962
941
941
920
840
951
947
960
987
849
954
846
872
849
913
985
806
820
919
803
856
832
999
979
941
819
966
968
946
895
977
816
916
913
805
966
843
899
808
851
950
908
866
883
927
858
859
859
888
874
841
925
922
854
899
979
963
945
863
989
834
999
858
939
811
804
873
820
861
867
857
891
917
959
949
908
933
924
961
820
812
806
803
953
885
953
991
840
956
943
845
976
830
917
896
855
864
847
876
970
933
928
909
870
817
923
832
925
941
927
898
858
943
826
816
881
805
845
965
928
819
992
907
969
862
828
907
828
870
905
912
938
887
902
998
845
860
932
884
855
907
963
996
953
954
935
871
912
876
939
887
873
925
992
916
856
873
809
919
892
901
801
852
869
921
948
801
991
846
817
905
917
817
847
803
994
921
945
907
817
823
894
822
872
847
997
919
879
890
876
848
815
993
959
873
962
984
933
876
929
822
866
956
889
817
925
826
998
916
950
860
926
872
943
863
974
864
933
838
983
967
999
837
961
905
883
876
985
878
865
845
853
822
928
875
928
915
868
874
910
979
972
811
951
893
861
950
869
930
869
924
991
811
869
877
898
914
855
920
991
911
857
890
865
894
836
878
930
844
896
815
898
902
814
859
976
964
894
979
965
823
981
991
826
831
992
945
919
891
976
940
819
917
835
800
814
914
835
981
847
951
970
800
877
894
888
995
845
807
846
958
810
879
907
904
959
872
971
969
949
909
852
993
996
825
937
875
804
842
973
864
991
882
801
836
982
1000
944
808
911
998
917
902
920
878
966
917
846
817
876
918
814
978
959
872
810
852
818
929
841
912
937
977
843
907
806
880
816
847
980
842
824
942
846
968
980
984
900
896
898
982
857
815
807
821
975
856
803
837
830
956
804
861
919
801
961
891
911
990
959
962
951
873
846
883
818
942
861
984
830
840
993
820
926
820
805
921
945
935
880
959
913
1000
964
946
873
880
878
996
849
991
987
952
959
894
845
974
817
903
976
824
852
960
862
978
801
939
986
805
831
952
880
885
959
969
963
945
988
897
907
881
973
841
802
952
945
927
866
821
988
998
963
852
926
828
873
805
815
907
900
960
824
888
970
808
942
872
850
804
820
915
938
892
846
980
892
857
954
931
937
911
856
837
999
849
918
805
940
864
876
948
888
978
997
961
996
869
921
840
827
913
834
880
884
940
853
911
978
948
859
895
994
993
853
962
865
828
831
881
824
899
954
899
907
930
875
808
964
854
903
975
992
973
848
975
928
872
942
818
998
811
910
875
850
994
993
916
950
964
842
936
866
954
862
973
943
933
948
942
928
846
829
929
952
902
844
929
860
936
884
983
841
910
931
864
875
905
958
898
958
989
973
829
806
943
824
972
895
929
837
881
845
837
831
860
988
878
984
999
826
825
965
960
954
834
851
808
874
891
842
927
992
878
972
848
890
929
974
905
993
919
969
966
901
896
901
880
977
821
883
843
854
830
836
974
899
863
938
853
973
810
844
919
867
997
873
889
806
853
945
848
973
955
894
892
851
953
879
813
917
954
894
811
801
814
967
867
889
855
854
942
857
929
923
894
870
978
925
998
861
913
848
902
955
883
868
875
974
936
917
800
919
819
904
944
880
947
939
816
928
993
917
891
920
979
901
885
866
824
844
940
845
902
833
809
870
851
873
993
999
877
850
927
996
910
928
869
994
860
992
804
864
963
940
863
800
816
835
829
851
842
928
831
873
949
993
902
886
867
905
849
841
913
943
981
818
813
926
826
964
963
975
853
861
894
922
971
995
882
976
913
991
885
957
953
967
856
839
971
942
867
802
924
816
962
852
938
918
868
818
875
959
933
837
830
983
918
969
982
852
993
903
897
918
990
903
973
922
999
895
906
868
881
933
985
803
844
909
940
957
981
967
882
865
907
830
894
934
947
862
999
897
800
896
947
963
874
867
844
814
825
886
865
930
875
884
948
994
982
913
878
897
861
955
851
869
958
946
821
926
926
858
894
878
932
979
992
884
823
933
928
930
853
953
964
947
823
849
838
942
832
956
886
933
813
992
825
915
968
813
882
894
943
993
820
948
885
904
941
890
984
952
929
844
984
876
838
986
810
878
902
992
858
951
935
976
946
959
880
886
932
996
938
989
925
855
966
878
865
909
878
964
900
931
903
925
999
855
985
889
925
914
828
864
934
943
829
950
937
877
993
963
870
828
833
972
882
974
801
842
978
807
908
968
966
814
945
883
939
912
915
811
966
951
958
864
882
920
873
993
921
877
853
940
906
964
820
883
838
823
812
885
907
963
891
811
953
819
829
941
853
887
899
905
952
827
858
803
948
966
966
917
883
882
946
989
962
815
874
864
873
988
873
819
904
988
974
895
968
899
888
909
929
924
915
957
846
936
841
842
806
956
878
871
816
840
881
868
822
995
835
904
983
896
958
905
806
826
956
967
982
880
852
822
808
887
989
875
921
821
939
890
807
942
815
916
942
884
940
828
961
807
801
935
960
970
991
847
823
972
904
905
829
865
910
989
919
916
942
830
947
899
822
985
901
841
948
855
892
824
972
825
828
937
890
959
845
937
842
888
948
803
809
815
801
961
840
948
894
874
979
945
924
910
987
875
948
952
833
824
806
829
906
812
817
940
852
819
894
905
902
812
938
921
832
805
887
978
872
883
968
819
931
980
933
935
965
833
867
831
859
879
893
987
866
851
835
883
959
804
968
914
855
849
973
836
995
815
912
895
898
860
995
882
942
832
975
810
824
974
869
847
975
805
996
946
896
958
839
934
885
898
985
932
834
932
873
976
910
936
842
959
826
957
854
810
808
873
888
851
932
992
968
843
891
925
931
903
940
848
803
940
971
905
850
941
972
810
911
931
810
829
867
935
840
917
831
815
863
844
954
866
952
820
931
874
976
962
881
860
987
936
927
929
826
983
950
914
884
919
965
868
913
935
950
852
840
859
818
995
865
801
822
888
916
803
916
807
961
815
860
825
864
824
834
886
862
943
913
927
851
997
876
950
828
876
918
899
941
998
861
852
973
860
831
892
822
832
941
800
897
895
980
992
950
996
869
945
973
959
941
969
928
866
955
894
964
964
909
954
953
966
912
896
838
943
846
985
817
854
983
930
823
802
987
850
982
952
924
968
986
948
916
884
856
955
870
866
918
889
963
928
978
920
983
826
980
874
839
875
988
941
820
963
829
986
908
995
985
898
862
938
817
900
864
862
846
939
909
997
816
959
819
892
926
925
961
914
966
984
999
917
800
881
907
818
834
930
968
846
895
831
933
987
993
991
951
910
826
871
905
882
989
989
961
855
803
879
911
860
886
849
814
890
851
982
875
824
962
931
1000
925
907
917
876
984
976
986
833
968
899
984
992
868
847
975
957
988
871
926
848
894
838
907
851
843
851
944
929
920
974
849
892
897
913
823
965
965
915
982
841
869
818
971
829
908
992
922
858
842
872
993
853
914
895
941
950
830
934
846
927
944
909
996
982
809
963
898
995
868
886
937
821
832
877
999
801
857
872
910
848
866
883
877
846
904
981
946
861
812
848
859
831
926
879
854
964
858
819
993
958
811
970
938
851
949
807
956
831
998
933
858
828
871
981
806
962
850
844
923
963
947
959
853
967
808
911
827
819
835
990
987
964
933
911
962
977
808
905
962
975
892
909
831
873
984
836
994
926
932
829
890
898
991
851
902
940
880
953
827
800
821
942
912
944
861
871
913
963
967
901
979
886
964
902
999
969
957
971
816
839
909
845
984
917
800
887
923
811
828
831
832
973
997
902
964
853
851
960
967
810
850
917
928
896
868
866
820
917
915
842
949
915
939
884
866
872
990
802
861
840
960
965
995
840
848
893
979
861
964
807
834
909
801
967
961
981
833
965
903
821
960
944
804
961
939
889
883
820
932
827
969
975
993
980
812
907
906
937
840
981
845
872
878
883
817
836
884
926
842
890
974
994
807
827
993
879
926
869
972
886
821
882
865
960
960
883
999
872
809
970
898
938
952
828
909
830
923
868
936
944
935
910
823
943
931
843
831
954
852
861
868
972
985
901
904
853
891
891
870
977
968
956
594
633
607
525
514
594
519
672
584
598
669
571
627
695
559
674
658
670
601
574
689
699
535
515
552
699
508
529
516
541
615
526
585
503
647
638
633
502
622
547
591
585
519
651
696
645
539
696
647
688
673
608
527
601
673
655
675
546
619
619
516
666
563
695
579
526
657
587
651
573
669
614
658
614
507
558
593
525
602
585
570
560
530
628
552
617
655
583
559
625
524
569
673
510
695
520
549
633
649
592
660
666
556
611
630
546
691
680
600
616
639
607
678
526
647
584
633
673
542
593
509
656
540
563
646
662
543
583
560
551
513
550
596
600
547
565
657
501
608
534
685
597
669
561
680
562
633
694
604
530
635
622
568
600
555
502
632
551
533
612
529
682
576
557
536
523
591
695
632
591
531
681
647
518
594
517
513
642
530
597
658
655
648
519
535
553
676
685
683
656
500
527
584
520
549
635
556
523
565
665
593
600
521
558
623
613
647
644
564
625
627
580
519
654
679
538
700
635
647
634
600
698
513
637
511
682
507
532
612
561
575
651
508
682
560
632
523
512
686
516
634
637
603
537
602
600
537
680
632
675
665
594
529
559
512
681
649
625
612
677
641
521
624
555
568
544
598
668
695
596
683
562
516
574
589
592
588
624
671
626
539
538
549
621
582
547
542
623
609
673
562
600
577
632
640
673
513
663
519
521
554
601
663
593
627
614
510
564
608
694
543
668
572
544
516
695
557
531
506
587
606
639
536
671
639
531
676
619
523
678
668
555
548
664
628
519
686
695
593
692
679
564
564
615
548
633
666
571
632
523
521
651
615
541
617
597
535
575
612
503
542
615
554
510
648
576
542
653
598
545
504
699
693
559
628
664
682
516
558
510
665
530
583
570
573
581
558
534
642
588
639
516
654
595
566
664
649
517
697
695
548
592
507
674
526
526
633
584
676
682
515
597
662
506
638
671
623
559
677
615
644
592
638
512
555
620
655
597
566
649
530
604
688
512
648
583
686
626
587
622
667
532
607
526
697
520
665
525
653
648
697
530
594
641
639
500
629
588
635
588
595
695
541
661
583
612
605
655
579
586
525
526
589
625
508
690
563
677
613
581
609
502
562
643
506
680
579
636
608
642
654
615
697
676
648
552
510
554
679
646
530
503
518
625
692
644
700
582
667
650
600
688
525
694
552
543
543
561
544
626
589
503
578
593
559
584
586
658
611
564
536
673
556
651
645
691
565
580
531
698
649
521
515
521
619
512
667
539
696
684
656
675
646
520
545
670
642
509
569
508
645
528
593
585
550
678
700
699
531
590
635
597
657
634
635
504
645
596
614
588
561
533
685
643
638
519
636
695
628
604
621
638
648
522
562
597
671
531
629
575
641
560
547
624
543
546
636
680
627
638
616
611
666
609
569
507
661
669
611
658
622
553
678
562
695
688
581
612
530
559
531
541
529
600
681
637
664
503
538
521
698
560
573
507
576
692
662
580
609
682
565
549
506
685
563
508
514
628
506
656
660
681
604
641
584
594
508
585
699
510
676
659
654
675
591
546
602
598
621
670
561
647
507
635
537
532
581
561
659
615
587
604
653
601
644
518
620
538
641
609
674
670
603
631
681
652
664
652
561
532
688
610
540
595
640
660
597
581
681
509
672
657
610
620
588
536
645
530
668
520
676
629
565
569
644
605
693
531
523
625
560
567
606
687
650
536
625
556
645
579
640
513
666
625
571
578
649
679
509
510
513
639
533
509
638
544
549
683
636
538
650
559
697
680
679
566
516
691
503
593
522
626
523
628
502
500
560
608
600
682
544
507
563
581
513
617
679
676
672
505
659
644
589
532
584
556
515
680
524
686
543
671
598
675
556
536
618
624
640
669
519
629
676
685
645
675
640
692
512
525
540
511
649
685
687
655
535
566
513
520
559
546
645
558
576
514
673
545
517
511
570
694
645
520
552
547
594
545
681
573
556
650
641
589
536
616
526
686
629
642
695
625
629
660
620
633
594
511
580
639
601
534
588
621
509
653
610
671
528
661
604
638
516
599
668
523
611
578
538
558
682
681
554
583
651
622
633
550
579
539
651
640
518
506
529
685
610
658
627
506
500
525
650
637
610
608
665
648
655
607
660
524
599
561
678
630
524
612
519
578
544
510
573
695
602
534
553
550
599
584
598
551
538
557
654
651
697
651
594
688
593
647
562
655
638
520
626
508
504
657
658
503
699
647
689
647
677
635
514
557
668
648
539
686
620
571
625
688
668
657
643
511
511
652
539
614
545
603
522
674
622
609
623
656
594
656
534
695
648
655
580
656
554
514
616
670
636
592
530
656
607
533
659
560
532
505
500
683
659
564
618
663
601
680
543
557
532
644
567
589
520
561
608
505
684
656
502
570
526
520
582
675
608
646
622
700
668
571
589
612
531
655
510
656
625
523
640
630
514
588
547
655
545
590
502
507
545
638
509
541
520
539
632
512
552
560
597
546
628
656
641
626
520
651
535
555
544
684
617
639
650
533
608
665
538
607
641
558
639
580
552
579
636
511
619
611
660
688
572
516
554
613
575
648
603
517
563
608
688
591
537
588
654
666
677
532
693
577
630
685
673
651
632
687
589
670
619
541
640
599
673
695
508
552
630
678
601
623
523
687
669
512
695
553
656
699
586
601
645
656
681
648
615
582
652
518
619
558
612
536
665
534
571
627
639
595
625
605
582
680
571
574
634
671
526
616
700
585
587
514
549
527
558
533
558
669
656
620
558
602
683
666
599
637
567
642
650
580
514
558
524
687
549
602
517
552
623
687
604
655
651
621
502
523
552
502
687
588
599
559
532
690
548
632
546
676
560
534
502
516
523
537
559
504
629
543
635
682
520
631
657
611
672
613
570
530
580
688
647
506
686
502
649
526
623
659
506
650
644
630
665
643
577
600
667
527
547
611
530
548
695
627
683
665
611
613
619
687
601
594
584
650
649
522
612
602
504
605
598
584
700
619
640
525
556
621
660
583
636
605
662
640
542
533
586
624
541
672
550
663
667
648
573
517
688
612
685
534
546
662
634
643
558
520
551
669
649
698
520
592
627
622
695
677
562
690
562
516
631
629
642
528
684
700
516
560
651
624
520
620
653
535
579
595
651
602
555
508
678
642
568
544
666
609
634
513
661
567
652
577
529
536
684
663
660
523
690
696
633
518
699
666
566
557
647
697
544
694
604
673
626
512
533
585
594
684
657
628
576
613
698
610
591
634
678
592
564
526
500
694
500
636
668
626
517
682
579
575
558
655
589
679
535
581
615
579
690
642
592
639
521
691
592
670
554
643
632
621
573
593
602
696
502
525
507
517
574
659
675
578
509
635
689
587
504
697
594
571
530
592
647
555
532
661
598
663
506
666
667
599
675
601
611
653
645
557
640
545
652
550
639
522
552
635
691
645
659
521
576
633
513
566
580
652
505
513
639
576
502
504
512
625
562
619
631
606
504
677
651
556
670
563
589
615
637
608
675
646
573
628
693
600
695
664
571
635
627
688
616
620
618
672
674
582
538
569
589
626
610
502
585
648
574
631
683
516
611
525
615
572
560
610
684
651
585
671
639
626
541
595
509
595
665
531
538
673
501
682
518
595
603
568
680
558
603
664
646
632
604
670
541
546
669
655
637
629
524
511
607
591
576
674
587
533
531
639
641
626
551
606
611
609
583
699
525
564
568
692
574
691
687
543
526
575
545
536
655
594
602
681
511
581
634
556
558
505
590
543
631
600
623
570
611
510
662
633
673
602
682
527
539
601
569
662
530
554
651
659
534
678
510
545
517
679
657
662
586
501
532
653
647
623
536
542
528
593
516
689
614
608
594
632
619
657
689
555
567
557
645
626
624
513
643
589
565
697
554
601
589
536
506
606
588
614
577
590
598
646
548
522
657
523
534
633
671
650
612
507
579
689
527
569
536
525
678
624
581
684
698
613
653
620
656
608
643
645
647
600
657
659
635
666
572
618
509
658
592
500
641
607
688
675
597
690
696
586
503
539
521
590
588
604
532
553
592
626
569
542
693
532
615
621
649
523
642
688
599
672
573
687
586
676
548
661
556
658
690
585
632
526
523
580
636
677
568
545
621
589
533
568
646
596
593
686
508
596
623
556
564
614
573
637
688
620
535
553
551
640
605
669
651
580
699
562
508
507
584
549
617
611
690
648
558
604
659
571
651
511
566
669
507
512
607
635
697
603
526
621
696
625
512
534
566
585
672
659
545
615
654
574
579
557
583
573
534
600
529
628
691
575
549
522
591
526
645
575
621
642
567
578
682
672
644
658
585
676
621
598
696
631
654
608
652
538
681
503
665
670
566
650
687
638
511
699
699
578
516
536
623
629
539
684
628
666
668
508
633
527
513
553
563
500
577
529
572
502
631
695
655
513
642
645
564
683
508
682
572
512
599
602
622
619
660
531
612
648
647
665
669
581
687
587
681
548
685
570
679
592
656
624
507
512
500
597
634
519
618
623
680
636
590
506
517
700
675
645
590
641
660
556
626
636
680
650
539
667
622
666
653
662
615
541
599
654
686
599
609
659
561
600
512
598
517
571
503
523
543
561
654
608
693
555
661
534
553
545
547
519
623
517
669
655
501
620
654
597
561
665
585
640
627
616
511
643
595
664
509
625
515
630
520
608
593
660
674
665
673
536
645
625
572
581
523
591
665
530
578
655
554
669
614
687
664
547
576
654
552
659
630
647
695
695
508
529
511
501
576
653
623
567
647
542
561
570
527
517
666
611
673
656
642
510
629
568
521
522
549
569
567
561
527
553
595
590
510
571
535
517
700
622
627
634
643
648
603
693
629
661
651
624
664
581
501
565
523
639
516
561
586
691
574
683
635
605
590
676
681
505
517
537
642
597
559
670
575
510
688
543
693
603
620
696
622
679
663
549
537
585
690
692
650
515
617
587
674
662
602
574
632
537
602
534
695
667
613
676
572
556
544
530
567
503
501
592
582
650
623
673
530
592
538
522
686
561
534
581
566
557
575
661
500
539
588
542
578
700
600
666
614
637
600
516
503
646
529
541
509
620
509
618
677
528
547
543
636
507
692
677
676
650
556
600
662
642
546
533
594
613
518
510
695
680
695
635
663
579
627
575
623
521
557
692
641
595
688
541
614
587
638
553
633
637
645
528
666
644
619
673
587
598
542
592
629
593
683
620
627
589
686
632
553
670
686
557
522
592
669
632
532
595
612
585
589
505
700
647
530
679
521
671
628
549
534
509
600
665
556
572
548
555
560
618
615
647
691
548
542
554
657
663
689
590
678
518
615
592
632
598
594
506
533
617
603
541
533
597
692
603
595
678
650
695
653
683
663
581
679
500
636
546
590
683
653
517
557
522
514
527
538
610
631
601
590
517
527
673
655
639
580
516
584
513
615
694
562
660
660
631
630
620
644
685
676
629
511
531
585
529
642
693
519
669
631
621
508
554
659
699
679
549
550
555
570
615
682
614
577
611
581
515
588
575
610
564
616
634
512
528
623
505
581
509
505
612
683
627
615
556
643
632
542
649
615
528
684
570
519
603
681
694
680
656
538
616
573
665
577
651
524
680
689
505
529
646
501
607
630
576
511
534
557
635
565
503
523
679
534
631
668
568
653
527
688
600
512
573
523
663
640
644
689
585
639
515
541
595
590
585
519
565
544
584
682
632
548
667
663
545
540
600
504
555
681
685
578
520
579
528
641
665
526
501
587
671
585
623
579
631
617
617
587
505
601
557
619
653
636
628
601
525
677
633
673
698
513
632
515
543
508
675
507
508
631
664
656
652
645
675
524
533
669
554
628
694
672
636
648
508
608
562
623
576
547
568
639
661
584
696
663
591
577
689
656
677
662
518
562
648
632
519
642
687
692
601
547
608
685
686
625
540
690
596
509
569
592
525
514
568
569
626
681
670
700
593
525
581
584
567
628
510
636
681
658
555
503
649
510
510
654
662
656
504
634
516
556
526
552
524
507
560
518
535
580
661
689
590
670
563
645
659
617
652
637
564
591
672
643
551
564
672
500
544
635
533
583
694
539
567
581
525
625
695
520
589
520
661
658
525
566
656
576
594
614
589
562
504
698
562
559
659
503
594
591
672
595
620
535
558
619
637
511
695
525
625
537
513
562
676
587
675
522
520
534
587
579
633
524
586
563
579
547
540
623
568
699
505
617
594
555
582
636
687
614
682
508
520
678
564
553
661
542
568
545
591
686
512
684
650
652
555
670
571
671
668
505
672
521
545
667
513
638
564
555
643
515
530
508
671
590
557
688
521
656
679
650
697
555
603
519
617
557
514
603
516
571
636
687
652
542
573
630
596
657
528
648
682
607
652
625
518
643
558
589
548
604
649
528
684
585
532
552
544
537
649
582
681
683
594
626
554
677
698
628
624
675
567
664
684
616
573
507
539
569
642
507
575
653
590
513
578
599
700
533
543
671
538
683
551
664
566
639
578
572
681
581
578
591
699
649
700
611
605
629
645
607
653
561
665
700
613
654
586
684
644
518
569
595
599
637
641
598
636
641
585
699
610
500
504
638
527
559
693
524
584
555
533
605
536
675
666
678
576
581
640
620
522
640
552
623
569
570
614
610
509
652
580
679
657
634
555
675
610
608
692
510
578
620
512
660
528
518
557
667
629
632
684
585
507
576
500
603
563
515
541
640
597
663
648
521
578
587
613
586
573
663
578
517
528
576
520
584
557
545
500
607
613
678
500
605
599
595
549
503
626
672
668
599
583
561
559
539
551
642
543
558
698
633
678
643
594
514
673
503
554
527
639
621
656
594
686
516
663
576
679
506
604
624
613
674
554
672
586
668
563
662
623
577
643
698
686
508
633
659
599
677
636
690
551
692
634
596
600
650
676
616
624
559
620
679
687
659
562
504
587
571
671
634
550
602
595
576
545
518
696
620
513
597
685
640
602
550
668
562
531
505
700
560
561
698
562
545
585
697
605
662
593
650
667
607
537
652
650
544
564
630
696
638
523
674
602
660
502
566
692
621
681
603
617
618
631
525
670
683
550
591
641
569
523
587
629
614
625
576
625
690
535
613
543
624
568
541
671
673
504
539
550
580
553
583
538
503
636
506
645
608
662
632
665
697
501
691
557
529
679
634
553
512
591
524
614
644
647
592
525
682
669
516
626
513
585
619
623
562
635
576
559
649
546
583
523
611
594
678
509
579
669
511
654
663
611
567
521
651
631
544
538
695
559
689
696
551
560
541
525
571
699
506
625
522
509
693
536
628
600
554
516
623
574
544
642
528
668
560
576
610
617
634
620
700
513
569
654
612
670
670
601
671
621
539
623
655
542
619
566
628
627
542
643
543
565
575
608
556
526
602
557
576
700
538
672
588
541
510
629
549
671
656
541
682
640
682
596
521
553
509
635
632
699
691
594
556
619
577
687
678
575
643
560
599
600
571
565
634
643
637
511
639
573
631
559
645
562
662
588
587
564
667
590
645
610
541
543
679
664
599
552
558
617
593
558
604
662
565
665
508
609
529
626
529
628
520
518
645
649
652
556
664
592
660
577
699
666
637
579
617
596
586
647
613
639
552
699
532
549
526
534
658
597
573
666
580
502
515
653
660
653
500
578
510
689
617
699
619
606
562
659
615
535
572
584
644
694
662
653
509
510
622
582
566
531
599
614
564
554
647
677
548
624
622
634
559
569
571
688
642
576
543
632
569
500
687
694
630
608
637
557
687
549
684
539
580
674
598
588
515
632
682
649
505
605
667
680
636
548
536
665
551
528
634
683
505
628
599
684
607
654
672
503
690
661
565
583
669
533
677
566
530
689
618
565
615
653
529
644
595
510
582
509
669
618
546
675
625
545
617
648
645
648
520
572
658
619
545
636
695
591
632
686
620
513
648
555
507
553
692
523
662
649
641
572
663
682
524
529
654
552
522
585
501
558
650
621
582
687
690
661
673
654
669
675
666
575
670
569
625
500
614
544
631
574
566
687
611
614
517
550
523
506
566
524
595
646
573
604
682
573
513
640
588
634
640
653
675
595
522
606
643
579
596
677
624
653
670
532
532
668
585
676
599
510
548
653
538
613
505
605
539
564
602
690
602
660
627
574
638
565
667
634
539
609
547
664
606
561
514
549
570
660
667
590
583
652
508
698
646
529
693
700
514
551
579
511
616
501
643
526
690
560
540
511
631
540
524
651
557
618
531
547
549
598
666
554
574
602
646
573
605
520
623
532
621
530
526
687
627
683
672
584
621
636
656
592
599
613
524
534
558
538
542
519
676
616
511
647
552
667
505
568
562
640
601
670
583
606
671
546
686
615
589
661
540
573
573
627
634
515
598
561
521
506
559
599
672
572
685
624
513
587
699
659
639
538
512
620
500
556
654
589
652
608
612
563
642
666
623
611
625
563
618
591
552
629
693
524
599
518
558
590
584
653
572
552
593
580
699
580
546
658
675
630
653
601
685
509
667
691
692
673
513
666
520
665
639
651
527
643
510
570
619
589
684
660
529
515
672
503
572
544
626
628
568
689
676
582
590
526
629
531
566
651
641
521
545
686
578
606
513
525
545
653
544
506
618
632
697
529
614
568
690
651
512
509
505
609
583
520
546
526
580
531
693
626
613
651
654
551
641
582
580
519
559
654
658
589
520
637
580
624
580
567
617
624
549
693
578
631
502
583
533
668
536
655
581
531
553
504
697
556
555
660
597
659
538
587
647
676
675
565
632
652
692
603
558
621
677
619
502
622
679
674
554
573
695
516
593
621
685
613
502
692
638
628
679
521
601
681
556
500
632
558
652
627
547
544
515
665
569
519
614
679
673
700
671
556
517
626
558
668
691
655
577
616
599
668
624
636
634
515
545
600
665
639
546
566
699
594
518
628
665
543
676
537
656
510
677
641
605
608
633
615
649
524
514
616
536
512
550
584
568
687
517
698
663
551
518
586
647
625
539
617
533
517
632
588
555
674
656
690
573
526
539
613
561
663
565
652
505
531
624
660
536
521
560
643
610
504
683
653
503
552
519
643
547
643
522
616
648
607
656
686
690
631
590
508
597
691
535
684
531
629
613
672
671
571
523
527
566
558
540
697
526
546
633
650
550
572
641
640
601
661
565
557
550
522
546
665
574
505
623
684
644
578
505
501
532
650
590
596
672
586
639
669
561
548
666
576
559
687
656
574
565
551
550
523
520
533
661
689
521
625
691
532
605
616
548
649
683
505
641
600
552
668
598
670
563
678
532
680
525
538
529
543
508
644
543
519
664
520
660
588
665
652
630
642
562
671
639
593
535
537
520
688
503
502
554
613
675
678
651
690
582
693
693
568
614
542
695
594
687
530
700
531
600
579
662
528
690
602
599
690
544
543
581
535
528
621
637
671
529
670
660
570
694
700
568
549
655
568
571
698
574
630
519
694
541
571
523
549
658
680
652
526
639
512
541
621
501
599
607
596
667
688
598
572
593
555
506
584
637
656
524
629
681
650
570
607
546
536
643
539
643
562
673
520
575
550
570
680
675
676
674
526
568
667
571
536
527
641
612
621
582
532
547
630
629
596
634
688
636
516
554
521
507
625
598
521
644
602
579
564
579
536
630
675
509
622
626
533
577
506
539
597
508
615
508
589
597
587
619
568
621
574
645
658
632
684
609
611
699
547
695
628
661
628
513
539
582
577
622
516
601
529
624
673
610
645
521
638
571
638
602
521
529
604
549
529
509
669
675
502
682
506
640
611
601
654
636
504
576
577
509
601
593
624
684
536
542
683
542
510
590
634
595
627
503
630
571
651
691
546
511
637
630
560
643
611
641
652
636
617
641
612
643
657
669
514
507
518
644
594
502
548
601
652
700
572
628
576
699
620
645
583
511
536
567
681
561
596
525
688
655
595
547
616
618
586
512
564
667
668
669
654
613
662
604
511
696
563
636
635
654
506
523
568
686
697
532
534
623
550
554
549
634
615
639
682
629
504
505
578
504
586
557
528
620
691
612
632
672
613
654
654
689
506
590
570
570
690
599
533
639
576
560
598
584
585
529
547
508
563
515
698
605
635
566
578
515
521
552
617
672
534
563
561
500
508
539
557
551
602
623
668
584
666
536
515
576
590
580
555
537
518
610
668
648
589
685
649
555
700
577
544
500
567
555
621
561
513
552
598
554
689
583
534
649
629
690
670
553
579
642
521
583
654
547
662
571
568
612
524
639
507
670
634
539
504
652
626
657
614
682
681
603
665
653
545
607
602
600
665
671
619
612
588
608
688
622
668
691
616
673
567
632
679
557
569
619
510
672
562
583
539
564
604
584
551
564
536
548
653
603
666
547
693
562
682
660
685
647
528
617
552
590
524
513
579
572
503
509
530
661
616
524
695
582
697
595
617
596
698
547
518
573
563
500
671
631
603
633
513
595
502
630
627
548
623
564
629
517
658
503
593
566
660
618
579
587
552
634
574
567
662
525
542
690
698
594
616
685
681
503
597
522
678
511
552
665
523
619
589
531
663
682
562
629
616
555
591
573
644
632
622
696
662
657
640
647
535
616
610
993
999
859
896
896
862
870
999
916
926
890
957
894
865
820
816
861
825
963
878
959
826
887
809
945
871
815
947
855
969
931
840
813
974
925
908
940
1000
963
867
985
806
816
809
992
846
860
875
907
941
834
913
801
974
915
934
810
899
913
943
876
893
939
858
826
836
955
900
885
833
900
857
949
827
895
851
828
812
901
822
807
808
904
828
830
851
865
818
846
911
958
955
855
801
856
983
857
826
886
814
897
963
962
838
926
830
991
959
967
948
917
909
819
878
972
970
903
904
946
901
946
995
990
892
874
999
821
896
976
836
816
810
910
813
869
917
882
808
887
955
912
974
846
873
817
837
906
801
859
832
860
860
871
893
932
802
844
957
984
833
874
942
831
856
946
993
877
897
896
950
945
980
995
969
949
907
963
841
859
979
866
962
891
891
947
813
909
970
952
979
862
974
901
823
934
886
959
930
877
837
856
984
892
823
910
881
902
825
891
976
894
990
940
968
840
838
903
901
994
988
869
819
900
887
883
900
862
884
828
838
868
804
982
932
876
900
886
865
946
944
896
816
971
947
991
878
971
996
841
892
901
946
914
845
843
802
948
947
963
982
824
813
881
879
819
916
865
888
908
967
818
902
875
870
943
886
889
978
890
851
954
819
873
924
911
997
950
890
934
930
801
984
819
951
921
855
966
877
810
804
962
975
985
800
832
801
960
882
857
890
989
820
925
906
897
905
813
890
882
918
857
978
932
852
925
903
970
844
871
941
894
1000
897
876
903
841
837
908
831
913
933
916
826
909
820
962
973
908
927
879
928
816
955
965
992
830
978
952
951
922
906
902
848
938
806
929
954
868
842
915
995
833
851
850
919
812
863
959
858
870
878
998
1000
971
893
930
968
815
991
872
802
879
922
904
861
887
965
937
827
969
905
933
901
866
808
945
876
914
856
868
819
809
957
816
924
818
902
813
837
869
914
910
821
967
919
936
901
863
896
836
895
976
974
871
998
985
939
962
878
845
984
927
806
989
942
981
895
979
923
979
923
935
906
906
958
842
857
921
925
919
946
994
941
927
819
924
931
822
873
968
919
811
857
809
985
907
896
858
832
934
879
893
927
940
864
829
979
965
830
930
807
988
930
917
954
877
937
812
1000
872
961
919
883
974
847
880
985
940
953
923
890
993
818
954
926
955
970
854
994
833
923
935
808
834
991
860
959
968
947
838
923
907
878
834
935
893
857
956
917
906
923
850
928
807
817
820
954
933
934
904
889
835
890
979
953
946
928
914
840
900
850
809
910
955
990
863
994
941
928
947
859
843
985
988
833
822
816
990
886
860
867
882
925
881
966
899
855
989
892
873
907
909
905
915
900
927
807
845
824
813
989
907
888
800
847
999
951
926
967
926
861
891
946
977
998
846
893
905
805
801
893
801
958
805
993
874
996
908
996
951
908
862
996
960
802
940
907
882
816
929
995
939
814
986
851
996
807
904
839
916
946
906
930
918
926
852
955
942
819
860
975
980
983
980
902
837
842
810
814
849
800
909
848
817
888
987
856
824
948
918
922
904
812
854
832
821
989
966
878
828
971
870
876
982
966
907
876
949
980
878
833
846
801
972
900
849
809
948
889
923
891
920
926
990
971
844
821
860
943
860
998
833
895
819
937
984
940
838
852
901
973
826
975
921
850
926
977
815
890
953
834
840
959
849
939
903
908
818
890
867
849
850
940
892
806
803
852
995
825
902
815
857
843
867
811
990
816
931
804
852
999
885
822
913
928
929
965
891
826
830
840
948
901
806
894
826
982
813
816
813
816
887
892
998
951
817
817
955
870
959
833
999
807
984
949
839
922
952
958
938
940
803
950
841
849
922
921
979
894
922
820
969
847
845
855
814
903
991
994
955
856
828
915
911
800
808
935
887
847
904
945
938
969
997
843
869
859
924
987
830
878
882
988
852
834
993
838
909
966
952
963
983
910
994
965
960
865
989
820
872
955
848
860
929
1000
816
940
971
822
801
885
810
878
877
871
943
938
881
874
975
948
984
858
931
849
921
889
891
943
923
940
970
997
995
815
829
976
838
861
872
998
927
888
896
834
890
979
828
949
974
935
987
840
826
871
900
848
909
831
927
915
921
940
802
918
982
838
883
820
821
959
935
859
842
884
889
947
812
920
899
808
838
894
866
984
819
801
889
839
801
883
980
995
948
823
961
986
843
949
857
878
932
856
902
832
941
887
895
978
933
930
909
885
945
893
911
839
969
911
800
852
840
978
895
906
855
940
845
1000
939
945
852
889
863
809
858
915
915
944
978
987
867
802
949
898
832
938
850
934
966
984
874
924
915
889
827
865
966
902
841
951
816
827
963
898
812
983
899
955
945
908
861
848
905
818
841
892
824
836
809
859
888
991
833
801
950
962
923
908
942
992
971
855
987
999
851
969
803
995
810
865
858
859
907
802
960
823
894
856
824
817
953
851
944
848
915
862
834
802
900
960
818
897
824
831
940
983
870
905
818
922
957
924
978
891
946
996
983
847
871
907
801
958
987
917
850
801
859
976
956
897
986
954
959
847
817
864
865
820
898
927
870
831
827
837
841
847
978
945
923
880
939
893
905
917
994
995
858
838
937
988
903
892
992
899
877
865
980
953
962
952
975
883
942
868
895
922
806
975
881
894
964
991
911
934
873
895
818
810
808
828
930
845
886
905
801
837
838
867
869
949
905
960
903
990
914
970
885
900
884
922
888
852
849
893
825
980
873
999
942
917
935
997
852
939
832
989
950
956
869
995
916
830
961
850
845
802
802
885
845
975
853
957
916
862
881
809
979
935
933
865
956
885
1000
817
825
839
832
835
859
882
850
985
843
806
994
902
986
850
940
928
893
960
951
978
869
909
862
993
875
928
996
916
875
814
873
955
896
903
923
880
967
847
969
965
824
925
980
898
891
867
871
872
998
837
845
899
950
802
863
822
897
930
832
905
948
914
951
806
954
916
971
943
864
915
900
853
999
948
813
926
990
987
885
993
898
876
841
877
933
860
883
880
940
921
914
845
956
989
860
905
890
866
987
924
926
994
849
969
992
826
916
915
989
967
914
842
958
881
813
959
996
848
873
993
955
863
848
937
867
997
802
971
865
846
846
982
998
856
833
949
841
807
990
883
819
950
872
976
849
840
861
920
879
991
873
996
923
859
824
973
867
872
995
970
957
834
939
921
973
890
802
941
918
831
975
929
970
890
952
913
976
861
964
979
838
874
896
829
929
880
967
890
956
910
937
828
824
864
921
858
834
971
915
931
808
859
900
881
888
963
919
840
927
810
989
902
876
820
882
845
962
970
912
800
864
969
831
844
852
809
851
849
934
941
961
809
848
898
987
991
980
805
968
912
974
979
958
832
870
870
900
847
874
819
826
878
884
882
979
963
904
924
980
948
928
984
860
871
805
900
948
885
874
976
962
832
985
913
815
906
887
960
811
844
864
926
906
910
983
899
977
944
862
882
815
916
910
899
841
950
971
808
886
959
887
800
896
991
898
865
804
844
880
879
1000
890
917
862
974
957
814
971
898
901
979
928
953
977
800
959
929
943
855
838
995
831
845
889
992
829
902
959
946
992
978
821
939
976
868
985
842
989
869
818
959
871
958
934
972
914
926
981
802
810
826
991
901
840
864
988
910
807
927
827
817
814
859
947
944
970
974
902
837
972
882
957
984
861
894
806
849
912
958
932
838
825
818
905
813
1000
888
942
853
952
899
815
905
857
918
956
957
804
909
982
985
925
913
989
999
885
811
958
897
847
844
885
953
891
926
805
811
847
978
966
828
810
944
956
882
906
814
976
957
862
968
918
955
989
893
955
825
908
988
972
905
966
902
818
885
865
967
868
893
954
962
854
803
984
816
851
920
856
811
893
869
859
946
887
820
857
848
815
953
996
936
886
911
866
892
921
833
994
936
998
810
918
990
804
828
954
821
992
933
846
803
910
991
973
970
915
973
973
827
827
909
920
928
921
885
864
969
977
978
907
922
915
864
936
849
889
990
807
960
927
948
834
978
996
910
976
810
880
955
839
866
902
914
811
970
927
935
916
950
813
858
977
921
907
835
945
975
879
883
800
820
963
854
844
821
961
901
957
946
981
948
989
905
818
824
926
968
868
864
925
869
832
935
879
909
893
883
938
985
925
930
954
896
972
884
968
902
826
812
800
906
833
978
973
839
959
823
954
842
929
823
849
899
900
915
828
958
893
914
868
847
880
947
810
845
976
827
813
957
862
923
907
818
945
821
857
923
949
936
895
800
969
802
902
800
869
946
851
821
970
881
815
834
839
866
911
875
947
967
877
896
979
849
963
931
957
838
891
808
929
951
880
836
886
806
947
944
810
934
999
852
822
958
936
849
970
862
880
923
822
904
961
962
929
967
905
992
963
999
928
942
920
966
999
845
929
895
837
963
830
887
991
947
950
873
984
844
955
973
894
858
842
804
847
867
869
983
846
953
908
936
969
934
928
832
876
973
976
936
853
878
994
865
947
821
917
989
917
959
923
828
943
882
853
884
891
825
982
874
980
984
900
845
914
846
836
887
921
874
806
830
928
894
934
815
951
857
950
981
815
1000
953
880
834
853
927
963
906
811
996
977
944
905
962
814
832
853
841
920
903
804
995
804
977
830
868
968
900
991
969
913
988
898
957
880
838
953
857
961
969
971
983
988
932
932
838
891
938
862
931
984
853
822
890
962
959
864
900
857
950
962
953
818
949
895
940
812
974
978
858
913
821
854
997
922
851
891
896
985
940
963
891
847
810
974
868
920
950
913
977
863
973
855
958
915
921
867
991
880
889
977
955
824
843
854
933
932
823
847
838
855
942
937
868
973
876
944
830
991
841
930
836
871
880
867
801
838
917
820
989
985
827
915
962
895
861
965
888
975
842
802
840
891
822
898
806
857
966
830
862
849
801
986
806
903
800
845
849
807
844
881
808
871
844
928
960
882
941
888
937
954
973
946
970
872
909
834
891
983
874
991
892
910
818
961
894
820
920
912
927
946
986
905
829
962
853
952
967
838
860
979
957
852
849
846
927
909
885
988
964
889
888
811
814
970
895
932
826
996
936
813
983
902
809
874
941
1000
881
850
995
986
813
867
823
886
920
978
951
939
996
937
947
852
955
1000
860
970
833
815
831
906
812
948
821
916
900
927
812
887
992
862
911
854
803
833
906
853
848
992
869
887
926
964
989
982
902
942
877
930
924
849
927
846
858
826
891
935
821
865
851
938
823
900
977
825
804
858
931
808
948
880
1000
976
832
921
916
885
924
943
865
889
960
890
839
914
903
849
988
983
948
839
830
964
854
965
800
930
873
966
836
925
976
823
895
967
957
988
865
836
949
933
919
880
823
896
985
912
943
979
871
914
983
982
996
831
868
862
960
840
874
908
860
884
819
839
900
989
879
979
806
924
837
892
869
849
889
824
881
826
842
872
891
936
836
897
901
854
997
888
889
842
854
974
863
905
986
808
889
904
854
986
963
996
912
907
842
966
895
962
924
967
946
809
974
813
800
958
878
902
877
966
892
929
837
858
831
951
979
910
978
807
999
871
860
983
856
890
961
932
940
873
943
939
903
984
827
981
827
808
817
944
978
949
914
833
957
839
968
972
988
826
805
861
802
851
874
978
857
828
863
923
991
887
861
826
950
836
800
999
954
978
994
814
983
976
988
934
818
976
810
929
960
807
944
875
941
926
870
837
863
895
869
882
973
888
951
801
954
952
857
912
837
893
804
810
803
995
897
845
997
962
997
854
934
964
885
906
814
902
817
985
882
845
855
897
812
956
890
846
870
851
916
801
826
950
904
908
901
884
807
834
961
944
844
939
811
854
994
860
839
910
967
941
947
823
985
829
971
960
949
910
952
844
946
946
902
800
992
964
924
902
811
820
890
958
933
961
830
967
844
973
861
862
944
961
927
1000
947
972
973
946
845
867
880
979
925
863
949
878
802
987
914
923
802
852
808
867
958
834
886
838
925
824
872
911
956
938
896
820
944
867
930
881
830
817
944
950
868
973
999
850
1000
842
836
902
853
913
965
824
975
810
900
911
920
994
855
842
867
972
905
944
945
802
815
942
873
985
941
800
955
936
903
905
873
976
908
836
976
967
938
838
819
992
935
992
863
801
827
825
931
950
806
930
829
805
918
912
999
907
828
996
982
812
933
921
835
872
815
1000
934
814
877
807
976
842
813
932
823
831
860
992
900
994
886
872
859
828
806
863
812
827
998
980
810
951
896
914
923
835
928
916
946
851
818
865
859
973
823
974
902
947
848
872
938
870
999
984
829
926
983
964
928
925
989
897
801
939
892
817
952
947
895
919
979
936
995
890
904
968
835
862
868
984
905
965
805
915
851
969
949
877
828
952
991
997
941
815
932
846
886
896
920
897
996
844
885
858
967
918
810
937
903
972
807
941
918
957
807
974
953
905
959
901
994
845
839
979
927
952
899
918
856
885
821
805
816
857
890
814
944
838
956
905
875
846
801
844
910
987
957
900
903
909
820
952
941
870
881
971
873
897
869
863
827
822
850
899
836
912
961
934
830
877
905
929
947
911
981
810
977
850
851
982
951
915
948
881
922
818
890
996
868
857
953
902
819
948
870
887
887
950
927
969
965
815
838
859
860
898
900
982
828
999
867
914
991
832
901
963
907
973
877
817
998
977
973
944
929
944
826
894
819
882
842
978
825
804
935
867
852
830
888
861
993
887
815
953
832
966
887
990
904
919
879
893
827
989
969
988
831
903
822
838
953
949
839
976
934
803
860
876
858
888
979
974
848
854
921
967
801
923
812
985
976
924
820
828
859
899
939
998
969
933
827
867
916
929
974
928
932
972
875
904
949
968
1000
820
843
968
852
870
969
924
941
881
953
990
953
969
832
987
963
895
948
983
865
839
885
864
820
908
895
885
886
955
830
983
861
962
910
983
832
857
909
904
964
819
935
992
800
802
955
800
923
936
829
809
978
914
910
988
853
903
969
801
923
889
926
956
841
947
813
929
950
857
939
971
917
812
942
925
894
839
868
861
1000
950
887
973
865
837
930
919
973
883
904
1000
807
872
876
850
917
913
935
810
900
947
835
844
808
977
863
947
860
853
956
967
916
810
989
960
808
835
883
909
828
859
808
823
896
808
813
891
810
945
854
924
825
991
979
866
903
978
993
875
949
907
976
802
804
827
961
896
858
949
809
961
981
871
839
945
868
867
959
829
957
844
809
801
887
927
981
878
858
957
916
828
967
977
838
852
928
814
825
882
970
836
897
885
955
853
975
836
837
823
890
849
904
955
806
815
885
988
885
875
917
903
884
974
940
877
866
964
823
820
860
864
893
813
907
894
900
826
919
856
959
899
883
858
836
912
949
958
809
863
805
833
861
913
949
818
896
923
984
815
892
852
891
989
911
802
959
831
867
830
888
996
850
875
935
827
809
990
832
934
840
951
835
904
813
803
966
962
870
945
953
995
813
804
904
981
840
827
840
974
910
869
984
840
873
849
888
815
884
815
851
878
831
947
838
883
948
856
873
982
826
843
832
963
919
971
838
917
820
871
876
938
905
859
835
896
973
960
858
940
956
947
865
940
838
975
972
902
959
860
989
888
858
891
885
896
977
928
800
964
969
870
917
952
878
935
945
924
973
807
851
930
934
805
834
986
882
807
883
894
881
942
867
813
899
837
957
808
932
944
964
914
878
978
893
977
966
846
891
834
885
953
885
881
878
876
814
864
960
818
841
923
867
947
997
965
871
943
853
888
972
907
826
835
875
909
940
999
830
887
888
810
819
849
807
843
868
863
820
911
932
838
946
951
924
801
993
961
936
926
844
992
843
883
868
823
874
860
980
923
805
996
908
819
815
857
957
800
946
912
944
993
921
884
808
803
846
880
832
988
932
892
905
981
832
938
960
962
936
957
883
830
896
993
847
911
866
943
981
993
980
838
893
998
826
991
876
836
870
800
940
940
974
821
894
866
860
949
920
936
833
976
834
842
813
994
870
805
867
959
889
984
804
918
946
826
998
818
970
947
911
827
906
970
980
886
819
814
842
969
931
962
913
847
925
998
908
806
835
921
811
960
823
805
840
897
810
962
989
969
814
876
934
851
968
881
911
927
827
890
896
833
941
857
911
931
801
987
941
852
855
883
803
894
951
809
976
996
800
900
852
865
836
975
802
978
918
882
847
968
847
867
834
932
937
835
827
870
894
844
960
973
838
977
819
846
977
848
938
841
983
813
881
998
955
844
906
991
819
877
965
830
952
987
893
852
897
938
841
873
999
955
849
964
910
884
894
884
893
903
975
949
874
811
930
938
831
945
825
826
857
868
802
839
915
966
895
899
965
943
944
921
984
816
942
885
873
909
997
968
883
900
872
977
865
998
882
801
874
985
869
870
894
848
889
827
851
915
960
994
954
808
805
998
810
964
962
966
842
995
881
822
909
967
886
924
897
917
813
953
894
919
998
817
906
907
898
983
990
959
831
883
827
949
867
958
820
949
820
863
813
970
936
955
819
931
910
809
859
945
875
990
866
938
926
856
883
968
813
996
931
803
920
888
949
837
811
810
839
935
891
879
869
891
949
991
884
811
803
997
945
883
844
974
999
906
907
859
802
900
885
995
952
965
851
814
916
939
905
932
950
849
845
885
913
917
872
914
991
995
910
940
827
879
892
805
946
893
843
850
868
801
984
987
823
945
876
891
969
940
933
911
925
941
864
943
984
977
860
817
979
958
885
883
888
811
955
820
990
860
836
937
974
964
944
883
940
967
907
980
964
984
836
816
836
855
859
940
908
813
948
805
982
881
807
829
924
896
886
848
960
937
955
860
931
956
870
981
960
805
886
816
944
813
911
987
820
963
871
823
929
836
808
967
809
948
965
960
849
963
808
889
873
896
849
804
875
939
968
826
901
880
802
914
864
977
997
960
819
800
877
841
922
987
845
883
930
837
958
876
831
899
847
845
962
827
879
893
979
948
842
847
906
893
942
847
907
874
976
862
833
868
924
835
837
858
874
878
902
966
984
893
873
957
960
832
823
859
937
925
948
909
920
847
805
979
963
810
965
830
875
894
890
992
822
897
985
950
978
939
952
999
946
852
818
896
847
838
803
924
944
858
978
925
846
830
906
996
877
897
908
958
817
820
883
940
920
866
884
856
903
925
1000
879
827
837
966
923
820
860
906
922
929
881
936
884
895
893
823
935
957
1000
816
834
827
860
924
902
827
999
918
843
943
967
887
926
958
907
901
919
986
992
883
983
987
981
854
806
856
832
890
871
828
893
898
988
985
832
862
927
930
824
999
817
990
982
991
886
929
937
936
971
894
842
804
926
867
848
911
996
945
836
964
872
802
980
830
929
842
893
876
820
850
821
931
976
891
942
802
867
915
975
821
939
955
800
807
861
899
879
953
886
978
823
949
960
802
967
872
851
831
845
819
953
892
889
943
801
824
907
888
923
936
952
808
923
817
981
920
950
888
973
819
850
821
832
880
826
862
913
859
985
982
921
998
924
997
982
972
889
860
905
812
918
873
959
841
963
864
870
821
891
850
907
859
893
919
902
813
953
874
905
873
945
936
994
999
839
968
986
899
813
860
884
840
943
986
984
894
953
819
896
874
883
975
975
836
907
926
844
830
878
967
892
882
855
874
973
902
950
812
868
955
981
960
810
959
959
874
912
942
975
927
855
841
954
865
800
890
870
877
875
902
826
825
868
915
866
930
862
992
990
810
911
871
876
880
983
830
900
845
927
822
848
987
965
980
814
965
954
981
903
872
823
959
987
993
855
954
831
975
858
902
891
882
821
991
838
982
844
952
995
924
842
989
803
863
911
860
983
810
901
887
812
930
951
830
888
814
822
809
890
837
916
908
837
900
827
848
880
839
870
808
1000
867
970
942
822
850
834
974
932
872
908
995
952
968
906
932
946
809
927
866
964
940
998
859
848
992
840
831
839
966
894
826
806
924
975
963
996
810
806
958
812
909
874
979
966
997
886
980
935
846
825
861
993
928
893
901
903
987
968
832
980
956
902
974
907
952
816
826
851
973
992
859
836
826
920
836
900
998
927
844
997
882
813
927
999
858
923
891
996
807
987
927
961
828
838
809
927
918
977
951
953
848
954
825
852
996
805
805
895
957
859
934
820
812
985
976
837
986
810
858
872
800
907
829
966
882
807
927
875
974
821
897
912
960
995
866
917
553
586
698
682
640
627
605
639
563
593
622
653
690
596
660
563
564
646
650
608
648
602
663
700
698
694
629
689
592
508
617
654
551
604
506
583
645
622
696
689
519
624
636
583
630
659
574
515
688
542
642
569
601
629
528
626
678
609
641
579
668
667
536
656
610
663
631
534
598
534
652
655
641
521
671
582
598
637
612
559
604
660
666
620
546
519
591
684
569
607
598
573
546
503
520
553
602
554
588
640
652
627
546
545
646
679
606
677
688
535
683
587
617
597
518
608
546
679
509
518
531
544
652
590
509
609
687
597
552
649
564
543
555
574
683
593
659
684
654
624
633
587
568
680
614
639
620
568
637
700
564
592
616
556
521
539
534
570
633
658
562
544
611
537
581
509
557
627
564
603
654
657
638
558
625
546
567
607
665
529
694
592
547
647
648
526
517
687
667
510
697
629
636
591
654
610
526
666
677
560
530
588
633
599
655
695
560
616
641
604
645
632
589
518
528
551
688
549
694
693
548
612
601
638
589
588
542
603
589
538
580
583
563
609
612
513
607
518
504
505
651
521
579
508
570
613
624
667
541
684
662
507
562
516
661
613
607
646
611
599
504
652
567
677
674
567
525
624
621
501
609
655
692
603
610
606
687
520
649
594
540
687
533
695
541
659
525
652
693
617
673
568
565
539
568
674
686
677
543
568
659
592
586
628
697
570
562
595
584
612
665
635
673
544
567
502
592
621
576
601
558
603
538
503
700
528
636
554
592
630
556
572
649
578
671
581
576
543
512
605
696
513
661
689
691
530
551
616
530
573
662
538
556
623
554
609
575
548
671
526
562
685
506
561
576
546
640
510
642
532
617
548
650
520
687
513
558
623
640
513
636
691
542
557
605
511
574
523
681
532
616
643
601
523
536
639
561
523
586
543
500
680
670
530
533
621
666
519
682
529
673
596
611
555
621
619
608
524
700
606
661
641
543
612
597
601
684
656
505
625
607
629
640
610
596
533
512
510
659
582
635
686
546
521
621
571
526
641
613
574
650
551
642
592
602
634
682
604
691
636
577
575
700
572
631
583
687
500
660
503
607
583
554
510
626
669
680
680
642
665
563
533
601
616
559
505
514
634
575
696
567
606
657
588
666
648
577
516
572
533
595
649
679
519
542
521
601
649
614
533
684
505
548
550
559
528
520
698
630
678
539
530
508
578
577
628
634
677
673
651
676
696
576
636
543
598
585
631
538
602
680
571
572
527
681
596
551
656
677
648
575
625
525
551
620
682
523
514
522
632
507
682
667
675
555
504
603
589
522
525
625
583
557
549
502
609
535
522
592
556
680
621
617
567
624
508
652
602
676
673
687
644
596
645
589
558
688
651
545
574
693
595
604
646
596
618
562
578
668
541
534
693
685
597
568
660
655
652
533
664
663
669
553
640
687
511
591
561
502
527
655
644
523
644
564
605
635
620
548
638
527
628
629
673
557
512
610
679
520
658
624
581
557
642
581
646
546
585
524
566
679
696
700
548
647
685
656
648
676
573
673
665
517
588
678
557
668
622
651
681
637
621
659
543
685
629
567
659
636
566
603
573
632
577
576
643
566
535
671
582
536
674
529
543
692
600
646
544
629
548
655
580
640
683
509
566
623
622
579
527
500
558
527
556
602
699
576
533
594
692
600
575
599
589
694
576
594
520
514
515
693
570
563
683
614
528
697
639
562
631
678
618
658
549
619
681
512
533
560
676
634
644
596
629
593
620
625
684
601
570
540
666
623
646
622
543
637
613
664
578
506
572
516
582
543
535
670
674
623
599
610
670
597
679
620
654
521
651
522
571
687
524
661
543
535
614
613
515
515
613
500
677
692
618
638
555
613
662
600
664
551
646
631
604
659
679
644
572
673
669
668
541
500
640
607
674
660
694
542
685
626
502
629
669
540
564
638
663
650
610
634
618
541
693
589
552
638
643
535
670
626
627
616
573
622
635
554
534
521
504
520
693
690
659
641
529
630
561
585
602
570
508
586
651
656
515
695
666
584
617
695
533
588
565
596
643
619
655
587
627
547
638
564
547
670
689
700
695
600
623
553
539
592
685
611
672
557
533
567
665
576
541
579
680
683
635
589
620
542
545
502
546
682
696
678
618
539
640
685
569
580
686
506
626
655
583
558
668
517
531
503
638
582
657
631
675
514
531
570
645
663
602
524
591
639
686
514
665
677
623
660
699
696
596
654
629
694
536
609
569
514
502
624
623
579
633
533
640
582
668
538
635
550
535
553
579
511
528
666
569
581
529
682
686
600
661
554
638
671
500
599
597
657
564
624
563
687
696
683
553
526
573
545
580
653
661
585
595
559
571
527
578
661
604
579
612
636
566
591
631
558
584
531
698
548
692
650
534
609
683
630
687
520
525
522
653
654
651
513
554
558
622
594
505
606
614
523
562
518
557
638
564
580
603
575
604
678
683
579
595
637
556
686
690
542
601
556
670
538
519
592
642
634
630
684
511
515
678
622
656
501
643
614
579
655
571
505
696
699
540
586
670
671
676
559
547
600
623
657
512
536
508
642
513
503
539
641
619
515
680
553
619
665
510
614
677
697
570
628
521
637
577
545
594
586
691
546
551
679
614
575
596
568
609
565
535
541
592
662
620
544
652
569
523
532
560
629
507
668
609
589
576
636
647
632
547
531
594
601
592
696
601
670
510
680
648
550
624
620
553
613
667
609
698
596
564
662
602
652
537
590
650
530
647
676
695
661
598
668
587
672
699
524
687
568
640
520
591
535
674
567
582
504
697
667
519
700
555
621
681
612
672
508
588
522
502
695
683
661
632
539
561
505
566
530
550
522
569
509
566
666
548
690
681
568
655
636
541
548
660
578
648
503
558
607
542
698
557
514
638
553
547
683
641
669
533
572
583
573
622
604
613
609
697
630
633
642
636
619
545
591
592
531
523
586
593
587
546
607
531
530
622
501
586
669
591
546
678
515
651
691
515
695
593
658
532
527
678
697
687
615
694
582
553
500
553
687
567
645
655
676
529
606
527
524
523
639
688
595
526
614
576
688
570
612
577
653
550
513
515
684
617
636
568
525
535
564
649
666
555
504
650
589
520
675
689
628
699
515
554
582
541
651
621
657
622
559
696
578
695
672
602
617
578
515
689
608
514
556
581
536
595
554
613
675
580
606
576
650
505
561
654
678
647
649
573
620
541
699
568
639
668
616
527
674
549
578
510
562
562
601
503
507
519
546
592
608
591
567
506
570
567
663
558
631
699
640
633
619
560
567
539
658
540
592
679
536
682
693
696
556
590
564
628
613
666
637
590
677
557
507
527
690
531
661
613
648
700
504
666
501
601
556
647
652
553
605
543
699
520
686
606
572
517
696
531
578
700
698
548
558
614
638
572
575
642
506
685
607
690
667
640
558
618
655
604
627
675
603
638
566
518
697
632
562
622
631
615
521
505
566
595
555
562
629
599
663
629
666
506
629
694
616
637
610
530
516
603
558
689
546
634
669
575
635
585
684
508
538
596
532
501
516
648
558
597
659
682
692
586
695
596
673
692
531
657
526
530
688
531
636
696
688
608
513
533
685
628
673
571
523
545
600
514
569
523
650
612
524
599
533
603
518
632
697
700
578
577
512
578
507
673
590
695
530
538
608
538
510
624
541
664
630
566
504
576
571
505
693
541
507
523
510
546
677
598
545
568
559
619
628
568
573
662
596
679
697
574
518
657
605
562
512
664
548
566
515
696
617
570
561
583
552
600
507
689
678
585
545
589
546
668
660
589
624
670
540
607
627
506
501
510
596
610
529
504
567
515
559
680
588
666
654
661
643
536
621
538
666
517
579
531
556
642
589
646
641
653
631
593
644
502
517
622
536
647
658
540
690
602
577
500
683
557
652
660
502
574
650
518
545
674
670
674
661
576
505
536
562
525
666
520
538
651
667
522
614
563
654
582
538
625
513
600
515
614
606
509
537
525
578
644
519
646
596
570
692
647
520
634
577
598
540
620
626
670
512
664
589
646
630
522
521
588
600
539
508
624
619
589
698
541
551
598
540
686
609
666
629
512
677
521
617
593
565
535
524
563
624
657
543
627
689
573
641
516
608
546
647
543
558
624
636
591
633
664
622
690
689
638
534
649
551
691
685
516
626
584
600
559
655
506
674
580
596
543
566
586
599
697
684
625
617
661
540
632
670
595
602
573
599
644
519
697
563
633
585
668
654
523
637
636
541
674
637
515
635
688
697
527
502
500
606
687
700
531
508
576
675
596
639
535
682
595
606
557
621
604
690
699
681
500
674
624
641
634
533
622
688
687
583
588
533
516
643
598
606
542
692
611
526
545
589
654
597
635
522
594
570
572
696
562
512
557
616
557
683
509
508
625
647
646
646
615
531
529
598
516
596
512
585
516
686
668
629
681
657
585
595
690
637
594
627
666
687
631
509
651
668
659
629
577
522
639
553
603
511
697
617
588
550
526
644
618
519
565
654
665
505
661
568
507
576
582
634
502
695
696
648
563
624
528
531
563
558
558
589
663
615
562
573
547
554
536
585
510
658
680
571
571
589
597
680
549
698
583
573
598
586
558
637
500
660
664
647
699
652
559
638
647
522
543
603
585
538
691
519
607
647
629
573
686
623
591
608
583
515
505
594
580
696
639
641
549
680
691
597
683
685
523
502
555
688
577
697
509
589
599
571
651
679
566
501
556
599
511
624
507
567
668
603
514
650
615
637
700
645
648
616
550
607
603
595
644
612
646
695
680
612
525
575
517
640
561
594
526
693
666
515
684
508
534
585
618
637
591
655
700
543
537
540
530
581
590
508
612
595
556
588
580
667
528
613
668
666
515
515
503
659
596
672
660
626
570
603
627
670
683
675
548
657
689
532
644
571
517
660
645
686
504
575
572
507
617
672
544
669
637
637
519
525
674
638
515
670
692
653
554
556
686
503
675
539
579
569
614
510
529
515
684
644
542
521
628
695
656
657
629
628
505
530
625
676
572
618
639
521
684
650
697
510
648
562
595
588
569
658
674
650
641
586
554
565
576
522
551
610
545
556
625
696
649
521
580
581
597
619
678
564
510
564
530
673
629
609
567
634
553
671
573
534
564
660
515
564
671
633
522
540
591
570
664
527
501
560
621
571
587
680
684
593
644
597
608
622
621
514
566
614
562
514
634
667
620
649
524
664
685
579
684
622
649
601
537
507
583
643
680
657
520
686
666
586
687
650
697
549
647
626
563
619
694
612
667
651
521
625
617
647
557
601
553
698
617
639
642
617
558
504
580
535
602
587
538
652
559
632
658
565
675
684
616
524
632
512
575
564
590
668
505
568
586
678
516
588
646
568
663
594
660
568
581
549
597
537
641
597
586
619
681
630
505
576
572
545
558
522
576
512
542
507
546
576
647
678
511
626
646
576
663
628
548
503
699
637
645
586
592
622
697
639
549
654
583
599
681
621
694
568
548
519
513
529
515
689
605
692
535
594
569
570
609
602
687
698
529
520
680
555
514
625
618
674
514
532
629
546
513
526
627
570
563
641
599
610
612
587
527
693
538
596
633
501
614
573
644
694
500
649
520
653
650
549
691
574
504
599
636
616
552
521
639
502
686
620
633
684
516
614
627
583
597
564
619
606
601
695
673
577
517
526
669
526
690
528
572
647
580
507
549
643
623
607
602
515
650
664
634
633
577
683
558
510
578
654
562
631
641
673
662
590
690
586
535
565
603
574
560
659
539
683
654
689
560
688
675
542
566
508
640
600
505
642
504
676
518
582
519
553
622
526
507
636
556
614
664
523
520
672
564
549
510
607
699
521
662
584
680
519
500
561
556
590
588
610
506
558
503
642
681
619
673
524
623
670
591
553
639
651
522
607
686
680
647
574
674
593
669
650
570
638
530
680
650
682
571
605
632
634
521
669
597
676
581
677
650
626
504
524
638
700
530
561
599
624
557
618
580
563
598
648
580
564
625
625
550
681
504
651
698
560
695
632
613
680
516
603
623
677
574
509
519
580
503
677
549
605
595
625
696
518
537
662
518
539
660
502
546
543
506
524
621
605
653
575
512
540
638
554
579
585
624
664
611
697
593
647
591
571
623
557
692
630
547
637
690
693
641
580
547
676
648
630
581
589
534
580
670
503
515
613
568
635
680
640
671
534
636
533
594
662
541
618
639
521
534
550
564
593
524
641
632
509
541
516
603
626
611
637
561
550
635
652
514
654
579
682
505
519
627
588
550
628
649
626
616
565
520
551
620
554
546
666
512
664
564
674
655
526
566
630
533
502
613
658
673
619
605
694
665
685
670
673
536
676
554
581
662
541
631
642
637
639
689
699
694
616
580
566
677
592
681
587
686
588
599
625
589
554
667
617
641
512
554
574
531
671
525
586
572
623
591
676
669
512
560
689
539
618
594
697
606
585
619
539
700
557
584
665
510
600
613
688
589
526
616
615
595
671
696
564
548
528
687
543
503
635
524
521
584
524
607
663
690
633
637
593
596
671
502
525
690
590
544
653
610
609
670
565
543
616
600
686
532
648
674
626
611
521
520
574
610
612
607
536
505
602
531
667
580
577
681
637
594
691
546
663
600
581
535
648
536
540
673
528
550
635
565
640
578
678
598
509
510
508
553
593
609
663
559
691
612
669
537
505
512
600
632
531
610
539
671
542
520
599
619
508
692
524
661
695
582
659
544
693
670
564
602
509
683
630
654
618
522
528
633
698
607
560
603
663
633
665
660
634
575
568
601
593
646
617
501
598
647
600
613
700
637
640
524
508
625
680
507
544
602
692
554
619
576
579
668
593
634
647
653
568
562
552
506
680
668
687
626
669
640
675
558
544
558
628
564
578
589
603
603
655
687
570
569
568
648
562
578
567
526
612
512
684
541
521
671
607
612
603
538
595
656
572
614
553
503
696
642
639
653
536
559
661
556
575
656
505
648
660
680
561
578
678
565
667
576
553
630
536
542
636
540
506
683
501
681
603
608
558
691
628
696
564
682
523
642
556
697
640
539
671
670
596
564
512
651
631
512
553
688
617
505
667
619
592
610
519
556
608
651
576
698
535
556
671
565
568
599
642
512
573
637
607
573
553
560
569
584
609
693
583
509
661
584
632
647
576
574
576
573
573
605
633
572
610
541
546
563
684
671
545
696
571
500
630
586
570
621
619
512
682
500
566
572
511
510
675
546
590
534
649
536
593
615
634
518
511
626
698
609
560
633
570
688
593
695
677
573
547
504
614
690
511
685
699
653
672
568
634
553
559
543
627
605
618
508
540
642
540
545
622
538
513
632
578
669
591
531
571
535
533
528
554
584
567
561
591
516
570
694
533
657
579
600
645
637
512
527
667
549
656
679
567
685
700
636
671
520
519
631
530
538
664
530
625
614
652
604
514
593
638
622
613
632
511
588
668
575
539
690
674
638
523
584
569
666
664
595
564
565
669
610
638
657
641
599
643
519
567
506
627
609
678
529
558
600
615
560
517
584
527
682
669
586
554
611
678
688
582
567
638
678
605
541
625
679
508
614
521
697
593
530
601
548
693
672
523
583
546
542
510
549
672
624
649
671
674
528
695
549
685
634
579
611
639
646
520
577
613
562
698
583
640
534
590
673
650
526
551
536
650
649
626
611
564
614
504
540
575
520
512
513
521
598
598
663
593
596
600
641
627
604
523
552
623
581
540
580
568
662
587
668
517
606
591
513
699
653
620
665
560
598
565
670
611
624
584
544
651
658
610
525
541
518
522
551
663
674
635
610
624
578
641
546
680
694
601
543
626
591
632
545
513
637
677
574
636
645
687
542
613
695
689
657
627
553
660
557
602
632
548
535
592
674
540
591
625
642
598
582
516
557
674
697
660
571
566
526
509
571
593
632
570
655
662
663
566
698
576
522
697
634
525
665
606
621
637
599
699
543
690
643
625
564
597
540
506
669
609
673
554
668
521
634
594
579
637
601
655
665
539
588
629
506
512
575
542
627
695
658
528
527
675
677
623
539
620
567
622
563
655
698
641
681
565
677
595
533
520
569
515
640
550
592
647
525
579
597
688
502
642
589
627
547
659
511
570
638
542
613
649
662
594
541
586
580
501
700
688
664
635
662
540
545
680
635
615
671
581
589
670
518
503
637
575
524
629
610
512
523
658
663
599
514
689
609
679
506
603
605
689
584
558
551
649
675
603
545
600
637
567
566
624
614
637
680
535
511
562
510
619
543
669
549
585
562
596
647
546
677
662
612
505
673
562
628
606
679
560
612
519
646
677
509
678
696
505
688
588
561
502
536
687
662
547
597
586
539
662
518
602
503
566
555
671
665
526
554
527
582
620
503
517
576
681
583
517
640
513
661
700
560
566
541
544
635
615
551
500
657
501
549
597
566
592
579
615
694
645
532
580
552
572
551
506
579
565
537
570
682
513
601
669
624
662
516
621
508
647
555
576
644
604
662
637
546
696
687
574
534
616
690
681
696
518
688
591
676
557
564
623
511
532
523
652
554
597
540
662
589
505
666
534
664
625
584
657
670
670
678
603
594
522
515
582
654
543
585
500
680
592
689
605
559
577
600
562
511
542
539
555
553
507
557
673
647
644
655
520
607
501
695
661
551
589
629
652
683
531
547
510
508
621
614
609
680
640
589
504
688
538
536
570
621
652
526
602
540
674
543
614
585
649
603
653
547
535
592
560
578
670
510
617
568
673
599
670
529
605
555
581
557
658
612
638
620
591
576
520
674
678
670
623
602
511
590
653
626
611
604
539
533
542
544
500
621
536
602
638
548
542
560
583
627
553
513
504
515
667
506
526
653
534
688
503
608
523
634
674
521
665
690
506
545
561
558
698
585
559
588
558
523
549
560
651
606
625
608
581
576
585
527
650
553
514
567
684
640
638
647
623
598
655
672
564
605
539
658
508
565
670
566
547
569
596
521
674
531
509
648
500
666
551
536
541
658
509
548
506
517
590
599
655
536
691
641
514
581
700
619
512
614
655
540
669
628
500
678
505
610
648
680
638
504
648
563
574
582
669
585
559
595
647
501
655
519
614
596
543
691
528
694
668
616
669
574
510
699
667
671
575
622
672
600
624
575
529
581
547
649
529
613
596
628
583
625
575
524
513
647
621
614
609
594
623
518
599
596
511
626
551
682
505
533
516
632
532
586
649
634
559
502
574
657
635
687
650
577
554
649
628
533
577
592
658
611
560
525
655
643
692
620
540
592
579
672
506
620
657
578
507
681
583
615
514
662
509
697
566
572
578
659
684
699
539
678
586
550
553
688
568
658
527
547
611
631
615
669
515
613
659
599
685
609
603
539
609
570
593
568
502
505
684
661
570
540
697
658
562
663
502
510
621
527
529
579
700
559
644
604
549
666
607
512
540
557
662
553
508
515
575
500
590
660
504
546
549
659
623
534
601
689
636
650
679
609
572
584
700
642
641
672
699
562
589
529
550
564
572
500
632
609
557
584
618
630
553
567
650
636
580
683
558
594
589
639
700
516
670
673
571
643
649
653
629
634
667
567
510
577
521
512
622
653
506
520
510
527
648
526
658
559
579
553
650
675
554
592
658
586
658
570
586
527
531
501
623
522
696
640
577
580
662
643
581
542
682
639
590
651
526
552
625
579
673
670
565
604
649
689
637
597
670
612
522
526
545
691
667
555
695
526
622
584
680
576
537
638
604
539
620
581
659
539
633
661
653
505
627
688
510
596
633
629
616
563
502
653
547
626
545
564
682
558
628
697
655
546
586
687
616
574
634
550
637
670
677
513
579
558
525
575
562
661
537
574
662
695
680
595
581
662
622
602
604
546
550
687
606
679
574
556
625
656
592
536
623
552
699
574
668
619
659
522
549
539
574
581
511
552
565
549
584
592
584
623
534
572
512
540
658
551
694
672
681
511
582
572
671
697
598
615
558
612
647
508
598
608
664
559
680
630
557
581
534
686
516
600
667
623
568
663
612
519
626
566
557
605
636
534
699
698
582
699
535
500
548
611
546
652
600
508
579
673
659
537
612
555
644
602
526
588
607
610
535
613
651
528
699
510
699
557
604
509
599
613
688
562
555
576
500
631
650
667
594
545
697
620
505
515
506
566
678
643
516
679
595
650
545
566
670
649
615
562
612
680
514
559
669
667
633
555
608
589
606
577
567
629
532
571
528
573
646
530
645
606
591
671
517
615
657
577
541
531
558
561
666
568
513
560
588
582
503
633
504
678
580
574
570
684
521
521
630
513
528
651
685
628
652
615
646
513
557
668
558
517
583
691
568
636
602
625
566
535
655
520
635
521
641
545
695
687
511
641
674
511
579
692
619
551
650
666
665
689
526
641
647
670
627
509
598
660
629
584
662
600
505
692
697
511
582
599
624
532
649
556
598
640
652
542
523
607
549
607
526
606
671
584
567
681
622
675
580
668
661
629
658
584
695
640
548
677
657
570
572
672
515
631
606
610
610
559
621
625
629
638
546
660
611
615
588
696
566
638
539
558
574
629
638
546
671
564
551
591
523
630
505
650
675
598
534
600
596
586
678
642
520
653
600
545
613
687
668
661
651
564
551
678
656
646
504
568
665
538
674
506
617
676
533
538
598
607
643
517
555
595
520
560
513
666
533
698
686
547
556
659
545
527
621
595
668
628
541
648
605
609
524
614
580
579
532
617
556
684
597
556
506
665
538
617
643
675
681
552
622
562
700
526
595
626
522
523
615
650
521
604
618
513
649
550
517
675
632
696
538
647
511
580
564
666
612
646
658
664
647
622
652
584
515
508
516
617
512
595
587
582
610
595
577
645
560
665
514
641
693
691
674
585
688
605
652
644
584
596
602
502
542
545
649
694
526
540
565
634
640
533
544
613
507
610
672
525
679
683
923
944
841
954
948
815
902
872
812
946
810
841
984
882
891
943
980
857
871
949
865
949
823
836
944
889
864
995
928
958
887
910
863
960
825
838
841
967
910
921
980
922
988
948
808
892
850
831
898
999
815
956
865
972
934
910
884
889
917
884
809
866
950
848
811
996
970
971
889
958
960
855
994
872
870
926
899
980
978
856
864
977
892
935
933
856
889
943
876
875
804
842
888
958
913
983
939
918
909
975
954
842
856
846
981
838
868
806
820
803
967
871
826
990
994
995
914
899
887
933
819
974
933
805
891
898
937
846
993
989
985
960
861
833
834
855
931
906
839
927
929
870
879
832
977
806
944
997
928
846
821
902
867
931
943
835
882
830
949
986
999
848
803
811
998
960
908
827
945
916
929
969
978
967
803
926
831
930
831
919
814
863
848
850
982
823
930
930
872
946
940
849
904
849
824
932
852
883
904
966
923
993
800
952
893
928
926
911
812
969
940
916
856
868
954
842
856
859
992
982
904
990
835
846
873
987
908
931
939
917
934
824
853
912
878
874
816
842
972
865
990
819
997
901
825
827
927
879
948
930
880
822
820
879
849
971
965
884
802
849
955
903
951
878
868
996
940
801
867
986
961
837
977
978
918
969
995
928
917
953
976
891
825
810
911
854
813
848
819
878
977
841
922
881
997
913
923
894
855
820
861
993
991
893
841
937
930
995
934
800
914
950
930
961
819
899
831
939
949
943
927
901
807
843
975
925
830
893
856
992
943
976
860
813
875
939
960
823
980
925
867
973
900
819
801
885
871
807
914
835
800
838
953
813
851
947
812
871
950
900
877
800
859
929
824
807
911
821
895
924
820
991
813
925
825
954
912
918
815
868
994
829
875
829
943
942
870
905
963
906
947
842
916
830
908
850
995
911
809
812
966
847
896
813
990
976
870
978
923
836
804
973
876
878
833
990
845
959
857
997
956
904
849
850
976
999
890
875
876
958
895
919
937
875
890
836
847
821
955
999
995
952
996
846
922
864
992
845
847
924
841
927
904
877
952
875
876
806
864
809
805
860
971
923
807
848
977
846
823
947
908
922
869
908
967
828
976
921
824
981
990
862
812
830
901
958
831
883
809
966
953
982
870
952
910
911
862
894
942
867
969
803
932
975
855
992
842
871
803
982
876
992
947
904
823
863
919
813
899
903
942
990
909
950
953
940
853
865
869
887
848
903
896
1000
956
989
995
911
836
1000
934
858
926
881
972
966
899
849
931
834
896
970
859
980
925
868
939
910
889
853
806
805
873
897
806
904
857
995
970
994
903
989
802
922
812
948
924
892
984
857
977
905
911
915
931
828
904
838
891
805
832
886
820
964
845
887
930
978
870
886
892
959
918
952
900
882
959
861
902
983
843
892
959
849
957
907
806
971
828
928
842
898
847
961
808
943
898
931
849
955
892
980
945
845
804
947
829
861
957
987
807
987
908
916
825
852
959
995
976
902
933
883
804
984
911
877
801
951
920
932
835
954
949
851
897
977
944
993
956
916
957
898
869
832
813
825
838
872
905
940
821
988
827
897
940
926
968
897
811
881
832
877
968
941
955
821
818
979
936
905
825
812
808
889
999
920
985
966
830
963
809
809
883
946
928
873
857
919
885
967
971
942
804
979
915
877
914
861
824
979
986
837
975
931
969
912
850
899
825
848
835
890
834
856
906
822
980
904
915
904
943
834
848
896
845
983
800
910
841
951
866
860
894
850
955
942
946
831
865
814
940
857
824
969
928
907
811
935
1000
878
1000
945
871
935
807
814
993
917
932
950
806
808
853
903
878
881
849
907
925
899
879
886
867
908
956
977
973
991
947
857
951
821
916
869
832
818
930
984
968
926
806
847
953
920
973
826
838
837
961
943
872
933
845
903
893
840
927
953
895
925
957
980
889
904
894
912
842
891
837
847
984
879
992
999
946
840
934
913
911
845
981
819
868
937
837
952
928
875
848
972
837
941
936
858
894
834
814
920
835
955
990
833
868
873
974
858
883
946
818
943
962
976
888
920
928
860
863
812
915
894
916
889
842
965
851
986
971
972
848
925
929
856
961
914
988
857
933
923
950
809
951
856
924
921
927
881
943
899
902
840
997
987
858
932
996
944
850
951
839
919
966
860
820
991
905
871
938
997
943
824
972
920
924
974
819
845
962
997
813
899
912
807
863
876
873
894
941
874
829
975
833
948
962
853
886
860
1000
874
888
823
985
948
871
935
800
895
824
941
816
952
802
933
804
937
818
902
851
835
938
973
897
938
899
986
943
912
920
932
871
969
938
806
947
958
871
822
912
860
824
810
934
871
977
892
943
896
864
836
932
889
858
900
898
870
855
849
889
889
966
961
856
887
877
823
933
843
845
883
834
988
809
849
976
951
923
1000
803
981
814
812
945
858
865
834
922
846
835
985
924
836
940
957
940
856
813
946
806
827
923
812
923
867
905
806
839
997
904
832
869
855
919
880
842
983
929
893
929
991
908
901
809
884
905
964
982
835
846
974
950
850
841
951
809
991
803
845
965
999
832
873
924
992
968
924
906
898
837
843
870
928
831
919
847
970
826
892
969
951
815
943
896
949
946
814
809
833
872
934
964
816
888
969
988
857
964
961
902
853
881
883
955
960
916
858
912
833
931
806
858
808
841
972
990
930
841
968
954
871
811
933
930
800
805
962
952
806
865
996
808
979
939
893
875
875
940
831
929
968
952
965
940
802
889
833
913
827
993
830
922
898
900
916
879
917
849
834
852
868
802
869
942
858
884
865
882
933
821
843
845
933
872
865
897
903
828
824
991
861
922
863
997
982
928
836
866
913
813
929
846
885
809
845
904
955
949
852
950
846
883
889
990
871
806
950
983
844
866
843
816
824
963
807
825
973
924
821
934
939
915
873
821
854
940
800
979
842
851
945
816
873
830
948
925
995
882
808
943
983
875
834
947
816
849
988
906
946
967
923
891
905
846
987
965
968
987
810
854
883
982
867
841
861
970
994
946
820
805
842
862
962
887
928
928
976
928
971
819
994
843
841
914
951
878
890
859
852
939
822
833
919
958
901
800
903
898
938
959
875
931
927
948
848
843
850
834
985
889
900
895
860
841
899
987
894
883
897
844
858
899
833
930
904
983
930
951
947
972
996
916
999
812
987
885
921
812
931
991
935
926
969
971
870
991
843
909
943
947
808
903
953
830
958
853
855
824
856
865
913
847
882
929
868
908
867
947
980
946
979
855
967
876
824
985
953
976
854
997
990
996
988
907
806
914
945
819
940
845
852
863
911
965
877
833
972
917
920
858
861
868
955
943
815
864
976
861
857
965
821
996
970
925
891
844
891
842
884
907
980
908
965
838
980
936
983
840
853
978
833
864
827
958
860
896
932
800
859
931
813
856
980
890
949
840
928
860
813
818
821
993
952
879
865
943
962
985
989
980
953
834
978
968
899
892
886
858
808
978
819
946
987
977
870
930
922
893
976
970
912
889
895
980
843
857
905
972
956
994
930
933
819
867
948
959
826
852
907
891
984
805
952
870
975
964
996
940
898
833
871
933
843
991
951
946
961
901
914
840
803
994
860
868
823
956
812
818
896
941
898
991
901
863
804
827
855
849
968
958
893
859
866
814
882
923
816
947
844
882
998
928
809
868
810
850
836
893
973
805
921
893
1000
804
841
839
992
917
916
811
938
856
809
828
852
949
952
985
858
987
831
936
833
856
837
801
815
808
865
928
870
883
884
818
848
889
815
920
915
987
989
943
920
984
923
867
848
933
877
846
947
842
975
987
820
831
891
934
979
980
900
921
802
969
897
933
805
875
929
984
956
981
974
839
908
843
903
852
809
833
869
874
849
900
816
824
919
977
928
915
950
862
863
875
941
819
814
962
804
870
907
895
965
883
905
936
969
947
847
973
803
823
875
843
948
904
814
855
848
828
848
917
894
992
985
874
808
903
879
941
999
819
887
835
926
996
816
832
842
904
845
819
805
872
911
860
861
865
817
849
923
967
927
938
976
978
912
902
806
894
955
988
921
903
877
805
971
911
845
913
813
976
958
921
900
875
965
914
810
825
951
866
849
815
963
977
823
961
909
863
902
960
996
872
1000
898
984
952
913
862
932
845
987
926
974
838
971
983
881
893
931
992
850
874
857
925
971
835
976
831
937
895
863
971
810
803
884
913
945
814
834
874
818
982
890
985
882
957
882
869
914
880
874
868
803
804
996
823
897
904
996
978
915
871
909
804
800
969
825
951
948
960
996
843
827
888
931
858
976
898
905
851
858
857
868
863
937
941
961
952
876
915
820
879
930
847
851
865
802
884
869
838
886
819
887
966
857
880
973
800
867
873
983
845
854
947
858
991
815
896
886
917
903
931
830
942
860
856
806
954
904
908
902
884
912
877
969
838
942
827
919
975
885
955
892
880
825
810
854
896
992
830
974
931
959
864
948
974
800
836
847
855
960
855
859
957
978
854
893
818
886
918
875
840
985
892
994
936
925
980
814
885
854
948
929
861
844
956
818
803
816
966
973
819
879
976
989
932
967
997
812
854
968
848
805
874
887
840
827
851
827
848
837
963
836
841
887
824
913
857
855
942
930
823
820
961
823
942
976
872
815
858
926
965
852
964
824
909
989
995
950
802
978
896
932
985
924
857
845
841
927
820
877
828
843
810
897
912
965
942
817
868
928
835
911
801
942
931
836
866
989
876
809
896
932
873
802
973
918
922
939
929
847
922
856
829
897
954
951
930
811
882
870
862
932
850
844
855
819
957
947
803
844
874
973
893
853
815
860
826
848
977
822
804
952
914
807
866
809
906
857
916
842
954
939
990
919
836
998
993
842
940
836
904
997
851
937
985
807
874
999
918
893
975
836
940
841
911
994
800
860
887
957
841
853
849
937
993
886
868
939
894
924
972
954
832
815
842
834
860
957
872
845
924
954
997
991
907
918
832
966
889
840
871
952
921
971
944
841
910
808
896
900
811
805
968
861
835
919
868
881
871
908
926
980
835
923
914
981
988
957
900
972
958
959
968
894
867
925
936
924
938
811
926
993
837
890
801
910
900
864
953
872
837
806
946
926
913
925
936
910
826
946
944
852
887
815
892
952
816
836
842
869
912
923
948
957
838
945
958
812
867
914
944
807
955
881
947
858
922
933
992
911
880
971
991
901
869
820
828
855
952
910
807
920
919
928
974
844
951
867
903
898
1000
965
889
977
935
891
947
839
953
818
952
813
937
816
931
862
928
990
948
966
999
958
812
864
969
957
905
942
992
988
869
964
944
814
925
918
906
823
968
817
874
929
836
807
907
913
919
999
857
882
996
941
951
911
858
996
955
865
877
926
930
816
951
904
817
929
909
937
841
989
822
951
985
840
907
868
948
807
835
841
879
967
800
807
941
817
939
865
972
907
821
954
879
932
872
846
927
806
821
802
999
815
965
896
930
939
850
959
960
867
895
957
908
877
804
990
927
982
990
860
971
847
909
952
989
821
859
809
957
942
909
999
991
951
917
929
920
834
895
801
804
912
916
910
996
845
846
938
929
939
883
920
973
915
915
817
816
802
843
808
904
876
997
855
961
953
958
973
826
900
871
837
911
837
833
976
932
932
887
971
823
819
943
881
822
846
852
982
901
954
911
901
970
914
994
885
945
994
1000
952
818
835
843
985
944
805
921
804
867
871
827
812
902
892
954
860
943
971
895
842
956
876
883
871
950
914
817
850
885
952
966
971
926
922
899
847
961
980
913
949
997
825
966
940
830
865
999
814
937
989
809
888
966
906
952
945
895
847
911
882
983
912
957
808
849
884
858
926
830
831
926
820
873
849
808
941
965
848
984
891
837
831
969
806
819
920
937
810
1000
987
927
933
1000
811
927
979
893
956
981
871
993
937
840
976
866
912
908
909
931
826
940
850
955
930
937
835
973
935
899
811
872
955
904
883
804
842
990
976
950
950
952
990
932
844
977
977
911
929
965
816
953
805
922
936
825
901
838
938
860
843
833
894
989
863
969
822
858
942
985
971
948
878
912
944
888
992
929
875
803
855
999
921
949
954
974
815
899
846
833
928
990
863
808
978
960
952
918
896
801
849
830
850
957
978
967
810
928
875
800
885
879
889
885
897
871
875
892
957
987
874
884
918
925
955
938
984
952
818
882
974
985
948
880
803
914
937
844
874
811
836
889
914
841
928
819
951
815
981
967
995
994
826
838
966
860
906
905
983
962
857
923
970
835
920
870
898
894
933
924
883
867
997
880
991
874
945
833
810
831
979
906
872
963
938
988
845
830
992
962
849
889
830
803
957
985
988
814
914
802
859
868
941
804
948
884
800
956
966
847
804
893
879
896
814
851
837
801
865
861
944
981
894
828
852
952
871
875
921
946
859
924
820
825
859
946
860
936
866
901
913
876
910
869
959
997
898
825
992
936
861
905
902
838
944
942
804
886
951
921
929
911
992
884
920
990
896
889
828
889
890
809
999
912
840
965
881
862
832
976
995
911
889
823
869
946
950
961
861
996
886
959
868
945
926
915
809
922
857
842
843
822
880
844
841
969
903
905
850
959
948
960
981
825
988
943
800
963
947
975
804
976
989
897
882
910
1000
991
931
937
982
988
906
830
851
807
877
909
848
837
901
905
945
869
853
930
994
869
996
854
843
930
837
816
876
905
810
816
971
865
924
998
836
917
907
942
859
956
997
861
886
984
921
903
945
806
982
938
928
868
827
838
809
832
896
955
978
905
833
853
872
875
829
922
955
802
803
865
846
910
824
990
944
904
979
898
908
857
955
950
884
907
870
826
891
907
961
918
1000
896
824
1000
950
846
845
909
978
827
966
911
834
902
973
904
844
965
914
927
897
862
914
917
982
962
920
894
826
852
904
894
973
888
848
899
862
926
841
811
885
862
864
893
974
815
895
903
973
869
939
945
814
979
886
808
832
889
909
904
844
862
804
831
947
867
817
864
806
952
873
942
939
950
976
851
884
969
904
931
965
985
811
841
983
903
801
925
817
905
807
806
905
988
882
872
871
966
886
892
910
957
800
866
856
979
842
866
969
894
947
903
830
942
854
836
843
980
806
915
865
987
987
996
827
867
959
915
832
815
806
961
997
963
808
982
907
820
880
882
848
893
843
896
956
924
907
963
905
965
809
990
812
981
953
937
909
997
941
854
862
812
876
890
870
951
882
939
980
909
806
873
929
853
876
816
888
831
822
829
910
880
983
939
952
924
847
853
982
966
970
812
910
858
892
883
972
978
988
840
875
878
814
980
847
989
804
923
942
989
841
822
899
880
883
938
857
887
869
885
910
892
999
832
990
913
852
820
803
968
998
939
977
893
955
874
935
992
866
880
994
967
914
932
841
894
888
917
965
920
967
902
823
908
989
826
886
875
807
800
878
949
987
854
980
988
932
904
822
900
865
818
804
960
951
928
813
940
800
868
913
819
844
1000
897
907
982
879
935
822
912
827
929
814
905
853
819
846
993
961
900
936
943
828
869
920
821
900
901
917
864
964
949
853
991
933
912
892
835
955
912
887
876
841
961
935
986
886
994
903
987
928
983
808
833
951
999
947
827
949
991
859
948
906
890
857
877
801
860
820
897
966
952
883
921
900
891
882
976
988
884
964
820
812
970
830
853
808
934
994
878
899
887
877
844
851
903
882
871
809
937
870
976
837
871
871
930
949
994
868
997
843
836
812
829
989
865
858
926
937
828
962
840
855
922
957
840
956
838
870
875
977
825
991
863
841
871
971
899
800
935
888
883
961
868
889
842
837
891
990
995
895
832
977
888
931
887
845
991
949
926
928
826
987
811
822
853
817
895
921
894
994
955
828
901
912
902
938
918
895
810
838
910
941
980
948
876
823
808
947
821
929
993
981
872
821
855
810
854
923
966
932
950
964
999
885
894
873
920
996
875
901
844
814
915
974
929
854
917
812
897
907
990
878
972
972
858
844
878
934
1000
914
981
830
878
849
832
836
853
996
840
991
938
949
896
981
803
843
819
926
982
802
988
848
865
969
943
993
996
909
815
971
857
802
878
803
817
953
869
885
878
872
825
881
980
989
829
971
822
935
813
837
947
935
803
904
870
872
969
813
833
828
932
892
988
956
923
983
889
986
927
902
996
826
853
856
934
832
938
872
998
911
862
805
826
950
916
949
946
908
903
834
912
912
901
983
891
961
907
880
999
979
843
889
880
850
820
825
900
865
878
933
957
884
966
899
994
816
874
978
921
908
853
896
876
810
801
943
963
983
865
857
946
816
977
891
832
825
810
923
813
803
896
825
878
892
891
900
829
814
927
986
863
816
907
858
919
890
874
868
835
846
866
854
920
887
909
834
901
984
849
802
917
808
864
935
876
958
993
877
933
980
819
836
829
948
866
936
876
904
997
808
828
903
856
946
814
915
941
803
972
944
816
887
997
804
957
862
820
958
993
911
839
900
936
841
843
933
801
857
811
944
968
909
831
971
942
811
823
1000
835
804
895
852
898
818
963
845
991
989
849
809
913
937
949
986
806
824
881
935
955
873
953
846
863
973
848
967
868
931
954
943
898
911
930
845
948
862
947
837
809
966
895
928
861
826
933
928
818
996
884
989
865
895
806
822
998
812
931
807
978
992
973
926
873
847
879
809
935
903
849
910
874
811
974
851
972
1000
931
835
993
810
921
865
896
929
839
945
807
971
959
903
984
828
921
936
855
909
890
870
802
957
897
895
800
935
879
835
856
873
830
816
901
894
832
912
932
892
879
804
941
833
820
865
958
814
861
881
976
962
999
872
914
965
906
953
955
967
939
862
800
881
895
878
869
839
877
863
928
876
928
930
973
901
941
915
991
843
842
909
966
935
984
948
908
809
952
809
843
862
835
872
928
892
815
877
955
930
856
832
980
834
961
878
922
816
902
908
863
912
995
870
874
841
968
868
942
910
888
879
912
970
869
960
953
942
963
888
968
889
894
971
945
927
971
978
993
942
915
844
892
938
896
819
972
840
980
832
946
838
841
813
991
915
857
989
955
867
869
869
964
837
942
956
983
934
956
851
869
893
886
908
886
830
923
932
916
882
809
898
908
822
986
929
844
952
865
880
894
851
901
999
978
947
838
849
901
976
952
889
942
882
885
990
976
805
808
841
993
987
832
941
983
957
848
909
872
833
820
956
993
821
920
911
843
842
998
891
970
958
860
804
824
999
1000
989
957
938
897
950
922
957
917
811
821
810
905
838
963
841
816
972
961
813
930
899
930
847
802
948
886
962
867
984
810
968
955
944
999
868
906
960
840
888
802
914
925
994
890
956
993
943
996
892
886
927
907
967
835
834
922
958
808
871
906
822
921
840
855
848
932
849
929
972
1000
995
872
892
872
862
808
850
991
903
973
907
923
808
934
951
889
818
986
878
800
939
969
908
836
958
902
843
934
881
894
918
989
990
930
880
822
886
861
815
839
874
833
850
891
821
998
837
855
899
884
932
886
887
853
932
874
998
930
890
801
961
821
892
973
831
932
809
840
960
917
998
889
841
981
847
922
891
949
807
959
897
924
904
807
808
816
803
1000
946
917
927
825
896
931
833
908
930
873
989
994
821
1000
811
863
898
1000
822
816
893
977
964
901
902
963
930
863
886
857
896
931
960
915
906
948
849
901
947
921
961
820
878
930
915
975
840
828
970
826
829
805
807
946
850
851
899
843
847
933
971
804
987
880
838
903
807
816
994
827
876
863
841
862
800
813
860
952
954
806
926
831
849
817
876
945
945
933
806
808
832
938
836
942
883
987
999
967
989
929
935
978
922
883
966
891
833
858
965
929
969
938
836
903
957
941
869
943
890
922
957
820
900
939
879
834
946
831
952
939
911
825
923
803
955
973
949
914
947
857
800
860
869
806
966
803
950
861
856
975
816
958
879
804
836
920
845
936
840
856
838
980
896
813
800
899
977
975
841
892
970
860
968
815
823
803
966
925
958
877
992
966
928
807
921
903
902
957
964
962
895
906
967
805
820
947
909
959
822
877
984
807
898
960
972
959
904
905
999
807
806
950
944
942
948
885
980
950
961
870
801
875
931
871
999
816
879
835
830
986
972
861
847
957
938
805
987
919
918
890
915
917
908
928
899
931
824
836
869
952
832
876
968
953
896
860
851
870
991
858
871
803
988
831
811
825
837
843
935
983
828
972
810
989
968
857
854
901
891
929
897
902
872
852
660
533
674
539
502
673
659
555
512
670
606
667
542
607
577
556
581
535
670
586
613
659
615
535
687
692
546
630
687
564
660
539
652
687
605
689
543
614
592
645
553
591
593
671
655
515
550
638
640
561
640
641
556
512
629
653
594
553
543
560
582
611
541
608
686
655
687
581
633
654
605
668
664
590
667
621
542
642
560
636
632
678
611
661
511
684
523
690
615
587
664
572
546
673
608
597
662
576
577
626
585
516
670
531
540
548
637
627
700
695
537
601
642
603
557
594
542
624
643
615
501
623
605
552
541
548
658
572
575
658
686
621
592
554
644
642
546
529
615
509
606
686
552
510
680
682
691
682
652
637
617
639
502
680
552
500
564
569
641
697
639
601
578
627
685
544
594
551
628
547
575
589
563
575
643
594
657
686
591
609
638
531
686
544
571
616
612
641
694
583
698
606
681
548
641
582
582
540
591
621
566
598
512
604
522
565
673
563
513
651
602
569
594
520
524
598
619
568
613
621
555
641
645
667
598
595
662
593
546
632
665
658
647
618
593
529
581
571
502
593
662
530
560
548
627
658
585
655
552
524
501
674
603
575
687
514
545
520
668
655
573
507
632
565
614
560
654
555
616
594
596
602
519
693
644
575
623
670
525
681
605
522
509
561
563
648
577
654
528
622
594
647
642
673
642
669
589
500
544
530
680
658
639
589
518
570
613
639
644
584
563
669
593
644
569
631
546
669
698
668
528
679
592
565
604
631
690
611
522
598
669
515
501
558
592
509
554
572
605
620
604
545
563
680
580
629
644
508
523
594
592
689
631
566
527
573
572
604
637
661
565
546
663
687
685
574
658
565
555
634
681
692
639
678
549
570
654
642
610
596
624
646
519
643
541
653
523
698
655
633
520
547
673
628
584
670
612
542
630
690
593
531
623
682
554
641
506
653
561
501
553
560
636
654
511
698
554
642
631
581
691
555
552
516
675
659
529
612
602
691
608
533
666
693
586
514
506
578
549
632
674
660
567
581
694
681
547
579
600
544
600
536
527
615
615
548
628
533
560
535
674
586
695
648
624
512
650
548
630
655
684
578
538
506
515
684
653
660
580
595
656
609
634
665
647
607
695
653
638
564
614
528
557
644
506
531
565
522
519
554
527
548
636
537
565
662
596
577
562
515
587
587
682
570
534
613
590
695
512
625
515
514
674
619
509
595
667
662
671
604
634
535
522
671
575
613
565
649
669
539
674
656
518
576
668
660
635
546
530
616
594
638
693
636
666
695
643
576
668
540
564
522
571
589
518
591
548
639
605
656
637
601
591
640
616
535
506
631
579
620
534
564
579
683
532
592
673
586
691
563
560
682
665
540
610
613
569
551
566
575
519
672
592
571
613
615
539
525
629
607
576
610
637
552
586
646
548
686
676
565
641
541
610
555
603
654
584
694
555
672
700
654
648
622
656
670
513
639
557
685
669
582
508
689
695
555
598
696
507
529
648
596
511
510
684
683
689
618
653
550
675
548
519
679
666
515
647
551
518
664
688
592
579
646
570
515
647
540
612
700
608
562
548
502
692
676
506
526
594
533
559
656
543
657
558
641
649
604
639
680
665
553
670
592
539
572
601
574
626
616
568
544
629
516
603
646
521
582
598
637
577
626
650
616
596
673
604
635
633
593
639
595
660
522
526
523
661
568
699
617
557
525
676
546
603
571
535
656
590
676
667
652
685
593
536
668
665
567
627
633
650
617
663
543
573
549
601
527
578
596
541
609
656
557
677
561
679
665
648
532
522
562
602
640
686
686
624
597
692
621
635
621
612
523
632
533
678
561
650
556
594
599
620
639
533
546
612
532
584
542
634
548
683
644
614
651
631
606
623
669
629
643
700
580
626
511
512
556
620
652
697
652
658
504
690
615
583
602
517
693
591
613
555
569
672
699
571
510
662
552
680
677
575
678
632
698
554
535
580
648
645
662
650
633
550
684
537
681
627
668
674
648
530
531
595
681
534
592
588
527
625
566
597
557
590
512
516
557
549
607
573
602
601
643
628
505
500
630
605
526
601
506
688
673
558
652
573
624
561
534
511
588
694
685
660
623
648
617
539
508
592
673
574
624
641
644
700
672
654
550
687
512
546
680
627
530
621
660
644
597
505
661
655
565
647
641
617
662
524
638
592
685
656
581
629
693
509
568
632
565
580
626
582
684
682
586
687
609
514
556
501
561
542
614
627
663
655
670
608
648
573
526
552
675
516
674
695
609
584
660
598
595
529
628
625
503
544
557
659
580
512
588
518
660
691
651
524
677
572
572
695
628
623
666
651
511
690
626
675
554
582
561
557
605
579
615
609
679
662
507
683
528
618
576
639
601
528
644
699
695
577
667
549
618
681
686
512
560
519
603
633
687
589
545
627
587
576
626
646
598
624
685
650
543
641
536
512
692
522
664
595
509
641
510
632
668
644
583
577
512
543
616
593
639
548
524
635
576
671
554
524
620
507
593
539
541
556
600
678
643
598
510
673
616
622
658
536
639
523
616
661
648
649
651
621
615
668
531
517
641
648
678
543
664
544
542
607
601
676
629
586
676
631
512
691
528
547
638
620
512
628
656
577
640
521
588
641
637
649
626
696
549
548
508
599
509
631
588
657
515
508
525
526
697
669
679
671
683
523
665
601
591
550
529
509
580
575
698
678
627
613
525
639
590
541
500
598
546
651
699
661
524
637
641
539
621
528
531
631
550
630
622
596
642
577
504
650
549
517
581
697
609
570
510
566
615
530
637
673
679
571
692
620
656
522
636
584
627
528
630
600
646
592
679
570
636
692
660
672
508
618
633
661
686
628
502
586
586
611
662
572
588
662
676
670
593
532
668
544
641
542
518
696
693
536
626
524
518
600
514
580
631
643
646
629
631
635
619
665
649
571
597
657
541
588
644
671
508
550
553
583
516
634
682
636
630
629
650
550
584
657
584
550
509
543
695
588
616
627
601
591
550
581
660
617
513
669
523
649
673
600
698
593
591
619
516
615
686
540
674
675
682
508
594
682
503
677
607
616
646
654
621
616
593
685
504
698
504
569
533
527
522
656
594
642
582
664
507
512
681
601
589
514
571
540
674
597
509
563
566
572
686
600
649
540
630
527
671
544
570
500
647
697
509
667
603
508
621
642
576
515
651
628
695
575
661
588
605
611
673
681
699
686
535
697
615
627
693
582
558
504
645
602
662
529
665
570
638
577
562
647
679
626
513
538
538
660
699
551
652
583
572
554
692
507
658
630
679
609
669
521
552
505
686
645
616
644
532
516
591
612
542
604
676
580
534
694
511
672
645
577
597
596
600
669
652
515
647
624
533
676
501
523
631
635
648
601
576
591
668
527
611
539
509
537
558
502
643
679
644
575
541
641
558
524
655
537
541
632
600
536
578
554
596
637
515
694
539
542
514
613
620
575
620
664
501
697
643
523
507
650
656
502
520
502
610
616
639
692
551
645
588
575
567
512
697
675
565
553
608
555
556
612
617
544
635
695
550
568
566
677
653
536
602
569
660
654
536
675
616
569
657
543
562
671
686
670
568
617
654
594
645
681
570
588
583
655
626
554
574
516
657
570
632
699
536
583
570
692
640
602
525
586
605
651
580
526
647
620
655
690
591
637
539
531
573
504
518
627
631
637
507
653
554
630
598
534
508
665
583
637
577
636
599
698
643
630
505
576
661
612
632
556
687
660
689
614
587
650
654
558
608
566
613
527
651
613
631
512
528
556
575
529
560
554
590
639
520
532
579
559
639
645
596
690
698
558
606
698
603
689
619
532
641
696
681
559
540
500
656
536
676
549
643
512
625
623
612
624
533
668
663
564
507
624
694
543
519
642
694
632
646
517
540
552
534
650
614
685
580
612
628
537
616
649
700
696
616
511
675
604
699
617
504
586
608
580
584
668
520
622
505
503
656
692
594
698
563
619
545
593
511
695
547
656
562
599
688
562
598
545
690
540
511
672
638
550
666
538
653
568
609
536
634
501
510
565
546
652
607
648
646
681
552
577
547
645
653
602
613
699
520
536
669
642
641
615
531
650
635
670
645
603
646
667
674
672
670
610
544
622
696
563
660
544
583
567
666
516
613
652
639
673
570
547
547
563
549
621
539
552
515
627
502
536
646
641
671
568
556
534
697
659
535
653
536
691
570
596
679
507
637
501
598
532
569
521
698
618
512
653
546
571
500
620
587
677
518
530
544
606
613
540
606
627
696
543
585
540
623
514
675
535
560
552
575
550
566
617
614
645
503
533
511
602
589
524
686
607
550
677
542
563
698
575
584
525
527
510
676
641
640
585
695
683
642
528
654
643
569
593
641
659
678
604
664
524
635
527
605
618
673
673
676
665
651
571
527
662
545
553
569
525
541
576
556
510
544
509
675
637
622
603
671
685
527
513
536
620
654
610
515
629
677
517
676
687
546
637
570
622
590
695
633
635
537
500
595
608
568
620
572
555
574
691
591
532
685
693
510
560
673
615
669
550
561
521
641
686
625
579
650
637
595
693
644
685
588
603
590
672
587
509
514
652
647
544
697
510
695
558
593
651
542
552
514
601
682
641
501
692
511
579
552
566
646
638
529
592
539
506
556
611
645
593
672
567
686
602
545
576
630
605
512
502
527
584
648
503
517
515
575
585
548
649
561
506
647
553
635
598
614
637
625
699
587
695
590
582
613
615
639
523
686
625
686
560
669
663
656
640
558
581
688
683
580
644
697
625
560
581
635
653
516
668
538
681
664
580
593
697
519
663
645
552
516
616
657
653
674
679
588
638
556
628
641
510
551
700
653
523
671
578
525
542
698
647
578
647
569
661
642
648
598
527
587
645
688
664
521
602
530
622
528
559
681
501
686
532
698
685
677
567
625
686
509
636
537
689
514
602
551
679
563
607
679
669
536
652
590
672
554
658
693
658
698
681
657
534
503
514
606
672
695
501
625
624
500
615
630
592
639
643
602
660
649
621
591
654
562
642
604
558
673
535
594
605
550
516
605
577
635
504
519
519
528
533
516
649
531
676
541
582
559
550
574
508
514
678
693
647
640
672
530
598
520
637
634
636
554
581
650
658
568
584
554
635
568
694
581
539
582
667
566
529
589
627
628
563
530
613
664
600
515
552
628
688
525
616
686
529
664
512
644
591
682
694
619
635
670
570
659
695
561
602
614
635
544
501
548
541
519
699
619
548
631
649
654
554
522
681
584
638
672
615
663
568
633
633
544
597
670
625
633
507
546
699
636
598
632
579
601
699
514
618
550
508
698
625
527
539
562
542
685
664
571
569
698
590
564
624
560
557
526
524
598
664
691
598
584
547
502
607
605
581
693
674
660
541
539
509
583
515
528
549
550
604
523
515
587
594
599
560
690
537
618
503
590
697
688
565
668
608
689
541
541
535
665
629
696
504
530
526
599
594
544
568
602
694
601
601
693
607
655
613
586
537
527
651
543
631
642
663
578
629
555
572
632
565
594
536
529
576
652
529
675
504
631
697
510
674
586
604
604
655
597
522
686
541
628
674
610
629
608
504
626
697
599
506
553
644
621
603
563
518
547
557
673
518
664
678
646
656
529
614
547
644
565
649
562
647
608
682
567
522
682
538
536
610
546
505
568
575
659
579
601
509
688
503
564
545
674
594
516
566
540
597
670
596
678
659
687
555
596
551
624
553
609
560
611
542
649
627
700
610
506
550
547
567
596
585
540
622
601
667
669
681
561
662
631
664
570
573
692
586
675
610
622
599
699
700
648
613
592
579
513
610
526
643
657
691
576
589
622
575
545
678
621
639
689
514
616
590
609
541
547
602
548
656
637
594
550
588
522
697
541
624
546
517
690
683
617
544
601
526
640
574
605
650
567
503
679
612
653
602
585
535
685
506
640
685
517
555
592
656
590
690
547
646
649
522
590
623
644
610
504
596
514
667
533
652
658
547
685
552
512
553
691
626
680
507
553
514
633
646
674
556
531
520
598
668
614
538
567
569
649
528
539
612
602
588
671
512
599
581
599
524
501
638
514
608
644
643
609
565
605
581
678
616
686
565
626
629
625
668
508
531
512
562
526
501
691
620
545
606
638
618
616
575
594
520
531
678
567
588
693
576
646
645
634
569
517
646
610
569
643
636
603
612
594
650
582
649
566
513
600
544
659
573
700
652
555
623
555
505
616
510
536
594
584
579
548
514
672
551
539
515
506
561
677
578
593
571
580
522
673
661
688
648
612
543
568
510
549
635
634
650
694
660
650
638
645
544
644
602
518
685
611
530
674
688
580
627
692
568
693
697
500
641
551
668
517
689
648
591
698
630
516
527
648
561
645
531
566
652
503
650
578
671
548
564
631
508
509
514
504
522
671
601
559
551
657
590
588
627
681
514
514
700
549
575
638
694
656
680
677
557
536
592
593
662
604
611
637
558
672
647
655
573
694
667
588
622
522
640
679
642
602
599
549
507
605
658
560
510
601
645
550
596
588
642
625
587
676
680
685
585
593
631
564
566
568
502
544
616
546
563
515
548
530
544
696
592
637
676
675
503
549
673
526
508
632
603
648
556
610
657
555
647
566
628
513
531
541
620
679
604
632
616
639
673
617
531
616
504
564
524
687
614
562
520
611
566
546
640
573
657
575
544
533
638
591
577
566
581
512
678
696
633
563
677
534
691
619
548
685
691
640
534
592
627
504
535
687
547
524
592
617
554
666
536
512
689
659
621
571
559
514
536
595
518
672
568
671
629
620
678
639
501
637
681
566
568
677
683
605
645
681
502
545
689
676
617
671
696
570
591
619
593
535
681
600
629
661
652
631
527
529
510
503
661
678
570
522
683
511
567
691
533
626
542
618
566
554
600
628
574
557
507
628
603
517
595
562
690
666
577
605
609
638
672
569
502
680
640
508
517
501
573
527
573
690
639
507
613
580
540
578
643
633
585
594
565
642
612
665
692
578
514
612
672
588
519
601
563
692
588
682
634
679
530
657
619
624
509
614
606
674
589
652
528
545
548
559
681
692
564
590
554
698
529
694
623
654
660
596
700
597
674
664
626
635
652
549
555
696
504
559
623
522
513
650
655
615
607
695
598
655
510
639
650
700
600
586
644
543
586
518
561
559
684
525
516
591
656
599
606
656
584
631
680
691
667
665
602
516
541
561
689
697
557
571
590
691
626
514
605
606
580
692
586
585
629
507
662
605
650
645
560
606
524
544
669
548
573
620
548
548
548
576
587
676
616
689
558
518
671
560
544
558
688
662
601
623
509
514
629
634
655
648
514
688
555
606
645
689
558
544
629
656
645
510
569
690
549
646
614
667
559
505
605
568
507
618
645
589
551
643
589
678
540
556
649
572
615
510
566
601
646
517
688
629
530
539
603
601
647
646
544
669
546
651
541
611
611
540
650
574
664
643
631
680
697
529
606
566
700
575
672
644
653
596
638
657
562
530
639
691
553
521
583
698
698
555
625
678
610
546
641
675
623
606
634
567
521
545
656
672
572
552
522
570
601
520
615
558
589
528
572
506
675
605
577
570
544
503
523
661
669
669
547
607
676
583
566
586
644
665
624
669
672
594
625
600
569
642
590
675
540
627
688
582
669
563
670
686
538
648
680
536
513
536
581
553
614
641
547
526
561
630
639
694
627
591
620
603
675
532
530
531
682
696
532
594
634
597
637
579
590
525
562
578
573
578
622
680
521
586
682
504
610
575
652
635
669
607
604
517
535
673
564
563
625
631
526
646
528
589
636
550
561
640
516
617
686
533
681
586
695
586
647
577
555
667
533
692
608
691
514
583
507
663
644
508
602
676
639
545
526
618
505
662
579
635
588
531
523
590
612
691
535
601
622
507
665
606
626
539
698
638
548
672
573
517
615
515
691
554
661
548
671
632
632
572
610
626
546
686
531
623
502
531
511
520
656
573
546
508
682
602
670
623
595
615
635
628
584
577
660
577
692
597
597
520
565
570
560
517
629
644
602
508
562
564
596
503
681
621
670
556
661
695
657
637
653
683
559
618
640
664
618
564
620
639
666
613
601
508
676
688
639
588
644
649
645
621
623
525
666
512
607
665
509
566
530
594
607
572
597
608
574
644
672
683
521
519
565
516
512
535
527
600
662
607
644
514
618
609
519
636
515
573
558
627
546
509
634
592
597
535
583
523
558
649
545
612
649
669
660
630
699
518
593
541
681
542
626
597
507
637
604
607
558
671
686
628
631
574
526
593
537
565
566
569
616
527
561
611
539
562
526
500
632
526
625
531
622
557
502
534
647
671
566
612
575
607
592
628
645
554
516
658
585
530
629
641
605
697
527
677
665
666
628
605
624
647
508
656
541
603
521
691
504
511
555
680
684
639
510
617
650
514
673
597
661
561
575
651
590
573
683
644
549
514
515
574
585
564
565
630
535
670
546
662
608
515
658
585
641
554
624
647
509
550
507
586
604
636
514
651
531
512
507
627
626
572
539
642
510
523
596
528
658
679
655
690
601
629
680
517
564
683
663
625
688
639
595
637
651
522
614
610
512
621
591
563
669
573
572
590
607
552
508
544
652
559
650
594
596
665
564
528
624
565
674
586
512
564
563
632
635
560
544
589
528
531
603
636
558
646
542
658
539
675
700
574
682
567
542
517
659
546
571
663
546
653
560
534
565
692
514
578
505
658
593
631
616
544
689
606
571
624
533
609
575
673
507
673
597
594
560
638
641
545
641
519
689
564
614
554
535
514
634
661
635
578
625
534
601
538
502
618
655
577
648
560
500
549
579
532
581
605
659
590
693
628
665
597
527
624
548
546
501
698
504
518
678
636
610
650
528
545
526
623
530
591
629
513
678
689
507
545
638
678
622
516
674
554
693
505
622
659
679
678
523
694
578
573
578
581
593
662
613
543
673
670
675
662
593
553
628
505
573
526
563
623
665
508
592
535
650
631
634
577
660
666
619
663
600
635
525
504
536
587
675
665
671
609
533
640
539
542
605
611
669
525
555
589
563
546
548
586
687
609
577
556
668
518
597
653
681
646
509
573
503
611
541
673
587
578
666
591
600
694
694
605
521
597
506
619
604
516
501
540
542
547
571
610
636
658
622
543
679
562
523
584
513
544
638
504
532
688
659
552
525
529
599
684
647
663
686
580
646
578
689
565
688
564
576
562
632
658
637
546
533
577
511
502
687
612
694
627
604
593
542
605
560
618
512
680
604
685
655
544
508
618
520
635
680
516
531
605
554
508
523
669
649
517
530
516
662
516
532
514
557
667
608
552
506
608
515
620
581
519
518
648
575
592
532
501
601
505
574
515
504
543
667
639
685
599
684
530
508
528
687
642
568
506
580
503
625
527
612
605
686
693
622
648
516
562
606
525
613
665
614
552
530
602
500
584
549
694
581
572
502
510
539
540
577
646
605
560
666
583
699
665
554
551
664
608
630
665
699
603
531
523
586
608
506
546
514
681
695
605
630
533
602
559
641
622
619
647
622
523
607
685
563
534
529
641
517
535
603
583
597
665
525
612
610
598
621
613
696
551
519
666
531
581
589
533
506
528
532
597
512
642
554
657
671
555
555
553
622
689
694
542
667
600
596
630
679
654
609
529
521
687
562
633
520
604
556
554
684
578
613
590
591
630
502
679
525
600
675
652
671
643
524
560
645
517
658
517
699
547
543
605
644
612
519
611
565
619
559
637
656
553
542
604
654
684
568
520
527
559
665
521
577
680
608
527
612
583
616
687
568
577
511
535
674
533
547
618
600
523
669
544
615
582
610
675
580
564
568
646
550
572
566
589
684
522
574
585
510
578
694
546
552
530
610
645
605
569
526
536
622
554
638
627
612
553
554
609
596
524
683
564
607
508
595
522
699
502
684
683
505
554
650
600
542
509
625
578
643
520
627
552
622
539
562
631
589
535
566
589
585
661
661
606
551
637
557
503
631
632
698
541
671
598
508
684
665
532
623
633
613
673
681
676
629
562
663
689
534
624
641
679
607
651
601
589
559
511
643
626
699
685
575
689
684
590
560
522
581
649
581
651
636
586
598
509
688
613
559
689
559
544
651
511
569
672
543
664
639
531
671
509
684
601
580
603
540
635
589
627
678
584
631
638
579
572
503
692
600
551
667
617
667
581
620
631
559
502
515
692
687
570
663
554
513
601
568
626
573
621
524
568
500
537
538
599
616
597
652
684
651
669
628
584
677
563
611
670
523
605
552
666
558
640
573
602
641
502
684
637
601
609
604
681
681
569
599
653
624
534
523
544
596
548
675
668
649
631
679
522
609
695
526
653
593
557
692
638
641
677
630
653
525
610
572
696
553
592
515
504
629
639
551
587
635
573
577
550
612
699
664
561
602
529
580
528
700
558
507
603
570
633
656
625
654
671
590
566
669
592
593
556
651
568
515
676
647
648
563
514
640
557
571
598
531
600
535
543
647
661
694
540
536
503
617
518
676
563
526
599
645
658
623
625
640
677
583
561
662
555
681
582
685
674
637
684
614
584
658
672
667
670
599
561
572
611
648
643
569
532
609
647
614
601
522
690
653
613
554
699
538
577
581
672
603
621
568
508
570
647
686
694
506
590
516
689
685
519
508
512
651
689
663
557
610
615
519
657
541
527
612
655
589
557
597
535
551
661
683
684
529
609
518
516
604
577
660
519
595
587
546
504
561
515
654
514
600
587
698
649
614
694
575
503
605
620
685
678
657
511
671
581
550
670
577
672
504
543
658
621
516
694
534
700
649
521
574
607
603
603
523
508
667
641
654
607
623
637
665
645
667
515
700
656
593
530
511
550
548
605
665
590
616
666
515
521
574
655
578
531
564
687
650
533
586
536
607
529
548
601
632
645
581
682
645
665
598
686
538
574
554
535
593
546
656
684
530
555
628
563
609
517
651
506
691
524
670
546
657
548
575
589
502
500
547
540
516
624
513
514
678
696
526
659
643
595
588
537
551
518
618
567
683
596
512
697
618
560
521
539
656
952
992
993
918
847
871
957
872
935
876
812
936
804
895
824
815
913
802
898
861
807
981
959
986
815
804
899
989
913
912
849
963
898
825
877
945
850
891
989
812
846
879
949
800
932
952
818
921
846
979
805
915
936
887
967
866
935
906
887
995
970
869
959
820
970
866
974
996
999
962
830
804
920
830
854
992
822
817
827
852
903
842
981
974
883
972
820
936
923
932
857
881
823
917
998
915
873
966
977
967
917
912
912
949
909
873
995
986
1000
992
925
881
981
859
859
923
920
858
941
841
941
986
950
985
990
861
953
883
976
831
947
965
951
983
961
816
966
954
893
812
975
931
978
955
919
966
849
898
852
841
861
942
856
950
859
846
807
980
822
980
867
999
807
975
878
826
989
966
991
915
894
954
853
824
983
947
960
912
874
848
996
990
899
861
809
946
876
917
965
933
946
882
870
861
949
948
803
988
946
861
911
836
901
839
880
880
873
950
871
963
955
823
952
834
953
902
952
934
920
876
827
910
891
999
947
996
889
871
921
988
870
825
888
939
913
915
911
852
932
931
884
922
941
815
814
878
864
967
841
903
993
828
847
861
856
999
957
846
891
914
863
986
872
942
807
890
936
849
873
819
881
917
889
911
934
926
865
942
914
981
819
970
906
809
993
913
804
941
859
947
878
898
918
847
997
948
896
918
947
823
904
855
980
900
941
918
953
941
814
987
930
974
835
904
832
983
996
873
870
930
972
960
927
899
880
889
824
871
820
838
832
912
828
862
842
972
881
806
893
979
829
913
870
816
814
868
941
835
816
863
859
822
970
850
888
931
819
983
861
908
966
831
974
827
909
978
867
930
918
987
885
988
892
893
878
809
967
827
840
963
890
898
853
901
889
977
842
842
994
827
1000
800
939
929
865
926
895
956
838
859
815
804
837
980
816
979
967
834
884
834
969
865
927
986
819
902
973
819
834
908
961
891
832
893
967
960
974
974
938
876
988
838
996
940
986
912
880
842
856
905
840
979
991
920
902
831
874
923
824
817
945
882
848
865
882
855
901
899
977
861
903
960
873
818
854
821
924
840
921
992
809
977
816
957
880
868
947
904
847
921
850
954
937
896
924
939
885
870
926
983
803
992
901
932
976
877
832
951
987
837
897
918
810
861
992
914
822
887
879
813
951
836
810
843
881
864
811
889
889
941
929
864
852
811
969
834
861
949
956
849
975
829
962
824
949
846
803
903
848
913
885
947
951
822
907
918
981
838
972
933
853
870
812
845
895
819
969
826
856
977
927
852
869
887
854
976
940
870
865
915
884
960
892
816
846
993
933
818
900
868
916
906
872
800
980
854
878
812
927
851
890
895
838
937
949
996
998
837
896
858
870
931
936
931
991
870
842
871
858
884
901
807
841
845
887
882
800
884
803
809
806
928
955
922
836
843
843
925
873
984
955
900
993
986
890
931
895
801
887
816
826
839
942
987
902
901
984
847
959
983
948
871
912
961
931
846
856
927
932
933
848
999
835
856
868
914
851
978
913
939
905
945
936
992
819
869
894
805
823
964
881
913
827
886
922
886
872
970
808
911
843
863
824
985
910
943
941
802
841
997
894
925
838
875
835
968
934
827
832
913
855
847
890
956
936
860
862
919
922
840
937
811
935
825
993
877
858
996
821
874
934
828
989
875
934
980
853
912
996
811
836
856
974
853
946
980
837
821
861
999
972
946
876
868
984
830
966
961
833
823
871
883
807
867
988
977
894
802
988
981
898
820
914
867
941
973
906
913
882
823
881
983
811
890
984
846
904
944
911
990
808
829
845
833
984
862
975
968
823
933
836
934
994
985
849
816
818
960
829
926
918
970
838
884
975
843
865
945
977
906
807
867
986
927
860
867
873
895
806
809
880
898
829
987
976
889
886
972
814
917
896
917
940
938
910
865
912
863
985
827
901
961
807
917
988
818
874
821
868
826
855
886
831
810
961
953
913
806
826
813
873
804
866
964
873
816
961
817
824
841
961
802
914
860
826
826
915
929
933
957
842
966
929
898
814
932
869
997
805
886
814
831
995
817
966
816
841
849
870
903
817
829
946
835
934
823
980
975
825
843
947
850
935
958
806
925
897
849
862
828
974
980
987
922
900
828
904
918
989
891
976
980
812
830
845
903
859
915
902
885
988
948
810
920
960
847
899
849
841
961
996
962
928
891
959
968
865
948
967
811
914
865
811
886
936
922
973
985
909
892
912
859
958
834
816
901
837
858
875
939
925
972
998
805
923
863
983
867
953
861
892
923
969
889
872
968
960
851
837
892
906
858
911
835
824
800
865
912
847
804
863
834
964
960
993
826
938
821
888
852
870
816
877
988
869
952
921
902
876
905
923
940
949
993
977
990
978
866
857
971
972
902
818
959
831
893
875
842
997
870
838
844
870
804
866
891
920
807
857
972
918
901
952
899
891
931
987
843
951
932
844
899
842
929
966
974
899
816
979
936
909
948
926
959
970
879
907
813
902
913
801
839
962
910
824
846
854
876
995
877
885
908
900
832
833
982
858
908
953
948
948
954
851
970
986
844
832
876
908
835
964
846
829
811
832
995
868
944
883
863
884
996
861
991
806
957
960
924
961
890
893
936
904
916
877
940
991
818
901
969
904
995
947
910
912
909
991
882
844
966
954
895
817
998
860
995
814
912
974
988
947
840
862
928
815
871
803
951
921
895
841
971
815
960
996
866
827
981
914
897
914
908
919
939
921
904
991
838
861
969
861
810
928
877
897
857
860
907
988
902
911
997
807
830
832
847
857
910
911
817
969
987
828
885
897
843
914
881
843
848
866
870
833
936
841
831
911
981
892
856
829
902
923
818
897
921
878
862
919
866
985
963
924
956
959
922
863
961
968
879
909
800
883
997
934
939
816
921
806
888
803
813
853
991
848
874
834
923
957
979
985
938
874
920
853
834
857
877
869
952
819
962
880
881
981
952
925
917
852
889
916
970
935
987
933
901
983
942
800
892
975
945
887
917
950
856
979
813
969
960
926
832
905
857
814
895
930
810
892
814
983
945
914
895
938
920
977
832
833
846
829
935
994
982
883
947
915
815
856
912
805
980
863
806
853
993
828
838
820
998
988
902
838
825
973
802
933
846
872
970
995
883
961
864
923
845
903
858
813
807
904
863
932
846
944
850
846
950
853
965
979
979
880
992
955
958
924
858
867
811
884
811
962
884
906
908
822
845
964
895
878
971
963
878
815
838
868
870
994
916
977
871
823
919
900
863
826
839
975
864
867
932
854
942
860
933
869
949
955
821
993
915
808
860
812
882
833
883
974
865
920
996
889
827
918
822
993
971
904
870
977
944
850
915
921
865
961
955
929
825
957
873
922
939
936
901
862
826
892
856
972
870
968
911
974
968
859
828
958
959
890
910
847
870
971
823
929
885
860
919
832
853
843
854
881
815
812
972
842
872
806
832
996
846
814
932
945
934
862
936
807
814
928
873
994
830
827
896
961
892
855
809
948
915
838
814
921
890
849
856
937
852
947
813
968
851
802
984
929
836
989
842
857
825
888
911
842
875
860
914
912
998
977
863
922
967
944
811
933
983
916
878
901
805
935
858
937
814
836
979
902
895
817
911
932
976
898
926
923
905
803
872
881
928
912
925
855
863
978
913
992
930
846
937
924
888
865
888
834
986
990
938
962
868
948
843
855
941
820
975
999
848
929
902
861
860
944
916
930
902
851
975
858
828
905
993
931
900
874
992
847
837
882
828
962
860
866
935
959
934
820
957
808
868
947
889
891
876
931
973
952
836
921
810
942
892
908
951
926
801
932
957
917
999
912
997
926
800
831
996
823
990
839
831
958
812
998
951
812
851
845
846
897
903
821
880
830
817
805
992
828
837
884
902
895
984
916
959
874
821
868
940
987
800
903
882
915
950
949
906
882
810
809
882
825
823
926
972
878
903
818
801
844
951
969
938
984
808
980
943
838
996
848
992
933
849
934
852
855
991
984
853
990
875
936
844
993
918
845
963
913
939
888
940
837
909
924
875
825
895
973
944
824
822
863
821
802
931
948
829
969
944
997
946
886
825
816
983
938
889
894
812
896
887
928
876
975
860
883
862
834
974
888
919
825
932
887
840
836
984
813
806
858
818
878
967
913
953
920
838
813
877
897
982
804
944
989
801
890
815
855
920
874
915
809
947
881
930
943
921
878
900
940
830
856
849
960
809
945
820
878
996
836
828
920
947
822
886
877
855
907
901
988
903
924
909
976
838
878
810
992
835
923
802
818
937
828
821
940
904
981
926
992
973
945
990
935
834
840
847
989
987
826
885
919
817
949
933
828
853
912
818
888
914
823
896
962
870
944
975
883
949
999
973
872
850
964
905
807
845
980
886
987
977
994
937
968
959
850
958
904
814
923
970
803
973
931
984
980
837
942
999
995
889
909
875
895
851
831
852
975
805
811
980
806
944
961
898
809
850
977
893
860
835
958
872
863
915
859
867
863
803
852
808
805
853
977
942
947
900
837
928
892
804
858
861
852
866
984
887
828
913
808
980
896
996
1000
964
859
942
925
802
1000
856
922
973
906
979
934
942
834
838
812
916
918
861
840
974
810
978
973
977
874
882
808
811
958
871
821
942
972
948
853
841
897
930
894
801
823
903
813
980
936
913
993
811
874
979
801
981
814
884
813
843
938
949
895
804
837
868
861
958
963
920
881
930
893
995
885
803
952
991
877
975
911
828
971
972
892
969
979
888
980
814
854
891
871
908
832
806
906
819
918
967
833
871
807
945
965
890
979
803
882
977
813
945
953
916
884
983
874
977
804
821
978
976
859
805
945
975
939
840
842
919
976
828
956
883
945
837
988
990
800
913
820
998
824
933
959
871
938
993
809
818
805
865
839
999
972
871
985
860
813
997
891
975
937
965
912
924
821
903
928
958
925
826
971
982
989
999
831
905
803
862
990
818
925
904
950
994
856
979
853
814
886
954
875
858
998
830
962
933
836
873
995
936
856
867
905
936
812
849
803
914
870
941
935
814
848
836
857
885
940
886
911
982
879
953
831
914
869
825
865
978
961
981
825
964
890
806
934
937
804
991
842
868
908
1000
921
856
903
930
994
922
833
880
811
865
898
1000
948
913
1000
980
987
877
986
889
981
940
900
982
930
970
938
960
828
808
886
991
965
827
910
900
845
903
858
934
848
961
829
819
878
823
993
874
801
903
836
854
815
817
857
991
995
974
889
827
914
871
860
974
809
957
954
838
937
828
898
813
963
854
968
933
912
873
916
991
985
934
813
841
815
826
827
931
824
927
816
843
904
972
957
807
821
906
812
805
827
828
807
993
961
826
954
845
816
976
973
842
852
852
855
834
915
948
989
924
835
850
956
889
971
806
881
860
885
894
857
875
1000
859
846
849
905
827
839
809
882
805
950
933
885
837
937
945
969
805
995
873
816
890
864
878
882
920
820
843
858
853
950
800
877
823
816
886
994
960
863
831
893
827
931
953
855
849
875
959
862
806
941
961
853
924
932
867
826
998
920
803
980
912
975
871
931
914
830
822
975
831
851
819
905
832
893
847
884
813
932
844
929
810
888
836
833
951
987
907
945
957
854
896
828
818
806
946
857
933
980
964
904
813
833
878
892
824
962
921
901
993
872
889
943
885
989
879
863
891
814
910
803
877
978
808
897
891
819
933
906
875
885
843
977
820
930
924
802
915
854
823
891
863
911
850
881
894
958
968
972
883
982
810
931
927
959
926
861
948
983
987
874
948
847
989
858
996
958
914
936
820
826
962
889
826
826
882
914
884
916
963
823
985
820
932
847
871
801
989
807
980
843
852
946
848
826
866
940
970
955
1000
822
959
859
995
903
918
807
830
898
833
963
848
974
971
956
904
906
935
852
891
913
994
843
837
802
979
874
890
889
970
821
974
938
861
801
963
801
866
916
857
912
911
822
843
974
836
912
837
921
844
837
981
939
995
833
919
884
819
1000
873
879
957
934
908
803
924
852
989
873
840
833
821
992
952
880
813
974
800
951
940
913
821
988
991
915
847
865
935
961
990
829
829
913
861
926
887
828
928
943
872
939
944
975
947
805
930
981
807
978
956
833
854
896
961
997
872
994
872
824
804
860
870
854
873
872
998
940
969
898
849
917
847
956
855
836
947
932
856
873
894
943
822
983
821
921
804
916
820
845
974
958
894
958
953
923
875
965
979
889
897
835
992
807
994
860
810
861
988
921
824
967
968
884
859
903
980
868
806
933
838
921
946
922
902
817
863
868
857
846
803
857
946
868
946
909
803
907
832
933
951
870
928
829
962
915
863
849
982
946
936
830
897
808
815
841
837
949
855
987
999
940
851
844
865
875
836
948
900
997
802
993
842
973
826
952
935
803
830
871
842
930
976
986
892
854
919
985
932
915
879
893
874
930
945
951
950
981
993
1000
974
900
984
990
945
883
933
801
996
810
912
889
924
826
964
955
836
879
854
940
826
855
924
931
869
804
821
964
914
970
992
856
853
971
824
940
973
862
804
998
869
841
975
848
825
856
869
983
951
860
872
975
907
804
877
809
810
968
877
832
897
973
950
982
961
903
927
880
965
928
945
868
800
930
860
864
827
871
816
859
999
856
840
935
961
892
865
899
977
809
908
989
914
807
971
981
890
881
888
932
981
841
919
930
934
841
897
884
995
951
948
954
960
850
909
922
820
968
909
995
937
942
936
956
890
984
889
941
923
818
856
997
840
903
976
854
849
955
809
948
913
912
885
932
848
934
979
829
994
917
859
944
904
931
825
918
945
983
983
950
872
845
917
928
808
877
832
856
862
854
837
863
802
862
815
912
880
806
884
940
977
863
850
849
971
914
836
910
803
887
926
983
903
833
831
977
931
879
922
814
831
917
941
828
816
866
990
909
921
976
831
934
849
834
876
967
968
956
868
872
912
887
954
861
895
814
815
803
957
942
942
814
837
802
824
869
897
801
894
947
842
865
985
916
856
992
945
947
894
978
888
885
980
995
925
884
817
940
871
939
869
991
926
879
812
879
844
824
835
875
983
879
807
967
931
850
966
962
847
811
823
845
907
806
977
871
851
831
859
838
849
989
903
905
913
967
839
970
883
850
838
884
827
872
860
817
872
860
877
823
807
981
988
816
978
946
900
872
910
943
862
856
870
841
818
935
842
960
910
921
812
913
932
989
936
990
999
961
807
884
888
814
851
980
827
801
951
992
804
859
885
959
960
901
881
879
903
848
989
818
897
998
864
857
939
822
938
997
852
975
994
961
977
880
945
890
879
984
803
819
801
866
890
800
928
970
865
936
945
893
977
875
832
999
949
867
942
973
981
967
940
953
930
904
832
948
966
800
918
901
816
859
917
940
913
950
930
821
883
807
931
935
946
995
807
996
878
939
809
891
902
951
934
987
848
914
904
990
984
983
900
941
833
993
871
989
900
824
882
992
876
954
902
856
927
828
925
855
984
811
915
878
959
853
905
808
802
826
807
864
978
873
902
838
863
907
814
802
808
904
805
855
898
921
800
942
829
879
868
966
845
800
868
999
933
977
820
933
824
953
928
996
863
932
959
954
867
978
992
875
999
1000
958
817
954
987
871
964
943
809
933
957
907
889
893
818
841
807
825
958
983
855
853
931
905
858
859
834
939
967
855
954
993
870
844
968
823
982
892
959
990
917
868
832
961
827
810
975
877
936
833
870
843
953
847
986
841
930
823
914
865
986
958
843
981
938
859
955
939
892
974
909
950
947
828
879
912
985
973
913
905
859
888
849
803
985
991
813
888
847
906
853
939
886
849
982
931
953
812
921
999
923
836
800
884
926
844
998
966
864
848
915
979
919
886
842
913
885
977
873
812
957
917
805
991
962
949
822
857
846
929
816
835
906
993
955
829
932
944
862
999
817
866
889
826
831
886
970
868
870
875
965
884
980
875
936
930
871
968
840
938
942
985
918
966
865
821
873
891
830
800
895
939
969
803
949
948
932
863
860
953
894
989
856
990
810
879
852
959
886
967
942
939
956
823
822
848
920
1000
961
864
852
874
926
846
894
983
855
983
830
899
921
846
855
883
838
983
932
805
848
834
944
908
897
946
849
801
807
928
853
806
963
890
993
937
965
943
813
868
804
946
829
878
881
976
831
916
870
894
946
986
911
808
887
989
882
990
922
961
961
880
816
957
975
800
937
887
854
943
975
866
924
972
890
814
819
992
862
935
800
977
817
843
932
872
856
978
938
890
809
993
964
940
999
846
979
849
869
845
891
988
912
979
904
987
974
882
916
882
955
820
922
962
987
830
989
921
915
877
840
989
975
818
867
992
826
873
835
968
912
847
829
926
896
954
857
987
979
880
895
815
848
852
865
899
896
807
978
875
828
888
890
800
843
815
810
989
888
983
867
926
828
862
997
804
952
898
853
992
848
945
833
817
939
872
820
861
836
977
918
922
979
805
806
955
992
806
970
977
885
823
990
807
827
956
841
844
970
933
924
909
827
857
913
826
872
865
989
925
899
967
957
960
834
811
901
908
980
848
924
957
954
943
982
836
971
938
801
936
940
863
909
816
888
889
889
841
895
944
980
825
912
961
845
823
847
898
1000
938
879
888
983
896
816
881
865
826
983
847
899
871
876
831
812
813
960
943
903
884
923
990
823
830
816
983
967
903
913
947
890
867
850
805
938
834
955
909
864
877
971
819
901
834
963
897
949
884
819
992
810
965
964
963
932
841
836
918
932
946
908
977
975
866
815
832
928
829
965
817
921
999
981
901
815
990
838
947
810
932
942
950
903
959
963
909
835
866
891
807
984
851
935
855
1000
884
883
957
817
902
974
843
898
820
982
840
949
823
959
927
860
981
811
851
947
839
905
932
902
809
993
963
814
897
947
978
932
911
808
907
857
828
950
855
840
942
979
970
946
833
993
808
952
885
941
955
864
964
980
975
991
897
888
804
940
968
983
804
970
814
818
864
941
869
871
923
912
962
949
978
900
823
999
973
884
819
999
909
882
920
864
956
943
808
942
835
837
956
981
823
846
913
915
903
898
901
980
841
802
846
863
911
991
943
983
837
868
921
999
899
870
835
807
970
946
847
911
872
947
963
997
869
970
868
887
877
844
983
807
846
854
835
882
871
830
938
887
892
833
961
801
992
904
881
893
938
840
975
854
814
883
981
909
861
855
968
970
963
852
936
828
981
859
975
882
943
962
987
811
879
954
869
915
818
863
946
849
929
953
917
892
883
949
973
976
906
994
878
944
851
986
941
828
848
928
895
854
805
850
906
816
889
807
845
973
809
1000
954
986
978
820
1000
999
934
879
825
926
815
861
830
985
866
909
909
819
829
876
917
942
897
817
889
807
992
952
859
847
965
945
906
877
825
882
951
941
992
872
961
853
834
918
885
917
809
858
924
803
924
837
1000
994
947
844
962
844
990
887
847
950
921
996
863
927
899
977
829
802
918
908
814
996
948
896
875
850
941
929
943
986
857
986
864
911
855
895
825
899
801
990
998
865
857
924
849
829
873
950
827
855
943
1000
974
920
828
923
828
877
987
933
835
889
868
894
966
955
957
919
962
972
922
976
928
970
807
824
898
803
869
961
838
966
880
935
884
988
832
944
821
959
827
876
823
923
809
849
939
848
824
872
829
810
964
888
807
831
991
939
920
932
832
813
809
946
956
851
812
925
974
872
856
960
823
846
908
896
828
896
986
893
954
912
820
842
968
864
913
849
965
801
918
873
849
876
955
942
928
945
935
879
997
837
875
983
907
876
847
927
802
893
894
979
893
876
858
958
850
826
987
978
949
987
868
925
939
828
903
969
960
977
820
925
836
964
994
999
876
915
872
820
969
803
850
955
900
966
809
853
869
853
925
875
952
806
996
908
994
897
905
830
988
845
899
862
817
951
875
872
843
878
858
922
907
841
972
996
893
971
828
922
980
974
869
807
942
816
972
907
936
967
932
932
898
816
976
907
947
932
973
835
892
853
980
993
1000
945
893
880
989
859
823
921
800
841
931
808
855
983
907
884
872
836
871
984
937
875
869
876
938
873
858
859
989
985
967
919
813
872
921
863
821
893
905
969
879
830
910
854
851
835
909
837
924
996
926
948
842
970
954
919
890
871
828
974
996
860
901
883
809
867
939
964
854
913
800
823
806
968
904
948
864
803
992
948
947
841
805
922
849
837
882
837
990
977
836
979
898
987
867
926
853
987
833
891
979
857
859
995
945
981
967
904
885
826
998
805
824
926
968
865
821
874
898
959
816
919
957
910
880
860
880
920
874
915
920
838
939
940
964
938
945
881
944
961
959
995
821
836
813
889
811
815
957
830
983
892
830
810
931
997
909
873
980
977
924
981
938
866
816
921
889
928
975
865
966
930
948
877
845
855
1000
917
807
950
812
853
902
837
957
849
833
819
925
869
948
874
869
911
952
907
973
877
817
808
948
956
915
826
863
917
932
965
861
998
890
827
918
953
878
980
998
802
878
810
936
989
993
865
896
941
811
1000
904
919
998
891
804
805
957
941
972
924
867
934
993
992
984
885
991
821
910
990
804
832
894
907
866
909
904
904
945
905
825
951
916
914
962
810
846
985
988
834
907
823
972
923
834
854
890
865
802
919
975
955
967
818
838
949
920
817
926
853
860
943
997
931
897
998
937
884
918
848
949
836
915
860
908
840
870
872
910
986
845
909
974
863
863
853
830
921
982
995
857
912
866
830
859
890
868
944
916
888
901
871
807
904
803
963
905
987
817
952
979
952
890
826
811
977
881
846
823
945
948
817
906
826
956
974
889
806
880
824
816
872
902
820
951
837
969
850
883
995
893
872
978
966
807
833
973
854
998
898
845
824
938
829
983
815
965
831
861
863
986
974
957
951
901
894
808
963
985
809
937
841
974
989
972
857
874
954
920
858
833
880
882
870
832
826
998
879
899
852
880
954
911
849
818
835
838
846
872
863
921
811
830
917
980
664
532
592
555
603
618
608
694
525
591
551
664
689
578
503
590
608
665
506
644
670
581
625
531
655
534
557
648
642
515
651
581
676
637
690
606
684
525
625
622
558
520
651
525
657
595
582
678
565
585
688
639
583
638
633
627
642
683
645
658
573
520
599
642
655
631
697
630
569
686
658
569
669
596
562
516
642
507
606
582
583
548
554
669
559
659
660
692
634
548
510
522
660
630
551
589
544
539
591
530
669
648
568
647
694
682
552
668
638
553
679
525
669
550
616
566
648
657
626
582
534
523
593
555
596
665
669
516
688
504
570
524
699
646
568
529
684
538
621
608
513
507
688
678
682
592
532
528
573
689
690
619
570
598
696
550
606
662
508
554
595
672
551
589
565
670
519
580
511
694
623
564
668
691
614
668
573
509
606
511
555
517
655
557
515
594
502
537
586
620
662
542
593
571
639
658
655
688
577
681
693
508
681
608
534
552
619
669
524
672
551
635
591
657
589
601
644
528
515
541
589
561
530
545
589
533
672
549
689
613
616
686
500
635
513
592
583
679
652
700
515
667
612
531
573
601
534
635
540
620
614
541
531
552
534
687
562
508
645
687
634
658
656
582
651
530
663
690
660
570
680
501
682
656
653
700
676
530
634
540
630
669
573
642
694
642
556
529
677
657
501
688
695
589
570
517
569
613
534
506
678
509
585
530
549
516
601
641
624
555
697
623
576
586
558
644
588
509
512
531
517
553
552
668
649
525
539
598
582
663
630
658
698
634
541
525
516
653
508
621
632
634
525
592
542
691
685
577
577
628
571
538
649
560
621
597
560
623
589
685
652
674
657
617
561
502
598
588
561
698
523
598
627
627
643
690
625
655
697
624
604
681
638
505
599
512
659
626
697
616
575
524
669
506
568
676
556
621
604
547
538
628
522
532
635
633
621
666
696
573
609
668
625
561
639
561
609
520
591
566
570
590
598
577
645
522
682
679
537
611
534
630
658
571
503
664
659
500
613
621
567
529
629
524
558
508
529
634
667
688
526
637
528
607
624
569
513
689
687
666
590
534
601
511
610
680
598
662
515
529
686
530
575
632
683
501
524
531
592
593
500
598
558
569
574
517
576
503
584
501
567
695
535
556
681
528
660
646
535
512
667
548
510
589
618
698
617
637
514
521
610
587
609
611
569
671
683
628
534
543
500
591
527
616
527
631
610
625
687
631
674
505
660
622
649
643
626
610
521
671
694
503
537
597
700
532
680
611
599
595
608
647
552
587
521
631
608
609
661
554
659
531
646
518
605
549
646
681
538
671
512
693
632
625
589
500
567
542
657
550
632
633
617
678
690
610
690
652
589
672
630
513
593
626
561
660
674
576
627
679
650
679
537
673
577
674
625
681
573
697
554
598
627
699
646
674
692
593
504
694
547
545
549
687
543
691
521
542
625
665
538
539
569
649
502
620
696
654
562
662
574
635
628
668
591
580
598
634
598
611
563
671
591
678
624
674
636
551
653
524
655
661
657
637
660
559
559
569
607
523
626
583
544
616
569
557
538
628
686
514
526
695
648
519
652
558
534
572
677
663
591
685
580
680
681
619
569
641
670
558
699
593
675
599
650
655
520
572
593
527
617
594
565
559
629
685
589
546
567
548
511
610
541
506
633
640
696
698
558
596
577
564
519
646
625
622
521
594
510
580
613
611
657
550
553
658
685
525
567
586
506
608
547
699
530
604
700
655
672
555
618
652
558
544
553
605
592
688
517
670
612
659
618
532
650
502
672
606
666
685
603
588
562
510
588
559
598
650
517
636
530
644
522
550
686
686
587
581
578
562
596
562
634
569
544
558
665
566
590
682
533
629
530
697
501
631
675
550
670
648
615
593
553
540
586
574
509
700
545
569
587
673
674
597
519
578
695
529
692
526
666
639
528
505
642
670
668
560
592
665
669
513
661
501
597
549
648
553
658
638
518
565
576
635
643
527
696
553
520
644
666
515
642
506
615
519
586
645
659
568
580
637
569
640
504
667
614
668
661
657
605
541
666
590
691
696
525
616
515
506
504
653
648
621
613
596
675
616
650
622
635
585
510
514
678
675
682
500
668
630
509
572
510
666
560
636
529
528
690
697
654
613
514
536
680
592
576
687
556
602
602
580
543
507
571
562
508
637
551
504
658
637
687
619
622
595
551
612
599
591
693
591
505
526
661
533
692
520
653
588
675
659
607
610
562
628
659
646
544
687
605
556
545
599
588
589
650
523
522
563
502
537
698
651
523
519
683
606
637
577
506
565
528
649
561
629
626
523
537
645
583
542
559
602
629
570
673
588
608
679
679
549
552
642
515
657
570
523
583
657
683
675
615
592
610
613
648
565
658
628
553
535
518
549
511
561
627
696
698
592
571
665
658
681
630
676
607
642
600
586
586
683
673
532
548
524
583
563
609
627
533
616
561
617
667
539
537
629
656
643
605
651
659
695
535
527
566
700
680
520
514
639
652
528
600
665
653
695
655
615
542
531
665
662
506
600
568
601
598
545
622
665
541
676
520
593
606
532
522
651
585
595
692
627
614
679
595
623
531
687
611
659
512
525
501
616
532
686
538
631
540
661
502
574
630
606
513
586
695
588
683
511
656
518
687
696
515
502
584
567
539
663
606
538
586
569
605
505
624
513
692
507
604
666
540
614
567
564
672
568
606
686
655
603
601
529
666
591
628
629
656
585
673
690
555
699
583
652
598
500
688
697
616
540
675
670
534
535
638
543
666
551
652
607
632
570
694
546
502
523
511
632
646
691
672
662
635
546
554
629
628
506
621
529
677
581
546
697
587
619
690
681
514
588
512
604
606
601
555
586
559
542
561
692
639
622
617
565
641
544
666
639
506
571
505
674
559
681
520
525
548
560
627
521
628
631
527
568
654
567
689
538
586
661
649
620
682
519
691
548
696
697
571
584
623
668
652
624
643
646
624
595
622
596
676
598
557
618
527
532
513
662
617
669
649
565
588
607
614
501
635
632
568
578
584
558
620
694
663
508
576
586
509
561
562
584
610
622
619
644
582
514
588
660
552
521
524
555
609
587
661
572
565
670
697
611
688
522
501
594
597
549
623
627
575
516
634
591
695
634
688
647
600
545
540
518
585
655
583
577
649
523
595
574
690
603
616
573
551
680
500
602
605
626
505
598
569
503
567
678
699
557
504
697
541
593
565
655
650
676
529
687
552
658
662
573
584
573
540
562
675
606
682
503
615
644
577
597
657
602
622
579
624
623
602
643
680
508
655
511
555
556
684
654
591
536
517
543
511
659
657
537
546
676
700
565
634
550
646
674
681
657
547
656
645
539
656
603
584
628
579
652
550
654
569
649
639
697
635
681
663
638
616
669
677
642
643
595
509
662
559
637
528
675
548
571
676
539
692
581
691
547
625
589
598
655
548
618
572
583
576
663
683
673
588
514
696
556
639
611
700
538
609
647
594
564
603
545
642
568
521
560
647
547
549
549
537
675
605
594
566
620
671
640
515
559
565
503
628
560
689
539
554
563
543
559
602
698
639
641
529
595
643
530
607
641
574
668
552
541
627
540
676
512
625
530
541
510
626
599
526
500
560
523
509
525
684
514
564
666
647
513
541
578
607
595
635
676
664
564
582
518
695
638
511
561
528
634
533
648
500
565
585
616
673
569
635
562
672
589
659
547
616
607
679
589
654
551
509
561
643
660
632
523
603
651
642
551
540
606
696
581
601
665
670
562
529
690
501
638
656
523
640
630
603
608
532
598
620
616
599
689
679
613
532
586
607
634
596
553
581
657
583
594
542
662
516
642
541
593
599
699
660
670
617
694
674
638
594
521
557
659
631
640
574
506
593
591
639
569
601
649
646
591
697
563
534
603
645
632
508
619
575
607
548
522
671
593
524
667
584
573
529
536
576
579
673
652
659
576
602
600
502
572
524
547
510
645
568
557
606
618
683
666
521
606
613
664
678
502
580
608
594
679
612
544
635
538
505
535
512
599
689
687
633
571
599
612
677
683
614
577
583
565
640
620
638
608
568
636
629
612
522
582
647
700
532
552
689
536
677
540
620
520
519
616
510
539
643
633
559
690
571
527
574
506
590
623
583
560
507
534
514
639
538
621
678
517
652
517
696
685
572
664
634
655
666
675
530
565
695
572
500
655
581
684
685
666
590
642
615
550
671
634
537
680
556
680
571
573
640
684
661
537
660
553
633
683
530
532
645
597
692
638
507
511
583
536
653
595
693
628
609
674
684
674
597
541
651
697
678
673
548
650
593
671
624
633
621
581
677
641
527
634
624
571
681
695
591
683
526
545
658
528
568
592
636
681
512
654
686
512
685
646
619
681
542
505
675
514
661
620
503
535
633
631
643
505
506
550
662
615
531
656
691
683
619
514
602
654
556
608
515
573
514
672
540
538
620
664
606
689
624
526
571
509
537
524
601
679
699
687
528
690
636
628
596
579
683
557
598
584
574
643
690
514
683
553
599
647
548
671
620
594
614
506
531
684
677
571
538
525
542
629
636
509
659
513
510
544
597
582
564
688
526
539
611
662
523
614
519
584
501
630
503
584
513
599
697
506
660
522
653
569
648
512
684
673
625
686
546
635
659
668
552
667
560
616
591
619
635
695
697
511
663
503
516
609
609
571
673
547
588
643
613
638
552
637
569
590
610
630
567
518
513
647
586
547
698
697
666
524
637
512
530
522
581
667
542
593
623
558
522
614
694
673
515
583
680
548
546
571
690
619
578
511
673
692
616
638
611
511
652
537
548
632
642
629
548
656
540
543
643
542
502
521
585
536
573
532
556
588
680
521
518
598
590
698
620
502
551
606
619
678
523
657
582
593
639
574
665
654
661
534
649
671
573
532
664
645
601
531
572
672
610
520
673
663
603
606
598
600
697
593
560
669
622
602
700
500
626
629
679
665
571
683
532
616
530
593
549
540
590
573
606
678
576
648
516
698
515
676
694
578
506
682
686
600
583
540
543
518
503
610
523
666
535
506
674
627
572
552
616
529
620
577
547
626
538
595
533
548
696
565
688
642
639
611
642
516
507
571
623
631
609
640
518
618
608
506
659
623
625
620
600
579
560
585
583
559
508
585
587
617
586
668
562
570
588
595
665
542
592
552
682
659
564
574
620
539
629
644
698
521
505
600
616
529
669
574
670
661
592
610
536
632
619
508
622
668
514
626
560
527
500
544
564
683
691
668
586
538
688
691
685
519
654
630
530
626
570
538
579
634
625
586
537
688
665
545
572
626
547
698
503
611
506
586
520
587
697
516
690
664
636
674
673
597
539
632
665
527
532
568
537
566
625
683
699
678
531
569
612
535
641
602
670
683
667
643
500
544
637
535
607
668
572
533
573
534
640
525
546
568
680
517
670
650
595
504
521
575
664
684
683
501
547
502
586
505
666
539
696
582
625
700
534
578
613
542
520
597
503
651
681
558
595
510
652
639
534
512
548
567
634
502
529
614
501
526
567
596
600
606
515
638
532
693
697
530
601
529
526
631
622
604
684
686
567
536
662
616
649
686
537
538
581
671
669
672
616
585
563
606
524
616
511
644
693
603
530
578
596
657
538
584
542
632
685
548
568
536
589
543
629
675
653
555
598
598
630
605
586
564
501
663
590
539
641
548
531
581
599
592
597
518
636
531
536
590
678
648
634
673
699
524
569
656
579
551
506
677
533
660
665
541
686
618
650
530
617
522
507
652
598
596
602
579
688
573
567
611
507
661
521
700
642
548
659
665
549
553
695
605
606
574
588
524
538
652
598
586
562
502
532
671
582
543
645
690
693
500
654
529
646
568
623
611
633
594
658
535
653
680
581
644
686
623
672
511
605
583
532
637
639
510
542
502
587
579
628
643
682
670
634
582
553
614
644
531
566
670
555
569
698
611
693
580
696
599
666
636
695
631
600
556
684
619
556
642
512
642
624
501
509
549
633
547
635
673
502
652
504
615
554
509
560
584
626
528
529
611
672
666
588
648
510
660
678
642
691
592
618
544
673
574
595
578
522
516
526
599
595
648
700
578
688
642
638
522
665
583
646
527
519
696
580
537
639
516
507
517
646
551
670
562
607
660
613
691
687
665
530
631
511
535
538
565
571
608
587
623
633
662
517
576
663
599
639
500
597
598
672
515
504
651
594
533
614
685
629
565
684
686
625
625
538
629
679
614
577
691
664
689
558
698
504
647
626
664
653
571
689
548
625
692
515
697
695
519
625
667
636
519
508
586
680
549
559
619
599
635
596
557
557
520
565
523
618
649
576
594
589
568
635
584
666
667
623
522
617
538
651
669
590
596
601
547
591
510
577
559
588
677
627
686
511
694
580
506
664
619
590
690
691
648
637
565
519
594
682
542
635
544
535
675
635
593
562
588
674
628
500
625
660
514
648
586
604
603
570
674
685
583
655
696
643
571
604
504
650
611
679
558
524
688
611
564
588
574
609
700
627
551
601
577
600
510
565
567
605
591
589
585
616
574
505
532
519
614
522
638
683
530
534
572
563
574
615
502
510
634
536
580
647
525
618
550
637
595
550
645
695
542
660
552
552
602
699
540
647
549
540
689
600
601
508
609
628
695
565
530
536
694
677
593
524
593
502
541
697
569
647
531
516
510
659
603
576
622
628
557
557
572
689
641
545
525
689
585
551
560
549
520
694
691
658
573
583
546
658
531
581
531
570
692
627
664
595
587
540
666
518
509
506
694
523
506
549
537
633
641
681
563
510
633
574
559
658
607
653
518
553
603
538
628
624
511
643
665
691
637
518
617
615
638
623
526
652
556
517
688
592
619
557
633
505
592
548
558
568
662
639
527
699
585
539
618
611
689
580
615
594
563
660
598
604
587
680
644
575
633
648
698
591
508
688
669
660
600
690
520
544
537
515
548
538
501
558
570
517
586
589
683
657
555
665
700
624
574
550
629
677
590
692
552
689
580
632
631
645
582
630
570
618
518
578
699
608
646
615
624
628
609
683
650
590
514
651
676
507
530
626
697
616
613
658
581
693
592
645
690
597
624
674
606
593
649
662
650
507
609
558
579
520
642
515
542
686
501
652
534
572
517
674
602
519
603
508
521
506
635
628
544
515
573
659
544
564
652
668
599
533
530
612
599
597
660
544
623
511
562
562
682
683
510
663
629
637
506
695
511
583
546
682
653
698
647
614
686
556
533
515
617
538
602
523
597
590
552
601
625
627
555
597
522
666
568
519
509
631
652
637
628
653
667
678
668
602
650
510
643
590
674
689
659
590
603
668
581
551
614
695
596
622
579
612
514
696
657
651
527
638
582
641
548
618
613
620
699
504
644
670
635
627
544
568
502
612
530
549
589
521
513
568
578
520
590
532
672
682
673
610
500
619
646
565
506
567
695
584
568
630
537
561
598
529
582
505
593
572
611
617
524
631
609
541
608
620
664
545
624
585
515
520
643
521
580
616
673
502
695
543
602
622
620
502
664
602
577
579
671
552
511
627
583
628
654
561
644
528
607
500
579
572
547
537
562
633
510
503
680
595
549
519
612
595
515
652
549
506
510
500
504
518
680
561
587
692
550
531
561
553
566
618
542
605
675
680
539
653
583
564
672
592
640
679
609
522
681
561
615
700
574
543
608
620
682
547
555
574
691
502
692
580
523
615
527
522
600
691
585
700
519
603
501
566
674
591
561
550
579
560
640
693
627
624
507
644
570
694
581
526
691
690
661
649
544
682
590
655
550
521
626
534
555
549
546
554
644
695
533
661
598
700
561
644
687
665
548
635
605
511
695
643
666
551
678
581
524
578
644
577
677
699
637
678
640
681
674
694
571
567
573
550
678
588
630
565
659
649
503
536
598
554
637
605
555
550
575
597
518
586
644
644
581
552
532
537
638
616
576
699
513
555
670
607
504
682
631
513
601
655
661
541
558
606
515
639
578
572
651
585
683
669
617
626
613
540
661
626
631
665
611
580
628
614
519
664
652
511
570
642
674
695
677
660
620
526
675
667
543
520
557
609
645
698
604
558
692
527
561
549
616
611
598
511
585
594
662
688
590
521
682
597
527
576
649
553
615
544
543
527
540
577
687
675
534
533
687
555
653
509
670
527
565
694
680
534
592
551
516
650
695
590
639
515
525
613
602
627
526
664
699
637
685
591
572
577
598
521
543
537
613
700
541
587
532
670
595
508
666
695
645
639
566
519
546
668
600
565
660
550
696
514
658
520
643
622
618
558
568
547
634
509
673
548
616
535
558
636
698
556
667
561
514
592
666
696
586
608
606
631
610
627
599
516
641
641
612
621
648
501
619
546
555
571
620
635
606
614
582
516
504
599
532
533
688
577
590
623
537
565
541
659
666
593
535
642
550
534
530
615
642
528
681
636
692
665
681
589
521
623
507
569
637
533
616
570
655
696
578
690
503
588
573
564
570
621
582
531
578
551
644
675
530
533
577
643
569
506
575
684
674
679
659
616
682
611
539
543
556
678
603
540
666
641
636
680
644
647
559
568
589
655
695
692
632
680
541
607
515
515
561
611
662
699
653
670
553
544
583
533
535
552
690
635
540
595
574
586
631
550
666
503
659
674
679
632
501
673
638
679
624
511
592
573
692
610
561
654
626
528
600
629
687
615
678
572
667
570
569
595
530
518
621
686
659
564
520
501
614
646
571
596
667
674
551
560
524
588
536
615
514
680
568
638
538
662
505
595
594
530
548
612
531
553
580
648
687
668
559
547
614
633
550
548
564
558
660
649
501
676
624
670
575
695
515
650
670
622
636
656
699
571
633
582
682
510
605
591
645
588
559
505
653
642
683
526
658
683
561
679
518
522
641
554
503
527
627
666
574
566
655
668
608
562
627
595
613
696
605
683
571
511
686
640
536
520
590
510
536
619
673
698
504
608
547
603
659
577
631
669
600
653
518
567
544
538
531
552
648
579
590
697
550
695
549
585
660
675
583
682
662
643
620
698
609
591
574
633
576
611
620
672
688
654
564
514
633
588
607
592
608
669
539
571
696
592
558
675
609
624
524
539
555
513
683
562
700
534
599
603
663
637
542
655
636
618
575
694
679
591
511
643
612
662
678
555
506
512
659
569
547
562
592
683
680
592
679
547
554
510
678
535
581
656
685
523
519
665
556
565
602
662
634
675
575
593
681
679
589
502
565
675
565
510
531
543
682
588
608
535
527
628
624
655
659
574
623
508
624
519
615
660
700
630
551
624
639
666
627
501
509
663
688
666
565
515
564
692
579
511
679
671
606
649
694
691
698
699
665
647
540
619
554
575
613
687
641
622
510
686
578
544
662
599
546
587
664
597
532
688
561
589
503
932
865
818
857
896
978
960
941
881
865
918
972
870
860
907
905
934
816
912
900
913
946
883
966
830
887
989
863
835
938
824
909
978
971
894
834
982
880
802
899
941
1000
901
854
934
865
963
964
814
996
933
913
963
979
863
857
934
973
840
988
928
958
800
833
830
847
866
980
902
933
802
868
845
977
961
822
825
975
933
975
875
922
931
807
936
951
916
845
984
927
983
822
891
930
884
842
924
938
924
843
876
831
896
936
987
902
892
946
857
816
802
889
822
998
872
874
985
914
830
977
981
991
923
909
863
885
802
995
845
837
836
915
903
858
827
974
939
825
854
960
837
949
949
932
943
847
986
852
978
918
822
1000
801
902
814
892
828
968
935
895
977
975
953
871
933
936
967
857
932
897
814
986
981
852
861
870
899
893
932
976
995
996
815
886
957
867
918
982
932
833
943
950
957
906
943
955
848
832
956
924
835
975
941
818
898
802
988
893
873
800
869
968
857
969
801
919
823
833
928
993
900
940
836
859
898
1000
948
956
948
947
936
955
956
902
910
954
837
916
936
948
944
935
951
891
870
898
947
892
847
800
974
880
964
963
961
830
955
839
923
973
954
954
849
952
849
932
813
860
857
919
938
955
970
837
818
948
949
900
838
943
937
938
884
899
827
864
854
820
850
963
846
882
808
922
926
828
997
820
888
856
848
939
974
871
908
858
980
948
800
903
981
845
960
940
889
810
959
928
885
850
815
815
967
825
955
899
850
854
935
968
833
829
986
828
912
876
878
920
829
806
997
934
973
870
936
937
966
811
907
857
955
903
970
850
906
865
801
966
958
961
910
833
960
856
984
901
898
915
876
822
852
926
1000
831
990
883
835
835
881
862
902
982
832
935
983
985
870
858
822
903
902
847
841
945
972
821
934
907
921
814
923
993
878
803
827
990
945
831
825
929
989
939
830
925
907
979
909
952
952
839
990
988
973
906
988
872
831
827
835
963
879
849
964
918
863
965
878
892
957
886
968
829
802
826
940
842
867
805
816
868
995
982
942
944
916
938
894
811
959
864
817
882
962
983
857
822
919
885
986
908
845
823
807
819
886
996
871
909
902
830
937
836
949
962
891
973
863
944
982
830
961
962
953
902
940
968
916
835
872
930
938
943
884
845
833
878
923
868
970
828
874
879
950
970
840
954
803
945
863
805
872
808
897
909
859
858
820
911
826
845
977
883
827
845
881
959
861
921
995
811
977
1000
927
889
956
946
880
878
881
863
915
941
851
907
976
848
845
967
857
995
931
899
952
996
815
914
915
886
891
824
985
872
992
847
895
833
963
893
832
877
807
890
869
897
813
931
886
938
843
946
981
926
989
933
969
826
876
876
952
878
949
856
807
896
928
861
812
822
830
946
987
801
950
952
912
826
962
956
806
851
839
943
931
834
939
807
817
992
902
995
916
967
987
940
953
836
824
903
872
829
965
983
820
963
977
847
981
987
920
812
857
980
983
910
907
994
957
865
876
870
894
962
992
820
878
931
845
883
911
968
881
993
826
842
827
957
824
842
957
934
857
889
825
821
853
929
871
1000
948
994
953
807
811
825
825
931
922
873
842
998
980
966
915
948
991
815
986
999
938
960
888
893
983
819
980
990
851
881
976
969
844
968
935
830
858
930
867
912
830
868
929
814
1000
904
869
826
863
962
890
979
905
966
846
954
988
859
810
845
989
927
886
992
944
891
809
962
974
814
807
924
989
820
902
998
902
899
866
942
960
862
971
935
965
844
808
964
818
898
916
896
872
923
880
962
832
915
837
938
863
813
849
812
894
901
969
958
900
977
850
995
830
990
928
834
812
866
972
890
948
943
806
979
972
846
894
800
968
815
961
987
834
910
880
822
914
942
911
881
876
807
942
900
801
912
960
935
826
957
993
971
817
852
904
901
929
867
943
918
889
889
948
849
870
856
934
875
924
934
925
922
862
987
981
804
815
924
996
997
894
943
867
945
936
837
913
926
817
918
991
912
838
861
928
970
813
982
993
976
967
864
986
845
833
939
977
915
883
802
829
981
806
815
928
916
800
864
939
902
978
862
891
855
958
860
874
922
830
879
834
823
845
860
969
995
845
870
901
860
991
944
957
890
802
807
882
952
918
922
872
896
806
920
982
978
950
905
909
911
888
822
824
912
828
870
857
803
884
802
935
927
961
821
961
900
833
843
819
906
948
843
875
920
929
929
946
871
809
816
965
804
965
911
838
832
941
846
958
834
958
996
906
876
872
934
852
940
925
856
810
982
958
936
981
807
919
872
828
804
827
877
973
995
822
905
994
907
874
871
899
812
906
853
984
874
887
964
961
998
865
918
823
826
832
927
941
841
845
985
923
804
804
824
953
886
960
877
862
982
980
979
834
881
947
975
967
862
980
930
978
991
983
900
833
802
909
859
902
869
881
934
904
946
895
992
872
867
826
810
878
856
921
929
881
812
944
830
925
948
830
853
950
803
801
883
998
848
915
951
961
927
986
824
943
964
913
882
923
959
973
958
839
812
974
970
971
978
960
940
831
815
866
965
878
988
891
859
876
960
970
813
804
908
933
823
810
965
906
939
959
987
861
857
850
928
930
1000
873
880
827
818
950
975
965
878
860
986
942
826
813
925
908
978
892
977
883
969
913
820
956
1000
942
895
903
850
954
851
941
979
940
952
865
828
819
825
859
895
848
813
932
873
822
861
849
875
852
879
945
842
917
954
837
997
969
875
969
955
868
856
980
830
970
996
999
857
891
902
959
838
894
919
921
916
927
818
999
888
830
809
971
823
860
909
956
989
992
834
919
800
895
849
831
997
942
962
935
884
898
895
812
867
907
944
838
866
901
882
995
896
858
967
909
966
948
818
896
894
918
889
959
859
842
817
951
979
823
811
996
934
951
896
842
806
903
871
894
855
922
882
933
889
865
910
925
999
833
845
845
955
821
835
809
945
871
926
913
840
894
807
890
868
801
971
821
820
920
965
889
985
922
925
888
940
810
866
836
898
893
977
984
845
810
803
859
901
949
903
916
885
844
851
861
865
985
804
872
897
917
903
944
842
953
803
965
878
861
980
869
843
970
899
844
868
867
887
833
913
836
982
829
909
837
898
810
882
879
833
852
829
894
850
925
837
989
950
846
984
845
915
868
984
928
966
884
895
955
803
930
913
920
917
850
815
954
809
803
809
848
934
868
953
898
924
895
849
960
812
867
825
891
956
942
894
867
843
944
937
824
835
843
847
985
973
905
858
895
838
952
808
947
910
827
928
937
802
862
804
860
913
940
976
997
947
800
989
844
813
850
821
803
944
887
939
834
826
802
809
864
910
824
936
859
985
961
890
949
869
945
908
993
851
852
865
837
944
931
930
820
897
811
942
935
872
815
926
997
945
830
832
860
923
935
807
905
987
937
882
917
808
938
909
835
966
821
912
900
848
820
888
896
876
964
860
892
916
941
933
879
879
972
898
855
945
809
848
818
1000
999
912
887
831
902
915
897
908
862
849
907
857
910
847
879
848
849
990
945
935
844
813
909
831
843
956
978
994
835
878
913
894
995
937
845
853
947
846
844
920
969
920
912
837
853
818
953
880
852
828
953
881
895
940
871
936
860
831
828
952
829
885
897
831
972
977
881
958
940
989
864
914
962
818
951
976
998
942
856
831
917
823
963
818
1000
856
987
916
833
996
804
914
845
836
888
848
972
860
972
801
858
829
855
823
938
908
993
947
925
946
976
937
971
878
929
913
865
877
987
809
977
962
810
976
952
923
930
862
891
885
849
914
866
850
993
845
952
979
958
810
821
854
902
962
926
950
939
804
946
904
819
856
957
833
920
949
843
849
902
957
986
871
936
836
936
899
889
901
932
828
995
824
839
991
993
857
845
944
912
807
847
885
965
920
804
801
979
927
824
995
832
943
993
876
817
852
897
964
963
998
842
894
852
835
853
982
949
844
880
979
804
895
820
991
820
865
961
890
806
965
928
934
803
890
801
957
833
915
923
989
856
803
977
847
977
843
908
967
1000
945
926
967
936
801
859
835
857
813
888
987
843
914
807
918
917
843
990
936
849
851
800
982
871
819
938
995
904
881
899
997
805
889
895
865
923
918
935
868
939
813
820
833
841
881
812
921
993
960
1000
970
800
982
988
862
942
974
965
987
967
828
804
989
811
984
911
927
834
903
942
853
808
989
925
951
998
879
883
994
932
867
897
972
824
855
850
811
933
955
935
939
805
838
951
931
924
836
919
985
803
936
874
819
944
992
947
824
995
851
936
982
864
912
852
981
901
901
938
804
819
972
863
964
895
994
823
832
835
803
971
833
812
886
968
856
882
942
875
917
972
901
963
856
807
869
865
895
892
846
941
943
894
801
883
950
812
928
811
874
824
948
872
946
980
923
920
820
807
877
891
846
853
986
828
907
912
937
811
893
884
948
987
879
811
812
924
814
939
835
855
813
852
800
848
883
826
948
973
898
810
820
880
846
962
912
818
894
867
850
877
820
931
854
916
833
801
830
960
902
889
929
868
930
885
960
842
837
994
805
882
820
911
976
880
983
991
854
849
965
996
983
817
821
951
909
995
851
975
971
967
855
877
849
920
880
861
970
960
979
934
879
890
833
802
837
996
957
857
822
872
932
901
956
906
823
972
901
911
861
894
972
951
878
920
972
838
839
838
849
804
923
855
859
841
932
809
869
848
866
814
946
883
810
966
891
858
831
833
901
810
916
841
942
821
977
810
804
821
811
934
953
864
912
897
995
800
937
916
906
887
949
995
812
844
821
846
983
988
863
884
993
856
939
950
805
903
939
841
896
874
914
891
864
936
807
899
974
958
888
859
823
992
835
965
982
944
955
963
939
850
845
889
998
885
847
926
818
932
992
944
827
853
937
991
946
897
805
906
979
947
939
939
827
935
940
860
984
874
897
943
911
956
966
926
933
840
837
997
823
886
1000
874
966
881
981
994
856
863
960
915
979
889
907
854
963
831
802
831
856
999
912
912
992
979
960
901
924
842
899
940
881
819
841
874
952
874
961
825
875
858
922
910
891
858
877
889
896
906
822
917
921
940
847
936
838
934
874
950
842
891
829
839
895
860
823
822
949
844
843
934
844
954
800
836
831
870
870
835
908
841
943
933
831
850
939
949
827
849
866
801
806
862
833
928
951
869
874
856
829
848
802
853
876
824
929
914
836
990
853
917
819
839
976
987
875
805
840
853
980
801
808
934
897
919
932
846
805
917
878
841
914
878
802
884
870
983
905
891
969
963
817
998
922
982
984
806
893
834
903
840
965
855
1000
946
944
832
995
803
997
915
982
912
806
839
952
921
945
864
987
986
897
820
956
935
843
935
943
847
899
816
974
939
828
909
830
861
823
865
930
895
893
972
951
857
983
822
838
865
934
905
863
918
815
856
848
824
870
808
918
861
972
973
804
881
804
951
940
806
930
805
809
813
969
896
944
920
911
971
980
970
893
867
984
877
826
969
949
943
848
965
919
844
848
917
974
951
835
865
940
922
959
922
944
837
967
981
881
807
896
920
809
874
979
846
955
938
969
890
938
822
998
928
868
945
930
952
965
946
891
949
876
882
952
920
992
947
836
878
892
802
895
956
921
823
925
840
850
904
908
917
916
930
851
944
853
957
901
978
816
922
992
833
961
973
873
860
822
973
866
811
951
840
899
988
909
820
899
896
840
951
876
885
920
876
809
932
979
919
854
898
874
806
976
865
936
959
986
937
813
821
985
976
885
937
854
830
860
927
863
863
826
897
919
997
824
930
922
958
915
991
980
984
860
932
980
991
858
861
906
817
995
935
903
925
888
877
983
864
839
929
852
827
907
829
994
887
874
812
825
929
901
901
864
881
804
908
902
942
824
990
970
987
836
926
833
899
841
969
999
899
885
910
857
855
890
904
922
995
945
945
916
814
972
917
845
888
886
944
989
896
906
861
865
908
930
942
849
930
990
837
984
864
943
949
837
915
835
991
896
974
934
829
832
849
859
872
936
815
935
967
947
868
881
943
931
982
807
921
862
904
889
850
989
853
804
904
931
808
953
963
898
860
988
978
964
998
871
887
947
973
903
847
935
931
825
923
981
931
916
907
800
938
946
928
959
946
948
836
988
979
872
966
903
925
951
881
918
959
869
935
933
935
886
865
976
825
896
953
875
831
966
814
899
814
879
930
935
838
922
871
962
980
868
985
912
834
802
875
925
835
851
852
835
932
870
977
851
941
879
929
833
907
846
811
993
890
934
938
915
891
831
887
971
826
817
943
967
951
973
938
946
884
869
947
952
875
873
878
965
938
982
885
991
935
911
988
970
849
857
806
959
944
978
903
912
947
999
848
931
986
987
894
909
886
901
848
844
855
872
876
988
995
830
926
888
862
924
846
934
941
876
859
996
946
988
839
955
821
928
920
972
992
990
996
811
900
867
909
934
870
865
994
879
939
820
872
917
925
887
887
916
961
999
905
868
851
902
926
827
825
996
959
899
912
908
814
1000
831
837
843
927
982
868
989
975
807
869
802
991
886
921
904
904
807
904
854
943
830
960
937
889
955
877
913
950
869
832
954
851
935
847
821
982
957
959
908
916
946
917
899
821
825
877
932
919
994
860
950
895
846
980
971
844
854
848
867
941
954
993
977
801
985
843
997
958
818
993
903
892
825
942
993
826
896
858
849
958
978
988
998
813
801
892
956
890
933
981
991
857
909
845
806
813
979
894
944
897
852
969
830
814
856
962
812
890
930
812
935
837
950
838
914
990
891
976
905
811
833
834
955
964
966
919
830
842
960
824
878
900
912
925
965
813
970
803
885
848
866
892
885
948
937
931
874
908
886
883
942
1000
828
936
908
857
971
910
844
997
916
921
881
874
980
824
999
869
994
961
987
884
879
987
826
963
818
846
974
936
913
929
978
827
983
945
825
928
962
833
887
889
956
864
809
881
988
822
948
804
948
920
997
902
819
914
895
856
902
978
843
812
922
961
911
845
888
819
959
925
893
990
870
894
958
819
867
806
972
831
804
816
829
925
903
902
914
842
954
879
867
997
877
927
899
901
927
882
961
810
865
877
958
868
847
830
847
963
953
981
907
809
989
830
925
850
909
885
827
968
988
838
968
922
963
908
814
814
915
971
814
853
840
811
900
932
875
861
947
815
922
913
871
1000
944
974
855
876
994
813
982
968
880
992
846
951
927
998
914
996
946
821
945
948
966
886
940
979
827
967
899
914
926
836
879
838
938
936
804
972
867
899
933
972
964
834
869
845
827
935
802
840
963
978
896
827
830
916
922
887
981
882
971
939
966
816
907
825
809
947
876
813
942
846
911
999
960
865
908
933
970
876
918
831
821
815
825
917
952
814
938
842
864
813
878
919
821
908
935
953
916
983
932
831
938
824
871
810
838
835
955
907
815
873
891
954
862
826
861
887
926
826
821
988
936
910
939
960
948
992
926
845
818
951
963
886
806
892
945
892
965
976
880
800
910
843
805
885
822
993
908
939
880
977
913
868
865
872
843
940
893
850
923
921
887
846
895
959
989
954
967
934
974
917
821
998
958
938
839
857
973
951
889
886
945
867
997
988
991
863
917
930
887
923
838
946
983
989
817
940
895
921
990
805
826
975
815
881
871
910
855
944
860
939
889
876
844
876
809
818
988
805
935
934
901
807
905
977
849
929
901
829
917
894
984
870
886
837
913
958
806
983
822
975
863
889
834
997
839
866
979
918
915
835
835
845
825
879
824
836
854
994
848
919
909
812
921
895
844
965
990
972
831
903
990
818
857
956
929
930
1000
897
816
897
814
883
935
838
923
965
874
979
975
887
912
907
954
971
893
804
951
840
881
856
926
966
842
950
992
925
814
837
975
830
807
852
893
972
945
913
843
889
910
840
879
840
866
982
999
997
812
973
951
988
821
802
866
860
951
874
879
980
950
894
943
911
995
994
856
884
987
826
872
911
831
978
872
866
836
939
973
905
851
865
879
830
805
936
942
834
862
902
894
884
809
855
964
878
860
939
976
951
951
885
936
895
893
942
863
908
931
978
929
957
965
920
898
979
801
803
955
896
983
868
930
971
943
823
856
950
860
848
857
812
925
918
989
867
975
893
813
850
838
864
813
846
841
925
906
851
936
965
904
967
948
902
880
907
922
886
976
996
947
988
843
938
996
806
858
957
847
846
902
865
919
839
911
945
955
930
991
977
984
847
899
876
836
952
909
856
883
918
820
983
893
971
967
982
876
806
879
825
902
961
916
827
865
935
818
869
826
966
938
983
882
957
862
872
923
901
955
822
957
805
993
1000
865
880
835
941
912
970
874
825
822
809
969
962
804
987
943
811
847
842
900
856
990
847
905
901
926
838
979
890
859
917
979
865
942
927
873
801
909
852
981
802
922
989
837
911
826
905
881
836
864
904
815
899
881
949
850
815
886
828
835
941
802
812
991
810
924
931
990
985
888
987
974
823
820
970
824
934
844
843
916
898
814
959
981
857
927
913
874
806
853
828
898
925
973
850
824
994
903
838
801
935
862
980
831
903
988
973
993
828
889
873
854
969
987
978
885
888
967
947
942
846
892
803
998
905
834
916
979
992
917
969
942
850
843
823
901
845
977
1000
828
876
884
810
928
888
822
856
895
848
865
880
915
824
899
1000
970
900
890
863
894
973
859
941
917
915
869
993
905
898
879
978
870
872
893
843
930
980
844
850
942
883
856
974
957
885
894
803
971
857
876
930
999
849
827
879
846
970
963
944
896
962
857
968
971
970
820
913
970
977
829
925
916
879
930
845
805
858
865
912
842
930
960
847
877
852
929
806
954
876
908
904
857
863
809
832
921
860
815
899
918
926
904
924
821
811
949
998
842
890
847
897
903
866
974
841
841
947
976
908
998
886
907
917
847
892
812
815
962
825
883
901
961
895
992
858
974
814
809
913
931
921
841
870
883
920
898
878
882
967
829
883
942
992
958
921
887
884
939
834
804
913
959
936
849
964
970
861
866
897
835
850
905
964
877
995
838
868
984
986
869
983
943
876
873
881
815
991
803
887
956
988
838
994
924
815
958
858
939
862
878
872
917
907
821
878
973
902
859
838
826
983
977
946
900
987
806
983
918
901
804
964
800
967
950
989
947
908
986
825
906
979
849
986
873
979
864
991
964
902
954
968
872
881
912
821
952
861
836
857
994
820
961
826
938
938
978
928
815
866
870
910
911
826
899
970
922
945
963
815
955
848
883
846
932
897
924
982
997
968
927
932
892
963
661
641
581
579
633
533
590
542
651
535
597
610
625
518
543
513
676
527
647
611
657
525
631
510
651
511
691
549
586
541
620
593
679
501
690
579
622
622
622
541
646
550
504
658
543
543
674
564
612
624
619
566
598
684
606
550
660
583
677
606
567
680
563
642
618
521
540
639
594
574
550
525
585
639
650
604
658
676
641
547
604
589
559
616
643
679
685
539
645
573
690
552
621
561
665
662
514
632
609
551
695
572
617
691
692
615
658
685
573
653
621
636
574
526
550
645
597
514
632
657
608
500
559
506
649
689
690
575
522
534
672
604
645
508
528
681
592
669
669
514
685
562
681
543
655
684
617
602
583
699
615
525
683
500
553
652
672
519
564
682
652
682
692
622
608
607
513
564
591
550
567
636
672
589
502
540
687
585
690
555
672
614
596
557
598
643
543
692
629
650
609
608
666
526
640
582
672
611
540
650
674
584
662
578
681
525
678
571
632
595
659
561
544
686
558
642
597
648
526
676
634
623
697
695
590
554
512
599
522
672
683
560
511
524
597
672
533
593
547
540
622
540
685
534
656
585
633
672
617
692
507
542
662
555
632
587
675
540
622
638
624
645
536
552
604
636
672
518
577
632
509
545
610
597
602
699
617
586
555
608
615
611
639
634
694
656
500
665
678
646
640
552
641
640
643
550
561
572
633
656
552
594
533
525
668
648
631
572
689
510
523
585
551
565
501
670
643
547
542
668
547
620
657
633
625
687
668
664
531
623
636
647
510
562
580
509
636
503
526
645
691
515
627
505
628
627
616
698
588
585
638
677
526
609
556
504
591
539
617
677
667
661
673
503
646
666
638
637
563
539
692
684
672
534
591
518
628
537
581
503
541
630
683
673
607
518
646
617
600
660
577
618
583
608
665
678
576
526
655
516
651
696
574
582
595
698
537
650
512
546
694
694
521
619
661
608
651
521
650
535
640
537
591
555
613
505
634
504
593
647
647
665
642
648
525
591
640
660
504
658
622
660
505
690
611
689
610
662
518
530
572
639
661
531
696
618
542
697
578
597
553
685
698
682
513
693
553
633
556
613
540
587
674
518
596
549
512
589
645
550
509
616
558
698
556
552
503
644
601
612
526
501
590
514
580
654
503
593
524
515
599
648
550
555
628
697
598
544
503
669
608
521
511
529
584
624
605
570
649
658
631
678
506
602
529
680
528
597
603
700
514
661
659
659
524
538
590
677
527
663
531
633
587
606
564
579
638
597
548
510
524
671
559
616
532
534
660
580
576
622
629
528
515
589
519
691
562
632
589
582
520
626
652
527
512
506
524
668
686
657
683
619
630
661
605
575
657
602
657
642
592
551
564
662
581
580
573
680
629
667
633
503
628
576
568
700
512
637
604
663
579
530
598
679
567
527
527
648
600
695
528
641
641
643
521
557
630
521
547
691
514
551
544
677
609
623
658
684
503
502
554
697
692
625
617
529
588
677
570
669
585
574
700
542
585
573
531
532
596
590
550
598
517
557
533
697
589
570
552
511
643
632
575
547
601
596
579
653
500
675
694
504
655
695
518
700
510
585
504
552
527
580
625
505
682
550
684
546
567
597
550
696
506
647
570
589
699
537
692
656
520
641
649
668
639
546
660
672
650
579
610
650
683
654
571
617
665
500
531
550
682
615
691
693
634
535
578
632
699
653
663
612
679
506
700
681
564
645
696
543
523
677
585
593
535
639
675
550
654
687
616
649
581
589
601
636
654
613
544
679
616
639
554
515
684
603
670
504
655
628
509
572
680
684
561
686
514
604
662
586
660
545
566
599
601
581
614
552
517
637
527
674
553
554
511
582
580
682
556
571
625
603
686
583
556
515
522
516
606
531
548
622
519
544
605
636
643
647
553
642
666
608
639
614
503
550
675
664
568
657
609
638
522
660
585
689
585
626
619
644
648
509
675
566
667
616
647
524
618
571
688
594
660
676
620
502
507
588
511
666
615
519
675
680
554
573
650
560
674
655
674
576
577
526
583
624
511
607
559
665
632
602
563
570
687
682
657
572
584
615
674
572
630
593
660
568
664
627
644
675
526
561
646
534
521
642
676
677
548
688
522
679
595
561
638
571
684
656
521
539
605
580
687
679
583
547
656
536
648
627
672
612
642
547
682
518
500
550
574
513
611
686
594
672
666
621
557
518
639
699
511
536
506
558
607
629
688
608
594
668
668
533
535
673
603
604
623
598
562
622
650
640
508
572
525
659
519
597
683
671
603
522
661
576
686
511
562
558
564
674
594
537
601
685
613
653
645
600
649
514
684
591
662
606
566
521
593
566
659
510
650
658
636
571
649
584
581
512
515
597
535
629
506
520
542
588
584
691
508
596
637
652
659
618
665
696
537
575
618
607
540
564
636
696
562
604
687
575
700
598
651
523
596
516
644
694
590
606
573
614
679
594
650
516
543
501
573
695
676
586
651
573
697
641
566
624
658
658
540
692
668
697
540
583
560
699
656
624
530
554
587
660
551
677
588
694
594
609
699
522
528
505
556
562
526
665
663
519
700
518
693
629
583
628
689
655
688
642
647
585
515
648
621
549
645
665
626
560
615
616
536
630
534
606
606
654
523
679
642
582
544
524
534
593
536
673
645
528
682
625
579
610
532
612
665
687
632
676
658
621
591
609
583
627
651
654
668
585
681
552
556
650
619
583
647
626
542
572
551
686
528
625
577
535
613
632
624
653
565
648
630
547
636
539
599
564
683
648
506
675
633
634
624
588
694
562
518
516
532
647
554
696
595
689
561
518
646
579
688
682
584
661
687
506
574
657
654
697
687
682
687
586
619
543
621
554
565
597
591
638
506
645
662
503
572
664
691
599
619
521
513
583
552
531
641
575
535
635
663
557
532
608
627
599
686
666
639
630
626
575
551
512
557
650
553
588
582
573
673
640
568
655
608
592
685
648
671
648
638
519
515
656
535
523
558
569
614
522
623
597
631
681
697
662
587
686
683
666
573
607
695
557
557
622
585
614
699
679
585
589
632
685
582
693
647
572
545
638
631
505
571
615
514
523
598
667
562
516
699
613
635
544
564
522
560
610
602
501
665
529
614
618
681
650
623
545
622
650
598
689
647
528
551
696
653
626
586
683
652
550
599
578
594
600
674
524
630
679
584
630
673
559
574
594
553
659
521
664
633
539
647
658
586
594
504
682
519
588
634
506
605
586
547
670
637
652
629
533
517
508
630
641
647
561
649
532
504
517
568
655
523
645
619
673
627
687
539
526
692
518
667
643
615
665
633
532
665
638
686
527
525
549
592
598
632
540
504
524
614
597
677
661
649
652
571
614
595
520
529
519
595
540
661
531
669
513
539
646
564
690
572
587
564
573
554
507
678
662
614
682
519
645
687
528
659
693
621
599
517
667
651
560
609
611
526
622
584
641
657
513
671
582
507
533
692
533
625
546
594
544
518
536
653
654
612
682
622
639
539
684
628
687
660
547
550
523
682
553
687
587
650
575
593
670
550
641
604
528
676
507
595
625
598
623
619
556
670
573
686
585
640
593
529
695
628
694
668
513
696
535
672
507
576
611
534
692
508
601
663
565
601
605
526
619
577
654
636
606
554
648
683
527
680
565
661
525
608
666
575
552
591
644
596
622
602
511
620
508
517
647
627
694
574
648
533
545
695
535
661
697
543
532
617
578
660
681
624
532
554
502
636
599
610
545
622
698
524
648
524
614
528
539
560
569
667
613
694
564
650
628
574
669
602
586
656
513
628
595
608
536
531
606
584
575
528
657
532
598
541
557
651
675
631
563
697
602
621
700
562
557
671
587
613
500
510
527
543
524
592
512
681
664
676
658
659
618
551
526
696
508
569
572
518
692
615
580
592
680
584
679
568
684
559
513
649
634
699
523
670
691
630
519
623
528
688
508
564
691
543
546
556
681
571
568
695
548
629
692
677
571
594
671
525
630
699
517
667
537
501
653
520
509
559
644
629
653
638
549
644
627
592
549
622
612
526
508
534
576
529
563
583
616
582
669
553
682
698
504
600
659
618
537
623
699
611
686
604
634
547
598
539
535
669
615
578
684
556
505
573
549
615
660
541
687
617
542
697
687
595
524
503
556
593
540
522
554
600
575
531
602
583
674
653
679
652
631
605
537
647
573
668
610
665
533
546
584
673
590
620
591
698
584
534
626
606
533
515
682
511
590
674
574
576
683
550
578
614
658
557
661
581
660
596
618
553
680
583
559
695
515
645
675
680
678
580
653
680
534
601
630
679
663
700
587
561
590
563
676
618
539
658
561
658
554
650
621
572
698
686
624
676
603
557
648
668
634
535
512
594
616
546
504
678
692
555
545
529
610
590
684
568
582
552
500
629
586
592
516
528
663
693
528
633
522
516
655
690
629
526
594
523
629
565
631
662
589
700
589
555
527
587
637
532
616
528
663
669
697
657
622
602
654
699
582
606
531
680
587
697
559
642
522
673
541
615
592
619
539
581
618
598
638
509
531
662
683
591
638
565
599
607
590
522
599
544
692
547
651
577
652
614
545
652
556
698
563
561
671
558
690
539
653
663
618
603
672
534
556
506
638
640
612
543
582
660
619
700
591
529
595
656
651
609
577
690
682
567
515
545
618
679
505
594
691
639
567
679
600
545
581
503
577
539
683
666
689
541
645
698
690
604
576
569
666
583
653
670
628
508
642
684
575
517
551
605
598
700
629
603
527
519
658
635
582
512
537
634
656
620
529
649
612
673
501
691
554
592
609
565
641
546
517
614
568
517
590
626
510
539
533
513
513
678
680
612
674
648
611
540
505
573
581
664
656
660
662
522
699
627
589
578
568
573
651
678
555
643
515
519
650
606
568
601
536
663
679
581
525
655
567
522
521
507
601
600
642
601
651
624
520
684
501
515
653
570
529
694
657
552
635
579
613
624
570
669
656
581
621
638
638
506
534
689
571
540
528
627
679
574
522
590
541
640
623
607
590
654
502
671
677
519
501
655
526
622
597
654
584
549
657
626
645
669
592
640
642
536
651
606
627
608
548
646
568
618
692
530
546
670
526
513
511
517
644
529
664
546
522
636
535
603
622
521
588
642
572
599
571
524
672
588
623
676
642
540
520
662
685
579
591
668
528
510
652
549
536
513
590
523
506
542
588
671
695
511
623
552
652
584
529
615
632
588
550
666
692
666
526
540
648
684
578
627
538
574
568
586
575
581
565
615
535
658
625
596
557
649
581
687
624
599
511
500
605
611
572
595
663
660
618
674
655
629
509
651
546
559
643
655
546
521
618
670
603
618
587
586
654
556
582
688
551
508
673
510
581
669
517
690
504
600
596
630
668
679
634
624
515
530
630
544
641
542
534
517
544
609
506
604
664
500
590
594
694
531
513
537
685
539
522
614
580
621
689
548
626
586
635
684
632
512
621
590
617
680
572
513
516
610
697
690
665
526
623
633
585
676
632
630
628
567
569
615
696
672
584
534
640
570
601
551
607
537
533
643
617
611
529
667
534
681
579
569
607
552
506
514
518
634
554
503
644
519
697
617
608
662
653
623
564
525
686
582
609
673
549
515
613
631
695
577
555
699
619
697
694
625
580
576
634
525
593
662
515
508
643
583
677
573
648
623
668
692
550
527
557
603
587
552
624
521
600
552
612
686
636
640
505
695
500
529
669
541
632
694
573
642
518
568
700
631
694
626
591
520
596
605
644
586
619
690
506
641
557
585
692
644
580
538
532
539
588
505
610
700
585
577
642
637
607
548
537
533
651
545
553
641
631
588
612
512
515
631
612
606
695
507
632
621
591
506
668
566
589
603
607
591
538
661
661
643
549
538
579
689
521
621
531
570
619
661
615
543
699
516
573
540
628
613
542
536
512
619
638
657
661
539
630
637
660
598
699
554
553
585
641
612
681
504
652
585
524
527
685
551
612
656
559
668
582
693
550
544
585
633
551
693
529
545
656
597
596
563
543
665
537
602
598
578
548
511
658
579
685
645
529
641
501
659
550
675
547
600
524
651
611
590
593
531
579
621
535
624
634
523
586
664
502
571
624
642
632
648
626
528
520
511
539
661
565
621
689
563
585
582
674
616
637
614
673
648
607
636
588
533
603
579
528
684
579
597
538
602
623
610
618
604
583
625
669
659
662
516
651
676
620
623
568
568
602
580
578
632
603
627
689
660
692
525
585
575
670
521
620
645
549
661
677
585
642
548
532
532
589
641
641
605
577
622
637
697
570
638
683
513
655
560
519
683
700
574
666
597
696
592
689
519
687
619
661
515
596
645
630
700
622
611
553
587
663
677
543
660
667
646
603
681
579
629
572
638
557
698
691
676
500
642
685
551
582
634
524
521
693
570
571
636
518
570
513
619
538
697
529
567
546
665
511
672
619
512
566
546
535
537
542
678
564
670
630
592
578
621
680
616
554
689
543
631
687
640
637
660
526
527
595
631
531
571
603
623
625
530
657
635
618
676
658
511
557
691
636
641
605
582
610
560
518
635
677
547
618
588
611
516
679
657
542
597
562
515
515
586
598
655
620
514
562
682
589
633
572
674
534
564
567
636
566
524
544
562
596
509
635
587
647
501
616
524
551
531
676
501
548
647
569
661
625
512
674
613
617
684
682
659
562
637
501
583
607
694
569
631
623
643
602
540
507
583
624
615
577
645
556
623
694
617
589
595
630
602
626
600
537
685
630
563
672
681
534
587
528
675
690
580
668
646
699
648
506
699
686
566
579
674
646
664
561
674
555
678
617
537
635
525
588
557
606
608
537
570
602
528
642
559
687
700
572
656
514
545
674
573
507
546
514
649
587
549
515
683
649
572
500
694
632
541
557
504
590
537
539
537
525
635
524
672
533
672
633
599
598
621
552
591
639
647
618
616
679
671
555
656
558
588
628
504
593
690
625
575
588
617
650
550
545
531
535
534
694
623
636
694
530
567
560
623
581
556
698
700
509
560
609
596
615
504
700
658
566
593
694
670
688
614
691
581
563
565
700
565
646
644
518
523
700
505
679
514
543
593
512
611
500
630
675
536
514
527
629
634
552
664
553
646
502
554
595
554
595
553
700
588
608
565
641
574
608
694
656
672
636
613
573
511
530
668
665
502
695
507
580
513
584
629
522
568
539
575
690
582
623
549
695
632
685
509
685
684
623
564
694
659
660
685
567
510
623
657
657
629
559
555
689
518
666
667
687
587
598
696
530
576
670
691
546
691
508
587
662
614
612
684
542
546
587
536
607
516
610
580
596
691
606
562
613
570
503
671
562
583
552
528
515
609
667
508
664
520
667
580
556
578
673
502
585
576
581
570
609
686
511
666
551
599
537
613
618
592
698
566
547
682
561
519
591
584
591
672
514
547
665
664
564
640
646
572
625
512
566
502
544
611
689
666
522
606
694
558
537
621
624
609
657
528
603
573
540
673
549
544
501
665
615
667
626
526
625
602
610
570
582
509
515
564
514
665
604
669
613
536
572
560
684
533
548
647
553
504
618
547
584
571
505
588
635
671
607
654
647
589
669
582
636
664
501
576
670
584
603
585
602
640
615
502
540
638
617
548
622
634
562
584
574
534
641
652
501
645
565
522
580
576
680
531
691
667
698
522
653
611
552
524
653
642
613
637
517
561
696
570
546
647
604
620
603
582
682
615
673
528
618
619
695
544
599
536
505
574
553
697
568
572
592
645
606
619
553
671
639
605
570
581
540
658
504
517
525
583
501
655
665
535
549
594
628
679
524
542
658
673
560
542
624
584
584
592
616
670
591
599
586
541
545
500
586
583
694
643
606
552
528
622
545
515
668
647
681
668
516
614
567
687
695
610
515
697
552
693
561
651
694
680
688
568
529
588
555
518
627
644
548
545
565
533
634
591
594
679
519
581
506
644
652
600
506
687
614
567
555
577
658
538
635
606
630
504
574
606
503
681
602
601
652
535
678
522
667
689
565
660
643
621
616
554
591
602
661
598
588
621
532
594
616
671
652
636
551
672
622
690
603
541
544
571
655
551
649
638
670
504
657
664
513
512
555
567
513
596
672
627
633
546
680
510
547
513
550
672
657
527
516
646
598
540
645
652
557
500
544
688
592
615
618
660
507
562
685
513
639
639
555
660
535
630
656
648
679
646
678
649
564
578
526
665
545
531
570
649
532
501
651
585
560
518
544
583
520
507
560
521
511
634
506
694
546
517
517
611
546
589
538
562
523
545
664
500
582
559
679
506
614
506
523
598
575
571
695
606
549
531
643
633
624
614
552
632
683
572
674
639
559
635
531
513
617
666
684
669
670
670
557
538
523
624
656
589
640
556
595
634
674
570
680
501
680
672
681
630
689
506
688
663
547
581
626
694
578
534
569
617
632
555
507
581
672
540
556
562
535
550
556
511
665
541
561
575
506
683
596
684
585
560
680
583
614
564
564
535
551
592
504
505
550
523
511
540
656
538
502
607
613
664
508
598
600
652
554
552
552
525
647
667
619
603
588
598
684
587
650
700
612
500
575
567
511
510
595
659
678
613
598
541
695
536
504
650
699
638
539
524
635
693
679
663
603
635
683
605
554
513
513
684
527
612
556
570
671
513
666
586
602
538
611
501
640
508
700
631
613
635
547
648
668
504
667
550
606
556
528
501
640
697
615
512
531
533
542
666
500
668
601
561
691
575
559
690
667
689
685
573
645
669
538
595
651
604
616
667
585
542
554
662
521
519
566
651
540
618
547
693
515
647
664
647
633
636
681
609
641
651
508
564
612
538
580
585
631
512
597
592
567
635
626
565
635
680
605
500
683
522
653
554
635
649
515
585
692
688
501
659
568
533
500
593
700
614
681
653
518
616
646
610
566
579
523
641
571
634
626
518
513
529
684
511
512
665
508
596
648
664
589
573
608
613
678
616
649
628
647
535
542
556
697
677
668
545
615
622
561
629
615
672
599
687
568
545
564
628
671
553
620
609
651
511
536
679
654
678
536
581
619
605
651
510
585
525
677
535
544
664
622
552
549
652
539
563
535
590
502
698
574
695
513
543
516
695
682
682
687
665
650
641
526
665
692
519
583
580
643
569
613
624
640
513
639
592
601
517
649
528
674
520
651
572
666
546
672
598
561
636
528
603
587
560
508
643
609
657
650
554
510
567
673
502
614
598
592
587
596
697
564
511
657
534
528
528
508
619
519
585
538
649
604
642
662
678
669
556
603
698
616
553
674
555
612
647
536
549
622
662
667
528
692
542
507
688
676
509
677
665
549
649
631
698
552
578
534
648
692
557
561
626
638
618
618
519
557
565
633
573
518
548
669
508
565
628
567
609
516
565
591
595
527
544
643
585
595
627
547
700
638
511
656
596
680
620
624
629
616
552
541
578
526
557
661
524
577
656
517
646
592
527
576
661
696
678
589
594
664
622
676
523
605
607
553
524
621
645
594
616
536
685
646
573
623
665
687
674
618
674
646
594
660
624
569
647
596
639
657
567
654
614
500
642
619
645
657
644
638
582
598
615
504
610
557
614
660
534
624
678
679
611
664
548
678
581
645
603
653
541
602
593
542
659
537
699
687
506
693
533
558
553
542
614
609
625
646
607
611
659
518
575
608
641
633
605
571
652
644
533
576
550
573
663
683
535
528
642
685
657
636
512
646
691
655
670
601
635
660
500
618
642
684
523
685
685
638
569
505
583
565
576
625
522
692
528
654
522
661
621
604
574
692
613
508
660
596
519
609
552
564
540
552
692
689
624
649
567
678
675
671
617
606
684
544
585
646
589
546
547
583
675
582
612
646
657
529
581
535
525
658
637
657
522
580
504
564
609
534
553
642
608
679
522
676
647
608
520
685
529
652
583
648
693
592
642
532
622
621
692
502
507
693
663
646
540
633
621
645
597
628
641
517
685
677
566
598
631
591
544
595
527
684
535
515
556
571
627
523
609
668
516
605
552
700
584
572
694
582
510
624
514
514
630
577
500
617
556
641
685
642
698
562
522
603
518
518
506
653
576
530
594
623
613
520
670
593
527
529
641
580
528
600
533
658
508
635
560
599
538
590
676
684
510
570
700
681
571
542
501
537
528
575
640
552
645
505
626
585
628
585
700
541
614
691
677
667
555
554
649
512
654
585
549
672
650
685
686
661
665
628
636
620
568
626
633
531
614
680
564
534
597
648
615
597
548
576
543
593
507
613
628
505
650
518
552
676
687
525
609
509
695
521
608
605
670
508
636
593
623
571
513
572
585
535
651
694
655
570
536
666
862
960
951
859
882
892
919
934
972
872
865
971
806
946
880
927
973
965
823
962
999
828
908
819
990
965
807
867
967
931
909
949
862
934
892
928
834
805
993
916
907
943
978
992
887
835
973
908
839
980
852
949
905
868
959
842
838
954
853
983
913
884
848
967
845
843
984
965
913
864
973
805
848
997
944
815
947
805
817
894
952
955
863
867
827
908
913
873
967
821
966
935
911
981
892
920
858
880
815
878
867
886
822
843
906
939
988
957
858
862
957
946
856
853
926
953
924
887
871
868
816
990
821
802
843
984
813
959
895
829
876
999
837
942
986
972
948
827
832
893
819
981
907
960
841
890
956
812
987
995
807
857
856
805
928
836
880
806
995
951
889
920
998
889
849
806
821
905
921
966
816
845
947
847
948
938
948
845
849
860
907
934
977
982
986
810
917
823
853
848
831
836
961
992
855
924
919
965
984
908
939
851
806
906
836
867
882
858
847
967
996
884
931
982
824
800
995
852
988
972
872
855
999
886
869
859
830
921
904
807
981
821
831
905
898
954
937
955
978
805
989
875
910
863
914
971
954
848
866
846
917
876
802
881
967
946
965
890
885
894
977
982
943
885
999
991
871
867
838
804
810
956
905
901
844
982
819
925
845
874
987
949
969
859
930
835
945
877
960
934
902
996
843
988
808
860
838
866
975
959
924
842
957
915
900
830
874
996
963
906
924
971
943
868
909
994
843
929
812
892
883
969
937
937
884
816
925
907
866
989
822
874
838
845
928
967
935
887
957
930
851
823
942
931
830
836
886
894
856
901
929
880
811
840
831
850
835
849
818
802
968
941
813
912
866
911
810
973
905
813
822
890
870
951
899
806
998
824
906
999
843
800
838
824
988
822
990
829
995
888
976
968
993
808
913
941
880
932
843
927
962
988
930
954
912
956
831
939
801
919
972
815
958
897
947
820
858
876
868
906
974
901
992
832
978
838
820
907
848
920
945
926
865
801
857
976
956
891
990
990
950
984
976
807
930
994
998
928
953
972
927
855
816
848
886
963
813
840
981
985
910
996
846
926
851
966
909
870
833
987
884
844
902
942
951
846
837
920
866
971
831
907
848
846
969
976
836
875
939
922
989
805
909
864
907
930
863
923
909
956
854
819
972
970
810
939
977
950
899
985
854
982
873
951
959
810
861
882
817
967
832
972
996
943
954
813
940
956
855
997
857
987
963
875
956
989
969
977
843
940
908
894
955
836
884
826
824
811
997
962
824
968
923
965
993
821
877
805
973
930
959
941
870
986
900
833
978
860
999
827
868
941
826
887
964
931
995
812
949
881
898
919
938
826
810
876
914
933
922
925
870
922
870
980
991
869
802
807
876
984
897
870
974
938
866
847
867
958
978
997
844
955
962
898
981
817
898
863
801
974
879
880
938
898
903
900
927
823
810
945
884
999
921
860
918
828
898
913
821
967
806
838
856
977
973
904
917
963
930
905
948
889
958
814
986
816
959
873
917
869
902
936
897
912
827
961
987
841
928
871
805
875
931
938
956
854
872
823
939
845
951
915
852
846
997
960
927
893
866
941
965
984
994
944
925
875
860
868
985
992
807
855
823
820
897
866
891
979
840
839
995
881
911
802
945
904
813
808
841
805
983
830
852
958
920
979
864
930
889
999
990
950
824
871
978
902
932
992
810
998
877
849
859
827
853
912
988
867
947
876
861
872
875
873
830
959
915
893
910
865
985
909
907
908
957
877
938
973
974
930
982
804
955
929
948
955
941
818
832
988
932
980
981
820
850
961
831
932
995
885
936
834
863
987
840
803
969
843
883
968
863
835
892
976
814
891
859
806
909
940
859
896
821
960
989
922
820
856
960
905
822
813
860
933
909
930
856
834
972
815
891
925
888
812
999
929
882
994
931
814
973
904
874
934
941
966
820
975
972
838
999
980
880
916
931
845
958
929
865
945
923
806
999
861
985
971
1000
930
980
904
806
860
998
895
934
867
937
839
983
851
815
802
862
934
885
950
851
890
826
854
952
894
837
847
861
825
887
904
856
819
862
842
924
844
829
998
834
851
962
904
801
836
836
842
997
803
992
879
873
947
988
842
872
993
940
955
833
905
990
810
996
981
943
946
820
940
992
814
973
965
951
908
894
893
930
889
930
874
954
836
924
971
849
925
940
932
985
920
844
820
961
935
958
989
945
809
893
908
879
941
816
811
881
925
804
809
839
938
977
962
867
883
910
996
976
881
940
974
907
962
897
870
910
948
969
846
842
892
843
909
932
862
814
986
984
948
923
823
874
924
841
990
921
936
902
871
813
958
829
831
898
892
969
857
864
960
967
900
981
956
967
915
907
849
999
850
879
906
818
986
983
938
970
818
884
853
889
989
962
977
963
920
960
958
825
822
944
965
902
994
932
916
872
862
915
937
829
835
815
814
1000
839
905
942
998
963
999
931
877
846
894
811
953
990
983
987
939
958
898
913
836
948
880
978
816
919
819
895
944
841
932
895
888
851
831
971
914
960
902
957
897
842
877
836
860
982
955
812
824
923
892
923
916
888
844
980
896
887
996
884
830
924
929
942
828
950
839
893
853
990
813
933
857
821
936
918
923
913
943
956
824
997
951
918
1000
989
980
931
864
966
948
803
918
975
862
843
855
813
836
902
807
973
851
945
862
937
875
955
950
995
906
931
969
985
958
804
909
915
916
944
906
904
896
823
994
983
932
805
996
830
882
961
821
940
855
957
970
920
891
927
866
816
826
962
925
951
954
919
926
991
925
820
935
911
915
863
870
800
915
892
930
836
817
985
907
826
948
852
917
870
836
839
875
869
881
918
976
909
955
873
822
804
825
831
807
910
989
944
1000
935
877
895
989
941
917
880
937
877
845
900
935
896
980
814
911
940
976
868
991
1000
801
815
934
947
864
946
939
846
873
999
927
989
887
838
858
983
907
961
957
986
812
863
879
930
821
997
862
935
967
897
976
814
988
941
913
931
891
809
957
939
827
851
884
886
905
905
974
804
854
828
933
941
964
940
900
989
999
945
991
879
950
942
908
854
877
814
977
897
903
966
800
839
994
902
945
995
875
999
966
830
914
878
813
863
857
839
836
819
847
935
869
849
937
996
908
995
985
801
837
859
935
883
850
981
802
987
997
875
895
983
847
848
803
869
927
891
940
844
985
880
956
907
959
975
950
922
995
981
903
949
877
865
974
920
811
988
976
984
885
941
881
944
806
896
989
819
995
956
981
858
951
906
923
923
964
823
894
845
974
877
947
929
801
869
961
898
877
819
903
803
926
885
826
944
936
807
994
914
927
817
807
838
985
972
960
959
968
914
963
996
863
950
838
894
889
907
820
916
992
831
917
876
837
915
834
892
973
912
913
894
987
878
929
815
976
973
996
969
804
852
813
988
951
803
961
879
821
984
936
813
994
922
842
861
940
968
860
800
869
942
816
848
939
912
815
893
801
919
874
879
857
901
969
893
840
896
953
969
958
972
887
830
863
936
944
963
870
871
824
816
825
836
941
844
863
968
964
841
979
987
911
803
838
967
956
801
823
915
873
917
993
960
845
974
946
807
897
921
930
835
826
992
860
967
879
863
951
847
964
816
866
985
934
889
907
981
905
986
851
880
955
979
903
824
877
968
883
973
908
853
981
951
894
914
931
902
809
864
920
998
904
824
830
933
988
983
859
989
941
834
822
853
827
994
932
943
803
912
967
908
858
818
830
956
872
890
951
842
968
858
913
928
935
914
994
899
824
932
957
933
944
957
922
878
884
882
860
884
822
985
849
934
993
988
967
815
949
886
807
948
912
972
864
902
915
856
962
805
901
899
981
904
985
900
931
827
862
943
919
989
879
946
931
960
941
837
885
870
829
916
917
880
825
949
945
944
806
861
933
833
971
867
827
874
991
931
983
975
869
916
835
824
961
830
905
836
979
843
958
942
880
887
993
848
825
908
981
819
973
979
825
861
979
806
919
951
943
992
946
935
825
941
964
988
981
951
972
946
917
853
993
864
891
805
889
908
943
990
847
942
859
833
894
888
947
980
915
872
886
862
894
818
995
837
818
826
836
990
966
805
935
856
803
872
893
876
967
866
965
890
993
891
984
851
970
893
967
910
838
862
830
901
960
855
943
925
873
910
861
841
959
807
947
983
899
857
900
960
931
898
807
811
829
961
808
806
828
990
836
841
893
828
869
888
829
893
978
820
919
914
849
900
908
967
954
954
939
839
805
839
891
959
836
826
802
875
971
977
835
955
896
858
911
877
936
904
955
898
813
824
841
862
875
856
947
912
832
953
914
904
849
985
940
963
824
970
843
975
947
808
976
907
965
998
929
965
815
849
875
898
970
876
801
980
830
873
964
889
813
905
892
899
952
872
909
855
960
897
880
877
919
943
800
860
871
968
842
814
913
961
849
865
900
910
993
800
859
825
873
842
884
926
884
855
999
811
846
954
837
906
893
953
891
900
919
824
839
911
957
928
971
814
940
896
953
823
893
940
917
829
832
813
897
827
875
915
909
872
958
885
952
946
824
934
835
924
949
884
967
885
898
805
980
922
970
982
949
947
899
865
865
876
883
934
942
842
982
883
950
918
837
934
822
919
889
979
905
847
862
975
855
815
976
908
810
822
823
921
863
980
902
942
950
852
958
968
923
807
869
828
977
845
896
886
973
985
832
871
972
895
946
982
838
833
856
890
824
905
824
829
907
969
899
970
912
822
853
946
812
920
1000
871
933
820
938
899
839
952
884
933
975
976
955
943
859
985
894
812
907
989
905
891
870
964
943
892
980
845
964
865
892
839
835
965
919
829
938
904
936
813
979
863
906
959
878
972
946
960
915
931
935
826
950
950
813
858
881
856
948
851
888
971
927
824
972
861
915
971
904
930
947
989
903
941
947
927
997
980
982
913
903
811
958
867
890
999
970
908
982
938
985
907
898
852
890
866
982
974
930
920
956
823
927
943
816
811
892
884
857
976
834
993
910
980
878
999
861
959
998
992
939
865
877
833
874
826
849
946
938
970
957
823
829
835
829
819
1000
879
935
825
988
968
923
861
947
938
979
934
869
952
838
988
987
817
953
920
953
928
914
944
994
868
947
971
997
999
839
895
928
985
921
811
929
929
990
977
856
816
855
994
917
871
888
949
974
863
843
887
847
847
950
834
840
810
994
804
867
977
838
958
818
995
934
967
904
870
915
813
868
853
856
874
991
832
955
852
951
823
973
896
879
968
997
961
828
935
836
896
951
955
970
850
902
869
887
918
807
991
941
1000
887
895
910
962
852
989
893
882
923
884
885
960
824
998
851
960
916
882
973
809
906
946
941
832
923
992
949
963
880
819
880
990
959
980
870
989
896
863
874
839
814
823
997
993
829
813
909
920
871
849
890
992
995
996
874
869
809
833
878
888
909
885
887
899
869
850
950
921
814
852
930
847
844
838
894
922
992
938
922
824
812
871
806
894
922
801
991
931
878
924
935
999
854
886
814
882
876
887
917
857
817
996
929
875
864
997
901
882
854
931
910
991
951
909
832
817
838
977
895
869
952
856
967
860
907
985
982
821
919
925
833
947
870
958
931
953
914
926
941
870
967
915
993
840
912
810
936
995
827
930
1000
811
962
803
951
953
975
849
828
900
817
997
806
971
934
896
827
810
931
986
823
840
813
817
921
914
973
879
887
991
943
893
889
920
969
914
926
878
895
822
830
849
840
950
873
943
971
825
800
812
834
920
866
1000
909
849
832
919
869
911
954
949
946
909
930
829
817
972
825
884
976
988
800
821
917
1000
814
972
951
964
926
907
809
953
955
847
901
838
805
874
915
996
918
944
888
824
976
995
806
935
847
1000
815
809
901
837
970
945
889
853
980
894
891
871
914
906
976
925
955
855
988
878
807
839
851
888
941
887
1000
817
840
885
833
925
954
875
843
813
840
882
851
806
877
842
958
835
889
808
945
845
982
956
816
836
979
938
965
994
870
998
946
887
903
911
825
833
947
961
997
910
985
825
838
804
967
923
840
933
844
888
856
987
908
952
978
954
886
931
861
834
962
823
943
890
808
853
887
939
871
944
935
863
858
921
940
892
978
805
877
993
943
945
872
968
837
945
998
940
960
807
860
922
994
858
984
995
978
976
804
969
958
944
941
829
978
926
946
899
855
847
920
806
857
908
998
993
845
903
817
978
923
941
980
817
999
996
836
1000
988
854
843
996
957
810
854
973
917
828
910
945
830
1000
965
980
984
933
825
818
930
845
911
858
930
972
893
921
989
855
849
907
997
944
942
835
821
833
973
914
835
833
958
979
947
816
948
917
927
822
934
996
834
962
833
972
979
976
836
844
854
864
996
860
945
955
913
900
882
860
894
966
833
980
852
923
951
804
942
937
932
838
997
981
828
999
912
922
930
824
945
800
886
842
973
961
984
813
874
964
939
827
863
882
842
936
801
843
942
870
910
922
898
846
892
920
814
980
860
998
860
882
988
893
820
850
923
988
925
886
993
890
992
1000
969
951
846
979
983
828
975
900
909
896
990
991
836
918
839
936
897
854
922
1000
934
909
854
834
969
859
862
827
856
965
835
979
881
944
983
984
905
839
986
999
953
844
921
909
903
955
885
977
885
922
982
891
866
913
830
831
922
942
885
847
905
846
901
966
847
909
829
811
828
825
958
800
879
847
891
922
823
907
809
925
863
962
865
805
874
808
800
831
950
848
842
955
853
868
805
891
882
974
865
907
937
855
970
850
875
971
948
971
827
909
868
879
815
847
838
986
998
985
857
992
925
941
854
912
953
860
901
901
899
885
823
889
863
866
931
848
893
862
899
966
849
868
887
845
922
950
940
920
996
880
833
806
969
963
831
876
856
924
831
968
956
875
860
854
956
882
949
913
946
956
896
951
944
978
819
908
902
1000
895
977
922
947
938
839
837
885
988
845
880
820
885
842
836
993
925
970
967
937
880
920
929
933
875
966
957
819
895
856
987
944
943
843
974
920
940
950
856
927
856
989
800
970
960
889
885
874
941
836
867
985
819
948
875
843
917
873
801
877
911
949
929
934
986
887
840
886
803
939
884
940
951
839
908
857
824
868
942
883
886
985
890
854
873
1000
837
977
860
951
949
833
965
843
911
867
998
822
831
815
868
933
885
822
940
867
899
854
990
836
821
820
942
940
951
838
911
841
953
950
887
922
975
882
824
962
865
897
822
904
909
886
874
847
827
989
802
960
918
1000
822
810
842
826
832
979
886
888
912
807
884
997
964
872
808
866
992
866
854
948
866
824
890
874
836
828
840
820
954
842
890
882
927
938
864
891
837
845
992
879
937
922
946
961
952
903
846
835
855
874
823
907
876
840
907
940
915
824
895
885
950
801
859
849
915
932
953
806
843
915
852
839
841
946
855
858
820
803
825
937
889
879
895
968
882
841
894
820
887
896
1000
921
968
892
901
810
995
822
917
928
971
815
935
906
966
831
862
883
937
879
893
813
830
871
893
894
958
962
966
928
856
895
966
889
859
910
913
913
896
859
876
978
836
943
982
878
870
858
872
931
803
995
898
987
966
954
914
842
847
986
842
900
969
933
834
857
928
940
863
967
966
991
940
812
998
940
844
910
945
818
925
971
873
963
981
856
990
909
821
953
871
926
903
904
821
928
980
990
936
866
972
996
800
936
823
828
825
869
886
849
909
946
979
936
910
957
930
980
965
870
839
949
935
816
834
950
870
831
866
815
831
870
951
876
897
893
925
825
904
894
822
808
943
885
904
906
881
918
935
812
824
882
919
907
975
875
924
998
828
932
994
861
907
929
928
963
946
832
941
817
981
856
871
940
962
853
826
864
845
988
908
936
958
923
804
878
956
819
977
932
873
851
836
861
826
807
978
800
935
976
835
852
869
965
1000
940
806
953
875
944
818
829
808
892
839
962
922
990
805
961
841
926
839
804
817
824
981
847
930
962
897
919
805
918
862
823
830
856
944
911
988
950
885
877
826
811
856
981
967
840
946
850
906
875
915
859
841
884
968
952
903
939
878
883
948
813
954
931
985
975
923
986
872
819
842
830
974
887
863
885
816
981
917
957
949
969
933
803
847
962
801
924
996
1000
833
857
921
866
807
911
950
814
945
942
867
908
835
865
834
852
940
920
839
887
902
840
967
833
961
972
929
951
938
935
910
896
855
878
912
999
896
865
921
941
896
886
866
968
929
949
971
1000
882
824
879
813
980
856
956
909
936
822
921
865
985
908
889
845
880
946
841
892
933
910
925
948
823
935
886
891
866
818
891
902
941
907
937
998
993
815
964
854
998
820
956
871
879
981
932
956
814
823
879
915
871
936
864
854
945
936
902
908
814
861
820
985
986
897
977
837
939
815
898
882
817
884
933
873
847
881
967
934
806
882
847
988
850
952
891
868
946
923
975
897
801
913
885
880
939
861
882
873
875
881
813
814
929
921
860
931
885
832
958
874
875
973
884
905
809
840
813
919
802
918
897
991
837
856
1000
956
815
959
930
996
896
922
994
937
895
993
861
889
915
821
824
891
987
840
939
910
845
813
814
950
951
879
827
902
976
834
967
962
830
859
973
949
876
911
917
857
990
959
844
881
916
896
985
879
994
826
990
815
936
928
815
837
880
988
850
948
955
969
979
904
834
843
837
818
840
866
873
916
805
803
855
1000
933
975
866
913
965
905
936
832
867
935
849
816
870
977
919
890
845
991
937
987
945
970
920
812
887
959
846
905
824
941
922
892
859
837
993
834
987
803
954
991
964
955
873
932
952
862
972
971
810
823
919
828
911
977
865
873
800
829
869
889
982
902
843
915
844
829
933
815
993
971
948
866
831
840
901
897
865
904
940
967
977
984
861
810
935
843
835
940
864
872
984
979
872
902
923
974
921
897
980
971
823
917
896
813
902
893
967
828
889
924
917
991
924
932
841
827
859
943
801
833
958
936
917
958
955
839
891
914
824
925
941
840
921
856
951
938
985
987
959
991
920
901
933
861
829
995
882
987
975
908
894
994
806
981
931
975
814
928
871
901
813
921
858
822
881
922
936
980
829
946
992
858
969
981
984
869
985
822
895
954
992
975
963
1000
969
864
868
866
903
847
986
804
939
897
988
927
813
879
834
838
985
965
839
897
857
802
956
810
864
987
953
847
972
996
800
829
926
931
984
813
995
894
661
667
544
562
528
602
668
690
511
678
694
560
512
637
695
526
515
568
607
598
633
639
641
676
651
554
522
519
676
626
694
670
500
650
658
664
544
615
588
695
671
686
513
588
608
555
593
693
647
513
511
531
608
539
608
623
668
601
600
511
547
590
509
662
551
649
649
624
501
676
667
581
652
678
529
607
520
690
618
631
696
606
684
587
696
633
515
509
536
699
637
597
556
624
569
697
653
549
672
586
690
632
567
511
580
698
599
648
610
534
632
638
645
605
637
637
623
636
515
637
582
675
514
652
677
597
681
665
652
644
623
602
550
527
578
565
563
519
627
516
630
509
699
700
624
669
685
681
616
543
539
634
648
508
601
666
585
643
525
595
602
592
658
583
547
530
598
572
673
546
605
590
549
557
530
690
540
603
630
567
667
507
655
683
640
627
527
669
632
538
532
566
603
604
589
636
575
668
546
558
686
674
608
504
555
575
636
551
602
520
700
602
673
537
612
528
598
595
540
585
508
531
631
597
637
550
693
654
553
598
628
615
569
503
538
603
512
534
699
504
506
519
657
632
560
558
647
684
517
555
665
678
621
669
642
545
698
599
596
598
661
612
612
644
519
522
630
623
692
625
664
534
632
623
601
570
562
697
581
656
655
653
585
541
671
560
587
527
516
525
632
527
539
608
567
529
554
677
544
501
618
649
604
663
590
576
645
595
633
667
572
679
517
615
684
621
634
504
641
507
684
645
517
520
503
501
523
525
503
612
581
667
582
582
638
546
631
613
537
544
680
593
558
607
550
614
508
584
599
550
656
653
609
627
596
596
668
557
628
676
650
562
531
542
518
689
588
605
563
632
554
681
622
525
612
520
555
530
689
618
661
662
572
501
535
628
566
577
677
649
626
602
573
655
640
547
655
500
584
528
519
686
591
594
665
640
583
545
545
510
529
680
658
674
604
554
538
506
662
604
598
608
644
667
542
610
666
501
518
548
603
519
590
631
567
642
555
690
652
627
653
611
563
673
528
604
513
530
679
605
625
583
577
635
596
557
566
608
650
529
572
566
563
556
509
595
642
567
552
537
565
624
605
597
522
624
507
604
556
546
644
565
675
598
603
551
690
502
581
603
626
569
652
636
652
549
651
651
684
596
582
638
694
604
655
679
617
691
640
559
665
545
586
660
630
599
577
525
604
651
603
501
600
679
588
513
649
559
571
610
651
531
596
599
570
660
590
589
643
517
683
537
610
622
506
661
566
650
505
625
572
630
576
643
564
503
575
695
547
614
680
522
634
562
577
548
689
577
591
516
587
668
683
589
693
683
580
521
528
560
536
599
681
679
671
689
628
678
623
604
663
539
544
644
649
523
543
675
540
624
613
613
668
509
681
579
617
654
582
591
638
626
673
544
677
654
679
660
689
599
567
689
534
584
520
610
651
521
698
529
569
637
669
672
513
679
500
635
646
528
549
550
639
503
681
585
694
502
572
500
570
589
647
518
527
610
677
583
643
611
580
547
605
638
596
668
692
643
561
628
677
508
650
525
606
687
623
501
579
522
600
521
550
564
700
551
668
679
586
550
508
586
560
627
511
592
614
625
665
541
572
610
620
588
630
627
528
622
691
517
646
580
693
624
596
602
576
606
531
647
566
542
536
620
688
536
623
643
559
598
544
676
508
592
684
675
525
611
511
632
651
525
573
615
564
664
651
666
564
694
512
617
637
509
621
526
678
527
642
646
683
571
585
683
608
520
554
567
597
668
554
667
655
695
630
510
570
531
581
675
588
658
601
544
621
619
605
516
609
517
522
673
603
533
662
651
509
553
600
553
631
534
540
621
658
647
654
645
508
581
658
633
665
577
693
641
620
600
599
521
505
687
568
671
583
613
648
673
656
533
618
673
567
636
614
524
688
564
696
652
534
576
612
649
588
578
595
648
527
519
640
565
678
548
665
641
514
539
675
589
539
501
686
607
634
649
505
500
697
634
620
627
506
629
578
623
617
599
522
594
569
605
578
608
504
617
573
560
511
567
682
520
669
619
678
569
568
533
558
649
598
554
629
536
557
607
544
518
546
629
597
532
684
594
555
634
514
567
562
643
631
625
662
591
615
676
633
530
542
560
542
644
534
691
584
560
695
588
504
501
672
539
527
561
521
579
655
657
566
531
507
529
693
680
542
533
591
501
620
648
620
587
520
660
537
583
650
660
517
683
520
520
598
687
640
509
595
535
502
675
680
592
666
570
621
572
608
597
656
672
577
522
671
584
616
605
619
512
546
663
621
595
567
539
688
518
698
527
641
594
633
697
601
560
668
538
545
513
564
682
649
668
584
613
570
562
557
548
700
617
513
578
668
561
509
630
549
649
520
632
581
690
503
507
540
644
654
685
672
568
686
519
558
515
612
679
605
501
696
535
566
659
685
631
644
627
599
559
624
574
538
648
607
510
585
613
530
669
511
574
554
584
563
539
659
649
511
577
656
630
644
555
530
651
630
568
580
695
603
526
653
623
546
522
698
575
590
571
504
672
653
608
544
560
633
529
639
588
617
593
696
644
633
508
653
532
551
501
510
562
664
559
547
542
546
522
570
656
528
502
555
602
506
592
697
621
505
575
698
501
554
570
565
699
545
551
515
648
647
651
594
587
674
508
541
662
685
559
616
526
559
688
509
699
596
673
689
666
566
656
580
626
700
624
504
624
611
563
676
630
635
635
528
689
597
641
543
656
636
645
611
566
509
693
578
675
527
527
550
684
591
659
683
666
651
660
672
563
689
583
608
588
640
672
574
519
697
688
524
569
624
625
520
584
643
535
681
575
617
682
518
544
531
553
695
671
500
670
563
541
601
509
524
597
537
656
666
635
510
548
700
654
639
602
620
542
651
522
639
691
676
513
592
593
649
685
616
671
663
686
521
506
556
686
590
639
669
507
640
628
536
634
501
663
501
570
617
660
686
535
698
598
590
642
658
587
636
677
653
596
610
611
698
646
531
688
612
651
557
603
502
610
559
680
544
605
508
548
635
662
617
584
614
610
553
510
577
526
637
553
644
564
615
606
694
576
633
652
581
575
648
567
653
557
643
587
580
558
641
633
500
608
537
506
573
641
643
594
538
570
637
671
518
586
645
558
665
563
524
602
525
562
543
650
655
606
615
646
500
592
691
583
592
565
584
686
577
640
604
604
669
568
618
667
625
600
514
603
508
510
526
619
571
676
624
670
614
514
660
679
516
655
655
583
589
562
610
671
600
542
574
618
567
609
535
622
501
677
644
675
550
682
638
609
676
552
654
534
549
665
611
559
652
559
654
693
640
691
627
612
676
531
517
610
588
536
691
587
561
588
670
661
518
638
635
564
655
518
572
681
576
592
700
620
504
642
657
514
570
683
642
687
652
619
543
549
656
640
695
522
520
565
569
645
577
659
526
522
580
500
529
596
524
651
648
568
673
569
688
657
617
535
519
561
618
692
642
699
622
606
676
556
593
558
576
641
539
582
598
615
686
600
700
554
522
503
676
700
547
564
589
660
505
668
581
679
655
525
507
645
658
651
665
698
676
632
623
621
634
577
661
624
635
613
535
534
526
549
600
566
620
581
560
517
592
617
643
637
566
557
565
516
693
656
635
577
554
632
564
534
663
533
538
568
643
560
613
700
650
678
599
645
618
602
509
565
605
624
576
542
565
689
541
632
626
538
568
691
642
566
528
622
605
580
558
700
668
511
556
670
590
611
557
608
635
580
531
509
609
504
613
504
655
582
598
693
647
626
628
664
546
516
558
618
517
581
632
630
605
673
653
647
619
519
540
545
502
658
642
526
606
557
580
606
512
650
599
553
523
515
652
522
666
515
569
650
574
652
684
522
697
572
659
680
659
675
502
639
660
627
693
501
560
511
513
610
512
532
587
539
698
633
502
543
564
549
503
525
554
656
531
657
543
597
684
641
570
630
653
588
647
666
593
638
569
615
567
553
507
669
604
583
503
534
597
698
679
587
546
516
679
623
503
611
544
589
669
535
686
639
575
639
566
618
659
554
654
550
645
511
597
554
669
520
637
502
583
530
697
516
647
683
683
693
509
669
621
590
549
680
696
693
651
608
510
501
574
504
689
549
519
564
606
693
592
700
652
529
649
585
676
523
542
584
541
584
606
642
679
693
555
556
635
555
530
572
700
657
625
587
509
544
588
574
697
641
605
540
656
661
581
609
528
573
538
600
580
593
656
519
557
690
544
533
675
566
663
594
696
669
644
618
609
694
509
615
692
686
573
625
585
611
603
557
649
630
650
618
698
662
588
630
506
533
631
676
554
531
673
512
527
540
687
506
656
566
574
673
588
573
520
630
578
645
612
577
560
584
689
587
556
567
647
582
509
546
691
660
528
646
692
621
631
531
606
638
659
592
512
586
569
519
649
680
573
581
550
540
594
669
517
548
549
504
647
618
530
678
614
675
603
596
642
615
511
552
621
554
546
520
677
563
515
568
555
610
559
615
575
656
695
575
596
517
583
519
514
595
507
680
635
644
581
638
680
526
617
522
573
699
698
649
520
541
568
583
601
640
507
607
550
530
515
616
548
550
676
590
689
580
520
567
656
567
599
624
672
665
682
630
684
558
535
653
550
516
676
639
579
658
644
542
502
658
575
692
524
615
586
662
697
623
507
595
501
543
529
688
550
615
688
610
596
615
621
593
572
567
661
596
682
516
553
660
695
666
612
585
623
536
500
531
551
538
549
535
520
558
618
532
699
677
632
678
567
501
565
568
655
506
512
570
519
691
687
697
559
674
598
630
511
503
651
582
678
524
609
505
660
550
687
630
503
517
631
523
699
509
633
700
547
568
543
691
580
645
591
609
654
572
604
551
620
553
638
611
538
687
586
547
641
556
673
525
599
515
618
611
513
605
521
557
617
671
584
501
603
559
690
654
569
562
575
622
569
609
540
625
661
543
578
622
609
564
682
648
624
615
526
547
528
548
678
520
522
680
581
503
586
630
640
543
622
608
696
652
669
601
580
512
507
539
505
690
529
507
633
569
622
575
528
546
557
618
643
636
574
578
636
582
506
657
595
566
691
561
525
635
563
686
570
691
691
599
591
559
516
573
615
541
552
624
644
621
525
692
684
591
582
597
657
683
529
618
685
535
533
686
526
637
542
606
616
526
536
526
559
531
500
685
527
510
698
619
563
514
510
625
549
606
622
658
635
524
573
634
550
642
562
661
558
535
595
595
605
537
645
650
584
598
628
558
641
667
624
697
597
610
591
652
621
533
656
511
595
603
522
664
560
589
636
540
556
646
632
617
650
662
592
513
660
645
659
639
645
673
500
689
623
532
626
564
532
519
571
699
671
586
539
588
570
638
612
630
639
565
502
609
512
557
684
563
668
509
683
647
603
677
562
577
522
680
534
522
527
633
608
657
592
648
673
577
612
580
677
675
548
635
625
503
691
524
658
579
573
689
597
618
506
656
681
515
663
639
614
554
553
553
676
698
615
549
674
601
583
517
673
617
606
529
516
660
529
553
567
501
556
500
695
642
632
536
588
583
512
689
563
564
682
573
542
577
603
651
550
566
609
574
607
608
620
569
540
569
648
601
636
505
633
502
612
649
543
504
550
608
560
688
577
695
611
610
568
688
598
524
583
700
567
516
564
653
547
545
690
670
590
637
680
517
606
560
596
601
658
588
546
583
562
542
559
650
556
686
569
548
503
651
526
606
519
548
642
542
558
683
694
635
591
668
553
582
505
668
674
673
594
682
543
536
694
514
503
663
565
513
558
661
546
660
674
575
565
574
540
627
505
657
673
578
670
535
519
666
666
627
543
689
689
640
585
651
679
609
594
580
672
605
585
516
555
609
562
662
604
581
685
585
596
649
502
522
528
696
581
518
679
674
668
503
554
664
572
641
530
652
522
588
676
631
591
667
576
663
632
514
506
632
692
567
623
610
674
641
539
612
600
670
596
665
688
534
644
509
656
624
506
597
573
557
515
500
568
598
586
693
578
528
516
698
618
644
645
608
624
510
586
585
517
628
654
507
539
691
555
539
567
650
586
520
578
680
606
500
526
517
660
542
562
697
689
531
665
582
671
539
558
538
685
699
566
665
692
604
649
554
655
586
673
527
509
648
537
521
578
653
528
593
531
613
514
682
571
588
500
673
651
664
641
649
562
547
686
512
604
593
511
502
584
525
507
557
686
571
509
671
685
574
620
657
650
654
641
695
625
638
647
526
523
618
629
596
679
587
522
686
525
593
515
691
680
550
684
611
569
690
520
650
649
610
680
509
693
533
573
638
623
575
583
538
607
591
520
536
684
560
590
518
700
654
652
666
636
649
581
568
596
698
543
623
584
671
523
592
664
559
579
553
654
519
659
513
509
626
657
569
581
544
615
532
544
659
649
603
525
605
657
647
597
700
685
569
516
542
566
652
553
684
609
637
599
559
631
600
527
601
678
607
630
630
535
605
636
531
616
567
564
631
697
698
565
559
606
596
658
594
598
534
532
654
654
613
612
643
507
603
664
618
633
539
641
673
641
589
644
692
599
687
636
680
576
638
654
586
599
577
697
517
609
617
507
545
643
673
565
610
562
543
535
679
554
640
521
569
564
617
585
570
595
622
554
544
565
696
626
662
639
675
541
509
635
561
563
551
697
561
666
573
509
645
547
516
676
619
511
502
661
661
584
627
536
587
542
531
600
597
585
632
548
635
563
536
502
564
507
591
679
649
628
634
550
632
664
520
664
615
616
682
698
680
546
512
627
606
549
625
588
670
612
610
584
618
517
591
542
680
664
583
595
534
561
601
523
688
633
610
604
579
530
679
573
567
688
652
597
691
678
570
537
628
672
641
642
659
591
632
695
583
514
688
693
691
522
597
634
527
570
649
592
700
517
569
648
648
678
607
620
691
550
553
664
681
588
616
627
658
592
570
546
610
681
509
659
640
630
516
586
596
545
568
626
527
666
572
606
556
589
518
687
519
645
646
677
676
636
610
542
691
565
528
554
585
618
620
671
621
697
613
643
511
563
573
615
681
504
640
582
527
619
627
593
552
512
544
647
650
592
518
502
621
636
505
548
579
542
543
696
638
615
655
581
590
619
663
581
657
511
550
667
570
549
570
697
594
611
586
589
688
667
506
553
614
549
663
522
552
516
614
630
649
518
592
688
523
585
577
529
521
511
690
616
597
594
559
572
584
526
546
587
571
686
619
670
509
678
562
502
678
627
638
605
537
549
552
696
582
569
662
607
554
617
656
608
587
633
633
640
554
556
564
533
587
654
605
568
596
521
576
511
500
512
584
677
671
589
501
657
618
517
560
692
625
577
636
598
656
620
594
602
630
537
559
660
541
572
584
689
643
580
603
600
527
635
581
526
648
557
518
661
644
524
524
608
571
654
658
506
562
597
665
540
643
581
667
580
609
583
649
538
686
669
605
527
553
511
637
601
580
520
545
583
572
544
597
575
512
660
571
574
669
521
536
574
573
547
615
525
557
675
548
617
563
605
644
566
614
573
665
609
557
513
557
691
568
566
567
691
508
519
551
546
589
595
674
538
609
586
578
595
549
602
557
594
572
691
596
697
632
646
639
666
500
578
696
616
567
525
601
635
661
504
678
509
538
570
576
660
590
515
563
543
667
630
587
620
555
509
617
626
681
607
550
585
506
612
571
692
507
541
538
665
558
682
536
525
673
543
691
662
661
559
675
638
622
536
663
688
566
574
578
557
550
504
645
520
566
683
595
559
575
585
665
585
609
584
653
513
580
631
672
662
666
531
573
551
684
537
658
585
522
593
506
572
531
618
560
511
637
652
662
580
667
677
505
500
620
653
592
520
562
642
610
654
545
674
690
672
690
577
544
591
679
677
598
669
585
620
645
619
529
573
670
624
561
663
594
696
517
644
645
597
514
666
645
526
628
692
605
555
625
681
692
560
536
616
533
659
553
683
626
624
500
585
596
663
562
566
607
502
614
665
526
661
549
569
647
518
628
599
578
584
643
631
636
510
527
664
668
524
644
684
563
507
518
540
552
688
598
677
625
691
603
666
611
518
519
558
641
515
632
599
633
682
544
602
552
543
687
521
617
690
649
608
698
599
674
524
695
634
643
610
614
546
519
665
683
669
526
586
543
525
694
631
505
622
652
625
591
513
643
629
527
535
505
603
533
613
618
561
620
675
693
602
634
620
671
536
673
614
594
645
695
597
518
510
638
597
643
648
515
591
501
575
585
541
625
625
571
636
594
664
567
628
669
676
557
624
672
567
609
561
560
693
651
676
506
624
642
638
577
534
611
616
696
501
664
670
621
590
571
564
501
658
645
535
572
652
625
636
621
638
500
624
542
563
571
592
580
666
657
582
584
566
695
592
628
520
557
576
503
560
670
542
600
566
573
542
563
514
511
557
617
520
592
615
523
565
569
638
680
592
673
502
593
514
537
533
582
538
602
508
625
649
672
550
590
658
652
608
693
534
572
534
614
595
696
643
656
660
655
586
587
609
652
526
624
579
645
594
625
638
636
535
589
650
699
639
594
657
538
516
665
544
501
619
684
640
699
695
694
638
645
687
566
624
617
523
673
547
652
596
525
563
548
665
561
635
663
664
560
674
601
670
645
566
577
659
596
535
695
525
626
610
510
607
634
690
535
679
554
660
670
601
670
572
661
637
647
583
600
674
509
535
587
575
550
595
610
566
520
696
639
687
511
509
591
609
600
605
566
582
639
505
548
623
686
579
502
511
668
671
523
541
669
546
567
519
687
540
635
519
591
560
582
656
652
501
554
658
637
663
613
613
553
672
645
582
672
624
573
531
553
597
635
601
640
545
535
588
517
514
605
694
589
669
629
657
557
606
662
524
613
554
679
530
520
571
606
560
632
634
634
624
532
524
564
678
647
594
594
565
680
576
572
571
699
636
670
534
522
681
687
621
558
563
684
510
610
674
501
688
610
651
501
532
595
593
611
672
537
508
694
536
530
536
679
539
622
570
582
613
528
660
690
567
551
678
636
548
582
521
683
584
585
658
613
587
699
557
667
541
595
579
554
619
642
558
684
554
667
537
628
619
557
612
537
512
628
582
606
546
697
638
677
585
619
676
696
550
544
553
587
684
668
674
591
543
627
566
546
658
547
667
696
530
689
698
591
522
565
576
517
519
655
629
669
515
662
653
508
509
547
675
695
563
700
637
676
514
562
558
546
599
661
509
647
688
606
597
626
517
639
564
678
694
564
676
617
502
601
571
535
589
685
587
634
548
531
624
550
673
640
672
511
559
669
577
512
541
580
592
629
640
604
675
534
562
587
617
602
640
537
655
503
657
628
648
605
681
557
668
577
532
623
504
582
692
659
694
691
655
670
560
577
566
600
558
571
592
600
529
559
583
638
542
549
659
608
569
503
567
695
598
537
579
526
691
636
603
663
623
642
540
595
680
540
546
528
606
575
681
656
537
598
501
622
503
515
692
563
688
633
646
565
584
520
535
647
575
694
556
602
609
682
657
576
593
663
590
504
695
593
623
691
529
658
510
575
582
590
601
570
613
623
624
684
627
661
584
671
552
536
611
589
697
537
540
555
684
676
631
631
562
665
621
689
501
589
656
595
674
680
528
559
547
682
698
568
683
617
519
589
645
607
542
660
506
583
696
619
612
689
583
654
506
543
603
600
605
636
585
514
582
525
673
509
583
538
635
644
579
695
649
634
606
576
539
559
694
699
561
563
608
602
584
524
658
537
695
651
678
630
624
657
518
549
553
683
517
529
646
526
567
661
526
511
602
580
533
658
520
503
599
512
532
558
624
656
531
546
535
669
518
645
525
620
663
648
695
680
641
626
666
655
568
558
528
629
670
633
663
572
500
621
657
664
637
563
507
585
652
667
612
545
555
561
531
688
532
509
552
544
500
696
620
640
594
557
570
600
667
667
610
618
504
509
692
658
699
642
514
572
511
590
676
614
502
585
667
632
558
538
665
588
688
568
508
569
577
507
518
552
683
525
525
560
501
624
578
509
649
564
679
565
690
619
682
568
612
639
534
575
516
644
602
555
591
673
521
684
670
528
576
660
691
506
630
607
655
653
625
520
631
660
678
541
567
630
512
695
566
694
641
504
570
593
681
511
530
639
670
500
544
545
681
680
576
698
548
545
647
576
678
551
697
552
583
569
548
604
671
590
504
579
580
697
663
574
579
632
612
565
651
512
571
573
624
665
646
610
571
559
516
606
575
621
536
679
522
652
625
502
657
548
508
639
599
692
680
672
675
656
503
502
678
534
553
536
623
573
608
568
553
511
578
594
543
579
696
678
557
532
550
656
570
585
558
505
514
524
500
659
623
680
530
651
691
623
671
642
571
670
646
524
634
696
542
670
599
638
525
519
615
586
510
606
694
676
500
580
514
659
677
696
565
691
504
626
541
647
648
689
642
653
502
700
549
693
677
549
533
689
523
700
544
673
541
507
540
533
537
519
511
632
652
549
671
522
665
692
600
679
527
674
619
591
667
595
661
669
666
578
659
625
650
577
619
575
608
635
652
600
626
591
533
595
648
517
514
598
697
601
685
687
604
597
580
629
511
670
629
511
612
688
682
548
691
569
565
601
573
595
648
530
507
679
560
520
604
620
642
557
623
618
675
549
589
697
505
545
690
601
609
513
585
635
549
585
545
604
591
615
676
541
578
684
633
698
650
548
526
500
556
669
567
533
531
519
611
650
695
646
531
607
630
593
611
664
660
534
661
618
642
691
505
560
631
662
627
533
615
556
641
646
604
667
590
671
667
562
660
690
653
646
546
599
602
512
614
643
700
668
591
509
598
692
579
642
633
656
652
518
684
666
507
560
579
529
652
536
660
687
569
697
540
691
635
698
608
534
690
530
502
527
647
555
601
516
670
678
670
537
695
538
562
671
687
659
579
590
538
505
671
511
528
505
684
572
638
530
624
573
592
560
677
666
531
512
684
630
533
600
589
558
572
530
579
551
522
669
574
621
624
550
566
621
599
529
611
517
515
692
621
639
693
504
602
626
508
591
619
652
692
587
572
643
553
610
642
617
567
551
631
516
541
611
671
692
604
661
542
645
502
687
592
518
506
513
657
684
658
565
666
690
508
516
895
888
938
860
829
882
872
800
943
839
858
845
881
815
876
1000
874
996
933
976
809
997
979
804
812
918
904
898
825
929
886
970
845
869
913
840
901
927
953
856
933
904
940
894
978
924
832
934
914
965
898
886
886
881
974
810
917
907
937
825
989
851
829
925
806
947
961
900
933
823
917
804
806
853
827
980
950
857
957
812
801
847
996
895
863
932
911
826
891
990
839
993
898
923
896
977
874
815
995
839
866
812
815
988
833
809
947
938
931
919
975
927
862
924
920
935
899
921
943
845
941
817
959
826
927
863
832
929
942
919
926
902
887
827
897
860
960
990
956
940
884
889
949
857
838
817
884
882
846
907
964
983
885
867
954
855
895
808
978
864
950
968
892
828
989
919
961
962
897
920
902
952
961
939
839
913
817
827
947
875
837
824
910
968
815
901
930
986
880
944
801
823
956
925
935
999
925
842
803
861
913
828
835
852
989
907
975
979
895
882
948
911
920
804
965
823
842
925
884
891
806
942
867
893
937
814
848
831
994
845
943
899
979
898
800
883
851
993
962
932
881
889
976
818
880
908
909
1000
897
975
844
862
904
800
983
842
913
829
828
907
946
974
843
892
885
858
875
823
848
860
938
921
987
994
902
823
809
984
927
889
914
937
923
924
895
985
874
813
803
880
939
1000
878
918
866
847
952
834
896
986
848
855
866
913
964
883
941
927
811
990
901
912
924
910
966
856
951
963
900
914
954
838
878
895
852
887
919
891
910
934
935
935
922
939
833
847
922
807
924
837
859
896
978
821
931
950
808
882
920
905
838
868
895
810
866
854
948
920
979
938
827
892
946
991
811
980
875
971
842
991
857
856
980
990
857
975
999
941
932
919
894
917
916
907
925
822
979
818
991
921
819
843
956
952
930
891
947
815
915
968
921
808
943
923
952
819
809
991
808
923
978
887
873
892
904
825
870
922
907
808
916
937
913
847
974
910
912
893
928
975
931
922
818
913
877
812
825
940
814
859
996
879
856
831
929
847
962
930
821
944
809
814
958
911
826
830
852
988
835
888
814
960
825
984
927
911
964
838
999
946
931
888
849
833
976
910
974
927
848
902
900
855
837
988
967
867
951
933
959
823
878
948
885
949
836
958
999
901
810
814
876
905
836
911
980
958
952
886
966
842
877
998
993
895
959
958
815
983
977
884
942
843
817
889
895
906
842
948
893
860
934
821
982
836
893
874
869
940
992
993
930
974
937
968
926
804
802
969
825
839
845
926
999
944
935
923
811
910
956
831
832
888
802
875
996
874
892
834
928
966
964
842
956
865
913
812
905
904
853
830
978
802
898
867
878
811
813
914
940
939
828
930
928
804
835
957
859
992
816
994
830
856
990
924
815
827
974
905
989
951
913
835
851
995
906
979
867
850
819
878
880
981
873
811
864
896
835
844
897
803
890
987
872
866
916
933
863
984
948
902
980
852
912
854
947
887
844
958
952
897
884
844
881
941
908
948
954
827
986
948
996
927
889
955
990
895
864
988
948
925
978
924
909
807
947
835
880
935
998
943
825
945
919
946
916
880
970
892
847
894
826
911
972
979
988
934
906
910
866
991
910
962
861
822
826
801
853
987
972
985
806
846
865
903
975
936
957
800
891
915
872
991
846
899
885
868
923
915
953
870
858
915
841
874
916
908
989
830
916
812
843
927
851
839
856
820
839
826
825
859
857
817
969
825
903
919
983
940
844
976
847
925
832
937
980
820
882
928
853
984
814
829
869
864
873
948
831
884
986
949
991
934
868
993
905
994
906
916
905
954
824
886
855
808
985
902
916
988
800
900
871
894
844
940
835
926
834
908
865
994
839
848
986
959
934
822
842
998
933
850
911
866
858
928
814
908
819
929
984
851
932
894
883
959
839
942
898
911
914
977
978
803
915
986
834
820
972
813
881
987
859
964
921
901
928
846
837
879
865
895
967
832
996
870
966
872
860
977
854
906
992
908
944
943
867
988
890
971
943
880
805
981
917
912
825
973
998
963
923
884
972
821
887
902
899
813
832
827
878
830
858
947
921
981
915
958
903
844
880
847
886
959
903
913
916
893
859
890
835
967
849
831
939
878
905
845
841
933
932
937
845
824
901
855
887
989
944
819
818
804
870
918
944
867
939
870
898
894
955
873
804
822
882
829
975
944
857
967
809
846
804
912
892
991
990
854
859
991
871
917
843
933
827
972
834
905
909
842
907
976
840
950
933
954
854
850
822
834
802
855
938
985
880
870
909
959
837
882
969
916
815
810
855
991
912
996
908
987
988
966
930
934
934
805
959
840
915
953
930
884
859
842
921
835
942
997
826
964
998
865
890
883
829
969
858
898
963
940
918
877
961
985
964
947
976
920
851
998
903
967
935
806
800
921
989
1000
979
985
807
867
817
993
842
970
804
921
881
921
903
973
960
906
953
905
804
945
903
810
855
817
935
840
988
942
830
850
824
938
848
931
1000
856
879
911
897
801
942
834
835
917
857
871
827
825
988
809
955
921
974
857
806
887
869
990
893
838
935
932
811
888
833
958
994
949
866
963
854
841
871
817
942
832
926
957
843
960
944
919
804
861
920
936
838
874
836
919
892
984
852
864
961
964
913
996
998
925
815
890
825
943
993
890
875
996
822
908
854
946
945
973
886
814
963
879
939
939
845
991
908
907
820
869
964
822
817
832
813
926
886
992
988
908
908
932
972
806
826
976
997
808
993
891
952
838
844
999
859
857
1000
971
988
978
846
954
945
928
906
933
982
868
828
991
939
909
930
903
803
937
934
872
829
833
934
966
865
828
928
992
973
883
950
862
953
987
949
882
920
868
924
974
877
825
913
855
829
860
932
831
969
862
887
812
889
869
876
984
831
923
920
800
984
859
801
872
845
920
826
994
811
870
883
889
866
985
851
981
940
813
965
984
996
866
803
936
960
984
983
821
926
848
951
804
938
819
955
974
938
861
898
975
922
931
975
844
933
812
994
927
890
894
933
997
869
868
917
965
968
845
913
929
922
829
882
821
874
950
902
837
938
991
867
828
862
930
952
914
948
844
804
911
893
860
821
844
962
824
935
960
938
862
997
983
915
852
822
992
847
928
863
960
952
860
806
803
989
818
845
837
963
993
972
811
937
864
987
864
893
961
952
804
875
937
857
826
889
933
820
965
923
976
875
824
995
865
878
958
987
939
851
880
805
819
993
928
817
976
957
974
995
867
875
987
809
888
860
933
943
938
964
825
950
846
913
899
964
897
807
844
933
914
950
873
885
928
887
992
894
906
980
986
949
831
915
808
918
994
816
856
844
821
808
818
957
966
821
912
902
987
952
876
985
874
845
910
810
928
905
998
947
807
996
825
885
833
983
950
905
979
962
945
901
853
809
864
828
911
931
824
833
929
824
812
903
854
941
813
816
959
939
829
806
811
898
891
952
974
849
1000
810
896
981
958
862
816
989
977
950
900
876
876
828
854
911
880
809
822
827
870
848
844
991
1000
891
840
972
864
992
970
815
948
831
900
924
883
981
899
951
812
829
858
856
832
996
972
837
955
972
933
917
980
907
948
804
943
907
972
923
820
950
835
999
948
818
894
957
863
911
800
882
879
900
848
942
944
856
820
882
939
921
811
985
971
853
815
884
974
865
913
983
830
828
821
869
829
981
892
951
874
965
985
951
980
837
886
927
965
893
933
898
895
851
910
952
888
875
973
835
988
906
885
800
869
924
997
812
889
924
901
820
853
851
954
895
856
815
909
828
841
929
806
968
974
800
949
883
886
806
997
848
938
887
962
863
912
915
837
988
984
995
800
884
841
929
856
959
870
924
986
925
895
882
852
871
898
810
828
875
801
915
951
847
849
989
871
910
840
834
802
809
896
850
912
884
967
938
818
855
991
921
874
802
877
855
927
841
1000
875
874
955
980
943
894
932
861
874
860
962
931
836
981
932
956
948
913
976
946
1000
824
898
865
854
976
833
981
996
911
828
997
911
904
873
934
861
854
987
853
923
954
955
812
847
958
801
980
1000
878
922
825
891
955
944
892
865
891
859
965
937
971
851
836
966
879
855
950
879
971
986
803
865
941
836
995
919
811
862
969
994
927
916
894
936
872
909
984
908
909
964
881
820
899
810
976
803
872
950
827
919
905
958
883
838
951
812
923
857
835
933
981
999
994
905
927
879
827
902
830
954
957
998
874
894
957
988
872
881
981
830
927
993
820
998
870
999
909
861
955
962
873
933
901
915
958
987
960
915
956
814
1000
811
933
938
880
988
841
951
822
887
996
900
985
850
976
900
915
955
929
846
907
833
999
983
993
817
995
810
941
961
893
895
838
881
952
909
842
868
846
907
999
838
917
997
996
922
997
927
870
954
885
997
832
843
896
849
943
996
979
810
962
980
985
980
966
979
967
831
830
873
950
905
942
931
835
996
966
884
900
847
915
837
975
932
907
925
986
923
889
937
923
979
872
943
908
890
814
836
907
883
886
925
859
881
801
942
897
829
872
876
857
818
950
805
954
965
956
925
912
935
846
801
808
826
963
955
851
956
911
877
844
989
852
965
869
808
929
955
990
834
801
980
851
834
839
901
870
991
836
927
907
802
859
943
953
943
941
901
842
896
857
916
972
923
843
877
823
994
968
868
917
824
894
907
975
817
972
993
919
851
907
831
933
819
853
974
923
974
822
972
935
923
845
839
862
891
999
884
903
826
804
983
837
999
964
802
828
873
862
887
988
846
811
813
849
978
966
870
829
818
814
956
958
913
890
850
942
973
967
869
862
913
905
824
891
911
874
994
902
997
828
942
883
857
937
882
842
826
876
881
871
833
868
906
856
895
923
849
944
893
985
981
939
983
920
844
848
933
898
969
861
836
957
848
995
981
997
824
801
866
960
817
962
904
914
976
854
853
816
838
865
909
981
969
915
865
822
807
890
880
919
991
859
806
845
868
883
817
885
893
995
935
948
896
956
936
828
979
956
999
924
839
920
869
875
834
897
944
814
952
807
976
827
897
818
912
834
946
819
865
955
829
989
864
907
871
897
996
924
925
819
812
880
957
889
943
802
930
856
880
821
989
944
981
805
985
975
924
913
821
937
983
919
987
982
948
978
968
831
936
924
817
923
999
996
894
914
973
937
916
881
815
944
831
997
810
805
826
940
860
963
963
985
993
820
836
865
866
879
843
835
814
967
838
846
913
986
865
839
838
979
963
987
943
857
951
911
921
821
873
892
974
877
857
954
914
984
817
910
873
874
869
856
893
879
935
899
1000
908
819
947
856
905
917
948
854
966
921
943
876
995
993
970
840
825
871
946
830
977
877
976
853
805
972
974
841
845
801
914
805
936
840
947
985
927
963
980
862
902
939
853
838
973
842
995
858
884
865
862
939
861
854
842
921
881
954
915
814
887
962
887
902
873
980
1000
810
958
839
840
889
888
928
879
840
847
972
909
896
862
826
847
883
998
849
975
850
941
978
903
826
890
944
880
884
979
807
848
895
896
910
893
845
981
977
879
978
996
918
832
901
950
911
842
819
895
987
848
805
871
972
898
815
994
904
923
875
817
991
939
856
859
944
878
908
836
902
864
835
904
929
932
958
960
806
892
867
907
970
863
985
843
999
924
845
822
847
980
913
921
997
992
953
990
980
947
846
961
899
896
833
939
825
869
801
936
892
824
835
829
827
821
872
808
902
895
942
890
849
910
940
981
823
961
957
909
870
863
952
973
920
870
958
856
942
957
948
812
929
819
845
943
944
835
910
963
867
869
981
832
965
947
818
949
803
855
830
895
806
806
962
859
886
875
906
803
810
891
905
836
849
854
873
954
893
855
821
868
997
954
948
822
896
971
862
818
931
938
939
856
861
800
932
988
827
827
926
864
973
840
863
839
870
846
934
938
996
931
851
945
816
892
959
864
949
895
886
815
919
885
817
932
874
835
856
864
866
983
916
996
977
822
978
879
804
812
890
970
886
983
811
869
835
948
895
961
891
904
918
868
925
935
877
831
850
926
844
898
956
983
909
948
961
824
857
972
803
876
856
966
857
964
949
946
839
969
903
970
802
952
984
838
912
936
911
961
955
905
933
862
936
918
935
893
877
964
858
994
894
901
925
860
950
831
808
876
942
856
910
979
929
958
957
930
923
838
841
981
916
852
961
909
886
876
807
926
931
900
838
840
946
963
877
993
880
954
925
812
914
807
998
869
929
869
981
909
939
933
869
902
924
918
829
832
886
917
882
825
832
931
805
832
931
946
984
878
819
936
859
903
971
811
951
1000
967
968
843
956
856
941
907
970
947
872
874
939
837
921
855
937
903
936
984
941
819
840
832
845
997
922
910
870
891
826
810
977
905
990
843
919
848
840
874
973
979
849
922
956
988
871
972
966
995
965
971
912
864
802
885
947
806
918
924
887
945
853
897
851
895
800
946
858
990
898
872
801
816
827
809
958
862
854
979
951
972
915
813
901
872
969
983
894
953
849
981
878
945
891
840
841
811
973
834
943
866
995
916
829
867
943
941
829
801
952
986
832
990
953
977
966
964
885
963
869
830
824
820
875
864
846
887
940
984
869
850
827
904
990
850
940
824
891
897
938
957
844
972
861
952
934
927
963
918
938
826
996
952
898
907
994
930
913
959
845
877
837
980
839
977
949
927
927
939
972
897
851
838
804
851
855
858
908
811
856
860
1000
883
802
965
930
827
916
924
915
934
876
823
852
930
853
888
946
959
949
849
958
904
813
828
862
881
882
828
821
902
927
880
830
824
993
807
897
923
898
864
815
984
815
987
818
995
860
878
833
938
942
954
968
980
862
939
850
882
805
970
915
833
850
847
991
833
997
906
954
811
924
845
988
838
825
845
980
976
879
853
940
884
998
858
804
989
857
935
920
852
802
972
859
907
964
853
857
834
888
913
939
844
993
909
906
998
854
999
830
975
822
845
977
896
903
948
953
802
900
863
850
987
988
993
888
890
862
853
958
910
990
990
886
852
848
869
898
876
910
893
883
949
845
996
986
951
826
992
849
904
866
980
864
947
915
820
925
976
880
830
899
917
976
970
883
915
896
922
914
993
872
825
847
845
847
957
835
990
888
922
944
878
973
995
889
983
840
831
993
845
900
867
824
924
874
931
827
839
807
809
959
993
829
862
854
885
914
831
958
907
967
844
996
824
865
967
986
958
950
968
987
891
852
883
959
943
875
933
884
850
912
818
994
970
944
833
896
932
957
980
891
887
833
881
910
890
886
954
910
826
807
969
971
979
984
880
879
825
867
873
994
983
935
978
894
960
845
1000
967
815
843
846
859
922
988
976
811
880
914
927
945
954
869
967
977
837
824
960
981
869
946
861
973
955
959
997
834
951
863
892
909
932
882
978
808
946
906
850
900
888
887
878
871
806
911
984
944
934
819
891
966
979
898
848
828
977
941
955
826
948
972
867
915
952
985
997
973
844
998
968
945
904
938
850
903
921
830
848
806
813
911
951
929
981
801
839
951
847
906
874
936
810
880
949
990
857
943
867
807
925
982
891
826
841
923
959
962
898
899
966
965
892
837
973
856
960
808
952
831
836
934
895
944
905
836
969
858
983
832
879
850
973
855
955
890
993
910
983
870
977
805
948
912
903
923
960
882
834
940
958
802
999
983
839
949
912
877
807
995
887
877
851
994
911
846
984
818
855
806
898
979
930
891
903
891
950
997
955
963
911
813
878
951
938
953
973
808
808
843
982
935
931
842
820
988
895
950
814
964
929
903
884
967
994
869
894
855
963
845
986
889
876
935
802
812
884
988
959
870
958
830
925
822
982
942
901
805
864
801
924
933
948
950
971
920
915
952
833
863
862
845
807
882
862
924
970
831
981
814
956
945
816
814
968
932
926
914
866
843
930
989
814
903
968
954
953
842
936
897
869
931
874
884
974
830
811
845
813
803
842
920
909
912
955
914
815
971
860
974
811
923
966
938
835
877
846
806
803
936
892
817
947
805
1000
801
854
842
857
836
927
935
955
973
836
830
942
874
976
871
937
879
938
934
989
902
935
921
880
833
803
914
954
970
816
852
950
825
879
955
949
930
897
983
958
870
907
821
993
932
923
900
991
865
914
985
988
815
834
998
834
977
865
945
878
886
914
874
966
985
986
910
853
828
837
863
971
941
970
855
934
962
823
809
970
857
858
831
847
855
836
872
921
840
822
810
901
801
878
981
865
904
934
971
896
977
913
945
994
971
864
870
930
953
897
863
893
994
803
926
969
963
813
977
876
879
970
811
992
921
915
838
975
978
834
969
925
874
805
900
957
878
937
837
975
802
883
846
972
824
928
832
831
878
859
835
893
845
818
882
801
974
827
932
937
885
886
844
872
849
914
1000
844
916
997
806
898
961
895
900
801
875
923
970
806
933
993
999
939
929
891
842
874
919
894
801
950
980
826
854
931
865
855
915
865
829
860
906
936
931
832
897
860
839
823
977
961
802
816
854
888
856
898
875
842
881
978
837
881
913
999
879
834
940
847
955
950
882
850
915
864
870
882
987
894
926
872
989
961
976
872
923
937
982
842
982
841
838
865
954
974
890
926
902
898
998
840
925
993
891
881
997
850
948
818
931
899
940
854
948
963
918
863
847
832
891
902
863
815
891
847
872
967
964
805
934
915
987
829
960
971
979
988
896
960
802
953
808
884
879
914
973
915
819
958
968
936
841
911
933
830
938
832
828
960
947
807
857
914
973
920
927
860
983
807
905
841
864
929
965
998
894
933
914
888
979
873
823
998
968
847
898
833
870
837
842
945
921
892
872
821
955
920
966
876
991
940
896
914
818
964
981
818
978
954
812
963
869
838
963
970
877
971
984
971
835
979
966
931
871
985
802
834
807
890
833
810
924
969
859
975
931
887
978
920
817
807
900
903
943
827
913
974
803
936
866
800
965
925
884
834
904
922
915
899
883
967
947
845
801
963
818
864
824
977
850
997
819
931
947
989
866
987
913
966
906
887
901
814
868
861
801
964
842
850
991
800
958
840
926
914
943
883
949
809
863
845
982
956
955
854
960
829
950
968
910
901
976
881
862
951
849
811
831
820
814
844
859
956
880
912
935
982
917
870
825
862
834
965
840
842
919
914
869
981
852
965
966
943
835
952
877
824
978
821
861
893
813
933
893
922
857
807
974
885
923
890
918
973
992
801
855
904
870
890
868
908
831
806
929
824
948
839
872
993
890
947
988
969
996
997
957
951
951
859
867
835
909
863
820
905
995
884
873
901
928
820
897
989
813
947
858
858
968
820
805
835
846
958
814
882
958
963
965
917
813
853
856
871
985
842
926
941
963
977
846
866
952
837
871
919
821
912
924
947
905
953
973
875
913
850
919
600
682
505
540
675
550
639
694
665
634
535
673
521
500
549
538
676
586
559
556
565
651
556
681
623
666
549
614
603
510
596
699
515
548
664
525
673
653
606
691
663
513
512
535
562
648
528
661
580
558
502
567
636
640
567
504
658
616
540
506
540
555
601
504
522
502
558
548
543
514
682
535
606
529
525
680
602
691
582
502
614
662
637
612
519
534
675
563
667
693
588
697
638
659
688
611
662
524
538
670
642
689
561
543
659
512
529
631
697
650
523
537
505
653
655
528
611
638
645
656
700
640
673
645
690
563
533
646
648
611
686
633
625
566
595
688
564
519
638
692
659
542
513
605
628
509
623
668
700
555
646
689
603
668
672
523
684
578
614
596
630
550
679
591
574
563
631
529
545
621
638
625
586
692
591
669
593
612
578
659
605
514
510
523
637
641
623
592
531
558
618
663
605
618
610
629
623
630
541
506
522
691
686
696
576
676
669
512
662
566
694
642
679
637
561
522
635
504
582
548
506
619
602
501
650
680
523
544
521
576
570
581
590
681
610
572
672
529
672
588
675
537
622
568
565
660
603
504
622
685
697
507
664
536
595
679
641
564
595
697
563
614
505
611
667
593
684
598
583
530
645
543
551
671
593
680
572
659
568
529
677
574
615
555
608
534
593
681
654
590
537
600
694
609
624
558
541
602
554
627
686
602
601
654
666
628
656
551
652
586
631
700
654
547
664
581
546
647
695
677
700
662
501
534
582
607
666
539
503
604
700
517
609
598
696
637
527
505
573
501
596
696
581
550
592
613
668
536
642
682
533
684
586
523
646
614
581
620
626
555
671
683
588
502
535
688
631
569
648
573
596
537
632
584
611
542
543
636
527
570
546
696
501
649
670
685
505
604
536
632
629
660
589
549
566
657
697
691
641
681
668
542
657
700
541
680
509
698
632
605
646
587
542
681
515
665
580
542
632
562
546
563
618
568
688
638
693
645
691
610
614
512
658
607
540
699
527
584
677
597
634
670
562
694
502
660
530
663
589
635
527
669
617
613
628
643
563
592
508
623
525
553
580
646
682
561
559
506
604
620
540
607
542
520
630
556
669
687
535
596
700
693
601
532
516
505
674
629
607
595
659
610
698
618
551
539
693
685
674
575
531
531
596
574
643
634
608
600
644
517
562
533
572
614
624
690
680
558
675
557
612
587
682
620
550
649
571
698
686
621
514
674
581
586
693
603
585
569
647
519
654
525
561
655
637
640
602
577
501
515
639
502
684
696
513
613
648
622
609
538
528
608
683
602
637
581
501
596
659
630
530
684
575
692
649
506
633
608
545
695
642
698
537
563
624
685
615
600
652
699
525
601
607
604
627
662
633
503
625
629
667
516
568
602
525
691
570
508
530
603
563
540
664
664
688
538
663
520
649
683
503
545
681
650
698
625
681
564
675
645
635
637
654
553
645
578
527
598
677
615
688
636
549
698
532
644
523
580
574
612
586
678
601
591
558
607
696
615
579
643
598
613
611
538
681
557
662
629
631
700
585
529
638
667
593
681
554
532
633
644
534
513
616
686
649
537
682
502
633
586
547
501
514
557
551
669
508
525
598
698
614
565
537
633
559
662
635
689
666
605
624
511
612
504
584
603
536
554
606
535
694
693
650
518
533
688
529
650
518
563
605
622
683
524
641
503
676
591
592
669
516
589
558
565
507
679
631
609
595
696
542
559
671
614
680
683
533
554
687
572
601
539
670
652
606
563
622
605
596
563
582
534
563
668
623
684
666
562
606
608
595
682
507
530
673
637
697
594
655
522
509
662
632
527
666
571
556
567
649
617
623
696
520
645
643
676
605
533
545
689
543
650
649
509
519
525
517
687
508
637
589
510
592
610
506
621
574
619
667
590
571
582
659
574
506
690
557
538
518
543
657
608
602
500
671
631
546
525
582
602
655
521
647
624
594
634
671
688
641
515
611
664
630
547
632
500
591
636
550
502
675
567
659
648
521
532
643
554
519
569
682
529
526
552
663
644
673
608
507
699
694
633
697
533
634
620
614
626
630
673
536
599
608
526
526
510
541
582
525
525
599
521
561
641
694
505
687
521
516
623
671
698
662
630
519
540
659
670
507
627
617
635
569
613
597
700
671
624
591
620
685
561
536
506
664
528
671
639
609
625
548
610
671
538
602
576
547
577
652
692
688
611
607
604
669
675
686
531
631
574
586
627
662
530
508
572
610
524
534
614
522
588
684
646
511
620
612
587
605
537
523
672
594
570
517
599
689
660
605
551
680
596
546
552
659
686
693
698
610
544
581
544
521
612
664
581
582
639
568
550
692
589
639
559
591
610
618
603
533
514
545
605
589
641
678
616
514
681
659
594
527
662
639
659
676
673
529
537
638
580
599
568
547
545
693
640
678
576
648
605
521
535
524
635
505
557
667
640
598
650
506
501
583
547
513
693
608
532
580
583
550
641
667
639
658
605
539
516
652
617
526
553
505
630
558
596
500
646
540
539
548
623
520
573
558
596
549
536
591
697
523
684
688
581
601
548
650
697
550
646
548
530
684
513
526
625
630
553
674
530
647
573
517
693
563
554
537
615
514
527
587
690
508
563
515
653
592
553
681
535
687
531
607
548
593
579
674
658
605
619
574
598
541
665
574
525
600
550
553
552
502
632
568
612
698
613
685
577
620
684
617
684
538
559
529
667
568
605
644
567
506
574
583
556
645
689
655
579
699
646
514
585
612
526
580
676
520
596
627
628
605
674
657
581
683
511
563
698
559
579
696
620
671
628
516
615
666
611
622
548
662
654
695
649
692
681
634
519
579
599
649
672
544
619
645
674
614
608
516
631
675
673
598
578
628
662
526
579
534
658
629
532
698
670
596
626
515
520
534
549
568
695
679
666
568
563
622
612
635
528
614
560
687
679
687
508
554
556
587
671
557
635
531
521
553
506
529
525
661
603
596
608
549
679
611
562
680
555
678
549
672
564
623
565
578
678
504
685
649
668
521
658
577
576
562
513
504
632
670
673
683
576
546
675
658
587
609
570
664
692
532
609
656
653
625
568
663
592
508
626
690
568
663
663
514
689
650
592
597
639
570
636
589
539
551
644
593
630
697
563
688
678
621
501
523
636
604
591
695
518
550
529
504
644
660
682
653
578
657
681
698
519
662
520
597
645
550
674
650
550
565
668
661
572
663
563
580
555
581
587
667
699
678
642
680
517
664
631
608
528
549
577
649
517
604
693
556
555
550
682
634
561
517
627
692
650
623
541
643
522
522
673
529
513
570
526
679
609
665
603
601
651
544
544
524
538
526
628
552
675
574
541
613
653
575
699
503
655
619
700
637
517
587
532
607
626
580
509
596
531
599
550
552
694
645
588
556
685
666
635
511
658
536
687
564
521
678
587
644
615
614
673
676
630
545
630
636
540
559
586
629
629
566
530
532
620
640
698
646
553
651
545
608
627
604
669
540
624
589
504
556
646
506
547
692
557
644
585
501
557
653
596
530
641
564
626
593
646
543
560
698
557
575
601
505
623
592
615
547
660
545
664
547
669
561
527
606
507
641
665
641
700
672
607
677
513
681
581
594
646
560
551
550
654
673
689
605
664
555
690
631
668
572
546
511
572
521
587
695
562
531
632
644
586
628
677
672
635
559
507
561
620
533
544
617
549
534
623
536
536
644
662
529
658
680
521
553
684
582
558
692
533
646
610
529
626
554
566
663
623
612
556
651
579
661
587
627
618
613
640
589
697
519
525
585
553
627
518
567
576
588
601
646
692
597
512
613
699
535
687
590
528
566
664
633
639
606
565
631
541
638
523
606
597
685
619
516
571
576
556
663
603
681
607
606
628
589
527
546
623
677
638
608
692
657
614
633
685
623
618
548
654
509
552
652
690
564
604
507
511
558
637
605
506
632
591
568
591
624
577
607
504
574
590
580
627
593
520
603
691
626
544
592
525
598
579
696
533
609
543
504
533
574
681
591
599
679
568
597
514
581
577
503
510
585
510
646
549
681
520
638
618
618
566
671
538
530
521
530
590
647
535
676
594
566
685
544
684
690
606
553
610
590
617
584
542
590
564
521
676
568
606
578
563
573
626
674
555
629
598
693
527
506
545
534
621
623
625
547
535
527
628
557
504
668
698
558
524
660
581
558
678
596
549
553
529
672
598
541
580
535
618
575
554
541
551
673
699
698
671
643
672
552
633
653
694
559
640
571
538
518
535
699
555
565
671
621
604
590
625
606
612
594
561
692
512
671
679
505
635
515
505
523
697
520
514
555
640
540
696
545
687
695
546
579
612
615
654
536
614
598
625
576
641
559
629
577
502
629
505
579
549
550
603
630
616
612
552
700
581
621
528
523
585
590
589
587
597
624
603
518
677
699
529
685
531
519
568
649
520
572
502
692
537
680
604
500
535
571
500
529
544
514
502
626
541
675
621
562
658
607
597
658
586
692
521
590
614
650
622
700
521
551
592
627
501
659
668
530
688
566
550
630
614
552
693
662
674
650
533
500
505
697
676
553
541
519
626
634
544
618
606
653
700
539
551
640
613
635
553
615
524
557
532
649
599
620
591
553
545
587
555
505
681
568
643
608
561
638
543
650
528
628
558
692
540
623
520
672
594
672
634
669
500
697
600
572
567
634
597
512
601
587
584
644
700
696
637
692
542
519
628
637
576
518
519
611
643
605
567
508
628
562
594
581
671
675
508
578
517
598
651
641
521
571
576
692
643
607
667
517
501
582
670
629
502
596
629
541
513
561
603
619
680
659
554
578
578
552
555
550
628
588
696
512
676
577
504
590
565
563
628
536
662
603
568
629
517
571
557
590
528
617
547
688
613
635
635
538
652
548
684
665
589
672
687
500
534
601
533
643
515
593
621
589
674
656
654
537
665
579
601
610
670
673
509
622
503
568
541
567
647
596
547
544
603
516
529
575
646
587
509
564
614
547
606
687
632
682
607
649
645
557
669
579
574
555
652
567
554
659
688
553
652
667
625
630
635
666
617
693
565
566
562
634
596
663
564
539
670
580
682
648
589
606
673
517
516
660
631
533
505
606
601
560
527
665
657
619
573
513
689
521
589
593
634
636
662
642
632
516
660
696
605
660
666
606
516
506
699
670
520
681
547
584
653
533
569
523
683
627
630
548
544
688
559
626
607
619
591
542
658
556
587
564
553
655
641
570
540
647
519
629
506
575
629
620
628
694
650
642
691
509
622
687
531
524
658
663
616
631
618
539
519
506
573
505
548
671
618
642
504
625
606
623
564
598
512
569
672
506
584
614
628
663
526
534
583
635
580
515
558
525
611
534
570
517
529
530
619
624
635
544
588
506
528
624
563
570
540
650
565
623
626
643
620
577
571
686
627
509
696
545
585
500
682
548
646
654
663
540
647
639
687
620
620
553
671
598
653
691
526
665
644
611
587
509
649
678
502
696
602
605
632
677
598
501
527
510
546
623
508
542
575
624
507
562
529
557
583
614
517
684
622
642
526
596
587
515
590
515
580
649
696
577
608
529
519
608
512
522
681
674
606
560
692
664
680
698
527
543
646
624
627
607
558
606
503
651
623
533
661
591
513
691
579
533
584
635
618
536
589
524
537
541
669
502
684
655
549
657
510
603
615
594
641
529
610
571
579
640
678
592
629
583
508
563
574
578
656
609
614
675
548
695
669
633
535
535
669
609
520
650
690
690
674
655
619
607
531
668
564
562
692
651
578
610
614
501
615
586
623
610
686
584
611
682
695
659
618
557
693
602
502
670
689
642
522
500
685
539
665
582
590
554
623
620
584
590
536
582
588
511
501
614
507
685
551
636
531
536
582
580
700
634
695
511
586
570
618
616
686
614
632
686
512
587
672
623
650
596
537
535
669
529
654
567
536
654
512
572
526
656
624
565
527
693
616
514
506
679
606
640
520
592
685
532
686
623
596
694
505
548
659
557
637
620
571
554
631
661
501
621
579
622
528
507
525
627
623
621
560
589
603
615
553
675
543
686
632
568
543
525
506
602
686
538
642
569
518
699
620
515
527
622
513
537
672
683
690
568
573
557
693
605
665
677
696
508
546
564
525
637
560
601
504
634
677
637
692
671
682
674
505
648
666
502
636
579
516
589
523
667
632
682
516
583
514
563
528
583
535
677
628
554
685
625
668
562
588
573
641
698
529
504
562
661
673
698
695
670
533
553
620
624
568
608
666
686
552
685
541
606
551
519
582
527
561
584
568
667
663
570
608
522
626
619
618
506
570
553
626
523
631
632
568
588
545
588
581
697
571
603
563
521
568
559
665
607
527
670
570
601
668
558
637
655
512
547
640
635
682
629
555
700
503
571
675
552
657
627
657
613
606
666
655
565
686
584
691
613
592
664
638
596
538
581
694
526
528
569
694
675
691
621
575
531
687
567
567
659
542
658
633
660
696
561
596
605
660
692
575
643
571
547
596
555
526
617
549
501
563
508
563
523
699
596
687
560
640
641
661
506
614
542
541
519
623
672
587
615
544
537
657
660
616
571
551
601
555
698
602
526
598
579
693
686
502
591
568
643
526
651
655
571
561
684
542
538
512
502
691
596
665
523
669
510
562
545
624
602
578
593
587
658
515
668
582
505
581
623
502
562
574
672
541
622
554
625
681
654
564
549
693
671
612
557
677
606
502
697
592
658
645
647
623
530
562
632
615
505
542
565
581
622
539
624
599
549
537
541
618
539
595
503
548
579
613
637
513
553
590
636
689
509
514
526
650
500
574
632
538
671
629
537
571
632
686
509
694
600
617
534
536
673
509
689
549
594
568
657
576
691
673
602
563
511
535
617
697
587
551
514
619
530
639
503
611
534
636
644
618
663
587
564
525
630
685
634
577
596
519
603
676
621
641
512
652
535
568
643
700
524
504
544
549
695
656
643
559
672
677
502
687
661
609
675
533
541
530
688
629
509
689
560
650
656
667
590
508
519
622
623
590
679
696
587
647
638
695
526
630
587
587
616
617
656
664
628
608
626
567
655
576
699
594
553
572
650
610
646
689
507
692
504
588
665
596
586
585
579
694
556
533
677
523
518
569
699
669
658
545
596
626
533
644
584
627
510
628
654
660
539
607
594
552
539
523
628
594
636
623
516
642
578
646
520
526
600
525
541
568
700
682
631
666
524
680
556
575
607
636
602
640
547
534
646
555
525
597
684
674
508
523
607
641
697
536
666
634
673
520
606
631
635
592
675
669
688
642
621
592
527
591
672
505
555
526
678
581
650
527
613
684
572
507
697
503
559
577
632
563
570
512
654
529
550
533
650
692
521
518
633
569
666
544
572
605
655
692
615
699
596
694
572
532
663
610
605
588
501
509
679
562
627
613
562
517
637
543
502
612
690
575
667
651
635
659
662
628
676
538
608
626
549
549
500
629
501
611
596
620
612
540
541
611
589
698
513
696
626
683
606
562
525
535
575
655
622
606
596
520
615
659
526
700
622
548
656
684
505
578
520
698
598
544
628
501
696
685
677
677
632
688
647
567
573
576
681
637
648
533
694
536
648
648
512
595
518
578
585
674
657
527
680
637
628
500
686
522
651
537
510
532
633
660
675
676
566
572
559
550
574
520
590
658
543
508
612
656
578
563
574
507
504
542
565
700
681
631
573
568
513
634
553
646
592
620
529
632
591
647
609
520
519
611
610
649
559
534
509
523
554
627
644
501
586
626
679
607
560
629
665
698
678
668
642
592
687
597
681
554
632
568
503
592
561
586
580
525
538
638
552
677
520
664
663
671
669
643
564
595
568
531
699
671
618
613
661
522
618
584
653
643
658
612
585
500
558
603
600
523
687
502
619
672
614
633
558
561
564
556
528
600
602
535
558
692
533
563
519
686
625
525
604
549
537
511
645
673
503
633
564
612
558
629
526
640
661
503
552
613
526
505
674
683
503
660
607
520
545
695
618
544
586
627
592
630
548
680
684
594
598
666
635
665
508
604
691
589
677
571
639
506
605
516
664
585
529
598
647
645
602
550
533
629
627
642
651
502
610
514
674
502
609
610
573
536
566
619
564
659
509
582
633
588
585
569
657
533
631
521
630
570
535
545
594
641
503
625
595
692
565
575
536
604
641
505
614
629
574
609
690
584
509
572
520
640
694
583
673
611
651
567
501
671
521
698
582
592
654
681
689
526
633
546
683
568
695
590
501
522
684
538
569
611
677
520
624
668
583
570
673
538
678
527
542
658
500
569
567
539
621
510
696
678
664
523
563
536
699
679
573
598
689
504
552
517
602
661
617
685
631
501
675
665
574
677
686
508
639
651
516
662
643
559
589
546
658
679
531
566
514
584
697
571
551
502
699
637
681
659
662
515
519
642
533
619
553
502
646
565
611
698
546
533
564
570
643
537
644
604
619
537
666
668
661
516
564
642
545
645
562
503
638
601
686
596
501
679
536
668
665
537
570
548
690
675
519
625
637
549
621
591
621
643
553
570
615
558
513
579
610
538
530
656
599
513
591
626
664
590
556
576
665
635
536
562
560
520
529
652
538
529
502
569
545
642
534
618
618
642
626
657
645
633
672
618
670
679
616
582
694
611
641
627
683
549
576
533
578
551
673
568
601
655
682
699
525
699
586
529
682
586
610
552
671
501
564
507
567
558
535
696
684
598
546
518
549
660
501
617
601
647
529
684
590
689
596
665
690
683
588
628
678
552
587
644
673
632
510
549
617
636
597
700
608
679
563
536
601
645
603
589
608
602
637
549
620
692
614
676
648
504
642
656
679
502
573
616
671
575
595
677
695
617
699
544
544
559
530
599
545
620
560
672
639
515
622
508
675
670
669
520
688
514
601
510
626
673
633
502
648
613
581
651
606
581
513
504
540
665
515
683
597
527
581
532
597
641
695
591
590
534
616
662
630
632
590
565
525
579
550
563
510
615
631
585
549
697
558
629
632
523
556
555
627
700
672
551
692
558
527
625
614
535
692
557
605
696
695
567
620
506
567
639
602
567
616
538
557
589
668
625
660
528
572
537
528
525
536
671
508
513
584
574
581
562
584
511
525
540
579
677
640
555
632
601
596
538
650
883
975
958
990
986
991
976
974
993
849
850
951
810
818
933
951
817
870
866
898
842
841
822
871
827
840
925
928
852
817
821
844
809
939
845
978
856
928
815
988
807
911
921
818
819
834
973
855
805
821
892
970
888
988
945
851
899
892
840
871
843
893
937
986
846
891
907
916
971
891
913
832
965
924
969
814
830
899
885
987
881
952
890
841
956
978
997
809
820
852
893
849
994
944
811
945
814
910
945
899
894
866
933
839
887
894
996
985
900
895
895
938
945
904
838
954
920
991
830
946
922
836
934
886
899
834
835
813
807
960
842
837
971
933
849
908
865
876
827
823
828
967
816
952
801
885
929
960
835
921
846
899
985
832
844
821
896
917
979
945
894
902
923
986
989
934
939
883
966
922
835
910
802
821
950
969
806
990
857
950
986
957
865
927
856
958
826
922
822
976
915
925
944
982
953
871
992
807
822
941
896
814
990
996
845
829
818
831
855
849
861
892
800
806
824
802
945
821
938
909
970
899
897
925
803
852
949
803
889
978
994
908
845
946
939
981
817
909
808
834
871
897
935
968
834
976
908
851
987
833
912
886
982
935
893
848
887
929
918
934
924
860
983
973
878
875
821
950
875
915
989
879
986
858
982
814
904
991
937
965
845
862
976
888
943
810
826
854
917
878
819
901
873
975
805
900
808
942
805
941
889
906
843
873
820
902
898
818
889
822
856
952
993
907
857
830
811
959
976
934
935
838
850
866
821
922
915
983
816
800
803
877
909
818
982
938
806
828
857
915
849
960
977
909
952
804
980
825
947
895
832
909
961
825
996
992
857
871
873
886
857
808
975
929
997
869
809
955
865
961
806
990
994
824
811
993
988
905
807
895
978
801
910
833
924
868
964
915
892
853
926
947
960
891
896
937
898
963
826
826
966
870
917
833
975
951
874
947
856
934
872
967
919
914
920
965
931
881
988
899
916
830
806
948
811
961
874
920
943
879
893
920
946
858
911
999
828
891
812
988
900
866
950
848
969
867
998
842
919
966
997
990
852
903
887
857
990
857
823
948
875
917
859
881
970
928
980
864
944
941
811
848
852
952
824
944
917
842
882
888
848
1000
968
854
818
802
856
844
873
997
834
884
912
967
975
927
987
954
978
945
979
901
928
822
883
985
894
901
880
866
868
854
910
850
995
865
835
924
947
951
909
893
916
906
940
833
861
912
928
944
814
867
850
842
945
925
816
931
970
840
993
879
999
851
846
936
831
922
875
892
898
800
951
978
915
850
933
800
802
820
916
901
918
883
977
914
811
948
977
811
964
877
880
884
924
874
872
853
863
864
976
962
951
805
903
858
970
913
908
938
965
827
900
827
800
851
990
811
845
931
960
873
821
816
834
826
864
803
861
953
935
826
892
905
891
859
896
812
991
998
859
995
924
952
954
875
988
807
851
879
873
983
989
978
898
897
974
857
835
955
941
931
927
836
999
942
926
941
956
873
966
957
821
997
822
811
911
992
858
857
889
824
892
816
935
830
913
904
810
820
819
807
887
976
879
996
896
842
993
939
857
959
955
888
813
870
938
925
801
913
943
947
937
919
908
929
834
818
868
879
990
924
960
981
896
825
805
861
867
982
876
894
880
978
900
918
969
980
983
822
931
899
986
914
896
910
995
852
858
843
888
808
894
987
894
937
842
825
922
963
970
866
834
862
938
842
930
985
836
932
957
893
856
818
912
869
898
969
940
947
889
968
912
997
821
973
965
930
965
904
851
909
953
959
945
944
916
801
878
878
824
848
886
848
809
922
961
951
991
949
857
864
995
892
921
875
827
946
815
888
849
899
895
938
844
877
863
838
827
930
944
911
910
809
822
922
822
923
978
860
870
982
980
901
806
813
815
899
835
964
967
985
978
896
893
962
812
993
885
907
983
994
973
851
944
953
967
928
833
911
910
876
999
933
974
978
803
902
978
918
918
942
979
1000
929
923
932
989
910
850
844
969
981
917
970
989
928
910
903
817
857
921
875
898
805
844
991
906
843
914
875
899
893
959
936
914
947
904
903
955
876
839
993
947
851
874
994
864
826
987
869
884
886
886
980
815
876
838
876
979
952
922
809
911
889
928
879
894
906
966
961
979
836
938
827
906
979
884
925
929
999
883
830
967
803
954
902
806
884
857
873
949
905
827
859
968
930
864
956
966
849
817
920
872
1000
900
803
987
924
986
918
915
983
811
932
814
875
876
932
965
899
962
842
935
831
955
849
939
937
865
861
870
872
863
863
877
908
929
926
978
881
806
933
942
837
897
868
834
906
916
933
958
944
872
956
961
895
805
937
800
801
937
804
817
825
900
984
807
883
887
802
992
827
967
988
879
829
887
824
956
925
833
942
955
923
915
976
977
949
862
915
919
917
886
868
866
819
853
838
971
872
882
904
823
808
832
953
800
841
981
932
981
830
823
958
895
860
953
951
810
931
897
822
928
993
852
836
949
994
831
986
839
895
808
997
815
872
887
912
939
926
973
904
847
975
803
964
824
847
987
842
950
969
873
990
924
822
864
869
833
885
981
934
901
841
906
832
950
829
873
863
930
918
972
876
933
995
837
829
917
852
834
876
907
977
914
928
811
883
982
994
817
819
959
979
968
963
915
900
955
819
989
890
970
947
879
934
916
944
910
910
968
999
869
969
917
873
804
804
824
992
908
992
970
847
854
891
802
971
815
951
985
955
903
967
946
971
888
942
880
915
803
867
923
840
957
933
915
879
963
976
937
935
992
859
850
904
924
904
862
978
801
875
864
962
993
842
891
943
847
860
975
810
902
939
878
972
836
904
938
887
1000
935
897
969
803
909
820
906
928
999
907
991
943
951
957
857
975
800
912
909
849
967
871
964
963
930
918
821
905
800
929
872
939
932
920
933
994
841
999
884
837
928
974
807
931
848
944
820
876
853
931
986
925
857
874
898
813
856
918
988
997
998
995
910
980
860
834
982
929
810
836
849
932
908
966
801
914
911
883
895
896
812
861
814
919
911
826
842
961
901
890
807
863
994
971
996
926
948
988
993
965
911
806
940
825
835
858
874
814
981
976
948
850
882
896
860
867
829
974
880
882
883
893
963
902
934
894
814
848
887
874
829
982
809
849
856
978
868
924
984
887
854
964
948
916
897
976
968
958
839
816
911
976
983
886
874
880
979
934
819
817
908
954
833
978
948
888
822
937
998
864
895
808
996
834
952
855
875
918
927
843
877
928
942
890
829
994
933
968
832
825
805
921
885
996
831
860
884
904
945
919
818
968
917
903
811
902
917
932
854
882
990
937
924
853
837
965
853
965
971
951
958
907
939
896
902
822
857
844
861
971
887
860
895
827
938
815
937
853
918
819
857
945
895
808
932
829
958
905
937
846
907
913
962
929
892
955
986
818
895
914
968
809
995
823
887
827
968
1000
947
970
990
898
891
907
849
866
951
835
952
810
992
898
949
953
910
845
823
871
903
895
843
821
964
848
842
907
801
839
979
813
816
957
967
832
867
862
809
938
892
913
983
892
929
875
862
855
964
886
821
854
937
868
838
959
860
800
822
917
917
946
834
835
804
954
913
956
856
899
927
986
845
917
919
991
807
897
945
907
947
813
986
992
856
994
909
925
859
850
913
801
835
814
835
827
995
954
997
872
819
812
994
922
830
982
851
835
975
986
820
819
838
808
978
978
930
910
931
849
896
856
829
980
994
906
802
878
956
848
936
971
823
854
944
862
857
980
822
854
938
993
834
888
834
990
909
857
933
996
824
918
844
966
861
843
969
829
859
833
959
990
962
905
875
986
914
924
912
934
842
923
820
947
973
913
897
905
943
961
986
833
842
812
926
940
849
907
934
879
820
961
967
870
1000
886
996
819
906
963
859
976
857
915
908
983
987
957
821
926
989
949
1000
831
900
845
925
893
876
820
854
973
829
858
874
922
952
993
916
820
904
855
921
811
958
893
975
847
878
810
826
946
811
852
848
960
907
803
815
896
972
886
846
973
983
887
978
884
913
836
862
940
856
975
910
927
841
952
848
887
1000
900
983
933
933
973
995
841
828
846
839
988
969
893
863
804
926
903
991
843
884
908
850
963
946
904
805
906
962
945
962
809
865
850
905
951
887
867
946
857
801
861
848
807
821
938
999
906
824
812
840
839
817
820
984
884
890
949
823
837
884
823
882
925
976
836
978
816
883
813
918
904
940
968
999
931
986
837
827
932
955
976
914
883
961
827
808
898
870
834
981
929
979
906
888
916
901
846
950
986
968
841
816
921
831
835
801
825
898
860
895
983
880
932
825
966
880
998
970
874
939
902
957
920
817
852
868
840
929
830
816
828
888
903
939
965
827
846
989
811
830
952
958
942
837
830
943
805
988
865
820
935
916
994
945
845
912
925
867
899
874
960
812
970
863
809
939
909
982
823
924
847
932
942
820
988
859
977
883
994
992
982
988
929
956
881
958
990
897
807
960
902
845
874
994
834
998
949
808
836
924
852
833
914
802
825
967
907
912
982
812
983
857
841
893
955
904
885
912
965
918
809
812
993
986
935
839
899
863
987
831
904
832
819
932
822
803
992
897
992
821
885
974
920
831
912
872
922
926
840
827
857
905
966
928
814
805
924
929
994
915
977
942
858
949
945
970
876
846
820
903
938
902
871
907
925
840
944
857
927
874
800
800
855
848
991
833
948
904
845
899
927
875
972
864
971
934
826
970
856
821
974
901
969
884
920
808
953
891
824
902
851
929
882
941
1000
972
870
841
831
973
912
874
995
961
987
906
919
917
987
991
854
906
912
852
866
992
947
928
871
946
967
974
934
878
814
939
857
897
998
859
958
887
804
871
967
919
807
929
892
843
877
978
886
964
803
841
927
920
865
901
855
810
843
987
816
968
960
986
929
811
812
817
896
891
955
985
811
956
967
976
991
855
881
941
800
860
952
846
974
814
961
980
900
886
853
800
908
994
898
834
868
922
882
856
998
858
842
843
894
885
900
974
804
828
928
923
817
887
819
806
947
939
970
936
961
883
884
967
921
914
989
808
890
966
924
822
981
851
937
997
966
908
825
897
827
989
858
987
810
846
928
941
945
960
926
868
946
809
904
929
883
1000
834
850
991
961
977
925
981
904
985
822
923
812
808
803
955
832
850
900
871
939
898
815
945
963
813
940
847
813
912
930
921
858
827
824
957
960
924
903
850
860
901
971
908
916
936
823
922
982
987
888
871
868
855
952
878
935
935
807
826
897
949
975
857
903
904
1000
885
884
947
950
816
876
904
915
988
916
892
887
965
893
948
832
895
842
948
840
932
978
935
932
975
945
826
836
999
930
869
844
893
978
842
960
882
982
802
953
908
838
886
997
931
946
986
939
881
952
912
949
907
993
842
841
941
965
825
835
969
899
936
999
940
934
867
863
892
961
830
959
991
891
875
982
910
888
928
998
983
835
807
829
950
839
816
817
831
948
845
902
893
874
839
957
934
890
894
849
845
883
875
886
953
918
999
858
911
963
960
869
830
923
850
973
840
822
910
931
974
936
881
910
931
969
909
883
858
998
801
974
911
861
920
925
910
964
911
816
913
936
940
907
867
875
858
910
861
899
989
859
801
968
806
904
945
944
914
879
824
855
918
893
1000
902
861
949
816
926
861
913
962
962
991
807
940
840
810
909
860
956
964
997
863
972
925
834
885
912
975
891
951
929
852
853
942
889
997
831
973
975
828
840
992
852
974
951
911
809
899
883
855
828
938
802
938
891
883
994
851
853
893
967
916
923
833
892
956
862
849
993
887
913
965
806
989
971
993
810
819
895
909
872
880
823
960
984
883
812
800
968
917
876
945
951
990
891
973
893
839
919
845
816
989
802
824
883
982
987
972
858
871
953
936
1000
865
979
940
868
895
918
810
920
939
997
897
885
986
855
904
816
841
969
885
950
805
825
864
869
824
864
828
895
878
974
878
904
822
890
824
974
935
940
869
906
824
809
986
990
986
855
933
868
964
859
822
925
994
817
827
877
910
800
904
966
821
829
876
837
950
926
941
902
985
950
975
969
838
978
965
1000
856
913
867
800
938
955
981
955
870
986
993
820
815
995
996
950
913
829
920
991
953
995
890
933
805
991
955
952
861
916
822
844
964
970
859
960
978
884
879
810
912
892
918
891
989
826
902
848
837
981
900
941
982
905
863
945
834
942
864
962
989
996
867
970
992
846
873
899
973
893
847
872
800
880
889
829
864
914
811
989
991
818
932
827
881
845
807
895
831
889
851
839
987
834
818
951
912
878
977
950
892
920
948
899
930
916
968
880
867
976
810
869
945
879
827
985
909
933
916
806
813
965
934
973
934
959
937
861
845
959
940
908
882
969
887
840
867
864
944
899
947
926
877
984
911
851
881
917
920
893
864
879
987
945
945
986
924
815
951
875
837
820
873
873
884
909
988
857
873
988
936
843
950
869
951
832
932
962
809
831
817
962
973
908
920
927
883
903
999
841
810
871
871
872
968
903
830
820
945
981
978
979
952
858
977
989
989
905
817
800
802
806
811
856
816
910
869
853
892
896
993
830
861
977
887
823
970
977
923
922
846
987
809
910
834
849
822
973
941
907
867
870
979
820
812
984
808
833
831
969
890
965
817
870
976
861
953
912
916
976
839
836
977
861
986
876
880
809
848
938
870
915
979
877
853
961
963
909
883
900
961
921
973
982
843
971
813
869
881
923
952
906
910
892
933
872
855
948
943
817
945
948
935
807
943
804
960
955
913
807
852
947
812
805
821
987
880
961
839
906
944
804
848
803
938
866
828
934
850
965
898
800
826
967
869
939
982
866
933
825
991
985
805
998
995
842
890
891
906
979
865
855
953
936
819
985
881
906
852
840
895
800
954
817
805
818
923
888
916
895
997
911
804
833
946
922
847
947
888
826
987
977
805
906
865
832
981
963
872
949
924
822
867
909
819
902
961
922
906
890
882
872
814
972
942
843
961
844
986
895
846
858
855
828
950
964
915
853
999
824
918
812
800
938
971
839
816
981
833
943
838
954
973
828
889
954
858
961
927
976
919
917
827
844
919
842
861
962
972
855
950
915
871
895
825
931
959
845
955
948
958
911
899
957
826
987
834
991
858
846
903
901
976
947
923
906
886
927
875
910
971
989
857
885
931
887
932
920
872
851
997
819
829
806
890
928
800
940
840
967
810
835
911
831
964
944
890
893
868
872
835
802
975
946
941
901
881
841
944
964
925
964
984
888
811
971
992
854
979
855
957
909
968
947
849
927
885
924
827
915
951
822
879
954
800
996
845
805
992
865
974
948
852
899
804
914
860
970
890
934
823
972
976
897
806
983
844
874
882
861
992
866
936
966
856
843
986
982
878
953
865
858
971
854
961
946
878
858
807
849
994
991
810
919
834
856
882
894
992
931
938
845
850
960
960
876
902
891
960
942
937
940
993
833
866
1000
943
896
826
960
806
932
861
995
901
938
810
808
953
930
870
936
913
969
929
915
883
959
987
842
966
955
829
860
858
825
819
959
934
968
902
855
929
803
938
891
808
910
843
860
959
898
865
977
885
812
836
999
945
952
974
834
931
950
994
810
854
887
859
900
892
888
875
930
982
957
993
985
838
903
893
953
936
861
800
982
972
961
851
970
804
889
907
870
987
993
967
909
939
821
979
915
921
919
809
929
927
957
903
886
889
964
928
890
824
954
981
809
956
818
917
932
985
909
903
874
944
847
987
926
907
950
822
954
860
800
902
941
811
967
816
806
960
978
801
943
957
871
904
866
1000
857
857
832
808
929
821
804
959
943
903
923
810
920
829
957
918
978
965
938
958
962
836
867
829
891
955
969
809
987
869
983
906
915
854
924
990
867
892
997
812
984
825
903
829
948
818
845
878
950
817
895
971
984
895
865
993
874
858
906
816
841
911
947
873
814
989
822
811
977
972
818
873
863
975
873
850
852
924
950
948
904
823
913
984
941
852
946
958
867
983
897
902
903
987
962
942
997
950
830
909
877
804
906
979
857
863
911
847
913
985
855
921
866
830
873
944
902
870
874
966
817
855
828
927
815
825
860
835
826
851
846
945
905
966
1000
847
935
998
901
864
884
925
831
993
942
870
889
976
878
833
982
859
981
995
843
902
902
989
982
899
995
868
897
887
904
801
924
814
900
999
871
955
928
888
830
937
823
895
898
933
859
824
801
925
982
837
981
923
958
896
968
825
858
886
863
975
936
863
867
842
984
937
1000
914
899
814
917
832
884
880
894
989
875
954
974
842
838
888
837
853
857
856
816
984
929
864
914
942
880
983
993
850
984
802
871
883
903
978
923
851
941
919
853
945
925
853
898
848
831
960
896
949
849
913
904
983
882
912
986
980
812
936
963
886
855
929
909
940
953
905
872
949
954
979
853
949
922
907
857
915
899
938
887
973
857
998
864
985
982
933
884
802
962
853
889
900
834
900
845
949
851
912
841
919
943
894
923
924
805
907
878
887
874
842
811
897
971
901
993
808
974
925
919
852
947
923
845
866
923
873
878
916
877
871
940
990
943
878
903
899
828
897
973
984
1000
957
949
953
903
847
846
934
880
812
859
860
952
937
957
911
856
970
861
998
885
943
863
898
977
874
831
861
902
935
964
863
930
953
925
813
926
937
928
990
879
815
831
899
919
868
902
829
833
889
831
855
966
992
834
998
864
915
978
856
820
996
939
1000
811
885
965
974
928
942
863
895
983
961
980
932
838
963
946
868
873
999
822
874
921
813
906
888
951
829
915
808
842
848
842
976
959
887
810
965
947
924
860
836
940
889
926
862
948
901
824
893
886
930
806
877
1000
851
800
998
972
856
991
889
899
813
891
881
846
978
864
822
975
1000
867
800
846
885
985
830
889
915
820
967
828
911
985
998
945
868
918
870
983
904
982
957
964
849
886
881
956
974
904
822
845
882
954
933
979
914
882
953
867
945
840
873
861
907
947
847
954
809
929
955
884
817
995
998
902
825
836
891
834
814
973
936
884
966
899
861
986
985
880
811
814
886
825
994
901
995
881
900
999
925
880
917
805
942
855
879
920
861
837
972
807
935
889
1000
942
844
899
945
800
965
802
942
968
979
866
976
869
888
617
608
528
690
534
580
642
546
613
548
564
613
528
607
515
535
546
546
617
681
684
661
665
671
566
539
648
662
670
584
606
665
531
518
663
561
569
591
671
571
529
588
679
654
630
653
563
609
610
640
677
540
502
655
640
530
670
503
567
665
693
505
543
694
685
570
612
523
633
548
543
583
507
622
630
521
533
596
577
608
691
671
637
528
651
618
652
653
536
586
540
633
513
669
523
507
568
591
614
549
616
536
503
531
566
549
685
510
533
619
554
680
535
583
697
569
629
662
591
618
615
607
599
619
570
571
514
510
616
613
666
599
567
553
557
517
566
535
605
609
555
698
613
600
537
558
591
622
516
599
628
624
694
528
615
549
504
700
521
616
599
676
532
688
589
659
543
633
523
527
520
677
632
564
665
521
652
553
569
676
545
652
658
576
572
566
587
618
681
509
643
694
678
523
556
532
678
617
565
541
572
697
586
574
678
592
608
592
672
644
525
538
510
507
577
653
623
646
690
543
669
641
605
661
656
579
508
673
629
605
515
651
606
688
671
596
531
525
566
503
529
603
500
662
682
659
568
512
553
571
539
656
666
647
509
598
532
666
545
567
544
607
566
536
604
544
625
628
513
582
694
555
648
600
676
652
656
641
694
507
672
548
628
599
626
599
558
663
519
655
659
667
699
576
596
585
693
550
519
682
593
546
528
546
529
528
505
623
500
694
559
654
537
664
680
644
636
556
539
574
699
558
629
617
661
589
627
558
643
539
585
522
612
693
521
539
592
651
631
640
500
586
698
552
669
665
665
544
694
665
598
647
688
654
522
676
572
610
614
521
500
519
504
673
691
547
650
643
680
674
583
539
636
508
599
616
694
555
592
681
683
670
563
500
516
653
592
574
530
597
630
680
500
573
511
592
670
679
663
624
686
547
621
656
564
624
676
603
596
535
607
607
505
612
605
558
696
645
572
583
530
678
561
501
516
568
545
555
589
525
662
586
698
635
603
672
691
693
675
697
512
508
671
539
605
522
653
530
640
692
525
676
513
606
696
686
548
589
659
596
563
653
562
577
597
511
606
564
689
550
619
650
675
578
591
532
700
616
598
586
557
546
637
600
671
646
667
511
635
691
530
698
627
654
641
613
688
586
660
636
552
517
548
522
649
524
637
565
552
687
603
653
673
568
604
538
598
578
556
698
517
613
585
595
691
669
658
630
629
539
540
637
609
656
587
634
520
557
604
556
610
580
691
659
621
516
583
681
524
696
682
529
665
618
665
590
613
553
580
558
544
606
580
523
562
503
567
562
680
501
564
639
620
588
594
656
533
545
526
695
572
663
656
600
659
597
558
515
526
670
662
565
585
509
634
610
635
569
623
648
502
669
667
659
622
519
693
637
531
664
621
695
597
611
529
579
642
640
684
659
589
570
683
625
672
533
607
598
506
643
592
606
574
649
672
697
516
624
649
570
573
502
574
509
517
662
600
531
564
530
523
697
535
603
552
563
538
667
593
559
644
567
589
688
670
692
532
656
598
618
586
590
604
507
605
663
511
522
512
513
508
649
572
530
603
568
608
514
659
619
530
694
668
586
586
548
571
565
620
518
687
545
516
505
660
626
622
638
511
662
672
585
552
555
581
638
607
689
685
517
520
663
507
685
584
691
613
522
540
696
540
626
554
543
509
512
671
669
563
612
616
567
643
688
559
583
510
620
644
535
684
617
629
700
693
684
682
546
617
644
680
634
635
625
504
603
612
667
674
626
570
667
543
672
567
632
666
653
636
565
692
611
655
655
520
502
561
651
549
625
643
581
500
563
641
635
608
620
554
570
676
553
630
632
658
614
571
666
537
601
564
669
690
549
682
568
541
630
549
506
616
659
670
617
580
573
577
638
573
554
666
518
516
609
689
598
638
626
682
543
579
534
696
556
661
563
584
523
545
515
652
553
653
699
621
590
569
579
681
580
536
519
672
551
643
514
544
555
666
644
589
675
655
646
601
562
519
509
559
566
607
683
648
557
604
505
626
587
595
657
586
555
535
537
545
524
528
667
663
613
553
603
567
684
522
500
694
527
568
510
511
694
544
631
622
688
624
686
562
537
670
623
694
694
644
566
651
630
553
570
509
691
548
500
589
582
521
541
615
539
683
578
653
554
672
553
512
689
699
507
547
611
626
687
632
685
652
650
681
589
578
624
668
636
525
500
550
567
519
662
567
690
633
511
550
516
697
518
604
684
617
675
605
582
674
534
663
609
698
694
545
694
533
579
566
523
501
649
538
577
531
693
661
533
641
684
645
661
658
635
648
529
633
669
535
629
536
544
629
695
543
548
502
617
652
599
544
670
540
580
610
570
679
669
502
559
681
658
658
599
556
588
679
551
574
653
564
700
695
533
642
593
618
531
679
682
659
589
629
581
632
645
564
518
675
646
505
562
559
542
686
557
619
700
602
563
692
595
588
629
670
585
615
673
586
654
649
535
615
633
692
531
557
617
573
563
607
658
688
533
595
673
514
593
617
610
690
640
658
550
654
612
608
655
588
636
592
584
545
691
514
642
629
654
636
574
504
647
594
668
589
640
622
635
635
624
508
594
589
512
551
515
681
524
612
560
641
649
580
521
579
526
683
671
517
570
500
516
613
650
582
660
684
583
590
616
521
640
688
538
533
663
697
642
670
555
520
700
606
554
588
543
538
689
528
539
582
585
554
647
664
505
622
631
550
593
653
548
510
630
610
502
681
548
582
519
654
640
678
548
569
634
520
527
603
672
602
667
659
523
512
645
675
570
687
566
600
650
686
568
501
586
623
602
697
577
641
620
635
596
561
542
662
513
690
643
582
688
555
676
504
671
573
556
644
675
565
619
559
545
652
685
698
579
525
514
558
604
655
611
514
664
699
588
546
565
642
510
671
514
549
642
558
559
570
518
548
671
653
617
696
614
649
606
571
505
577
609
517
585
576
628
557
508
532
654
548
651
645
541
528
538
681
629
602
518
602
654
573
521
662
636
520
513
643
674
577
611
689
658
622
501
519
518
552
509
635
692
673
567
517
533
526
576
688
508
510
560
558
555
663
579
679
690
676
618
650
659
524
635
664
609
553
590
512
697
651
625
518
540
572
673
567
659
568
633
586
619
515
628
553
531
659
557
546
636
636
512
585
658
664
523
625
700
520
693
639
619
611
541
642
557
596
527
519
601
524
594
635
561
556
637
516
645
695
546
693
609
565
605
579
514
571
525
530
675
564
618
670
661
665
692
568
536
699
506
507
631
599
562
676
576
683
624
591
568
547
613
528
559
675
579
596
580
603
599
585
650
534
613
693
579
686
615
556
699
567
529
599
593
605
564
503
522
508
691
686
573
530
653
696
518
538
574
576
699
546
603
591
635
606
655
588
619
686
585
525
520
664
667
690
621
515
504
565
519
561
657
638
694
647
672
585
683
512
652
534
641
587
699
638
587
533
597
638
603
615
676
685
535
696
504
526
663
637
600
589
605
678
501
576
567
545
622
653
610
510
690
671
505
580
691
683
587
539
539
645
621
538
596
636
530
537
538
654
596
551
604
584
651
560
668
700
554
615
616
660
637
582
616
500
667
678
569
524
590
687
604
630
546
504
520
610
651
535
686
637
592
623
656
583
589
663
512
598
641
501
649
656
518
695
511
638
699
574
700
669
653
596
526
687
609
661
625
555
509
666
615
660
570
540
530
692
509
594
660
649
604
656
691
636
527
530
614
650
588
695
609
576
532
535
512
516
641
596
578
667
605
673
692
599
662
560
506
642
605
605
597
697
522
549
644
595
582
620
682
516
674
603
522
516
611
563
555
522
676
585
687
526
543
513
504
565
653
690
640
550
544
687
637
667
698
680
623
608
578
600
613
660
632
563
698
646
696
688
670
631
681
560
542
669
514
527
601
537
588
572
699
621
638
604
565
608
570
692
687
696
659
559
525
683
580
512
500
536
538
631
534
576
683
533
680
518
577
620
598
650
663
662
555
517
640
596
655
610
700
581
507
527
579
507
537
670
629
583
692
546
587
614
658
658
677
548
526
552
697
567
659
625
515
699
651
670
535
551
658
672
525
520
587
509
611
577
566
500
607
595
695
676
656
542
641
662
690
525
521
525
638
677
697
515
659
624
653
550
613
554
681
625
560
620
505
604
549
551
517
629
527
596
628
512
625
512
574
657
614
653
624
684
621
585
636
633
623
599
585
541
583
665
628
563
505
502
570
684
549
530
652
669
684
516
570
530
503
619
677
506
503
700
589
682
517
504
505
642
674
506
615
665
516
608
572
686
596
622
502
623
667
566
642
502
678
678
590
662
585
635
568
551
684
640
584
582
575
544
596
592
600
565
601
559
642
598
656
682
576
638
566
675
638
589
545
641
589
612
551
674
558
691
590
552
579
696
526
682
622
553
638
607
521
572
547
666
506
681
661
640
591
640
584
573
603
501
683
603
620
637
643
628
558
526
548
623
661
685
552
545
699
522
593
571
574
505
626
608
648
653
511
600
677
676
659
637
619
616
623
504
678
692
578
689
530
641
614
654
644
598
667
526
530
510
530
670
608
607
653
688
678
699
652
567
653
527
668
639
525
507
575
566
693
577
570
657
574
671
644
682
517
572
569
649
568
684
607
618
561
680
526
520
575
561
693
583
514
695
511
622
640
510
640
523
663
509
631
666
613
661
657
653
524
696
510
666
671
671
576
512
557
660
574
591
551
524
641
502
585
674
550
700
562
633
663
659
595
624
535
652
533
561
584
532
623
513
632
647
558
699
664
555
568
655
520
542
608
678
608
518
511
696
585
634
553
512
555
540
516
697
520
620
600
525
668
556
542
554
523
618
504
622
664
604
655
506
644
635
683
551
533
515
624
604
622
503
626
540
607
631
677
661
645
552
652
573
591
670
577
672
675
649
603
593
553
549
671
520
519
650
629
578
596
650
630
653
689
555
516
523
524
546
683
599
632
608
661
567
654
679
673
645
641
690
621
687
632
613
596
570
549
548
682
569
587
614
684
687
634
688
505
624
556
694
518
526
529
607
524
549
529
621
547
651
551
597
626
645
619
530
587
517
621
634
517
580
582
635
540
638
676
628
572
631
596
657
697
593
692
619
580
529
565
602
560
642
637
517
501
638
639
594
600
657
662
671
539
633
557
597
518
562
636
576
611
605
677
503
646
685
690
671
643
504
622
511
664
698
691
509
585
547
654
639
632
628
667
596
613
523
566
557
519
693
667
656
620
560
530
554
626
646
537
521
615
515
695
541
500
531
659
517
693
562
589
685
590
500
624
554
676
699
561
529
592
524
623
679
546
523
501
612
642
592
597
554
579
538
531
540
687
666
607
588
673
543
610
522
571
628
512
507
592
657
516
608
653
625
624
611
618
672
672
598
566
500
505
676
654
563
633
675
588
678
669
545
589
602
679
558
679
675
602
529
541
673
504
574
613
521
699
660
525
552
685
571
528
639
617
596
535
660
646
666
682
593
675
691
585
557
576
598
642
505
515
525
547
596
672
524
547
664
592
606
587
634
589
582
552
520
582
507
500
627
592
639
517
512
603
527
633
543
697
695
573
510
553
530
637
520
616
541
581
566
540
664
618
576
624
564
659
700
634
594
598
677
636
653
505
587
520
507
651
653
508
530
585
584
576
634
645
536
613
540
512
624
506
630
633
652
629
571
632
694
512
645
656
667
692
584
608
523
690
595
572
630
592
566
537
688
599
586
546
691
547
645
550
559
642
560
599
521
592
536
525
644
546
643
513
647
668
642
657
684
670
610
621
546
684
623
544
670
598
683
534
586
542
604
649
639
604
595
575
661
677
539
503
653
575
514
631
513
602
643
527
669
630
584
587
633
607
531
669
574
569
672
676
697
689
574
596
626
555
546
557
506
631
693
570
513
523
693
670
638
681
565
588
553
511
552
524
635
556
664
570
548
661
548
568
656
679
606
604
550
607
597
597
583
684
577
666
506
571
655
552
634
605
560
546
692
546
600
575
532
666
537
589
641
500
620
564
520
540
531
554
665
656
659
681
508
512
509
570
656
521
667
641
509
631
592
583
633
525
546
635
582
582
695
642
604
600
555
548
661
615
618
539
515
560
688
594
541
607
553
623
684
518
694
595
662
616
689
534
656
532
542
594
567
578
549
696
631
501
605
695
567
500
622
616
505
559
509
635
685
656
509
530
631
613
588
601
646
640
572
645
663
616
591
551
578
607
631
552
648
555
609
565
689
581
597
653
620
636
658
556
596
613
501
665
536
569
677
524
544
621
593
585
692
681
543
527
643
661
523
573
645
583
675
534
539
567
568
536
538
513
620
622
555
610
544
585
666
532
528
541
508
565
651
590
539
669
514
586
647
512
658
551
557
529
691
517
531
580
600
675
614
602
588
688
682
685
655
601
612
579
573
590
549
615
667
548
503
509
517
507
599
512
608
676
588
645
508
669
576
698
632
509
594
536
679
639
510
502
695
668
587
630
656
604
651
621
542
522
528
659
682
672
529
525
577
553
631
657
617
632
571
683
612
621
699
599
503
559
619
655
606
559
687
595
684
603
584
519
668
620
687
607
525
645
547
509
548
510
580
527
678
663
696
536
694
550
646
688
506
607
616
592
681
689
603
537
660
632
693
629
669
696
543
677
568
676
519
646
621
660
700
640
608
654
690
528
634
607
684
680
552
666
626
691
620
695
653
657
566
652
578
603
607
651
517
640
700
636
615
658
507
594
523
580
674
579
504
550
552
595
569
631
585
659
589
645
582
581
556
602
525
523
659
660
609
511
530
570
534
683
668
679
577
644
512
643
525
644
528
598
641
677
604
668
685
690
654
598
666
517
580
505
619
500
627
508
557
514
590
623
529
512
505
610
650
665
645
635
650
554
527
678
636
504
566
624
596
588
637
658
580
552
635
680
679
507
630
506
558
613
573
642
625
632
547
683
684
690
619
600
663
690
524
542
541
693
650
569
654
539
577
583
608
677
634
658
585
587
651
511
520
592
633
649
664
624
568
648
531
657
635
597
568
546
637
544
566
696
651
568
578
667
654
566
649
554
651
584
692
675
607
613
608
602
509
511
574
576
581
583
572
505
630
539
607
634
699
678
508
691
509
502
524
593
652
682
508
507
552
646
658
692
509
567
659
661
672
686
627
666
532
621
515
596
511
698
621
540
550
634
653
516
598
511
642
516
535
590
619
661
520
561
600
674
584
606
628
562
652
545
673
645
678
643
537
546
527
563
659
657
558
593
620
548
570
591
545
654
528
544
598
697
698
561
557
561
643
592
589
556
516
531
638
583
554
602
634
596
541
611
600
514
595
529
630
549
552
627
646
501
648
610
501
513
574
518
681
522
689
507
518
645
530
640
605
673
691
500
508
688
645
644
565
529
614
664
510
505
693
669
534
671
690
690
653
602
604
572
519
650
657
641
535
688
505
683
603
576
572
605
574
624
523
675
544
570
576
510
623
671
606
647
540
627
572
651
572
570
609
613
600
678
685
596
522
524
694
577
636
545
629
515
593
533
509
585
667
573
513
637
586
562
683
589
526
519
686
671
585
640
605
543
640
675
585
559
653
518
664
670
614
528
685
566
526
629
687
586
685
631
614
666
515
667
530
659
570
602
647
573
670
632
523
612
612
567
632
635
700
606
574
684
525
549
534
634
526
563
541
693
501
634
676
625
605
531
589
611
680
650
648
695
700
686
607
623
589
576
608
539
603
515
574
698
513
684
626
631
586
579
600
653
612
688
541
517
634
578
627
666
591
669
582
683
607
613
646
660
633
641
563
663
563
653
560
607
641
643
572
604
632
660
524
502
533
521
550
510
612
551
657
589
654
644
699
570
610
582
688
544
582
501
534
691
650
649
556
657
615
606
668
613
524
516
591
505
554
579
514
561
546
537
587
608
698
638
686
650
594
591
691
606
565
624
575
545
632
575
643
507
643
678
685
519
550
688
629
634
576
658
629
664
599
516
693
672
690
579
587
553
668
616
651
535
571
586
646
528
518
517
618
686
549
628
525
559
575
517
586
577
565
514
686
665
669
685
617
550
515
691
647
694
622
657
669
649
544
644
523
543
587
678
509
654
628
552
654
565
531
593
608
693
649
536
681
625
664
516
648
627
508
567
682
562
504
551
595
642
638
668
605
566
557
625
558
663
506
632
681
531
677
672
601
590
527
568
635
528
640
587
522
580
501
593
688
628
612
535
513
593
541
509
593
540
504
575
662
538
586
654
681
677
629
558
596
646
525
602
640
699
540
592
507
511
623
699
574
604
586
529
698
567
561
690
622
528
675
526
690
540
604
530
514
595
527
572
554
562
663
636
625
512
549
676
508
661
566
672
674
513
680
564
615
514
532
609
517
682
685
516
595
604
517
532
575
513
669
623
526
551
661
683
608
510
540
501
699
518
607
696
546
565
530
531
551
618
635
687
642
620
627
686
671
659
560
669
500
578
561
666
641
618
567
655
603
521
693
690
637
515
545
550
590
534
501
684
626
541
629
621
624
678
556
620
682
580
669
630
504
548
521
619
609
608
622
643
573
672
654
593
601
678
584
534
556
559
683
699
631
518
658
674
533
559
631
642
501
514
533
631
570
581
624
516
659
568
592
530
531
508
622
587
656
650
544
503
524
679
606
597
518
649
566
582
527
618
638
579
526
687
521
667
616
611
646
664
522
561
586
593
691
614
565
552
637
525
619
630
573
546
665
674
653
633
532
542
700
680
625
642
632
536
621
564
526
567
522
686
565
547
650
584
516
633
623
619
680
609
645
621
619
532
516
683
662
511
566
522
548
654
612
570
527
690
505
500
656
601
537
671
615
524
694
615
670
533
683
553
553
579
685
624
541
654
672
541
611
551
575
637
647
634
507
536
582
641
523
566
584
693
530
567
530
670
682
656
559
690
647
511
692
632
615
528
584
588
618
678
662
575
597
664
536
583
562
579
508
538
561
542
665
562
641
517
673
561
626
546
682
594
624
574
532
681
627
550
692
618
593
601
570
642
691
620
516
667
624
532
622
577
620
529
510
520
609
694
562
637
629
521
667
542
607
663
552
678
539
681
618
664
677
619
657
530
608
524
510
558
524
541
601
592
626
634
628
616
577
530
645
585
682
688
621
648
676
575
658
551
658
550
675
536
692
528
622
509
660
522
580
653
676
667
623
655
553
505
587
581
539
697
688
625
623
628
670
525
689
554
675
558
664
614
597
689
674
596
533
514
571
545
559
699
595
638
502
678
677
640
591
563
636
628
535
566
580
654
642
514
502
639
594
655
695
604
654
579
645
569
502
519
583
589
594
688
538
634
660
521
536
525
531
658
615
585
651
614
542
582
515
557
670
675
660
585
546
501
574
594
558
523
648
558
536
670
651
517
561
613
635
652
688
503
637
538
671
682
559
648
511
557
645
577
528
576
627
580
625
577
662
519
548
538
576
688
601
649
624
503
642
682
583
660
558
634
575
673
605
586
577
598
574
658
557
562
556
598
545
633
671
692
688
626
503
666
669
558
648
591
515
567
633
696
524
675
545
511
526
693
668
637
654
589
613
590
680
690
576
642
622
680
577
579
614
665
686
524
628
575
509
689
520
683
565
566
656
643
514
692
619
647
517
645
537
645
688
666
623
511
675
637
564
508
682
634
592
560
582
582
675
509
527
513
628
688
545
537
640
649
538
573
698
670
616
643
558
601
600
624
564
639
670
608
690
522
506
579
647
670
603
670
618
554
600
645
621
652
692
523
643
552
593
632
585
563
585
588
638
677
581
681
630
520
538
501
573
586
568
690
537
641
501
582
564
539
511
620
560
522
621
566
645
519
592
664
536
610
604
550
606
612
564
574
515
632
651
561
664
665
639
543
653
538
654
555
552
679
609
657
550
619
676
650
569
614
575
684
539
598
513
504
663
658
577
539
575
561
611
617
583
508
623
689
625
516
502
691
534
575
563
558
546
600
643
644
560
639
534
678
699
663
516
668
577
685
626
625
585
639
553
553
646
574
687
576
590
658
656
698
667
521
628
580
543
639
675
595
646
539
549
560
625
561
532
630
589
596
540
542
581
588
596
663
511
692
555
561
664
660
667
531
667
550
685
537
656
670
543
598
594
543
607
543
602
601
546
535
560
502
513
660
569
647
549
617
609
572
665
527
653
587
652
660
565
525
629
567
527
584
546
519
549
531
633
602
560
553
667
502
505
560
504
572
506
524
632
570
692
502
572
522
548
576
544
566
679
693
649
685
584
609
502
500
524
585
502
556
579
519
623
604
588
614
638
518
619
629
695
644
565
540
578
565
545
653
694
679
529
513
646
651
617
678
648
662
665
507
566
643
696
533
574
525
696
655
510
628
570
615
500
628
697
540
665
523
594
645
638
700
634
663
693
620
653
636
512
579
660
539
656
566
541
571
655
585
521
589
596
507
576
626
602
676
545
684
623
605
531
669
582
547
538
511
532
557
566
690
659
673
646
631
657
628
535
643
687
642
635
561
561
513
531
534
597
506
525
685
619
668
637
659
548
600
569
613
622
637
570
687
598
569
595
616
553
686
657
536
623
655
505
696
674
518
561
590
562
559
591
609
538
504
533
662
573
513
645
688
514
560
547
596
560
509
538
550
646
500
571
502
564
579
505
690
580
599
696
665
669
695
552
507
523
584
595
686
688
627
532
602
528
549
613
610
607
597
693
634
698
654
690
641
601
676
535
527
668
525
625
543
537
559
661
569
586
675
607
658
540
696
627
599
568
515
674
553
681
537
557
612
635
653
529
668
674
595
561
692
647
631
616
630
508
693
533
694
657
618
692
687
652
672
528
626
671
502
507
515
558
613
520
609
545
615
554
596
677
682
684
602
671
523
568
539
664
540
543
617
579
544
569
685
611
651
586
555
558
601
599
632
596
604
535
629
570
582
525
642
512
598
566
692
528
673
574
550
612
674
688
676
671
580
646
698
606
617
689
613
567
592
588
694
608
645
654
605
645
563
526
694
645
621
921
916
950
872
801
817
904
991
815
935
947
888
887
901
863
974
992
932
963
826
808
957
971
932
958
893
865
942
958
959
815
988
873
987
889
959
900
852
858
976
984
948
860
816
928
833
950
889
976
949
848
954
887
969
907
990
998
950
994
824
917
807
866
920
938
983
901
885
914
989
947
812
873
832
862
891
802
873
945
815
954
885
890
822
981
911
900
848
848
907
896
805
969
977
995
911
881
890
957
917
886
963
845
802
902
817
855
917
914
845
997
943
984
928
984
848
841
897
930
870
902
882
821
846
867
834
884
871
844
924
876
981
978
828
818
975
835
883
824
886
998
906
943
960
800
931
984
803
938
901
923
919
900
851
980
887
804
938
993
809
939
842
984
915
883
884
960
977
896
933
956
892
893
952
907
897
885
882
1000
995
896
948
945
828
804
967
809
926
945
992
917
908
914
941
922
970
928
994
811
972
980
917
843
936
824
967
967
932
913
992
952
927
940
971
997
897
828
985
997
960
890
853
1000
824
822
971
984
805
933
973
815
935
943
915
897
899
834
803
870
847
862
991
911
800
910
934
834
832
969
825
910
844
802
934
932
853
811
988
996
985
967
820
890
905
845
831
935
956
830
809
822
954
968
996
809
903
874
931
944
872
948
994
923
868
969
916
910
920
954
979
825
922
959
873
983
978
830
850
824
909
882
933
922
963
823
894
877
820
933
898
845
856
899
985
918
956
852
848
876
987
814
821
941
969
956
895
953
972
849
898
966
814
885
874
810
926
926
886
897
959
904
943
843
882
869
898
966
866
900
813
966
885
900
911
937
816
989
899
977
817
869
915
817
821
968
818
880
822
830
807
948
977
800
903
915
951
963
840
840
883
989
925
997
863
895
979
923
977
826
948
942
926
986
888
913
808
872
858
840
867
984
999
804
926
998
910
989
901
802
931
813
856
964
893
854
960
988
828
822
929
995
936
953
839
812
846
878
836
926
958
938
814
977
907
976
956
833
883
860
936
830
947
976
917
979
826
927
841
970
956
830
998
940
905
827
892
976
955
830
989
987
995
1000
828
826
845
811
880
858
835
804
883
877
925
894
856
824
945
979
868
833
898
993
852
890
942
915
924
891
887
985
989
879
902
865
953
974
918
884
801
856
952
922
802
975
953
948
879
906
833
930
873
900
857
985
928
875
855
943
994
836
933
935
952
852
840
946
853
911
864
843
901
975
987
979
820
927
913
998
963
861
952
824
817
931
950
861
822
994
828
992
988
863
990
801
903
833
855
827
847
969
818
851
934
923
980
984
823
986
916
974
851
982
943
804
808
874
949
915
966
923
873
944
897
807
894
998
849
947
834
897
915
847
982
832
992
978
933
859
864
881
892
864
943
864
891
912
952
852
833
897
964
802
987
815
925
975
880
959
800
934
833
815
894
849
863
859
972
808
827
845
934
998
916
966
969
821
980
861
807
930
936
847
965
887
917
916
867
892
826
801
954
989
864
803
958
951
935
849
960
961
982
856
854
921
845
979
922
830
854
936
932
967
800
893
951
832
938
976
974
826
938
937
925
988
890
838
925
833
907
849
823
860
802
860
870
871
939
922
966
827
925
1000
874
908
990
801
801
806
974
814
983
914
963
915
840
993
843
811
904
850
960
937
812
818
889
915
921
853
886
935
898
941
985
938
912
964
994
899
829
967
940
924
836
916
887
823
930
844
948
931
870
806
801
997
934
916
866
833
817
900
821
860
845
837
807
858
841
859
845
853
1000
985
878
994
867
879
830
970
828
829
905
804
873
917
986
922
865
838
927
845
886
836
951
804
862
984
920
879
894
994
844
863
904
967
812
946
919
829
800
868
978
891
849
914
933
881
999
942
954
832
957
990
827
974
908
878
856
987
949
819
927
810
965
962
879
884
843
818
881
909
962
856
938
907
805
854
912
843
804
871
906
815
863
864
837
931
970
874
978
998
996
882
830
871
944
836
832
999
819
900
974
957
812
917
801
913
819
881
828
961
970
836
808
869
984
994
894
846
816
916
929
983
933
984
851
954
899
801
852
885
844
825
927
828
815
884
959
852
993
874
991
953
987
874
936
819
807
856
960
801
936
945
883
875
973
880
900
992
967
995
937
818
912
861
818
859
800
847
877
910
985
839
931
872
882
906
944
902
869
889
893
886
825
835
985
885
926
997
961
992
879
817
847
847
977
955
813
870
912
948
977
872
980
950
804
850
922
834
905
879
962
940
982
938
846
840
897
834
863
934
891
952
808
814
831
977
844
830
951
910
878
969
915
931
861
963
938
909
948
917
920
979
865
851
832
814
965
915
943
910
973
850
923
842
955
933
931
847
967
888
889
893
881
963
923
807
997
874
897
955
967
914
825
934
997
948
832
938
903
829
888
842
929
907
950
946
841
972
849
874
889
909
843
883
893
986
803
869
900
860
848
985
921
962
979
853
827
897
817
827
822
951
957
941
843
890
824
812
809
974
804
971
905
855
985
959
818
857
924
816
885
843
942
830
806
911
888
887
974
824
863
900
922
864
911
862
887
905
986
866
826
893
896
843
824
882
884
875
998
877
925
919
902
805
894
853
974
907
969
973
902
910
928
816
914
923
845
844
996
833
944
983
979
859
855
967
984
944
964
872
814
980
822
963
921
869
832
839
930
825
896
981
948
830
927
933
814
825
902
804
983
977
1000
967
841
975
859
931
930
964
943
816
976
831
978
898
939
931
995
938
970
849
833
833
923
932
954
910
865
928
850
915
803
852
872
850
930
848
825
918
847
937
944
989
832
921
807
962
841
955
941
800
811
957
858
830
965
809
829
972
869
936
937
995
818
981
861
840
920
966
877
849
896
911
942
812
832
948
814
878
936
930
817
973
859
840
963
994
880
907
802
921
956
869
950
869
848
823
861
988
962
901
886
819
910
945
875
827
809
944
907
850
938
979
837
867
867
902
848
869
985
975
881
962
858
826
853
955
849
862
914
858
854
959
930
940
896
992
844
842
902
802
940
979
977
928
905
809
885
817
903
852
836
851
908
964
875
857
988
957
864
881
970
867
814
856
836
976
987
965
830
900
815
932
994
861
809
892
918
806
908
976
820
811
912
800
821
851
945
882
833
843
945
888
826
925
910
845
884
946
916
872
848
963
808
871
974
829
906
958
908
986
849
950
839
941
872
923
809
873
894
881
857
983
907
839
883
941
884
916
999
957
978
943
814
954
825
888
903
912
831
935
804
909
972
832
944
867
836
825
950
800
811
980
901
859
852
903
869
939
1000
988
851
802
959
913
854
835
1000
821
825
886
959
958
842
805
894
901
977
925
879
810
941
953
992
938
863
896
825
827
840
936
862
844
994
911
872
855
976
876
956
817
812
804
881
955
944
940
802
959
951
886
993
826
972
851
949
803
827
812
884
843
898
873
825
995
964
985
896
977
831
912
933
810
878
864
943
819
944
931
841
997
996
969
976
937
982
864
956
818
877
936
905
881
976
817
926
982
812
953
918
897
892
906
907
997
988
943
832
844
833
820
954
878
836
844
878
1000
907
806
903
970
807
949
961
862
801
862
833
919
858
869
994
955
811
880
932
1000
940
936
939
911
951
887
803
858
813
967
981
918
871
899
884
918
923
942
918
806
820
854
901
870
861
854
997
838
958
816
880
827
834
806
912
842
846
960
899
912
934
810
930
949
909
926
842
957
989
896
869
819
857
909
822
911
874
809
944
897
829
873
953
880
958
885
957
856
835
981
996
954
962
829
901
838
987
1000
857
900
960
980
883
892
971
907
832
935
915
900
860
985
991
808
842
889
818
889
811
841
980
858
903
862
944
916
973
851
1000
831
880
807
919
967
982
983
809
940
824
936
964
875
964
913
990
942
961
812
988
831
865
925
907
831
868
900
872
941
879
842
878
1000
817
876
889
874
996
852
962
971
912
939
884
957
892
961
899
856
969
962
896
853
920
864
959
814
912
843
982
938
872
917
860
830
812
986
906
974
839
994
947
996
945
857
964
952
802
979
837
842
824
929
833
805
924
988
824
912
1000
891
880
921
960
930
974
924
966
845
817
962
917
813
811
833
980
894
941
802
864
800
912
884
983
855
806
891
814
849
856
955
952
846
929
946
855
978
843
943
919
802
888
812
898
895
957
857
860
978
833
847
964
960
846
934
914
893
847
855
879
836
921
807
901
876
987
853
858
974
946
950
866
902
935
994
822
827
976
900
882
834
966
823
869
848
972
986
870
907
928
951
967
847
875
861
886
993
811
911
839
926
945
1000
879
953
918
802
931
966
877
909
889
846
898
978
991
945
963
882
974
929
887
942
878
962
939
930
934
908
933
929
855
840
831
887
867
800
805
869
918
943
909
922
889
853
845
820
960
875
834
922
851
837
846
828
804
936
837
883
994
968
872
981
876
825
881
847
943
907
805
889
906
877
924
996
912
826
911
993
858
845
874
993
946
957
998
968
841
995
936
898
841
904
940
896
990
880
825
911
879
983
865
963
962
831
996
948
931
902
946
821
801
960
895
870
965
970
932
815
899
890
898
936
852
812
874
908
960
877
939
866
920
977
984
915
862
856
873
905
818
875
880
884
887
854
874
834
913
949
889
807
947
965
841
884
987
864
962
926
974
928
832
867
976
873
945
826
860
994
941
924
939
955
935
969
838
876
808
895
812
912
839
867
1000
923
857
984
941
821
801
803
839
901
829
907
933
988
971
895
807
912
858
854
902
887
947
994
965
866
956
896
802
987
895
952
930
964
833
814
915
956
995
892
918
964
829
883
943
881
990
801
914
806
870
826
961
980
978
912
820
898
991
873
926
953
906
925
990
876
844
972
897
860
831
839
908
832
913
929
825
862
813
813
925
924
830
993
929
951
887
890
926
914
905
991
801
843
927
966
994
930
930
992
965
912
854
963
817
992
891
891
802
967
903
990
882
952
901
984
928
828
839
962
942
967
965
986
932
921
874
956
909
892
912
878
894
841
867
927
889
825
981
964
842
819
874
924
844
944
877
968
914
819
923
806
902
864
813
932
937
817
952
857
928
886
883
922
801
837
816
847
954
921
984
822
843
872
949
939
908
895
968
879
986
833
802
909
899
865
984
923
889
999
920
857
925
877
992
973
977
868
929
944
846
824
895
926
866
933
996
817
874
862
812
951
910
884
990
937
931
829
953
967
964
835
879
863
853
997
997
958
909
882
913
868
951
926
861
802
915
961
966
841
913
883
809
809
994
823
842
906
950
814
809
950
940
808
898
816
981
995
913
895
805
983
916
836
800
895
907
805
865
907
920
855
843
835
868
828
810
924
878
904
823
887
860
922
923
816
909
945
860
885
995
856
845
975
801
885
909
949
932
815
884
874
894
948
890
901
979
800
931
942
875
911
895
822
902
986
863
910
945
891
994
812
834
984
827
885
874
978
911
865
816
802
909
913
870
806
965
970
856
903
861
860
929
979
805
968
934
918
902
996
895
939
825
965
968
894
809
916
834
889
934
882
837
832
855
846
918
986
874
842
953
996
972
989
804
846
918
901
829
944
802
852
899
895
929
860
939
936
840
808
976
838
870
937
962
990
893
880
851
854
950
828
840
857
843
823
891
873
956
949
800
989
867
917
866
985
983
877
867
998
823
943
904
800
890
952
836
895
899
883
963
899
811
944
965
951
960
870
844
910
987
896
828
835
895
896
828
901
875
857
986
808
985
858
866
819
804
901
862
882
927
963
856
814
994
996
870
984
956
833
847
832
873
965
881
965
856
980
968
855
909
803
918
939
970
896
837
890
963
922
962
821
851
856
867
945
856
979
993
942
963
808
843
863
870
826
842
888
825
945
878
803
935
999
883
999
941
918
821
903
851
869
828
914
884
813
935
963
869
951
978
922
971
995
948
857
841
832
834
876
977
903
856
951
923
825
945
938
955
853
963
953
882
852
878
965
915
853
954
853
917
968
913
986
827
865
928
823
966
837
905
923
932
841
921
997
831
851
821
981
992
861
917
908
932
921
827
988
966
911
931
828
835
909
939
861
901
901
809
819
917
981
849
857
926
956
913
907
995
911
809
880
969
980
885
849
810
929
968
840
832
850
973
803
920
847
817
923
897
933
806
817
987
918
901
894
978
826
979
965
875
916
911
999
895
882
859
812
847
805
923
981
927
919
977
999
856
822
890
857
922
953
824
854
824
853
959
973
819
940
921
965
870
852
864
951
818
831
925
909
893
948
808
865
916
882
853
956
886
953
837
916
851
980
887
852
821
827
981
846
838
901
851
977
842
803
993
985
969
933
831
940
989
867
964
862
960
936
852
933
884
946
821
856
861
890
984
962
966
961
913
901
828
843
847
905
804
922
956
822
874
933
868
896
866
967
937
807
892
845
919
954
873
964
890
807
896
913
801
944
992
989
840
879
947
870
961
860
918
817
806
982
945
978
901
953
1000
817
847
926
952
976
906
847
905
864
814
988
905
833
913
811
993
812
816
830
889
956
943
941
961
842
909
865
868
905
827
890
838
967
953
848
959
992
864
833
922
964
978
939
874
856
955
914
985
889
966
823
908
926
856
868
848
954
819
978
923
856
935
865
857
940
936
836
942
898
989
903
993
876
907
864
911
940
968
979
836
941
872
873
913
941
908
828
824
813
962
911
964
914
924
969
821
880
901
961
854
951
896
994
973
911
803
835
987
881
819
846
892
997
883
837
862
964
980
875
961
864
976
856
803
964
889
812
871
837
840
984
999
810
800
961
834
906
914
948
830
974
895
920
812
856
849
934
921
929
914
984
971
804
861
834
889
831
919
918
833
978
909
894
937
961
932
938
939
869
852
850
925
963
862
900
913
840
932
959
929
846
953
873
938
978
844
957
966
991
896
884
936
856
918
852
959
925
946
901
808
806
962
873
856
833
960
882
921
855
849
996
829
962
888
970
854
812
833
948
828
954
869
896
860
914
889
878
884
801
922
817
950
854
828
877
817
987
864
896
869
1000
889
967
850
991
911
941
967
936
848
901
871
873
876
975
896
968
927
806
826
935
810
849
982
996
834
947
968
848
973
808
873
836
950
920
956
966
918
833
953
926
901
853
823
986
838
860
980
997
952
934
994
860
869
944
951
992
912
967
988
975
867
809
883
906
914
866
848
808
969
916
886
895
886
880
975
860
805
839
985
809
850
831
888
944
890
822
815
938
885
937
948
832
944
919
975
896
996
953
886
816
908
825
884
908
826
965
894
889
923
956
1000
909
884
899
956
988
974
964
913
889
919
863
872
975
876
925
866
964
805
879
954
966
929
834
857
833
831
898
945
839
848
866
809
894
823
940
983
823
939
880
887
853
853
998
861
801
890
893
871
964
964
851
901
836
856
808
825
984
808
934
972
939
891
923
907
897
884
868
935
985
883
892
913
816
988
949
810
806
927
855
826
872
915
991
834
953
818
935
893
828
887
989
956
879
902
862
863
925
836
945
948
913
877
942
973
826
806
892
892
958
860
921
858
971
837
865
970
893
841
948
946
903
947
995
935
897
935
860
828
920
920
892
963
939
909
861
924
855
861
901
933
874
811
821
827
973
925
877
896
916
930
970
848
991
906
990
984
980
955
899
890
833
936
988
812
951
964
819
988
934
830
831
998
979
865
817
902
917
890
835
949
858
871
952
963
950
816
870
869
844
928
850
909
864
987
990
946
883
953
983
961
853
995
817
824
994
926
949
871
847
848
874
891
951
928
982
876
962
870
876
815
990
901
820
817
967
848
885
814
904
829
905
902
837
942
829
969
824
933
945
825
808
883
956
955
843
946
984
994
977
805
939
985
877
910
855
895
817
887
826
835
859
947
872
949
895
823
895
943
825
967
974
936
986
827
975
992
913
913
895
841
929
934
912
876
982
881
816
899
1000
862
986
975
971
819
881
852
831
910
868
914
907
912
853
800
853
982
994
937
927
877
979
985
948
963
964
992
918
817
966
886
805
920
950
855
997
957
979
896
989
936
928
853
879
854
856
829
866
851
929
823
934
860
863
855
895
985
959
964
843
818
859
922
1000
874
987
834
988
960
929
980
958
941
919
842
822
848
823
860
920
971
924
871
915
834
976
995
841
966
989
901
884
988
917
846
896
931
993
852
957
844
839
936
806
915
816
873
867
957
968
805
994
839
863
814
857
802
938
810
919
856
953
899
982
880
893
922
859
946
870
806
852
920
969
972
886
823
989
818
937
969
890
923
963
899
930
813
948
884
817
944
918
940
890
971
923
924
969
880
958
878
984
897
986
896
840
827
898
946
836
982
841
934
983
988
802
979
908
801
830
996
890
994
957
913
843
886
984
947
850
916
842
925
994
838
963
951
842
922
949
942
870
927
851
929
805
970
802
871
913
915
932
807
802
821
899
849
997
932
959
868
843
918
986
805
974
806
879
967
883
966
806
878
925
937
867
890
883
816
977
983
836
908
912
828
952
844
984
944
834
886
950
994
822
849
937
976
849
938
960
984
874
999
946
941
956
848
863
824
985
896
929
862
859
902
873
873
809
814
913
946
969
811
850
888
881
868
993
837
976
975
966
925
978
961
953
852
874
915
831
943
828
844
922
956
823
873
894
857
868
889
907
968
852
805
980
936
887
895
928
930
883
908
993
982
833
827
858
920
965
850
851
812
954
970
952
839
933
866
981
924
878
987
999
933
945
879
914
984
954
824
804
873
964
917
894
824
939
979
984
896
940
800
953
897
835
908
813
875
806
953
933
949
959
982
809
852
820
991
976
933
867
977
977
888
874
853
888
918
919
988
973
871
882
938
916
898
957
849
934
850
967
916
830
826
903
833
869
838
839
902
805
997
993
847
928
859
985
977
840
824
996
938
826
871
864
847
804
893
975
800
994
983
869
978
841
986
897
909
847
846
942
945
807
914
827
949
863
893
833
937
987
852
845
815
925
843
965
920
837
878
890
823
966
917
928
999
839
932
844
886
896
905
817
811
816
884
981
895
972
808
988
946
924
938
813
876
810
843
907
849
902
803
822
815
940
835
979
927
801
881
998
954
956
973
850
948
892
802
855
836
947
816
957
959
993
986
854
931
949
863
800
832
942
859
981
955
818
903
835
820
807
953
846
889
953
936
924
831
936
813
854
876
885
944
959
942
834
929
985
924
852
909
894
872
801
807
834
847
945
881
840
963
829
966
816
981
929
984
971
944
882
969
839
847
832
945
996
894
882
960
872
813
940
819
891
833
833
972
942
937
803
981
900
897
915
845
818
984
912
813
972
927
919
806
817
965
911
848
924
859
877
976
822
998
949
835
823
801
865
962
921
809
955
880
917
824
961
974
866
821
955
930
996
840
869
829
921
887
951
846
941
993
976
938
952
901
885
809
836
900
835
961
832
919
840
974
865
899
987
962
985
807
824
918
852
951
970
806
974
916
945
978
861
970
974
804
922
847
834
967
887
900
831
998
998
957
973
951
853
945
994
905
994
932
811
997
821
819
947
822
849
989
957
937
964
993
977
929
852
846
1000
951
842
946
949
982
934
989
945
899
876
923
921
814
936
905
938
869
902
870
992
903
962
913
962
941
975
995
932
923
887
971
905
883
904
975
805
822
932
934
927
927
919
965
946
887
969
862
980
889
994
963
940
987
804
907
881
865
824
893
865
840
952
937
880
898
979
997
821
961
987
818
927
982
993
966
975
894
805
846
997
976
932
990
842
972
963
962
905
937
886
886
822
926
962
939
901
838
917
918
856
938
823
969
947
820
864
976
977
910
830
930
817
996
922
934
946
958
833
826
853
804
943
948
913
984
863
878
969
934
962
982
971
919
888
925
847
928
880
820
865
811
848
821
943
846
819
947
908
820
913
804
934
905
833
871
921
960
933
940
897
941
953
845
931
965
924
947
956
901
833
961
917
917
810
917
996
954
905
884
934
973
944
827
931
913
827
910
852
997
809
986
878
911
994
881
990
953
909
892
991
861
959
979
936
895
936
980
837
817
816
817
835
910
932
842
890
991
983
808
862
951
884
973
916
865
836
959
875
992
889
882
923
893
944
807
914
962
950
919
844
829
865
855
814
944
916
968
944
856
973
896
912
927
920
847
834
862
862
998
940
990
814
849
902
968
805
891
980
951
816
995
836
936
865
883
827
872
865
874
819
872
957
858
958
941
980
816
950
811
884
915
974
870
879
810
828
978
979
930
891
973
945
968
818
917
947
863
863
836
873
876
900
936
864
917
969
979
834
889
825
978
805
928
878
940
855
927
932
813
934
906
978
992
934
837
934
815
878
861
804
805
934
949
910
899
921
910
925
997
939
902
937
887
941
910
900
991
932
843
845
907
993
954
864
991
994
959
818
887
929
875
911
814
814
809
806
987
847
808
853
968
919
809
866
879
892
853
984
925
810
807
895
810
978
951
801
967
908
860
920
994
933
895
925
970
955
821
845
894
986
884
978
917
841
906
862
997
944
975
977
852
990
978
826
840
971
961
877
954
814
889
976
865
950
964
800
952
865
866
800
886
811
833
975
849
895
924
827
977
858
993
903
810
861
900
846
910
886
891
879
819
885
997
844
861
826
865
866
802
861
984
964
817
968
831
931
818
938
899
816
892
941
833
848
810
948
982
859
931
965
954
945
857
819
917
854
853
895
919
846
895
883
825
892
820
832
949
958
895
832
973
972
873
809
816
904
955
803
978
912
895
936
945
813
992
940
820
849
997
991
950
926
995
853
945
937
894
916
905
916
867
820
959
812
844
876
971
923
929
903
830
933
882
883
974
909
823
852
976
859
830
841
866
967
801
930
882
821
823
981
878
988
893
853
991
909
888
939
924
894
868
994
868
987
844
951
811
928
952
900
971
911
816
826
859
876
828
991
939
952
899
851
896
813
987
809
896
870
868
884
923
868
997
883
857
864
866
989
889
962
977
843
854
863
855
822
860
971
827
858
808
977
865
840
947
873
855
903
990
958
940
849
832
954
987
846
915
895
855
941
814
917
931
826
884
942
940
847
878
889
829
814
832
920
815
816
868
840
920
851
898
813
961
948
915
973
954
816
972
892
625
539
574
592
521
538
690
688
654
631
562
694
505
620
628
517
690
640
518
689
521
504
622
643
548
529
677
607
693
651
666
631
650
700
552
521
558
595
664
512
678
569
567
575
526
547
581
693
687
524
658
560
632
573
677
608
673
524
624
690
584
689
627
552
534
647
545
695
538
666
511
669
566
692
503
696
505
607
669
516
697
506
506
530
592
647
533
521
546
588
525
682
513
531
558
675
658
558
671
641
522
549
532
642
527
592
691
579
622
551
584
576
650
520
586
685
596
620
574
549
516
550
541
689
621
514
568
616
508
690
552
534
511
643
516
511
506
667
595
595
558
629
675
500
676
591
551
589
545
631
651
576
622
541
653
535
517
527
618
507
615
651
501
501
653
520
682
653
522
584
678
672
700
609
522
596
691
700
683
615
637
547
537
656
687
646
579
504
688
654
634
562
585
683
580
563
676
571
525
665
648
527
515
506
515
516
570
504
560
670
655
662
674
651
573
571
552
573
679
681
648
541
534
636
617
599
524
654
621
602
681
593
690
649
504
654
626
689
686
568
696
532
637
523
592
621
655
520
650
515
536
633
649
619
600
697
619
580
644
526
540
545
684
574
615
640
572
608
625
697
513
517
576
700
529
546
612
628
621
528
599
674
687
557
540
521
608
639
658
540
529
579
686
649
547
666
524
517
688
561
561
541
570
659
508
528
671
620
553
610
687
512
500
523
530
556
671
566
553
510
659
684
641
620
524
601
502
617
523
677
618
611
543
666
685
550
547
534
537
680
629
518
570
541
661
698
678
579
602
600
691
571
537
694
546
555
595
645
582
560
596
561
635
589
601
587
558
511
516
601
660
532
594
549
526
542
648
510
587
698
620
631
610
633
637
511
603
561
589
686
681
647
521
541
526
692
657
641
698
524
692
645
584
686
633
532
659
595
541
696
537
594
545
539
581
567
536
688
580
682
564
522
658
606
688
624
548
530
628
662
551
634
679
555
605
666
600
518
696
587
608
534
688
536
542
528
640
599
677
636
521
614
543
636
567
698
658
605
586
585
513
609
568
513
599
664
582
680
641
618
698
548
572
603
520
608
538
690
584
620
549
502
612
513
698
646
524
686
683
564
501
577
629
685
673
652
682
525
635
664
572
632
678
588
614
658
530
535
634
674
512
630
605
633
523
586
554
672
504
654
605
501
599
695
672
649
594
700
557
579
622
539
600
602
648
682
506
589
639
515
620
663
531
512
681
671
516
609
696
565
529
605
574
661
669
534
674
627
629
524
503
683
599
688
534
686
533
697
588
562
658
537
592
606
646
573
685
638
672
681
678
649
628
632
644
646
649
505
658
512
698
697
551
554
657
543
692
504
663
561
669
627
574
505
621
662
619
571
610
699
532
698
502
621
544
638
531
579
522
543
654
505
637
567
687
609
541
556
506
675
521
694
522
566
640
512
566
685
523
661
653
517
619
619
643
674
619
624
612
601
677
576
589
564
587
683
516
546
503
514
624
602
637
654
519
614
586
613
603
584
502
524
559
689
556
651
582
621
508
672
678
553
695
521
635
626
512
593
627
575
579
545
594
666
675
667
579
559
579
582
682
531
625
571
675
559
579
669
657
539
587
652
671
669
620
574
561
643
671
544
658
699
500
625
608
563
670
566
582
518
656
697
559
574
656
675
629
634
590
515
550
524
585
670
588
578
645
516
522
649
615
514
623
635
590
508
582
691
606
552
692
698
513
641
615
656
564
566
663
566
557
635
615
659
654
538
519
586
569
638
637
526
590
535
636
591
580
575
531
594
596
638
635
625
566
575
628
649
697
585
599
624
655
671
568
642
526
546
590
662
645
513
643
664
616
658
592
631
620
598
597
645
656
537
696
563
652
551
695
680
644
576
502
513
698
669
582
527
599
540
695
639
528
545
561
562
565
648
607
649
557
620
554
594
521
555
562
552
517
672
662
680
618
683
684
556
619
632
600
691
556
559
636
646
577
666
529
526
623
636
697
519
651
659
683
600
671
523
602
681
501
699
697
523
521
659
544
678
540
532
679
533
624
688
556
685
647
696
535
512
549
641
531
675
673
518
662
527
527
622
518
631
690
622
620
691
635
511
609
514
535
530
583
576
661
603
626
587
641
679
629
656
566
544
676
544
526
529
683
581
531
660
550
507
522
606
677
516
637
666
609
565
638
687
532
691
576
542
561
536
505
654
641
659
549
643
593
529
509
593
530
554
533
589
605
691
526
554
570
667
548
562
544
615
641
547
512
669
692
573
662
697
575
666
565
652
598
606
602
587
645
658
539
659
653
679
516
673
540
612
689
605
655
521
652
663
691
571
692
529
580
669
577
567
572
509
550
521
606
603
634
590
658
699
610
527
673
610
509
514
576
570
693
524
511
503
700
607
573
514
637
610
538
645
540
697
643
509
516
512
508
639
695
518
514
577
556
644
537
500
678
690
567
516
687
685
617
517
541
546
692
673
602
602
645
660
676
665
564
693
573
540
638
565
541
505
610
557
665
546
636
642
661
650
650
640
562
599
570
535
589
686
695
526
509
516
554
608
529
586
624
584
508
580
699
534
541
623
569
599
522
507
598
503
552
675
641
528
676
689
506
512
653
604
532
688
547
596
517
688
628
663
628
658
637
618
650
549
511
526
599
606
625
683
669
673
643
641
587
518
535
535
656
698
500
578
680
510
566
556
599
564
648
525
579
550
565
582
617
541
589
528
697
509
592
601
693
696
645
581
673
589
686
541
580
657
572
520
523
599
547
670
661
503
570
570
530
532
616
626
600
598
519
642
615
601
610
607
637
654
668
662
639
613
546
501
645
642
580
677
620
521
505
534
596
597
500
626
568
550
524
699
513
572
593
598
633
542
539
651
515
556
552
697
511
595
697
523
606
615
657
575
625
528
626
587
586
562
671
574
608
667
532
620
631
583
643
680
527
642
601
637
656
648
570
575
607
621
671
561
635
619
633
547
683
683
582
590
548
639
646
552
633
574
567
686
650
613
682
689
513
599
568
507
661
694
584
696
569
543
689
500
667
662
520
699
594
683
685
526
607
649
576
601
584
558
561
578
616
578
615
620
669
507
640
544
525
585
661
591
605
627
653
553
625
580
679
695
642
653
666
660
667
663
652
698
647
534
556
563
523
555
633
573
691
593
580
506
538
608
651
619
652
684
589
559
528
637
624
500
593
677
691
699
545
675
650
640
544
683
554
536
564
636
528
571
582
647
678
625
637
591
632
648
625
563
540
692
566
583
629
590
511
548
510
694
666
683
685
606
570
657
542
661
508
529
557
616
615
500
619
597
609
567
554
548
665
686
503
618
515
661
623
700
602
563
532
671
659
633
695
626
581
589
575
649
588
542
604
504
633
692
544
531
583
564
548
647
512
532
584
674
669
569
569
611
603
681
540
601
518
514
697
519
525
676
676
636
553
662
504
673
573
676
510
684
629
603
599
660
575
569
534
684
554
666
644
623
663
625
529
664
625
669
516
697
641
503
593
656
688
516
572
507
682
525
580
615
586
630
624
611
671
540
553
700
624
596
605
599
681
656
640
690
619
501
635
531
678
654
535
646
545
534
574
541
546
628
629
571
609
609
513
525
528
540
633
685
575
688
653
616
511
631
509
501
539
509
568
595
644
605
697
513
695
684
670
699
571
670
624
690
689
543
633
596
554
700
557
511
643
640
677
573
544
686
516
531
617
503
557
556
531
555
622
632
535
613
692
538
573
513
567
684
586
659
532
638
698
654
651
560
577
671
604
614
645
505
549
583
630
506
544
648
558
651
561
589
675
662
695
598
669
675
569
545
604
565
619
664
647
683
583
633
696
555
628
657
566
663
667
633
661
693
511
605
541
632
557
674
573
688
645
676
630
683
525
535
604
533
541
643
671
672
663
612
559
533
639
578
584
604
577
660
577
597
697
553
692
677
634
513
500
652
675
619
582
536
533
634
579
545
627
630
535
699
547
535
530
697
691
521
641
696
563
573
699
622
632
635
683
577
654
548
512
572
535
504
624
552
607
526
610
613
640
535
571
697
643
671
559
599
657
592
613
664
580
624
551
667
504
677
594
600
583
504
534
545
553
567
632
609
633
513
675
671
589
608
609
630
509
554
539
554
635
589
598
558
693
650
649
545
540
697
633
638
535
506
670
670
644
674
696
576
528
690
611
580
506
665
577
562
664
624
606
642
590
621
667
652
587
618
662
534
663
510
672
641
656
593
615
600
580
552
684
644
580
656
554
570
628
528
509
526
691
524
695
508
530
549
682
656
523
692
627
607
668
509
522
691
689
559
600
549
605
651
536
689
697
653
649
632
688
662
512
637
645
603
690
534
595
633
592
638
608
649
671
646
632
604
567
555
647
568
625
569
668
516
649
686
685
516
530
645
573
614
602
615
667
628
645
532
511
536
586
593
616
527
693
693
632
686
689
580
504
679
587
683
692
700
668
608
540
668
678
564
690
664
593
540
632
593
534
570
510
640
518
623
528
668
609
528
649
697
697
525
639
587
548
696
665
521
693
679
670
667
587
592
635
570
607
577
619
602
678
572
621
572
606
615
663
579
650
539
682
626
552
520
653
656
640
600
670
576
531
548
562
500
665
505
638
670
690
523
566
640
595
693
517
687
688
532
529
562
521
662
649
613
603
523
593
637
661
521
684
696
610
587
505
540
650
513
699
537
641
531
690
612
638
526
601
666
654
605
528
601
568
614
600
523
647
505
503
532
509
500
512
588
544
697
547
578
695
527
500
539
503
506
537
533
503
634
624
666
649
522
614
610
508
658
607
582
672
576
514
567
518
611
699
601
608
683
548
687
680
665
572
652
622
678
563
581
515
652
558
687
682
645
511
649
509
548
575
532
566
590
623
581
511
630
569
607
516
556
636
656
691
554
669
670
501
589
534
696
644
675
502
689
568
648
694
547
593
606
632
554
558
598
515
688
668
578
549
557
607
539
644
647
672
633
603
529
592
515
502
594
641
570
582
635
523
644
562
545
675
638
680
649
676
523
521
660
563
671
613
509
630
598
660
690
549
593
653
526
618
509
617
635
519
509
694
621
646
690
639
544
639
677
582
591
529
586
611
671
562
535
511
629
697
638
649
631
573
519
606
548
642
558
697
649
694
692
584
689
593
518
614
572
601
509
512
699
681
501
624
621
637
542
582
662
679
522
542
580
634
577
542
541
514
679
544
559
656
624
626
577
500
654
647
503
692
692
687
513
614
577
654
668
644
602
530
527
665
695
555
615
553
588
652
655
660
573
674
583
628
600
588
554
549
600
683
511
640
641
655
550
661
582
644
689
519
618
550
635
624
689
558
571
535
563
679
666
604
520
572
557
694
539
691
535
613
521
565
607
524
508
531
663
618
668
501
697
690
620
562
572
574
537
688
700
653
570
669
577
583
679
628
556
603
657
501
534
570
639
569
664
677
500
536
525
618
508
525
644
692
645
647
517
660
558
606
511
590
554
532
548
591
524
502
684
561
517
584
654
582
519
530
538
599
659
512
575
602
595
687
678
564
594
584
518
622
556
603
628
575
544
559
652
517
603
655
546
534
655
626
504
644
683
535
566
631
699
619
633
533
548
545
626
658
693
650
500
695
691
594
683
512
621
555
511
618
614
561
615
550
628
664
612
548
550
672
509
691
658
593
669
624
583
549
594
644
529
511
591
638
662
660
570
508
612
575
564
570
509
600
659
601
546
700
556
620
562
581
628
656
548
687
610
641
545
530
540
558
545
582
571
540
613
689
541
544
699
635
503
677
524
520
517
606
576
662
501
673
686
573
553
523
523
629
539
638
599
685
559
643
547
580
541
667
604
649
514
699
552
509
700
589
677
626
599
567
626
595
650
671
641
592
683
509
642
502
528
508
532
636
692
670
625
630
570
669
697
526
614
610
585
569
551
637
643
548
519
532
648
664
691
631
571
700
680
521
554
506
574
663
520
601
648
610
598
640
653
648
508
533
581
540
525
547
508
523
553
582
556
567
683
573
528
517
678
599
593
633
685
576
611
635
555
680
611
690
609
509
657
626
644
585
666
686
559
696
684
528
566
611
504
660
563
501
545
676
596
688
536
516
579
590
628
607
673
696
690
686
699
664
672
617
522
653
636
627
547
528
531
534
562
695
597
604
509
561
699
670
697
695
629
642
552
692
664
511
512
506
512
668
576
668
548
512
697
623
572
536
558
541
615
695
563
695
615
566
642
508
611
650
569
645
598
674
556
635
504
509
618
683
572
620
576
617
543
663
670
694
526
669
675
680
693
536
625
515
678
559
625
688
574
527
581
617
650
685
544
555
513
590
509
541
553
561
606
570
555
676
543
623
613
559
619
528
541
602
506
684
616
525
534
580
565
675
670
616
648
626
550
510
508
644
616
647
565
653
677
587
612
555
575
614
575
662
600
550
648
680
651
688
567
512
661
576
573
692
566
598
556
605
518
646
621
567
666
526
658
543
690
674
547
513
656
555
671
640
580
697
644
615
612
658
521
558
668
608
676
691
544
658
590
525
555
585
506
530
692
596
695
611
686
629
636
523
651
691
589
639
513
665
651
512
628
563
676
578
559
508
589
695
553
616
544
527
620
536
540
583
544
556
505
683
562
646
513
639
569
502
643
626
600
534
518
582
695
642
590
597
593
671
518
615
581
526
662
602
644
580
602
567
518
690
694
612
658
621
608
509
535
620
678
660
520
690
580
550
639
648
556
600
590
595
619
584
537
671
537
646
687
622
605
627
691
584
581
577
640
658
500
512
692
541
670
561
581
528
700
688
634
684
570
565
508
582
617
514
537
684
664
640
572
526
667
668
512
565
651
586
518
638
651
679
507
585
686
532
532
558
579
549
528
699
662
616
612
662
700
676
639
512
512
578
610
664
617
612
529
586
583
556
618
681
503
634
616
696
626
625
512
622
664
563
603
676
523
566
638
668
591
585
533
555
603
611
598
640
698
613
640
541
684
551
615
678
510
639
657
538
640
590
557
664
658
606
696
582
564
523
620
649
519
619
502
638
507
537
611
541
604
506
635
587
505
693
539
604
575
692
599
694
566
646
526
629
532
661
659
605
545
640
619
632
661
646
558
613
648
573
564
560
671
620
684
676
669
668
591
510
623
678
616
640
602
524
513
504
604
663
533
655
595
671
639
664
576
619
665
650
624
608
624
528
536
680
698
656
668
528
519
503
641
584
597
541
543
522
558
579
595
640
549
606
509
679
615
608
675
549
588
505
690
586
537
647
568
666
632
685
682
533
518
583
539
612
606
566
546
594
700
609
517
623
546
649
533
599
585
665
663
680
524
575
604
639
604
563
507
564
522
604
568
615
585
536
586
700
525
511
530
601
628
652
542
617
526
683
570
500
577
607
588
649
514
521
530
680
622
593
618
578
515
578
558
559
643
637
663
697
549
620
684
536
680
653
542
633
618
520
574
553
639
635
652
601
577
698
616
500
530
598
574
574
672
552
545
607
577
640
544
501
666
639
564
576
580
644
512
528
677
584
577
595
625
688
519
683
689
691
668
642
672
599
687
691
519
609
661
501
540
594
700
545
535
520
612
694
680
554
673
675
648
663
591
506
632
587
604
543
671
655
551
600
591
552
516
639
682
560
553
581
664
694
611
539
500
530
695
649
538
634
596
607
613
505
500
577
639
682
600
617
530
519
500
518
575
657
592
555
551
629
556
602
591
547
572
672
658
534
572
653
699
577
516
623
650
582
576
692
544
520
632
505
611
643
537
613
562
579
600
652
589
615
698
559
517
694
555
563
647
693
596
593
667
571
512
562
527
635
628
599
666
586
505
603
640
679
601
576
648
502
682
620
573
560
613
546
505
672
545
681
558
689
618
546
525
692
522
514
662
534
634
652
671
545
679
511
539
591
505
574
612
700
559
526
618
585
686
546
652
645
556
501
612
563
545
642
554
568
588
535
609
632
508
581
535
619
684
650
583
548
687
569
640
576
565
520
547
684
656
531
629
637
610
685
591
582
599
669
531
503
670
675
569
573
692
543
684
515
561
661
518
590
634
632
665
590
642
571
582
536
540
629
579
659
646
653
659
661
563
633
600
508
553
663
522
500
678
652
590
532
505
602
632
539
667
583
653
594
562
631
690
631
634
551
641
649
641
572
583
619
503
654
559
543
519
514
586
616
571
619
579
627
669
644
682
588
589
519
570
644
609
519
544
607
520
591
567
565
617
643
681
596
661
666
620
621
655
642
697
588
677
551
629
595
674
641
623
517
543
679
573
590
619
682
545
547
653
585
681
684
653
645
528
598
570
659
537
519
681
633
661
666
519
500
621
529
636
617
697
501
590
681
648
583
504
577
700
603
661
537
621
542
588
638
544
547
657
671
660
661
519
580
685
537
647
651
607
580
646
682
519
641
634
506
515
609
525
584
564
611
666
509
578
652
579
616
630
570
553
571
600
534
634
539
677
649
661
533
603
546
514
693
684
531
681
563
584
542
538
634
555
647
524
580
519
550
693
574
538
690
700
697
676
605
644
583
624
660
533
573
611
519
618
656
500
611
592
627
575
674
657
520
602
517
533
563
650
567
509
671
655
650
608
573
572
606
674
580
584
617
651
697
520
510
569
685
511
597
565
526
693
511
677
581
638
594
559
593
618
686
514
653
694
549
662
651
523
513
634
524
619
562
646
640
630
522
675
683
595
691
660
550
605
504
570
500
672
578
535
529
556
573
691
586
613
603
535
565
516
663
562
535
578
556
650
567
557
614
629
582
538
533
606
554
541
689
646
647
603
512
577
570
613
592
653
690
554
514
538
663
562
697
569
515
682
592
692
675
656
653
693
570
696
676
511
683
588
658
667
621
666
578
510
532
673
643
639
572
685
530
689
557
593
647
538
622
650
666
509
667
636
664
503
614
528
545
586
641
643
652
600
694
664
674
536
652
618
535
685
584
623
602
508
698
671
552
521
646
585
645
514
566
531
568
622
519
519
535
628
688
587
526
514
699
689
597
692
590
573
685
663
664
518
629
543
519
679
671
599
612
698
692
515
647
576
559
663
595
574
532
627
625
700
686
557
625
677
651
698
515
551
695
550
700
610
654
664
548
622
660
535
580
631
530
594
698
622
528
613
647
543
516
673
610
598
649
537
556
651
546
516
637
572
560
558
686
540
654
531
648
657
556
689
616
695
678
646
556
570
573
677
676
584
513
532
555
569
525
583
559
595
640
632
621
538
510
697
551
650
674
650
672
530
586
626
671
628
556
564
536
644
658
618
513
544
503
635
512
521
533
508
526
523
663
695
502
585
516
500
523
575
602
685
643
608
663
697
523
682
580
547
660
517
500
620
604
682
533
527
647
687
664
652
511
628
533
645
679
630
648
584
565
628
547
662
553
649
512
641
583
631
670
542
691
503
574
700
574
508
546
683
525
639
698
670
518
614
568
538
606
551
532
562
657
630
551
540
542
524
648
629
659
506
538
567
675
575
670
536
552
667
659
628
569
607
566
663
690
522
615
665
671
672
524
654
541
672
559
612
577
637
662
523
682
500
613
666
675
659
532
653
627
693
550
632
656
564
563
698
593
692
543
658
564
611
673
539
663
537
567
667
529
679
576
678
652
543
617
646
516
564
664
668
604
541
556
506
586
552
653
517
505
596
608
696
639
699
645
614
582
649
584
603
653
690
601
603
580
563
646
597
632
579
529
692
644
563
676
521
662
541
572
544
654
584
562
561
660
606
558
536
521
671
518
539
545
660
602
618
665
506
652
684
507
500
554
649
660
593
573
582
610
622
591
669
544
640
696
573
588
634
606
627
538
539
630
571
571
627
540
584
553
544
572
637
582
582
563
695
693
631
504
511
688
521
557
686
651
589
634
683
570
582
600
666
589
657
556
640
515
620
504
654
590
591
613
504
603
674
653
504
644
697
682
665
670
672
501
668
698
534
695
594
546
656
656
524
659
656
551
534
652
649
616
511
559
608
635
555
523
569
669
563
537
514
614
631
516
587
629
682
594
687
667
653
567
515
541
666
688
518
506
512
638
534
641
585
502
619
532
696
521
549
565
621
638
578
536
520
689
599
573
640
563
571
648
602
539
569
520
519
560
587
523
555
672
646
613
587
531
662
675
581
696
534
609
650
547
651
565
599
626
600
627
552
631
527
690
501
567
643
664
673
698
512
626
533
636
620
563
535
577
650
638
500
543
529
671
572
512
534
594
593
631
594
547
507
650
692
576
534
682
652
644
541
655
550
626
618
593
636
667
653
623
522
695
501
510
631
521
635
559
631
558
502
667
657
529
509
689
520
685
657
606
503
659
657
572
644
670
595
523
676
593
690
624
654
503
682
621
676
501
609
632
572
699
635
656
652
507
688
602
591
696
641
673
549
587
630
541
555
593
621
613
645
522
536
570
697
645
530
541
600
696
530
667
641
542
589
546
607
577
563
523
700
634
666
616
655
511
579
508
585
515
597
532
674
614
599
576
543
665
636
553
645
592
518
618
559
677
664
530
647
537
594
682
681
546
600
564
541
590
542
509
582
674
571
518
670
500
664
519
668
513
636
528
666
540
687
563
618
545
520
626
586
562
575
539
583
528
578
521
534
638
647
682
507
611
610
547
672
570
590
551
578
540
636
563
690
540
683
623
630
690
665
614
673
686
558
564
610
527
565
531
623
651
669
508
672
654
654
657
536
685
624
610
607
533
680
696
684
584
666
648
516
557
688
637
504
674
637
613
564
542
583
645
598
549
594
596
532
528
639
612
635
684
649
511
516
620
623
551
614
579
564
673
668
559
519
601
537
550
604
700
561
505
556
561
686
509
620
576
675
592
553
622
581
568
657
528
533
502
520
673
566
572
526
596
694
641
696
700
562
664
658
533
600
513
624
677
664
617
517
644
536
578
559
543
569
581
603
505
546
666
514
656
505
660
542
664
688
500
588
573
532
616
698
582
645
529
576
606
676
653
669
675
673
570
597
596
593
509
543
515
596
663
679
542
555
639
518
691
695
585
648
610
559
567
609
658
570
544
557
608
671
507
678
676
622
641
562
606
670
634
682
650
564
673
628
517
663
502
668
577
684
563
510
518
652
563
695
583
615
556
585
642
652
625
604
605
650
654
655
561
561
603
521
544
514
694
566
644
671
631
599
669
567
639
508
541
580
690
539
623
548
608
693
571
595
523
562
591
502
657
560
602
529
507
522
542
576
646
564
521
598
607
680
608
644
592
562
659
533
688
616
651
596
642
537
548
520
602
553
835
963
800
817
899
867
852
853
833
921
922
831
909
951
846
980
972
899
862
855
993
808
844
976
881
869
979
899
991
914
808
831
899
884
959
926
808
881
953
981
908
986
905
893
848
969
934
900
873
895
884
847
958
926
921
814
921
846
979
889
915
834
964
978
855
859
889
866
813
935
902
903
939
932
921
814
814
913
904
950
866
856
948
970
943
983
859
912
986
873
964
891
926
992
947
844
897
966
837
972
925
819
930
886
924
887
970
855
948
921
895
847
981
879
810
817
860
850
853
911
878
897
964
973
957
893
896
844
848
995
1000
805
954
914
991
879
988
960
985
936
909
855
819
819
899
969
999
902
835
925
800
877
855
937
962
1000
849
914
844
854
819
903
997
870
945
918
988
803
818
956
840
951
814
828
885
911
828
992
975
906
857
826
896
814
982
967
974
804
912
834
981
886
942
973
930
940
808
860
848
974
895
975
810
935
930
822
859
938
911
978
948
813
858
843
985
986
977
812
834
868
803
881
825
998
959
804
911
917
945
800
909
805
810
928
940
879
899
950
958
841
895
982
813
878
883
978
939
883
890
916
912
970
821
927
889
917
893
970
865
900
823
858
840
818
846
940
963
857
892
804
980
968
908
804
842
873
829
935
996
845
868
857
834
994
912
839
940
870
925
838
906
885
938
935
895
909
901
862
836
993
842
957
819
917
995
967
994
975
938
816
809
972
801
945
845
816
839
937
860
819
891
974
900
825
931
917
942
985
956
983
824
938
847
890
863
905
840
898
827
929
849
952
824
997
968
916
912
940
873
951
956
843
800
999
834
980
847
863
811
856
800
837
995
954
956
874
874
898
972
820
896
960
956
889
861
999
848
957
871
809
986
832
903
891
870
980
831
910
889
982
842
947
849
823
813
988
972
986
810
815
943
901
883
896
976
822
918
819
944
973
880
925
818
928
858
827
817
883
823
821
814
988
935
910
811
963
804
811
850
920
977
991
992
808
965
848
974
979
937
880
914
840
841
990
808
843
895
844
838
901
859
959
885
850
900
908
855
969
910
801
951
992
909
821
942
874
981
804
949
888
990
995
914
804
999
958
833
926
860
915
935
892
883
983
853
924
971
857
927
958
909
933
888
925
898
916
811
959
818
876
922
822
928
931
958
805
949
902
963
837
956
823
920
996
896
812
953
911
860
881
909
971
844
816
939
994
997
869
927
835
903
860
889
955
843
931
927
856
969
901
937
948
883
875
989
821
825
941
923
918
979
927
940
986
954
950
995
845
904
906
896
970
818
1000
925
895
959
967
904
891
976
983
996
961
978
936
903
947
846
825
997
936
845
894
968
941
956
851
824
919
800
891
926
813
917
918
902
851
861
960
957
975
885
939
883
919
891
964
1000
893
998
892
961
869
813
924
867
903
847
872
980
955
897
804
860
952
913
845
912
951
879
932
893
876
910
907
854
836
971
845
959
917
998
816
885
989
893
801
842
836
901
886
810
950
887
991
952
910
821
920
949
955
999
982
812
803
856
906
963
963
991
847
994
975
873
826
980
876
977
869
835
926
978
905
925
891
819
872
964
916
977
832
894
925
869
929
840
859
964
854
843
977
868
969
813
954
917
973
907
848
920
853
833
1000
936
974
908
802
866
936
853
975
846
894
872
979
801
887
852
996
886
983
827
851
896
891
837
976
917
971
882
829
978
955
975
851
904
888
983
911
868
825
978
938
876
949
848
855
956
814
820
851
918
883
805
962
847
951
995
815
817
820
981
940
839
891
943
915
905
800
886
820
817
970
890
898
926
810
998
919
874
880
920
932
917
903
871
907
803
850
880
1000
897
988
875
989
868
816
831
894
894
990
984
818
823
963
907
872
942
894
873
915
845
963
847
925
915
921
860
824
957
838
831
958
932
862
886
833
846
838
833
880
894
919
946
878
871
976
859
959
971
964
936
919
870
819
991
856
832
822
976
874
980
835
869
814
973
839
960
897
974
859
945
840
893
916
866
898
995
824
974
938
954
937
995
897
861
882
980
831
975
858
854
955
969
925
815
880
805
967
856
947
812
969
861
985
946
884
945
994
861
864
886
991
967
900
800
941
838
822
923
821
832
998
869
952
811
936
913
879
987
818
873
830
849
955
824
956
987
937
957
962
967
900
923
965
839
979
998
877
957
951
983
830
918
917
827
859
927
852
832
836
996
832
825
825
895
826
967
802
988
963
890
810
982
864
934
807
924
822
841
902
886
978
832
853
907
834
846
835
970
802
923
888
924
882
854
996
947
895
954
814
939
966
871
959
871
910
828
897
935
938
959
930
925
964
955
877
905
925
885
837
972
829
803
911
882
803
952
816
905
817
878
852
819
840
847
941
807
881
969
891
996
948
887
827
803
976
922
965
984
840
999
978
985
997
953
823
831
958
912
845
887
909
899
883
839
810
825
948
911
940
870
969
855
939
848
857
833
890
915
979
884
801
844
872
919
961
932
902
897
955
942
972
845
855
878
861
872
911
903
862
932
969
996
846
858
985
853
807
895
997
878
896
834
947
915
854
882
999
810
822
1000
906
959
956
899
847
928
820
961
982
808
833
906
992
870
983
986
867
943
881
815
947
905
857
801
808
827
929
956
986
923
919
915
989
839
901
801
873
884
800
866
907
944
994
863
808
941
960
952
865
909
823
987
862
824
909
891
939
985
897
935
985
830
859
809
946
908
915
877
973
952
894
831
812
919
915
995
800
942
855
823
890
851
902
876
980
801
928
882
965
884
967
896
837
859
896
849
941
831
898
802
851
885
976
894
810
803
914
934
956
969
982
835
946
810
885
979
854
997
895
875
848
969
938
929
861
902
985
836
847
888
877
993
965
920
1000
816
848
914
940
946
907
803
978
942
983
998
864
908
810
942
992
809
869
861
918
851
855
839
966
920
901
813
969
841
901
903
883
959
864
865
912
924
948
995
961
955
970
941
928
877
940
868
850
846
963
938
917
883
959
822
880
925
931
957
828
817
892
927
802
870
889
816
836
896
849
847
983
965
972
929
935
823
898
911
884
830
888
946
873
858
865
985
940
976
899
867
983
858
866
902
831
927
954
876
934
995
871
812
897
967
938
923
927
924
809
852
859
805
893
858
903
941
946
802
828
867
881
842
858
871
989
990
886
939
901
846
838
983
961
934
928
899
892
819
851
997
857
999
898
966
859
966
935
930
823
948
913
888
997
901
826
886
834
972
919
895
945
983
954
988
998
845
855
990
896
931
969
1000
935
952
836
961
803
908
869
871
803
885
888
1000
927
833
905
815
800
931
862
986
889
998
940
800
985
884
893
932
952
954
971
816
942
904
800
884
850
902
824
905
918
948
822
850
896
954
827
859
809
867
828
913
840
817
850
880
926
994
892
849
835
825
837
984
930
983
841
914
809
944
947
826
857
932
991
910
977
997
807
873
940
977
800
874
831
993
851
869
952
896
985
845
914
807
945
806
945
817
987
941
885
869
968
872
985
902
917
988
863
911
986
932
953
964
886
882
991
907
897
865
838
957
847
850
951
950
968
876
878
857
800
949
981
935
974
975
976
819
992
858
974
994
914
803
801
867
861
965
924
992
925
859
917
866
859
989
888
800
941
957
903
857
819
826
834
953
972
849
840
884
951
989
961
879
821
816
929
972
975
849
830
838
869
878
825
964
837
905
867
881
852
939
977
973
935
939
810
906
818
834
931
947
938
959
908
813
869
993
948
929
947
823
945
966
988
886
860
828
954
909
934
809
996
962
972
968
855
927
861
858
987
878
820
987
973
940
988
883
884
974
868
818
820
830
910
838
907
849
862
814
981
874
974
900
816
992
833
826
866
967
999
847
910
823
874
907
899
872
994
877
994
855
998
811
916
944
972
984
938
808
902
851
880
907
882
894
860
930
806
889
818
904
838
979
808
882
936
950
995
833
844
863
971
974
944
834
983
931
957
817
897
861
856
837
963
823
973
876
858
871
938
881
917
954
847
887
935
974
866
921
858
819
809
938
843
947
986
831
906
982
870
810
909
952
978
801
987
891
811
879
975
846
859
875
888
926
820
869
913
935
938
898
909
870
952
994
961
917
905
915
910
840
935
971
861
923
855
957
934
835
892
808
892
859
834
945
839
805
961
919
891
806
881
984
815
895
899
960
971
846
828
835
820
949
889
915
838
930
825
918
874
954
841
913
898
909
839
990
856
971
932
888
989
889
947
898
829
997
930
961
811
867
880
979
963
834
929
800
810
903
915
920
854
896
807
930
916
866
963
920
944
862
971
801
857
921
810
820
908
853
885
899
904
989
955
975
831
974
868
900
853
940
839
896
980
806
838
973
995
868
983
850
842
988
970
997
989
927
947
867
936
987
898
903
868
896
936
952
889
991
881
841
864
879
984
847
913
980
981
983
931
831
813
807
901
926
817
866
828
943
843
964
886
902
949
903
885
972
1000
836
988
977
865
932
870
865
984
889
924
979
932
942
950
879
936
946
819
972
863
823
895
810
836
958
835
948
933
815
882
844
902
857
821
913
945
853
976
893
945
981
851
859
956
992
829
884
940
928
948
831
938
983
856
889
892
880
808
911
915
865
821
919
910
842
945
847
885
842
902
991
913
822
966
824
948
851
877
926
804
861
956
851
850
843
946
904
999
890
988
829
836
861
848
987
911
970
933
928
853
931
823
830
925
855
951
918
871
863
996
967
988
852
858
950
831
850
907
944
802
921
844
981
808
955
854
907
966
862
848
845
832
939
833
882
867
812
975
953
842
873
857
995
909
966
966
988
816
911
917
956
924
960
938
953
869
907
947
873
995
831
803
830
844
965
918
898
915
980
939
932
833
941
865
823
985
999
881
835
819
884
882
841
952
929
991
976
865
942
981
904
803
930
934
859
816
878
904
928
872
957
913
955
869
989
874
921
959
814
929
834
943
820
879
992
912
900
919
999
949
856
953
968
895
832
905
806
905
922
865
876
850
878
949
911
853
823
899
944
891
937
883
900
934
881
902
925
881
860
954
920
808
954
848
974
866
886
993
975
875
851
955
838
947
884
979
910
936
907
876
994
985
959
917
818
871
811
910
971
815
961
808
861
905
906
910
810
844
948
941
854
821
842
996
926
856
947
947
904
847
944
973
932
869
908
811
942
806
934
893
902
975
869
839
851
892
977
854
939
957
973
892
814
859
935
942
869
886
811
867
890
990
911
890
872
934
827
882
870
878
901
867
908
862
848
803
804
951
965
961
837
846
899
953
878
896
891
956
813
956
822
873
912
841
868
921
873
806
961
813
887
930
968
952
924
862
849
957
947
899
881
859
856
906
840
918
978
880
846
805
843
948
975
989
936
809
852
851
815
882
960
812
978
961
871
928
950
987
874
805
998
867
826
993
963
877
963
943
991
978
822
815
994
841
808
991
975
955
1000
905
975
857
990
970
1000
922
833
813
822
875
900
838
950
905
806
919
858
852
875
920
806
871
926
906
894
952
962
950
942
910
812
1000
878
903
959
894
846
992
970
989
876
963
927
820
947
896
961
849
977
899
804
951
929
900
816
826
855
901
976
801
854
826
894
882
812
897
997
844
898
859
969
828
961
825
940
816
868
859
959
819
857
938
983
926
801
805
864
973
922
843
811
853
904
958
982
981
911
800
955
844
876
977
976
830
950
967
943
970
851
802
921
948
953
986
969
948
928
834
865
907
836
971
911
821
944
971
846
942
994
835
909
841
834
873
912
963
997
882
897
968
981
919
915
981
855
811
834
916
858
884
805
811
907
822
876
850
882
802
894
919
934
808
931
947
896
885
876
945
940
841
899
961
812
938
857
916
815
803
983
896
818
960
980
885
940
985
888
868
887
834
931
910
982
893
812
876
990
902
943
953
955
977
1000
866
807
906
953
973
873
947
930
810
964
880
958
830
885
930
997
866
818
970
879
842
961
947
911
809
815
981
802
967
852
973
916
825
813
933
841
935
981
866
923
812
822
936
958
993
875
801
949
816
902
974
859
854
927
895
995
913
879
814
874
874
821
912
837
949
993
917
877
890
892
977
918
972
805
802
916
872
997
997
888
925
880
817
973
879
945
945
861
926
937
830
834
981
824
883
821
865
956
984
864
898
843
897
996
905
871
899
863
894
849
881
894
907
823
837
949
814
975
870
903
857
871
888
807
923
988
934
834
1000
846
801
825
895
900
882
984
913
894
813
898
861
934
962
990
805
800
948
944
910
934
974
901
854
877
859
815
933
831
988
828
967
815
915
883
986
992
800
974
862
836
912
818
804
981
935
841
878
862
866
905
981
917
818
812
870
868
803
806
963
965
915
826
988
808
803
868
867
863
949
942
824
842
968
894
967
908
995
877
939
894
893
932
939
837
842
884
910
807
931
977
855
956
857
825
820
847
953
890
892
874
950
908
960
965
880
906
838
970
975
993
850
969
806
961
903
976
937
811
832
849
853
829
929
914
957
865
972
962
860
837
917
849
888
904
810
820
906
924
922
981
936
833
884
827
907
893
923
807
858
880
917
855
882
826
854
967
999
926
910
820
949
990
828
886
937
936
932
834
932
843
807
986
894
861
880
859
881
840
893
931
809
892
939
827
858
974
898
979
847
973
820
818
917
908
867
866
864
995
841
906
915
867
863
851
947
942
911
806
864
920
964
878
948
930
821
810
876
903
961
869
949
939
908
852
837
990
976
862
936
916
950
817
858
803
893
959
839
821
821
916
925
921
905
924
812
910
835
814
849
985
973
935
883
961
989
864
956
998
940
915
840
990
812
810
953
893
920
862
874
928
843
873
837
910
913
876
938
910
874
805
811
889
844
805
926
991
937
962
883
804
858
888
974
816
865
861
965
813
920
898
911
807
805
882
938
866
918
819
976
903
934
808
964
976
873
909
808
918
811
815
983
819
856
956
883
914
973
915
979
861
885
815
823
828
967
918
867
856
991
984
807
904
967
948
801
885
992
827
896
817
945
830
959
919
876
916
973
921
869
827
941
907
999
957
972
986
828
885
941
925
939
824
964
873
833
830
848
858
893
800
908
854
958
990
831
914
807
933
828
951
959
862
906
883
878
801
851
960
948
848
962
897
966
870
840
892
988
974
809
803
987
827
906
817
938
881
823
921
952
905
843
994
957
842
935
992
831
969
859
933
902
813
904
880
859
881
813
933
853
833
833
843
924
917
873
910
997
987
976
823
977
815
968
866
996
815
853
895
836
836
865
808
870
982
948
878
848
936
952
855
886
860
999
815
868
932
970
866
882
965
973
835
891
860
904
809
812
914
847
929
926
800
976
831
867
808
829
970
835
863
987
857
829
921
805
994
931
881
920
927
829
887
806
948
829
1000
936
990
911
835
928
945
908
871
836
927
829
886
991
878
997
815
869
836
849
996
895
867
994
809
927
993
861
917
943
885
947
895
997
993
800
812
883
977
876
803
830
822
921
870
901
871
967
934
837
811
873
928
863
896
852
837
926
932
928
953
974
997
968
970
969
919
907
860
899
839
816
956
925
1000
834
895
822
947
882
997
878
964
996
869
814
959
906
990
807
871
850
911
882
950
960
800
829
926
971
805
966
894
801
843
946
826
806
974
897
894
855
874
888
874
997
914
862
895
803
931
880
884
995
806
985
915
846
932
872
974
901
800
802
904
929
814
919
865
885
982
934
901
921
901
884
942
874
824
951
828
985
841
960
920
904
895
936
898
952
828
978
811
931
915
870
805
952
877
928
869
963
995
911
831
806
867
968
890
892
816
992
988
996
844
891
879
921
805
919
867
943
946
905
972
973
854
1000
962
895
991
888
800
802
941
932
995
868
923
831
905
885
814
871
808
884
974
996
922
802
875
839
928
884
838
840
853
874
978
809
887
924
909
998
882
890
959
841
837
962
999
919
971
983
875
854
830
921
848
809
928
878
841
959
884
804
985
914
863
927
922
993
962
841
899
943
876
973
987
854
886
871
941
836
925
899
832
833
885
805
886
890
946
912
969
979
916
977
905
918
897
923
980
839
852
940
946
837
850
976
939
837
900
980
815
909
867
878
957
858
963
994
816
866
933
848
946
923
822
848
942
849
878
919
894
921
933
832
892
915
962
805
868
902
981
939
979
837
839
910
842
962
931
967
840
802
990
860
915
859
839
996
836
1000
885
838
842
825
960
987
817
850
985
931
825
911
991
989
903
808
852
801
951
976
883
910
945
917
838
887
912
873
833
925
813
926
888
942
947
896
944
993
838
842
954
803
990
880
979
871
990
999
942
825
937
881
987
895
946
903
835
871
905
939
951
896
813
811
973
984
824
869
830
874
915
822
952
897
805
960
917
845
819
933
965
915
979
809
854
965
899
856
888
935
977
977
954
946
937
808
876
928
903
870
875
893
814
971
912
998
993
801
939
952
898
937
828
891
894
818
871
974
844
864
856
911
917
823
967
880
829
978
807
961
889
852
927
847
837
862
967
905
854
805
895
863
993
845
963
928
906
928
851
935
804
937
846
952
811
830
897
822
838
801
876
858
898
853
907
1000
804
870
808
938
811
908
953
853
804
851
917
914
901
818
938
809
876
915
952
953
974
926
925
821
901
999
967
850
932
987
947
966
950
894
1000
953
890
943
926
841
837
917
902
945
980
855
938
821
819
806
882
854
938
906
915
922
956
958
964
839
921
800
867
927
924
856
990
806
927
847
833
956
903
970
966
906
947
814
906
801
895
959
934
1000
846
837
897
945
839
983
819
917
820
880
823
896
908
863
889
845
837
894
844
924
823
810
858
996
813
832
899
860
952
857
963
926
839
946
819
826
957
945
926
888
858
858
939
818
890
884
998
983
843
865
862
828
963
911
920
883
916
818
948
839
851
803
831
865
990
808
869
923
832
951
935
832
847
819
950
968
841
957
881
898
914
894
873
801
864
919
877
964
804
932
985
890
852
934
968
875
949
933
817
815
936
976
824
936
1000
872
891
878
867
995
913
830
973
964
905
919
866
803
854
936
803
922
891
943
883
850
851
978
876
945
830
888
942
845
966
802
945
805
801
832
902
885
963
894
964
815
941
893
967
813
983
838
991
940
864
933
964
957
903
827
942
910
806
801
810
801
887
937
964
913
958
817
873
829
898
836
884
964
837
912
821
818
993
853
840
857
983
833
926
899
909
940
950
966
827
998
908
954
989
811
814
859
984
849
921
828
926
967
869
874
863
877
941
965
992
819
891
954
855
939
981
809
892
904
844
929
887
937
839
819
953
946
881
957
839
866
886
859
862
928
961
991
828
843
922
919
880
914
829
822
816
955
830
914
920
847
886
926
830
973
876
1000
958
930
964
989
883
826
987
895
879
838
912
837
839
945
926
918
951
840
842
984
800
893
832
984
815
836
953
943
828
920
897
891
833
954
990
837
914
944
832
970
935
832
829
962
894
835
834
916
823
890
943
972
969
965
998
956
847
983
922
896
807
992
974
938
872
881
914
814
837
967
923
985
881
866
805
1000
905
858
922
882
876
904
908
926
863
887
911
943
974
981
916
877
962
985
966
868
835
987
895
999
961
896
823
862
852
868
888
842
959
885
885
993
892
812
941
912
805
882
918
920
921
855
992
811
923
896
862
918
905
975
961
864
863
896
941
981
883
912
936
917
854
828
846
983
866
977
997
841
886
847
882
993
807
842
882
852
919
928
836
942
943
922
892
976
945
844
911
870
807
834
862
967
931
873
818
835
877
901
887
819
841
855
979
843
810
969
883
928
982
868
890
911
941
948
804
973
849
880
897
985
886
817
918
805
919
995
836
929
966
850
942
850
864
833
839
966
978
925
851
826
846
971
970
946
972
908
896
971
968
988
950
831
861
923
959
813
988
879
811
981
875
948
997
862
818
929
837
970
921
939
943
891
901
957
966
943
887
871
940
848
811
875
967
982
803
991
857
905
911
884
832
839
853
812
896
890
873
841
884
823
868
932
953
994
826
817
931
874
922
857
844
855
874
837
929
882
968
885
993
899
880
912
959
876
969
881
975
887
846
943
800
877
942
935
810
974
937
881
891
945
984
921
909
904
858
875
927
804
950
858
987
800
984
863
956
881
981
829
838
933
968
824
862
812
941
883
921
953
911
937
821
962
956
891
1000
881
832
890
965
949
858
915
921
986
940
955
812
1000
931
970
887
924
952
924
816
924
859
923
904
816
924
829
858
917
885
906
866
845
921
933
957
971
825
983
801
807
945
869
812
976
833
996
838
816
839
826
865
938
854
945
843
927
969
899
884
880
881
804
978
946
813
934
1000
974
943
947
943
894
911
968
986
842
889
909
880
945
845
904
833
949
991
979
871
840
981
992
903
853
952
963
907
823
1000
835
942
823
879
984
967
874
991
991
854
811
949
992
990
891
833
973
994
852
902
820
868
863
946
978
971
940
899
890
926
984
893
903
821
879
924
809
909
838
830
808
971
909
849
907
821
839
993
994
922
941
867
912
852
914
921
932
833
974
853
913
905
804
812
946
854
940
971
930
836
939
852
822
849
971
949
904
857
922
988
933
828
848
906
908
873
974
833
968
964
960
965
926
923
911
862
804
892
964
866
950
942
915
983
810
975
922
835
890
894
855
912
972
800
913
840
900
908
887
838
891
904
878
835
829
971
944
866
809
930
802
804
891
879
857
847
872
873
872
834
964
976
963
821
931
876
926
825
867
900
958
859
858
967
1000
909
827
935
835
951
900
935
852
886
813
878
907
911
875
954
997
839
866
816
996
967
834
935
903
996
838
806
838
891
996
821
909
999
820
960
931
835
916
971
830
821
950
868
835
999
939
956
824
943
989
923
984
850
888
962
905
829
943
895
924
928
977
910
851
926
956
941
926
963
803
945
856
851
989
910
906
943
981
924
822
936
803
808
833
938
858
940
817
982
900
880
982
907
822
943
872
841
921
856
939
852
883
852
972
956
878
993
929
971
845
991
985
915
947
1000
866
849
908
898
874
979
814
873
883
883
938
813
944
966
996
916
952
826
844
896
953
839
968
949
988
875
896
877
910
956
973
887
987
894
979
954
955
895
959
978
985
853
938
954
876
809
998
860
892
866
844
897
966
849
980
970
907
860
940
911
893
983
972
974
809
891
888
906
824
874
998
932
997
981
908
809
965
902
940
923
977
951
836
830
820
816
864
999
955
829
963
859
851
975
998
859
954
984
823
918
935
991
923
953
807
808
944
898
880
817
972
891
946
908
801
960
958
888
986
822
872
950
805
826
912
907
856
932
850
888
841
956
823
860
911
987
671
536
640
687
698
593
579
618
607
513
539
694
623
545
540
545
508
639
618
539
619
620
587
668
537
518
619
585
688
642
545
643
655
532
676
608
624
596
553
525
568
647
520
586
689
625
678
650
583
587
520
573
539
690
505
595
603
619
567
576
605
505
515
647
696
540
501
665
694
580
672
521
656
630
572
673
669
630
581
697
624
553
500
501
571
632
562
605
628
597
697
549
656
605
587
676
584
659
647
671
579
600
615
578
692
686
502
522
510
545
563
585
640
528
613
699
540
572
695
562
618
668
518
619
574
606
667
560
551
659
513
640
506
525
644
644
551
666
602
604
600
693
615
625
537
672
630
649
502
611
593
666
653
626
516
554
648
524
660
504
563
577
559
505
568
697
694
644
632
680
686
581
567
604
680
604
583
514
533
527
611
537
665
639
665
524
628
613
634
618
678
572
603
619
544
656
638
535
542
549
601
655
603
514
621
588
693
521
654
631
678
681
605
527
605
653
620
546
596
587
606
516
627
577
556
529
574
522
688
700
667
578
518
603
649
590
562
672
678
536
615
641
508
603
689
583
601
599
526
544
539
605
606
695
609
570
629
661
651
543
699
500
625
571
689
514
543
513
581
630
663
505
589
578
660
611
548
557
599
584
598
521
603
636
676
700
518
578
675
614
670
621
570
656
629
648
686
656
511
521
630
692
651
504
596
635
657
627
553
570
683
639
538
627
670
552
541
510
589
620
659
579
581
611
589
610
684
585
661
646
685
559
524
687
615
639
591
629
692
548
591
660
633
644
583
700
608
598
634
608
588
645
622
598
642
607
627
689
525
681
515
542
697
585
538
612
589
572
673
642
557
576
596
630
501
666
613
666
525
659
603
514
518
698
537
574
636
650
656
521
525
638
673
544
554
580
603
642
693
610
531
583
657
692
653
621
652
565
675
694
508
593
676
612
667
687
514
656
580
637
599
501
640
682
694
665
552
540
613
566
597
700
577
674
667
578
652
589
668
609
571
550
526
667
558
572
646
648
697
666
601
655
592
555
624
600
605
520
618
619
696
561
568
575
554
655
582
644
509
654
541
664
513
563
659
642
572
657
649
612
557
610
699
665
628
501
698
615
573
678
688
661
665
586
569
627
631
621
609
600
597
601
611
585
638
638
595
624
646
592
645
648
638
673
531
555
616
584
674
626
580
635
524
528
653
576
524
513
586
568
688
528
688
563
640
592
686
572
561
612
632
658
626
682
686
647
583
553
630
526
632
590
657
549
666
620
680
654
539
601
611
577
674
555
602
544
545
584
650
536
505
504
538
650
612
631
531
601
556
553
557
559
513
570
656
699
658
587
588
631
653
693
513
659
537
574
581
627
612
547
684
696
676
618
627
512
590
613
670
530
697
598
545
588
558
517
641
594
671
535
578
586
526
530
635
628
678
515
603
630
507
657
677
697
547
644
529
534
573
628
675
696
643
585
550
571
561
577
516
528
654
627
597
687
619
700
569
595
506
514
677
536
636
551
687
648
541
588
686
625
644
551
625
641
605
667
581
683
621
676
566
516
572
623
584
623
507
543
552
543
589
537
684
527
543
677
500
569
551
636
684
649
504
517
611
657
623
686
595
546
660
628
538
625
528
569
575
545
632
636
637
506
663
542
643
643
554
535
594
623
602
648
644
539
681
601
648
668
654
697
637
604
638
586
537
656
668
622
501
673
644
563
603
646
510
505
571
541
618
558
618
676
575
694
538
578
615
542
622
616
684
673
684
646
585
598
562
603
619
626
609
681
579
668
604
576
509
534
526
582
583
641
635
541
606
605
560
541
571
675
549
518
571
606
630
680
574
508
503
514
573
523
661
632
625
644
534
683
685
586
589
515
683
637
540
541
505
623
680
572
537
688
565
575
668
686
683
521
569
629
530
590
588
666
521
631
525
598
546
698
590
684
673
545
542
632
574
514
507
661
693
566
669
649
564
692
670
622
638
561
513
641
546
676
537
615
620
662
572
567
634
611
698
585
533
690
656
562
519
584
674
560
622
583
694
563
540
560
540
646
629
601
635
516
530
539
638
688
538
662
577
693
612
542
606
695
547
524
686
571
594
522
692
520
691
571
614
533
512
658
621
663
500
580
651
635
692
552
613
691
689
674
602
658
620
648
510
683
547
620
618
608
678
528
676
564
610
521
556
512
658
537
662
521
646
514
689
604
564
597
690
558
510
683
599
627
568
688
597
696
523
611
656
661
682
699
503
676
642
576
520
508
528
555
688
692
587
569
696
578
619
686
538
618
505
682
513
653
503
631
690
623
523
513
563
638
655
568
513
681
671
626
587
575
524
634
533
610
559
653
531
693
512
695
628
516
648
679
654
583
571
614
631
657
585
616
695
634
531
684
639
596
596
607
559
515
553
501
620
626
529
692
688
632
548
566
691
623
680
619
671
639
601
594
508
560
604
527
524
637
515
605
545
667
591
688
679
612
640
635
543
629
637
524
635
516
529
636
699
587
674
510
500
579
533
657
565
624
690
544
567
676
558
536
558
632
684
658
611
671
685
664
661
662
606
583
620
533
527
509
542
582
547
611
565
654
619
505
659
682
504
525
647
609
569
536
548
622
646
548
614
646
556
633
685
675
534
584
517
624
534
670
679
500
683
567
551
637
566
624
507
568
543
536
651
597
575
559
700
683
661
616
577
527
546
687
673
613
502
563
588
566
638
646
632
530
694
615
527
543
599
510
625
531
696
700
588
679
504
518
642
539
597
600
534
611
551
692
531
692
556
568
546
675
676
651
655
538
616
688
550
633
528
629
650
541
540
620
684
569
580
589
562
575
510
595
610
620
515
546
665
609
522
597
583
684
513
579
501
684
578
624
658
690
622
699
566
500
543
607
670
514
631
530
630
563
602
653
574
521
509
574
579
646
529
694
696
603
504
683
560
684
649
695
502
649
538
634
611
549
614
679
674
575
660
595
552
554
657
688
648
548
610
502
691
555
521
683
515
503
569
598
592
616
627
628
570
643
523
628
674
629
523
664
596
658
690
508
547
616
534
517
605
647
570
631
643
528
584
623
664
685
611
510
686
627
539
591
580
642
700
599
640
635
696
629
531
525
605
642
639
688
543
517
572
594
595
524
610
562
547
641
686
660
544
659
508
561
695
590
642
672
633
508
523
624
687
657
689
616
626
642
675
679
567
695
539
647
592
656
527
501
609
586
666
627
669
585
587
655
541
512
574
622
539
607
635
523
599
607
598
529
533
517
519
684
523
575
511
588
548
519
654
577
540
571
679
516
502
523
682
661
677
538
686
677
613
653
503
584
539
563
623
673
617
677
513
644
621
679
609
679
617
546
552
674
654
623
620
612
654
631
623
626
574
551
574
696
604
643
574
534
550
525
651
634
581
569
609
571
659
592
577
543
637
684
512
589
553
624
566
651
558
614
563
595
543
564
527
509
563
536
504
539
541
585
692
503
571
586
524
521
618
528
689
611
661
635
638
576
505
624
567
556
659
636
687
681
668
540
651
571
630
681
655
600
593
539
563
576
554
606
626
535
591
645
647
500
660
557
626
633
582
678
572
640
646
581
670
655
579
689
545
665
545
624
612
608
611
648
670
557
582
605
677
667
660
542
546
597
554
574
611
509
677
654
583
586
537
545
566
550
653
696
655
625
610
595
554
549
601
622
630
593
543
661
557
632
613
568
619
686
649
546
598
524
652
583
647
615
672
631
588
593
591
587
626
520
558
657
669
506
646
608
644
503
604
571
512
658
555
655
649
617
559
545
669
546
648
667
618
518
546
522
507
535
528
574
528
533
686
528
591
657
503
554
654
648
697
514
670
592
511
519
672
683
688
605
565
536
525
522
664
680
611
514
656
629
626
678
584
661
586
646
603
579
655
674
557
535
632
531
572
554
519
537
532
527
537
563
505
550
577
699
641
561
660
672
544
643
685
694
675
563
647
518
609
648
524
582
547
669
515
537
596
612
569
526
543
664
584
634
627
656
616
624
616
534
579
586
588
570
601
676
538
587
552
589
613
639
551
542
617
539
644
616
579
647
581
566
686
578
582
516
501
609
680
669
650
520
592
674
589
687
589
517
700
576
543
591
572
624
582
578
690
597
700
588
579
587
680
523
569
538
669
539
543
593
671
546
635
672
662
667
681
541
647
503
551
563
590
646
511
521
563
645
660
628
667
614
596
588
505
604
541
690
669
594
576
675
658
634
543
624
635
635
533
553
637
651
553
650
661
570
561
593
554
670
659
553
664
524
678
672
625
672
687
507
641
547
647
607
509
671
519
626
653
671
667
684
663
673
539
663
570
569
544
695
597
604
635
535
638
624
532
573
577
539
539
586
615
597
552
569
547
575
501
503
651
692
671
575
611
541
696
654
608
640
651
567
601
683
511
659
517
685
583
692
514
526
590
636
689
548
607
640
527
605
672
641
516
652
590
608
586
513
537
675
550
558
508
691
527
508
647
668
644
506
572
642
593
592
642
607
599
648
581
506
533
674
639
545
693
537
668
522
559
657
516
693
514
678
584
522
504
591
587
574
548
619
507
624
690
577
516
586
665
581
518
518
613
557
554
545
545
555
691
517
518
689
524
583
628
667
692
648
635
699
512
678
613
503
663
534
628
682
668
612
547
571
533
618
618
568
556
700
568
609
560
501
577
516
573
664
599
698
518
569
523
633
671
603
628
546
620
642
635
543
529
562
579
651
592
517
630
562
500
602
600
681
551
636
676
595
522
602
658
631
569
657
617
506
524
647
626
574
563
667
699
554
537
514
527
581
554
651
607
513
667
599
584
530
554
517
659
580
587
621
638
503
576
685
600
691
514
650
522
664
561
565
658
684
521
570
652
694
568
681
552
526
548
700
593
514
655
658
687
649
694
673
686
505
517
530
657
571
540
622
530
534
610
517
550
678
530
616
512
583
672
670
508
608
528
697
688
523
644
504
663
516
556
608
657
511
666
612
640
628
624
698
574
621
556
628
581
574
677
636
625
514
586
611
524
636
527
628
547
522
613
604
565
572
662
624
592
558
586
682
504
561
569
683
683
668
688
672
606
543
505
663
551
541
578
576
542
680
642
610
682
531
638
560
529
562
624
548
529
571
664
567
550
547
563
546
635
513
649
658
690
539
648
689
648
631
664
567
521
521
610
550
614
697
544
637
640
641
540
600
597
536
536
511
673
500
630
549
583
693
523
536
520
584
532
556
550
653
569
591
614
634
557
636
597
503
603
548
572
613
571
700
590
621
652
511
587
601
613
561
523
679
546
621
500
604
695
559
661
630
696
530
585
594
629
650
600
581
675
699
646
552
624
643
530
640
586
611
594
678
620
623
544
644
682
559
651
505
588
631
572
540
542
645
646
570
698
616
529
545
566
512
526
512
609
575
560
581
677
635
525
621
545
538
584
509
676
518
635
551
639
585
602
543
515
570
561
585
607
575
664
642
698
604
532
552
543
540
513
657
574
680
587
693
546
624
552
668
629
514
645
575
561
595
699
652
668
537
531
503
543
527
584
571
680
602
658
616
690
519
531
680
513
651
627
560
510
627
667
533
600
660
614
596
669
531
522
678
559
693
552
552
593
566
563
514
595
597
630
521
532
542
699
512
536
650
595
638
518
602
504
629
562
554
686
678
678
631
696
675
507
649
538
504
574
626
594
637
550
559
692
504
535
652
572
531
651
608
636
595
541
667
565
596
557
642
659
524
625
626
667
509
554
679
636
551
565
572
683
503
523
570
527
526
605
529
683
580
536
577
674
576
502
503
503
633
694
615
696
635
576
659
503
567
614
531
588
594
687
556
635
565
634
572
547
675
517
523
684
676
631
560
624
538
608
593
669
516
695
534
502
537
685
502
656
548
610
555
596
514
600
653
502
653
561
597
623
637
652
700
518
608
619
697
552
693
695
602
566
549
648
541
615
530
659
666
682
594
573
641
535
564
556
626
519
600
583
690
586
674
604
682
632
540
552
548
557
522
700
593
626
694
585
540
671
613
564
509
700
552
632
563
610
644
649
622
651
520
616
528
571
650
589
621
603
605
619
683
602
550
646
695
543
668
533
624
680
607
696
693
666
679
675
600
669
694
528
537
689
562
668
541
675
619
577
653
578
601
593
550
520
634
503
688
522
642
690
511
523
632
530
582
558
616
640
649
606
570
623
570
600
521
699
651
606
677
579
638
615
585
638
579
619
662
508
506
650
544
562
543
670
667
546
588
646
571
587
616
521
541
511
588
627
676
700
682
659
507
652
683
583
617
535
539
656
622
564
561
667
617
692
626
501
561
629
522
517
664
598
510
675
618
555
591
640
533
561
649
620
549
559
548
676
638
625
540
517
577
595
662
516
578
637
635
618
639
539
622
693
622
597
506
590
697
588
628
585
650
578
592
651
607
609
542
569
671
511
651
665
610
640
521
597
680
691
679
647
601
672
699
687
557
666
510
655
641
658
620
552
609
538
649
657
681
682
538
613
593
634
634
536
575
541
613
691
538
556
558
581
512
622
610
613
675
664
698
576
534
532
631
566
677
642
687
628
544
648
694
696
627
658
622
517
574
575
603
691
698
510
640
678
650
543
700
544
621
602
502
521
661
503
641
508
609
511
653
618
691
521
580
549
664
677
551
663
679
587
535
561
563
522
532
623
624
665
607
652
666
577
528
577
551
500
581
621
694
682
596
696
669
697
622
542
597
633
684
535
687
596
599
643
628
614
618
576
673
604
506
508
519
541
665
638
676
515
552
522
590
679
553
530
648
537
545
691
592
601
540
507
521
626
636
540
563
570
688
511
567
681
556
669
590
695
518
553
541
623
569
666
503
575
654
658
518
632
679
617
569
646
523
673
564
550
545
606
653
592
539
597
542
677
628
563
661
518
603
523
580
620
540
563
609
542
548
524
568
609
576
632
564
679
596
608
533
606
569
658
591
503
622
676
652
659
553
570
576
671
649
694
655
613
605
597
560
622
596
610
553
517
684
510
605
603
653
671
539
526
523
590
629
549
592
625
632
630
542
550
695
572
610
637
695
662
575
543
592
601
628
532
632
621
576
581
527
500
556
577
640
597
569
520
525
696
524
627
695
660
575
559
583
514
604
556
554
640
632
637
617
651
625
632
553
652
644
676
540
557
545
521
630
625
570
529
503
569
678
659
531
531
508
672
696
551
539
560
657
532
614
553
660
668
565
588
657
574
650
585
587
638
624
628
518
578
546
683
613
504
563
697
650
623
667
639
592
656
630
563
545
613
572
523
585
534
687
505
622
676
633
617
507
683
626
642
540
598
657
503
540
576
628
596
615
609
686
603
586
581
546
609
684
657
664
620
670
532
524
649
537
547
526
626
595
620
643
604
670
523
690
675
529
693
530
627
622
686
696
693
580
517
603
663
609
628
664
676
558
669
558
634
610
551
584
584
559
547
540
513
655
544
673
685
502
621
637
689
530
680
513
678
688
554
634
643
533
503
662
523
672
606
533
574
600
578
521
577
671
619
636
525
505
562
641
657
590
623
605
682
578
516
564
560
592
605
504
601
502
525
627
567
646
513
699
681
646
641
698
692
621
561
565
583
608
679
528
530
558
675
698
606
599
586
513
620
530
519
614
601
542
642
665
526
522
561
512
569
662
557
580
522
516
645
658
642
641
697
518
618
695
500
624
618
581
510
536
693
531
513
523
605
675
564
683
662
570
594
614
520
681
612
551
536
686
529
651
523
614
699
566
556
694
585
612
665
673
553
692
656
518
644
687
691
665
625
554
668
563
544
570
541
511
627
627
587
511
514
663
609
608
633
672
651
508
544
517
671
628
595
579
554
664
689
653
586
638
500
540
508
629
572
681
646
649
692
637
593
639
569
611
665
601
579
537
555
636
543
553
513
507
592
561
572
518
632
671
689
629
528
504
613
513
600
663
567
595
555
619
579
555
668
580
563
524
674
627
688
679
555
659
644
659
650
612
700
532
602
615
693
605
592
592
560
666
670
638
699
534
542
652
510
689
593
537
677
620
616
541
541
593
671
545
593
553
685
627
598
504
560
660
660
509
603
603
528
576
600
660
520
669
511
678
652
684
558
503
570
578
626
613
586
551
608
523
577
566
644
571
656
681
646
637
540
541
550
522
638
604
561
534
700
555
649
651
572
602
645
565
572
609
541
569
600
503
660
507
643
648
670
679
697
666
622
629
690
554
640
700
604
597
648
581
622
511
506
673
515
590
652
546
534
674
616
542
547
649
551
560
609
536
624
690
571
596
630
699
692
628
664
684
525
598
579
545
604
560
664
515
623
520
564
564
624
670
648
624
700
600
529
655
687
528
645
649
613
676
687
562
569
629
650
606
599
550
635
689
688
553
548
518
623
612
687
553
663
543
572
552
631
670
668
531
665
579
576
682
570
663
598
635
656
531
637
626
561
690
628
645
558
633
671
684
510
567
696
575
534
658
576
593
573
688
547
569
565
658
577
686
598
530
566
536
604
676
549
563
649
579
561
693
651
565
513
687
512
683
598
583
599
619
622
513
690
695
605
655
604
641
696
700
633
523
606
554
500
545
630
650
502
633
513
598
627
616
603
643
529
636
523
580
625
536
511
535
504
626
660
571
542
656
532
536
578
690
607
675
576
578
570
668
628
693
622
525
692
504
519
531
563
590
606
691
671
614
641
697
662
604
657
670
576
617
515
695
621
658
509
672
569
642
619
507
548
528
635
662
629
641
586
634
685
577
512
664
642
592
652
530
679
534
637
572
519
503
562
537
503
587
526
657
628
596
568
613
529
644
658
671
630
538
618
674
616
601
659
589
545
671
626
658
582
559
621
606
690
585
607
694
582
571
518
700
675
678
622
687
526
669
685
646
637
673
579
670
671
660
615
503
515
514
525
645
648
505
628
568
563
545
510
528
695
502
526
643
652
606
604
695
512
546
509
507
532
509
554
649
653
550
603
506
696
519
524
629
654
651
605
620
602
693
535
591
554
600
606
654
638
624
530
633
688
603
520
640
690
672
639
563
607
634
586
613
685
583
535
504
658
528
533
512
645
673
616
673
612
594
563
510
541
658
634
677
553
574
591
571
676
685
680
622
539
586
700
518
589
652
630
577
626
652
556
544
663
616
526
649
690
673
544
674
556
604
652
505
574
554
638
552
562
659
542
523
584
612
516
552
641
522
502
633
587
678
631
696
691
600
700
683
533
693
580
553
510
696
611
565
510
510
679
569
685
548
529
557
536
636
664
689
626
606
532
571
693
587
598
597
568
625
502
610
639
690
686
650
670
590
677
686
534
510
514
662
561
550
572
654
634
565
570
598
622
616
682
602
648
512
577
579
652
620
648
628
594
614
553
696
524
637
652
503
611
668
555
617
617
623
671
606
561
813
965
1000
857
995
863
851
919
881
853
840
912
927
878
948
810
818
921
950
816
842
841
918
963
865
980
965
854
814
879
847
923
847
880
931
837
935
845
951
843
908
963
977
963
815
830
891
826
851
967
886
814
914
926
835
914
968
930
877
942
900
906
827
871
831
804
915
984
926
936
869
938
845
833
954
985
810
803
969
960
932
826
896
806
872
925
966
928
804
827
990
976
871
815
866
847
844
971
808
836
869
981
882
907
911
937
853
814
988
844
848
836
952
833
843
988
984
921
927
963
855
830
977
937
915
941
881
923
989
942
872
887
930
904
872
869
897
898
885
820
832
888
927
836
842
925
947
858
869
957
977
909
875
974
814
889
979
920
882
908
888
905
925
947
937
902
889
950
806
973
861
862
907
884
993
883
982
954
856
855
834
911
908
831
828
871
869
995
991
816
912
931
877
835
909
871
959
989
883
896
944
913
971
987
822
847
913
895
932
827
952
943
827
895
828
888
893
986
967
970
950
942
848
978
978
890
925
999
994
875
989
933
891
857
887
832
812
923
947
947
956
890
871
891
936
992
959
802
970
864
842
916
974
944
868
916
867
866
810
999
932
844
887
837
897
813
979
863
906
937
973
836
852
887
905
921
952
801
916
920
949
994
971
988
866
892
806
885
990
847
899
895
830
905
924
997
946
952
951
959
844
849
935
821
839
826
819
935
935
938
962
907
892
825
975
893
935
839
842
809
859
906
974
990
967
854
996
845
837
801
891
840
961
895
820
956
989
910
898
864
941
880
995
945
820
965
911
869
941
822
873
836
895
804
850
857
803
908
896
831
854
956
897
902
898
886
842
997
817
866
864
999
846
920
801
811
862
935
949
851
838
988
913
899
863
893
998
851
923
990
832
810
884
882
852
872
886
841
859
809
833
965
822
892
989
872
849
807
859
946
806
913
996
966
837
894
991
857
993
924
938
999
800
819
832
986
944
988
911
928
999
852
929
820
823
937
854
877
940
924
985
903
940
947
916
861
898
994
836
921
970
807
958
975
979
930
888
831
824
993
840
991
917
944
832
975
801
925
836
965
909
846
923
859
994
874
887
946
980
868
941
988
993
816
889
894
931
983
828
920
804
953
846
982
815
921
911
979
893
977
879
913
837
860
900
806
1000
934
967
963
880
995
977
895
827
899
892
869
881
843
831
968
960
844
929
833
841
832
830
950
917
896
900
967
942
837
985
919
933
911
914
839
990
823
832
852
988
870
867
923
941
849
973
900
857
856
892
930
843
857
809
927
841
960
901
949
951
873
891
880
971
939
853
814
982
983
839
994
827
940
847
915
970
872
986
835
838
922
916
871
962
928
889
900
962
972
901
940
895
806
897
958
863
891
873
911
909
995
941
971
961
921
824
851
823
926
951
997
890
805
831
944
830
817
845
840
813
952
807
887
836
991
963
874
998
999
924
982
811
819
805
849
977
889
882
838
894
932
845
803
807
826
945
871
806
930
863
852
950
994
864
846
962
899
922
964
880
960
885
801
878
871
866
946
980
962
905
873
946
889
935
993
851
988
962
977
960
861
955
979
897
858
888
841
816
874
868
877
860
815
991
984
921
806
875
933
979
888
902
974
919
947
911
876
995
985
966
879
844
858
992
927
985
879
977
809
953
919
817
931
922
977
976
834
952
986
919
873
997
805
955
906
804
882
978
820
865
872
838
899
832
855
928
948
999
807
857
875
810
832
962
944
817
917
870
989
923
960
909
966
936
803
978
841
978
985
888
916
877
922
887
895
824
897
994
885
801
827
808
888
930
875
948
976
920
860
927
834
921
822
929
884
910
913
801
909
941
833
918
869
959
818
973
813
874
849
871
828
941
843
976
808
926
898
907
996
812
886
940
962
873
847
897
924
827
940
874
842
846
999
803
931
868
810
880
816
890
943
892
985
810
951
899
804
809
988
896
809
956
991
890
856
803
833
809
886
946
886
986
803
812
924
802
850
903
1000
999
873
901
803
827
808
960
980
995
833
865
923
849
869
887
897
901
970
911
887
926
823
932
909
948
915
926
987
829
867
957
974
997
936
899
870
985
896
956
810
849
998
821
914
891
931
892
985
803
926
890
918
943
825
889
867
813
862
987
886
963
925
811
840
896
915
846
840
908
836
979
923
907
938
938
983
800
847
819
868
814
861
872
910
919
809
981
813
845
855
837
911
922
824
825
849
804
906
858
912
984
883
992
965
984
832
879
935
901
921
806
879
931
949
812
868
820
956
839
960
970
912
839
894
816
1000
811
964
883
854
852
849
840
829
879
900
814
851
948
885
837
931
909
975
935
902
901
933
934
903
908
897
982
847
829
928
920
878
863
821
882
920
871
845
819
900
865
881
824
816
819
1000
987
815
888
822
861
823
913
821
895
976
872
947
940
892
873
934
816
875
915
850
811
943
923
858
875
900
848
902
800
999
929
958
907
991
890
927
973
821
986
994
875
976
874
951
911
958
1000
984
810
963
954
914
925
996
847
894
804
889
816
915
869
940
902
885
816
971
903
984
964
875
935
831
800
918
916
895
1000
885
937
976
976
970
962
865
888
842
891
917
905
844
830
892
929
809
903
987
907
920
892
909
854
823
1000
854
967
968
897
985
980
991
824
919
953
871
919
889
966
982
921
897
810
809
986
842
842
923
916
820
896
910
917
872
969
845
822
895
886
818
889
844
864
846
924
813
845
892
875
841
944
903
841
844
853
838
995
822
836
856
947
864
862
859
976
929
956
813
860
859
990
985
847
864
974
807
860
843
813
914
984
924
858
819
842
981
908
910
989
861
853
821
908
871
960
822
983
872
845
897
983
846
902
928
952
832
997
915
815
814
962
836
817
977
977
964
859
838
964
801
910
867
908
936
921
867
927
973
924
833
843
982
846
859
978
896
952
804
993
860
995
911
824
893
885
882
871
869
917
803
968
925
851
957
814
901
963
990
971
824
939
838
957
885
962
864
858
801
920
968
940
816
848
935
901
834
977
848
902
856
977
839
862
872
995
914
897
879
813
973
893
1000
845
832
825
801
930
951
885
904
970
833
829
882
871
820
988
991
868
959
995
953
971
801
927
879
955
972
982
873
807
867
893
938
923
999
815
983
929
937
893
893
988
874
947
995
844
839
850
924
802
885
966
877
841
925
977
892
860
820
970
863
992
859
913
802
897
842
824
844
867
922
853
918
867
905
960
999
921
969
804
908
827
884
960
801
868
812
963
908
898
946
944
890
871
817
864
927
841
828
908
823
832
943
1000
815
969
839
934
946
893
899
985
979
859
1000
921
822
895
895
820
809
938
985
806
843
924
954
835
949
812
882
853
949
911
967
952
995
970
997
955
991
807
869
965
885
911
893
877
872
1000
842
884
835
823
866
889
804
904
851
939
851
813
835
832
861
956
846
873
909
949
985
841
821
960
881
970
948
839
990
817
980
812
938
938
837
899
824
815
889
955
954
847
932
993
842
855
959
872
958
926
893
962
892
846
883
835
938
894
820
951
850
823
874
826
863
836
820
895
881
869
844
867
881
846
978
812
997
893
881
999
850
861
880
844
839
860
939
993
971
859
860
992
952
849
840
807
997
964
880
801
920
865
894
850
851
843
922
863
958
912
974
858
931
857
988
911
850
955
830
972
833
820
902
888
898
853
861
892
913
860
960
902
819
838
844
833
927
997
807
936
877
815
987
809
963
887
840
881
884
967
858
958
891
971
942
864
847
875
867
843
906
940
867
943
924
821
933
901
825
887
975
896
947
907
957
961
889
991
898
850
874
937
880
974
969
894
814
824
855
820
825
990
808
872
957
917
983
848
843
842
842
919
864
821
990
863
932
838
882
924
824
984
850
925
869
920
896
813
845
952
944
988
877
868
986
855
911
826
975
949
951
991
999
957
894
933
916
861
811
967
860
814
873
817
843
940
990
842
973
833
839
928
987
905
921
954
925
905
954
816
946
907
897
979
846
848
894
940
834
931
990
999
934
991
903
821
839
894
891
952
967
885
991
965
913
906
940
949
899
935
907
837
883
877
893
925
999
833
871
834
870
864
916
821
971
917
804
819
863
970
907
872
983
817
936
805
834
965
883
900
882
804
874
971
964
902
946
853
972
880
831
842
940
836
806
994
982
907
872
879
901
910
835
841
926
877
921
851
889
927
933
827
977
802
818
992
922
934
817
823
892
815
827
830
990
889
971
917
936
891
980
999
971
873
914
979
828
803
921
837
907
990
874
939
801
801
977
889
902
980
803
908
927
883
872
969
875
884
940
899
891
811
997
824
817
866
932
923
916
895
967
995
993
937
912
839
846
1000
807
880
882
826
954
977
972
941
870
943
820
804
863
932
804
864
967
912
962
829
886
925
845
801
922
869
884
870
829
896
819
882
977
928
822
899
952
823
916
935
865
930
864
837
900
821
961
988
821
855
916
815
919
864
883
987
876
961
919
990
848
835
830
869
885
945
995
851
837
858
811
871
914
865
978
952
888
936
975
829
855
830
969
959
908
922
995
912
982
877
937
882
827
948
960
832
974
917
831
884
949
940
975
855
912
935
926
804
852
801
817
863
990
993
875
987
936
819
932
842
908
962
833
946
969
878
906
951
876
900
858
803
845
962
934
886
911
952
953
893
837
964
965
997
801
943
964
835
906
881
837
926
988
882
802
831
858
816
879
987
848
993
893
949
956
846
969
864
978
849
808
887
886
948
968
911
881
948
909
1000
944
942
986
946
883
889
832
869
816
990
872
841
943
878
884
911
804
886
938
951
948
926
897
960
841
992
950
855
804
827
912
826
944
841
840
838
849
890
831
910
824
983
869
893
864
896
906
931
866
831
902
998
822
1000
861
890
994
817
819
916
851
848
854
911
948
862
912
997
855
847
919
949
822
924
988
960
968
932
803
872
901
995
989
879
955
801
905
922
892
833
814
894
822
933
950
979
876
998
872
975
956
832
838
868
931
801
814
992
887
934
888
887
908
938
942
885
986
801
941
893
814
970
910
907
900
875
926
861
834
974
914
991
933
910
886
967
886
938
914
889
958
802
933
855
968
931
975
974
969
957
871
968
803
997
960
943
971
973
961
977
871
895
980
975
977
827
919
895
908
895
880
853
969
950
876
954
950
842
901
990
938
896
804
991
941
878
948
850
883
915
981
936
820
891
827
915
831
984
918
942
974
889
923
914
907
945
910
868
965
899
821
925
871
932
949
895
857
951
829
969
970
934
879
912
838
942
866
899
842
953
883
915
883
942
941
982
985
912
992
867
973
885
836
865
946
848
998
986
830
903
872
902
803
970
894
990
870
957
935
854
916
886
945
930
974
983
922
934
813
925
983
984
992
853
920
865
883
831
981
966
950
961
847
935
814
943
898
964
874
824
939
887
924
874
994
843
924
941
992
825
947
957
862
1000
858
925
860
817
847
910
918
901
890
984
866
979
852
889
855
884
866
922
943
861
926
883
976
987
968
890
832
982
978
816
967
834
897
807
819
896
819
996
935
973
898
875
814
979
948
803
939
992
920
893
913
834
886
998
820
856
886
831
806
911
963
801
859
851
933
948
911
838
838
941
931
908
921
936
889
986
872
902
915
841
898
835
968
833
954
846
974
995
816
928
890
858
941
926
916
956
912
950
883
818
808
981
908
967
919
991
873
896
902
885
986
940
929
857
831
931
944
875
911
878
883
929
870
975
826
870
951
863
826
887
838
992
877
801
903
901
814
963
921
908
975
821
853
849
915
944
989
915
981
962
962
802
951
846
850
878
855
963
902
962
936
820
898
835
929
998
836
804
965
863
828
891
853
934
885
861
997
843
899
911
986
975
916
869
954
920
815
872
953
822
859
941
999
963
852
819
998
996
850
856
831
831
814
821
979
806
959
892
836
958
959
897
986
964
982
873
884
834
860
824
802
887
906
818
896
806
859
859
899
972
826
946
920
894
935
886
984
841
852
992
809
912
975
917
811
915
935
888
814
874
974
836
888
905
891
982
920
932
931
807
830
936
841
937
820
813
864
953
849
939
916
881
926
974
881
890
813
919
916
903
830
885
891
826
836
810
879
830
854
947
912
831
886
809
892
975
962
972
899
847
812
876
943
946
997
847
978
871
827
963
868
911
848
865
844
960
930
963
871
927
969
995
846
965
846
818
821
818
920
829
838
965
917
860
912
862
883
871
848
904
849
832
975
993
836
972
836
985
877
865
957
952
897
898
948
811
979
930
805
978
837
878
937
971
930
979
940
927
900
945
809
871
809
940
934
910
877
852
917
978
850
957
841
819
994
972
996
863
909
907
843
972
805
966
821
847
989
925
849
974
940
905
992
894
963
961
942
888
931
940
871
824
825
878
995
844
815
965
932
872
814
855
860
986
897
909
899
928
859
869
947
990
807
927
886
932
873
895
950
905
888
831
815
928
896
805
928
872
832
936
950
890
930
885
961
962
914
996
916
973
989
809
873
819
876
979
843
866
812
992
840
832
929
964
816
898
838
819
954
858
866
841
972
809
978
819
899
879
893
853
859
984
912
864
901
972
898
856
877
953
810
938
823
968
968
942
947
861
944
930
910
858
850
917
866
919
805
966
941
913
817
972
964
863
901
944
916
908
893
913
916
948
862
879
800
979
853
906
829
959
964
999
869
872
832
869
814
966
957
985
903
801
943
939
961
914
972
914
841
991
942
973
868
946
989
935
956
889
908
942
967
865
814
861
813
850
934
858
907
832
996
817
829
975
922
924
978
973
982
995
946
855
850
839
835
814
959
852
951
866
870
849
999
993
892
989
955
947
956
999
898
863
962
869
992
995
951
936
931
895
985
992
944
949
875
938
830
969
909
815
811
966
922
989
858
811
856
967
956
837
850
840
829
816
882
897
885
962
914
869
979
924
876
918
934
890
869
802
897
893
926
826
811
911
982
938
899
866
967
949
897
938
926
923
919
803
960
847
939
833
894
827
902
852
955
903
820
998
883
993
846
824
930
899
845
943
816
885
820
850
838
834
909
989
823
816
975
813
927
956
827
953
936
840
856
922
858
977
833
834
843
969
874
960
867
980
957
851
934
826
915
981
807
919
989
978
932
922
810
873
817
998
897
988
874
994
849
971
820
906
976
975
885
828
910
830
954
922
846
923
934
844
969
929
856
870
878
943
864
916
990
838
903
844
990
946
963
922
835
814
968
806
868
989
812
910
845
863
932
844
891
971
839
851
874
899
851
974
840
859
982
861
932
972
958
975
836
932
824
950
841
921
820
842
828
993
853
816
934
840
973
888
841
985
952
808
954
918
898
908
885
802
971
949
888
906
929
991
943
939
995
901
855
925
982
965
988
878
804
839
934
907
997
910
930
915
811
856
893
972
999
838
947
847
877
914
826
942
933
889
949
930
937
856
1000
991
893
934
949
846
819
810
965
929
932
976
911
966
951
931
834
951
979
883
868
894
886
833
944
824
920
836
877
858
960
979
812
999
823
825
981
923
981
810
957
992
853
937
853
836
803
931
934
840
824
815
922
986
808
890
883
818
853
850
908
874
947
938
822
941
922
884
902
832
967
896
967
1000
849
809
872
909
890
825
971
926
981
918
898
839
821
828
983
847
906
886
845
863
937
846
818
898
855
995
953
903
903
936
988
822
868
985
862
843
823
967
979
838
857
832
934
930
954
874
970
889
883
822
951
939
980
860
874
859
957
806
908
828
966
867
918
991
852
894
817
867
994
929
874
969
909
815
899
836
838
937
998
888
851
967
924
951
880
873
914
982
919
984
920
855
957
911
934
929
894
801
853
814
954
922
910
817
911
887
973
886
947
887
971
965
849
993
858
951
867
882
931
942
837
847
914
989
887
906
915
854
877
807
970
974
955
967
922
814
863
827
837
963
849
964
815
951
849
805
981
832
863
953
801
877
1000
900
858
864
837
803
823
997
850
925
957
974
978
900
857
978
838
823
907
864
856
1000
841
816
909
898
817
967
966
952
895
973
984
989
982
895
917
829
842
994
877
916
801
980
852
842
937
841
813
969
973
827
877
989
838
923
818
866
806
969
836
973
989
978
892
1000
821
930
904
806
907
808
817
851
932
932
936
889
807
966
840
852
927
842
875
860
977
922
985
926
976
812
998
835
868
977
901
949
926
934
838
947
906
913
996
937
962
992
924
829
824
976
948
807
968
996
874
903
936
824
868
894
915
967
940
832
992
842
840
845
868
990
989
901
970
906
837
958
928
832
924
867
973
828
941
847
876
896
974
941
988
973
855
811
822
841
842
991
885
931
892
855
831
967
928
981
877
883
853
931
870
984
806
887
975
806
925
811
816
925
959
959
958
826
976
883
844
943
989
985
803
918
976
937
852
808
876
984
805
954
883
845
910
872
970
917
977
941
976
848
918
885
968
839
992
852
916
811
980
898
858
814
868
884
838
826
973
984
959
897
947
860
894
992
820
817
837
879
830
912
893
959
878
959
811
832
904
931
822
947
883
891
961
935
976
920
836
948
874
873
934
953
809
827
836
991
943
922
963
951
899
982
991
928
946
963
944
999
870
965
948
881
845
903
946
999
985
950
833
866
896
801
873
956
849
833
898
957
846
870
820
956
960
949
872
961
828
933
887
889
863
857
996
957
949
876
953
903
962
921
828
824
900
962
973
866
875
902
879
911
938
817
903
908
883
886
851
967
822
934
803
834
982
886
950
870
966
835
990
898
871
952
996
969
919
936
912
913
940
815
901
981
804
886
803
853
801
804
846
843
923
854
933
980
860
852
954
891
833
974
800
1000
867
908
917
854
839
910
849
899
857
858
847
992
917
911
906
852
859
999
872
802
863
887
814
929
890
973
831
976
859
946
909
864
823
833
872
893
936
832
857
945
994
914
831
913
963
880
812
906
959
812
967
852
920
830
978
832
810
900
850
897
864
986
805
964
974
952
968
935
980
958
849
823
900
908
849
926
986
884
974
839
875
996
951
875
905
934
875
936
858
833
975
863
903
920
911
883
941
884
875
990
945
856
993
930
808
951
910
952
808
807
909
812
975
926
976
806
820
914
825
867
949
906
922
812
921
812
978
859
868
882
860
870
846
940
819
897
973
921
946
915
814
824
830
896
897
870
865
902
911
962
847
895
903
866
848
992
836
805
821
941
842
876
919
947
977
804
969
893
976
903
807
898
859
847
953
974
849
863
831
924
815
868
915
966
862
883
942
807
918
888
943
944
829
938
955
813
966
853
973
915
973
919
835
989
992
865
864
859
909
927
840
849
815
999
994
914
905
800
996
864
875
860
820
933
988
962
919
802
947
920
986
815
913
954
868
976
953
998
827
890
986
904
805
956
898
932
946
860
937
808
934
828
903
828
957
938
844
963
931
986
943
931
846
924
937
883
818
826
885
933
889
982
996
937
872
877
905
993
880
913
944
915
925
877
887
899
837
902
863
936
965
957
910
972
939
853
957
951
897
868
927
832
830
867
891
856
937
835
892
957
807
881
818
838
843
965
962
943
889
815
915
833
977
950
950
980
831
899
816
927
853
951
859
917
862
943
814
915
959
994
884
999
947
874
989
800
817
840
980
916
914
979
835
859
939
855
833
901
823
922
973
839
905
913
834
822
874
844
990
884
848
937
986
803
883
969
934
937
880
969
988
903
862
853
846
880
958
1000
984
925
857
931
868
972
944
829
816
940
869
984
899
896
805
972
887
934
880
812
946
855
951
909
905
861
980
839
908
946
813
989
983
976
802
889
971
842
872
861
852
916
952
971
951
946
831
849
881
851
1000
945
827
818
921
895
967
836
906
994
834
935
878
860
928
931
994
878
802
996
976
939
945
900
816
841
917
938
887
924
966
945
859
855
835
922
876
824
971
834
986
823
846
858
849
946
966
859
891
934
889
968
969
847
968
887
865
911
828
998
835
912
911
919
811
901
911
947
967
1000
824
916
980
820
976
885
972
1000
830
870
911
986
896
935
824
893
877
971
944
854
935
973
869
951
823
931
906
881
809
804
865
871
916
837
802
816
918
926
813
932
946
841
851
820
888
815
839
975
965
888
808
998
964
954
876
808
909
896
925
947
915
858
874
949
976
826
897
993
932
842
994
959
897
860
909
955
510
519
533
513
666
643
682
558
531
697
638
684
637
600
631
551
688
669
545
554
543
636
593
687
611
554
556
609
682
542
675
558
657
655
611
634
522
626
606
552
621
603
583
598
697
501
516
624
583
543
599
603
685
570
651
560
618
583
636
693
515
655
586
527
555
673
530
560
513
539
677
677
577
641
629
597
656
511
668
523
523
687
581
670
521
696
622
628
500
642
620
550
616
545
685
590
671
519
694
582
530
524
589
514
530
679
558
693
560
617
600
699
692
617
577
687
677
516
673
609
573
632
639
504
609
577
580
501
607
523
698
576
699
539
576
669
651
517
648
679
645
588
664
689
574
545
551
686
636
533
535
651
653
624
628
622
521
595
654
500
645
694
608
572
577
650
624
591
544
673
622
658
578
678
522
583
645
594
687
699
554
523
505
519
667
671
699
675
646
535
603
672
567
590
670
632
608
586
610
675
676
503
595
552
700
608
687
586
680
699
665
638
694
643
564
634
559
636
506
540
554
570
627
537
588
582
564
554
565
624
619
697
669
669
575
587
576
666
696
659
562
558
562
611
648
629
697
598
629
610
645
587
552
694
508
638
622
636
546
537
602
584
613
583
635
631
651
653
500
600
506
621
622
530
690
614
564
618
525
578
670
683
686
607
535
552
570
525
507
679
546
678
604
553
691
525
581
684
693
538
511
675
679
621
650
514
599
515
688
565
547
539
637
508
695
572
574
606
534
556
519
550
587
573
684
678
500
619
699
682
590
597
558
567
665
523
614
629
532
557
559
681
532
614
574
577
544
547
511
593
613
543
542
530
621
658
638
683
692
641
620
643
545
531
531
628
601
612
641
689
588
607
589
615
676
579
559
533
553
522
537
618
697
598
568
592
583
543
641
500
515
612
622
550
561
513
587
581
601
609
699
664
580
576
674
513
614
577
609
642
517
652
572
649
664
551
668
553
558
649
648
634
565
604
586
528
633
666
696
645
649
667
500
545
665
531
651
572
540
539
611
603
525
517
527
631
557
501
639
688
528
579
547
531
525
611
556
671
631
537
575
684
548
512
554
637
659
577
591
658
541
597
510
574
512
539
680
671
522
639
660
579
616
593
606
687
648
533
508
685
688
690
657
681
514
577
539
659
623
636
670
680
677
603
622
628
696
519
571
525
503
506
589
602
616
522
626
513
592
518
614
600
683
518
579
501
633
575
570
581
545
594
697
680
579
592
546
525
598
527
565
615
518
680
615
541
532
574
693
533
644
665
619
534
678
542
614
569
503
562
543
506
634
646
506
669
501
694
516
573
510
522
539
598
681
688
643
671
587
651
625
692
547
687
658
521
690
634
576
679
599
650
628
692
606
652
513
588
584
686
695
692
641
515
529
660
503
599
693
693
692
531
683
542
561
583
542
508
684
651
513
533
564
651
669
516
641
597
527
663
619
662
502
526
637
517
558
515
700
606
532
683
645
684
558
654
535
628
539
503
638
624
529
563
580
569
503
596
582
518
687
677
681
526
548
613
568
581
668
535
511
561
665
678
586
691
639
537
507
608
653
594
583
592
528
510
568
534
538
582
551
625
600
596
654
501
585
636
668
675
585
674
695
523
657
542
582
540
551
642
566
683
515
675
671
536
663
511
700
622
676
658
602
639
696
614
536
626
675
642
686
696
645
672
575
507
626
515
509
505
520
582
646
597
581
535
601
621
686
583
612
521
613
587
552
581
501
542
580
657
675
650
604
528
543
623
558
580
654
534
677
663
513
621
678
606
565
612
693
629
658
657
568
594
644
582
694
624
613
516
509
660
536
516
609
585
544
551
665
620
573
549
545
514
501
538
624
512
597
603
562
554
516
677
627
666
619
696
534
695
648
559
578
610
623
535
587
685
575
559
521
676
627
601
635
602
606
511
620
611
671
590
535
640
648
684
605
675
518
580
568
595
640
560
554
676
634
607
560
574
568
682
526
682
693
504
679
658
554
574
601
545
698
577
522
571
616
621
502
596
686
604
527
612
572
544
544
519
513
539
505
685
699
520
614
626
542
684
613
565
585
587
538
527
515
691
685
518
542
673
568
571
666
507
662
555
696
625
589
522
550
562
671
628
610
524
648
570
607
616
619
601
646
644
602
659
505
588
550
628
660
623
523
666
506
652
500
687
680
546
513
529
568
630
506
681
690
502
671
676
583
530
643
529
653
682
636
625
545
631
527
569
597
651
592
586
568
608
593
514
569
642
680
628
662
529
607
661
685
689
521
540
591
511
578
635
541
678
670
637
640
622
622
681
646
596
618
514
646
549
524
692
653
601
653
634
613
588
517
682
612
582
563
622
572
609
569
611
569
658
680
695
533
597
598
610
659
507
700
662
596
619
526
675
693
600
679
661
564
578
546
510
618
691
631
639
648
656
624
576
626
632
592
650
540
591
538
571
582
563
565
689
677
514
645
635
677
675
507
508
661
520
642
651
672
504
687
503
653
687
507
505
631
644
585
644
568
597
653
635
617
576
611
684
644
591
660
534
566
625
588
679
558
592
577
674
661
519
546
573
594
617
685
585
642
503
634
584
604
512
691
632
605
666
676
525
614
577
567
698
575
560
663
554
649
526
603
677
526
536
613
700
679
524
552
583
558
677
655
558
645
670
642
600
667
571
582
542
576
621
559
552
548
664
673
663
548
522
501
697
598
620
682
537
513
536
619
544
626
508
536
629
540
553
599
642
693
630
520
604
623
639
612
572
608
607
620
500
501
638
612
543
512
626
603
596
678
528
612
599
544
660
680
669
628
509
605
517
541
542
690
667
636
698
674
523
564
683
644
597
554
550
657
690
638
537
616
563
617
514
602
651
671
569
571
629
586
534
511
658
502
658
634
551
533
552
519
676
532
539
638
677
541
505
641
681
580
628
586
561
564
616
591
670
625
535
609
639
571
505
524
609
650
543
639
516
522
560
544
566
520
628
603
573
685
568
598
700
699
572
522
525
571
508
621
572
546
668
519
500
530
548
661
597
569
623
522
669
518
507
528
619
573
607
676
588
521
521
564
608
645
594
594
528
676
649
648
505
598
666
576
557
547
539
541
625
578
656
682
678
569
612
590
678
534
553
648
547
575
617
693
537
568
653
621
558
581
591
684
614
577
660
502
507
555
543
641
688
661
528
539
664
587
683
561
588
614
635
662
511
569
627
654
505
646
621
670
603
564
670
607
511
516
631
688
698
546
546
683
525
606
685
544
591
696
559
650
695
627
698
591
619
632
589
674
534
572
659
628
640
598
527
589
644
543
549
677
602
639
563
687
534
553
679
570
648
583
610
625
588
539
645
512
599
640
656
700
542
627
664
524
523
656
561
539
647
638
533
679
590
687
693
658
625
688
608
622
670
666
654
688
519
626
695
592
610
652
543
617
592
503
677
683
687
626
609
562
643
636
532
647
676
565
553
680
689
660
567
683
599
508
649
518
555
649
532
577
597
535
525
632
561
668
612
619
636
614
609
697
647
589
524
578
654
580
660
505
500
687
543
579
647
610
700
659
662
584
627
651
524
537
634
515
611
517
646
677
660
700
598
650
500
523
645
686
624
609
580
600
590
584
671
633
531
545
678
563
573
579
609
634
527
533
700
607
688
687
524
601
633
580
581
571
663
692
528
587
694
670
544
568
503
633
629
674
627
561
672
696
537
555
601
562
549
689
550
678
520
637
683
501
532
523
642
626
538
639
527
670
575
566
614
503
665
623
659
596
583
700
692
586
505
590
510
500
528
682
555
512
594
501
533
657
603
558
573
603
556
551
697
619
508
671
671
664
697
634
662
580
604
652
653
693
685
542
633
586
536
550
619
687
578
668
663
655
526
670
597
620
636
623
605
675
579
615
515
508
536
541
669
697
508
555
567
618
645
562
660
613
610
650
522
528
676
656
504
627
546
631
557
565
510
657
511
552
511
585
568
581
547
507
550
684
689
620
620
521
638
645
650
582
634
523
568
564
528
587
663
663
552
645
657
593
676
581
673
638
557
522
699
640
551
656
537
609
547
640
640
507
666
609
551
511
622
549
672
503
693
554
615
628
651
620
504
647
506
699
558
699
663
619
500
533
631
670
584
690
548
639
613
691
668
630
597
597
640
640
505
558
521
629
516
608
567
508
611
689
595
554
550
574
622
526
694
538
618
581
699
669
586
502
641
645
649
645
691
691
536
666
634
644
621
563
635
700
574
624
556
659
606
539
656
626
618
513
522
523
601
686
658
584
514
595
642
680
584
560
566
676
559
696
560
682
653
644
635
633
546
621
645
539
503
501
545
568
549
574
532
538
556
538
594
545
653
556
698
598
661
579
649
612
687
697
511
664
571
624
537
597
651
660
677
548
650
506
656
556
587
544
640
575
670
688
616
665
696
539
682
532
647
687
578
679
533
555
532
526
605
668
589
590
662
634
620
639
615
544
628
665
623
520
637
651
659
527
597
679
557
578
600
613
600
606
533
529
627
661
670
546
516
674
652
514
554
521
545
677
670
592
598
562
649
628
532
620
652
652
503
688
508
645
656
563
646
652
581
611
618
506
662
528
510
651
500
515
580
660
605
526
587
674
625
531
680
600
629
506
615
612
691
629
607
632
573
525
656
670
665
627
647
511
527
625
677
535
595
604
570
544
581
609
564
667
631
636
544
697
542
558
674
538
632
669
668
631
551
620
587
558
616
672
594
692
602
650
571
654
502
666
667
645
627
528
625
519
668
630
684
696
646
575
650
562
673
582
625
688
570
531
627
637
669
565
652
521
571
566
531
520
656
568
686
545
572
513
527
505
547
567
513
622
521
568
585
645
560
699
589
698
684
623
545
544
636
603
618
637
662
524
592
549
654
603
605
557
628
625
502
588
657
651
594
535
522
680
524
517
609
582
688
623
666
682
503
581
535
652
508
674
571
623
676
634
699
613
539
657
559
633
553
528
527
634
660
521
547
640
696
621
683
579
558
620
533
700
576
531
643
667
653
555
559
616
531
596
626
563
531
538
694
562
687
700
641
660
661
639
582
636
646
558
661
508
521
517
530
622
616
582
631
658
698
664
672
598
505
505
672
506
587
694
602
505
647
597
596
505
517
561
593
514
518
698
683
558
507
513
688
594
545
523
639
518
602
507
684
585
506
665
590
672
525
614
529
544
685
500
503
558
626
584
545
649
545
637
514
580
562
625
696
664
638
586
683
610
533
623
678
670
502
520
537
663
674
614
634
608
590
635
697
555
588
575
569
689
624
623
651
539
556
550
597
638
518
626
688
505
560
676
577
574
666
683
680
677
621
522
671
623
695
684
568
652
687
686
549
674
613
677
583
664
678
647
649
500
560
579
518
540
643
542
626
529
592
576
505
526
575
605
549
608
589
648
523
596
685
655
668
682
509
522
611
697
568
550
700
574
555
575
582
673
622
597
571
650
626
544
608
694
623
548
681
609
623
565
509
691
623
531
671
539
597
681
563
599
553
679
685
549
521
671
571
699
608
520
695
684
505
591
586
675
645
627
591
578
611
666
663
562
689
537
680
514
679
607
663
606
514
673
548
606
634
580
638
630
611
518
591
612
514
623
548
513
639
629
533
695
667
688
630
510
637
588
680
629
570
550
506
583
542
662
565
700
653
643
700
676
624
615
645
617
557
627
550
531
683
670
658
624
603
693
556
618
625
669
513
698
538
554
684
537
552
528
557
647
618
527
637
636
507
502
619
609
634
553
627
627
624
661
692
683
553
573
502
696
506
661
536
635
700
525
507
521
518
595
598
571
638
565
514
645
513
513
566
516
640
679
608
545
601
619
668
524
661
672
521
574
692
573
637
692
504
599
544
505
618
503
612
544
602
544
693
587
610
603
574
577
576
528
533
601
639
579
611
689
594
642
569
700
551
626
515
512
538
573
598
684
555
571
673
696
682
510
572
505
508
508
530
560
522
676
696
527
576
695
537
530
568
610
527
512
657
687
575
567
666
535
590
645
633
693
634
508
608
585
670
681
534
604
553
528
617
654
536
578
519
696
596
646
655
546
556
630
604
515
682
505
623
656
506
534
509
611
666
695
591
595
582
604
695
648
618
573
667
540
672
604
636
536
678
637
642
619
502
626
569
501
673
689
519
531
629
632
612
644
618
652
504
515
524
678
547
666
681
560
602
612
565
635
556
546
624
576
682
668
552
645
606
621
639
684
686
543
533
663
617
671
700
688
675
526
519
551
564
681
601
532
508
564
635
680
531
619
694
603
694
511
681
577
575
628
615
602
565
659
634
630
650
525
674
547
528
523
700
587
596
634
523
576
613
601
657
647
641
609
682
524
546
621
595
564
609
662
681
586
529
654
582
634
503
556
522
546
696
661
560
614
634
584
689
548
694
697
548
665
608
665
501
646
504
623
529
611
557
608
521
692
609
579
513
648
511
590
583
700
575
681
688
659
664
569
520
666
538
520
658
580
671
622
511
606
548
576
576
687
533
505
610
682
566
697
557
550
607
655
595
523
546
682
570
665
578
687
585
653
635
640
575
662
698
578
610
693
609
529
579
629
525
608
589
696
632
503
685
551
629
564
572
569
502
625
502
540
675
682
573
500
656
531
548
678
622
630
574
613
632
540
604
531
506
509
572
646
618
684
576
674
563
569
590
537
577
529
510
694
517
613
612
646
625
669
529
673
564
691
613
594
545
642
672
588
526
556
506
635
621
600
619
593
529
597
642
520
642
502
669
696
524
524
645
693
680
574
519
575
527
527
670
537
618
604
578
578
641
677
545
644
676
500
688
562
555
630
660
623
544
605
503
633
629
590
542
515
513
697
591
607
523
516
688
654
665
605
566
647
518
606
631
552
514
627
642
560
551
565
662
673
674
568
569
636
612
615
681
658
569
699
518
565
575
575
622
503
594
595
584
631
645
617
697
675
526
687
610
670
566
506
607
643
664
576
620
698
660
614
549
506
602
671
528
662
559
519
668
617
554
612
508
533
649
604
620
522
509
571
649
676
545
549
580
573
621
608
655
665
691
599
681
658
654
609
557
583
511
678
680
666
518
551
691
588
531
622
652
689
589
539
677
602
613
686
629
559
639
602
510
680
608
581
558
666
642
515
687
509
623
500
618
571
523
630
518
575
657
575
637
511
523
601
587
663
572
514
591
676
696
616
519
531
678
593
591
585
512
566
679
602
561
516
625
663
690
605
614
678
651
661
624
653
567
515
543
699
670
563
514
576
684
519
519
665
569
576
624
587
604
648
539
651
674
685
580
566
552
590
581
688
572
567
608
660
683
682
543
531
573
563
569
631
516
684
685
652
632
531
660
576
625
562
588
692
512
551
544
596
623
573
649
654
626
626
660
540
658
556
666
560
624
649
658
532
676
641
548
660
586
686
514
628
551
551
600
527
599
535
522
585
504
585
558
529
700
661
699
623
664
604
647
614
646
643
612
695
633
658
651
642
539
527
546
528
577
694
601
584
506
687
569
506
596
668
653
607
505
550
592
628
579
523
578
502
631
530
587
668
660
514
635
674
572
557
504
584
688
564
697
550
636
516
661
638
647
539
606
613
588
585
601
676
598
671
639
573
585
615
548
595
664
505
606
506
558
698
655
583
637
613
595
563
550
595
668
624
550
667
652
683
631
635
608
504
657
542
696
515
641
654
500
595
567
696
548
572
688
534
585
528
601
625
612
636
511
629
534
667
637
679
610
541
687
610
583
577
542
556
596
620
691
543
508
567
551
695
552
650
535
700
520
571
632
628
530
557
527
653
661
626
658
541
502
672
660
537
634
596
672
509
520
587
681
665
567
689
602
587
645
589
583
598
585
663
537
692
631
609
643
602
548
551
620
622
679
539
601
532
549
502
506
565
678
641
628
540
556
586
572
534
689
593
579
576
563
515
656
573
683
644
591
696
591
658
554
659
669
501
610
575
572
546
627
520
615
539
551
607
644
632
536
532
680
653
507
622
606
526
572
608
555
571
599
503
530
597
694
583
503
666
509
691
668
630
652
513
519
694
613
580
532
582
667
581
511
552
695
521
501
658
567
692
537
574
698
525
659
618
528
534
512
649
508
686
615
572
668
649
686
527
540
598
597
580
662
578
592
619
573
690
569
681
506
600
629
670
579
603
591
568
525
684
681
571
652
683
553
500
596
669
562
656
548
512
514
606
525
605
526
690
684
605
633
633
670
523
642
554
670
691
572
549
575
602
545
660
606
611
602
615
573
693
682
647
643
648
643
686
515
548
597
578
585
626
620
638
615
667
572
693
698
611
561
594
695
629
540
581
524
550
573
579
527
501
516
500
628
506
684
605
591
565
621
561
605
554
572
622
640
669
579
591
517
521
656
556
567
698
540
636
507
580
613
672
653
537
605
514
595
504
649
630
513
678
589
661
589
636
553
618
515
648
588
567
638
666
679
680
686
648
695
535
587
675
599
586
641
603
566
569
607
695
560
524
522
510
549
694
601
505
554
500
529
602
549
700
511
632
622
517
680
554
512
580
508
615
651
573
560
623
530
546
676
511
700
631
591
562
660
669
672
566
598
661
695
697
520
577
664
547
542
686
651
641
544
689
533
635
594
589
530
659
662
667
677
679
596
554
571
574
584
508
584
667
599
514
520
502
557
524
689
683
561
673
586
559
505
506
698
543
553
686
667
681
641
511
611
566
515
647
564
669
526
658
629
516
560
500
699
618
579
533
593
640
579
571
685
600
552
531
678
526
538
656
645
544
642
515
656
610
581
653
573
647
578
521
682
690
588
510
598
548
630
518
649
653
634
573
510
624
595
613
674
677
508
571
551
628
624
641
653
601
649
655
647
655
679
590
599
623
634
555
635
615
531
672
641
668
626
691
607
678
622
615
597
599
635
671
555
522
509
674
698
617
667
626
643
654
682
645
551
504
557
527
687
523
574
596
531
585
636
532
644
617
602
512
570
599
588
606
549
530
584
501
609
528
533
637
536
561
528
647
656
651
520
579
541
557
598
596
616
688
617
562
615
681
699
641
541
648
571
616
687
564
676
664
653
506
594
619
647
547
686
609
656
625
697
659
593
535
616
533
593
628
569
604
678
609
569
584
648
670
637
573
664
668
611
532
592
541
642
630
509
604
682
553
608
648
665
670
663
698
670
647
584
597
592
642
540
569
672
616
505
674
541
658
613
571
656
565
699
622
643
523
621
510
667
593
597
501
568
670
670
596
590
592
605
556
575
559
540
578
502
679
694
588
683
652
641
624
518
593
531
576
622
634
524
637
564
613
573
614
503
553
687
517
680
529
597
502
610
518
674
571
649
518
511
654
685
607
614
619
697
520
582
667
582
596
666
626
500
616
616
500
531
678
684
615
600
552
557
591
638
540
608
632
569
596
586
618
652
686
657
531
638
622
593
599
575
591
596
525
670
615
608
681
516
514
656
620
641
548
576
649
679
613
602
508
689
524
603
676
583
530
689
509
593
698
625
538
600
534
594
500
532
598
553
642
633
698
651
506
534
507
579
690
589
662
664
642
618
514
576
629
549
649
519
628
528
667
666
539
615
521
680
582
555
589
595
500
655
500
623
695
550
663
517
619
699
541
555
586
594
550
557
631
627
682
591
637
586
678
683
677
625
527
699
662
618
675
575
593
662
653
534
604
648
622
572
597
684
689
637
684
597
637
522
601
654
685
628
631
652
511
609
597
525
618
659
513
672
583
504
660
674
538
688
593
546
697
501
585
563
698
667
590
524
655
552
627
635
543
524
511
566
690
581
520
579
654
524
612
567
530
612
581
611
590
503
699
609
553
503
555
686
563
635
698
554
555
594
685
522
502
551
620
553
632
662
508
692
613
613
682
631
555
560
537
526
654
530
514
540
672
519
530
682
537
598
608
562
656
504
501
696
529
594
507
535
619
556
585
530
504
509
693
659
592
549
622
509
510
653
674
652
680
611
584
614
506
656
559
679
671
689
680
612
538
662
534
562
653
567
676
534
601
528
629
607
516
518
640
625
612
621
557
545
639
513
581
548
534
524
648
697
505
561
564
512
653
527
556
538
624
652
593
616
612
688
564
510
585
598
652
558
570
691
617
700
654
676
566
505
624
651
658
622
574
606
576
652
578
536
582
549
674
555
552
512
525
688
508
536
649
611
696
559
621
579
576
688
537
575
650
546
544
631
531
672
634
508
635
671
505
554
622
551
616
546
522
671
542
550
600
620
502
565
575
584
684
532
687
643
501
655
545
586
628
556
697
571
547
538
652
648
689
671
561
549
553
691
506
688
577
560
687
689
575
553
556
634
644
605
515
609
502
658
592
541
583
676
644
542
654
647
556
504
645
602
620
537
602
520
567
576
552
673
640
661
636
640
582
555
641
560
643
684
601
569
593
605
621
533
648
541
623
624
593
578
573
651
541
544
559
635
627
598
658
664
655
644
503
508
613
565
571
671
638
549
956
877
954
963
865
998
944
921
970
913
894
855
803
963
864
986
957
960
864
857
955
953
843
920
943
815
858
996
997
941
995
858
817
832
836
842
927
921
873
852
913
818
868
923
995
966
864
926
865
960
850
853
981
998
885
822
869
983
884
915
820
979
980
944
989
815
939
800
933
909
828
967
861
865
804
958
808
911
976
992
989
805
889
908
974
824
939
887
837
911
991
904
839
835
885
807
944
876
836
874
874
948
903
894
839
816
817
948
945
954
996
884
815
944
967
869
996
882
956
964
852
997
963
905
887
856
906
838
905
809
872
826
894
887
807
887
905
995
956
893
922
840
989
837
920
978
907
841
841
840
915
836
955
946
809
835
852
853
934
964
815
877
816
918
946
926
831
806
815
800
845
905
942
980
898
890
914
917
900
931
934
956
874
979
801
905
999
803
922
848
979
902
894
804
809
969
806
832
810
897
807
813
842
911
845
965
946
831
951
883
824
877
838
898
987
819
832
999
849
990
981
970
934
900
872
841
831
922
927
978
873
862
934
922
896
800
937
849
1000
828
805
831
912
999
824
803
916
824
905
895
858
932
832
877
972
865
859
910
953
835
836
805
906
892
874
881
974
926
932
883
829
925
819
977
905
842
998
968
975
877
957
975
998
931
922
903
847
977
882
904
873
831
980
868
848
868
880
898
904
949
938
802
882
922
863
983
808
886
870
977
905
919
828
875
937
859
938
962
816
901
811
882
978
822
906
848
837
934
813
995
871
982
856
976
840
830
909
804
935
999
910
824
932
951
981
843
837
932
858
924
975
933
960
915
987
896
955
839
854
997
961
951
930
842
807
866
950
905
981
901
941
951
927
872
867
994
958
861
979
849
832
925
954
834
815
967
924
876
830
976
811
833
940
827
930
833
843
826
939
800
808
894
859
836
934
891
978
950
897
983
897
931
853
919
887
803
847
891
884
841
875
805
888
835
841
960
850
944
820
983
846
859
915
902
973
944
951
938
902
878
849
935
863
931
964
976
896
999
802
806
954
923
886
976
812
959
999
891
946
983
915
994
848
971
847
968
928
981
976
988
945
830
973
994
869
848
861
925
973
830
912
882
892
903
875
857
839
900
803
823
912
875
847
991
842
964
800
959
802
816
806
976
958
884
803
863
802
815
925
889
853
816
901
861
865
954
930
974
923
949
996
906
849
991
947
904
874
815
882
915
949
808
926
955
846
845
899
827
834
976
851
818
886
901
901
990
888
869
907
884
938
899
803
892
855
886
933
918
981
952
968
873
852
803
937
819
876
902
945
923
994
894
806
910
923
888
818
885
820
935
988
808
901
943
847
884
808
936
881
907
874
861
952
977
910
978
912
830
944
943
902
965
902
963
989
878
823
891
909
809
918
996
857
960
822
923
905
850
839
819
852
999
936
840
982
922
971
950
843
919
848
871
959
951
846
880
860
914
883
943
998
979
942
813
901
972
831
869
835
874
887
999
863
934
907
819
845
890
961
925
910
939
985
842
969
970
815
879
883
996
904
875
915
983
968
921
925
981
965
841
964
876
890
952
819
886
989
861
887
859
998
969
986
990
879
897
904
991
966
878
981
983
913
954
825
988
912
804
887
805
933
951
930
872
871
950
834
883
984
831
979
854
958
815
924
848
852
961
935
849
813
832
948
813
961
992
922
903
997
852
864
878
808
907
885
950
902
938
916
994
857
861
919
881
833
897
985
969
972
944
827
919
997
907
841
990
865
911
910
876
891
872
865
822
826
920
971
937
907
957
987
907
982
816
936
996
924
914
875
937
829
958
827
829
962
800
819
913
848
933
865
900
937
965
991
938
972
837
982
933
807
873
924
836
849
964
824
906
885
973
897
894
865
932
894
868
833
940
903
802
852
867
820
808
848
937
989
876
919
994
916
931
898
948
881
963
824
994
825
809
811
916
800
822
914
994
933
986
940
877
846
973
912
984
884
973
953
854
999
929
812
938
809
859
910
814
828
944
913
891
849
915
966
921
945
938
942
802
879
823
890
854
824
890
998
932
835
842
850
940
997
953
951
870
952
859
968
944
980
829
971
962
893
952
944
989
868
803
914
896
870
800
895
875
980
887
820
986
1000
989
865
813
835
854
906
809
848
833
923
968
880
880
971
801
937
956
802
953
860
851
895
941
877
926
988
843
941
955
900
993
805
885
969
869
872
972
902
977
805
931
886
995
989
939
921
887
852
901
851
928
852
964
890
994
874
968
956
953
889
997
907
851
913
950
838
860
1000
804
829
1000
912
900
831
932
818
925
943
838
932
907
869
879
947
929
808
815
865
842
848
897
808
912
857
835
983
865
894
952
817
899
862
988
840
880
903
840
817
860
933
864
825
883
985
927
926
991
871
955
998
918
912
837
879
881
880
951
860
917
972
891
994
878
918
828
806
965
951
811
912
927
851
987
809
958
923
880
896
881
897
875
885
941
952
834
802
894
952
988
954
859
865
951
887
924
967
953
991
898
953
971
891
807
945
981
800
849
981
853
958
950
874
902
870
809
955
829
875
867
989
856
981
847
815
882
889
814
980
822
963
992
820
942
902
805
829
954
858
902
854
949
820
969
966
816
988
991
860
858
886
912
957
819
996
893
813
939
889
949
888
937
828
981
807
858
886
900
822
944
940
882
949
844
880
985
894
973
875
971
978
800
821
843
803
850
952
845
995
867
858
939
819
812
923
846
884
869
975
927
938
949
876
836
1000
884
902
902
922
803
885
858
852
917
937
879
843
904
935
992
812
817
996
986
899
825
828
982
813
899
975
845
961
827
865
800
862
866
812
813
1000
905
887
916
891
869
839
893
966
946
981
926
940
815
964
870
980
989
892
867
904
851
825
937
856
834
982
930
870
955
945
952
912
959
974
885
917
931
887
899
857
900
823
902
850
961
864
978
936
985
907
842
816
865
927
878
898
924
950
981
815
925
850
950
845
831
814
965
951
930
847
941
937
816
964
940
838
881
866
941
890
980
856
839
928
868
953
957
978
988
938
953
889
878
951
969
954
963
855
959
863
931
826
915
909
838
930
975
904
817
875
968
941
998
813
864
868
974
933
809
996
812
814
943
897
851
819
982
995
983
817
986
850
850
849
852
824
848
803
909
942
861
841
828
936
879
956
935
965
841
859
994
817
822
982
863
891
897
847
976
804
915
892
860
841
908
919
923
820
820
988
856
883
976
827
841
899
947
940
815
888
964
880
846
877
939
955
902
969
843
837
862
958
809
982
886
919
873
826
857
808
840
992
983
842
917
804
953
884
951
929
966
833
974
805
961
985
876
981
818
838
989
834
959
815
811
800
818
877
879
882
843
841
937
957
898
832
840
854
827
951
875
894
930
985
836
851
867
985
907
859
972
810
922
939
966
941
811
801
833
841
994
851
878
987
930
852
995
959
806
958
880
917
830
961
995
917
996
897
813
820
960
835
882
895
972
844
983
870
931
876
877
871
809
972
910
821
942
904
825
851
823
991
961
864
895
931
933
994
914
830
913
945
835
908
837
931
946
918
954
851
833
930
819
882
934
906
926
933
823
901
891
827
833
894
894
840
801
999
918
981
872
860
992
992
914
955
811
917
932
808
912
875
832
974
927
950
902
840
924
949
943
936
965
972
994
864
960
911
819
897
924
877
901
965
890
892
921
973
946
832
898
980
953
882
868
894
903
876
891
816
901
814
892
964
869
920
951
912
983
897
830
931
950
851
829
850
932
950
987
940
941
801
906
891
947
913
974
994
843
894
852
902
857
902
802
954
996
999
947
941
865
922
904
844
922
988
865
954
835
914
921
935
1000
948
872
998
947
936
977
911
856
984
847
953
869
973
830
907
826
916
886
996
826
891
811
825
976
961
838
908
942
908
971
884
840
801
937
987
821
861
981
998
999
821
956
959
835
962
952
814
850
815
877
884
988
935
946
844
871
842
880
940
844
855
948
964
913
832
935
897
886
833
924
936
827
801
983
884
835
970
977
984
925
830
876
910
809
878
976
830
971
954
963
890
877
971
997
980
929
850
929
974
814
870
837
916
973
830
887
990
867
833
818
955
887
899
972
983
978
923
955
827
868
905
877
964
959
831
919
906
893
971
887
944
847
918
965
848
813
945
813
902
891
942
842
888
963
823
959
848
891
967
866
893
871
906
919
801
843
982
898
843
855
852
876
989
923
959
836
835
838
911
989
858
952
840
912
833
920
952
910
932
997
923
926
825
987
841
813
933
875
806
977
994
815
950
899
940
916
985
906
926
898
884
981
856
918
873
914
879
869
950
934
858
932
934
918
882
915
902
849
847
854
936
984
950
888
884
898
806
895
819
991
938
800
914
817
975
988
818
932
979
864
840
981
936
857
834
836
880
882
981
851
853
803
885
868
905
978
888
952
992
829
812
924
808
997
898
863
950
962
868
804
807
898
889
885
966
997
803
860
831
897
981
958
997
1000
902
975
928
816
805
990
936
830
880
859
808
904
988
815
973
995
884
875
851
892
952
908
865
876
975
842
816
842
884
895
874
950
968
885
899
856
880
894
938
880
813
993
891
924
941
946
897
953
909
978
965
893
977
964
867
858
880
820
940
832
989
804
803
986
851
949
924
973
837
980
825
943
990
932
901
949
824
877
905
903
905
866
973
803
960
893
931
885
800
999
873
913
841
853
992
904
862
822
952
930
807
956
985
930
947
883
919
912
817
897
998
960
948
879
836
867
956
981
985
865
905
849
835
929
903
969
800
975
961
808
821
804
949
860
840
929
961
885
869
923
814
947
891
958
940
997
860
954
801
962
922
809
993
835
852
828
960
897
920
944
917
944
912
914
954
886
958
895
990
864
803
900
874
868
973
891
936
883
972
985
883
922
835
978
871
804
956
935
957
874
940
851
923
997
826
969
810
871
936
856
918
887
810
890
822
810
834
822
889
824
982
854
823
837
952
957
948
900
821
810
885
994
920
950
807
909
919
960
891
838
819
982
822
877
842
982
802
849
854
861
952
949
819
862
807
864
806
911
847
899
935
833
987
868
916
887
811
940
917
885
805
947
960
912
875
831
869
802
971
966
852
911
856
991
911
973
982
810
919
964
942
959
894
971
970
997
897
833
995
970
879
808
973
933
841
846
882
860
856
968
853
989
851
978
995
992
866
937
897
809
852
944
968
906
804
961
835
923
880
979
872
841
900
902
858
881
856
809
956
916
857
961
883
995
913
968
826
844
965
805
963
831
983
817
996
814
802
990
964
950
949
824
983
972
957
822
838
819
894
807
918
948
992
859
812
974
871
827
941
917
800
938
948
986
845
887
837
987
964
983
870
846
936
843
819
894
838
975
820
951
886
969
842
999
832
999
996
902
943
825
997
831
829
860
855
917
946
875
810
831
801
991
812
904
895
880
908
924
881
861
990
910
801
978
920
824
979
932
946
928
897
938
813
812
822
872
833
1000
893
817
989
872
800
834
867
901
886
978
943
955
981
907
872
802
911
843
977
958
991
924
976
919
938
912
987
946
869
847
953
909
904
855
811
827
976
996
817
897
949
843
820
877
809
935
816
822
901
856
902
894
805
890
997
917
845
993
814
908
888
831
936
908
921
822
869
858
884
822
850
945
841
931
880
930
861
905
989
851
941
927
982
819
872
975
909
961
943
824
942
999
887
939
997
802
958
940
909
831
855
874
864
991
866
824
843
968
856
911
995
986
921
929
900
912
958
922
904
915
864
864
967
949
841
848
977
857
861
906
919
918
867
936
847
875
954
834
955
921
912
941
911
842
934
806
836
839
830
936
947
910
994
971
915
887
850
988
849
840
987
836
918
942
905
819
905
982
949
841
834
968
986
837
994
804
972
891
937
825
864
980
980
994
913
907
823
872
929
876
867
975
857
809
884
972
953
981
862
989
894
905
920
942
982
883
991
978
924
890
824
911
912
970
807
848
918
915
850
989
877
805
874
862
929
804
889
809
970
830
963
811
815
871
819
809
917
928
894
847
843
974
891
886
961
910
946
960
942
960
934
808
869
975
867
926
934
947
971
923
814
861
800
905
960
847
817
985
821
941
936
999
801
941
831
871
848
910
805
860
901
891
987
861
839
964
871
919
887
897
957
978
930
858
990
950
830
916
978
908
985
960
823
981
924
834
838
862
964
856
942
816
942
821
879
984
979
812
908
842
873
845
929
904
893
937
917
853
982
979
804
813
885
911
826
987
958
826
968
928
861
863
833
997
916
828
816
959
824
843
886
1000
887
855
844
982
823
911
841
934
951
831
800
910
873
931
847
930
822
963
896
874
955
820
986
831
852
873
859
895
821
979
930
998
809
905
988
837
847
936
868
968
853
916
984
906
986
999
841
980
942
875
849
900
981
979
856
850
860
989
916
953
814
808
877
977
996
830
838
971
982
931
868
822
825
964
900
892
958
984
928
848
958
898
886
987
883
883
854
969
831
880
906
993
866
906
826
958
933
970
860
953
967
982
932
849
815
964
800
919
870
845
996
990
831
855
936
863
977
831
871
944
863
862
979
830
817
987
992
901
866
904
918
983
872
920
960
964
874
959
898
933
952
893
996
943
964
958
907
815
875
895
972
985
843
991
801
970
953
815
909
889
803
956
956
879
1000
882
838
937
956
882
957
909
804
816
890
842
866
808
837
916
1000
809
929
982
848
937
867
836
873
963
908
871
827
828
854
933
958
843
808
974
858
920
956
891
834
858
928
821
948
829
973
946
857
974
911
834
802
808
956
879
974
959
877
980
987
952
806
935
992
883
912
946
873
803
878
822
868
912
829
828
895
995
834
900
838
823
817
859
810
965
825
842
917
836
943
861
951
929
915
971
820
931
836
874
881
841
985
845
816
866
999
844
974
875
862
965
846
862
863
989
885
974
953
996
873
936
953
872
890
975
808
890
992
882
931
909
901
919
802
836
969
974
943
960
927
956
803
894
987
919
912
947
911
807
955
825
952
890
964
805
819
816
936
893
991
852
978
854
891
946
909
955
842
812
878
947
992
949
873
904
894
907
861
972
949
801
959
954
899
972
882
861
920
836
973
939
912
852
937
896
947
870
874
930
860
822
828
901
908
989
912
961
871
913
926
919
925
929
853
902
838
974
819
859
918
814
956
874
945
898
883
929
902
888
846
919
987
938
813
918
800
923
857
996
803
842
970
900
816
996
989
891
924
950
842
1000
1000
880
837
933
859
889
827
878
936
967
804
998
983
892
845
849
802
880
924
907
849
984
838
860
812
961
810
984
844
843
935
905
978
898
959
905
966
928
828
973
972
871
946
815
875
821
849
841
802
986
945
941
899
839
941
893
876
962
988
858
828
866
966
921
946
974
949
828
971
804
939
917
834
949
845
843
852
887
990
840
984
855
965
962
960
973
928
831
839
977
926
886
809
873
810
988
837
841
886
847
860
924
990
809
800
820
895
935
911
947
982
801
934
990
801
845
964
918
978
941
837
989
978
934
944
989
826
926
864
817
846
897
821
946
907
862
862
977
971
823
982
847
807
853
899
838
854
815
944
959
866
986
977
981
882
914
973
821
941
898
869
888
803
1000
946
868
979
917
828
880
880
990
966
867
809
957
956
922
986
907
891
820
859
837
903
842
860
916
808
888
885
974
902
864
868
843
881
973
837
861
939
976
878
810
892
927
993
840
933
873
947
866
924
882
928
917
895
802
832
991
803
967
996
828
811
922
835
871
844
920
899
893
866
808
923
981
885
898
908
963
849
983
924
976
994
948
886
976
956
973
890
858
940
869
904
843
864
952
863
846
999
996
879
833
932
846
945
815
906
836
835
860
844
864
886
881
997
991
861
956
885
866
950
818
859
843
807
988
920
807
811
931
890
813
898
835
964
952
811
876
953
857
959
970
985
927
997
973
977
907
877
851
801
931
852
987
863
828
966
854
845
848
917
849
990
926
924
1000
914
831
899
876
990
992
984
930
809
919
875
978
937
893
974
884
987
858
993
836
947
958
830
928
876
992
873
802
954
870
850
829
863
964
812
856
822
979
947
975
998
919
884
968
879
927
940
988
983
851
907
962
809
961
809
851
820
958
844
924
887
945
961
990
944
857
859
900
917
988
871
986
831
862
904
807
918
879
829
909
923
921
928
899
997
852
954
832
861
967
894
985
872
812
838
909
899
951
981
912
956
985
913
844
926
850
984
829
967
826
844
861
997
843
849
967
919
988
881
997
898
941
939
890
856
878
893
993
902
926
877
883
989
920
804
954
807
857
891
903
892
895
952
852
809
846
918
816
801
838
930
823
992
998
966
827
999
953
804
916
821
823
842
821
927
817
831
993
961
916
978
824
849
955
863
854
981
1000
925
851
861
895
841
985
991
851
986
851
975
884
818
936
890
973
898
976
820
829
967
895
967
943
993
898
831
993
901
905
969
942
824
955
967
990
921
819
868
860
940
823
954
833
813
983
822
863
881
920
991
992
934
922
863
958
821
843
951
889
928
854
808
810
911
889
869
834
989
807
991
925
893
840
818
958
976
968
991
891
885
976
838
955
927
946
857
830
814
996
833
927
857
884
855
804
917
951
925
948
998
871
888
990
988
913
958
992
828
823
936
845
948
951
960
851
809
932
989
973
944
825
946
896
939
978
951
951
814
1000
881
935
947
891
916
940
826
982
815
944
994
856
998
915
801
870
939
899
821
984
811
814
947
908
989
882
864
862
949
907
900
889
910
898
909
944
915
800
820
994
802
927
992
887
834
836
968
964
844
991
812
835
925
923
805
957
963
957
898
801
847
968
874
827
849
926
960
994
811
888
965
807
962
815
818
949
899
966
958
851
961
908
837
904
813
948
854
808
813
844
940
957
955
1000
852
988
947
942
962
924
917
856
976
857
904
833
930
975
959
840
825
935
810
940
977
943
947
970
825
824
891
999
996
956
989
939
931
893
908
933
905
910
816
953
811
950
896
812
938
995
928
962
974
937
973
862
966
953
982
923
879
841
889
948
996
826
872
917
974
906
899
948
859
832
963
862
955
873
912
895
967
869
990
970
906
847
892
917
903
847
827
813
965
937
906
801
962
934
814
892
910
946
855
817
865
893
897
910
922
931
842
994
976
831
977
940
947
960
971
926
816
925
962
873
964
848
821
930
974
941
823
861
952
953
988
903
907
853
987
814
889
843
924
1000
990
872
998
918
844
879
870
880
954
838
914
800
976
955
858
852
886
811
972
984
968
836
850
850
861
841
935
983
895
926
960
852
897
879
869
986
992
810
984
972
941
881
839
985
926
907
804
948
943
1000
886
831
934
866
958
888
830
974
957
966
908
822
824
952
898
966
995
853
892
815
816
906
957
967
870
934
815
831
919
874
942
875
888
845
990
950
914
929
905
843
882
959
822
834
857
890
880
957
849
988
983
906
950
849
824
970
805
966
852
876
953
911
852
927
959
927
915
902
878
956
855
932
865
950
969
840
831
812
842
921
907
870
1000
907
998
818
828
821
974
962
865
826
895
808
825
970
907
884
968
800
956
819
856
932
831
927
852
864
873
959
942
999
981
938
814
955
852
936
985
910
991
986
855
967
945
918
859
918
864
909
841
935
830
823
842
890
924
922
805
893
951
838
893
832
802
956
852
858
835
995
902
981
883
911
972
917
800
967
912
908
829
909
830
890
952
958
845
914
991
920
920
979
913
865
885
893
912
811
978
801
814
982
834
898
812
868
989
958
876
920
810
803
886
875
920
975
831
831
902
905
874
906
888
800
1000
897
810
957
838
914
825
913
892
814
978
809
913
945
841
883
993
891
818
986
827
854
931
929
838
857
911
946
981
923
933
807
850
829
953
929
945
944
988
918
859
932
911
963
879
909
927
840
931
831
988
977
954
897
893
887
952
966
901
920
814
966
890
819
838
935
836
918
860
963
952
812
811
843
827
932
821
983
854
800
824
926
830
963
968
926
963
864
869
841
946
833
885
993
876
914
845
866
844
806
927
831
938
868
836
850
912
893
813
844
809
965
858
963
867
930
950
970
880
942
860
883
898
818
981
822
921
969
969
857
939
823
881
929
847
811
865
858
962
911
865
924
935
948
954
808
895
914
837
911
970
934
888
878
809
891
818
890
924
886
818
824
800
861
802
937
804
931
999
865
997
874
833
885
847
803
966
914
890
908
872
821
974
955
919
810
882
888
900
900
876
977
992
827
977
843
851
868
855
859
830
1000
816
891
959
894
942
974
916
866
820
882
802
990
985
966
956
928
999
911
958
927
816
878
993
985
843
944
969
866
921
987
910
921
800
886
946
971
984
827
979
878
848
917
863
944
805
911
952
897
980
847
998
923
841
978
877
827
874
950
861
894
946
841
857
880
896
904
857
844
816
879
965
875
994
845
906
921
918
902
1000
861
933
1000
882
970
902
872
944
881
982
876
906
849
911
912
999
941
961
817
959
823
930
943
953
960
831
906
901
823
819
833
812
989
868
938
970
931
963
831
898
822
856
825
941
964
934
881
869
807
830
988
936
925
838
963
816
837
856
805
847
831
818
936
916
981
905
818
830
861
987
900
966
971
933
954
814
884
938
998
881
913
954
986
998
825
908
838
856
906
880
850
851
844
959
977
933
907
956
821
974
956
934
951
825
950
800
925
833
834
858
964
809
818
843
963
903
860
958
973
866
916
944
977
812
828
890
846
941
861
990
850
962
857
897
978
896
930
999
873
812
902
813
864
997
873
847
879
837
953
802
854
915
945
863
855
832
849
870
879
914
842
976
903
922
910
836
891
990
858
897
806
973
975
821
909
864
827
838
983
903
941
974
929
808
985
942
945
873
809
922
817
884
899
914
862
895
814
861
952
862
800
913
815
898
883
819
856
957
914
917
902
802
976
879
900
915
998
961
868
946
815
811
821
845
911
887
800
894
985
954
597
675
572
523
530
548
642
667
636
683
540
582
650
628
638
556
624
688
697
688
695
552
687
501
570
625
649
547
591
602
644
509
574
658
595
544
577
594
592
683
553
649
514
638
619
513
664
547
620
539
658
655
512
540
532
661
627
578
643
639
511
620
583
609
669
569
579
678
515
500
623
524
535
645
503
599
515
672
613
573
531
565
597
506
556
500
692
556
700
581
651
614
614
622
602
651
647
536
566
666
598
633
669
583
683
642
512
624
639
565
537
577
655
533
655
638
531
543
655
616
561
634
669
551
622
574
580
606
632
588
544
686
503
610
527
518
640
616
683
554
626
690
549
551
647
540
662
520
690
624
503
535
661
606
525
598
694
537
546
671
623
620
686
602
501
589
650
700
579
645
657
638
620
642
691
594
695
522
638
598
640
673
633
668
650
692
558
594
697
567
543
581
529
502
629
609
656
605
522
566
502
690
664
544
681
608
668
685
657
563
641
574
671
535
525
549
673
636
650
685
610
624
668
609
664
645
537
576
535
515
568
614
612
557
571
647
672
561
537
551
674
634
564
584
593
539
505
625
608
691
519
524
643
630
578
557
693
563
657
592
522
545
530
661
588
610
558
597
528
617
609
617
558
580
585
655
583
623
541
589
618
522
610
637
680
623
529
607
602
659
643
507
677
608
677
542
699
689
596
669
665
664
548
584
500
698
610
545
657
544
630
601
542
570
548
692
580
618
519
553
523
629
697
572
693
506
543
624
609
645
664
591
654
638
648
592
654
500
671
680
537
541
676
551
608
550
593
599
667
511
567
585
609
506
570
627
670
560
592
602
574
686
615
649
599
532
545
618
538
526
673
562
506
635
613
553
585
650
554
684
517
689
505
517
639
536
617
590
567
583
606
671
681
519
528
531
629
599
513
553
567
637
688
534
604
520
660
640
600
530
553
501
591
686
652
567
514
562
676
594
577
615
556
679
626
626
563
592
636
630
598
622
600
606
599
554
699
664
517
533
649
669
504
551
509
640
636
618
633
559
644
520
636
660
552
595
589
515
690
650
630
634
626
518
564
552
597
634
665
681
612
672
625
549
684
530
670
606
570
537
603
684
587
536
543
689
559
519
595
671
588
515
596
696
603
592
601
656
517
688
639
615
619
552
637
550
575
577
566
608
669
642
694
660
585
569
626
634
660
556
669
627
513
604
611
680
597
656
589
573
693
692
517
514
586
595
640
582
650
664
596
554
509
544
665
630
615
595
563
506
521
524
531
631
627
612
614
558
502
683
529
540
582
505
686
541
586
658
518
665
671
520
620
588
698
516
540
659
521
515
500
505
517
687
642
689
603
649
643
596
639
581
517
613
628
550
599
685
675
628
626
615
639
516
554
554
514
676
609
534
572
535
677
547
595
511
620
545
544
519
612
604
585
508
524
652
583
611
590
613
515
670
570
564
652
517
672
553
531
535
567
674
502
640
688
635
652
608
626
605
521
566
517
546
691
663
614
554
510
679
571
522
677
696
615
690
669
600
583
653
698
639
692
542
648
571
516
603
666
690
514
674
682
611
679
670
635
559
619
506
617
524
571
528
632
688
674
576
525
647
629
598
593
546
601
559
558
547
601
552
569
562
698
601
671
658
558
687
652
641
607
606
649
624
665
551
633
547
667
546
512
643
552
517
616
610
654
570
556
696
516
500
686
544
683
595
675
544
567
684
654
522
698
594
673
644
538
644
551
650
528
510
502
607
624
587
524
507
625
568
627
510
591
639
659
503
520
681
636
500
648
622
681
560
527
606
673
639
693
566
569
569
516
592
636
674
508
539
564
547
678
515
593
535
692
587
698
534
571
682
525
620
699
530
638
569
511
545
628
667
635
504
607
662
530
676
562
657
632
520
658
603
659
522
689
672
596
516
657
700
689
700
547
617
669
523
559
508
504
653
658
555
514
628
699
520
680
624
689
569
530
506
673
606
596
631
549
655
574
622
538
557
624
670
594
511
591
673
570
560
660
568
653
637
588
597
639
636
557
617
580
617
511
559
550
620
558
545
666
511
565
600
628
505
582
551
644
599
651
504
663
631
531
635
615
587
531
515
695
629
571
567
570
508
542
639
572
678
676
521
544
631
662
590
649
667
568
655
698
545
631
688
629
500
533
586
688
587
679
665
638
642
621
653
523
534
700
665
577
690
621
507
686
525
686
563
504
537
576
509
611
561
540
615
599
692
686
584
697
530
521
551
674
599
640
626
653
652
596
526
523
633
600
690
570
642
680
524
539
616
513
597
573
658
527
563
549
523
569
592
524
557
665
577
514
622
680
639
652
509
672
697
593
641
658
536
607
521
530
617
538
567
576
646
572
536
572
548
605
659
566
537
657
586
506
524
635
679
510
546
514
616
561
642
603
687
529
653
646
660
609
535
685
699
609
683
557
549
514
561
560
569
516
618
552
669
675
667
673
618
613
631
635
540
569
583
549
616
626
633
500
513
657
696
570
628
509
644
646
650
559
653
508
698
646
605
534
593
673
589
670
698
590
693
587
676
531
610
608
566
606
620
634
510
621
560
560
514
620
603
520
563
623
539
621
691
671
517
617
563
658
685
596
557
612
671
633
669
631
540
679
646
626
612
554
547
587
517
504
680
572
541
568
597
597
514
601
526
578
514
538
621
502
569
528
560
539
530
517
570
694
687
669
595
690
682
676
501
576
523
560
642
508
600
670
521
563
685
527
565
666
603
541
601
603
609
548
506
629
678
636
700
544
665
689
698
663
641
635
575
627
592
604
590
605
672
673
639
573
598
576
536
574
606
652
626
673
576
605
501
556
586
692
575
600
660
574
691
594
662
681
655
540
603
665
574
633
617
614
674
573
563
633
616
574
605
560
629
617
517
538
589
538
559
520
574
655
534
674
569
507
551
559
549
618
502
690
677
563
627
685
554
548
552
579
621
690
642
549
575
562
540
678
660
563
500
667
688
517
700
565
577
589
529
683
500
657
572
527
515
659
511
587
560
619
585
524
505
581
689
620
503
507
627
643
505
516
623
665
666
589
671
533
662
594
509
584
672
689
645
657
511
564
579
632
662
641
673
661
522
621
633
521
624
628
655
619
659
521
610
624
667
580
536
683
652
614
682
610
645
582
638
621
697
579
692
587
582
520
569
665
582
514
581
528
628
548
546
594
626
576
618
627
628
690
617
605
604
502
600
603
666
577
530
557
586
637
566
509
545
682
689
612
685
621
574
515
661
633
531
611
654
699
683
623
500
555
536
585
523
508
577
664
585
691
607
595
593
654
699
579
545
635
636
501
692
631
520
685
505
633
582
633
592
620
619
539
509
669
576
610
645
526
520
511
651
658
551
586
546
642
686
668
603
574
647
640
523
570
695
540
519
599
616
629
689
697
669
632
569
573
650
569
555
599
541
614
600
685
653
503
514
548
566
659
652
548
699
630
653
679
553
661
551
661
618
669
631
652
542
509
582
611
509
610
657
588
591
528
539
540
509
585
529
597
611
552
648
525
570
674
511
512
566
579
542
612
575
686
667
600
665
653
686
668
568
620
580
601
630
552
595
616
651
584
504
656
534
674
566
685
682
626
700
613
610
596
569
673
698
605
578
601
608
692
534
653
556
682
698
627
672
636
535
618
603
613
521
569
657
512
577
634
677
671
515
608
581
566
667
697
584
686
531
534
585
532
636
635
594
650
619
587
657
561
614
679
525
657
647
558
529
517
541
575
690
688
574
525
527
557
589
658
630
529
675
666
524
557
667
566
503
645
646
692
602
526
500
546
585
618
674
631
517
523
655
535
502
645
657
591
636
531
665
545
636
598
667
681
506
610
591
548
524
523
663
609
582
596
662
655
659
635
593
519
601
630
601
694
640
538
645
536
597
609
620
566
598
560
509
658
583
699
562
605
679
512
584
548
590
514
689
514
573
533
533
622
566
666
552
627
650
549
631
595
578
697
657
621
558
685
700
559
562
599
578
634
591
678
526
643
566
577
535
630
513
598
595
577
683
606
539
651
618
598
676
502
567
599
507
637
632
513
589
668
615
621
512
570
650
646
505
556
675
514
684
646
530
629
535
633
560
570
505
683
686
625
684
541
625
647
627
564
696
543
522
577
607
618
510
521
526
615
500
587
633
594
680
665
512
571
557
608
650
677
586
698
531
660
671
684
563
606
669
691
601
675
565
593
556
667
655
528
539
524
582
646
545
573
652
549
605
675
655
593
567
577
630
651
564
515
612
584
528
603
555
664
502
519
678
581
546
691
640
689
675
653
628
578
644
527
640
586
542
628
647
645
506
698
630
601
536
532
570
621
663
542
522
531
608
587
669
522
637
595
680
602
650
583
538
667
575
623
510
643
633
524
629
574
545
657
657
550
554
637
664
527
668
567
613
691
697
519
600
627
669
504
611
637
632
641
537
620
545
525
537
634
656
549
513
617
569
546
601
677
572
649
562
684
696
682
694
610
605
604
667
690
617
666
640
513
504
502
541
648
667
642
559
629
603
602
582
660
646
636
518
638
679
514
512
644
696
517
570
598
532
544
627
515
547
688
582
514
585
531
641
671
612
551
658
573
647
540
629
694
524
688
678
576
611
528
660
621
540
641
677
657
566
550
671
534
501
604
534
601
594
672
660
665
511
627
516
544
687
505
671
571
622
650
613
632
671
534
533
664
500
580
564
627
576
686
518
583
606
536
661
563
572
679
639
545
516
586
644
673
634
571
536
595
544
552
540
557
664
662
587
533
501
676
611
516
527
545
520
678
552
608
592
685
597
656
676
527
556
685
677
559
673
676
638
608
697
644
513
602
591
500
600
575
632
505
633
578
656
578
687
508
644
571
599
671
654
580
550
533
655
546
505
538
556
572
558
515
514
621
551
642
610
550
682
597
631
690
518
607
530
646
565
513
674
634
627
558
650
629
560
623
694
678
574
551
578
621
629
656
652
598
654
522
557
562
540
533
631
556
659
600
560
523
698
636
618
644
653
536
640
649
638
521
586
568
548
614
533
693
672
608
576
678
639
607
680
511
604
565
625
604
505
580
593
540
574
555
505
533
604
537
689
572
571
624
500
586
566
586
556
662
523
649
575
504
670
533
635
598
655
585
588
661
626
530
562
615
572
652
603
560
652
604
593
685
513
689
686
647
554
696
687
672
542
685
576
574
699
575
650
544
615
514
629
696
627
500
676
618
642
600
632
562
515
617
650
630
549
562
551
535
672
558
679
681
626
599
669
518
506
668
692
664
599
608
696
579
588
661
599
691
613
685
646
514
534
501
628
568
641
500
605
696
527
554
523
527
526
569
590
503
503
526
658
517
663
569
555
591
659
539
626
538
620
607
595
593
618
595
685
579
587
609
536
680
624
699
523
589
672
589
571
556
632
542
616
657
574
655
580
580
605
503
561
530
531
658
595
691
644
545
638
659
661
685
607
561
511
623
530
549
530
577
593
541
677
614
523
700
580
681
663
623
638
523
672
621
605
631
534
696
592
562
533
516
658
575
646
504
639
594
680
658
641
527
594
526
524
656
693
586
589
520
631
580
632
628
505
631
547
659
689
619
533
660
672
663
525
647
647
657
504
650
690
559
682
548
505
595
684
649
635
675
553
514
647
655
567
601
537
548
641
527
523
630
548
596
618
600
604
612
565
636
646
618
612
505
695
658
569
501
658
657
550
663
623
511
503
548
630
508
569
587
542
625
603
550
695
553
683
553
696
668
579
652
548
505
542
586
667
694
545
517
525
546
647
603
590
566
652
564
622
624
617
624
681
563
684
599
613
622
636
507
694
593
585
615
525
672
636
501
509
545
503
519
665
516
610
692
559
685
682
670
534
582
500
583
586
684
619
694
533
614
584
520
546
655
621
582
526
513
578
647
633
553
645
683
654
581
541
503
662
668
630
589
630
632
513
653
517
541
597
564
511
540
684
559
680
536
618
639
515
595
513
686
538
516
661
591
548
518
505
542
684
697
696
572
688
569
503
651
616
512
541
560
520
612
620
511
596
654
579
517
622
533
680
645
643
525
527
625
544
510
698
697
601
576
577
534
660
561
633
622
566
592
541
528
523
557
524
652
688
558
637
555
525
680
600
591
625
657
687
613
565
562
612
613
630
514
566
669
633
611
644
687
579
506
645
527
549
515
548
502
582
628
539
587
594
661
532
531
503
592
601
592
584
604
584
610
667
662
674
696
517
506
504
560
575
571
534
673
699
538
632
648
596
681
667
676
669
656
666
691
533
587
512
507
620
624
587
623
660
639
549
611
673
513
566
587
598
510
566
509
506
523
582
676
517
646
518
679
506
694
593
574
697
576
661
605
570
589
651
541
566
667
590
592
668
549
698
541
631
623
590
666
582
662
589
590
650
647
544
653
603
631
667
546
693
532
512
665
669
536
678
611
638
644
596
699
534
607
527
538
634
613
625
693
557
656
503
602
541
687
530
643
685
551
529
596
684
696
653
586
672
662
642
543
646
671
503
666
600
500
666
667
590
558
585
576
557
652
503
622
566
510
690
564
632
698
540
626
697
570
526
549
636
625
581
692
679
622
680
662
609
619
637
677
572
604
643
686
688
606
576
549
646
655
508
660
666
618
563
519
513
637
605
545
605
553
519
615
687
570
681
684
627
500
540
648
567
690
597
552
642
504
532
614
670
681
688
612
572
554
606
583
578
530
645
670
700
560
683
684
648
599
680
653
690
660
616
503
519
596
584
577
518
513
636
595
509
652
650
670
631
588
527
625
544
640
671
686
517
563
548
505
523
525
514
515
526
638
596
661
636
635
691
617
612
592
673
566
581
528
686
536
537
633
632
597
582
564
657
661
628
520
639
546
589
607
535
542
682
664
611
622
609
502
507
660
671
536
678
552
545
521
617
519
583
529
642
527
631
648
627
612
538
557
544
531
663
661
638
666
610
624
676
505
595
628
531
668
622
675
508
615
617
608
601
541
572
644
508
574
562
570
506
630
542
520
640
575
547
669
598
589
571
654
682
574
520
584
574
516
606
550
669
609
656
653
599
564
699
610
544
506
577
563
643
661
645
672
585
657
575
638
583
669
597
536
575
634
590
594
550
546
547
666
682
501
511
693
539
526
511
684
696
618
583
587
622
565
678
550
620
664
567
601
514
518
558
612
688
653
567
554
631
667
616
598
667
629
511
637
692
537
687
634
639
607
690
575
510
687
629
536
634
688
694
679
617
598
654
568
697
686
610
692
627
667
637
579
661
655
692
668
634
540
693
550
568
653
589
598
542
650
568
625
640
630
548
672
659
609
601
563
648
620
635
601
589
629
685
507
549
669
629
656
536
582
509
640
503
697
507
590
530
562
538
555
572
573
526
618
582
537
544
648
605
689
631
659
634
506
678
617
534
640
666
690
634
594
639
679
689
519
533
595
520
700
690
699
528
700
665
529
629
646
520
671
558
687
698
516
534
541
660
674
666
655
624
611
669
644
674
617
614
687
532
530
622
545
627
551
650
678
633
649
551
666
691
516
560
521
688
527
694
610
522
688
661
614
630
509
668
682
650
530
527
575
570
510
581
557
510
591
587
655
643
581
565
689
675
546
573
606
680
543
682
648
683
548
637
667
665
583
590
624
670
627
673
571
584
597
583
500
561
527
649
606
557
596
596
605
655
563
547
640
694
501
648
608
530
524
632
646
632
603
663
569
501
600
659
559
661
656
593
698
667
528
554
598
511
553
667
646
636
624
599
634
544
630
504
648
540
694
683
646
598
542
687
502
691
591
512
570
607
639
575
643
602
583
550
551
636
648
617
623
521
634
630
667
685
591
636
545
665
525
599
552
651
567
527
542
616
638
611
524
587
625
555
647
589
642
640
523
550
541
682
515
640
590
546
694
587
549
623
654
570
503
647
608
582
680
576
564
648
593
700
539
593
588
507
584
684
547
575
591
601
694
636
661
601
646
612
534
619
568
696
672
566
548
614
590
586
582
548
673
643
676
583
575
685
564
539
620
544
584
611
602
567
593
656
590
639
635
605
508
594
584
553
565
581
628
648
618
634
542
604
696
509
638
607
595
518
660
545
547
671
627
526
667
514
533
700
615
543
563
561
555
689
521
563
697
572
572
524
669
662
526
548
536
645
673
619
621
536
648
558
606
642
604
650
534
572
589
593
669
523
508
670
649
663
617
672
656
588
569
533
530
589
638
661
588
598
579
652
647
697
509
675
546
613
610
507
552
548
642
699
683
512
538
598
595
502
543
697
655
511
522
646
512
643
566
604
607
506
674
655
595
572
518
528
638
505
535
572
607
625
596
580
585
655
692
634
533
581
592
536
668
558
534
501
641
671
550
659
556
651
606
537
643
531
508
581
570
674
640
540
604
538
654
601
521
526
667
695
609
520
507
555
538
655
503
530
555
609
597
586
700
647
573
664
679
540
595
614
699
548
550
502
621
691
675
523
700
656
584
600
603
681
678
532
526
620
551
584
601
530
564
672
621
692
641
511
534
698
626
641
534
565
646
650
511
596
501
688
619
557
500
533
541
605
525
545
534
630
501
560
625
503
553
698
588
652
501
626
696
536
535
516
567
519
521
619
674
508
609
545
602
624
597
644
600
636
607
614
510
583
501
637
698
688
658
587
650
665
655
694
643
519
627
622
699
699
637
567
618
685
625
614
579
592
676
640
592
537
559
576
634
650
691
596
608
628
581
536
523
666
665
557
614
693
615
539
551
556
698
554
609
624
634
697
522
698
516
643
560
590
614
625
536
573
509
655
635
694
653
567
513
537
540
605
699
628
585
505
687
596
613
585
548
552
687
672
519
564
656
611
639
543
595
580
594
653
658
693
671
613
569
665
625
691
500
696
510
537
621
608
552
506
695
567
681
528
646
534
512
536
671
527
574
536
595
618
509
578
647
584
593
502
679
583
605
503
550
513
685
667
552
609
582
662
683
634
500
690
500
625
674
536
532
570
624
682
683
540
669
551
691
524
635
544
646
593
631
506
500
607
552
610
505
657
531
507
699
570
622
573
604
552
537
568
667
682
552
563
680
596
582
654
552
511
541
505
653
646
572
513
546
649
698
614
543
530
670
574
595
616
604
634
580
600
572
502
690
578
508
648
685
542
652
653
573
675
534
505
587
626
556
502
538
698
686
539
547
572
544
576
673
518
637
681
511
583
521
648
588
610
607
512
556
513
677
601
608
604
512
678
617
616
504
552
561
516
571
622
687
500
611
681
689
606
684
602
588
638
667
606
636
607
532
635
591
523
679
632
647
684
662
579
641
617
619
663
562
545
638
537
586
659
534
667
691
668
541
578
647
609
670
573
602
675
548
550
622
533
572
693
685
569
644
689
641
613
696
642
525
537
658
513
631
700
508
509
644
606
643
672
659
568
584
559
540
528
588
514
698
696
597
622
636
669
598
662
553
647
579
675
656
639
688
504
563
555
539
592
675
589
585
546
618
687
594
667
631
682
690
697
589
511
500
574
593
625
527
570
588
645
607
501
553
642
680
547
620
686
602
650
610
677
653
685
675
683
630
532
690
663
613
519
536
627
588
621
631
694
690
646
572
647
535
591
550
528
538
595
519
673
563
649
692
600
614
669
669
529
602
524
690
592
614
627
552
528
609
520
552
629
526
508
640
544
653
565
641
680
635
632
627
636
568
581
578
615
508
660
612
582
514
559
700
589
635
553
532
635
670
651
587
561
598
506
600
605
637
514
663
542
665
549
621
694
557
510
522
605
513
501
659
564
548
621
528
537
610
523
620
540
632
608
671
580
653
683
640
626
588
575
533
592
671
521
700
500
632
675
588
659
699
564
593
680
680
547
595
676
689
698
567
644
589
686
688
564
505
606
669
666
561
687
533
565
557
684
679
677
513
588
638
600
507
660
642
684
654
676
696
653
666
600
613
644
625
699
686
668
500
579
541
598
519
621
595
592
568
660
525
667
694
608
575
693
632
556
507
570
605
551
602
560
538
693
601
605
546
546
513
648
535
660
570
655
697
589
685
581
650
597
646
684
525
544
686
641
563
608
676
676
630
541
506
568
669
683
667
600
663
682
671
600
507
613
574
637
520
608
598
668
589
542
699
538
667
638
547
673
681
633
642
556
556
617
698
654
616
675
512
523
624
700
683
587
587
567
555
562
546
613
590
668
586
636
518
509
654
676
691
517
571
563
623
661
568
643
529
567
632
606
602
674
556
641
547
579
508
611
832
912
923
975
834
838
988
860
981
882
984
816
963
988
840
820
847
967
827
926
952
823
878
848
860
973
871
895
876
880
995
939
838
987
890
905
921
922
975
954
936
963
953
974
955
880
972
983
987
897
937
879
901
925
971
859
832
914
865
924
901
821
960
864
984
906
923
825
960
831
976
939
968
997
883
942
832
930
851
862
807
811
968
879
909
843
900
838
882
921
875
948
875
913
937
974
999
892
828
908
879
918
912
948
937
912
929
873
807
894
832
973
890
993
982
884
822
961
964
840
810
837
843
977
910
880
966
971
968
812
983
949
898
882
945
870
952
974
998
889
867
803
955
947
931
811
801
934
926
913
827
922
833
891
957
952
881
883
980
880
850
875
972
861
960
813
869
825
800
863
856
835
933
933
844
932
925
957
868
847
881
913
843
814
935
964
900
963
821
842
923
926
915
959
854
874
835
947
807
809
843
819
940
848
990
962
951
848
814
937
960
958
951
816
973
981
969
926
839
823
898
971
975
947
819
983
910
975
970
851
861
897
816
904
968
918
969
809
813
979
896
859
966
940
975
875
929
942
909
876
911
882
852
945
804
899
1000
963
941
913
849
889
964
874
997
933
911
870
850
870
968
975
905
984
938
822
936
830
878
945
945
932
893
932
878
831
887
938
803
807
815
841
813
867
977
872
821
926
869
951
924
812
871
939
905
992
979
842
820
999
864
951
871
880
923
811
814
841
903
940
891
838
928
924
930
946
897
937
871
872
898
911
819
878
832
825
853
950
915
982
921
890
883
955
930
984
808
807
873
959
992
808
872
967
830
978
925
947
916
840
910
820
895
914
936
956
852
875
969
926
863
904
836
932
837
886
949
938
983
992
878
834
843
922
916
939
989
933
966
968
819
938
889
928
888
985
952
995
813
908
831
842
924
813
862
963
994
986
921
890
892
866
998
803
943
848
843
934
919
930
957
892
953
911
956
838
827
927
831
892
994
998
986
948
916
818
981
983
860
813
940
811
941
887
934
929
803
919
841
884
885
825
987
962
979
856
973
914
938
839
858
881
969
968
914
924
945
821
936
985
826
986
874
973
865
897
905
804
801
967
814
894
836
845
832
893
844
866
898
906
872
899
965
883
839
812
977
898
962
906
964
831
968
838
948
829
806
946
883
896
850
971
958
936
899
993
975
952
889
896
978
968
968
888
842
809
956
933
817
997
851
953
853
864
859
826
854
809
826
908
828
936
876
960
960
998
910
951
812
825
867
981
888
861
960
945
950
837
906
856
833
817
864
957
963
915
820
891
984
857
916
989
826
852
834
830
934
945
911
895
889
803
861
883
951
861
954
903
947
976
909
917
911
824
826
870
826
841
846
968
935
837
986
887
976
813
926
875
884
945
976
846
923
852
955
846
846
845
843
909
874
860
968
926
979
819
945
895
852
922
982
917
879
832
870
942
924
996
952
965
834
853
851
887
844
955
802
874
845
932
944
924
966
934
928
890
978
938
888
902
965
867
890
884
821
817
948
828
953
819
874
951
851
813
985
813
992
838
804
865
941
961
870
955
857
861
999
832
991
815
915
850
999
846
947
988
808
963
880
898
817
910
862
968
838
864
810
955
860
868
980
830
1000
917
981
876
817
932
976
906
1000
988
877
835
920
834
888
897
983
818
968
863
931
930
992
806
959
914
921
981
908
880
995
855
916
893
963
818
935
833
929
959
991
803
871
986
967
860
886
817
983
935
874
879
856
828
980
988
938
924
807
917
871
882
890
802
878
855
838
908
878
876
892
896
847
871
859
887
850
887
827
982
843
954
815
814
940
966
830
803
841
901
876
808
981
894
813
913
943
991
960
869
900
834
965
938
989
871
999
905
937
992
959
995
994
941
820
820
801
959
862
917
935
812
932
986
944
995
949
830
973
904
822
881
881
889
869
926
988
908
834
934
891
925
952
980
993
990
854
899
869
997
985
868
923
845
847
980
971
923
803
944
929
859
923
840
857
886
869
983
897
913
847
851
937
819
827
980
981
913
960
957
974
825
826
846
858
850
938
941
918
886
838
997
824
860
931
982
881
996
889
811
999
998
819
995
946
984
941
818
953
959
976
811
880
862
849
922
891
973
833
905
980
903
962
904
839
873
806
911
937
839
903
895
957
805
957
936
985
983
894
908
956
816
853
883
932
970
817
879
937
868
902
968
845
874
965
905
845
801
829
887
820
864
870
899
802
916
829
890
988
970
944
910
858
990
810
900
934
808
802
978
829
962
960
896
802
936
813
906
933
940
982
817
980
842
887
866
868
897
807
969
845
845
945
961
840
966
937
968
899
812
944
854
895
985
800
960
906
923
838
865
964
987
936
904
921
860
887
961
854
899
933
959
965
864
936
940
805
901
984
870
929
828
996
851
964
959
1000
993
944
885
985
979
809
886
889
857
974
883
865
809
844
964
973
858
896
880
808
999
816
997
899
882
961
986
924
941
999
903
992
976
974
808
954
837
927
973
971
955
976
965
989
847
852
916
914
981
932
981
927
990
803
902
902
947
951
975
803
878
917
848
870
855
845
829
851
952
816
801
986
921
960
829
988
995
820
921
890
817
964
813
974
803
889
899
858
843
871
966
847
991
873
864
814
870
903
964
941
893
866
983
822
997
866
852
838
956
951
922
998
920
831
946
995
856
897
863
935
893
941
927
946
901
836
995
835
977
923
976
939
847
827
994
917
933
802
951
858
842
829
801
844
987
911
980
978
886
914
816
912
819
874
831
841
996
880
965
849
927
926
815
825
991
978
851
815
880
883
987
915
812
993
864
989
927
949
983
971
945
947
892
922
999
816
925
858
963
970
987
923
844
977
839
992
877
820
862
998
845
863
982
835
942
884
948
962
970
896
890
995
957
980
905
996
898
886
923
914
977
906
891
889
808
910
851
903
903
861
826
951
941
958
976
975
862
801
957
973
956
822
913
940
815
924
876
937
826
813
867
891
915
817
955
849
826
948
883
853
868
879
927
953
859
847
915
801
923
883
814
914
978
992
816
850
905
816
910
953
910
987
921
893
962
915
807
877
923
881
937
975
825
873
824
906
889
817
934
925
928
837
957
930
993
916
969
958
951
967
987
864
927
987
866
804
992
936
888
869
913
802
973
855
933
952
877
875
949
902
950
949
892
915
979
844
840
813
886
988
947
801
846
820
877
883
837
888
846
860
969
901
893
904
855
996
978
947
918
942
921
940
917
965
824
913
972
958
990
957
919
825
924
800
845
991
857
822
868
990
838
860
982
870
870
970
995
979
866
823
871
943
899
942
947
970
830
835
923
943
827
967
882
800
879
989
901
920
815
924
814
817
953
818
928
804
949
935
950
934
879
915
863
935
836
980
966
829
990
826
806
963
929
991
909
980
998
866
806
803
920
867
890
894
965
938
925
948
864
944
977
812
845
801
817
947
957
872
959
811
957
806
875
944
981
947
818
981
999
895
990
824
851
887
839
932
812
870
981
814
873
874
834
849
983
857
959
905
972
852
852
911
880
949
947
912
927
885
804
894
964
820
992
812
910
864
912
965
943
975
822
978
938
901
837
842
900
809
895
840
848
931
915
850
801
940
906
886
814
815
821
975
887
852
984
972
850
919
874
821
951
958
845
868
867
942
919
873
925
848
905
823
947
834
860
825
973
987
982
842
971
810
960
943
915
986
953
870
975
803
884
848
840
940
912
810
854
827
986
835
888
954
807
837
801
946
968
867
896
862
899
826
973
873
967
905
902
819
989
851
810
896
941
871
992
949
977
817
872
961
990
810
883
928
933
817
820
920
953
905
986
993
958
941
802
926
843
879
864
823
980
865
990
891
801
810
993
993
807
875
957
906
836
899
887
988
884
935
886
949
854
995
964
835
878
826
999
860
847
899
937
955
953
803
967
895
826
983
973
811
934
836
859
802
810
850
900
824
991
948
863
950
923
897
806
948
984
927
828
875
972
869
989
865
887
875
891
918
835
960
856
859
944
997
983
872
990
847
800
904
954
943
817
857
923
822
940
999
995
993
924
857
880
892
988
911
916
922
960
971
946
908
820
956
956
992
830
997
826
889
968
852
843
846
837
940
944
926
935
909
956
811
879
906
811
902
974
856
900
930
928
854
925
890
866
882
939
920
899
882
970
880
920
876
874
826
917
814
816
817
943
860
931
839
961
855
847
877
886
929
841
880
910
807
817
897
843
885
959
883
978
953
844
866
974
963
841
913
892
887
890
919
840
958
834
955
989
987
895
896
884
812
964
890
970
948
991
837
902
980
872
910
943
883
831
827
909
972
930
861
940
945
971
800
809
816
968
855
866
838
834
880
943
852
895
960
915
971
906
860
880
811
893
839
809
996
909
914
865
856
891
830
975
873
813
995
878
968
901
991
938
951
938
879
830
840
805
837
880
839
904
839
877
913
917
846
877
960
826
999
940
923
886
954
966
820
929
847
996
969
859
933
905
873
940
841
856
807
999
853
954
983
921
935
866
929
958
924
937
957
805
965
867
969
897
883
997
841
941
859
868
840
905
972
804
941
937
978
914
865
815
873
905
837
866
968
883
922
843
948
963
884
976
808
999
964
911
917
947
989
862
940
885
914
823
867
997
919
893
911
983
986
935
916
850
899
931
874
862
806
933
964
926
989
869
981
969
905
861
952
968
931
972
822
993
945
897
913
979
823
913
968
826
982
890
890
868
959
858
917
896
918
828
845
836
833
967
898
853
922
855
920
875
868
956
885
918
842
896
811
949
845
884
957
962
843
977
894
955
908
894
839
992
892
822
830
807
987
802
984
822
947
896
855
993
926
952
924
946
920
902
859
943
863
876
890
911
854
984
893
983
876
848
809
899
897
980
876
854
963
905
831
981
887
950
887
907
899
810
999
876
999
845
946
926
859
811
986
922
971
864
851
889
986
993
865
893
821
860
941
854
868
865
957
952
918
853
815
926
816
952
866
955
845
974
910
910
962
950
923
938
990
875
943
976
988
811
807
816
958
875
938
901
903
929
953
957
824
864
920
901
962
800
846
978
906
997
911
968
953
985
973
925
964
960
970
993
968
839
979
887
899
931
915
816
923
970
855
876
863
909
935
895
917
908
868
960
873
998
858
980
801
911
928
845
968
849
907
923
887
961
897
909
832
961
855
955
905
889
848
914
967
920
927
973
956
951
802
944
803
877
901
974
857
897
812
996
909
907
806
850
831
988
881
850
887
893
950
921
922
990
879
843
936
866
827
881
810
827
826
808
966
867
838
900
817
988
894
938
936
889
976
946
956
998
872
880
986
961
855
821
964
887
927
904
806
929
865
955
993
920
868
922
942
918
873
848
912
904
922
946
841
801
916
965
937
860
898
909
905
833
855
887
936
832
860
878
908
819
919
964
888
857
841
805
854
814
995
897
861
924
960
848
916
924
938
875
864
966
943
952
924
806
866
876
888
932
866
927
958
887
1000
878
899
899
952
871
849
813
862
962
945
817
811
926
900
926
983
950
892
890
891
988
948
810
1000
897
874
925
810
843
982
829
863
981
915
863
801
886
806
856
954
967
998
954
932
918
923
802
974
924
934
872
949
843
963
919
912
969
946
856
815
824
880
930
813
953
832
926
811
961
952
855
870
923
816
915
872
826
807
852
919
885
965
869
823
924
912
833
970
888
926
910
980
911
867
810
813
997
951
871
839
947
953
856
862
925
998
838
829
879
847
972
801
869
915
923
988
869
912
913
939
896
865
940
859
834
808
903
849
981
915
905
967
932
961
972
954
860
926
856
866
998
907
998
818
986
922
964
900
1000
882
985
899
948
875
804
936
897
977
834
906
985
837
925
937
982
936
943
940
827
903
868
885
911
998
812
951
955
825
815
906
999
819
801
986
879
901
804
803
801
957
944
841
858
969
848
860
974
872
975
935
872
876
864
984
936
913
998
836
826
919
843
909
826
986
869
996
879
866
824
894
810
826
944
967
925
995
900
908
944
807
994
841
890
952
824
805
949
858
950
831
902
999
850
802
873
833
981
829
807
859
919
812
811
824
928
830
960
978
966
943
910
978
982
920
883
811
821
919
974
874
996
964
840
911
816
988
898
857
967
994
823
841
968
919
962
903
974
915
959
934
938
829
913
855
884
983
890
815
853
953
961
909
918
929
979
903
895
945
845
820
957
990
999
893
910
916
983
968
927
975
977
998
838
971
944
990
890
832
869
854
924
800
937
896
936
879
868
922
836
840
909
915
950
814
900
987
910
985
887
892
945
994
861
876
834
945
872
874
843
980
808
894
857
832
887
859
889
955
989
913
827
943
819
948
901
944
810
898
944
926
913
986
822
934
913
889
980
955
923
973
868
855
836
914
804
934
916
986
978
856
876
924
811
871
977
850
867
985
956
991
917
949
831
920
865
903
923
945
845
926
802
965
878
849
903
936
840
992
840
934
863
962
971
850
820
998
962
829
862
854
930
836
966
816
957
867
999
962
904
959
980
982
865
851
805
892
872
856
956
911
1000
843
916
984
989
939
934
937
836
981
985
877
976
867
817
938
896
954
837
851
944
906
807
949
940
936
905
920
982
958
876
886
916
839
926
871
907
985
957
896
974
939
838
865
810
806
855
817
993
805
875
862
944
814
904
999
941
812
881
980
905
932
886
885
912
884
866
801
977
988
971
950
936
810
941
957
959
835
882
947
952
874
941
967
994
836
864
827
991
924
946
812
946
981
879
957
923
978
812
863
946
998
800
832
872
823
965
849
829
837
889
964
973
809
975
853
820
878
847
905
925
833
890
980
873
822
814
896
826
856
865
942
964
919
862
954
961
915
867
887
904
823
926
896
856
847
969
918
930
991
859
871
962
970
990
974
942
933
893
921
816
881
836
829
941
959
972
984
886
892
912
882
960
943
974
871
872
1000
885
855
868
973
815
805
956
820
881
964
809
892
896
971
935
833
980
996
894
884
837
807
800
972
967
958
914
920
969
812
996
918
828
808
981
941
843
990
806
966
912
828
978
810
893
866
954
952
935
936
846
865
904
801
866
856
951
964
898
981
931
858
908
800
998
875
884
805
908
885
812
903
964
877
840
862
804
930
873
864
877
825
809
936
843
882
946
970
959
917
802
949
850
958
923
867
953
968
892
970
989
820
827
959
907
998
950
902
847
974
903
972
969
851
928
939
992
866
908
945
827
814
958
988
958
892
916
848
898
870
801
877
817
985
801
999
969
905
943
937
821
906
922
932
866
904
945
835
930
867
939
818
834
921
874
806
822
931
829
923
932
968
932
888
872
821
993
816
838
965
984
926
840
840
870
874
890
991
939
948
917
847
827
971
843
828
929
867
933
895
992
970
823
909
879
800
838
898
951
882
881
906
966
897
946
982
862
836
839
861
930
922
957
1000
937
878
872
993
807
853
943
828
956
888
946
896
815
904
966
862
920
909
843
973
886
982
914
866
990
870
874
861
852
924
880
991
966
813
862
940
992
889
807
808
947
960
986
856
956
874
845
877
876
879
972
807
968
962
861
827
993
925
988
989
906
846
903
889
940
899
873
845
906
973
986
868
886
988
868
943
980
956
940
995
819
851
808
921
863
806
918
861
921
947
806
933
863
958
897
950
942
967
972
848
953
857
884
921
922
883
800
965
960
930
825
802
805
810
811
858
808
950
971
818
962
950
921
864
959
912
896
874
929
970
800
868
813
847
911
975
839
868
830
849
940
917
986
920
893
909
900
830
898
959
867
854
964
970
993
810
893
947
906
995
877
996
849
968
885
991
978
816
969
833
932
881
887
881
827
960
812
852
925
905
964
811
886
846
916
924
802
882
958
940
952
925
922
989
889
921
934
991
803
879
833
962
996
820
885
850
840
834
809
814
810
815
986
997
974
822
885
857
919
879
973
810
836
928
876
811
963
822
935
958
928
926
889
804
903
861
893
897
926
940
967
963
975
867
993
927
839
857
801
952
851
905
809
879
825
967
837
832
956
950
823
990
867
976
804
921
950
900
857
834
981
976
832
899
971
976
996
883
829
980
954
810
885
854
817
916
997
808
875
946
856
820
841
833
880
891
888
876
962
856
989
874
891
842
845
918
852
839
973
909
897
846
886
965
847
865
829
899
874
967
917
804
842
804
988
972
884
903
996
903
901
904
881
948
880
883
858
932
817
899
928
946
960
878
845
854
997
944
983
817
814
847
948
956
872
977
917
860
923
852
843
812
866
999
909
836
826
842
807
960
923
840
899
918
846
915
942
822
806
893
916
826
837
879
870
930
997
826
994
869
990
973
900
928
993
822
858
920
873
976
831
931
828
869
998
953
884
923
902
997
965
929
823
854
1000
955
928
828
819
807
890
982
846
882
831
917
878
815
988
982
919
874
984
908
852
888
841
901
984
889
888
875
918
945
947
806
873
852
978
822
885
946
946
856
804
921
975
993
829
883
825
835
990
989
801
975
820
945
871
949
843
949
858
800
930
955
916
971
961
813
841
848
814
935
964
930
950
996
918
862
969
839
944
853
998
875
816
934
822
931
965
877
875
857
948
841
989
801
831
924
862
806
948
862
912
942
873
846
831
820
960
951
817
871
924
916
939
877
962
835
855
899
823
806
835
957
932
809
982
829
894
886
840
899
904
939
828
902
931
825
982
815
966
968
992
993
989
868
860
941
881
948
830
838
968
948
826
963
819
941
957
928
977
981
921
962
906
935
994
967
831
999
968
801
966
901
815
919
834
997
826
819
836
821
964
865
1000
935
916
868
922
948
961
840
997
987
807
828
930
949
899
900
909
897
868
852
947
952
963
881
883
959
806
945
956
944
886
965
875
964
961
809
956
949
862
892
971
948
826
891
872
934
957
926
908
994
824
941
823
996
997
805
822
883
910
802
840
832
878
858
843
960
861
840
922
921
954
934
982
826
974
956
901
917
907
916
831
807
876
948
872
939
905
945
971
877
988
820
958
969
930
864
848
957
813
936
811
911
933
951
921
815
860
874
872
821
895
884
858
810
813
908
886
900
975
915
891
804
836
804
894
926
827
992
991
855
894
839
998
941
866
950
995
840
802
842
951
890
860
827
852
843
923
825
834
833
858
983
911
913
869
900
892
988
909
923
858
984
842
846
847
913
984
945
909
820
856
923
997
913
984
817
981
932
842
975
909
828
892
967
956
991
883
993
803
950
949
974
869
947
873
981
872
805
800
830
960
972
952
834
910
958
947
879
869
869
909
965
812
954
945
980
834
819
852
930
867
825
967
854
971
978
942
856
900
823
875
906
861
922
818
965
832
808
861
991
826
997
975
844
884
929
924
995
827
957
861
942
856
930
807
902
915
872
988
932
880
941
943
879
874
960
964
852
917
846
843
954
951
892
905
924
882
881
957
998
802
911
813
981
961
965
948
959
887
875
876
901
866
892
987
930
823
800
891
991
899
899
823
841
805
923
803
881
833
940
888
905
955
851
934
954
873
933
829
881
952
856
925
927
878
959
926
844
869
889
824
845
886
829
891
967
981
940
860
836
901
966
846
984
990
811
896
831
817
806
910
990
860
937
825
856
843
861
803
963
857
864
859
860
902
883
929
877
815
995
984
812
871
906
974
930
933
868
945
848
880
876
900
896
828
899
946
838
970
930
937
903
936
859
836
907
994
945
984
820
916
949
910
914
849
901
834
940
869
975
832
868
836
895
957
884
864
800
989
917
840
946
812
840
892
919
938
982
949
989
969
937
877
854
982
889
829
956
828
857
873
865
813
912
982
962
821
851
926
824
870
924
998
859
852
816
958
954
848
851
872
984
815
972
802
922
915
864
927
963
933
899
911
963
906
833
944
851
969
964
927
829
856
900
945
818
966
953
891
801
896
937
823
863
944
912
983
815
933
808
935
845
858
965
938
907
840
860
914
972
935
973
920
991
927
871
890
835
877
895
863
934
954
955
968
880
943
855
960
938
992
871
880
949
873
922
855
838
895
996
907
978
817
988
828
885
939
895
955
908
997
812
885
871
978
887
879
981
861
934
862
983
864
951
816
956
844
820
882
956
969
914
939
865
803
817
908
920
920
965
925
932
850
876
832
837
847
913
915
823
911
984
921
984
974
886
971
944
802
848
927
869
821
986
928
912
870
919
958
807
862
939
822
966
815
840
961
823
895
825
939
802
937
817
804
933
931
979
859
918
966
895
966
836
971
937
870
804
808
855
954
980
847
915
908
883
911
860
971
944
995
950
967
877
838
993
840
992
872
834
823
890
893
920
884
892
855
887
939
808
924
815
990
955
972
897
964
990
846
807
865
953
877
852
959
852
817
827
999
818
958
944
978
984
991
882
818
908
939
831
902
880
910
851
937
836
998
993
907
962
825
970
898
1000
817
1000
890
863
969
966
813
895
858
928
826
824
807
960
864
998
845
941
867
869
945
865
812
966
808
960
826
962
848
900
926
993
988
909
858
811
857
845
977
919
807
968
900
819
825
892
828
686
609
697
607
666
570
518
666
693
584
506
672
583
556
594
608
587
649
578
607
530
606
556
591
551
502
700
519
637
511
601
616
553
518
502
544
515
549
581
574
580
649
571
600
629
685
627
603
545
525
558
615
515
557
687
619
697
570
569
662
628
644
629
561
620
658
699
524
566
689
622
528
654
601
668
610
698
536
558
627
686
584
667
597
663
582
698
671
622
653
673
552
540
598
548
678
651
549
593
696
609
609
672
589
564
589
667
620
686
544
504
583
523
629
632
569
659
552
656
688
530
673
699
630
536
681
517
668
568
584
644
668
632
621
619
657
676
563
554
580
522
574
688
689
673
564
572
501
650
580
640
655
611
591
675
568
604
541
570
524
682
566
638
665
658
679
604
590
509
541
645
561
601
678
548
640
590
614
673
529
529
631
687
526
652
507
649
507
655
546
564
546
673
612
697
650
670
658
688
503
566
584
624
527
534
537
658
620
670
696
634
659
527
572
522
554
604
563
591
523
663
690
694
692
637
662
650
667
700
681
578
632
605
696
574
572
603
552
619
668
582
632
618
687
679
630
605
530
501
592
508
581
554
618
654
615
693
695
637
649
698
668
524
557
593
571
575
532
570
662
522
534
608
671
623
515
535
691
657
527
626
579
577
575
579
508
620
650
689
507
579
686
626
632
518
514
665
680
637
617
640
677
530
650
575
532
542
523
558
654
566
655
688
564
594
647
589
604
524
623
676
641
571
618
575
506
571
561
652
542
611
618
535
528
525
532
583
674
515
539
700
577
668
562
692
605
689
596
693
694
552
610
589
683
553
684
602
511
585
663
671
584
527
581
616
538
688
507
528
676
506
522
574
628
641
606
623
531
510
521
670
512
680
620
685
502
697
648
601
600
510
555
686
602
517
665
668
654
526
515
577
647
523
690
514
628
549
516
521
615
572
696
519
532
636
687
685
672
571
628
690
598
695
569
525
538
607
652
584
697
547
679
631
604
623
551
610
503
541
530
520
679
622
575
605
621
606
572
589
571
530
653
624
575
563
526
575
680
698
651
666
539
578
662
693
516
694
548
644
619
636
619
573
615
668
552
583
538
607
633
686
519
569
576
639
508
602
553
575
610
622
554
562
539
625
643
571
526
535
595
652
583
579
631
552
649
637
523
596
561
556
652
625
547
557
510
661
567
558
666
541
532
527
586
685
543
634
667
597
535
613
618
583
627
631
686
529
515
628
666
585
590
559
577
554
597
693
676
542
558
502
673
593
610
539
652
605
509
537
520
611
665
505
562
586
606
623
582
575
571
658
526
510
675
696
532
657
609
680
615
631
628
658
598
504
658
661
528
535
600
555
589
680
685
631
580
637
626
550
649
651
577
645
513
508
540
669
679
504
637
632
524
698
681
637
514
514
667
537
661
687
684
532
579
574
615
565
648
653
594
677
568
660
513
588
557
598
568
557
502
511
602
590
649
656
655
649
665
660
673
616
595
555
665
531
623
574
692
692
511
698
690
531
542
696
616
690
522
520
683
682
549
560
524
524
695
588
608
663
528
656
607
667
521
651
570
502
604
549
564
685
560
513
664
615
578
594
694
508
683
635
591
515
639
619
591
648
559
563
676
645
628
568
598
552
649
686
514
520
666
543
603
532
525
502
508
648
512
543
569
621
504
695
632
519
675
583
555
563
621
517
518
643
539
572
599
562
542
620
569
646
530
655
533
596
562
584
598
531
514
688
601
658
598
675
673
566
536
666
570
523
653
613
504
553
681
653
516
682
591
612
664
596
662
518
533
542
660
646
666
644
525
590
626
647
507
691
618
538
613
504
654
622
595
520
638
536
613
546
515
536
645
619
641
600
686
567
666
533
571
676
583
505
617
647
534
532
539
660
569
621
665
566
590
653
600
577
653
655
670
515
631
522
519
519
641
557
652
663
661
578
539
544
635
526
549
699
568
504
570
502
540
509
593
526
505
693
533
519
617
564
588
578
548
561
680
563
642
631
603
504
541
587
525
503
651
623
642
506
650
547
641
598
629
619
521
539
541
607
604
688
551
638
634
609
594
581
693
510
680
500
638
542
697
653
545
638
576
570
694
514
528
553
694
563
688
606
589
633
697
683
595
658
505
525
519
545
545
634
601
549
570
590
634
533
698
619
608
699
547
617
565
631
619
658
571
601
510
643
559
651
511
673
577
697
596
607
658
675
698
588
670
684
668
510
558
502
663
581
650
626
560
639
562
547
552
679
682
665
614
604
591
612
577
629
571
690
504
633
581
518
604
645
504
572
673
529
689
684
513
584
538
649
648
612
585
672
508
642
568
537
578
502
520
672
539
542
690
646
542
548
677
646
572
547
646
624
517
502
578
524
632
535
610
588
692
564
619
508
681
503
636
690
639
546
505
696
674
670
684
526
667
613
591
694
531
554
528
546
667
682
674
622
657
576
527
631
647
696
648
539
610
553
696
642
593
633
586
691
548
571
517
550
671
604
556
507
504
652
567
658
588
636
686
571
633
517
628
554
653
539
662
665
696
673
611
508
697
521
552
601
673
581
646
663
620
611
534
639
559
542
565
690
628
602
503
542
695
528
686
624
503
583
580
638
642
676
559
597
630
647
683
549
627
695
668
647
564
665
680
572
508
610
644
618
628
589
614
668
611
695
618
544
557
527
620
607
618
644
595
537
506
501
686
502
517
579
638
592
598
664
514
597
635
565
690
522
680
623
621
517
661
577
554
677
603
662
686
511
559
600
584
517
699
611
662
631
683
610
652
550
595
574
642
618
521
528
533
577
627
692
560
577
664
592
546
515
568
627
700
675
680
685
688
652
504
639
622
594
610
527
539
606
637
536
652
507
658
572
541
677
656
574
625
615
698
589
696
633
680
640
504
607
628
657
558
651
533
523
578
615
604
516
632
527
674
692
671
642
699
668
687
584
631
577
577
502
675
652
670
524
622
606
505
550
653
549
700
575
534
640
583
583
529
663
584
541
627
616
507
687
696
688
633
521
671
555
673
624
596
651
589
580
698
503
585
642
660
562
631
645
590
510
646
699
686
624
575
579
516
621
693
615
534
605
553
523
619
637
675
590
519
557
648
604
577
644
613
661
538
648
664
623
655
681
599
689
517
684
665
649
540
621
562
520
649
508
656
545
655
533
630
691
609
623
654
655
607
501
618
543
563
633
686
619
659
637
692
622
613
518
622
686
670
603
527
666
683
558
699
627
595
603
683
550
534
562
513
546
611
586
562
642
576
593
656
506
657
553
677
596
521
596
513
518
656
625
507
624
585
508
509
557
545
698
648
674
521
602
672
558
546
672
681
692
599
503
663
658
639
572
632
613
518
642
666
518
695
616
682
612
549
674
541
555
686
675
628
695
539
538
505
557
593
667
509
621
610
652
530
656
642
513
575
638
645
678
532
569
505
692
507
508
536
657
689
694
603
674
639
509
536
651
675
688
567
549
547
580
662
667
654
507
673
675
507
643
688
688
693
560
623
591
564
515
594
577
690
591
662
622
623
626
579
585
564
664
507
637
543
654
615
563
618
599
671
698
604
528
525
601
697
554
637
566
610
662
554
603
684
646
676
604
576
535
620
685
600
531
625
624
665
641
658
663
554
691
648
538
582
591
536
603
694
586
618
543
661
691
540
689
506
690
509
697
564
552
531
548
591
690
699
657
509
629
693
616
632
560
562
697
521
610
608
518
513
623
524
640
685
696
533
519
544
638
535
640
549
682
614
578
