591
591
591
592
592
592
592
593
593
593
593
593
593
594
594
594
595
595
596
596
596
597
597
597
597
598
598
599
599
599
599
599
598
598
597
597
597
597
597
597
596
595
595
595
595
595
596
597
598
600
600
602
604
606
607
609
609
610
611
612
612
614
615
616
617
617
617
617
617
618
618
618
618
618
617
617
617
618
619
620
619
617
615
613
613
613
613
616
622
623
625
626
625
623
618
617
616
615
615
616
617
618
621
623
624
627
630
631
630
632
639
648
653
654
655
655
657
661
665
670
674
676
678
679
677
674
667
662
658
655
654
654
653
652
649
646
642
642
642
641
640
639
639
639
640
640
639
638
638
637
635
635
635
634
633
632
631
629
628
626
626
626
627
628
630
632
632
633
633
633
633
633
632
632
631
631
627
626
616
616
615
615
615
615
615
615
615
615
615
614
613
613
612
611
610
606
606
606
606
606
606
606
605
604
603
603
602
601
601
601
602
605
604
604
603
603
603
603
602
601
600
599
599
599
600
602
605
608
611
611
611
611
610
610
610
610
610
610
610
611
611
611
611
610
610
610
610
610
610
610
610
610
610
610
610
610
610
610
608
607
607
607
607
606
604
603
601
601
601
601
600
599
597
596
596
595
598
601
602
602
602
602
602
603
603
603
603
603
603
603
602
602
602
600
598
597
599
599
598
598
596
596
594
596
603
610
614
617
619
621
623
625
628
630
636
643
645
646
645
644
644
643
640
636
631
629
627
612
600
597
596
594
593
593
592
592
592
592
591
591
591
591
591
591
591
591
591
590
590
590
590
590
589
589
589
589
588
588
588
588
588
588
588
587
586
585
583
582
581
581
581
581
581
581
581
581
582
583
583
583
583
583
583
582
580
580
580
581
581
581
580
580
580
579
577
577
577
576
575
573
572
571
572
572
572
572
572
572
572
572
572
572
572
572
572
572
571
571
570
570
570
570
570
570
570
570
569
569
569
569
569
569
569
569
568
568
567
567
567
567
567
567
567
567
567
566
566
565
565
565
565
565
565
565
566
566
566
564
564
564
564
564
565
565
565
564
563
562
562
562
562
562
563
563
563
563
563
563
563
563
562
562
562
562
562
562
562
562
561
561
561
561
561
561
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
559
559
559
558
557
557
556
556
556
555
555
555
555
554
554
554
555
553
553
553
553
553
553
552
552
553
554
551
549
549
548
548
546
546
547
547
544
543
543
544
544
542
541
543
543
542
541
541
541
540
540
538
537
538
536
536
536
536
536
536
536
536
536
536
536
536
535
535
535
535
535
535
535
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
536
537
538
540
543
543
544
546
548
551
555
558
559
561
562
566
570
576
577
578
579
579
580
580
581
581
581
581
579
579
579
579
578
578
578
578
577
577
578
580
583
584
584
584
579
578
577
576
576
575
574
573
571
566
564
561
552
557
559
565
569
576
582
593
599
590
577
577
577
577
576
574
573
572
575
575
576
577
576
573
571
569
568
563
560
552
539
535
535
536
537
537
538
539
543
543
544
555
553
552
547
547
546
546
547
556
560
560
560
558
556
554
554
554
554
554
554
554
554
553
552
552
549
548
548
549
551
552
553
553
553
553
552
552
552
552
552
552
552
552
552
553
553
553
553
553
553
553
554
555
557
557
559
560
561
562
564
565
565
566
567
567
568
569
574
580
583
587
591
592
593
596
601
604
608
610
612
612
615
619
625
631
630
629
629
628
627
625
627
628
630
630
623
615
605
601
597
592
588
585
582
581
580
579
581
580
579
577
573
573
569
565
565
565
565
563
563
562
561
560
560
560
560
560
560
561
561
560
559
559
558
558
556
553
554
556
560
565
568
573
577
579
582
585
587
590
592
594
596
597
600
603
606
609
612
613
613
614
616
614
611
610
609
605
599
593
589
586
584
583
581
578
577
575
574
573
571
570
568
567
563
560
560
560
559
558
558
557
557
556
556
554
553
553
553
552
552
551
550
549
548
547
547
547
547
547
547
547
547
547
547
547
547
548
550
551
552
553
554
557
560
563
567
574
577
580
581
582
583
585
587
592
594
597
606
610
614
619
619
619
622
626
624
619
618
615
618
622
624
618
615
613
613
615
618
621
621
621
620
618
614
615
617
618
619
618
614
604
602
601
596
595
594
594
594
594
594
594
594
594
594
594
593
593
593
593
593
593
593
592
592
592
592
592
592
591
589
588
588
593
596
599
599
597
597
597
597
598
598
598
598
598
601
605
608
609
611
610
608
606
604
604
604
605
606
607
607
607
607
605
604
604
602
603
608
609
609
609
609
611
612
612
610
606
604
603
600
595
593
593
592
590
590
589
589
588
585
582
580
579
578
577
577
577
578
578
579
580
580
580
580
580
588
590
593
588
588
589
592
589
588
587
586
587
589
590
592
594
595
595
590
588
589
593
595
596
595
594
593
587
581
580
578
577
574
570
570
570
571
572
572
573
574
575
576
577
577
577
577
576
573
572
571
569
567
565
562
561
560
560
561
562
562
561
558
554
551
547
546
549
549
549
548
544
541
530
522
516
511
506
504
501
500
499
498
497
496
496
497
497
496
496
495
494
493
494
494
494
493
493
493
493
493
493
493
493
492
492
492
492
492
492
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
494
495
495
495
494
494
494
493
493
493
493
494
494
496
496
496
496
496
496
496
496
496
497
499
499
500
503
504
508
510
510
505
504
498
497
497
497
498
499
500
500
500
500
500
500
500
500
500
500
500
501
502
502
503
503
503
503
503
503
503
504
504
505
506
506
506
506
506
506
506
507
508
509
510
511
511
512
512
513
514
514
515
515
515
516
516
517
518
519
520
521
522
523
525
526
528
531
534
535
536
537
537
538
540
542
544
545
548
550
552
554
554
554
554
555
557
560
562
568
578
578
576
577
581
580
576
572
564
557
553
551
548
542
537
529
528
527
524
523
522
521
520
520
520
520
519
518
518
517
517
516
515
514
511
510
508
508
508
505
504
502
502
501
499
498
498
498
499
499
499
499
499
499
499
500
501
502
504
507
512
516
519
521
526
526
527
527
528
528
528
528
528
528
526
525
524
523
522
522
521
518
516
508
499
497
497
496
495
494
491
490
488
487
487
485
484
484
483
481
481
481
481
481
481
480
480
480
480
480
480
480
479
479
479
479
479
481
481
481
480
479
479
479
479
479
479
480
480
481
480
480
479
478
477
477
477
478
480
479
478
476
475
475
475
476
476
476
476
476
476
476
476
476
476
475
475
475
475
475
475
474
474
474
473
473
472
471
471
471
471
471
471
471
470
470
470
469
469
469
469
470
470
470
470
469
469
468
468
468
469
470
469
468
469
469
469
469
467
466
465
465
465
465
465
465
465
465
466
466
467
467
470
472
474
475
477
477
478
479
479
479
480
480
480
480
480
480
480
480
480
480
478
478
476
475
474
473
473
472
472
472
472
475
475
475
474
474
474
475
477
478
477
476
475
474
472
471
470
470
475
469
466
465
464
464
463
462
462
461
461
461
461
461
461
461
461
461
461
461
460
460
460
460
459
459
459
459
459
459
459
459
459
459
458
458
458
457
457
457
456
456
455
455
454
454
454
455
455
455
456
457
457
458
459
459
458
456
455
455
455
454
454
454
454
454
455
456
456
456
455
455
455
456
456
455
455
455
456
456
457
457
457
459
460
463
464
466
467
467
467
467
467
467
467
467
466
466
465
465
464
464
464
463
463
465
466
469
469
469
469
469
469
471
472
474
477
478
478
478
478
476
477
478
481
481
481
481
482
488
496
498
499
501
502
505
508
510
513
516
518
518
519
521
522
522
523
523
523
523
523
523
523
525
527
528
530
531
531
532
532
532
531
531
530
530
531
533
536
538
536
535
532
529
526
522
519
514
513
512
515
517
519
522
525
527
530
531
530
529
531
532
533
534
534
534
534
533
533
533
535
537
538
542
543
544
543
541
540
541
542
542
543
543
544
544
541
538
538
528
529
532
533
533
534
532
532
532
533
534
537
537
537
537
537
537
537
537
537
537
537
537
535
534
532
532
531
530
529
529
529
529
528
528
528
528
529
529
528
528
524
523
523
522
521
521
520
518
515
513
509
508
515
516
513
506
507
507
509
511
513
514
514
514
511
511
511
512
512
514
514
514
514
514
514
513
511
511
514
514
510
509
511
512
512
511
510
509
503
498
492
489
489
487
485
481
478
478
477
476
475
475
475
475
474
474
474
474
474
474
475
475
476
476
475
475
475
475
476
477
480
482
484
486
486
486
485
485
485
484
481
478
476
472
471
471
471
471
471
471
472
473
473
474
474
474
475
475
475
475
475
475
475
474
473
472
471
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
468
466
466
466
466
466
466
466
466
465
464
464
464
464
464
463
463
463
463
463
463
463
463
463
463
464
464
464
464
464
465
467
469
470
472
475
475
476
476
477
479
480
480
481
481
482
483
484
482
482
481
479
478
477
476
476
476
475
474
473
472
472
471
469
468
462
461
461
461
461
461
462
463
463
464
465
466
466
466
466
466
467
468
470
471
471
470
469
468
467
464
463
463
463
463
463
463
463
463
462
462
461
461
460
460
460
460
459
459
459
458
457
456
454
453
452
452
453
456
460
463
463
462
461
461
462
462
463
463
463
463
463
463
463
462
461
460
458
458
457
457
457
457
457
457
457
458
458
458
458
458
456
455
455
454
453
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
451
450
450
449
449
450
451
452
452
453
453
453
453
453
453
453
453
452
451
451
451
450
450
450
449
449
448
448
448
448
447
447
447
447
447
448
448
448
448
446
446
446
446
446
446
446
446
446
446
446
446
445
444
444
444
444
445
445
445
445
445
444
444
444
444
444
444
444
444
444
444
444
444
444
443
443
442
441
441
440
439
439
439
439
439
439
439
439
440
440
440
439
439
439
438
438
437
438
438
437
437
437
437
438
438
439
439
439
439
439
438
438
438
438
438
438
438
437
436
436
435
435
435
433
433
433
433
433
433
433
433
433
433
433
433
433
433
434
434
434
434
435
435
435
435
435
435
435
435
436
436
436
436
437
437
437
437
437
437
437
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
440
440
440
441
441
441
441
439
438
438
438
438
438
438
438
438
438
438
439
439
438
435
436
437
438
439
441
439
440
439
438
438
438
438
438
438
437
437
437
437
437
437
437
437
436
435
435
435
435
435
435
434
434
434
434
435
435
436
433
433
433
434
436
438
440
439
438
438
438
439
438
438
438
439
440
441
441
441
441
441
441
441
441
441
441
441
441
441
440
440
440
441
444
446
445
443
442
442
441
441
441
441
441
440
440
440
440
440
442
442
443
443
444
445
445
445
445
446
446
446
446
446
446
444
442
442
442
442
444
446
444
444
444
444
444
444
444
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
445
446
449
449
450
450
450
450
450
450
449
446
446
446
446
446
446
446
446
446
446
446
445
445
445
446
448
445
445
445
445
445
445
445
445
445
445
444
444
444
444
444
444
444
444
444
444
445
445
445
446
446
446
447
447
447
447
447
447
447
447
447
447
447
447
448
448
448
448
449
449
450
451
452
453
454
460
463
466
467
468
468
469
466
464
464
464
464
465
465
466
466
467
469
470
470
470
471
471
471
471
470
470
470
470
469
469
468
467
466
466
466
466
466
466
467
468
469
470
472
473
473
473
473
473
473
474
475
475
475
475
475
475
477
477
477
477
477
476
475
475
476
476
476
476
476
476
476
476
476
475
471
471
470
470
469
469
468
467
467
467
467
467
466
465
466
466
468
469
470
470
470
470
470
470
469
469
468
468
468
468
468
468
468
468
468
468
468
469
469
470
470
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
470
472
474
475
477
478
479
481
481
480
480
483
486
486
484
483
483
483
484
485
485
485
484
482
480
478
478
475
472
468
465
461
459
457
457
457
457
458
459
462
462
464
465
465
466
467
469
468
468
468
467
467
467
467
468
469
469
470
471
471
471
470
469
469
469
469
470
471
471
471
471
471
470
470
470
470
470
470
470
470
470
470
470
470
470
470
469
468
467
466
465
464
463
462
461
460
459
459
458
458
458
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
458
458
459
460
461
461
461
461
461
462
462
462
462
462
464
464
464
464
463
462
460
460
459
459
459
460
461
463
464
464
464
464
464
464
464
464
464
464
464
463
463
464
464
464
464
464
464
464
464
464
464
463
463
463
463
463
463
463
463
463
463
463
464
465
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
467
467
467
467
467
467
466
466
466
466
465
465
466
466
466
467
468
468
468
469
470
470
470
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469