396
396
401
406
407
409
410
410
412
415
415
416
416
416
417
418
418
418
419
419
419
419
420
420
433
433
434
434
436
436
436
436
436
436
436
436
436
436
436
437
437
437
437
440
441
442
443
445
447
448
449
449
450
451
452
454
454
455
461
463
466
468
471
474
477
480
481
482
484
484
484
484
485
485
485
485
481
480
478
475
467
459
457
455
451
450
449
448
447
446
445
445
443
444
447
454
436
435
432
431
430
429
427
427
426
422
422
423
423
423
423
420
418
420
423
425
422
422
420
420
419
419
418
417
417
416
415
415
415
416
418
418
418
418
418
419
421
423
431
432
434
437
438
443
444
444
444
444
444
444
444
444
443
443
441
438
437
437
437
438
438
438
437
437
437
437
437
437
438
439
439
442
443
443
445
445
446
447
448
449
451
451
451
451
454
454
455
457
457
457
457
461
463
464
464
464
464
465
466
466
471
472
474
477
478
482
482
481
481
480
480
481
482
482
483
485
489
492
493
494
496
496
496
497
499
500
501
502
502
507
511
512
512
516
517
519
520
522
525
532
538
544
552
558
566
571
577
580
580
581
581
581
580
577
575
571
566
567
567
567
567
566
566
565
565
566
567
569
573
575
584
590
601
601
603
610
616
617
619
621
622
627
628
631
633
636
642
643
647
649
651
651
651
651
649
651
652
656
661
666
668
669
670
671
673
674
676
679
682
685
687
689
691
692
693
694
694
695
697
697
702
705
711
711
711
711
711
711
712
714
715
715
715
716
716
716
716
716
716
715
715
715
716
719
719
719
721
721
718
715
713
711
709
707
699
697
694
691
688
679
672
668
662
659
654
647
643
640
638
637
636
634
633
630
629
624
624
623
623
621
621
628
628
628
629
631
631
631
632
635
639
643
644
645
646
650
651
654
655
656
657
659
661
662
663
665
665
666
672
678
679
680
682
684
686
687
689
690
693
696
699
701
703
711
718
736
738
740
743
743
752
757
762
766
776
776
776
777
779
781
782
783
786
787
787
788
790
791
791
789
788
788
788
788
790
793
799
803
805
805
807
809
810
819
825
832
833
835
839
851
853
874
879
873
866
855
838
836
836
832
827
824
826
829
831
832
833
836
836
837
837
837
834
833
831
829
825
821
817
813
809
803
801
797
793
790
789
787
785
780
773
770
766
759
763
763
763
765
766
767
768
768
768
768
768
767
762
755
752
751
750
749
738
731
728
723
721
718
715
712
708
704
698
694
689
681
674
668
661
656
653
648
641
636
634
628
626
621
616
609
606
605
599
589
590
593
594
591
586
578
576
574
573
570
560
545
545
532
528
523
520
516
512
509
499
499
497
489
487
485
481
481
480
478
476
473
472
470
469
468
467
466
464
464
462
461
460
459
457
456
456
455
454
454
453
452
452
451
450
449
447
445
443
443
443
442
440
439
439
438
437
436
436
436
437
438
441
442
443
443
439
437
430
428
426
424
424
425
427
428
430
433
437
437
437
437
437
438
439
439
439
439
439
441
442
448
449
453
453
453
452
451
451
450
450
450
451
453
455
457
458
458
458
462
463
465
466
467
469
470
471
472
482
481
481
481
493
499
502
507
509
516
519
522
522
522
522
522
528
543
547
551
556
561
565
564
564
563
563
565
575
589
597
597
597
596
596
594
592
589
578
575
541
536
535
535
528
528
527
526
525
525
531
532
534
533
523
518
516
515
514
514
514
515
515
515
514
512
512
509
506
505
505
504
502
500
499
500
501
502
504
503
502
501
499
496
496
495
494
487
483
481
480
479
479
479
479
478
477
476
475
475
475
474
474
473
472
472
471
471
471
468
467
467
467
466
465
464
461
459
458
458
457
456
456
455
455
453
449
447
447
447
447
447
446
441
440
440
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
439
438
437
437
437
437
439
440
442
443
443
443
443
444
444
444
444
444
445
446
447
450
459
468
468
467
464
453
452
453
454
454
452
451
448
448
447
447
446
445
444
444
443
443
445
446
447
446
442
439
435
428
429
429
429
430
432
433
433
433
433
433
436
438
439
454
454
453
453
446
438
431
425
418
416
413
414
418
418
418
417
417
416
416
419
420
422
423
424
422
417
413
412
408
407
407
407
413
420
420
419
419
418
415
413
412
411
410
396
396
397
397
398
399
400
402
405
407
409
412
420
419
418
418
425
409
395
388
380
381
382
383
384
388
400
404
407
414
420
419
418
409
388
387
384
381
378
377
376
375
376
376
377
378
378
380
381
382
383
375
378
374
374
374
375
376
378
385
387
388
388
387
382
381
378
374
372
372
372
372
372
371
371
371
371
370
370
370
370
369
368
368
367
367
366
366
366
365
365
365
365
365
365
365
365
364
364
363
363
363
362
362
362
361
361
360
360
360
360
360
360
360
360
360
360
360
359
357
357
358
358
358
358
358
358
357
357
357
357
356
356
356
356
356
357
357
357
357
357
358
358
358
358
357
357
356
355
354
354
353
353
353
353
353
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
352
353
353
353
353
353
353
352
352
352
352
352
352
352
352
352
352
352
351
351
350
350
350
350
350
349
349
349
349
349
349
350
352
353
352
352
352
352
352
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
350
350
349
348
347
347
347
347
346
346
346
346
345
345
345
345
345
345
345
345
344
344
344
344
344
344
344
344
344
344
344
344
346
347
351
352
354
356
356
353
352
349
347
346
346
346
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
346
347
347
347
347
347
347
347
347
346
345
345
345
345
343
343
342
341
341
341
342
343
342
340
341
342
343
354
356
360
374
377
378
378
379
379
379
379
380
380
382
384
386
389
396
410
418
421
428
433
443
445
447
449
454
456
457
461
461
463
464
464
464
464
465
465
465
465
466
466
466
466
466
467
468
469
471
472
484
486
488
490
495
495
495
495
496
496
497
497
500
503
505
506
509
508
506
505
504
501
499
500
501
501
504
505
505
506
507
508
510
511
512
513
515
524
525
526
528
545
545
545
546
547
548
553
554
555
558
560
560
560
560
561
575
576
577
578
578
579
579
580
581
582
583
583
583
582
582
580
579
578
579
580
582
583
587
588
589
590
590
590
590
590
590
590
589
589
589
587
587
587
587
587
586
586
586
586
586
586
586
586
586
588
591
591
592
592
592
592
592
592
592
592
592
593
593
593
594
594
594
594
592
591
590
588
588
586
580
579
579
579
579
579
579
579
579
577
576
575
575
575
576
577
581
582
583
583
573
573
573
571
569
566
554
549
546
542
541
539
539
537
536
535
534
534
533
530
528
524
524
524
527
528
528
529
532
532
536
538
539
540
541
541
542
544
545
549
551
554
555
556
557
557
558
559
570
571
573
577
579
580
581
579
579
579
580
580
580
582
588
590
591
593
596
599
602
615
615
615
615
615
615
616
616
616
618
619
620
620
620
620
620
620
620
620
620
620
620
621
626
628
628
629
630
630
634
635
637
638
644
644
644
645
645
644
640
639
638
636
641
642
646
650
653
654
656
657
659
664
663
663
661
660
659
655
654
654
653
648
644
643
640
637
634
632
631
626
623
616
612
604
602
599
598
595
592
588
588
587
585
584
582
582
581
580
578
577
576
575
574
573
573
572
571
569
568
565
563
566
566
567
568
571
572
572
569
569
569
569
569
570
572
573
574
575
575
574
573
573
575
576
576
576
576
576
576
577
578
579
579
580
580
581
582
582
582
582
582
582
583
586
589
589
589
591
592
595
596
596
595
595
595
595
594
594
594
594
594
594
594
594
594
596
597
598
601
604
606
610
615
620
625
626
628
629
631
639
643
655
659
660
664
667
667
668
668
667
666
666
666
667
667
669
670
672
673
675
679
684
688
687
684
680
679
677
674
673
669
668
667
665
661
660
658
661
664
667
670
672
672
665
659
657
656
654
651
644
643
643
642
640
638
638
638
639
639
639
640
640
643
646
648
650
653
658
659
662
664
666
672
673
675
678
680
682
685
686
688
688
689
690
697
706
716
729
730
731
731
732
733
735
736
733
732
730
728
727
726
724
720
720
720
720
720
720
720
721
723
723
716
713
708
705
704
685
681
672
669
653
651
650
650
651
651
652
652
653
649
643
642
635
637
638
639
641
642
652
656
659
663
665
665
666
682
684
685
685
686
686
689
689
689
688
684
683
683
682
684
689
691
693
694
695
694
693
694
705
711
716
720
719
718
723
740
741
741
741
742
742
742
743
745
753
755
756
757
759
760
761
762
765
766
767
769
770
772
774
777
777
776
775
787
789
791
794
797
800
809
818
825
831
841
847
853
856
858
861
864
867
869
866
863
860
856
864
866
869
871
873
892
894
897
905
918
922
928
929
930
935
940
944
946
948
972
981
983
984
986
986
989
991
991
991
992
992
996
995
990
986
974
963
955
950
939
936
934
932
930
931
932
928
926
913
908
910
913
917
925
926
921
919
917
915
913
909
891
879
877
876
874
871
860
837
832
831
831
830
829
814
809
807
799
796
796
795
795
794
793
788
780
779
778
776
784
773
767
763
761
758
746
743
741
738
731
730
730
729
729
729
728
728
726
728
733
733
733
732
732
732
732
725
725
725
722
719
714
709
706
702
701
701
700
699
699
699
698
696
695
691
688
687
686
685
684
684
684
684
684
682
677
674
672
670
670
670
670
667
666
664
664
664
663
663
662
662
663
666
669
670
672
673
674
674
675
679
680
682
675
674
685
690
691
692
674
672
670
689
689
686
681
673
670
667
665
662
657
653
650
650
649
649
645
644
642
642
642
644
646
647
649
651
654
656
656
657
657
655
651
651
651
652
649
641
629
630
631
632
632
633
636
637
637
636
635
635
634
631
626
625
626
627
628
630
633
623
621
611
611
611
611
614
622
623
624
626
628
628
623
622
621
619
628
633
638
639
647
655
653
637
637
639
638
637
635
632
631
630
620
616
613
612
608
608
607
607
607
609
610
611
612
614
614
614
614
615
618
620
621
620
618
619
612
603
601
592
592
593
606
608
608
607
606
606
606
608
610
614
611
606
606
607
606
604
598
598
603
606
606
613
618
622
624
624
626
628
630
628
628
636
636
626
624
615
609
606
605
599
597
596
596
596
595
595
595
594
594
594
594
594
594
594
594
595
596
596
596
610
609
606
603
603
602
599
600
600
602
601
600
597
595
593
591
589
587
586
585
579
578
576
574
574
573
573
572
570
568
567
566
563
561
561
561
558
557
556
556
557
557
555
559
568
570
575
561
564
562
558
561
565
568
568
568
569
563
560
557
555
553
550
548
544
541
541
542
542
542
543
545
546
547
549
548
548
547
545
545
545
545
545
545
538
536
533
535
535
535
536
536
537
543
544
546
547
550
554
561
562
562
563
563
565
567
570
575
578
592
592
592
592
589
583
583
583
583
585
587
588
590
592
592
593
594
594
595
598
605
606
607
624
623
624
625
626
627
629
633
640
662
662
662
662
658
656
652
652
652
652
652
651
648
645
643
645
647
647
647
648
648
648
649
649
649
650
651
652
652
654
655
657
659
665
667
680
681
685
688
701
702
705
707
707
710
713
717
721
723
728
733
734
735
735
735
735
731
722
719
715
706
706
705
705
703
702
702
701
699
695
695
694
694
691
690
689
688
685
683
681
680
678
678
674
669
656
655
654
654
652
641
639
636
630
621
610
603
602
601
600
587
579
577
577
577
576
575
574
574
572
570
568
565
563
561
553
547
537
527
526
524
524
524
524
524
524
524
524
522
521
518
517
516
513
510
510
510
510
508
508
508
518
521
523
529
531
533
534
538
545
546
547
551
553
554
538
534
530
527
525
523
522
523
524
524
525
526
527
528
528
527
526
525
524
524
525
525
526
527
527
527
527
525
525
526
526
525
525
525
527
527
527
527
528
528
528
528
528
526
526
526
526
527
529
531
535
534
534
537
541
542
544
544
544
544
547
550
542
546
547
547
551
555
557
558
559
561
561
562
567
569
571
572
574
574
574
575
575
575
575