580
580
580
580
581
581
582
582
582
583
583
583
584
584
584
585
585
585
586
586
587
587
587
587
587
587
587
587
588
588
588
588
588
588
588
589
589
589
590
590
590
591
591
591
592
592
592
593
593
593
594
594
594
595
595
595
596
596
596
597
597
597
597
598
598
598
598
598
598
598
598
598
598
598
598
598
597
597
597
597
597
597
597
597
597
596
596
595
595
594
594
593
593
592
592
591
590
590
589
589
588
588
587
587
587
587
586
586
586
586
585
585
585
584
584
583
582
582
581
580
580
579
579
578
577
576
575
574
573
573
572
571
570
569
569
569
568
568
567
567
567
566
565
564
563
563
562
561
560
559
559
558
558
558
557
557
556
556
555
555
554
554
554
553
553
553
553
552
552
552
552
552
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
550
550
550
550
550
549
549
549
548
547
546
545
544
543
542
541
540
539
538
536
535
533
531
530
528
527
526
524
523
522
520
519
518
516
515
513
513
512
511
510
509
508
508
506
505
504
503
502
501
500
499
498
497
497
496
495
494
494
493
492
492
492
491
491
491
491
490
490
490
490
490
490
490
490
490
490
490
490
490
489
489
489
489
489
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
487
487
487
487
487
487
487
487
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
485
485
485
485
485
485
485
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
484
483
483
483
483
483
483
483
483
482
482
482
482
482
482
482
482
482
482
482
481
481
481
481
480
480
480
480
479
479
479
479
478
478
478
478
478
478
477
477
477
477
477
476
476
476
476
476
476
475
475
475
475
475
475
474
474
474
473
473
473
473
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
472
473
473
473
473
473
473
473
473
473
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
474
473
473
473
473
473
473
473
473
473
473
473
473
473
472
472
472
472
472
472
472
471
471
471
471
471
471
470
470
470
470
470
470
470
469
469
469
469
469
469
469
468
468
468
468
468
468
468
468
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
465
465
465
465
465
465
465
465
465
465
465
465
466
466
466
466
466
467
467
467
467
467
467
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
468
467
467
467
467
467
467
467
466
466
466
466
466
466
466
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
465
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
462
462
462
462
462
462
462
462
462
462
462
462
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
460
461
461
461
461
461
461
461
462
462
462
462
462
462
462
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
462
462
462
462
462
462
462
462
462
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
462
462
462
462
462
462
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
463
464
464
464
464
464
464
464
464
465
465
465
465
465
465
465
465
466
466
466
466
466
466
466
466
467
467
467
467
467
467
467
468
469
469
470
471
471
472
473
473
474
474
475
475
476
476
477
477
478
478
479
479
479
480
480
480
480
480
481
481
481
481
481
482
482
482
482
482
483
483
483
483
483
483
484
484
484
484
485
485
485
485
485
486
487
488
489
489
490
491
492
493
494
495
495
496
497
498
499
499
500
501
502
503
504
504
504
504
504
504
504
504
504
504
505
505
505
505
505
505
505
505
505
505
505
505
505
504
503
503
502
502
502
501
501
500
500
500
499
499
498
498
497
497
496
495
495
494
494
493
493
492
492
492
492
492
491
491
491
491
490
490
490
490
490
489
489
489
489
488
488
488
488
488
488
487
487
487
487
487
487
487
486
486
486
486
486
486
486
486
486
486
487
487
487
487
488
488
488
488
489
489
489
489
490
490
490
490
491
491
491
491
492
492
492
492
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
492
491
491
491
491
491
491
491
490
490
490
490
490
489
489
489
489
489
489
489
489
489
489
489
490
490
490
490
490
490
490
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
491
492
492
492
492
492
492
493
493
493
493
493
493
493
494
494
494
494
494
494
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
494
494
494
494
494
494
494
494
494
494
494
494
495
495
495
495
496
496
496
497
497
497
497
498
498
498
498
499
499
499
499
500
500
500
500
501
501
501
501
501
501
501
501
501
501
501
501
501
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501