522
522
522
522
522
522
522
522
526
527
526
526
526
528
529
529
528
526
526
526
527
528
529
529
528
532
534
536
539
545
545
544
540
534
535
538
538
538
537
539
541
545
545
545
544
542
540
538
538
539
539
539
538
537
537
539
541
543
545
547
548
550
550
550
550
558
561
565
585
610
622
628
631
628
625
623
621
619
618
616
616
611
602
600
597
597
596
596
590
588
587
586
585
584
585
586
588
590
592
594
597
602
603
604
608
610
617
622
628
634
640
646
649
652
654
662
668
670
672
674
678
681
693
696
700
698
696
694
692
691
691
697
704
707
718
724
730
731
736
737
740
748
752
755
760
763
766
768
777
780
780
779
778
779
780
784
785
784
774
777
783
788
796
801
801
802
804
809
810
812
816
821
822
824
826
829
836
833
832
831
830
825
818
810
809
805
797
792
786
783
779
775
771
765
758
753
752
748
746
745
743
746
748
749
752
750
745
742
734
725
725
725
726
726
724
719
716
713
712
696
687
684
681
673
668
663
659
657
653
648
643
635
621
615
608
607
606
606
605
604
604
603
602
596
588
585
580
574
565
562
561
559
559
558
558
558
557
556
553
551
553
555
556
557
556
554
553
552
549
545
541
539
537
536
533
531
531
532
533
534
535
535
535
536
538
539
539
539
539
539
539
539
540
544
546
546
546
546
546
546
546
544
543
540
538
536
535
531
529
525
522
518
515
516
517
517
518
520
520
522
522
522
523
523
520
518
522
524
530
534
535
537
538
546
550
550
551
552
552
552
553
552
546
541
536
530
529
528
525
523
519
514
506
503
506
509
510
509
508
508
509
508
503
501
500
497
494
494
494
494
494
494
494
494
494
494
495
498
498
499
499
498
495
493
492
491
491
490
490
490
490
490
491
491
491
491
491
490
490
490
490
490
490
490
490
491
493
494
495
496
497
499
499
498
497
497
499
502
503
504
506
508
509
508
505
504
502
502
501
498
495
494
494
493
493
493
494
497
499
498
497
496
495
493
493
494
494
495
496
501
499
495
491
487
483
481
481
481
481
481
482
484
486
489
494
497
499
500
500
501
501
501
501
501
503
503
499
496
496
497
498
498
498
498
501
505
510
514
514
514
513
513
512
510
505
503
499
495
493
491
491
491
491
494
496
497
499
500
501
501
501
501
501
502
503
505
506
506
505
505
504
503
502
501
500
500
500
500
500
500
500
500
499
497
495
492
489
487
486
485
484
484
484
486
487
488
489
489
490
490
490
490
490
490
491
484
478
474
472
471
470
469
469
467
467
467
468
468
468
468
468
466
465
465
464
464
464
464
464
464
464
464
464
464
464
464
463
462
461
461
461
462
462
462
462
462
461
461
462
462
463
464
464
467
469
470
472
473
475
476
478
478
477
476
475
474
479
483
486
494
495
493
487
484
480
479
478
477
476
476
477
477
477
478
478
477
477
477
478
479
480
481
482
483
483
483
483
483
483
482
482
482
482
482
480
478
476
474
471
471
471
471
471
472
472
472
472
476
479
484
487
488
485
483
480
478
477
477
479
479
480
481
481
479
473
469
464
463
466
470
476
475
474
473
472
472
472
472
472
473
475
477
479
480
477
475
473
471
468
467
466
464
464
463
463
465
469
469
467
468
469
471
471
473
474
472
468
465
463
466
469
470
469
467
466
465
464
463
462
460
454
451
450
455
459
458
457
454
455
456
457
458
461
462
464
464
464
463
463
463
461
457
453
452
450
450
450
450
452
454
454
453
453
452
452
452
452
452
449
447
445
444
444
446
450
451
454
460
463
465
459
453
450
451
451
449
448
447
445
443
441
443
447
450
450
450
450
448
447
447
447
446
444
443
442
442
443
443
445
445
444
440
438
438
439
439
442
443
444
445
445
445
444
443
442
441
440
437
434
433
433
433
434
437
446
453
459
462
465
469
471
472
473
474
473
473
471
471
470
468
467
464
462
460
458
456
455
453
450
447
443
440
438
436
433
432
431
431
431
431
430
428
427
427
427
426
426
426
426
427
427
429
430
431
432
432
433
430
429
427
422
425
431
436
438
442
444
447
448
451
446
439
433
431
428
426
428
430
430
430
430
427
423
419
417
416
414
412
412
412
414
416
416
416
414
410
409
410
412
412
411
410
409
409
409
411
413
413
412
412
415
419
423
428
429
431
434
436
438
439
440
441
442
442
444
448
452
453
450
444
443
447
449
452
454
455
456
457
457
455
453
452
457
463
463
462
462
463
463
463
463
463
463
459
453
451
450
450
449
449
448
447
449
450
451
452
455
454
447
442
439
436
434
433
432
431
430
430
430
429
429
429
428
426
424
421
418
418
415
413
410
408
407
406
405
404
404
404
404
404
404
404
404
404
404
404
405
405
406
408
409
410
411
411
414
418
422
423
423
423
423
422
422
421
421
420
418
415
414
412
411
409
407
407
407
410
412
415
420
422
424
427
430
435
445
456
459
468
471
477
478
478
478
478
476
475
477
471
467
465
465
465
466
466
470
473
477
481
483
485
485
486
486
486
487
487
485
490
492
493
494
495
495
493
490
487
487
489
488
485
483
486
493
497
498
498
498
499
501
503
503
504
504
500
498
500
504
505
505
506
507
511
512
515
520
523
527
533
534
539
553
570
580
588
594
594
587
578
574
571
566
561
558
554
552
552
552
552
551
550
548
548
547
547
549
552
553
555
555
555
555
556
556
558
560
561
564
570
573
575
580
581
577
579
580
583
595
600
604
606
610
613
617
619
626
630
646
651
649
645
641
637
629
625
624
620
618
617
616
616
616
613
610
597
588
587
590
591
593
592
589
584
576
567
559
550
540
540
542
547
547
559
563
587
599
604
607
611
615
617
619
621
622
622
621
619
618
618
618
618
618
618
619
621
624
629
630
629
628
627
626
624
619
618
618
619
619
620
620
617
612
608
605
604
608
607
599
593
589
587
586
579
572
553
542
542
542
538
534
531
527
527
529
533
535
539
542
544
547
548
549
550
554
558
559
563
561
558
540
532
522
515
517
515
513
498
491
479
479
478
478
479
484
490
493
497
503
511
518
523
526
533
537
538
541
541
541
540
540
538
535
532
531
530
529
530
532
534
536
536
536
536
537
539
540
542
543
544
546
548
549
552
554
559
561
562
564
566
566
565
564
562
560
558
557
556
554
554
553
552
551
549
547
543
541
540
536
535
534
529
528
526
522
519
513
509
505
502
502
498
496
495
494
494
493
492
492
491
491
494
496
498
501
506
510
514
517
518
516
512
506
501
499
495
494
492
490
487
486
487
488
489
489
491
492
491
489
486
483
481
480
480
479
476
475
476
481
487
493
496
500
504
508
512
516
518
519
522
525
528
532
535
537
538
541
543
543
545
547
548
551
555
560
564
566
569
571
573
572
564
564
562
560
555
552
547
545
541
540
538
536
533
528
521
519
516
514
513
511
509
504
499
487
480
473
466
464
460
456
452
454
455
456
458
462
465
471
478
477
474
473
473
474
475
475
473
467
462
461
457
455
453
453
456
460
464
468
472
475
478
481
486
490
494
497
502
506
513
517
526
533
538
541
545
548
551
555
564
568
567
566
565
565
565
566
567
568
568
567
566
565
564
565
570
577
591
598
600
602
602
602
592
582
575
569
563
556
552
551
550
544
537
528
521
515
514
507
500
497
492
489
488
486
486
485
484
483
482
478
476
475
470
467
464
461
460
456
454
452
451
450
450
449
449
449
449
449
448
448
449
449
447
437
437
437
438
439
441
442
442
442
441
441
439
438
437
438
441
442
442
441
441
442
444
447
445
440
434
433
434
435
434
431
429
429
429
432
436
438
440
442
439
436
433
433
436
437
438
439
439
438
438
434
431
427
423
427
429
427
421
418
417
416
426
429
434
437
439
444
447
450
452
459
462
466
467
473
477
483
486
496
503
506
511
515
519
521
522
523
521
519
515
509
506
496
485
478
474
469
467
465
461
461
461
461
461
460
456
453
449
447
441
436
434
432
431
426
423
421
420
419
416
413
412
408
404
399
396
395
396
396
397
398
399
401
402
403
404
405
405
411
417
420
430
433
435
438
442
445
449
451
455
457
459
460
458
454
449
447
446
448
450
452
456
465
482
495
502
506
511
512
513
513
514
515
516
517
519
520
521
522
523
523
522
522
522
522
522
522
522
521
519
518
516
512
508
506
503
501
500
499
499
500
500
500
498
497
495
493
491
489
488
486
486
487
487
490
493
496
500
501
504
506
508
510
511
512
513
519
533
542
548
554
552
546
541
535
534
532
535
538
542
550
556
558
558
559
559
557
555
562
567
571
571
577
583
586
591
594
596
598
601
606
611
612
614
619
623
626
630
632
635
640
645
651
659
671
676
679
679
679
679
677
674
669
666
664
662
660
658
655
653
653
654
655
656
658
658
659
660
660
662
663
664
665
667
668
668
663
667
671
671
670
670
670
669
668
668
668
667
666
665
664
662
660
659
657
655
653
652
651
650
651
654
657
660
663
665
668
669
670
671
674
676
677
678
678
680
680
680
680
680
682
683
685
684
683
682
682
683
684
684
684
685
688
691
691
691
691
690
689
689
686
682
680
678
676
674
673
671
671
669
667
666
665
662
661
659
657
657
657
655
654
651
648
645
642
640
638
638
637
637
637
636
633
631
629
628
626
625
624
623
621
621
620
620
618
616
614
611
611
611
610
610
610
610
612
614
617
619
627
629
634
635
637
640
643
647
654
659
661
663
664
665
666
669
673
675
678
679
681
681
687
694
701
705
710
720
725
733
736
734
733
731
726
723
721
720
714
707
704
700
696
692
688
679
672
673
675
677
678
680
681
682
682
675
660
645
641
638
635
631
627
624
620
617
615
612
607
600
593
590
584
578
571
566
560
556
555
547
541
538
537
541
543
546
552
561
577
582
582
582
583
585
586
588
588
588
589
589
588
587
584
580
578
574
572
569
567
563
549
543
539
535
525
522
519
516
513
511
511
511
510
507
504
499
492
488
483
479
476
474
480
488
490
493
495
496
498
500
503
506
511
518
522
525
528
532
533
533
532
532
531
531
532
537
540
541
544
539
539
543
548
550
551
550
550
550
550
549
545
544
540
539
537
534
532
531
529
527
526
525
524
524
524
524
523
522
519
517
511
509
508
507
507
506
506
506
506
510
516
524
525
524
523
523
520
518
518
525
526
519
510
500
487
475
471
457
458
459
462
463
465
471
483
486
491
493
496
497
500
501
501
501
501
503
508
512
517
520
524
528
528
528
528
528
531
536
539
544
549
552
554
556
560
562
574
585
594
597
598
602
611
616
621
624
628
633
638
641
642
642
643
645
647
648
650
651
653
655
656
657
659
660
661
661
661
660
658
657
655
654
652
651
649
648
646
644
641
638
633
632
630
627
625
623
620
610
604
599
601
603
606
609
608
606
605
603
601
600
598
596
591
585
578
573
570
560
547
538
529
518
513
514
515
519
519
516
513
510
505
502
496
493
489
488
487
485
484
483
483
482
482
482
484
485
489
492
493
494
499
506
513
517
519
522
525
528
534
537
536
536
535
538
542
548
551
558
560
563
570
576
580
581
582
583
584
586
590
592
598
601
601
602
600
599
597
596
593
591
590
589
589
588
588
587
582
576
577
579
580
579
572
571
569
566
565
564
562
558
551
549
548
547
546
541
538
535
533
532
532
531
530
527
526
524
523
522
521
520
516
513
511
511
511
511
514
518
521
521
521
521
519
519
518
517
519
517
507
494
489
488
485
483
486
490
494
496
496
499
501
502
503
505
508
510
509
509
508
508
508
508
508
508
508
508
508
508
508
508
508
508
506
505
505
502
504
506
507
510
512
514
517
520
529
536
541
540
535
532
538
542
544
547
548
550
551
551
549
548
543
536
531
531
531
528
525
526
534
537
539
541
543
547
549
550
551
552
551
549
547
544
540
540
540
540
540
540
540
540
540
540
540
540
540
540
541
542
544
545
546
547
548
549
550
552
554
554
554
554
554
554
557
558
562
564
566
571
575
580
582
585
587
588
590
592
595
598
602
605
606
613
622
630
637
641
641
641
641
640
632
624
617
614
612
610
606
605
607
609
611
613
620
626
631
635
640
644
654
665
671
671
672
673
676
679
680
680
680
680
682
685
687
688
690
691
691
692
692
692
692
691
689
688
686
684
681
675
670
664
658
651
644
638
632
628
625
621
617
614
610
606
602
599
597
596
594
593
591
586
580
572
564
561
559
558
557
556
551
546
542
539
536
526
522
520
516
513
511
511
510
509
507
502
501
501
501
500
500
499
499
499
498
494
486
475
469
465
460
457
453
452
452
451
450
450
451
451
453
454
454
454
453
453
454
458
462
465
467
469
465
463
459
458
453
449
445
445
445
447
449
452
459
462
465
470
471
475
478
484
490
493
497
501
505
509
515
519
518
516
515
513
510
507
505
503
502
500
498
498
500
500
499
498
498
498
498
498
498
498
500
506
513
519
521
525
539
545
547
549
553
557
550
545
539
532
525
521
520
524
528
532
533
535
536
537
537
536
535
533
533
531
529
529
528
526
522
518
516
512
508
504
503
498
496
493
491
483
481
481
479
478
477
477
477
477
477
477
476
472
471
468
467
465
464
463
463
463
463
464
467
469
473
477
480
483
486
489
492
498
498
498
500
504
508
510
508
508
505
502
500
497
494
490
488
482
481
480
479
478
475
474
472
470
467
464
460
456
453
451
449
449
449
447
446
446
446
446
446
448
448
451
451
451
450
449
448
448
449
451
453
457
461
464
468
469
471
475
477
479
482
480
476
483
491
493
496
499
502
504
502
500
497
495
494
492
490
490
490
490
490
492
494
497
499
500
491
486
486
486
488
487
487
487
487
487
487
491
505
508
510
510
510
510
510
510
511
514
515
516
519
523
525
528
533
530
526
520
515
511
510
509
508
505
503
499
497
495
488
483
479
476
474
473
471
469
468
468
467
467
467
466
466
465
464
463
460
459
459
459
459
458
458
457
457
457
455
455
455
454
455
457
459
463
466
466
466
465
465
464
464
463
462
461
460
461
461
459
459
459
460
460
461
461
461
461
462
462
464
465
466
467
468
468
470
474
474
473
473
472
472
473
472
472
473
474
474
473
472
471
470
469
468
468
467
464
461
458
458
458
459
460
455
456
458
461
464
468
469
467
465
463
460
458
456
454
453
452
451
451
451
451
451
451
451
452
452
454
456
461
461
461
462
462
460
458
457
458
459
460
460
458
457
455
454
454
454
454
454
454
454
454
455
455
455
455
455
455
455
457
459
459
463
466
470
475
477
484
487
491
499
504
508
510
512
515
520
522
526
527
529
531
534
538
540
543
546
549
552
556
558
560
562
566
569
567
565
565
567
569
570
572
576
580
586
594
596
597
598
601
605
607
609
612
615
619
630
632
637
640
642
643
645
647
649
647
644
641
625
612
596
580
571
559
552
549
546
544
538
535
533
519
505
498
492
490
495
502
505
509
511
517
518
520
522
523
522
521
519
517
514
511
508
505
502
500
498
494
494
494
494
494
495
497
498
498
498
498
498