300000
5213
347
728
768
720
659
731
739
796
643
595
660
698
414
341
520
560
323
446
674
734
742
431
464
726
317
367
621
631
498
527
337
776
523
410
769
361
678
653
571
684
760
690
642
355
538
487
555
422
528
637
547
352
559
673
672
624
309
351
422
654
564
369
744
323
754
379
642
390
616
470
441
564
668
311
602
754
392
752
745
752
712
561
522
787
794
475
409
357
688
454
749
776
602
309
314
625
727
631
323
310
492
519
352
711
701
490
384
630
790
367
674
330
350
540
493
560
323
485
566
465
488
336
523
477
419
636
713
674
624
706
793
742
455
620
470
580
302
738
749
729
712
570
670
505
326
723
688
726
776
343
440
719
590
562
740
384
703
770
648
645
670
619
573
539
563
689
513
503
708
508
612
501
360
563
438
478
308
787
766
565
790
540
681
680
673
654
609
745
698
503
361
518
394
730
762
490
315
724
310
464
632
795
395
471
718
781
473
387
700
654
358
638
315
715
778
364
678
604
369
597
690
449
718
476
747
432
550
366
753
358
473
626
585
434
591
396
499
333
304
490
447
318
331
514
602
328
417
760
740
412
399
324
708
403
680
562
683
565
543
750
591
779
493
668
680
784
434
625
637
527
529
608
666
719
689
616
711
531
401
679
417
537
737
713
304
638
369
323
343
619
775
537
675
443
487
384
574
612
562
723
617
533
668
472
657
473
488
496
715
366
690
470
372
397
397
578
772
673
542
476
697
677
309
418
454
706
339
600
410
620
508
314
637
670
537
797
726
391
388
462
709
700
468
586
355
549
334
446
470
652
389
318
781
647
765
787
785
704
721
588
385
421
687
444
604
567
489
492
376
368
718
412
472
753
386
464
386
404
472
777
572
497
734
402
673
718
681
645
738
399
564
566
570
644
484
638
685
681
395
639
306
791
647
484
674
316
545
315
736
344
632
498
418
667
578
715
788
638
575
427
521
425
358
419
596
755
547
742
481
460
489
328
323
333
653
687
532
591
643
450
359
671
498
589
310
657
530
325
653
668
558
586
603
551
680
789
345
734
729
467
479
347
459
521
512
768
605
340
744
722
402
753
392
438
768
699
390
639
340
623
541
409
418
300
756
442
795
591
539
521
699
470
379
450
651
791
582
411
585
749
337
685
647
707
322
345
561
614
709
330
328
453
798
526
764
499
518
587
718
708
547
494
462
338
708
778
542
538
731
576
647
441
596
624
623
574
492
305
525
702
401
499
629
596
787
344
355
739
322
708
377
317
579
762
309
435
554
663
539
628
442
429
772
619
631
552
533
614
775
785
714
745
534
469
379
446
784
606
526
378
318
635
735
384
653
493
657
355
336
487
301
764
528
582
506
441
514
754
511
708
316
330
381
493
556
708
680
733
747
570
528
638
332
655
472
603
646
526
336
490
465
593
673
723
363
363
579
769
577
775
336
778
736
644
322
588
697
481
783
705
506
580
722
672
556
799
673
430
390
315
757
465
493
771
363
386
625
553
420
493
516
382
334
609
606
555
371
722
682
565
798
371
359
421
705
555
583
644
569
359
354
348
781
434
448
644
726
352
460
544
423
569
404
380
501
468
399
304
692
678
432
741
591
699
334
652
744
529
444
517
758
523
368
444
713
747
646
666
566
357
669
492
609
378
779
360
356
356
731
502
492
328
792
396
494
594
326
506
429
389
497
735
490
790
684
510
504
718
661
490
773
521
563
633
534
550
374
563
455
346
551
349
771
532
773
380
688
627
693
741
630
407
317
732
457
460
557
677
574
789
586
461
489
640
581
564
580
381
663
468
447
775
402
321
721
745
325
489
393
776
707
560
413
373
408
737
363
647
713
641
341
488
369
745
613
345
593
463
519
699
574
438
746
777
597
347
680
753
590
672
748
393
455
756
774
444
701
589
761
564
540
382
641
364
749
530
308
751
710
795
450
547
507
616
755
671
481
718
521
658
728
640
479
473
606
631
554
359
371
339
692
492
431
354
307
405
771
436
389
510
506
648
749
360
510
389
738
694
371
714
527
444
693
708
519
627
387
425
708
429
664
504
532
365
614
790
693
440
338
448
436
356
544
613
645
690
769
576
435
338
560
473
739
582
343
748
400
608
398
788
480
697
319
574
468
570
604
470
581
308
412
562
542
787
522
519
560
413
512
710
381
527
514
364
553
696
753
659
635
535
665
443
438
571
743
732
639
606
672
626
516
724
734
718
780
721
744
453
594
499
462
778
691
651
628
521
505
501
351
703
328
448
518
455
673
653
771
538
379
705
686
789
321
431
397
434
558
597
456
644
747
521
711
563
784
441
424
456
584
359
523
319
781
791
451
665
340
309
686
556
440
564
682
533
492
539
758
505
481
413
746
650
793
449
398
679
370
459
305
312
718
302
533
359
626
455
327
737
388
395
587
742
774
787
585
417
548
420
407
609
537
428
331
375
397
706
559
740
342
653
507
671
795
676
644
490
382
780
788
371
362
740
741
491
795
685
678
313
508
506
475
500
559
369
644
662
392
768
519
685
661
552
367
780
603
546
342
314
350
619
778
366
405
546
556
719
735
552
690
435
577
424
541
617
311
757
308
475
771
484
448
759
447
523
756
321
300
679
478
407
639
348
782
614
319
544
522
329
674
528
630
495
685
781
562
769
791
492
419
361
363
729
506
404
542
672
360
345
565
795
786
762
300
426
397
433
337
798
538
481
707
696
764
342
516
506
466
744
664
577
703
565
490
779
349
767
749
516
618
759
777
676
794
736
348
421
394
591
455
525
438
487
785
515
566
690
637
631
483
476
443
579
480
622
740
488
738
680
341
609
747
729
613
744
630
616
369
591
342
422
481
330
670
767
668
513
340
591
335
350
641
404
798
481
777
621
550
457
783
716
468
663
442
613
430
789
481
652
550
400
744
362
617
431
670
671
314
518
538
522
592
535
751
641
564
550
728
469
375
753
769
720
341
351
643
593
334
659
406
505
489
624
734
593
519
558
631
361
637
407
494
676
492
527
570
559
678
551
373
785
396
619
616
667
303
636
487
319
501
570
599
678
739
626
758
609
435
599
729
588
691
714
644
387
777
630
709
460
566
500
741
570
587
742
673
764
443
777
593
742
460
410
480
542
352
708
348
635
747
663
478
728
727
653
623
773
350
615
417
429
658
793
598
748
555
740
654
611
357
351
501
731
611
657
484
653
641
661
368
466
378
656
565
496
676
556
610
739
645
451
674
458
404
554
466
746
525
485
649
589
654
448
447
367
713
778
690
660
722
372
347
662
625
483
536
690
755
497
568
713
460
309
382
313
405
669
315
430
567
613
786
608
417
656
579
529
621
503
653
462
518
637
785
414
317
556
483
301
512
516
451
480
663
744
359
415
786
781
518
335
442
655
462
786
620
438
731
388
726
589
550
764
536
513
312
761
418
666
342
706
455
585
307
502
600
426
687
681
426
678
718
493
758
592
725
501
769
317
625
710
627
431
797
343
349
408
562
484
442
646
647
708
408
657
652
361
641
321
613
405
711
443
754
580
449
494
464
644
739
470
406
567
540
426
494
715
353
687
617
601
342
664
683
666
449
691
420
655
662
396
575
596
617
732
694
392
563
404
530
447
588
581
350
605
440
470
561
522
759
519
733
524
699
305
605
711
545
521
468
512
660
515
733
603
319
535
697
370
639
767
383
569
578
643
644
466
392
385
467
333
317
496
330
598
347
534
664
794
557
725
414
598
329
633
422
693
403
609
758
503
640
555
447
480
389
773
344
758
681
790
652
388
553
484
529
777
590
424
429
613
670
306
745
465
762
411
337
679
310
377
487
748
482
302
468
334
349
443
424
708
325
638
544
763
724
514
464
417
627
799
608
318
684
626
313
633
586
655
384
482
421
731
307
325
587
739
586
673
543
498
714
577
415
673
508
743
544
380
629
771
493
390
363
382
757
652
309
790
507
402
785
504
639
569
417
787
575
601
672
610
470
582
450
787
607
583
394
605
630
799
511
762
522
628
743
490
740
484
372
459
778
580
592
693
537
485
427
469
690
596
370
589
335
614
502
556
625
303
776
612
448
509
487
528
313
459
328
319
471
679
448
780
559
324
434
401
329
694
526
716
408
725
658
353
636
650
632
718
479
533
522
650
525
444
547
475
440
565
749
646
647
307
787
515
484
376
446
699
397
600
528
468
744
300
589
550
620
301
727
331
436
380
589
611
349
599
732
330
701
606
455
775
686
644
411
424
337
372
435
733
321
624
498
657
488
544
355
724
780
314
592
469
434
484
358
646
580
456
420
484
585
337
566
340
385
525
503
614
457
719
704
763
311
625
500
419
433
667
729
727
507
416
671
776
740
774
699
400
700
608
353
553
559
769
716
429
335
366
503
737
492
607
371
530
600
385
388
405
734
746
344
307
764
600
566
481
340
685
376
647
438
448
466
513
782
711
538
540
625
356
599
682
625
374
366
552
711
670
752
660
784
596
634
533
386
427
536
663
306
521
617
401
672
547
725
787
655
344
332
409
306
508
479
612
425
504
659
700
714
573
647
533
714
445
554
453
701
483
771
727
614
774
554
659
582
370
799
399
579
673
385
375
656
468
439
501
400
439
404
517
623
743
737
763
414
581
745
328
742
650
368
645
496
597
600
383
793
647
685
325
746
524
512
426
670
620
758
503
406
337
324
533
517
338
459
772
681
590
741
608
796
516
392
615
442
476
638
362
513
349
445
442
432
410
705
459
386
452
685
576
555
596
779
561
769
396
350
374
615
527
599
446
796
315
325
543
518
540
447
572
658
572
411
399
551
446
766
773
431
526
689
428
451
342
542
779
551
680
407
508
675
695
575
753
521
560
638
412
331
612
691
639
738
530
735
583
705
621
557
519
642
625
580
759
415
703
780
508
417
420
597
566
473
617
460
770
446
420
745
708
532
604
351
331
448
698
389
524
519
388
739
349
650
793
383
768
565
485
501
790
431
557
672
800
446
354
757
404
339
547
317
519
739
678
758
656
309
798
546
633
712
363
608
577
557
346
332
480
357
706
425
409
343
610
353
538
571
761
461
383
546
659
764
674
759
497
308
683
753
718
655
641
677
554
668
752
320
457
372
375
755
497
600
715
338
558
586
484
665
352
459
641
509
563
516
793
459
481
784
531
717
497
360
588
590
493
331
485
736
728
785
514
362
353
429
389
325
591
674
358
743
601
564
776
715
429
525
646
700
419
354
581
731
523
401
562
512
386
592
709
601
363
559
778
392
514
689
516
788
380
708
572
721
330
335
746
668
504
311
665
644
575
407
798
525
759
348
462
737
646
544
454
765
566
399
568
403
707
471
331
705
713
655
789
650
318
367
373
483
607
437
777
405
668
603
319
560
701
580
498
445
469
416
528
337
530
732
650
599
497
616
544
739
390
727
481
579
483
322
607
785
526
568
606
320
800
745
415
394
373
312
742
794
785
704
468
520
408
320
430
378
502
795
584
533
503
640
652
663
773
686
347
484
451
467
533
542
557
352
438
702
542
639
385
599
489
769
404
640
366
663
637
735
734
607
420
503
718
438
550
432
630
528
737
603
582
788
372
525
562
561
640
368
722
651
592
444
316
582
704
772
641
488
688
617
781
338
535
499
427
448
527
796
683
714
795
720
755
560
363
800
646
745
745
494
645
513
514
632
492
423
504
561
659
754
456
669
640
443
750
459
677
774
408
444
518
660
792
712
742
760
333
453
765
443
396
734
783
416
676
304
768
456
795
394
407
557
489
673
616
465
447
685
712
449
750
736
388
497
418
391
587
791
658
576
531
505
601
788
572
457
757
402
732
786
629
541
399
484
342
622
389
452
370
349
764
632
610
516
521
547
711
394
343
302
359
710
733
569
774
708
692
662
509
324
765
623
397
599
340
650
646
730
639
746
625
638
752
431
717
388
654
710
304
523
612
413
555
755
451
723
314
405
553
684
312
403
535
445
703
440
674
440
530
584
338
578
440
620
444
795
619
411
593
423
637
791
467
537
757
350
464
530
783
670
601
378
624
306
596
746
325
477
580
406
772
511
368
522
420
745
542
531
523
532
558
760
764
426
698
384
534
776
452
714
320
412
793
572
553
308
797
540
787
632
590
398
565
775
781
730
316
583
500
635
335
411
548
344
393
373
437
502
785
499
488
712
706
451
650
705
319
445
561
475
736
408
648
588
502
542
631
570
499
678
461
745
646
754
436
694
473
697
341
537
343
542
621
423
658
457
782
665
646
551
462
672
451
659
549
473
679
417
488
488
754
647
724
658
440
784
416
342
303
510
423
547
728
750
713
502
499
730
427
491
702
694
408
674
642
458
592
524
766
466
497
573
469
645
327
731
452
707
367
659
684
556
666
494
709
599
626
671
563
397
480
769
783
467
385
397
663
681
567
323
702
351
605
575
682
585
386
326
300
581
352
692
302
309
576
318
778
674
651
788
507
421
557
397
793
702
312
675
469
647
478
337
364
671
590
630
528
709
313
423
497
680
761
704
729
721
475
436
648
674
567
687
318
523
517
320
678
520
700
533
528
773
635
429
328
679
553
680
514
654
542
486
704
493
606
735
348
772
500
553
721
352
666
536
495
687
307
574
453
307
679
603
698
500
418
504
637
460
398
353
468
413
380
750
668
491
465
361
637
614
611
670
549
485
656
710
435
571
481
600
403
305
302
748
322
506
692
665
403
477
301
318
304
739
371
308
622
509
553
490
683
302
517
411
723
497
548
427
734
736
547
370
632
585
508
546
549
673
420
470
411
574
692
528
457
727
543
338
609
665
721
564
501
372
642
511
348
649
675
655
674
556
507
747
785
406
590
767
589
597
618
464
308
342
669
512
417
583
378
597
309
387
553
598
364
481
500
405
623
362
412
545
662
427
719
414
638
717
564
473
486
376
306
325
784
483
481
544
646
551
462
361
488
462
660
606
692
423
604
720
513
617
796
596
331
417
436
572
346
525
319
582
547
635
796
763
370
730
423
551
580
565
598
356
729
462
589
331
402
677
786
360
574
483
624
400
590
705
425
438
780
676
377
790
545
386
692
793
701
536
792
462
332
525
570
635
791
684
628
682
387
614
800
766
317
461
410
313
619
475
784
472
333
716
730
506
327
344
759
772
382
350
751
778
674
565
655
456
493
475
512
657
667
462
608
471
505
475
335
748
747
334
794
723
768
461
770
629
700
589
762
540
362
375
765
571
464
425
776
330
463
557
795
743
402
678
668
390
465
431
312
630
603
702
512
602
794
632
766
302
733
430
630
576
634
661
466
716
642
600
629
353
671
751
564
347
632
347
401
629
359
393
536
464
350
455
647
560
708
412
488
536
563
611
634
786
437
453
796
552
657
577
735
444
339
689
364
637
579
727
456
495
476
360
416
589
450
303
637
660
470
629
585
582
377
736
375
763
552
368
345
510
433
574
458
362
371
427
716
443
440
320
614
341
683
400
709
506
774
685
537
563
397
568
623
636
648
756
516
728
333
327
499
688
316
393
674
635
652
563
321
336
754
342
728
324
448
365
311
683
733
613
371
700
749
659
392
310
553
455
372
393
361
551
735
656
768
788
442
756
398
483
604
743
748
462
611
474
750
502
761
411
761
311
527
773
689
344
597
681
663
488
437
542
537
314
745
399
300
412
784
569
593
620
488
485
518
700
399
480
565
359
359
641
557
796
602
780
422
742
587
598
494
407
300
520
589
543
479
565
449
555
514
402
730
351
466
371
670
342
639
514
503
351
797
626
694
511
325
319
663
795
712
603
667
504
769
679
759
642
487
309
413
444
660
632
680
638
666
720
308
520
363
496
730
381
613
536
487
379
658
666
541
468
463
566
385
630
579
768
624
663
685
439
532
350
635
761
546
324
461
654
750
782
351
686
327
350
689
392
707
426
476
660
357
394
507
437
756
345
348
479
644
726
426
423
430
505
329
671
459
421
323
346
551
592
670
448
445
488
550
451
565
325
672
330
773
347
486
763
721
779
376
740
571
756
506
688
736
798
671
388
572
786
737
551
784
362
632
350
362
323
460
690
310
751
355
620
571
664
453
503
799
586
386
606
565
479
461
560
468
573
328
534
503
313
336
306
623
589
766
669
582
708
596
455
337
422
466
798
637
463
362
655
459
599
425
714
699
509
536
438
492
432
417
784
739
501
358
434
672
313
496
743
385
753
485
748
384
678
729
511
479
357
413
679
786
587
681
778
681
420
722
660
656
654
588
728
465
524
573
711
615
698
795
741
634
555
768
395
761
508
535
768
752
424
697
436
520
445
669
677
674
643
717
333
492
577
366
305
394
713
527
362
344
404
560
505
768
580
752
618
436
371
389
791
544
690
465
488
433
531
665
330
360
380
667
600
602
661
379
328
473
504
510
434
670
585
721
328
339
357
547
750
615
468
567
326
677
638
689
621
790
627
685
401
364
347
608
647
590
729
580
370
607
312
353
499
507
694
307
537
469
310
685
314
452
784
324
550
512
416
501
485
639
573
754
572
634
747
462
356
454
616
598
739
793
388
672
519
631
646
754
784
340
654
389
300
509
343
546
456
786
399
408
476
734
557
458
348
461
343
683
729
754
542
611
759
484
314
465
770
436
309
667
647
369
435
531
753
557
506
479
558
700
412
660
466
487
508
770
471
462
520
727
458
500
377
573
739
607
514
642
410
743
339
588
631
411
387
754
347
686
697
644
360
499
796
621
770
318
464
442
613
418
697
445
743
570
366
725
673
346
393
415
633
604
319
681
546
652
418
551
512
463
449
567
618
370
649
308
731
304
765
399
647
342
700
777
522
584
742
461
383
558
736
376
721
681
309
463
525
758
425
467
771
404
349
455
359
525
662
684
793
714
439
446
466
677
756
619
713
322
335
463
673
447
486
659
394
343
381
442
374
493
742
543
660
765
583
690
736
390
641
596
668
563
472
743
405
685
460
488
337
340
541
709
411
638
552
322
346
373
598
778
355
348
642
629
362
363
622
511
588
706
345
753
502
348
496
327
671
485
595
641
665
633
788
736
622
501
711
310
571
598
488
625
548
586
767
412
390
511
488
772
609
730
535
570
652
793
585
416
634
540
664
442
510
493
608
549
508
619
563
372
609
661
412
757
369
352
557
349
762
446
686
383
499
393
313
553
423
496
498
752
390
520
306
718
534
411
728
508
477
773
336
790
595
465
751
330
433
444
653
548
467
635
715
320
418
751
710
333
724
362
546
458
699
624
662
375
438
700
764
602
364
553
471
359
480
743
425
714
597
610
783
538
669
308
458
585
457
671
782
705
640
444
363
747
646
553
600
454
680
368
632
765
382
494
577
679
554
316
514
466
555
545
349
781
726
646
710
474
682
317
458
564
654
538
317
566
712
647
675
483
328
737
643
746
795
343
654
379
378
460
440
596
635
410
799
767
399
703
550
794
376
611
684
376
348
468
594
620
328
706
696
772
434
582
766
326
561
588
696
730
523
725
767
478
653
778
388
642
417
677
569
640
430
728
743
784
473
360
400
615
309
716
736
737
541
719
322
576
681
621
551
659
488
358
320
587
449
613
772
421
475
713
784
377
401
353
697
479
722
359
606
353
545
500
554
415
466
649
374
443
547
679
414
384
666
445
630
601
762
446
736
441
321
304
313
673
439
691
726
734
398
586
485
533
544
797
431
541
474
647
517
669
469
416
594
502
451
358
758
313
504
305
461
698
799
463
541
486
693
751
577
692
317
778
407
661
512
733
408
511
469
381
385
731
711
471
637
629
451
730
639
705
639
349
481
643
709
476
522
617
777
632
666
305
535
448
628
699
783
500
717
448
306
763
566
411
716
439
484
548
561
699
347
557
466
527
652
630
632
452
391
456
746
574
301
547
345
678
787
773
763
401
347
669
656
312
705
632
338
623
496
641
385
435
610
699
738
655
306
318
589
708
503
538
643
788
570
517
375
728
488
665
477
641
547
445
740
731
524
642
734
619
501
575
555
711
735
582
705
312
433
457
380
664
559
795
778
520
541
313
424
507
601
332
665
443
480
699
570
781
561
739
557
738
709
527
590
452
304
476
732
608
542
658
542
617
523
630
575
406
451
564
394
618
645
460
444
421
307
772
610
348
774
344
768
740
645
644
463
644
790
738
352
545
784
530
712
753
693
684
433
305
675
713
481
761
626
585
519
301
405
324
439
564
658
623
785
639
726
588
425
434
656
451
631
521
530
552
608
523
621
405
640
453
642
452
446
440
726
685
741
619
562
592
534
608
718
428
485
372
320
523
524
581
396
645
457
376
694
304
701
797
436
343
542
549
624
433
407
573
437
394
686
786
495
760
370
579
417
791
522
719
718
441
420
622
570
380
681
370
523
459
465
594
725
458
514
436
640
383
706
620
565
664
596
375
630
444
362
543
791
785
797
640
599
701
375
626
756
427
655
441
381
615
331
353
343
430
704
725
764
464
545
628
393
799
566
512
724
315
350
393
750
382
691
342
621
403
539
431
523
527
352
407
708
625
461
554
552
499
317
742
553
788
446
787
734
683
384
523
697
531
718
647
530
701
479
765
797
451
384
439
542
780
684
417
800
799
511
582
311
505
420
682
370
730
741
392
656
400
348
386
345
347
782
557
646
744
774
563
475
482
486
403
488
357
610
375
712
579
675
478
384
503
795
576
585
593
369
620
573
527
709
488
506
544
572
376
684
792
358
714
601
461
694
306
334
326
456
356
483
347
458
426
625
314
551
474
655
564
710
645
777
568
620
659
348
742
619
737
354
770
560
669
346
402
596
681
662
320
780
494
495
457
796
370
334
640
797
693
348
587
490
578
324
582
477
508
614
576
655
661
419
776
553
616
515
766
673
301
387
546
684
615
660
642
587
618
518
380
570
511
591
462
698
313
360
680
741
560
743
478
799
411
597
333
401
766
304
455
750
313
752
677
449
308
746
654
587
327
481
516
570
693
472
621
602
623
566
734
370
402
445
325
668
777
336
800
798
775
616
760
358
478
458
776
583
571
491
505
751
729
331
668
652
486
326
667
487
417
523
443
564
453
404
735
725
646
598
515
311
685
454
399
402
370
344
655
448
307
393
497
388
744
547
748
376
387
535
312
788
302
457
363
306
409
426
644
545
781
503
331
556
736
379
504
755
655
691
498
352
431
798
539
792
305
465
785
560
421
372
323
673
509
417
794
712
360
476
603
582
658
696
404
627
462
549
445
384
618
316
408
640
364
374
780
431
350
361
576
649
708
563
372
756
380
795
381
741
331
411
341
319
467
367
355
455
405
309
366
674
739
312
472
531
315
415
304
617
781
652
526
584
735
655
410
539
732
575
573
396
487
595
541
462
703
488
699
456
359
645
537
525
520
306
528
502
763
767
328
730
303
447
309
733
466
582
443
723
522
387
558
308
510
701
621
492
420
679
644
549
488
640
695
392
375
642
411
347
684
582
541
649
505
529
461
571
382
574
540
738
656
312
539
327
371
666
478
525
791
562
640
487
468
332
692
356
766
530
653
569
503
455
629
534
578
604
312
431
377
725
799
389
309
483
475
477
330
330
775
769
374
745
329
353
750
579
345
376
402
679
455
431
798
382
471
779
518
796
339
746
562
421
766
758
443
689
439
420
783
711
641
520
678
784
728
305
357
776
413
348
661
621
584
625
447
356
785
329
455
608
591
357
435
428
566
430
798
777
457
792
336
471
707
568
389
762
300
749
312
391
721
316
626
481
759
314
794
772
399
421
708
411
311
590
729
335
736
486
581
546
646
303
498
526
767
575
458
384
788
302
312
567
417
492
541
787
520
775
512
478
774
671
520
426
384
362
584
667
775
591
654
711
396
691
347
345
792
629
314
423
402
640
556
533
665
462
402
362
576
738
748
647
371
359
720
380
704
316
680
327
395
318
402
337
344
430
572
389
337
312
444
391
310
200
19
242
456
397
376
59
32
439
417
3
261
235
470
252
351
251
425
318
254
207
138
448
134
38
118
86
97
477
435
107
215
486
471
346
230
299
126
263
141
158
489
124
483
344
149
483
362
377
217
495
76
167
206
277
499
473
253
377
277
237
302
431
220
437
116
192
417
146
500
11
58
154
68
272
278
67
185
148
285
63
72
104
398
331
47
40
233
108
288
372
261
104
140
164
235
218
398
13
173
130
485
249
83
296
360
59
388
81
266
397
309
407
431
296
14
141
338
350
338
30
463
392
478
361
428
426
117
70
45
15
191
16
470
17
368
75
87
130
321
172
443
14
178
229
216
333
158
391
242
217
240
184
246
449
419
193
79
126
498
356
378
255
327
251
463
204
417
277
192
371
407
498
157
174
12
439
277
445
70
68
112
401
149
358
402
428
337
381
369
467
302
207
215
209
191
268
424
373
86
108
119
411
289
467
263
86
187
79
244
498
93
197
248
389
259
176
182
239
75
262
61
418
325
198
118
181
442
93
84
141
59
233
184
223
152
349
126
409
267
398
231
359
83
45
302
18
315
161
117
499
217
316
288
39
335
254
170
391
325
300
288
52
455
212
492
417
346
114
418
244
32
60
389
420
137
492
257
467
342
454
233
29
112
197
362
29
328
195
3
124
334
448
135
185
376
60
185
278
319
449
95
230
206
81
475
364
130
98
73
381
206
99
394
243
7
303
122
412
247
332
458
386
61
146
478
265
61
203
81
155
266
6
208
496
448
296
495
289
135
296
20
420
320
336
146
334
434
297
437
166
30
414
389
38
248
268
425
147
429
339
39
438
235
374
118
13
324
167
291
182
387
280
128
102
171
20
478
471
334
95
443
184
239
394
410
433
366
372
139
475
309
37
495
89
403
28
464
466
348
408
85
291
38
9
378
362
493
233
35
136
483
130
159
416
48
117
367
465
112
414
169
346
437
353
437
154
193
364
59
179
69
51
415
112
109
376
337
90
445
273
40
159
12
69
214
410
491
438
334
104
300
492
107
492
366
174
261
243
13
7
391
127
300
94
48
209
167
371
474
266
102
457
273
7
289
204
316
173
477
392
146
308
318
128
72
400
254
241
500
231
320
48
175
250
159
127
352
246
321
429
149
155
110
372
274
87
278
55
424
282
126
330
28
94
168
41
29
63
13
391
372
273
258
303
244
425
307
336
83
279
382
2
349
45
283
104
375
261
464
143
467
24
398
405
174
27
301
372
446
33
393
29
99
463
441
168
370
364
488
346
454
128
231
478
219
203
266
323
128
448
163
419
368
272
109
485
142
466
194
459
211
124
265
170
56
211
79
436
164
194
465
96
268
121
18
130
239
377
308
182
358
171
490
275
213
150
439
365
158
334
201
8
206
483
389
416
115
171
272
42
47
300
364
381
356
86
278
97
232
69
383
221
143
216
365
360
15
336
180
343
408
497
498
50
442
184
48
193
53
398
351
350
159
45
420
348
416
27
236
456
287
120
476
356
153
146
25
152
189
93
307
97
15
209
324
18
429
383
200
131
232
460
48
404
395
221
356
250
291
180
226
265
300
272
431
250
239
177
477
74
261
143
18
456
147
12
447
391
284
449
47
346
450
401
316
69
112
362
194
155
474
197
428
110
226
457
179
120
141
60
465
499
196
426
475
323
397
477
212
65
411
454
130
284
165
480
306
340
470
237
88
214
143
247
205
175
218
498
322
498
344
173
450
233
357
247
319
376
259
264
106
352
17
277
249
391
487
235
115
229
260
317
175
373
312
260
241
290
60
132
415
408
94
263
135
111
74
50
239
125
335
348
81
329
103
498
325
308
247
257
482
305
339
259
320
170
83
225
453
133
191
59
109
93
97
310
345
61
308
442
117
159
500
319
262
243
97
326
372
499
421
498
403
467
115
130
13
2
90
295
312
95
272
129
466
234
328
434
279
331
414
236
78
194
482
472
128
250
202
73
6
136
14
34
311
287
103
332
123
329
360
232
390
396
206
49
448
344
154
471
305
138
214
403
494
42
113
31
348
63
135
130
489
242
152
113
497
13
4
169
238
62
269
417
168
429
483
229
56
500
470
5
56
369
297
139
485
410
133
188
45
332
500
66
392
310
21
219
162
450
418
130
321
30
202
155
154
285
84
249
178
85
477
104
4
413
194
326
82
359
374
247
200
151
328
36
471
456
60
196
21
373
340
91
22
325
109
276
82
72
424
214
451
385
140
12
267
356
234
281
259
33
145
124
484
268
260
429
69
140
17
408
462
415
171
355
308
339
280
458
374
359
233
140
408
406
492
213
179
476
261
195
435
252
345
195
153
381
55
248
487
258
308
15
226
38
223
150
238
16
154
367
2
108
88
402
224
142
396
283
284
136
434
85
309
344
77
16
452
64
282
342
474
77
61
210
392
484
499
461
250
403
291
45
41
245
373
88
418
373
319
466
409
197
158
278
362
112
143
187
164
36
393
482
32
174
209
439
317
488
180
76
186
218
499
2
375
358
63
467
154
313
27
151
394
150
69
424
363
213
139
368
418
290
364
417
298
213
486
35
100
46
81
470
379
207
446
148
417
289
263
487
123
324
408
308
172
319
318
295
134
259
175
215
397
309
390
90
344
42
54
126
389
83
207
500
273
138
8
301
406
296
264
355
51
443
240
334
446
100
10
36
500
125
5
320
9
433
184
130
142
168
396
452
217
478
130
77
80
309
26
311
411
166
343
208
100
470
284
1
149
270
173
422
229
361
227
479
259
22
289
97
456
461
192
282
431
183
426
265
32
306
55
133
259
52
244
189
180
29
421
70
128
404
219
398
245
165
439
112
258
469
182
462
42
319
42
154
344
15
418
398
149
478
491
399
374
301
454
379
77
419
110
11
407
198
286
340
360
342
224
216
166
100
243
89
91
422
443
337
291
477
295
425
103
157
114
336
489
353
191
189
324
401
291
170
399
236
413
171
162
416
86
93
420
490
31
299
57
212
353
428
148
93
476
385
318
347
468
310
259
452
448
52
337
291
160
17
171
343
286
412
162
422
353
196
312
356
212
80
90
331
54
381
408
311
2
428
445
351
217
284
17
255
24
315
212
357
497
473
167
122
138
446
326
70
62
246
489
356
39
347
364
9
77
358
119
80
117
154
170
479
134
166
370
160
417
303
425
231
407
379
148
45
173
1
336
202
31
85
491
41
295
481
485
456
34
53
439
459
97
436
387
333
41
224
382
98
15
268
428
252
200
233
214
229
146
350
153
59
126
78
150
91
38
113
370
388
97
472
338
348
49
485
101
237
24
290
158
214
296
245
280
141
418
273
104
201
186
293
458
229
114
206
251
311
104
324
339
235
430
57
276
68
105
138
161
229
422
423
357
430
302
138
455
270
380
242
98
449
341
289
85
487
7
383
218
212
463
493
484
407
50
6
120
237
163
67
265
143
295
273
356
9
418
76
175
115
170
275
472
37
178
467
499
498
297
131
398
250
477
377
205
149
99
382
198
101
289
207
386
384
120
339
358
323
439
199
450
491
152
390
443
74
394
18
496
382
433
280
59
353
475
267
110
173
203
284
195
284
88
318
444
360
155
137
279
192
382
182
414
251
271
81
315
155
156
195
464
459
281
68
18
158
224
484
195
351
49
338
310
264
231
262
319
175
362
28
140
473
443
229
128
131
401
178
79
32
310
210
207
305
483
321
54
220
157
27
332
194
361
11
284
231
299
460
230
320
4
366
44
461
137
61
444
115
448
64
143
70
482
458
232
131
106
329
347
251
262
449
148
59
236
198
423
469
84
266
11
329
81
192
444
453
353
166
10
231
215
191
440
352
216
499
309
478
410
155
54
331
166
145
437
322
160
473
54
472
497
420
225
296
485
390
251
415
175
343
494
26
190
314
49
226
289
46
224
286
47
190
438
477
390
312
437
223
139
115
411
286
111
169
495
66
188
476
198
21
266
421
20
329
157
279
294
276
49
22
19
223
53
396
164
204
345
118
333
313
499
104
162
326
134
374
330
142
154
6
320
235
287
3
248
376
464
321
468
67
216
464
420
40
221
128
143
189
393
150
365
34
270
488
23
480
221
418
359
482
376
77
301
463
313
298
17
127
156
216
470
442
77
456
160
3
281
470
24
422
312
116
433
412
71
415
147
29
77
218
188
456
4
331
146
415
290
33
305
469
443
96
281
485
384
257
87
414
451
21
49
77
254
82
333
208
186
97
14
452
390
277
106
69
328
413
450
370
76
285
222
76
119
313
496
21
55
208
250
294
194
267
61
142
40
249
209
437
4
30
390
317
407
396
293
380
11
484
113
156
399
302
293
458
435
175
139
400
160
324
238
42
402
47
105
431
470
339
173
437
467
350
482
480
201
19
113
331
234
270
40
246
32
499
163
272
239
82
151
129
224
485
358
104
36
201
304
134
276
196
49
82
473
445
479
90
255
493
494
236
131
36
482
239
131
44
394
393
79
14
300
237
366
93
385
266
326
113
63
98
145
7
432
197
53
499
171
142
411
266
255
72
135
291
76
431
448
2
35
279
488
87
100
442
399
425
115
461
462
187
308
171
238
293
376
378
171
144
454
136
131
235
250
171
23
57
21
327
206
289
182
44
216
17
33
495
363
140
355
164
110
279
242
250
479
413
35
356
343
100
382
193
311
104
393
337
214
388
194
269
406
224
67
437
41
336
7
224
329
279
299
17
388
485
294
246
467
436
295
21
185
219
90
212
24
264
250
297
20
86
366
167
271
487
274
233
258
312
321
325
183
149
337
470
259
313
39
283
39
433
2
123
118
109
259
49
6
355
323
76
53
173
393
357
407
43
54
102
303
346
231
175
370
108
462
100
435
247
398
17
446
193
181
311
256
422
467
32
469
402
289
18
25
411
328
333
427
4
49
18
120
400
494
449
337
208
167
335
265
491
218
165
73
228
468
329
461
223
322
346
212
313
493
267
265
134
386
441
394
201
13
2
5
115
289
227
166
458
110
403
43
477
483
174
272
237
447
4
72
462
431
142
116
11
121
251
215
461
488
280
182
275
416
406
179
251
161
498
425
185
196
307
3
273
2
197
50
404
434
293
97
36
466
96
264
137
166
437
117
187
61
495
212
97
224
486
353
17
21
125
148
326
177
357
444
72
70
148
65
130
309
372
144
414
35
173
322
230
99
370
2
310
121
321
299
472
62
61
322
339
153
200
325
405
52
479
246
132
228
33
110
79
71
285
250
322
284
276
427
19
74
182
186
197
301
382
12
23
262
108
500
243
410
44
40
401
147
89
397
342
471
243
292
86
78
84
97
213
482
333
494
303
62
257
465
492
412
210
171
191
44
143
230
151
499
67
267
347
389
489
325
198
19
179
317
383
36
468
99
456
239
452
429
147
406
350
363
331
367
310
240
343
424
150
377
220
40
383
387
366
61
181
303
381
337
287
322
315
163
290
199
281
330
158
57
55
56
214
289
289
317
444
454
180
362
189
11
359
490
236
499
498
465
146
413
121
412
185
286
330
193
186
409
370
460
198
409
453
374
233
482
312
354
27
157
401
82
83
430
34
93
436
381
61
343
500
445
464
29
437
366
75
219
480
437
337
220
156
326
128
226
303
222
315
339
116
411
167
280
273
397
399
164
385
394
84
16
255
474
92
59
413
170
347
473
271
123
212
330
96
20
346
286
188
293
362
139
189
66
230
375
171
327
16
271
186
158
257
245
374
188
34
190
187
5
397
327
185
172
461
355
291
94
491
479
267
187
73
479
145
114
5
465
181
407
259
414
256
284
388
276
263
459
267
379
110
460
430
461
116
262
214
219
72
493
484
437
93
120
308
14
344
393
464
448
242
86
195
66
5
413
53
294
308
44
489
33
467
363
289
487
269
331
122
196
360
181
57
196
154
308
323
276
198
373
117
41
223
369
347
339
391
245
398
198
61
85
470
477
496
185
243
21
7
434
28
97
481
122
189
156
150
368
110
66
364
198
249
20
280
481
5
68
186
467
58
118
476
488
337
90
379
399
255
451
200
407
318
323
241
491
9
220
12
311
61
287
305
14
282
202
289
112
400
377
388
348
271
273
311
112
401
228
463
297
298
428
118
370
123
128
59
260
188
18
254
293
500
324
106
183
420
41
170
112
472
11
495
351
173
163
64
465
44
376
397
262
320
393
70
400
27
99
396
295
191
393
186
366
264
156
153
265
150
285
394
252
468
89
146
381
93
15
64
35
52
22
244
247
232
155
164
207
497
429
43
466
257
272
285
334
127
71
72
366
121
136
350
436
334
39
406
402
362
38
194
62
135
468
300
460
18
240
191
157
483
269
52
113
463
365
38
409
338
210
471
384
344
217
406
321
413
102
405
222
173
453
321
247
296
316
377
144
103
177
180
141
144
424
291
434
384
174
251
120
461
317
344
271
332
240
406
357
257
45
9
172
82
270
388
304
67
138
44
184
99
286
88
291
340
333
25
267
117
160
370
222
45
210
149
357
60
204
13
322
454
177
25
81
276
2
216
51
272
413
56
300
53
195
248
291
143
76
324
312
437
143
48
67
380
79
269
135
457
419
433
231
392
105
366
252
196
117
113
447
330
457
5
103
337
164
471
434
421
226
415
135
409
167
224
67
123
324
4
392
90
259
272
479
451
237
87
146
85
219
459
148
3
131
176
414
129
357
240
478
298
478
31
205
4
164
372
410
99
240
67
266
212
417
247
133
243
290
468
103
24
144
65
242
322
110
43
472
470
142
150
293
222
225
326
385
447
318
222
392
186
143
429
114
95
17
361
82
168
444
49
62
468
204
396
474
463
458
188
410
7
154
274
262
261
54
231
181
238
172
323
334
318
390
494
316
150
275
244
243
314
281
391
52
81
366
360
114
214
264
71
288
73
299
292
269
323
41
422
58
196
256
191
54
21
484
363
467
413
231
50
293
285
47
381
97
265
176
369
212
11
56
442
222
107
379
347
246
288
323
96
376
369
337
30
66
480
322
122
224
425
433
172
178
261
94
435
5
158
256
174
395
146
412
475
131
374
412
44
445
268
459
323
414
242
250
83
489
216
191
381
86
438
173
422
24
394
161
189
131
80
408
9
107
283
227
357
320
229
436
352
387
484
78
298
289
379
8
75
147
356
147
32
370
239
231
463
106
141
184
268
59
172
398
112
380
330
178
273
344
14
360
236
122
358
51
190
100
127
424
78
352
175
295
345
232
325
190
72
277
316
120
471
19
189
123
212
2
251
99
34
65
345
472
379
176
343
470
105
473
75
32
208
293
267
350
62
84
483
336
89
107
348
92
223
101
132
279
280
482
306
165
60
352
419
224
412
40
351
340
442
473
286
105
65
128
178
200
106
485
78
139
310
333
141
373
30
145
157
402
466
331
196
69
159
264
319
424
326
126
119
420
353
131
105
131
184
283
442
102
182
468
97
216
15
260
452
18
374
389
318
216
76
312
427
202
340
15
2
16
410
438
29
195
18
181
499
178
86
93
18
76
277
148
437
376
27
75
467
187
142
259
418
405
147
67
88
157
90
254
356
63
112
73
278
28
310
448
305
77
3
410
126
381
63
142
357
449
376
126
491
141
459
119
63
173
231
272
343
161
41
8
156
415
79
289
127
464
72
271
214
494
183
42
381
101
20
122
342
400
224
349
1
399
96
459
130
7
79
157
333
182
433
114
62
478
17
392
306
397
233
12
275
108
77
282
249
400
421
247
499
13
459
360
487
78
129
45
406
213
329
343
204
173
75
24
420
418
328
53
73
42
255
396
171
274
366
432
73
239
200
482
385
24
351
312
435
1
438
449
371
497
487
87
29
37
102
445
371
185
21
276
190
280
200
206
367
26
402
150
73
466
176
99
71
424
358
131
27
376
395
60
459
237
382
304
225
331
234
66
357
192
308
121
487
389
236
392
142
378
397
283
53
16
182
30
266
99
69
419
81
64
193
202
115
183
397
138
390
186
276
351
314
283
112
364
26
373
497
275
29
331
383
299
181
433
60
370
50
152
180
243
487
36
211
299
478
164
262
213
62
22
315
476
49
106
50
454
353
311
161
158
344
177
415
346
353
257
61
247
106
454
63
147
251
449
82
90
457
412
67
337
327
224
75
336
231
209
358
161
406
43
271
334
118
56
438
380
37
326
101
327
310
182
265
431
148
442
385
392
199
495
101
334
3
216
448
343
143
464
124
495
251
406
499
119
240
116
4
130
33
493
196
212
279
241
64
160
477
311
152
169
21
265
448
477
488
92
51
259
18
47
96
287
439
339
238
148
121
217
357
330
269
124
315
282
365
357
130
220
144
353
483
36
402
170
11
44
164
358
347
326
320
449
481
337
482
231
475
74
333
147
352
242
69
130
305
339
111
11
103
445
124
227
286
134
52
490
400
245
225
162
388
372
308
308
8
457
347
449
278
485
237
121
467
493
197
260
255
361
362
111
153
338
1
458
482
430
459
304
345
447
61
191
402
475
314
242
161
460
232
109
436
428
1
465
176
295
485
269
131
412
125
129
362
215
466
81
162
189
492
18
223
179
11
273
162
44
391
181
48
80
40
384
499
160
484
349
423
452
34
433
227
418
145
337
256
396
109
96
87
223
167
114
202
143
278
25
367
170
466
491
297
15
195
25
373
181
403
31
18
221
474
409
307
157
469
318
132
217
241
160
171
216
367
189
305
152
116
406
218
211
77
133
155
244
69
356
418
14
153
89
207
128
142
376
373
485
282
6
353
335
290
136
312
367
136
88
105
19
364
380
129
444
13
491
399
355
334
166
448
368
287
220
444
295
294
439
439
51
139
12
454
460
48
425
110
369
71
425
70
215
466
132
158
185
140
317
481
100
21
307
141
335
129
180
475
341
471
345
60
15
449
391
6
426
391
318
223
349
340
289
188
400
82
181
457
125
366
243
189
176
28
325
92
230
485
169
160
482
71
167
316
5
375
16
254
292
75
372
425
184
486
440
155
310
435
260
344
281
98
369
194
269
66
231
78
10
226
35
137
26
23
60
432
204
78
272
458
486
228
157
339
410
178
390
246
13
315
180
5
485
469
363
353
277
39
434
117
87
338
10
92
337
368
132
411
161
322
337
401
412
418
180
377
426
387
186
382
377
233
426
355
248
446
136
174
47
259
496
295
72
445
62
242
328
320
224
277
60
326
240
405
315
157
170
308
6
254
58
339
259
461
421
34
263
310
442
257
235
455
289
32
218
12
482
123
325
161
463
295
452
134
165
20
17
185
254
167
239
86
485
209
402
171
41
367
421
348
283
402
97
173
51
406
376
467
148
175
434
101
437
159
290
135
416
211
84
338
489
174
256
8
166
340
2
451
283
445
491
157
249
264
133
34
93
231
120
105
198
197
194
238
123
191
469
373
284
274
339
48
285
66
467
223
158
283
39
369
230
440
181
292
66
68
20
322
452
342
175
394
409
154
401
406
41
203
158
87
335
148
490
336
225
338
472
280
446
483
421
117
234
20
139
134
23
290
4
37
322
380
264
136
22
386
320
291
425
457
137
433
332
6
317
264
434
18
17
118
28
156
192
259
44
218
172
178
408
438
275
120
247
175
65
20
111
21
313
252
406
103
198
137
490
345
372
353
355
442
136
154
77
410
17
448
440
233
313
41
277
487
496
41
446
389
123
176
269
315
258
308
213
252
224
264
171
294
464
103
105
3
469
500
313
20
410
206
317
394
45
131
38
99
223
125
291
366
438
484
32
411
373
89
48
385
184
437
41
292
44
67
499
103
98
107
224
187
397
218
39
163
229
495
286
416
136
236
203
68
253
263
208
402
356
118
107
253
485
121
89
113
155
143
153
405
61
327
322
299
137
240
366
82
449
113
147
330
484
379
49
497
309
234
9
252
150
10
96
440
468
399
87
471
435
72
352
142
438
173
39
120
106
72
283
330
36
386
456
423
417
128
57
72
253
256
230
316
40
67
46
294
389
312
239
272
375
131
395
108
467
493
66
154
193
451
270
56
244
270
464
89
485
477
232
166
130
490
385
80
84
272
486
460
243
395
445
88
48
154
419
262
382
14
225
208
476
239
141
438
14
440
281
30
143
156
97
341
64
76
84
338
299
245
414
316
399
130
213
197
388
395
231
484
315
80
274
99
293
153
335
202
425
13
69
459
203
171
129
483
54
141
469
451
462
434
198
393
345
441
95
121
273
56
27
71
292
425
14
315
94
82
53
384
19
496
409
223
133
160
15
355
101
237
258
487
340
427
168
72
116
361
306
193
138
127
180
314
387
74
34
40
297
344
157
82
256
93
401
497
497
381
364
234
125
85
364
286
253
152
71
15
377
426
188
229
166
370
293
437
208
354
168
417
221
233
415
470
358
94
57
188
100
144
182
415
46
209
203
415
5
381
376
245
88
307
123
109
319
79
35
152
356
202
481
359
19
47
14
451
19
405
49
209
212
359
456
462
199
288
455
103
404
494
125
246
213
468
173
380
449
485
497
424
259
201
13
298
489
228
10
298
116
82
393
16
471
101
251
367
132
178
136
6
247
83
170
446
479
58
312
64
142
319
367
20
25
172
324
130
441
54
295
309
224
42
81
133
392
137
406
303
183
112
154
396
148
464
350
102
178
417
69
183
304
499
334
288
429
66
122
307
437
463
115
98
444
376
500
351
499
5
462
101
266
178
381
444
25
345
17
401
204
340
436
90
369
400
5
353
272
489
186
324
443
78
283
488
428
261
64
339
352
312
225
193
466
403
116
131
329
234
344
300
383
292
417
332
351
201
413
274
53
409
230
338
390
302
309
96
119
392
419
445
260
262
214
59
450
84
457
489
100
411
238
413
15
372
204
442
369
288
421
163
130
11
180
401
458
481
384
25
30
182
463
373
333
54
494
376
387
124
314
210
87
344
431
362
281
48
137
29
419
400
125
284
448
123
34
65
372
266
201
483
304
335
138
366
269
134
496
59
225
8
137
18
460
261
416
283
369
330
52
307
370
157
122
406
246
392
314
49
314
404
455
478
355
70
93
138
135
241
273
232
343
431
76
88
396
167
332
402
123
256
96
44
396
75
283
468
434
182
341
243
250
349
118
287
285
43
216
471
31
107
336
220
254
326
116
325
140
124
184
301
94
182
195
134
295
250
477
226
41
126
183
97
214
264
307
277
182
247
231
178
389
232
185
222
25
488
185
353
191
373
99
219
43
329
239
259
381
146
499
304
398
488
489
320
328
149
158
228
255
366
434
306
218
436
461
218
254
302
339
196
273
215
346
436
118
324
2
284
232
143
78
55
142
295
20
315
112
52
297
157
448
19
357
109
40
267
99
389
111
307
338
490
74
428
111
145
38
124
294
109
47
41
200
458
385
376
463
308
372
356
494
170
473
35
112
297
189
149
408
485
52
476
254
122
231
17
209
301
16
296
52
78
151
176
276
14
367
50
41
269
305
271
269
237
397
149
234
95
328
478
387
312
471
185
475
461
358
379
338
412
327
109
112
2
78
436
243
357
335
302
498
179
168
448
313
42
481
102
173
415
201
162
24
138
137
77
256
103
497
348
422
419
269
39
298
258
246
149
40
445
385
87
133
146
399
451
206
139
125
365
71
104
92
109
188
197
333
180
467
59
307
26
209
136
207
189
110
182
57
407
468
717
645
562
520
788
539
697
509
792
709
774
550
793
609
308
709
598
568
375
502
413
741
491
773
419
341
511
685
477
695
550
577
643
792
501
598
770
657
497
670
426
767
529
459
414
457
597
537
519
481
659
586
506
550
701
321
778
403
695
363
331
379
617
638
535
486
397
457
317
664
672
305
386
450
661
584
631
412
326
558
382
538
792
709
651
681
576
561
386
438
343
579
623
789
440
420
742
332
568
726
572
317
371
407
529
795
316
339
450
747
581
328
632
410
657
455
739
714
783
621
577
620
407
597
645
782
311
463
646
408
684
542
611
365
531
506
666
321
494
688
698
524
534
800
627
787
540
606
482
418
749
680
679
655
736
724
600
800
719
372
590
683
649
613
334
454
434
420
715
709
342
635
302
548
592
791
716
397
700
689
509
435
558
450
328
519
448
377
383
784
689
584
436
788
364
439
303
794
703
336
480
471
396
747
624
427
693
421
779
436
616
745
303
531
565
525
762
519
559
720
486
785
635
668
349
529
791
768
781
371
554
591
719
556
388
602
712
395
740
699
302
611
388
663
549
465
368
777
679
321
489
572
360
393
360
315
467
340
405
712
458
378
529
337
339
495
480
530
325
739
438
324
421
569
545
708
583
383
772
389
573
354
578
650
646
325
791
667
793
400
455
378
633
736
473
366
395
426
574
513
389
455
500
655
704
461
752
647
531
347
351
688
401
657
707
781
389
310
645
765
730
717
601
349
585
312
725
327
469
689
794
406
478
534
517
376
442
633
449
796
758
423
769
349
715
594
683
513
328
669
353
380
578
650
357
482
391
730
328
625
324
572
307
792
472
725
706
581
685
424
608
420
766
367
687
437
631
544
765
655
443
438
591
737
450
370
438
300
701
631
679
417
715
580
315
402
759
426
572
553
736
657
445
306
690
614
424
508
499
418
398
473
328
660
636
542
355
768
373
422
439
778
717
594
469
388
601
707
331
799
653
478
456
413
486
689
435
639
705
599
679
428
375
566
318
486
309
481
484
530
799
622
726
590
536
332
725
563
787
542
698
753
755
594
720
541
339
607
451
362
431
769
521
689
459
408
700
717
469
488
417
718
511
388
712
311
309
360
676
689
392
398
683
678
704
522
718
705
594
582
392
433
513
747
663
536
661
557
650
615
378
478
749
449
442
405
411
343
359
332
730
314
584
770
799
788
378
781
412
390
646
523
400
549
484
687
581
466
738
532
798
667
356
369
683
623
673
507
667
407
552
400
694
774
485
667
502
428
501
726
791
710
394
433
542
389
694
715
429
531
342
620
721
397
550
800
737
739
324
542
366
461
599
398
602
553
419
420
510
550
419
714
336
427
404
562
589
358
760
384
382
577
416
327
602
595
495
655
720
747
516
750
324
649
668
712
304
587
748
390
519
359
717
640
769
517
423
659
754
462
597
659
799
741
455
785
320
603
543
771
559
512
716
517
618
488
638
769
746
318
592
513
480
644
524
718
728
700
336
650
719
681
472
527
325
744
532
785
653
535
572
460
613
540
607
406
622
381
711
479
718
681
671
706
759
541
645
647
774
520
749
416
626
512
394
439
634
450
433
767
714
787
351
708
612
579
395
552
492
578
620
510
308
609
797
363
631
442
651
502
796
629
776
741
658
795
489
599
328
772
565
453
743
719
387
438
598
487
623
361
578
483
458
560
325
480
451
758
651
633
563
784
499
618
422
603
771
386
490
321
457
756
706
675
616
678
685
713
729
466
395
790
564
668
372
423
675
553
782
728
572
549
707
422
308
325
445
431
542
662
484
762
493
578
306
578
712
630
529
483
312
552
646
448
518
465
340
560
716
620
677
542
704
762
439
673
576
435
794
395
689
361
721
462
635
465
620
549
511
409
391
781
718
744
302
538
419
759
364
492
302
395
769
304
773
348
543
527
742
525
786
689
664
748
451
764
324
739
604
511
790
363
621
729
551
633
495
344
359
634
695
664
564
347
516
779
485
478
453
458
754
671
360
359
453
378
614
755
619
580
450
684
537
795
761
711
407
409
647
587
466
453
749
406
360
557
459
510
351
620
730
696
485
530
580
603
436
662
738
654
492
383
606
468
499
587
387
636
644
632
388
550
477
800
576
595
766
729
795
352
433
758
300
351
631
695
692
630
697
329
731
680
756
344
433
536
663
645
346
601
526
606
329
344
577
600
717
408
418
756
378
325
388
688
690
560
355
517
428
724
413
373
651
344
428
384
608
317
377
501
507
631
341
300
658
676
599
584
647
577
443
674
316
333
688
336
332
471
454
749
655
639
670
696
312
768
676
574
651
428
690
703
633
621
660
364
366
515
523
477
380
672
472
421
469
733
584
415
577
762
443
353
729
693
379
468
657
422
491
367
453
475
764
422
307
548
559
668
530
524
550
494
606
659
481
762
537
791
547
338
516
493
493
679
715
670
610
443
718
351
696
344
689
586
569
579
728
401
744
704
713
352
494
553
522
514
504
456
569
681
699
487
787
751
741
516
793
457
753
736
335
345
407
526
725
311
376
652
513
402
391
769
458
748
525
592
447
312
626
403
543
678
429
724
430
368
456
523
548
719
407
789
455
617
337
442
396
469
525
546
661
674
628
749
622
473
666
551
359
672
379
521
642
616
312
770
477
422
356
562
447
790
535
324
696
644
567
764
790
402
742
640
780
707
728
440
543
584
704
724
758
373
410
797
576
535
422
556
341
596
741
617
698
653
619
475
505
764
390
677
669
412
741
620
448
513
712
457
335
489
575
562
647
629
544
658
363
603
428
723
682
539
792
400
767
601
343
418
799
467
620
370
365
342
639
755
339
607
653
434
486
623
662
790
621
761
380
445
650
486
400
317
337
330
714
531
569
721
508
653
476
417
760
461
332
355
361
714
507
389
383
354
594
685
325
505
585
516
532
476
491
730
590
642
723
477
510
393
561
351
743
545
406
678
597
552
425
352
403
570
415
352
671
592
634
415
596
349
788
557
642
486
441
327
443
555
536
757
601
326
721
334
418
791
538
408
419
490
317
601
558
345
627
503
777
392
422
526
341
377
539
572
549
633
569
336
342
684
447
556
594
503
720
743
649
622
481
516
660
737
406
720
507
498
482
534
495
566
549
361
609
532
688
345
468
613
542
643
565
569
334
590
640
364
720
673
454
675
709
316
661
458
630
662
392
431
719
731
329
321
527
725
687
554
327
405
348
641
668
305
748
731
501
633
691
519
601
484
786
618
492
573
615
704
478
787
724
470
551
418
642
619
432
449
576
751
490
656
461
765
719
520
777
430
472
581
582
433
570
625
464
446
435
372
380
340
435
411
521
353
682
592
678
640
472
369
705
685
563
333
691
499
720
420
470
563
707
560
539
586
714
638
462
762
765
330
740
542
633
747
581
431
557
599
592
749
585
783
539
496
724
443
790
392
784
532
428
550
445
362
491
425
677
514
361
482
467
390
730
772
403
533
684
379
534
789
327
371
429
590
448
627
308
524
596
592
643
771
409
572
457
668
309
787
762
736
653
799
657
494
713
637
320
540
671
642
540
426
761
585
435
662
699
432
483
644
725
576
492
348
386
316
420
355
354
353
668
390
723
799
327
776
517
675
386
559
518
616
641
325
429
631
735
598
713
448
560
463
682
454
527
489
645
568
455
584
725
570
689
754
654
585
304
429
304
766
429
753
465
561
372
780
795
639
385
764
700
544
414
793
500
386
531
572
526
553
772
733
511
388
732
661
734
555
586
585
488
508
673
707
687
787
471
421
582
523
509
713
574
493
765
464
780
319
656
536
732
630
756
349
796
437
588
625
787
715
658
615
671
701
780
635
491
517
341
398
401
596
708
347
726
381
797
442
483
365
788
483
774
757
637
451
643
510
791
739
427
600
419
671
606
796
526
517
317
574
456
743
708
342
615
507
307
504
429
510
656
732
313
305
741
518
366
354
322
507
654
560
678
502
349
438
434
435
481
641
785
463
493
764
523
676
771
784
677
568
654
666
398
548
728
507
455
449
561
341
558
675
484
544
484
323
769
360
441
736
307
576
749
523
627
437
765
334
625
499
558
334
770
639
758
736
416
534
679
415
419
345
480
327
431
697
593
718
367
548
590
411
572
302
689
772
333
795
312
791
569
416
632
414
700
340
629
542
773
314
491
787
689
752
592
324
729
546
352
349
800
463
591
605
408
787
343
502
586
517
722
775
650
385
349
677
689
418
305
354
466
794
682
696
384
713
719
557
650
306
337
450
551
753
717
602
720
671
433
620
563
367
402
301
301
454
652
580
590
527
316
676
558
442
356
533
527
786
486
445
548
626
429
511
401
602
440
737
475
456
367
473
770
752
408
360
722
630
424
387
552
447
654
398
544
762
530
566
383
387
718
665
621
300
709
734
370
506
518
404
511
536
553
411
635
643
766
300
547
692
367
529
495
645
780
711
447
743
405
550
762
305
668
433
766
508
551
650
782
571
457
315
727
448
426
344
301
406
363
414
448
570
604
368
542
706
518
584
384
342
467
697
521
510
402
719
426
320
783
752
305
442
643
317
514
506
346
530
629
697
378
716
714
303
410
584
462
452
492
617
395
393
449
633
657
796
773
799
481
472
302
493
360
798
329
468
318
643
707
615
636
543
545
394
792
608
745
753
315
432
710
714
510
565
366
724
573
688
781
730
434
624
745
364
761
721
598
447
448
613
659
643
425
478
428
493
322
433
371
760
366
608
392
395
345
469
453
387
484
746
778
405
360
677
626
308
714
342
379
434
762
454
554
332
772
374
322
727
364
467
503
663
714
614
492
662
417
326
656
782
698
797
585
300
641
798
530
690
303
428
714
595
369
500
486
314
460
570
619
318
615
341
352
419
663
529
462
749
729
317
511
448
799
632
666
781
500
509
763
655
600
703
577
792
422
431
336
634
525
686
563
691
310
762
644
524
312
459
434
688
592
677
352
614
734
355
480
603
536
503
554
744
469
582
426
378
713
400
624
707
767
756
499
681
424
391
312
765
685
328
666
771
723
774
395
704
502
442
661
494
589
751
483
429
788
466
588
741
575
647
640
572
626
799
484
626
480
610
674
684
757
533
638
543
315
417
638
733
551
464
342
652
317
332
461
395
362
635
606
670
614
469
632
559
359
672
637
710
428
315
489
605
551
543
429
726
377
650
413
661
730
763
552
588
650
330
654
477
706
484
657
707
504
673
511
775
603
646
615
686
433
327
799
374
418
362
484
400
309
768
490
659
726
549
565
396
413
683
734
384
335
343
713
610
312
378
625
751
663
751
334
612
660
579
617
703
581
683
668
632
758
318
580
554
799
437
772
587
585
610
343
527
637
389
518
510
450
581
776
402
516
599
799
692
511
685
417
692
375
412
708
353
424
347
397
451
755
673
742
633
782
470
580
662
733
666
523
436
608
764
606
419
752
726
673
653
601
523
719
450
549
617
410
671
679
344
607
546
718
778
350
302
777
739
507
659
737
655
673
324
342
304
415
431
720
405
745
737
688
709
456
674
441
361
795
463
383
469
613
577
616
656
339
720
328
636
646
778
430
748
394
598
633
699
387
649
402
730
597
442
590
333
461
564
763
725
713
379
743
434
444
751
507
348
649
457
763
350
486
371
622
481
676
485
347
527
493
744
454
666
676
415
782
574
485
681
504
424
665
628
628
723
749
312
600
514
735
353
343
483
534
331
693
703
361
707
685
527
545
718
481
401
586
309
531
335
316
399
677
652
370
683
435
681
644
549
343
547
393
371
708
776
554
693
518
483
766
333
495
647
421
519
498
377
508
575
677
775
686
327
445
496
709
515
415
419
653
731
744
694
548
670
769
323
401
500
617
713
527
552
373
454
459
640
357
369
622
712
441
331
538
778
341
601
494
486
784
398
776
474
490
774
564
467
472
595
530
343
689
450
787
366
344
540
511
461
622
534
614
408
659
646
582
741
359
375
588
541
795
542
370
506
550
659
530
637
519
415
347
618
595
689
556
414
581
503
657
308
405
484
473
716
776
752
702
395
651
711
336
303
348
516
674
410
325
382
300
325
692
510
728
488
483
654
709
490
733
427
605
558
386
560
374
317
515
400
638
373
581
765
627
691
586
559
402
738
785
484
518
539
632
752
386
564
633
493
666
694
743
731
469
653
566
412
305
561
581
390
306
561
404
721
730
733
744
744
472
356
654
468
401
306
474
753
677
526
402
745
415
777
326
732
510
441
445
527
580
642
493
792
623
644
784
623
531
625
724
501
796
655
327
300
724
500
707
627
710
478
697
727
497
358
410
562
488
414
451
529
320
502
484
679
695
718
438
464
552
729
487
357
467
749
595
460
367
507
360
585
684
717
494
679
332
593
485
585
495
524
485
460
345
659
783
762
309
357
391
550
366
355
365
410
768
558
332
554
537
317
679
766
774
517
650
328
745
703
418
390
370
420
545
593
499
734
694
768
768
535
571
416
782
430
432
769
544
598
526
510
531
723
630
582
459
579
549
732
608
491
437
562
619
470
663
685
641
416
579
470
742
470
797
497
671
746
593
526
674
650
722
796
447
388
389
564
455
703
730
495
643
669
580
758
666
484
431
540
618
626
360
462
526
332
341
573
343
563
715
391
659
433
599
479
455
553
408
755
541
657
388
315
366
700
783
300
338
718
627
755
340
618
461
351
535
655
643
535
309
563
433
366
770
361
707
569
732
397
475
568
509
796
355
385
718
717
721
610
468
572
365
533
369
774
477
674
689
548
582
362
792
649
309
606
628
315
308
450
454
739
335
714
527
556
430
605
765
663
780
631
450
324
386
677
356
586
325
739
795
680
672
695
440
589
398
305
536
523
663
335
487
385
325
577
337
519
724
675
654
786
506
594
657
551
628
624
751
348
596
452
587
765
547
634
519
773
382
514
755
413
384
323
615
368
300
416
649
559
581
484
360
620
466
544
346
352
425
705
585
512
384
549
514
592
634
359
778
551
648
744
318
358
527
475
706
307
340
774
588
317
507
395
430
538
331
678
657
498
472
428
800
520
353
584
401
565
605
730
322
685
686
502
737
387
475
733
431
630
484
702
625
541
701
301
542
552
597
716
326
360
692
708
650
543
475
797
377
736
510
717
406
623
406
592
787
767
543
608
673
709
502
688
788
447
320
350
789
440
548
331
791
569
606
407
378
452
565
760
696
427
723
569
486
424
545
379
660
336
419
738
468
352
464
661
348
729
611
432
534
625
617
600
467
656
610
567
735
426
688
392
551
798
787
541
425
463
734
304
701
429
792
438
668
691
535
699
562
607
523
583
510
378
718
772
438
436
506
437
517
578
388
768
779
476
309
609
722
552
645
588
531
561
567
623
359
408
393
553
370
731
681
412
706
752
481
566
568
643
676
437
449
442
545
777
580
701
557
515
645
343
337
484
728
469
544
720
500
676
325
631
411
400
340
423
766
620
710
768
752
778
530
447
326
479
775
564
355
734
312
798
638
405
380
691
658
640
407
725
599
371
472
797
720
652
469
632
686
683
506
368
388
728
350
764
770
694
749
363
576
787
685
636
608
571
711
302
353
699
435
483
573
527
468
635
536
613
532
575
501
314
339
509
689
591
363
370
721
795
513
332
512
489
688
668
528
699
514
451
560
556
777
598
413
798
755
769
757
531
427
346
546
664
556
679
477
523
778
401
562
671
752
528
734
581
773
662
399
484
574
468
315
392
690
350
785
428
563
652
750
783
624
788
669
562
584
781
348
800
748
401
461
702
562
407
502
694
629
406
745
658
658
475
697
657
608
721
429
747
504
662
603
317
673
722
306
681
789
656
786
384
561
787
367
382
376
690
395
586
433
403
783
501
620
773
372
658
408
416
744
364
632
415
432
342
462
568
494
794
343
472
395
460
538
335
729
484
704
752
350
698
381
321
342
739
548
392
779
411
762
528
672
446
599
396
402
676
309
495
484
478
695
607
610
493
349
409
315
580
742
412
686
437
653
773
425
494
350
448
396
588
432
672
774
410
541
790
303
592
320
729
568
467
792
366
760
738
338
689
320
604
529
718
770
773
646
554
579
396
411
387
372
725
658
505
354
712
537
631
345
597
331
395
475
667
714
698
340
516
488
622
792
755
522
620
454
568
438
721
629
713
690
321
498
755
745
503
514
553
548
667
505
444
591
487
752
325
504
765
679
466
414
416
338
412
686
416
628
711
740
393
702
421
367
744
311
584
472
336
505
681
463
544
565
319
573
402
474
642
680
476
530
303
480
726
692
716
750
583
794
482
798
657
663
529
699
552
494
489
716
508
541
359
598
669
758
526
493
607
396
724
686
669
549
533
702
656
754
350
747
608
502
487
358
642
302
589
408
747
703
762
645
371
631
654
537
438
556
327
473
576
482
300
540
718
500
438
517
661
765
744
455
732
594
560
513
746
422
732
555
663
659
746
633
364
603
443
724
392
578
560
643
654
609
744
678
783
304
535
355
570
729
766
362
677
515
730
644
781
481
363
424
625
447
564
464
403
459
700
602
437
412
637
659
672
616
591
432
551
308
800
563
723
702
536
574
538
438
684
491
482
344
655
642
655
307
514
550
506
615
503
761
529
529
578
407
502
347
653
794
795
674
562
373
476
552
514
458
412
505
758
310
725
339
684
322
567
625
656
429
523
743
347
413
445
633
673
347
341
723
602
768
450
728
736
753
610
616
455
724
696
552
438
424
584
443
358
679
658
442
300
475
394
758
401
337
474
581
432
329
702
580
404
730
519
429
710
524
551
586
627
533
611
510
671
581
361
508
780
677
523
399
457
717
752
377
580
430
710
750
677
782
633
564
481
438
491
305
773
363
792
770
642
500
642
540
614
503
452
379
352
648
427
705
671
575
796
611
571
715
538
740
641
619
383
743
712
510
571
494
741
595
341
578
307
747
725
800
511
444
676
772
588
449
605
514
584
443
517
557
405
444
431
497
717
521
314
567
413
797
692
757
377
584
408
406
365
351
588
730
500
465
447
336
418
568
360
632
356
733
431
623
498
427
722
531
507
692
484
519
678
509
348
354
490
443
336
486
710
573
586
473
493
468
418
714
699
540
789
328
356
722
436
545
730
719
681
559
466
745
501
634
659
704
419
393
571
601
521
372
508
513
684
545
549
676
464
493
468
556
618
495
414
639
648
367
738
481
546
498
355
795
535
433
485
540
354
771
375
631
361
656
561
517
442
637
533
414
353
719
641
632
652
684
376
554
396
444
781
747
639
621
328
677
347
503
641
402
335
366
305
502
396
559
562
512
667
699
534
544
324
513
722
461
539
693
467
472
669
385
768
358
679
307
528
660
500
491
418
508
302
561
450
577
769
528
328
387
791
620
581
457
553
752
700
346
710
324
671
527
723
322
377
781
399
739
607
758
556
450
631
688
695
743
697
745
355
664
708
477
398
456
327
492
759
619
705
549
601
689
483
612
404
325
628
363
406
640
726
772
706
660
410
609
312
438
767
588
462
437
694
402
797
514
564
402
762
466
588
723
554
639
375
582
628
652
729
455
317
514
743
696
680
768
459
408
659
623
543
674
462
747
460
505
661
452
699
734
640
757
543
522
736
547
644
441
319
653
409
744
388
653
395
628
795
393
695
595
383
432
324
638
473
461
619
591
508
776
568
522
333
375
632
515
533
445
501
578
751
770
556
688
441
356
626
516
530
334
310
765
458
322
660
619
494
616
629
597
775
577
450
636
605
512
592
574
662
493
508
453
625
417
520
655
497
501
695
390
527
461
489
381
465
348
303
747
582
313
440
753
397
403
658
434
461
592
312
775
524
350
772
417
503
460
535
423
494
760
687
724
342
725
313
658
607
643
792
773
480
769
551
422
311
667
609
354
420
639
602
781
800
320
734
657
519
338
784
658
447
430
760
775
374
360
766
423
579
791
628
668
791
333
788
480
435
643
452
773
485
601
592
769
748
690
478
523
699
784
305
440
429
685
336
759
301
417
473
650
419
654
570
436
576
647
713
351
572
773
676
319
458
635
719
794
771
583
373
553
509
693
592
565
514
664
777
558
430
528
798
687
477
783
325
623
312
516
578
534
524
546
786
714
745
374
316
471
664
747
716
313
306
792
754
674
532
493
458
747
339
504
628
675
347
346
790
770
464
443
352
606
414
714
443
778
458
373
786
595
415
611
737
441
765
782
623
572
535
630
385
624
383
377
560
661
669
387
482
359
419
358
307
454
698
309
692
769
778
800
412
323
400
791
610
796
689
733
672
680
593
677
437
349
784
538
502
362
643
310
752
396
339
502
685
434
625
481
377
358
617
303
706
300
653
597
300
518
314
447
379
692
760
473
633
569
311
614
421
447
692
717
713
532
313
522
659
311
663
436
673
679
535
396
680
349
522
470
415
704
479
615
417
327
403
425
543
396
543
376
540
389
799
729
409
542
716
735
651
355
356
412
796
519
726
466
630
575
400
728
685
530
798
650
520
300
716
640
738
380
514
420
641
652
754
670
486
616
594
556
670
720
648
488
312
347
460
614
361
569
354
449
391
684
459
580
677
627
796
489
599
342
362
629
591
665
594
701
340
749
774
391
511
723
380
717
640
485
640
315
433
537
549
651
712
775
761
623
772
435
689
785
430
676
688
645
458
614
413
317
743
669
746
680
476
429
544
336
418
337
318
690
306
718
608
406
500
306
536
313
523
568
751
605
713
786
382
397
620
316
666
354
508
659
522
626
471
350
401
784
776
550
540
600
538
542
749
474
736
368
796
313
645
703
716
480
595
493
401
343
700
644
307
532
570
379
743
634
346
484
398
799
754
699
411
568
402
793
341
344
413
640
526
536
543
536
578
493
335
300
537
582
750
751
422
300
627
600
543
619
390
697
435
577
625
416
517
322
765
496
521
602
581
367
708
422
468
717
685
735
713
661
369
368
745
385
469
718
703
685
664
586
552
694
426
535
326
575
788
376
638
379
704
673
344
645
476
562
760
321
397
663
368
325
480
774
357
761
740
615
533
730
532
527
554
614
487
324
609
358
470
747
769
727
662
627
762
680
523
469
728
369
712
331
395
468
566
765
772
707
440
580
333
705
404
360
526
657
622
768
729
417
312
467
395
594
760
400
689
357
347
417
410
376
442
527
594
373
599
403
754
452
500
421
667
750
406
472
484
401
320
766
400
434
324
475
779
436
732
791
528
789
797
703
474
410
358
486
717
657
623
484
573
395
467
743
472
737
434
475
608
599
401
345
790
722
773
785
640
544
385
371
453
412
697
738
476
711
409
579
406
544
331
514
385
497
426
499
360
698
709
379
346
689
754
491
735
527
772
324
652
449
339
725
471
303
488
540
537
324
634
790
344
453
562
675
458
694
470
384
647
313
633
474
327
789
585
323
561
598
307
522
336
611
697
795
531
598
738
799
334
787
395
647
612
612
546
320
643
421
470
725
390
758
616
592
381
626
799
317
304
440
391
545
739
547
746
311
434
304
392
356
559
548
584
495
758
460
329
760
670
389
371
459
381
324
666
357
536
493
417
384
596
391
399
348
768
304
326
369
531
762
659
774
671
503
374
685
303
406
721
559
446
484
792
334
671
434
458
313
448
358
592
729
678
34
302
231
190
154
25
371
330
190
337
256
75
8
234
184
404
480
94
498
37
326
34
436
389
207
203
81
266
449
29
446
266
215
25
276
233
48
13
477
56
179
43
292
472
80
43
58
347
89
145
426
494
279
239
61
408
17
187
480
472
107
97
81
96
358
449
320
296
192
308
138
124
458
374
179
111
430
155
373
162
17
286
406
384
467
148
171
198
43
469
121
388
174
139
205
476
101
56
82
287
10
57
10
214
152
385
402
90
170
130
252
468
469
389
500
373
311
169
127
381
309
234
323
347
78
341
479
441
362
431
127
98
417
448
269
471
124
461
436
6
18
117
354
410
89
97
461
47
55
75
419
341
84
18
174
253
110
69
271
368
473
93
475
389
218
9
260
214
366
85
414
355
48
235
245
331
43
55
188
355
227
216
480
321
459
244
487
482
124
366
33
264
276
399
333
68
401
168
417
480
487
366
139
413
233
128
380
279
17
258
282
114
150
118
419
429
386
17
314
78
178
4
301
250
213
477
237
255
230
9
365
396
342
488
340
232
213
48
131
463
266
23
430
410
93
268
486
482
346
105
166
236
372
11
496
193
359
43
220
405
181
325
29
442
231
247
404
335
348
403
225
442
26
114
165
376
356
210
234
347
449
179
19
178
244
59
12
201
159
252
182
364
193
251
27
251
498
386
404
216
393
357
20
457
42
154
250
356
179
413
348
445
493
452
94
159
472
72
94
327
351
172
290
130
267
367
13
86
268
202
87
473
69
487
207
67
388
496
219
293
370
435
366
227
354
12
439
166
209
231
147
50
297
497
253
444
447
381
13
364
364
206
214
16
252
23
130
408
271
408
200
165
84
150
86
425
310
54
177
460
147
327
253
255
369
281
134
51
225
73
69
204
346
355
172
107
206
323
241
261
224
182
430
427
178
484
386
280
179
427
413
354
222
384
245
465
289
461
321
165
276
63
207
467
286
225
126
67
383
310
332
141
421
61
328
266
64
15
368
331
112
255
354
166
57
150
168
129
435
8
76
179
266
396
269
432
69
383
276
60
170
256
183
1
289
385
275
316
434
470
79
247
22
77
93
33
326
1
472
13
26
307
228
329
481
114
34
499
262
78
445
166
300
130
210
212
400
352
299
167
395
138
70
455
3
182
493
3
475
105
499
152
259
318
76
22
186
227
29
441
182
30
6
409
169
222
305
490
247
340
55
145
421
93
47
15
89
489
347
408
373
315
264
135
88
72
346
356
360
126
348
433
471
298
350
181
353
458
492
160
304
173
332
288
262
276
81
56
316
128
138
432
319
150
362
276
271
142
342
30
101
99
402
7
467
199
105
474
183
129
71
26
373
225
85
93
10
332
235
485
42
172
315
30
382
29
387
415
184
496
441
451
259
38
74
120
485
149
272
155
189
403
78
302
466
302
498
352
55
204
331
175
17
320
430
212
11
134
253
275
45
233
262
149
243
296
426
324
450
295
231
406
129
168
29
326
414
308
245
417
159
144
304
13
412
426
378
428
484
217
358
488
408
450
66
54
169
383
125
293
481
42
261
437
248
92
388
230
172
57
339
100
87
328
278
243
328
479
119
348
273
392
421
407
304
483
193
207
336
469
99
334
174
454
11
394
213
75
468
373
255
462
163
144
371
272
233
6
415
178
34
14
244
476
29
139
381
39
302
37
5
477
212
124
157
198
420
15
498
66
235
151
244
246
482
151
455
81
405
222
303
469
167
443
479
118
56
260
404
99
305
242
161
223
400
333
375
335
369
389
277
212
482
413
109
71
179
163
39
122
465
285
251
213
253
367
83
305
181
271
128
110
23
275
37
99
91
104
90
477
154
468
307
488
29
10
225
22
232
98
390
386
287
385
368
121
488
210
404
225
492
355
189
250
460
200
196
462
381
74
289
199
389
376
211
52
253
30
364
427
149
150
173
243
190
58
445
331
377
396
450
466
229
293
128
329
303
224
485
454
50
486
477
178
429
277
3
124
184
94
487
333
419
340
188
112
70
287
186
324
320
57
64
48
272
48
479
415
377
297
475
93
222
337
500
170
168
127
89
94
492
218
145
313
345
185
14
386
363
160
3
215
40
277
35
204
49
265
132
305
169
170
419
322
273
190
197
234
346
450
162
463
495
388
246
215
112
151
385
363
94
218
461
261
290
68
443
432
468
423
363
355
480
194
141
201
143
61
368
227
464
497
406
260
43
470
227
466
176
95
51
101
53
96
251
102
153
141
276
178
101
346
338
405
329
271
40
102
116
251
346
93
430
62
309
380
422
152
138
11
292
36
177
162
157
86
429
121
366
414
449
57
484
111
155
286
393
83
33
333
136
447
110
499
267
451
126
299
450
241
182
445
464
156
191
80
398
361
312
379
348
305
116
205
485
269
174
51
291
135
457
234
331
370
272
438
315
302
266
281
241
97
116
341
86
482
400
70
472
77
446
476
196
67
23
346
492
304
257
79
164
279
166
90
257
59
492
485
28
145
305
50
289
357
413
67
495
58
161
272
131
104
97
283
34
113
459
368
445
73
350
243
136
191
80
420
223
35
227
433
423
185
239
439
148
496
494
55
473
339
330
283
492
180
45
258
29
73
7
472
356
68
160
59
85
191
185
384
275
100
444
322
438
162
164
370
60
95
183
396
468
126
7
449
101
273
488
414
65
100
17
176
81
404
327
359
142
343
231
214
454
281
431
140
117
480
487
265
348
181
174
406
439
280
304
128
499
182
48
54
283
398
399
142
356
357
108
118
185
235
83
314
285
343
73
126
455
275
477
131
139
126
465
203
459
415
164
203
319
359
440
368
423
310
290
165
50
103
486
81
386
259
117
480
66
104
104
413
53
43
230
168
15
123
271
153
55
328
173
454
355
237
157
224
92
178
486
77
29
211
189
3
482
478
20
345
294
376
302
136
398
263
382
412
495
267
40
489
368
307
133
485
272
111
230
371
318
341
330
267
42
97
265
377
157
350
298
348
14
490
299
52
163
121
148
4
175
167
345
294
162
80
304
76
207
458
387
465
250
486
308
213
214
212
23
499
250
381
117
357
312
262
69
33
40
443
89
382
75
102
196
209
91
279
468
76
482
157
52
186
436
275
306
89
51
216
366
256
318
144
306
392
418
497
106
139
384
15
313
404
79
24
116
46
70
208
475
307
375
20
126
397
83
10
493
169
422
177
270
93
388
263
157
293
142
114
374
405
343
163
460
53
438
202
178
28
145
274
94
243
44
244
275
175
68
200
384
15
340
292
212
418
345
331
377
176
166
169
371
335
54
444
14
257
110
239
480
352
124
115
433
227
275
388
46
360
14
294
337
166
63
5
199
278
472
74
91
446
464
167
207
499
117
210
450
152
470
372
269
314
216
345
64
55
67
281
476
31
30
26
122
403
421
423
475
186
274
65
339
149
190
392
165
459
231
201
9
6
398
156
177
293
321
154
466
127
35
338
447
417
255
185
352
20
484
154
16
246
398
327
329
427
399
86
133
200
76
373
359
443
94
303
269
326
114
56
433
195
129
11
70
113
270
22
431
411
462
179
67
337
301
282
189
63
302
119
380
217
1
286
32
364
79
58
243
421
304
12
439
424
392
5
381
89
314
159
430
234
465
493
23
216
50
349
414
221
353
271
485
215
434
432
47
424
51
496
49
425
438
242
364
9
99
323
356
203
220
115
179
23
179
344
80
355
222
479
282
45
183
173
28
138
30
179
14
323
343
110
59
27
456
106
146
461
128
382
376
271
452
390
272
173
495
369
303
49
85
146
83
240
376
373
322
229
230
246
415
225
139
275
4
343
408
240
423
490
66
397
236
366
413
135
242
296
420
155
362
175
42
460
197
196
151
384
157
189
49
355
170
154
379
24
215
120
315
440
269
304
1
96
89
292
159
95
317
181
436
75
255
9
253
66
174
439
122
281
247
6
40
108
89
374
227
143
479
363
211
322
149
157
385
300
486
333
119
11
76
370
438
212
134
286
143
385
404
484
480
213
476
87
170
234
442
42
336
379
445
164
448
469
494
122
297
85
294
120
293
437
496
317
221
298
21
143
272
147
308
15
181
219
398
273
392
173
27
433
116
477
51
214
250
303
231
360
379
349
184
385
88
30
93
281
295
246
330
184
279
489
298
404
81
423
147
184
109
22
458
203
48
208
108
378
135
194
463
202
50
434
69
130
284
486
251
413
251
60
429
76
228
406
474
380
12
406
138
3
298
175
135
76
165
297
80
240
122
452
199
184
214
232
223
117
6
353
114
92
261
6
100
92
100
308
135
425
254
227
36
155
118
272
408
452
365
138
352
303
369
199
103
354
251
346
309
491
246
203
345
431
113
338
149
359
163
354
230
441
207
19
112
415
438
83
495
55
93
98
419
392
232
68
186
28
325
248
468
35
415
416
306
143
391
440
267
59
344
336
155
303
347
81
474
157
386
115
21
390
310
62
425
422
172
455
46
154
500
391
86
366
246
27
59
337
399
39
118
441
300
217
270
254
198
137
374
435
221
352
250
255
26
133
31
395
213
272
185
89
413
54
121
252
402
98
128
304
357
367
207
240
18
454
339
405
124
356
440
301
495
197
170
200
27
252
456
52
166
355
308
480
102
149
84
308
256
31
291
195
305
33
165
46
63
124
297
369
341
29
361
424
401
435
60
384
115
30
376
60
295
500
183
267
48
77
416
416
228
64
282
392
187
136
192
24
171
125
445
407
454
461
100
24
447
323
425
455
472
499
439
49
5
226
361
418
423
406
40
101
436
279
318
463
327
357
105
114
428
306
263
264
153
367
50
209
300
83
373
353
168
340
465
276
412
227
156
357
491
290
268
166
251
105
235
258
85
267
274
195
105
51
207
387
499
483
454
90
349
372
324
295
33
408
195
464
87
245
342
72
225
143
296
421
19
414
165
455
73
282
453
356
60
400
220
464
12
390
7
40
5
366
294
35
98
336
109
91
447
438
415
304
327
245
381
150
288
102
199
24
439
135
418
120
213
77
488
395
289
191
252
338
57
225
414
407
286
6
237
22
403
128
409
263
250
67
273
3
63
49
350
115
100
281
87
372
393
86
437
208
336
151
414
442
320
441
29
134
111
85
401
228
456
320
483
103
399
225
171
102
196
191
370
399
410
33
262
500
332
142
151
23
230
149
123
161
191
450
435
124
256
123
492
211
365
367
316
451
64
292
144
387
110
8
31
216
434
422
482
327
97
7
368
73
344
297
346
354
385
276
288
301
189
368
90
256
447
59
165
435
178
255
158
176
421
307
193
282
428
492
264
26
432
300
194
157
244
96
16
75
99
402
43
486
290
264
200
138
97
300
442
500
430
171
236
95
426
354
367
394
145
120
402
149
275
476
451
338
408
290
323
97
448
418
197
389
266
188
392
18
368
56
494
392
174
223
10
352
301
123
70
214
147
261
246
308
63
288
141
359
66
333
497
371
309
34
426
104
439
24
165
132
232
10
2
445
472
215
273
212
465
108
338
320
391
192
408
122
102
88
248
25
404
267
213
42
366
491
286
150
164
199
440
275
324
258
39
81
214
472
56
7
139
359
251
307
318
304
366
351
364
285
350
5
352
72
320
218
206
373
481
311
365
429
363
476
320
435
446
266
322
97
455
81
46
449
492
175
410
245
478
261
468
289
69
175
476
91
457
106
401
13
466
199
206
295
457
219
33
287
366
383
347
47
206
285
383
358
418
256
269
396
431
314
479
4
238
292
454
460
44
375
156
9
122
142
391
468
186
299
307
240
190
445
68
45
282
372
45
258
141
87
445
204
290
194
468
12
345
387
212
420
201
97
291
394
337
97
28
420
143
437
465
351
217
286
483
403
146
142
121
21
49
358
200
62
97
363
100
460
206
340
497
498
37
436
329
391
435
50
85
284
170
21
319
293
188
351
411
74
494
486
438
439
322
75
260
117
162
343
75
132
312
7
493
42
239
271
478
138
459
487
58
135
173
198
378
4
459
1
235
33
431
189
137
500
383
289
299
493
309
342
499
259
440
432
87
33
311
306
124
146
490
287
287
6
8
417
114
409
53
371
193
153
388
306
74
191
165
224
340
115
160
290
67
311
66
284
285
483
373
115
448
374
73
2
169
188
58
294
282
220
380
237
328
353
93
322
232
454
196
56
102
142
373
221
361
278
318
297
162
262
254
72
424
344
193
420
70
25
155
96
43
120
98
191
440
462
318
33
391
307
296
153
279
343
271
231
117
145
383
149
114
485
89
377
136
114
489
430
311
110
311
296
96
187
60
285
257
2
176
391
8
479
5
196
378
189
226
374
468
376
123
207
113
197
290
60
60
45
71
98
180
207
314
238
118
484
161
376
154
324
194
447
111
119
470
199
15
445
479
319
342
176
80
191
291
20
482
323
142
74
248
238
458
374
137
281
340
154
303
266
137
205
108
238
407
393
12
400
181
106
425
61
326
62
87
157
327
434
232
470
25
491
276
445
235
377
335
98
359
171
408
37
329
403
359
379
240
322
147
174
426
260
416
194
321
257
119
205
95
77
104
287
263
405
131
67
208
200
132
57
271
97
221
300
374
394
61
103
224
18
286
93
249
132
197
183
22
68
322
420
326
56
79
175
360
428
73
444
42
178
497
313
387
157
254
195
180
109
500
246
328
489
307
426
206
45
258
244
269
455
298
253
296
104
423
313
377
135
137
336
203
147
289
63
187
447
47
463
295
392
464
139
374
54
180
327
81
331
405
228
264
301
92
307
182
375
26
115
161
16
456
216
448
264
196
282
388
83
247
458
219
112
323
195
498
327
438
162
230
195
258
368
88
476
472
476
246
473
252
422
157
226
322
155
258
340
467
219
6
177
447
394
293
272
459
42
71
303
33
385
269
189
19
167
124
338
421
308
181
252
499
126
281
184
411
316
363
388
409
206
388
81
431
317
223
372
168
316
82
221
492
390
250
179
166
359
450
297
473
337
427
135
65
478
280
92
10
101
397
86
186
355
130
499
347
373
134
157
264
188
431
482
472
60
237
283
11
209
398
199
338
152
368
271
241
11
51
468
260
97
371
73
290
89
481
291
30
97
274
335
117
254
128
295
494
363
146
345
332
488
429
125
253
162
80
430
256
392
105
429
397
221
276
335
13
137
53
88
234
105
223
404
246
328
268
450
387
24
357
472
91
482
230
275
453
298
32
32
412
491
474
23
397
331
370
428
280
98
393
420
249
334
58
35
35
308
301
352
114
397
386
28
151
472
122
497
180
444
314
455
91
445
324
62
235
221
223
356
387
213
458
349
100
266
237
285
253
422
123
137
402
428
218
330
436
461
241
467
88
112
179
298
4
357
164
458
457
189
369
384
360
486
183
49
186
287
281
268
351
160
471
357
106
196
307
37
99
122
286
157
62
270
219
46
440
333
205
351
77
437
99
288
469
25
385
462
165
20
319
83
73
252
141
388
375
361
450
362
63
423
29
398
26
122
443
113
226
42
412
261
224
192
357
242
441
497
423
493
203
201
385
115
27
498
148
289
257
87
451
324
248
340
147
144
360
205
493
27
90
403
64
456
113
267
454
229
148
266
418
230
401
186
484
215
30
460
268
38
203
214
83
415
2
252
72
469
259
234
323
35
276
98
154
307
38
476
212
438
447
442
229
397
11
195
105
340
209
80
426
414
202
319
324
256
270
199
407
183
440
432
339
17
57
232
93
216
209
8
274
163
276
83
173
194
284
80
142
241
28
214
406
260
87
112
395
122
115
11
456
452
419
261
83
162
112
236
163
317
263
100
404
448
474
286
465
68
122
442
337
238
276
167
59
49
447
231
293
262
241
306
281
57
60
461
61
449
193
388
304
203
212
159
254
292
286
446
402
61
439
212
116
12
416
463
134
22
321
215
336
231
201
133
307
218
50
158
59
46
9
189
185
335
19
345
224
251
306
212
304
396
300
142
137
66
312
478
322
73
204
376
334
313
414
203
325
323
499
201
31
310
298
70
126
19
458
42
70
365
105
432
66
440
304
296
102
417
56
215
92
163
75
62
461
73
320
17
380
252
217
371
83
105
279
480
314
64
291
102
216
243
287
457
400
359
297
114
317
360
281
35
463
104
291
254
407
470
139
219
303
397
69
295
70
77
313
15
429
166
111
222
130
289
245
220
260
243
477
72
369
91
166
230
68
476
208
54
174
129
80
136
332
18
394
209
115
144
270
442
4
413
222
237
32
138
421
221
279
473
333
155
102
335
227
199
394
443
301
368
60
317
226
441
187
407
314
365
440
338
104
198
99
228
287
254
370
94
97
343
259
57
385
146
219
43
265
123
166
400
132
323
435
411
245
310
25
183
255
171
288
158
166
127
157
117
491
207
332
346
273
379
332
219
488
156
214
236
423
141
112
25
415
231
149
89
130
182
293
196
306
112
91
196
337
64
179
218
34
387
182
217
404
325
181
355
452
87
38
337
281
326
367
188
251
184
437
54
291
42
476
164
439
174
324
265
199
498
424
53
456
403
224
443
74
52
83
69
323
231
303
411
391
50
415
183
147
298
6
139
338
390
274
408
261
151
29
424
231
369
229
428
261
25
331
185
55
233
237
153
118
490
316
448
438
369
313
72
293
242
226
379
431
121
42
284
105
318
353
90
477
56
57
37
236
291
377
194
171
48
160
90
444
5
499
391
29
282
153
332
399
150
484
331
445
176
408
260
215
431
352
190
106
64
129
454
298
307
111
219
147
404
127
246
307
393
227
69
276
66
458
195
222
348
60
305
159
222
37
384
235
342
390
28
77
317
96
108
327
19
246
339
498
366
31
187
397
481
224
124
212
36
116
149
154
491
409
88
388
165
33
152
261
487
275
477
466
374
75
19
267
306
332
411
425
225
379
82
179
273
326
436
12
273
61
366
211
255
461
237
345
391
47
8
412
255
495
96
489
56
134
415
478
152
306
386
490
59
208
344
405
297
273
492
388
37
110
138
372
468
287
207
372
140
8
116
398
1
450
454
219
467
59
176
147
466
113
388
431
482
250
435
479
237
97
216
492
347
474
17
262
435
231
7
452
317
163
39
485
372
24
374
187
58
437
413
11
390
403
370
47
2
104
280
140
357
38
473
397
237
170
335
217
90
393
284
25
366
5
251
205
262
117
456
141
130
374
8
22
382
226
115
391
404
202
391
257
338
388
254
474
480
57
19
9
55
145
82
304
295
285
158
136
271
53
121
6
498
334
427
83
129
212
231
314
340
205
428
86
479
476
319
407
263
308
143
106
221
447
498
232
115
376
350
56
409
96
32
457
436
287
44
384
475
479
491
388
102
373
203
343
296
372
485
308
336
82
469
419
88
435
483
485
23
73
61
19
149
11
214
478
461
254
433
91
208
265
251
165
341
17
3
132
393
1
456
354
95
261
66
369
24
421
217
432
106
97
304
314
472
116
250
293
296
109
99
349
276
436
125
218
434
430
454
444
282
359
210
488
98
289
291
360
441
257
17
131
33
71
35
444
109
480
120
335
239
8
331
286
91
478
192
17
144
3
362
16
163
430
382
90
359
351
278
183
80
408
15
424
416
108
110
132
232
423
473
383
135
494
15
377
242
309
349
245
60
65
437
348
173
235
333
9
190
206
140
188
60
256
373
43
471
188
153
45
41
250
216
129
284
80
460
212
52
464
358
491
54
55
101
487
70
256
489
464
301
63
5
205
208
342
334
86
389
306
396
212
240
347
86
434
29
289
5
221
309
319
426
77
49
122
383
331
8
150
105
351
262
178
128
79
26
2
327
319
451
198
78
493
25
347
142
449
183
142
196
257
265
177
378
486
167
409
383
278
294
2
142
439
169
342
499
414
58
288
182
405
220
481
249
339
201
27
352
118
201
250
392
79
176
352
41
394
137
469
129
53
216
282
339
350
208
211
201
497
230
385
159
389
461
51
83
280
103
413
125
417
28
482
348
5
114
351
232
78
78
493
365
492
178
84
225
442
17
23
433
186
103
99
440
373
46
455
330
318
318
207
409
211
192
73
274
1
152
354
478
357
180
246
467
86
45
146
235
263
240
35
497
259
50
315
240
355
286
434
124
318
196
151
386
143
124
380
168
408
76
21
247
419
40
463
495
349
92
490
285
219
399
217
43
257
118
170
4
143
146
431
466
416
205
383
298
405
29
487
176
30
444
160
488
348
329
25
77
227
18
178
416
16
144
269
292
359
51
110
274
427
46
163
384
43
395
489
321
429
179
361
276
278
291
487
361
457
48
376
168
397
365
260
19
1
115
126
109
267
381
73
86
1
469
361
238
240
199
419
198
272
110
402
397
430
89
153
240
321
197
215
462
106
192
338
27
339
405
453
336
419
232
261
154
124
240
130
232
283
422
355
433
457
133
151
51
24
419
312
343
456
415
10
353
136
423
342
35
332
362
77
162
308
84
248
181
241
195
477
158
100
251
279
311
161
8
332
446
193
475
40
418
159
79
154
58
125
231
403
443
390
2
395
222
242
10
436
284
178
261
255
88
95
482
198
399
170
285
408
178
316
147
407
387
448
33
347
13
54
250
248
160
417
112
331
198
89
220
143
229
365
195
219
169
259
467
171
86
278
186
420
250
311
130
414
141
86
480
400
143
443
338
243
249
419
261
23
297
232
32
188
408
178
169
110
499
305
294
400
62
132
484
147
8
4
259
105
45
430
85
30
318
19
250
291
383
322
348
294
267
452
197
342
428
339
422
352
60
177
320
140
26
5
158
181
119
440
329
360
185
226
216
180
354
384
214
352
125
13
267
114
111
221
40
367
405
178
415
308
186
175
487
127
436
388
189
292
394
307
25
167
397
81
320
167
181
104
130
358
484
393
251
243
38
71
71
382
304
62
136
418
83
275
113
237
232
117
341
453
34
257
4
458
488
371
410
114
246
104
310
92
90
488
139
466
445
469
59
270
296
191
408
391
292
208
493
301
166
436
485
43
60
53
291
242
18
340
86
62
301
40
291
120
2
240
369
11
334
141
373
293
205
442
376
479
245
15
475
105
443
366
398
271
386
296
288
445
40
421
331
50
73
263
203
345
69
205
282
49
90
317
128
118
268
102
412
345
310
192
115
240
215
29
263
284
17
290
197
240
121
101
38
247
372
366
236
43
489
221
329
141
369
45
316
357
497
251
311
481
199
87
241
458
144
324
298
88
381
227
133
248
457
273
450
292
316
129
137
138
70
38
23
258
47
395
125
374
246
90
118
364
248
243
102
251
33
64
117
35
318
162
245
367
141
459
204
482
2
232
434
358
415
11
484
400
492
434
55
60
129
21
32
342
413
105
273
95
43
47
244
66
212
273
383
26
257
489
364
373
54
427
312
319
256
20
392
89
188
125
466
13
446
427
39
190
285
409
93
386
436
404
345
185
386
86
180
226
463
138
54
372
404
437
349
453
274
350
390
354
478
1
367
84
460
373
81
381
86
435
420
408
444
187
409
291
90
458
329
329
98
219
177
11
52
447
454
456
64
80
134
110
424
193
357
1
231
56
50
110
118
95
462
70
53
357
115
60
447
208
449
173
479
455
438
483
18
225
384
377
374
294
34
254
220
243
32
232
496
289
119
22
443
252
465
114
254
37
485
125
32
410
88
104
440
78
188
340
14
39
138
38
153
117
264
69
288
117
64
141
474
88
52
61
179
191
138
285
204
397
750
674
604
416
703
662
304
431
799
744
566
644
783
543
566
646
369
352
466
513
413
389
452
304
534
415
369
562
766
641
547
399
677
754
643
651
468
570
729
563
654
626
386
454
724
524
727
619
725
563
461
300
645
623
621
434
398
325
343
553
742
535
682
611
486
377
332
626
436
794
508
744
341
361
753
615
429
788
787
619
561
713
469
463
749
546
327
745
561
332
652
382
411
511
326
511
767
693
562
490
345
779
321
523
615
778
499
524
310
651
550
551
748
339
507
396
636
675
493
661
328
512
644
485
516
544
614
395
559
441
633
668
762
617
355
782
312
698
740
339
599
796
669
557
541
772
587
708
477
743
426
676
694
455
463
700
716
628
778
725
627
302
591
603
364
728
493
593
729
618
588
683
793
664
474
639
652
510
477
760
514
552
678
485
753
627
526
326
465
754
524
775
537
330
375
689
381
631
742
645
726
528
369
340
630
527
326
361
736
737
386
504
529
491
741
733
658
428
602
479
510
316
425
453
436
340
659
767
569
488
364
382
672
500
680
790
474
544
694
332
604
389
395
435
701
605
471
591
710
304
766
597
347
372
680
452
631
676
535
327
528
725
493
485
626
354
668
710
307
740
729
778
608
616
779
573
614
555
597
430
516
558
422
732
578
596
348
306
631
394
370
529
618
399
677
319
609
631
429
621
571
714
361
622
733
524
332
544
397
680
679
556
538
463
734
790
498
563
733
514
745
364
781
650
701
444
687
469
341
400
407
465
635
777
364
447
587
594
602
698
534
692
685
319
695
319
610
514
519
744
765
583
364
768
759
397
432
616
752
715
343
331
346
303
642
326
686
409
671
601
360
619
543
427
773
762
352
331
346
674
621
553
731
398
345
483
658
370
463
326
784
369
756
406
783
750
678
390
744
315
735
722
485
599
571
537
393
666
370
664
313
765
641
640
518
505
536
681
629
376
636
711
541
324
745
360
346
498
604
402
538
654
675
402
340
796
367
440
648
620
557
559
323
644
576
484
725
700
665
765
334
427
576
787
308
665
407
513
338
324
456
655
671
790
787
653
547
616
421
739
703
733
393
660
532
696
466
441
529
316
387
783
691
301
333
365
725
771
755
584
377
457
768
748
683
602
786
600
768
507
473
418
427
628
688
621
509
653
799
640
411
796
432
675
371
334
643
575
378
481
416
413
536
641
670
426
606
520
461
468
637
733
695
697
639
589
767
685
360
740
507
300
386
687
409
496
779
736
698
602
356
746
718
661
601
355
468
457
771
563
318
588
682
553
497
701
552
718
555
799
505
440
722
676
605
496
700
485
360
634
616
304
495
338
447
371
549
456
463
367
593
704
615
542
406
646
741
570
556
504
469
431
768
332
374
656
453
398
796
619
343
679
604
321
608
800
508
331
630
708
501
469
414
778
401
640
623
432
588
565
735
667
454
710
618
582
303
720
517
314
451
469
580
606
342
517
437
707
505
753
692
527
776
525
742
716
432
478
433
386
768
399
708
641
561
475
717
718
705
350
559
629
501
569
555
341
333
429
545
668
722
493
595
577
609
429
345
558
596
373
692
510
441
345
438
343
692
666
370
593
343
749
597
489
304
363
743
351
675
581
455
381
532
394
376
602
487
760
505
550
703
360
407
779
786
757
646
583
366
646
557
360
373
786
745
776
561
615
423
746
602
504
725
437
436
603
752
354
798
632
341
766
303
542
612
500
639
397
417
743
421
329
323
367
372
514
673
370
754
426
537
398
405
397
521
413
565
546
622
747
627
674
303
322
630
559
388
433
365
703
433
635
712
501
774
625
545
650
566
363
751
715
526
344
392
772
366
744
780
634
662
619
705
762
500
353
766
358
411
756
309
323
611
342
780
446
451
640
346
593
439
327
480
793
484
632
735
674
403
607
735
348
406
715
419
411
434
597
493
607
615
341
444
597
408
487
480
540
512
323
533
465
729
740
561
662
508
509
583
685
311
325
564
341
444
529
772
437
320
464
595
657
380
615
608
312
787
766
360
618
597
548
656
669
469
500
480
649
375
788
339
745
530
329
776
636
571
374
599
488
561
498
582
389
374
479
709
664
529
639
735
562
692
510
459
439
512
599
729
773
418
795
676
501
574
335
482
355
582
799
504
360
323
321
390
617
365
309
743
740
550
524
737
420
729
490
716
700
563
350
748
698
484
758
729
719
704
626
639
555
515
477
576
444
498
422
476
634
709
773
540
677
757
426
631
765
414
655
734
632
525
310
322
411
588
771
540
478
430
764
351
574
775
470
776
708
771
728
412
787
345
463
579
381
396
799
536
300
516
790
321
339
651
510
778
479
390
705
414
683
343
418
661
751
729
452
397
798
579
522
609
728
399
356
513
413
514
592
683
717
689
561
610
682
759
326
643
555
365
429
520
599
326
642
698
631
641
775
691
415
421
593
304
422
353
356
541
658
568
553
344
311
702
438
381
467
507
471
370
455
322
496
409
722
551
484
784
584
382
794
778
589
312
787
668
337
789
378
709
694
464
429
543
335
484
417
513
342
714
616
718
703
347
387
556
636
622
577
640
641
699
770
775
454
594
769
410
649
451
542
334
687
481
452
415
388
564
646
401
504
523
328
516
690
337
447
518
499
502
530
591
714
736
500
434
445
625
421
539
352
404
649
346
476
594
719
629
738
575
601
742
609
579
461
548
799
481
664
655
493
605
332
571
319
423
568
473
473
330
723
608
423
744
510
490
683
721
588
694
720
412
431
322
543
311
314
575
593
560
614
702
648
377
549
410
691
323
561
731
759
399
521
330
366
398
575
725
773
350
500
312
335
701
324
412
603
737
769
727
771
453
767
403
391
343
501
671
607
359
379
696
457
573
510
744
560
741
405
703
628
345
527
403
631
413
316
651
548
356
427
781
438
721
434
505
476
372
519
733
390
755
537
404
624
338
608
441
757
548
681
469
600
360
386
645
556
301
602
531
570
319
730
578
596
636
596
800
358
370
690
727
378
578
577
450
745
442
556
616
592
506
580
740
785
485
408
437
336
479
552
658
370
716
344
797
496
526
631
541
481
764
386
430
519
789
424
591
627
618
408
703
796
574
667
613
790
692
463
411
337
310
742
329
672
330
763
635
439
607
641
652
763
368
322
772
477
377
630
515
574
556
495
774
643
629
679
417
501
788
623
324
707
710
660
643
565
568
672
341
444
326
718
548
443
542
632
546
382
483
585
409
435
385
514
587
341
751
546
454
561
438
489
511
452
746
696
689
578
325
544
418
608
734
774
776
443
742
718
510
790
626
563
447
696
409
355
619
679
758
568
380
601
403
541
747
625
402
302
503
530
538
495
636
598
603
313
491
553
607
643
402
545
418
523
359
690
300
555
473
588
372
593
507
692
375
640
376
629
385
693
369
393
673
343
775
316
565
565
767
373
445
752
605
641
621
485
377
573
346
753
573
760
689
560
704
560
775
546
632
659
370
697
625
696
367
477
385
707
514
742
746
622
759
640
503
715
706
413
541
719
636
720
457
371
477
595
760
740
647
596
465
510
745
683
306
638
341
396
788
498
524
448
589
651
399
307
715
515
503
433
381
603
551
448
579
646
793
438
555
773
768
402
798
768
332
601
322
795
365
307
598
566
513
471
581
355
534
430
514
770
341
514
687
329
699
552
760
539
680
681
734
321
569
440
314
385
611
368
705
522
798
648
742
728
689
676
462
542
472
317
646
309
525
787
429
695
642
686
626
706
452
333
403
350
333
673
656
606
360
365
616
681
442
672
726
431
510
346
713
674
570
468
310
791
585
567
743
372
315
340
677
400
787
448
360
454
678
327
661
547
392
522
469
320
427
479
408
631
371
336
309
596
750
344
546
692
334
727
351
624
535
604
624
622
380
360
570
758
767
685
497
367
382
535
786
458
703
564
566
507
366
414
663
616
312
465
555
677
444
321
767
656
626
316
336
709
482
667
679
725
395
526
616
626
306
386
420
530
780
581
386
430
492
449
796
574
653
484
398
718
608
780
683
726
677
459
316
675
686
370
560
510
740
344
565
435
505
529
517
441
595
645
547
739
690
524
437
532
760
589
388
331
439
599
407
410
684
651
535
486
598
519
585
755
738
728
406
573
326
365
597
336
633
573
749
510
310
366
640
427
342
599
610
321
726
643
750
377
780
663
521
589
550
476
732
660
420
478
714
635
400
376
605
655
637
670
771
666
691
758
516
611
776
693
388
401
683
650
412
305
381
521
612
633
410
694
389
736
576
430
433
400
491
553
357
682
617
712
523
301
413
469
779
604
424
307
626
316
769
611
369
566
408
627
413
433
438
651
766
617
406
749
350
740
500
497
699
406
434
473
383
352
367
429
645
714
743
389
607
579
791
359
733
796
426
736
674
629
516
753
713
771
734
403
382
738
506
547
797
594
650
427
721
738
567
452
548
405
528
363
639
478
565
528
351
500
367
674
649
337
634
657
698
532
716
403
737
342
756
334
647
424
768
526
524
357
477
392
452
755
473
669
432
454
592
735
668
771
652
436
598
512
531
326
664
536
617
438
409
740
405
610
479
362
677
640
672
525
601
661
726
410
355
785
332
715
571
337
786
550
405
766
779
525
580
503
775
479
322
547
796
513
465
512
366
563
766
301
320
543
347
646
625
658
494
572
498
474
654
475
571
511
343
350
347
708
330
387
592
759
430
422
626
510
778
353
476
523
740
655
440
455
616
485
343
716
382
580
710
491
545
404
681
483
719
774
477
400
545
759
348
463
794
506
776
766
400
324
543
542
601
686
700
669
717
522
652
391
338
451
396
402
357
351
398
726
439
590
387
649
381
302
413
486
699
729
653
614
556
756
718
388
338
384
530
800
483
326
349
478
561
522
728
379
542
691
640
521
534
603
352
712
336
626
360
728
449
506
708
609
746
525
401
539
777
734
756
581
440
677
604
773
704
770
739
380
571
378
526
374
748
312
618
450
592
477
477
443
353
668
748
640
384
760
426
404
629
599
677
775
704
358
796
790
617
729
736
386
471
710
353
475
745
324
795
757
335
634
617
642
612
636
671
376
632
453
768
572
468
706
699
667
692
649
525
638
362
726
735
308
335
580
409
581
478
387
649
661
518
793
508
433
365
748
720
599
504
639
323
326
411
775
687
525
524
382
622
584
385
589
722
591
455
570
416
652
361
665
642
426
586
588
642
629
394
644
395
411
676
693
463
434
683
454
346
674
778
467
332
771
446
692
628
750
656
793
558
351
377
398
361
590
615
373
372
564
468
497
423
594
522
717
437
681
691
474
591
491
655
460
731
631
737
454
415
609
526
562
682
369
771
536
679
529
713
383
593
678
339
562
632
785
644
558
504
712
454
309
687
564
754
595
319
443
745
443
399
693
338
303
540
327
629
491
324
658
545
407
382
536
666
349
578
348
653
627
459
325
552
315
619
505
779
632
627
596
542
424
635
362
361
570
461
752
319
389
674
707
636
343
717
649
571
346
639
314
380
644
359
613
402
620
502
668
584
655
449
483
592
747
315
333
632
522
340
645
331
457
471
350
302
764
416
471
336
353
357
753
621
642
396
533
343
740
466
775
393
438
630
381
711
447
746
429
585
777
518
607
691
617
736
411
351
374
395
416
550
382
444
445
323
681
507
341
794
501
561
440
631
503
464
417
307
449
540
716
690
734
506
578
306
470
378
705
658
458
632
592
596
424
342
770
538
312
318
677
429
593
406
633
432
509
393
312
540
455
428
661
647
721
356
354
369
528
740
661
774
725
735
539
612
510
428
637
321
723
611
799
721
740
358
743
464
329
571
685
463
434
777
380
609
671
604
748
452
800
338
370
657
652
448
675
534
671
507
360
647
674
639
697
484
759
425
364
489
458
479
631
630
586
472
669
738
359
366
767
643
386
563
393
657
736
741
774
352
393
473
600
772
353
432
599
795
448
435
688
705
598
417
644
430
614
755
381
747
637
514
659
652
666
512
491
428
469
372
350
476
532
759
739
612
762
470
389
387
635
706
346
326
594
766
779
605
474
681
585
550
752
746
526
680
760
616
380
300
471
521
636
786
676
426
579
569
765
598
634
444
308
498
345
461
537
650
412
524
475
528
569
642
684
744
525
765
585
600
391
329
383
628
683
308
729
320
459
373
437
545
781
382
394
408
500
454
457
634
512
638
566
315
639
329
770
486
361
665
673
725
430
336
621
329
533
590
722
370
710
362
337
691
715
496
627
357
434
303
693
780
502
686
719
556
474
705
624
606
677
674
332
646
312
356
667
587
333
393
530
659
528
301
788
449
758
604
563
495
562
520
627
504
593
320
540
331
316
727
615
698
700
509
337
786
420
324
476
410
448
657
650
704
670
366
343
372
505
581
688
429
656
318
549
334
529
506
436
627
718
762
585
665
525
380
446
334
730
667
394
783
547
503
317
714
603
683
556
652
340
612
419
657
395
768
404
406
751
314
524
720
571
754
680
476
686
609
689
501
644
657
720
415
446
723
705
552
417
764
398
577
558
342
441
795
511
480
451
632
734
519
601
337
512
375
390
517
332
435
776
397
479
390
762
468
660
610
475
460
754
765
445
371
432
768
705
774
636
304
750
376
751
571
602
626
327
760
708
321
725
405
725
429
718
787
534
612
479
513
402
714
464
386
779
781
357
484
489
575
511
799
606
548
554
607
379
373
464
509
495
637
558
412
382
308
694
740
473
758
714
460
344
782
531
348
650
743
700
691
641
438
655
425
315
420
744
374
433
556
333
746
487
399
612
303
669
589
785
502
512
430
522
767
531
437
487
741
538
331
726
588
373
360
383
324
634
400
523
419
508
367
437
476
735
520
749
703
466
302
539
476
685
794
360
471
479
378
336
462
792
536
733
729
752
557
798
766
529
769
442
686
631
367
550
725
414
590
705
595
707
381
306
772
622
551
772
511
686
515
732
303
403
312
766
785
457
724
371
443
685
610
479
390
725
556
477
725
386
651
507
383
629
446
545
634
769
774
575
443
728
789
630
329
343
713
524
529
776
510
740
733
500
469
620
303
734
357
360
412
563
366
673
483
749
586
651
407
773
328
623
690
375
666
493
433
535
774
362
465
596
778
355
733
366
446
316
558
763
512
311
675
550
529
523
618
693
538
458
352
367
502
703
323
614
660
430
421
654
767
492
416
613
601
598
301
461
777
389
353
493
377
342
710
352
716
304
408
547
629
497
775
640
486
758
594
433
507
400
550
559
703
761
547
607
538
500
636
499
579
582
441
403
669
392
603
581
509
657
655
560
307
692
746
797
524
538
544
784
640
372
555
531
405
374
567
601
614
654
573
314
612
581
544
702
799
356
519
761
393
379
682
342
476
304
345
340
430
765
337
518
572
773
653
681
384
461
341
610
626
758
452
648
431
371
485
364
696
514
377
349
451
584
608
434
670
315
581
726
560
503
672
778
549
619
300
623
769
599
510
578
628
604
431
465
320
652
545
605
491
683
362
620
733
593
690
353
521
581
514
418
585
572
422
626
644
764
635
605
769
648
682
350
502
659
377
767
611
517
303
470
642
754
710
781
437
514
577
549
318
630
555
695
519
606
607
597
612
516
469
382
476
549
689
312
696
388
474
448
772
447
638
606
674
738
550
437
506
547
405
546
346
751
525
615
794
452
589
487
414
614
423
533
672
712
403
395
547
407
620
353
400
366
766
400
407
689
763
513
540
465
302
748
350
514
585
687
304
465
358
591
532
376
399
321
481
334
590
430
793
341
563
662
734
465
428
552
514
348
434
319
618
581
716
480
500
780
692
485
549
351
517
688
679
664
421
690
786
317
615
624
412
314
327
459
301
357
362
505
305
468
534
556
681
615
661
363
736
644
691
491
704
434
629
664
577
538
308
593
488
644
406
439
624
373
624
640
345
496
404
320
608
329
467
687
344
606
553
486
364
406
669
312
537
744
783
438
363
718
513
448
507
547
793
518
733
776
308
492
400
425
407
414
393
677
579
303
503
671
695
402
314
707
440
432
559
481
463
523
797
744
717
397
428
679
568
324
430
500
302
623
624
537
773
721
459
385
305
307
383
318
351
380
582
421
557
324
708
334
434
353
621
447
399
492
323
332
693
789
608
574
593
319
795
439
536
734
388
500
526
352
362
366
736
548
383
494
443
593
541
422
689
522
728
593
410
407
759
366
760
689
677
410
422
472
302
778
612
713
561
309
768
629
746
423
312
742
517
514
557
741
465
315
359
549
459
370
723
311
497
726
795
786
661
469
547
714
324
728
782
784
408
732
672
366
586
711
306
747
347
747
670
419
461
710
720
781
718
537
742
305
566
402
585
694
753
366
485
372
472
396
617
433
771
774
542
451
670
453
476
522
328
663
684
620
617
665
684
573
720
645
762
492
597
478
360
501
682
385
779
350
380
661
437
661
481
311
630
771
569
601
617
556
639
618
567
318
637
513
350
384
543
453
481
355
477
617
475
610
516
390
518
609
785
431
621
785
772
403
524
388
369
628
602
446
564
613
562
781
666
541
798
630
342
405
689
318
306
655
490
613
549
389
640
331
759
547
767
615
682
703
786
742
433
442
603
362
767
397
519
631
592
642
690
420
332
783
731
795
399
373
696
366
613
533
456
401
727
690
693
586
304
410
667
395
356
800
387
748
328
408
514
777
660
465
376
624
703
434
653
714
322
355
308
596
478
729
757
342
597
581
506
720
761
309
331
793
725
393
529
376
381
584
324
377
312
515
580
769
551
456
398
533
546
556
394
466
411
462
346
560
701
500
308
794
763
328
417
617
789
683
708
685
534
475
455
678
600
311
773
522
747
390
400
461
544
701
663
411
593
705
419
300
349
354
680
375
651
477
594
623
703
623
409
443
654
756
518
334
305
687
661
515
315
670
498
675
308
365
752
688
448
578
621
429
666
759
571
522
548
769
710
552
422
418
714
415
421
778
639
674
657
401
408
509
479
330
485
500
326
679
403
723
550
322
471
624
340
460
723
370
474
788
443
317
424
401
746
679
745
512
756
409
732
443
410
634
757
691
742
592
668
672
629
610
471
744
423
435
599
525
740
644
794
748
523
754
339
442
706
377
693
541
671
758
714
350
308
478
458
575
510
549
331
764
483
722
705
535
567
762
381
356
435
758
673
431
744
608
395
753
568
658
562
712
745
342
595
722
578
763
453
747
715
572
676
660
600
686
775
774
739
401
499
467
588
426
600
359
500
631
524
425
590
787
420
783
357
427
459
521
611
325
391
618
718
762
630
615
347
473
643
794
465
570
448
345
479
777
657
379
638
408
791
415
782
429
333
542
744
713
741
312
358
511
663
710
595
509
484
346
729
383
360
521
366
458
742
584
317
512
362
706
362
773
720
495
638
405
781
390
611
480
542
782
706
546
793
345
608
474
676
595
659
349
470
645
384
759
652
330
704
345
774
376
385
715
467
373
356
565
505
386
376
512
429
419
441
366
630
360
444
682
718
335
720
662
405
519
688
755
706
764
513
691
401
686
435
375
371
317
567
400
598
791
684
381
301
300
414
414
424
569
648
737
309
591
577
769
433
406
433
607
316
396
770
397
616
747
502
539
578
687
537
546
695
520
524
520
712
479
576
630
458
707
321
584
631
442
340
479
538
680
467
721
478
637
454
739
409
324
675
451
606
708
666
495
463
658
429
656
546
453
708
447
335
397
520
695
574
635
344
746
376
394
591
536
564
449
587
715
605
757
732
391
441
403
404
463
693
593
736
513
621
579
480
685
788
354
674
544
600
355
407
617
432
303
781
669
395
507
698
568
706
669
554
344
308
302
764
707
649
701
417
638
402
485
776
725
434
619
449
742
354
619
447
500
478
730
502
471
501
689
339
396
662
787
561
623
777
757
723
506
308
701
504
506
668
441
788
319
531
724
351
705
638
605
375
595
474
413
693
436
341
334
496
455
304
751
725
613
484
564
476
361
591
749
322
736
731
772
391
711
400
451
336
763
338
552
323
390
308
431
601
772
464
345
776
331
432
330
319
767
479
702
605
797
742
504
316
331
666
685
570
357
424
773
362
777
528
377
673
351
456
631
793
588
418
783
757
795
302
607
785
398
690
590
797
455
434
659
663
553
327
644
577
709
383
316
455
689
506
623
643
392
467
599
768
474
309
797
610
515
318
552
569
753
707
756
513
755
799
673
779
781
606
680
427
622
658
341
494
613
484
592
672
794
635
400
505
455
639
335
359
466
321
611
321
659
521
730
716
570
651
526
320
548
489
497
359
560
527
446
715
334
479
339
653
416
757
638
328
594
775
679
703
431
347
636
572
651
524
386
779
535
403
621
574
532
602
471
632
680
797
780
722
603
362
590
664
360
303
483
496
708
699
722
720
718
759
366
772
459
696
502
439
575
697
730
383
496
577
496
554
706
309
531
464
340
625
739
328
406
439
306
592
497
408
613
581
461
568
727
308
475
373
488
724
306
423
582
435
671
629
720
577
436
519
378
695
384
484
592
670
665
706
779
624
765
563
394
723
636
368
682
624
554
401
621
641
692
755
505
317
311
453
326
390
788
439
721
657
656
533
628
337
511
795
571
465
579
308
463
485
657
522
670
577
314
610
407
583
795
554
463
726
502
603
762
312
497
671
386
768
600
711
509
327
715
503
746
460
751
600
580
446
433
383
321
391
790
727
512
786
309
781
365
420
356
437
493
691
318
307
382
763
320
770
662
326
349
753
788
635
509
674
418
514
782
307
552
624
778
323
764
718
666
787
303
571
447
515
690
617
394
391
330
600
722
377
539
308
425
309
314
599
763
797
400
684
770
713
363
430
590
431
475
782
673
610
554
369
399
598
467
603
402
525
473
306
342
684
493
748
534
321
417
528
779
657
381
560
687
400
335
374
484
497
371
435
732
408
756
783
726
345
523
391
579
777
379
589
458
774
579
324
699
528
430
577
717
769
794
301
424
703
566
798
473
472
326
410
590
630
589
304
303
596
615
408
796
744
690
416
610
322
698
775
790
581
585
644
326
796
437
318
751
594
522
450
373
733
690
571
432
582
650
363
366
597
665
382
505
639
318
331
686
673
451
444
580
752
359
559
742
355
740
403
495
698
610
448
405
651
424
358
470
755
588
739
347
593
452
627
744
567
704
730
380
598
551
515
646
510
680
635
461
757
612
356
366
456
650
754
591
505
607
673
417
498
632
333
530
586
698
690
506
800
769
413
490
706
708
447
443
500
595
365
643
747
568
303
688
690
337
465
694
526
458
536
430
488
436
526
796
724
462
456
414
500
430
568
322
325
337
544
659
359
530
498
356
627
439
743
504
368
340
622
672
521
765
730
432
557
569
338
644
597
465
348
767
452
535
529
714
760
474
776
782
479
794
538
665
447
324
303
646
735
624
610
723
423
565
457
690
523
757
657
595
395
711
754
629
476
647
467
633
780
504
725
464
322
632
559
619
778
637
728
594
393
674
537
796
617
477
463
484
654
577
597
600
540
755
492
559
602
475
373
383
472
617
522
789
685
548
745
353
551
682
549
361
495
732
464
727
482
535
451
554
655
668
338
579
603
309
587
379
438
657
722
699
337
335
646
398
544
691
750
627
786
782
521
681
419
357
396
333
457
686
689
376
744
568
404
746
482
492
538
578
551
696
391
628
758
476
744
490
562
465
484
670
314
690
451
391
774
304
590
626
540
528
420
705
778
399
651
520
371
641
360
728
750
494
301
592
430
476
555
417
693
495
754
489
685
583
336
451
645
722
364
487
584
722
726
744
480
378
441
481
706
789
718
584
699
546
556
722
435
395
335
702
461
799
340
482
304
563
381
625
671
629
774
705
796
640
421
783
681
434
786
464
452
443
727
683
637
477
527
614
542
509
659
592
567
319
401
770
753
732
790
528
367
517
499
322
487
220
267
176
287
429
465
97
99
111
275
292
185
482
432
444
251
84
42
113
302
252
84
93
287
185
491
458
268
200
475
190
234
217
338
460
500
233
97
303
483
34
47
422
350
468
411
410
365
361
490
47
3
34
490
33
21
424
202
264
198
133
63
260
484
378
204
114
33
174
370
120
460
194
10
11
2
317
49
79
294
172
35
214
357
59
367
378
118
134
258
386
30
98
483
266
212
44
204
466
13
468
216
174
230
124
257
91
223
199
488
40
441
158
484
491
171
106
408
403
27
32
217
288
172
291
255
101
95
246
323
491
295
478
408
458
434
86
96
449
223
408
310
67
10
489
166
65
159
316
259
256
207
381
29
479
304
279
440
226
287
128
381
142
277
273
28
385
399
258
230
406
288
382
478
418
346
387
132
466
307
33
238
185
58
89
31
90
277
251
268
55
256
423
233
174
437
85
334
421
122
420
448
413
244
393
140
171
340
439
467
362
173
5
356
54
253
436
74
102
329
372
61
386
128
50
228
55
292
242
249
35
174
486
218
7
160
475
421
436
436
418
23
154
11
448
121
339
183
235
255
91
187
307
62
294
454
33
38
3
207
319
101
200
287
294
291
287
440
262
415
175
19
455
443
462
274
1
45
244
185
65
378
100
102
311
23
34
179
76
266
23
168
210
254
462
330
167
105
326
72
155
12
342
228
30
24
69
130
105
32
297
266
370
126
57
75
119
116
48
309
12
137
274
184
317
129
395
494
462
93
119
108
378
195
264
476
131
418
203
127
472
142
474
258
407
304
463
391
14
130
186
280
56
198
14
438
260
4
329
24
113
10
467
295
335
356
112
130
63
60
329
453
330
348
191
142
106
100
250
12
249
195
174
362
492
107
395
456
301
473
286
415
330
450
85
259
69
275
72
195
17
203
183
7
150
385
492
421
90
121
489
235
480
153
403
290
461
277
442
433
290
323
41
156
85
121
458
14
373
92
459
474
69
59
300
367
354
321
85
432
260
28
309
292
114
355
221
237
266
175
102
337
492
274
329
234
304
140
477
238
35
279
429
471
275
215
253
4
256
220
186
350
178
161
269
27
381
381
275
217
251
59
104
415
3
442
304
277
457
419
195
221
219
345
81
423
320
200
81
101
84
206
119
336
423
467
278
208
343
475
279
50
492
74
328
64
115
395
401
129
371
6
140
489
148
1
321
361
59
318
469
71
36
384
297
229
143
111
375
58
193
77
216
335
298
91
93
69
336
458
275
392
190
388
243
376
92
415
92
182
137
392
172
39
362
64
234
417
38
233
21
355
250
112
322
192
136
248
443
200
129
345
116
211
119
306
261
143
93
315
334
20
384
171
303
447
128
128
427
165
65
148
175
258
368
354
213
222
18
142
107
374
275
198
243
76
25
212
229
458
208
493
55
134
386
47
197
340
164
267
376
428
447
293
458
226
469
185
321
380
109
120
9
39
450
444
400
266
36
33
3
373
44
141
31
310
86
435
139
434
454
305
470
350
409
459
285
116
326
364
350
298
83
64
48
303
73
411
39
10
329
458
24
211
231
348
122
468
321
324
337
341
180
178
51
64
137
480
177
305
211
359
372
149
122
331
137
350
26
123
388
131
370
3
124
190
375
388
308
476
21
462
141
493
24
474
461
485
397
293
118
307
360
290
147
212
62
48
447
40
483
197
215
274
6
7
78
133
321
103
101
287
252
140
22
329
439
374
110
226
408
21
327
315
256
222
83
284
305
236
119
56
269
307
412
358
494
323
259
383
417
236
417
325
86
359
426
203
357
424
123
430
79
66
360
229
4
217
384
288
361
111
88
388
440
223
110
203
280
354
10
18
114
247
176
377
29
31
305
438
266
202
69
282
5
77
106
401
96
117
318
137
138
208
263
242
11
352
432
406
86
125
88
344
490
109
30
371
259
415
273
325
289
491
495
453
266
30
293
450
212
445
377
34
306
228
115
464
180
446
23
10
75
68
472
442
447
496
392
375
367
40
175
37
427
87
372
411
102
336
244
254
359
261
170
379
187
15
493
420
57
341
492
395
380
359
391
68
286
78
348
299
190
485
249
383
392
402
142
445
478
56
91
284
399
33
239
321
236
145
328
95
154
334
335
110
419
213
217
226
307
14
343
16
410
55
43
457
68
5
143
250
116
337
348
63
110
453
377
203
17
353
65
5
369
351
384
67
19
287
425
216
73
67
133
180
153
186
360
12
103
35
21
199
151
128
228
457
145
442
456
13
371
127
356
318
157
114
11
328
260
184
427
238
233
212
451
30
91
114
237
200
384
259
367
151
16
41
374
260
59
111
13
284
361
85
344
354
449
478
20
412
367
161
468
288
163
174
147
311
334
478
141
109
500
227
168
206
165
303
191
197
10
251
90
28
383
305
89
417
170
231
368
140
435
106
428
146
447
90
214
210
308
227
425
190
323
190
110
353
397
216
338
460
44
356
40
327
441
211
284
175
140
369
181
198
8
398
118
359
329
249
61
199
348
104
336
205
429
456
324
203
376
229
264
489
22
330
232
284
84
152
329
187
374
416
16
350
362
47
22
229
128
65
14
287
170
306
319
261
345
274
494
421
83
145
312
424
300
175
268
444
415
80
239
239
33
132
5
390
470
166
213
174
149
192
251
485
439
113
169
497
192
382
412
294
209
226
220
389
409
172
266
237
119
191
135
153
210
118
333
29
487
182
83
363
404
133
42
78
238
409
479
478
390
154
182
90
322
285
72
468
23
234
232
263
38
384
320
7
102
193
66
496
49
349
103
465
161
324
261
457
291
233
141
137
351
49
79
22
326
333
477
196
208
248
208
8
438
260
351
63
260
193
466
441
205
187
326
214
67
114
74
371
199
389
194
312
315
67
117
29
6
295
10
211
469
306
472
447
170
491
175
70
131
318
387
348
118
106
339
15
416
333
251
479
253
103
122
344
149
52
3
172
493
11
64
95
77
308
346
237
59
244
337
316
198
416
275
124
276
488
55
336
146
159
135
209
437
269
254
169
90
344
101
306
43
372
51
202
338
118
149
276
359
264
176
305
318
207
488
441
307
198
433
304
66
379
193
294
7
328
90
115
318
360
455
459
365
67
306
58
438
372
292
296
64
150
261
45
139
500
276
483
168
63
226
193
71
5
35
401
180
175
217
498
305
126
349
380
309
308
202
100
198
7
141
343
42
480
463
140
388
494
433
335
458
92
117
102
395
125
200
130
31
383
432
66
350
120
136
8
286
442
162
104
498
345
263
152
187
32
359
14
411
372
349
297
405
21
163
438
40
359
67
422
40
272
446
150
94
21
394
100
345
442
91
70
341
332
174
400
485
62
272
30
314
300
199
172
70
297
220
79
375
407
282
125
495
49
207
464
69
397
64
127
292
440
184
30
121
435
397
221
487
331
51
430
234
278
210
244
383
285
151
103
116
238
164
65
41
471
457
454
171
456
466
53
222
251
81
492
144
306
166
379
165
27
44
496
210
476
396
134
131
200
8
431
226
91
265
248
141
290
393
46
24
395
328
199
195
300
384
252
235
298
160
205
16
130
230
409
460
323
92
469
43
140
268
204
394
10
173
498
187
1
230
402
319
108
19
205
267
326
302
121
134
141
219
175
443
43
277
386
126
272
113
401
281
79
243
264
93
171
164
114
60
9
1
75
437
37
265
433
59
255
310
245
468
225
243
354
450
167
198
465
189
406
333
347
360
149
104
312
192
222
489
496
203
90
25
453
154
281
395
13
166
381
30
386
434
349
380
493
354
457
21
179
261
49
463
199
428
203
436
440
334
103
126
373
336
51
56
280
278
404
121
133
349
276
498
122
84
169
86
244
302
206
25
404
278
193
203
223
341
413
82
75
90
119
102
236
387
153
130
344
353
158
268
100
6
161
131
427
250
213
177
192
370
14
439
20
487
390
153
197
236
287
486
347
27
416
137
346
413
243
36
497
330
487
414
178
339
104
224
246
444
49
457
312
466
348
178
234
425
113
53
297
344
424
34
171
386
384
308
238
181
303
446
159
474
304
133
40
295
373
238
195
97
413
42
161
311
21
235
12
392
20
7
150
157
153
415
110
227
86
281
448
207
463
383
21
141
156
175
65
443
467
465
134
410
306
148
210
260
105
237
389
416
161
111
36
96
146
56
350
321
446
373
37
288
415
203
73
310
350
422
242
242
267
312
191
203
175
279
248
77
95
397
316
217
3
157
432
356
414
266
85
293
417
120
440
95
352
411
485
419
84
20
302
388
396
288
246
192
383
231
54
494
389
354
358
270
474
425
241
133
286
460
456
60
229
430
362
268
258
135
102
54
413
231
289
93
500
488
127
213
416
405
400
496
188
241
416
184
278
239
184
360
113
480
7
479
36
139
290
107
121
142
329
452
46
129
236
366
456
192
301
425
310
171
11
78
23
401
40
271
459
219
484
259
460
250
114
85
301
316
17
485
144
108
264
209
161
200
474
93
435
465
338
169
23
494
70
417
416
127
243
411
242
317
177
104
227
155
293
189
99
447
281
337
380
391
500
384
460
491
479
149
291
11
212
133
392
366
429
139
295
347
341
443
433
13
496
195
289
454
160
306
393
285
345
227
472
380
201
379
497
361
372
295
473
329
180
488
170
52
141
490
262
236
30
244
402
255
392
466
188
304
179
277
168
186
110
160
414
274
307
404
118
148
97
153
288
332
111
340
440
34
286
133
147
430
110
290
40
156
377
63
385
17
6
478
409
235
178
35
207
442
317
264
10
307
53
338
49
315
359
27
326
125
195
441
82
254
144
73
283
354
4
37
207
52
288
340
233
122
225
20
46
327
441
398
98
382
260
82
284
75
365
2
428
426
8
384
157
12
10
357
156
26
217
273
216
214
247
429
346
277
182
327
5
211
434
420
388
8
270
346
269
252
201
413
346
407
109
208
430
183
175
229
165
249
435
369
365
190
449
99
474
374
485
273
141
74
155
320
122
75
168
465
163
92
78
499
433
238
431
445
241
332
126
346
132
281
122
419
381
220
147
419
364
303
31
21
309
253
298
227
78
346
114
123
134
410
458
402
391
469
322
265
27
290
88
268
403
391
67
483
425
370
290
45
204
474
235
147
34
435
405
165
390
313
475
472
236
364
376
336
438
42
152
290
76
274
218
247
80
232
165
103
393
93
184
132
271
125
265
36
452
133
101
29
85
420
59
373
63
214
463
330
69
39
84
415
384
443
142
50
198
50
64
433
488
279
266
261
243
426
378
58
210
415
110
309
415
183
174
485
111
421
189
215
92
242
215
153
322
246
241
182
238
379
441
248
479
216
296
156
86
215
109
271
278
428
132
75
156
254
198
128
178
213
48
497
63
62
99
491
183
446
363
47
238
77
415
349
334
308
305
249
59
347
387
303
465
128
419
164
489
49
116
235
158
481
310
214
431
162
232
60
407
436
132
213
332
354
283
38
188
69
51
60
146
225
295
52
418
96
59
480
53
468
322
440
464
370
377
239
342
352
17
87
17
491
136
452
494
436
36
413
398
394
493
308
3
143
54
140
407
224
144
42
379
475
455
46
83
283
150
420
162
179
302
177
242
256
262
103
158
73
198
378
164
481
334
491
82
144
3
18
92
415
257
47
261
270
68
282
420
64
245
341
334
131
35
212
213
170
416
399
339
332
470
283
89
74
92
446
423
368
6
367
239
30
200
283
178
470
100
246
38
343
322
245
270
299
49
167
275
274
84
408
181
320
111
94
482
330
277
484
67
398
8
358
6
228
123
2
183
45
379
469
447
449
477
281
142
149
316
423
336
104
28
106
17
227
486
358
255
453
258
144
337
444
304
371
289
58
312
296
322
140
286
139
321
377
425
37
474
100
423
174
328
483
466
308
285
316
218
19
47
182
124
129
153
133
411
262
174
203
465
336
133
223
180
328
28
272
160
417
455
252
22
182
98
275
259
176
83
39
192
298
247
217
185
268
455
233
372
380
63
216
35
211
466
411
494
389
390
285
100
308
399
389
258
103
227
54
215
428
50
271
459
278
307
347
338
401
451
488
143
188
348
408
306
273
295
458
255
301
236
225
367
219
232
327
54
119
218
133
390
449
405
238
251
435
382
400
247
480
89
230
65
46
259
488
286
194
35
149
404
225
5
379
491
282
265
374
346
364
60
394
332
138
271
43
49
430
417
159
291
60
150
255
225
338
113
96
343
330
402
297
152
135
387
277
453
465
290
42
7
173
69
305
57
393
77
462
344
170
31
253
156
414
152
419
244
257
37
231
337
476
309
116
431
385
15
7
418
244
435
187
28
446
44
61
265
352
116
455
424
47
429
449
401
106
349
222
61
342
189
45
72
9
10
143
90
458
333
398
68
446
369
177
342
472
118
227
252
72
89
290
38
93
295
388
45
264
476
332
144
213
306
415
19
193
407
211
120
355
224
254
220
352
26
192
140
430
303
398
189
204
27
479
393
421
301
201
82
204
329
209
498
375
352
433
124
391
151
314
133
59
181
482
69
354
132
72
259
100
491
71
122
362
69
86
278
117
178
33
146
45
9
281
238
303
330
214
489
337
202
246
186
394
151
386
13
484
334
425
226
83
301
477
477
376
229
383
164
20
235
151
470
52
246
349
117
401
265
146
72
449
340
209
275
464
355
223
215
206
412
191
97
149
177
161
35
355
487
398
192
71
231
144
290
185
142
3
430
149
284
454
219
472
273
221
346
482
169
437
191
111
118
23
309
496
297
7
413
191
485
87
321
76
368
319
146
44
372
128
57
120
21
126
31
310
53
157
282
362
217
31
492
140
292
303
389
424
91
373
261
436
209
270
291
206
111
133
322
376
379
156
387
73
225
233
84
66
349
420
388
435
198
214
55
57
447
152
77
63
215
2
336
261
313
431
471
49
399
82
234
367
374
256
131
236
443
208
346
398
208
296
162
302
221
29
445
190
326
163
174
351
487
468
410
268
475
227
216
414
138
157
366
43
158
386
118
110
341
158
13
124
382
364
416
321
109
465
168
74
268
6
444
83
425
315
422
79
210
116
47
264
45
26
246
20
176
175
31
137
416
436
369
429
255
304
76
231
123
437
481
438
31
406
230
420
45
128
478
342
394
203
203
115
379
222
117
460
429
460
70
240
391
61
473
44
219
375
449
400
451
214
228
310
23
204
292
269
113
335
265
315
367
441
480
379
289
257
209
357
267
107
60
80
400
82
467
115
450
63
236
281
20
103
205
374
198
430
466
322
27
7
78
144
386
300
299
241
147
98
492
401
248
302
384
47
264
291
481
488
97
63
195
69
175
45
208
210
241
462
9
175
411
485
123
294
249
161
87
204
364
314
39
217
327
295
167
340
138
486
129
392
162
343
142
428
320
356
421
21
149
50
189
249
63
348
6
373
94
1
121
4
237
392
278
280
444
196
224
159
316
190
413
299
395
63
327
418
187
171
171
8
429
432
376
326
40
453
124
229
340
166
104
454
30
209
234
497
472
407
260
184
203
401
386
300
223
255
193
248
311
62
84
263
332
94
297
269
101
447
481
81
119
193
76
57
67
44
221
423
233
254
150
380
46
11
152
249
454
491
317
413
244
186
6
14
189
286
457
83
348
15
398
403
247
155
450
129
83
374
380
255
297
219
6
238
322
153
467
184
413
311
213
161
308
159
371
356
301
55
34
206
114
8
209
277
345
11
113
174
382
378
254
237
247
148
273
474
299
71
59
138
246
307
353
69
41
112
385
370
41
176
16
273
151
383
2
379
275
84
294
97
198
465
265
257
3
340
418
185
100
316
228
190
171
447
92
307
195
181
213
372
474
151
222
376
70
335
235
327
199
136
8
409
113
362
192
6
141
438
453
454
78
245
406
66
275
407
442
102
372
175
227
162
410
255
492
256
428
113
367
31
500
225
436
350
171
134
66
69
57
364
143
161
169
489
73
408
425
255
368
59
398
118
99
296
203
251
362
347
316
140
133
93
10
413
84
485
126
392
449
38
39
93
188
447
72
189
464
449
424
347
449
192
445
177
373
409
320
253
185
416
395
277
211
403
221
491
159
412
496
65
427
205
52
129
262
374
492
256
433
337
221
443
49
480
3
469
469
474
453
260
313
112
377
80
183
413
33
70
290
70
85
81
461
77
115
436
424
104
237
363
414
172
421
168
77
251
26
301
371
291
411
328
205
401
26
288
363
173
11
500
271
420
254
423
379
212
488
486
459
173
230
441
492
293
165
132
284
13
446
126
42
60
244
473
9
206
365
442
489
249
393
320
334
312
239
103
218
388
171
490
69
203
144
131
15
129
123
144
139
159
360
99
232
468
106
463
326
51
295
449
486
494
489
250
394
205
192
303
100
490
248
286
289
100
275
424
103
56
493
489
241
416
72
349
3
81
452
234
367
204
395
281
134
252
174
145
287
27
156
220
313
229
27
161
244
23
2
53
432
2
450
29
455
265
114
184
397
37
453
194
24
146
230
159
241
371
104
299
174
198
228
208
187
39
25
279
381
381
290
37
186
210
491
405
363
64
85
27
188
388
132
263
130
188
472
159
11
138
444
79
490
115
484
151
105
174
244
492
205
13
123
69
137
326
494
386
240
387
6
182
405
116
378
189
456
327
280
236
280
338
268
5
195
341
351
384
267
323
358
416
231
95
220
57
209
412
320
106
428
265
137
30
500
131
200
44
39
393
340
247
263
323
170
369
238
368
306
364
292
110
478
227
179
67
358
356
353
89
278
395
147
495
125
403
389
279
379
332
258
200
37
291
174
205
276
495
223
161
104
114
329
286
32
130
114
450
152
162
23
236
475
203
9
448
159
188
128
266
117
125
114
407
338
221
439
119
160
375
216
211
134
331
395
65
177
43
3
442
152
240
137
479
43
328
11
292
446
169
273
276
368
147
258
51
77
136
200
407
269
169
432
62
212
322
364
485
51
111
23
77
4
162
465
52
190
164
476
387
459
131
171
443
151
478
498
203
22
121
55
159
119
413
44
35
294
140
457
55
260
134
41
27
356
383
145
304
32
417
33
310
358
366
236
329
251
3
247
419
267
376
385
184
363
55
330
172
39
253
22
278
154
264
198
75
261
128
218
23
254
361
485
71
251
333
498
15
442
328
160
191
346
456
126
301
3
32
294
467
476
372
255
232
47
478
200
77
347
16
444
360
46
6
237
117
117
133
295
177
117
246
426
20
376
485
266
296
45
282
462
308
480
449
72
47
358
162
182
29
142
92
239
8
210
11
184
161
309
221
493
487
477
482
411
249
64
124
1
87
196
418
268
33
356
293
473
92
60
481
65
495
369
447
51
288
461
152
178
401
250
494
385
360
117
254
442
170
55
192
259
431
336
256
208
144
64
500
297
3
315
60
87
384
101
154
92
97
287
136
496
472
325
411
31
193
445
95
341
39
36
367
124
80
449
260
233
188
124
357
234
60
417
477
292
323
177
328
213
58
104
485
489
38
170
285
268
334
325
130
308
417
329
122
147
5
43
463
459
414
55
452
162
174
120
198
271
145
74
262
196
126
220
242
94
260
96
479
109
135
125
365
303
159
348
307
42
272
87
331
423
360
325
366
455
166
222
105
472
172
356
335
32
248
44
455
298
205
364
494
285
464
326
430
23
345
289
202
75
431
415
21
448
48
376
123
499
152
90
232
420
210
314
292
100
145
415
100
301
233
50
278
143
424
474
171
328
396
246
318
88
327
157
466
451
162
166
354
51
16
28
369
94
391
341
204
361
369
400
457
208
28
241
421
3
36
19
334
113
235
77
132
211
295
164
308
135
292
356
244
143
401
5
450
314
257
397
96
439
303
89
393
410
307
258
382
124
496
136
353
134
438
234
499
265
197
16
325
437
456
177
424
467
85
155
49
341
82
6
144
111
297
50
342
432
413
477
139
380
172
173
306
423
429
286
116
210
307
33
283
27
133
362
151
335
70
4
196
183
453
143
259
239
101
117
387
389
294
86
472
337
235
498
68
361
161
133
106
310
486
212
196
88
136
191
396
151
305
219
229
322
38
60
490
468
336
111
192
410
275
148
383
84
346
56
182
136
285
479
358
113
206
315
46
393
35
371
144
199
381
360
446
432
198
243
432
305
37
233
394
281
390
487
273
246
305
289
442
415
421
51
319
199
58
188
135
212
124
243
178
315
4
35
146
137
140
114
293
224
230
386
35
209
338
253
336
105
200
15
7
442
158
22
118
280
272
130
81
293
491
335
259
262
328
344
317
240
388
210
154
392
193
218
208
443
224
372
144
90
303
253
108
365
203
119
235
327
58
493
390
123
274
370
495
438
498
471
130
301
202
454
415
420
439
461
497
265
342
60
440
217
329
231
295
378
120
256
385
202
413
377
489
22
483
425
453
297
273
325
463
49
459
419
163
266
256
319
14
359
131
370
197
133
263
421
91
178
197
234
12
455
453
158
421
63
193
19
469
92
467
121
283
471
314
373
267
308
384
268
55
220
71
122
110
384
101
323
48
123
383
124
401
431
257
377
312
173
12
170
344
35
378
15
210
244
88
347
442
11
74
53
89
164
174
44
472
253
287
262
494
28
425
468
44
7
82
232
389
252
373
192
382
30
223
31
148
247
451
274
489
412
487
277
158
72
33
239
370
403
292
132
189
362
135
459
16
457
304
53
132
49
235
373
78
73
378
185
181
416
261
233
356
165
359
268
27
27
191
364
469
396
74
479
381
352
26
244
369
282
119
483
313
27
82
175
337
276
3
405
301
128
341
490
425
407
358
370
445
45
109
187
285
422
227
298
494
314
140
492
384
102
307
214
180
51
163
131
446
207
333
296
344
214
136
235
227
486
63
63
182
495
97
39
352
198
372
485
288
157
75
463
133
45
439
14
476
60
77
248
229
298
114
104
258
31
52
192
216
173
248
307
399
365
461
469
377
260
180
308
171
13
47
465
495
486
133
188
51
267
72
372
312
328
380
479
79
286
359
431
184
122
259
271
453
461
496
432
158
176
189
376
19
80
91
261
359
3
222
182
412
435
464
152
148
423
51
224
239
179
237
441
244
500
261
485
450
109
455
74
443
254
197
219
352
304
162
347
48
195
469
482
351
384
286
456
24
121
357
251
490
303
436
281
28
410
189
311
160
333
165
8
321
110
9
79
334
21
19
401
343
17
481
91
36
431
92
263
73
20
28
125
492
445
190
477
167
142
45
368
333
148
2
141
128
104
112
415
349
418
143
297
43
318
385
357
319
403
57
278
458
430
33
412
93
378
22
126
397
418
271
144
159
414
38
279
7
264
88
303
477
135
420
64
401
15
446
240
48
480
182
88
433
108
208
222
494
213
365
388
332
463
156
479
332
168
42
191
23
189
11
59
231
177
389
145
153
42
132
456
208
223
173
194
346
150
205
137
121
114
77
206
409
105
172
394
426
457
372
164
423
37
494
7
393
295
338
413
382
264
71
86
153
424
149
120
442
12
412
303
391
338
420
429
222
80
242
455
208
102
67
432
68
242
165
328
436
150
408
472
372
157
142
297
288
238
162
62
256
402
4
407
216
52
430
188
203
100
43
32
313
70
352
376
213
122
376
85
112
496
454
61
292
77
182
420
77
345
357
303
41
332
322
146
121
245
245
312
111
9
83
360
167
165
389
199
327
247
110
37
438
188
184
125
70
288
211
425
144
389
77
131
97
301
414
310
472
80
251
421
255
443
166
235
105
92
369
251
97
274
498
482
623
605
360
345
781
344
560
554
621
707
343
467
769
735
632
569
306
533
602
763
357
339
799
442
674
319
409
774
531
743
485
724
342
690
335
735
483
709
367
412
781
330
585
400
611
679
383
305
577
672
637
489
573
774
580
410
498
605
425
306
364
483
575
776
461
739
386
339
748
476
481
598
418
422
454
494
599
518
653
701
718
333
307
573
354
593
425
661
488
440
740
322
472
699
331
371
795
766
594
659
556
800
363
397
695
610
326
552
389
652
383
489
697
446
578
692
729
663
681
576
367
733
686
547
771
353
447
369
311
733
786
425
433
394
352
303
418
574
424
546
672
569
465
756
477
734
704
481
375
334
399
446
621
769
499
766
445
345
729
672
565
736
794
386
436
600
463
483
607
390
544
449
602
543
469
457
633
741
624
456
564
497
412
492
372
507
737
697
438
533
350
693
565
597
572
768
309
554
445
477
737
708
393
324
409
396
414
769
444
654
331
383
304
554
662
635
779
309
357
478
737
639
701
520
612
525
306
454
437
642
737
680
520
389
736
346
603
410
471
690
313
722
765
453
354
730
792
387
489
665
678
617
757
590
683
372
799
460
657
325
425
590
433
598
362
771
404
346
572
313
422
505
362
426
660
662
436
594
765
562
631
352
758
540
461
766
400
722
542
493
714
575
743
793
612
628
646
602
377
515
546
385
318
740
401
532
680
495
561
650
706
591
637
591
412
627
658
432
306
480
715
686
602
430
742
322
438
329
631
594
470
416
704
421
415
729
314
365
745
318
302
613
788
628
541
646
381
317
500
312
697
615
344
727
566
612
485
402
653
767
694
433
559
626
365
799
761
418
796
496
657
333
692
529
593
544
684
641
653
729
619
388
442
794
671
528
422
679
726
311
565
311
490
641
471
691
635
392
348
549
533
629
669
710
306
588
528
700
596
613
682
584
544
778
574
495
463
597
506
629
400
777
673
544
397
370
380
722
566
628
671
312
716
406
339
303
724
516
439
344
542
510
737
642
695
377
341
634
773
380
486
381
308
495
555
321
378
599
352
796
315
585
550
621
751
662
585
563
429
403
800
562
749
402
705
465
421
350
619
377
396
648
670
502
300
711
635
720
669
468
438
741
320
769
663
621
564
355
772
745
578
384
331
346
798
437
474
407
641
596
546
525
775
305
688
581
381
367
724
428
604
782
377
749
432
691
330
337
601
439
766
584
485
739
483
437
463
471
769
460
742
559
778
537
638
800
656
335
598
334
652
450
774
405
621
344
620
592
496
771
647
404
756
510
679
588
317
592
677
453
355
559
345
554
442
402
539
402
464
377
592
480
722
533
329
322
712
707
350
735
465
394
622
780
532
596
463
526
720
319
471
750
663
749
601
424
723
643
672
614
315
448
404
773
743
690
342
344
465
576
526
587
332
621
426
784
301
771
547
604
343
562
800
703
785
581
569
422
399
396
564
462
608
320
729
514
603
654
350
712
553
518
633
592
442
390
776
713
442
775
404
465
330
362
565
374
670
326
371
474
752
677
789
622
597
672
424
603
716
683
430
621
577
301
431
302
764
491
334
433
329
646
475
370
754
449
527
314
395
707
486
661
442
411
574
717
640
362
415
403
467
568
453
370
335
332
596
609
303
498
566
416
562
669
599
606
369
340
703
719
670
443
763
541
498
690
681
447
458
705
679
657
316
731
391
715
343
752
422
357
435
456
667
335
764
631
516
766
329
306
342
616
413
527
579
744
763
784
665
371
760
366
335
767
388
508
799
547
494
547
450
515
775
423
447
466
553
791
620
475
693
420
690
482
791
624
488
627
469
610
399
524
593
786
792
595
711
553
324
313
509
603
438
766
456
754
787
417
598
367
772
411
664
685
307
608
352
641
774
690
773
493
518
714
598
692
308
413
440
402
419
523
532
772
487
385
473
729
308
388
560
783
626
556
367
734
418
372
363
723
457
339
396
605
580
355
462
421
569
332
758
680
325
684
502
614
752
311
645
472
618
530
368
426
751
768
341
391
336
559
747
386
468
633
742
697
679
782
529
326
424
411
497
447
492
637
410
663
587
459
420
667
758
549
426
625
515
789
616
779
403
560
458
321
308
382
626
520
516
323
639
453
410
748
646
437
796
576
612
356
752
759
564
319
478
708
360
449
785
331
690
793
770
622
726
630
572
734
723
555
400
601
311
349
449
712
643
478
679
629
746
764
794
458
384
352
731
309
462
419
619
395
373
374
660
476
472
660
742
363
361
380
758
352
474
384
526
461
772
487
326
734
476
714
781
352
645
443
466
535
672
585
779
352
310
414
517
779
617
609
607
394
563
645
779
473
507
682
600
325
592
433
789
764
331
700
431
541
751
490
659
307
516
736
481
539
333
425
613
656
533
652
415
420
670
678
320
337
320
328
716
701
482
645
378
692
621
731
326
636
599
556
649
769
319
486
485
386
729
624
526
343
645
364
414
517
454
417
729
335
512
432
341
343
459
568
758
550
701
666
566
737
483
428
440
738
636
512
408
513
376
762
596
402
453
694
651
375
587
765
399
678
307
479
705
434
370
330
800
381
307
764
473
342
654
656
582
323
682
620
369
405
541
367
773
536
673
444
620
612
317
727
754
683
348
770
773
741
585
563
416
519
517
725
498
779
654
742
491
749
764
523
379
517
766
767
644
507
786
564
706
510
531
520
458
583
710
659
561
351
611
757
378
325
468
680
688
338
603
771
375
560
712
646
790
477
437
467
624
361
758
456
697
681
495
675
794
789
317
381
545
746
409
615
598
544
776
431
584
676
495
679
343
351
514
416
743
726
431
602
603
547
382
347
612
362
757
613
312
464
581
678
651
653
644
475
465
352
416
386
692
388
665
528
339
591
510
596
460
741
725
737
705
550
526
662
337
439
731
749
358
511
419
497
621
541
414
661
548
500
565
504
377
643
311
360
558
444
749
553
728
697
544
467
554
714
558
715
323
578
403
535
352
399
498
509
422
631
383
726
431
423
657
420
598
462
659
311
664
726
676
378
761
713
477
403
368
551
611
648
365
580
761
300
503
396
373
699
331
514
396
348
633
703
389
332
553
324
681
341
465
604
730
407
516
308
671
681
564
742
321
469
415
607
573
499
495
633
591
764
506
335
512
344
653
481
478
584
652
389
727
439
441
409
749
341
596
396
441
607
710
628
389
544
495
373
411
555
603
337
429
581
761
311
774
376
632
704
309
501
681
581
451
460
440
462
315
788
642
782
492
327
462
384
621
696
621
701
497
341
779
650
378
493
347
548
349
487
338
378
384
415
515
531
643
686
737
507
665
393
552
693
794
423
638
461
538
304
618
558
554
729
433
581
488
432
410
722
475
614
579
352
389
693
787
354
600
759
523
649
496
377
685
772
566
714
722
684
714
699
652
453
751
799
700
575
449
302
451
796
737
659
396
628
565
458
609
313
671
605
728
653
350
443
645
658
680
760
786
358
430
332
425
310
355
393
337
737
308
514
470
359
386
790
439
455
455
335
737
314
595
709
564
771
704
312
790
746
414
370
361
327
558
509
349
687
533
795
424
361
671
758
386
473
787
559
634
692
443
596
539
535
482
653
632
641
552
395
598
785
356
504
698
750
533
370
590
757
581
480
672
413
502
639
609
678
355
497
793
723
428
610
671
608
618
496
481
741
735
595
483
687
680
422
465
320
771
452
647
614
524
313
513
310
472
628
393
733
414
759
495
605
783
449
306
749
646
656
752
405
525
716
471
620
586
777
613
756
437
485
755
329
473
515
587
633
602
302
364
516
767
762
657
306
452
509
531
383
572
393
525
641
683
556
331
616
329
440
440
691
668
537
591
598
774
587
732
649
458
431
792
446
690
641
390
396
344
335
602
725
670
559
509
533
525
551
314
681
418
480
783
579
638
613
571
643
443
499
619
541
439
383
566
745
666
662
555
610
600
688
351
390
416
419
398
411
469
643
615
675
682
674
669
540
339
640
672
697
422
342
420
656
304
553
428
763
753
469
571
580
388
546
663
686
364
757
353
377
351
428
404
452
470
398
623
684
431
390
344
729
572
772
340
475
586
425
599
676
719
536
445
456
375
648
412
416
542
312
662
340
433
770
615
513
488
557
658
387
569
773
472
535
504
605
436
627
734
642
726
434
791
461
312
460
445
426
671
651
512
722
463
680
466
481
541
427
542
637
413
305
577
591
678
794
667
757
569
318
367
441
694
353
702
460
422
788
563
492
667
744
742
579
722
631
453
441
432
493
348
797
773
576
792
396
380
742
509
319
380
626
305
366
513
476
324
705
415
490
439
779
486
553
607
457
481
316
673
530
411
458
564
354
317
517
557
585
742
317
385
722
397
408
414
327
320
575
341
341
764
678
574
464
770
696
720
341
365
769
435
759
375
451
390
519
553
757
616
303
605
681
311
783
416
319
507
455
441
647
557
634
533
704
591
568
685
449
643
756
365
310
343
709
742
457
580
309
710
366
384
382
558
694
689
612
525
513
303
544
604
308
436
777
778
431
688
564
617
743
670
774
367
713
551
430
658
537
324
713
314
417
420
312
758
772
390
390
637
363
680
796
682
462
558
312
532
709
411
438
401
769
738
776
752
431
484
635
304
599
545
738
584
554
719
489
624
453
320
723
420
408
745
394
595
594
304
746
445
710
785
488
752
421
418
558
662
635
592
359
423
357
766
511
329
480
501
780
767
345
590
440
746
339
714
620
732
565
708
766
701
721
489
568
501
639
538
679
667
581
332
418
442
395
702
498
729
457
552
315
334
775
385
397
522
689
336
342
309
572
537
629
406
515
433
361
790
797
619
441
556
742
364
318
310
412
637
514
800
473
546
406
564
576
736
763
551
793
613
735
478
352
771
670
480
456
348
300
798
768
462
323
778
539
546
478
686
791
763
598
776
682
704
643
485
585
466
556
523
475
626
413
619
534
331
500
494
437
529
544
687
768
535
580
533
623
376
402
345
629
365
442
670
743
652
384
622
490
531
646
776
531
327
555
380
729
466
795
798
784
361
607
593
391
757
527
474
462
694
409
677
338
398
704
759
703
382
685
559
446
565
533
451
627
748
638
672
300
360
777
570
497
730
505
561
667
346
727
351
723
380
316
403
441
681
581
482
751
421
342
528
752
779
328
666
536
663
725
658
358
659
302
681
726
729
606
783
793
327
643
489
748
794
673
642
442
782
787
518
544
315
666
347
782
350
743
323
790
619
322
659
666
481
645
693
799
738
732
305
668
313
677
718
301
695
707
452
413
692
307
553
404
614
584
389
789
407
564
441
645
756
791
598
783
568
598
450
758
541
420
505
597
705
437
367
419
434
585
445
644
731
532
411
553
411
744
641
392
480
377
367
750
674
366
355
637
473
317
574
469
355
495
547
775
712
603
757
763
349
340
399
472
766
672
703
745
358
427
544
728
571
491
775
329
364
678
629
563
568
475
485
679
359
538
377
691
736
303
454
351
445
403
689
494
360
571
556
447
772
736
696
540
453
683
529
362
451
669
502
762
380
359
385
450
390
638
406
348
603
617
556
782
790
546
712
401
519
537
571
648
686
576
316
639
555
564
597
511
713
740
483
757
776
348
765
524
399
311
778
380
409
765
734
561
653
422
641
466
601
551
434
713
754
660
561
608
331
563
574
774
460
309
748
747
639
549
334
314
331
449
545
474
680
468
774
722
402
765
642
423
328
534
458
376
611
319
620
581
745
544
485
443
649
609
402
704
482
789
513
324
751
695
696
691
452
782
693
767
655
428
712
705
728
728
528
532
572
326
422
301
457
726
487
471
630
342
639
395
512
324
577
682
638
585
324
617
374
510
796
393
603
375
711
607
656
597
764
662
792
788
592
730
402
558
576
430
368
634
689
363
618
361
378
635
438
361
652
653
755
666
306
572
702
449
505
555
752
398
782
301
505
515
796
433
789
629
686
381
305
338
681
609
607
796
700
646
541
566
725
605
595
747
477
373
713
370
561
552
473
760
716
390
747
765
565
304
768
485
313
324
451
600
529
725
551
791
698
422
756
319
660
457
606
769
505
672
370
799
419
694
581
393
344
685
630
680
519
506
763
537
533
306
579
553
720
461
692
303
740
331
449
586
366
667
713
429
669
602
684
561
335
417
445
587
426
795
622
585
325
310
462
616
512
612
708
529
403
782
680
440
797
480
453
406
776
396
744
481
775
370
303
723
322
538
530
366
683
758
630
761
540
361
741
340
443
633
401
371
365
558
338
540
532
695
377
617
321
779
664
737
333
586
602
352
371
754
724
364
740
772
797
314
452
348
709
658
473
539
348
541
555
800
594
327
631
414
449
529
687
616
710
317
782
693
752
323
785
483
603
416
450
448
665
772
544
381
742
707
780
643
783
564
749
489
604
511
376
447
733
593
506
593
579
495
702
647
537
355
479
380
770
359
430
466
519
515
464
482
353
554
667
324
686
769
514
439
320
491
458
452
647
769
384
697
774
552
324
762
694
312
370
455
630
510
714
526
574
463
376
795
788
304
555
369
302
371
331
317
542
761
503
741
614
403
351
405
739
722
764
473
681
768
754
358
764
414
412
424
382
312
788
419
731
579
726
663
445
346
458
637
348
634
363
561
512
776
630
795
411
659
587
799
769
319
492
521
701
467
697
690
587
302
537
726
747
579
717
760
655
651
774
662
786
457
360
705
723
695
583
450
330
483
552
742
547
371
723
490
563
589
304
336
601
778
507
502
798
550
497
560
595
460
584
576
470
612
303
613
520
480
746
305
368
589
470
615
498
766
349
311
376
511
623
439
667
761
481
617
782
580
738
402
562
557
629
544
661
521
446
772
794
497
777
500
300
560
739
562
748
788
552
409
719
360
792
561
593
618
724
514
366
799
670
710
512
442
352
496
728
705
741
380
611
602
726
420
502
326
468
733
353
306
632
748
785
630
619
517
611
418
735
692
360
628
511
335
681
589
588
609
647
305
741
318
368
379
496
534
716
678
314
709
570
573
549
721
322
655
789
728
648
692
689
300
381
488
462
705
459
457
761
507
609
707
338
595
505
758
372
403
708
528
624
771
613
329
345
350
458
507
395
662
495
615
319
712
553
518
313
648
379
634
783
608
382
349
402
388
359
715
732
463
486
797
562
699
639
394
742
452
396
659
696
642
629
322
758
449
512
742
342
541
607
724
428
507
347
618
710
552
790
338
549
503
414
490
532
667
784
517
390
350
524
505
786
432
411
689
507
592
670
797
333
386
543
630
418
715
732
711
566
700
700
722
649
669
380
717
345
405
350
475
524
576
362
476
675
765
494
434
678
786
314
559
365
450
655
577
505
418
535
324
473
786
349
483
700
641
621
625
669
458
345
705
513
358
699
717
314
587
537
507
600
763
439
604
507
562
708
768
712
395
417
567
442
735
534
594
687
362
592
753
469
482
651
386
598
334
307
592
778
510
416
496
411
422
692
575
515
526
466
307
641
687
763
667
397
577
587
348
700
673
756
323
769
366
549
348
756
591
589
569
351
517
497
575
564
675
516
588
426
415
757
736
633
622
718
432
461
638
483
399
645
498
390
699
591
386
377
393
744
631
322
373
355
568
646
516
531
380
683
360
414
697
558
342
511
662
626
513
321
727
737
682
781
453
351
553
524
708
788
741
780
688
311
519
554
508
550
690
447
783
531
588
541
799
411
572
459
338
479
644
754
408
464
366
422
742
322
391
441
410
392
349
399
735
406
655
320
592
759
390
440
777
560
796
784
715
377
481
417
479
737
690
429
452
692
492
744
727
782
340
351
605
755
348
704
561
671
517
646
563
335
673
379
669
490
444
685
577
309
537
418
554
675
689
684
442
334
390
483
529
724
791
641
322
538
666
789
302
669
653
661
648
421
499
627
307
469
502
535
492
659
692
426
544
592
684
793
534
442
488
497
570
309
512
462
767
707
427
786
561
658
320
483
529
437
400
618
662
688
308
679
366
382
572
604
452
302
313
696
354
589
687
706
646
555
414
772
550
673
355
378
701
364
388
331
525
720
686
514
556
417
343
364
491
577
455
598
557
738
689
755
581
548
368
413
655
437
769
487
581
493
450
650
483
490
611
469
777
745
673
664
323
718
570
463
341
536
321
740
337
576
495
711
377
367
454
499
409
787
565
317
414
488
367
651
405
719
729
665
319
331
485
359
372
794
714
453
421
469
462
769
364
491
694
635
558
440
636
486
567
590
331
690
758
682
372
580
599
499
655
738
474
650
597
440
452
537
556
569
562
422
443
729
379
420
409
620
562
531
365
751
648
599
359
380
451
403
485
414
447
328
721
607
351
731
459
689
788
464
437
442
497
626
320
630
605
470
659
707
424
765
523
309
441
341
625
715
321
727
681
640
519
544
553
686
402
532
346
786
688
337
306
399
666
749
509
531
689
558
778
542
314
306
623
572
732
412
355
733
787
788
302
703
440
633
465
523
632
721
576
346
769
684
430
762
778
630
622
396
696
716
464
785
547
308
674
357
410
466
560
665
603
466
526
568
368
516
527
795
570
567
675
756
652
490
428
553
602
393
714
605
434
383
726
701
707
730
578
389
673
453
698
402
312
711
511
724
640
415
345
551
413
513
408
564
522
555
454
474
539
533
536
762
598
595
460
578
693
474
691
341
354
304
330
487
613
420
649
544
773
634
303
530
422
609
527
482
411
533
719
490
658
375
380
645
520
418
473
791
391
650
410
305
558
391
619
360
687
785
726
623
368
673
778
527
766
390
371
617
608
578
412
480
487
558
486
438
682
781
313
411
572
340
450
615
480
666
577
662
428
650
651
455
405
559
517
794
336
363
697
358
509
495
417
486
574
334
785
644
373
557
352
746
561
318
614
548
504
308
705
487
395
317
653
563
432
476
551
733
518
671
325
516
627
466
738
754
761
656
645
745
613
782
662
695
472
489
766
407
463
335
317
478
408
430
523
765
605
345
716
434
696
388
311
540
535
520
700
656
719
354
548
782
710
641
367
485
701
514
303
483
717
449
777
615
621
502
558
605
671
469
477
432
454
735
676
304
705
335
325
645
760
328
455
501
581
310
337
507
422
697
584
361
629
356
453
591
481
511
559
687
530
655
390
344
515
657
371
719
794
798
534
559
570
342
350
591
707
346
313
777
680
510
335
419
335
565
788
387
680
698
543
419
758
364
332
734
616
359
592
364
566
643
752
752
790
316
515
763
341
430
646
474
679
661
526
623
462
646
613
417
479
385
503
663
668
584
361
589
636
418
329
763
761
321
572
320
746
483
685
711
400
381
720
645
413
558
730
759
347
530
318
412
525
508
632
544
368
784
386
525
647
625
741
596
373
489
611
360
759
300
481
596
543
300
475
700
788
533
448
505
451
421
776
329
544
425
334
405
361
772
438
365
479
389
777
635
354
699
381
622
625
721
434
458
468
733
368
337
797
737
416
667
315
571
607
512
793
683
699
456
365
421
488
445
450
633
381
340
697
707
381
674
429
699
304
657
404
448
698
518
442
789
613
481
685
669
464
657
597
556
798
767
688
568
657
524
617
498
420
389
516
522
701
458
509
592
760
440
780
493
594
606
487
582
535
602
424
528
655
495
436
310
407
478
325
488
441
698
422
536
728
678
466
764
586
629
513
760
794
606
657
376
640
567
416
374
634
690
336
460
522
530
609
735
306
639
621
309
584
395
397
701
598
465
634
306
537
497
360
346
561
747
774
753
412
568
742
774
305
621
572
415
660
515
659
363
513
458
366
505
725
400
729
361
652
508
557
731
574
525
795
725
445
332
615
493
371
656
538
472
757
567
649
799
669
486
443
513
351
711
765
336
686
684
392
335
656
314
472
759
324
449
588
643
491
433
390
531
720
589
800
672
706
504
554
578
474
498
657
746
446
302
537
612
518
515
408
688
693
430
650
570
536
677
334
544
387
717
736
313
305
718
516
757
692
744
508
546
404
445
768
384
781
742
663
635
737
665
398
576
585
311
731
557
376
557
410
555
525
609
336
537
538
532
606
618
712
716
767
394
401
602
677
717
719
533
770
491
514
587
534
588
369
475
404
719
413
443
743
427
607
738
545
507
593
787
537
520
507
512
591
411
439
453
760
735
576
689
394
757
324
472
760
409
528
515
346
754
420
365
773
384
354
537
390
498
341
516
573
590
357
397
520
533
323
773
651
331
391
443
654
565
573
536
435
678
563
365
718
517
562
509
481
680
493
619
605
513
613
351
445
350
346
377
551
489
722
755
647
800
759
603
518
316
388
658
488
710
543
706
427
453
436
545
580
540
592
576
531
540
668
531
659
388
341
697
624
544
332
597
620
480
612
796
513
773
431
776
735
430
726
346
757
395
747
763
781
609
442
546
541
439
745
440
484
327
447
407
524
372
500
688
532
504
315
637
528
792
586
603
470
356
458
509
438
312
307
311
743
479
534
434
618
370
573
333
536
656
710
384
313
742
739
461
730
694
701
318
791
417
458
381
706
353
364
338
606
432
704
737
569
507
547
445
398
799
470
591
348
608
480
383
709
585
714
371
568
532
682
322
682
395
471
450
707
411
550
566
735
594
526
383
521
463
738
730
659
561
634
672
512
442
348
561
472
653
350
785
558
553
551
567
762
535
511
579
663
691
630
647
421
434
513
336
491
689
304
337
783
790
783
592
548
493
692
786
500
795
439
472
645
540
333
441
596
748
470
398
394
369
501
788
409
564
739
496
711
377
407
598
362
595
502
328
593
360
544
404
677
793
331
559
709
403
357
526
301
646
548
304
462
456
687
474
699
601
520
411
736
329
429
478
338
400
656
793
588
633
360
319
676
378
400
777
451
625
633
429
412
381
447
762
549
465
695
637
423
664
568
507
622
349
611
403
760
509
540
447
530
765
332
498
790
745
359
453
776
609
399
580
698
496
607
544
765
768
421
777
303
737
603
354
426
375
461
327
545
331
334
739
700
474
337
534
421
528
304
315
793
377
787
375
301
782
308
625
446
304
573
519
588
757
765
787
360
711
779
468
409
343
521
456
484
528
699
695
388
538
380
735
318
649
367
530
321
657
572
525
646
502
679
632
358
788
702
565
558
526
434
583
536
712
419
366
404
322
608
718
381
674
707
329
748
757
327
555
745
520
677
787
377
531
794
440
568
699
689
679
449
722
787
637
385
646
365
791
738
352
556
337
477
616
622
487
429
495
784
413
552
671
741
693
765
762
350
720
671
678
714
662
530
765
598
773
773
399
544
484
616
449
462
624
313
703
469
762
394
502
447
799
411
669
382
800
724
587
702
753
743
471
568
540
744
416
344
409
588
787
713
410
451
673
553
486
800
586
710
662
361
344
716
383
564
519
732
518
564
405
504
583
470
733
411
312
710
701
741
408
764
315
326
354
328
742
434
765
523
783
786
590
582
382
345
399
308
303
510
517
582
512
622
458
589
600
348
563
648
721
453
363
388
600
558
416
502
340
429
502
670
565
595
427
459
356
304
436
648
636
440
360
336
632
317
718
715
623
449
337
320
491
772
700
340
378
678
325
597
464
338
769
626
704
722
717
518
732
438
603
796
303
763
772
699
329
466
587
638
420
333
678
691
386
675
412
547
326
423
438
394
649
723
431
392
562
513
578
397
768
608
393
352
495
548
624
800
377
593
465
472
422
407
651
639
555
407
337
760
718
628
749
596
765
605
517
621
552
642
650
431
590
594
405
351
719
388
800
498
455
638
348
781
627
416
784
599
754
434
604
726
375
383
367
437
646
473
693
502
426
302
530
510
763
508
509
692
523
364
516
768
301
325
728
580
427
676
756
520
364
395
332
607
474
740
505
732
312
416
647
518
698
624
774
784
349
704
400
459
453
410
536
618
724
756
392
310
337
418
31
308
382
34
259
281
465
189
495
188
424
313
462
292
134
467
57
195
280
70
300
360
427
281
232
71
458
195
73
138
61
257
88
457
278
415
22
494
229
399
151
124
456
199
161
271
268
194
454
109
58
246
133
259
422
449
25
342
165
459
399
9
355
56
13
85
23
111
341
440
124
22
209
247
258
437
262
167
50
110
100
407
323
264
104
21
233
229
257
490
56
468
356
108
138
380
259
435
498
38
285
308
304
47
460
474
43
195
233
458
467
82
437
214
72
270
318
26
12
100
256
117
415
60
322
419
397
384
497
356
50
56
374
492
271
365
321
53
314
153
66
475
250
383
341
246
49
357
167
31
219
494
443
229
487
461
439
370
182
68
139
99
272
73
28
37
35
245
310
383
456
490
249
241
405
264
174
446
97
252
431
482
26
476
13
66
360
488
472
474
380
277
321
482
88
85
35
332
90
406
249
365
496
240
321
367
399
274
294
375
109
489
325
193
213
233
362
198
473
221
393
194
370
290
11
390
201
12
430
276
463
413
218
431
335
250
472
18
379
255
493
137
168
187
322
467
284
298
242
267
411
464
142
70
226
36
490
190
411
265
250
149
405
296
47
48
445
383
232
215
111
238
265
279
347
333
102
120
351
22
250
385
21
481
162
494
23
114
321
324
235
262
11
415
338
314
78
465
125
220
65
447
230
152
464
142
49
217
481
68
406
374
45
418
264
128
478
410
461
460
13
77
336
313
485
226
461
80
2
130
491
346
429
249
72
92
13
346
395
57
139
400
418
304
71
56
443
93
342
406
188
415
188
68
171
75
279
47
269
24
451
442
112
191
350
312
469
247
28
354
376
86
359
366
53
271
488
287
167
403
258
266
191
430
464
463
296
301
195
293
56
90
286
182
192
208
93
466
469
148
334
31
33
237
310
268
172
492
161
64
135
228
445
251
192
238
5
375
330
129
291
35
53
441
90
233
86
5
490
275
115
55
290
237
49
128
300
293
411
402
209
159
212
386
180
112
138
398
485
363
494
460
84
223
4
381
291
465
14
310
301
101
173
281
312
7
481
144
481
157
127
386
117
404
473
138
448
281
425
67
478
93
279
70
453
204
289
15
398
164
366
491
93
110
38
405
464
366
404
181
453
404
78
74
107
250
335
89
2
406
201
87
391
78
270
67
328
343
384
214
230
130
195
163
263
116
2
152
75
390
83
130
187
246
438
301
261
286
418
293
45
467
358
361
144
181
338
126
375
418
500
198
135
28
171
4
259
489
318
141
92
234
466
17
148
268
461
344
270
184
25
391
63
17
348
70
234
375
375
33
471
63
379
164
17
486
194
184
149
84
184
280
111
379
256
93
324
77
60
258
267
103
324
311
322
18
244
209
292
380
423
35
344
500
316
208
201
456
183
33
5
137
317
386
421
225
405
325
158
208
280
448
199
28
440
221
96
460
268
143
386
367
164
59
65
211
267
169
346
81
135
261
462
156
477
498
405
107
70
291
452
479
115
489
334
150
485
257
125
102
369
38
1
457
282
358
239
47
117
475
16
362
494
213
301
194
168
221
239
482
415
13
252
461
203
477
144
298
114
478
19
312
227
169
127
18
482
197
186
180
408
126
279
86
87
274
18
230
318
110
39
249
267
468
363
71
275
97
42
356
468
214
4
130
78
37
131
110
311
206
6
355
389
199
276
114
230
462
305
491
168
325
230
265
47
16
309
355
170
136
271
320
338
335
185
272
199
133
110
84
298
326
11
302
20
454
410
262
416
486
113
183
228
55
343
198
198
109
449
247
42
95
263
273
369
311
426
11
148
42
297
476
262
21
424
279
349
181
213
390
36
313
184
241
231
275
390
52
353
427
109
142
206
92
410
107
428
244
239
345
154
11
65
56
364
451
99
61
204
123
130
313
155
277
120
110
369
450
20
202
295
438
355
259
317
294
429
444
179
247
483
404
186
392
38
218
236
364
258
468
29
29
472
48
373
29
317
340
79
11
447
249
197
182
384
388
417
207
251
146
104
448
387
283
254
202
242
74
461
147
145
384
77
37
407
174
181
380
329
452
431
279
174
64
318
387
371
389
261
499
64
314
477
15
323
354
239
328
495
205
472
46
462
305
314
334
99
404
467
460
98
231
255
365
362
380
35
308
318
396
225
114
121
447
466
132
495
34
318
467
492
491
52
36
147
348
485
341
141
102
197
379
78
188
65
257
117
405
443
31
7
83
125
333
341
66
56
195
495
461
353
430
373
72
53
124
101
23
55
445
192
7
200
35
363
35
431
147
70
331
439
234
423
264
240
224
296
115
106
348
122
473
394
385
235
367
185
347
216
32
154
379
4
376
498
362
5
196
443
293
365
333
206
178
114
417
88
370
82
265
241
443
201
448
167
97
393
133
433
6
176
210
192
170
210
361
471
337
402
32
419
356
398
295
53
324
123
281
432
123
368
413
261
339
88
416
54
173
167
302
231
75
180
253
427
123
325
65
318
4
412
377
317
82
214
287
452
278
372
152
324
260
237
315
197
426
63
456
446
498
121
261
107
231
326
153
25
76
149
433
260
323
388
169
483
230
396
55
406
157
47
19
68
12
413
415
485
146
301
177
434
319
492
255
317
326
224
447
496
252
10
313
80
398
398
178
104
449
25
332
452
237
1
220
156
151
465
480
22
24
103
81
240
280
403
168
167
496
371
173
178
464
441
260
23
188
302
222
287
338
423
101
169
426
45
489
444
322
296
446
300
252
33
361
355
110
270
463
176
425
50
317
61
370
441
19
13
403
283
149
470
302
416
323
29
155
421
160
393
496
82
111
278
91
483
46
354
196
162
121
6
108
191
290
491
250
486
426
429
38
474
129
32
164
247
382
405
206
255
323
81
382
67
100
225
219
277
143
295
263
269
25
57
259
312
452
382
207
385
452
171
356
275
343
41
56
25
81
413
61
232
25
365
179
324
400
52
288
310
364
37
194
358
200
78
392
258
379
196
205
81
286
20
482
398
468
316
403
313
309
268
326
384
347
253
211
224
117
8
448
47
85
172
217
26
146
313
409
392
55
24
189
10
216
283
301
474
443
11
472
375
122
479
79
255
195
493
315
263
284
476
214
160
238
8
309
23
227
45
208
468
73
302
18
236
181
37
99
1
63
213
135
67
123
49
54
60
487
69
455
97
217
133
202
65
440
452
329
392
398
122
150
308
367
173
396
364
370
358
261
253
186
474
141
457
469
167
137
424
105
390
445
247
55
302
263
193
494
178
26
281
452
265
291
461
479
35
412
117
483
53
239
223
108
398
298
54
76
461
401
91
375
234
407
344
455
20
335
438
447
109
11
158
340
58
223
371
480
63
89
379
483
331
297
490
371
413
261
338
451
273
106
473
388
246
361
401
461
2
188
258
357
413
13
208
163
96
394
278
314
201
476
90
75
207
15
60
381
251
30
307
471
270
432
81
324
187
70
288
436
117
339
201
159
446
191
374
53
336
12
413
397
317
96
267
426
110
268
279
52
56
181
203
187
170
38
241
480
375
326
71
29
465
472
237
158
312
193
141
497
117
301
297
446
207
310
45
190
483
286
428
234
164
267
317
377
293
390
71
306
100
258
401
435
461
203
145
212
135
16
459
284
296
229
70
303
139
17
144
49
11
455
187
126
491
64
181
471
32
427
476
380
364
469
267
344
121
472
424
43
463
455
450
70
68
143
128
350
485
177
209
99
361
469
475
8
261
359
68
137
59
184
31
105
45
220
120
141
110
127
319
29
221
306
29
363
90
325
238
58
245
175
11
201
402
386
378
300
138
160
88
316
237
319
286
233
293
493
484
249
24
172
41
92
179
362
177
58
29
93
166
331
399
238
290
479
121
51
122
283
439
351
312
500
178
486
219
324
202
423
295
306
218
115
280
11
274
322
301
259
338
296
478
289
319
315
51
181
279
448
312
148
302
177
309
77
4
254
447
170
362
284
150
393
36
387
442
66
238
75
333
264
292
447
307
449
397
60
84
334
467
318
252
358
352
470
481
474
336
447
254
11
167
256
244
457
196
458
388
470
131
244
181
383
84
124
292
269
29
264
27
79
438
42
133
455
261
149
163
56
24
206
495
364
488
495
93
220
439
254
306
341
450
34
358
172
126
196
35
471
279
85
272
479
156
3
316
498
190
226
251
370
428
476
352
140
280
82
205
227
368
300
464
197
465
116
351
113
425
103
322
70
491
455
113
11
412
108
249
12
445
118
73
466
431
132
99
287
105
133
457
317
204
109
13
185
105
166
248
80
153
344
366
70
434
366
108
143
350
437
112
327
427
276
314
77
430
165
117
405
498
470
88
388
442
263
262
57
251
297
381
473
47
349
427
171
130
23
368
330
427
305
489
20
309
276
149
106
248
303
325
198
35
20
494
253
15
391
315
165
33
44
39
138
351
341
92
449
336
402
158
217
371
110
355
44
129
207
323
187
418
149
5
438
211
220
196
3
6
161
364
397
313
492
289
493
480
271
19
496
57
450
485
232
373
218
355
358
221
384
286
237
388
469
451
230
164
496
249
43
73
461
293
398
321
156
111
50
102
329
14
273
147
159
289
295
78
310
133
54
83
368
188
295
353
65
496
376
389
64
333
493
268
66
213
466
115
208
126
142
11
489
470
383
51
73
386
145
117
63
121
480
165
138
17
102
221
271
88
494
286
66
80
404
84
326
237
243
137
349
293
293
224
52
266
6
442
169
192
94
386
315
10
5
17
331
147
102
477
381
122
43
219
129
431
257
173
352
385
184
333
278
264
283
352
426
8
402
82
23
260
364
55
159
146
187
117
246
436
310
48
236
280
491
12
326
81
8
450
171
137
209
333
20
135
487
344
284
210
423
189
442
205
9
33
287
395
36
467
395
87
332
76
120
372
103
369
259
14
472
75
72
212
494
323
86
163
222
291
372
265
301
441
350
280
413
311
371
294
114
109
83
488
145
162
193
195
301
26
120
459
2
77
224
199
287
350
436
455
144
342
50
285
333
248
24
447
22
471
350
22
347
114
173
288
360
252
131
188
67
67
396
447
426
128
337
410
17
313
207
367
188
32
132
90
154
52
135
400
98
201
50
337
471
429
445
402
67
322
465
101
408
380
163
38
443
335
404
289
479
382
454
228
363
315
37
187
3
375
239
227
373
194
165
205
124
324
176
426
14
307
281
256
12
129
330
388
250
279
13
436
112
48
74
413
156
411
68
417
470
136
389
370
409
405
153
139
351
270
270
261
143
496
202
438
67
70
264
262
435
303
312
90
450
111
202
250
52
485
43
196
3
490
428
95
304
75
120
231
277
371
465
81
324
44
143
323
373
216
261
255
81
479
181
288
265
359
30
239
55
81
36
112
472
227
97
241
178
72
156
384
357
47
375
264
429
420
245
63
66
157
66
279
349
345
459
366
239
451
343
117
301
346
301
360
414
322
155
280
41
255
343
195
342
298
320
418
140
119
329
197
283
386
118
202
411
271
348
192
321
225
376
275
473
84
484
217
230
223
387
461
275
404
494
345
26
427
195
365
79
458
437
142
399
367
206
213
178
129
379
393
28
52
418
5
272
96
18
20
151
237
31
419
220
260
105
23
49
52
416
479
62
228
386
414
485
273
345
115
423
108
191
371
203
340
248
284
73
366
71
66
21
482
98
358
429
239
416
172
133
216
452
19
395
338
160
133
363
190
324
369
134
135
325
100
138
221
135
66
401
405
315
54
140
9
397
311
402
112
214
66
92
235
6
82
92
75
367
354
109
424
102
357
374
215
298
461
465
119
430
254
184
430
350
2
180
86
427
205
203
308
133
399
144
113
363
34
209
336
431
443
213
153
247
289
380
499
268
173
220
450
349
53
321
172
444
380
110
489
357
328
111
470
448
117
471
314
234
81
227
385
399
270
496
242
468
344
455
144
472
54
127
54
169
237
241
172
96
74
484
170
169
432
395
195
54
53
432
331
83
351
466
485
45
288
319
240
328
231
196
86
414
174
367
315
309
481
176
169
400
188
452
381
450
142
26
26
61
366
351
290
491
406
390
452
171
244
305
453
319
65
35
156
6
138
27
310
313
209
202
160
74
376
33
210
245
113
222
276
111
277
376
64
49
212
182
339
363
180
254
51
450
342
296
119
171
318
391
381
478
465
74
424
412
100
443
241
457
217
404
160
305
151
16
177
298
240
47
74
439
490
418
328
413
178
218
398
11
317
59
25
339
178
160
142
192
69
158
70
7
258
163
443
315
181
138
341
137
31
92
252
372
51
225
430
394
366
458
21
409
116
255
14
345
175
430
241
191
135
318
389
42
249
37
213
301
234
497
164
390
323
311
274
131
131
312
364
84
417
295
257
368
371
3
52
127
128
34
150
385
454
224
426
402
421
167
368
263
429
231
171
382
270
438
223
298
29
389
117
316
499
170
374
182
430
272
172
274
194
188
409
134
337
22
121
140
390
200
371
341
377
171
160
73
424
445
112
326
470
146
387
156
396
279
275
29
209
352
140
109
44
262
241
6
49
118
435
143
317
209
164
15
263
90
8
113
43
341
496
99
183
110
145
435
213
442
133
466
487
173
389
44
390
46
190
249
182
459
2
316
217
198
211
85
443
154
272
388
257
378
180
92
9
157
115
262
453
290
171
289
250
50
232
312
141
256
217
327
404
173
423
454
306
231
414
70
220
52
434
50
373
419
327
439
211
483
404
396
288
468
262
26
112
371
95
64
455
494
210
235
471
121
398
289
368
115
262
428
144
461
440
186
283
386
494
235
184
16
378
334
75
207
174
473
145
257
476
297
46
190
344
103
202
277
496
266
136
223
101
129
385
252
296
112
300
484
312
215
71
441
36
75
17
212
369
6
67
206
221
50
154
220
120
237
298
107
303
4
101
498
367
282
380
249
184
169
303
336
258
360
1
161
302
191
414
179
74
473
192
448
256
467
25
6
449
255
339
81
141
328
247
285
431
96
221
484
210
84
488
476
184
311
454
340
356
467
2
307
71
473
405
85
135
153
333
421
159
247
293
281
136
185
399
140
130
177
343
390
60
341
224
197
81
46
217
214
114
211
302
5
288
164
282
115
376
127
277
88
256
402
207
234
213
187
100
38
227
50
207
213
28
209
246
138
109
338
420
387
124
321
189
253
302
152
43
1
189
170
146
137
445
32
2
265
445
487
350
380
399
43
145
183
232
327
334
196
469
135
37
47
146
291
419
322
329
419
287
100
212
173
282
153
73
277
299
4
222
328
41
262
21
187
293
470
367
272
308
331
313
69
53
166
204
201
301
493
100
123
432
402
272
140
291
332
114
161
399
117
238
471
82
303
386
48
191
460
364
195
301
210
316
284
19
177
414
497
450
254
448
141
76
388
72
380
185
129
40
28
313
94
432
367
368
224
481
117
354
240
193
221
480
86
346
56
233
75
396
90
378
348
200
137
255
327
178
140
210
109
376
162
259
61
99
280
463
477
383
173
183
271
257
249
213
7
125
268
253
148
202
497
221
272
376
215
331
146
173
309
496
391
493
306
438
297
321
271
16
293
380
270
82
71
383
127
500
428
386
34
300
484
328
132
244
154
438
199
130
309
45
298
446
60
488
166
378
474
105
384
122
177
95
142
471
122
265
176
402
142
207
20
234
307
58
231
130
81
295
457
301
40
174
175
473
300
445
100
431
169
274
381
241
257
288
374
454
246
338
227
362
217
292
424
58
445
113
117
423
74
266
93
328
331
283
205
423
307
335
449
73
8
206
40
209
192
232
47
26
117
114
221
12
492
404
352
122
311
407
26
419
97
452
238
423
279
386
227
290
20
10
350
275
25
400
249
395
443
279
43
404
166
305
112
241
348
412
445
24
180
357
335
283
417
292
250
450
55
450
130
77
484
423
197
442
439
380
459
302
277
228
343
224
138
287
451
148
325
400
463
389
428
479
35
114
303
104
319
356
318
23
237
133
82
178
491
30
181
301
390
170
216
387
215
270
343
376
392
341
458
171
258
233
363
54
390
425
270
8
195
118
450
153
381
457
143
238
364
322
114
481
291
135
286
358
94
333
207
424
255
172
340
153
158
47
13
436
489
30
464
365
444
340
482
284
17
305
475
300
8
372
127
279
97
310
31
194
422
286
160
487
408
58
207
103
199
481
474
415
88
295
495
62
291
33
203
244
453
85
417
263
378
78
89
311
112
386
92
17
110
433
236
73
44
70
234
356
157
85
343
325
145
291
303
216
496
443
143
393
270
494
235
36
4
117
85
461
365
124
53
259
465
150
46
34
431
1
158
269
335
307
170
176
211
311
329
15
11
492
316
199
275
387
354
418
365
45
438
461
244
434
402
467
397
377
274
170
464
273
118
486
247
53
61
194
123
202
281
30
68
241
108
491
432
152
61
134
468
29
67
291
475
18
330
230
388
101
500
105
287
364
480
410
47
246
363
221
291
240
119
173
451
262
41
191
214
465
442
91
74
331
262
91
109
299
406
8
31
419
73
375
269
309
38
230
272
237
40
355
378
289
414
9
199
206
330
400
164
491
29
382
132
429
411
133
151
98
437
251
90
159
91
161
137
36
112
33
387
443
304
154
213
498
335
82
90
74
459
142
259
113
232
10
288
287
240
157
471
305
4
26
85
229
12
209
471
490
379
123
54
267
152
80
107
114
373
135
215
99
173
457
106
132
385
268
151
119
447
231
224
114
35
247
480
216
419
200
228
354
235
246
242
291
194
451
397
265
125
237
169
234
138
218
54
266
485
248
125
192
106
216
27
229
346
498
115
26
288
470
135
440
364
43
459
413
452
394
302
431
111
427
489
30
388
491
490
329
131
17
198
173
327
342
395
388
280
356
242
469
231
268
493
269
57
224
485
206
145
448
42
49
127
194
420
81
482
165
142
224
60
415
306
335
409
214
465
377
166
381
229
413
69
460
493
164
223
221
387
370
481
183
478
214
360
473
408
237
264
29
127
96
239
311
56
182
260
164
444
491
407
488
239
72
8
36
35
485
69
462
87
341
260
282
173
182
278
349
82
72
10
17
88
452
54
105
250
85
136
233
436
139
356
117
286
104
6
406
176
284
32
265
428
22
215
77
56
306
375
257
362
318
128
455
346
400
31
360
447
365
306
299
258
344
321
338
292
398
254
391
199
450
400
113
205
447
276
144
466
153
53
242
255
269
142
17
488
8
494
389
162
303
496
395
125
162
185
356
438
426
364
268
249
458
196
444
368
170
301
379
207
63
1
420
31
427
61
189
302
164
241
499
352
204
48
114
314
165
297
357
109
128
312
496
473
224
42
274
471
299
113
45
320
480
410
198
481
45
8
145
117
321
322
250
194
19
53
342
212
41
133
41
175
464
206
46
116
121
455
436
415
204
428
212
320
129
497
56
152
239
279
371
240
442
281
376
150
371
215
61
491
191
304
303
89
309
279
340
141
35
342
246
252
295
42
455
104
373
294
7
378
157
86
313
28
112
147
58
169
179
90
353
264
122
287
156
311
92
350
500
136
132
213
91
238
458
179
338
467
456
372
303
29
318
77
13
332
238
96
231
279
276
267
276
415
471
382
139
376
145
346
184
66
176
296
243
121
494
120
125
401
279
208
451
199
64
248
474
408
24
208
265
16
106
332
52
62
156
208
29
322
499
373
283
246
201
201
295
361
314
99
472
191
405
442
71
274
61
484
211
409
206
78
200
492
440
395
423
203
143
26
242
396
28
130
440
56
141
422
227
326
97
214
276
489
70
93
489
87
182
488
286
150
20
115
257
258
308
371
115
482
188
296
161
13
490
306
93
101
500
392
170
139
382
204
427
153
290
42
142
198
234
379
270
480
155
6
31
440
160
436
266
138
449
301
386
319
334
99
81
85
240
314
345
46
310
21
170
53
306
133
476
159
322
259
347
350
10
465
87
384
269
154
131
439
276
330
498
320
88
255
80
134
467
485
207
165
21
73
401
93
401
97
279
117
395
120
440
136
70
141
361
416
198
249
133
382
408
103
332
389
299
428
50
214
464
49
437
246
150
381
236
292
59
195
274
290
327
112
383
199
453
469
444
14
485
258
94
42
466
367
89
247
53
212
114
409
343
441
434
123
99
243
4
2
72
119
258
181
306
388
19
394
25
283
196
299
188
399
369
323
40
187
433
400
288
142
142
406
125
474
451
85
486
245
227
212
149
316
26
169
382
389
420
290
162
500
202
331
172
142
150
414
128
399
443
105
421
123
277
205
57
51
287
128
140
122
366
5
493
395
251
144
329
294
466
426
2
95
18
178
237
62
381
66
165
462
392
153
27
109
299
471
495
26
419
412
457
226
50
497
237
75
317
408
368
331
481
407
491
433
483
484
239
487
241
432
108
425
187
126
196
397
104
459
227
389
247
389
404
353
81
465
287
18
419
170
15
340
121
224
420
138
198
473
357
234
396
411
60
43
289
63
370
392
104
442
118
400
105
147
250
351
160
432
233
237
105
419
466
213
430
393
1
74
414
341
260
33
345
204
241
494
421
360
102
273
395
59
379
257
180
242
119
409
104
431
198
99
284
433
320
458
296
267
275
164
424
232
452
54
152
262
171
20
331
28
148
128
401
406
478
193
102
245
143
122
367
109
479
470
116
257
210
216
19
417
233
320
123
65
129
147
389
445
175
245
293
181
415
297
435
16
416
167
359
226
126
333
163
327
259
11
96
290
80
46
279
343
203
120
332
430
163
302
28
78
8
182
445
25
257
404
27
404
488
193
301
259
155
200
46
360
70
254
152
470
390
296
33
366
98
270
122
493
1
230
13
80
10
219
175
401
132
250
30
235
418
356
333
94
488
398
430
368
332
38
25
420
287
170
287
358
32
235
162
331
232
139
40
15
325
468
48
401
337
165
396
384
330
104
73
477
415
444
473
436
266
367
495
7
73
412
66
141
16
58
419
145
324
106
462
88
146
132
323
401
123
215
205
416
385
492
301
117
312
136
309
375
367
291
57
205
298
190
50
121
487
436
474
77
233
73
173
499
136
160
117
381
328
451
154
125
14
457
104
10
229
8
421
342
235
88
412
56
215
245
404
226
39
285
43
16
166
10
314
42
303
267
414
377
390
233
213
90
5
274
127
12
484
262
432
476
114
335
455
154
339
439
242
431
98
260
369
70
496
284
285
36
332
358
493
1
86
237
251
224
151
308
209
55
34
72
348
57
193
35
471
221
180
134
213
44
219
182
364
210
455
103
166
314
490
409
490
184
336
232
401
349
483
151
187
479
419
329
328
74
207
369
87
206
432
405
238
90
347
447
377
222
275
415
418
318
109
303
114
436
152
408
161
433
185
235
84
303
495
254
288
10
472
9
172
129
320
472
451
172
296
158
448
21
335
132
75
196
141
317
177
468
141
59
252
115
277
151
149
301
157
437
332
46
349
495
105
382
276
348
218
163
45
228
360
130
237
315
430
158
119
75
450
151
448
456
223
23
88
444
449
231
219
207
7
33
133
402
287
397
59
227
233
258
242
104
310
179
139
418
60
283
322
245
190
178
65
55
284
278
53
181
257
359
351
97
135
179
364
254
58
62
50
159
50
265
244
192
277
50
62
59
427
320
70
446
316
309
24
332
405
211
172
95
85
39
181
34
367
397
114
413
372
152
206
250
359
409
34
6
182
408
418
397
336
215
40
66
428
325
52
331
297
202
93
222
176
496
291
178
375
82
472
133
188
105
72
98
474
401
204
246
408
81
206
424
424
224
351
235
368
304
223
29
103
176
405
201
130
206
323
277
11
243
5
343
284
471
415
478
121
198
110
365
96
354
479
76
385
386
271
439
17
74
155
337
409
396
483
5
300
25
202
295
299
411
309
330
317
160
418
478
50
171
273
271
189
81
321
214
245
569
388
580
773
581
530
453
627
416
792
676
792
424
350
400
327
548
731
489
669
486
593
713
699
431
408
464
386
591
459
681
756
599
418
673
407
409
372
569
482
420
628
375
693
355
541
421
368
472
479
336
330
740
752
523
583
562
440
637
378
497
790
430
625
573
797
434
576
354
732
537
359
625
516
408
428
788
712
351
523
761
635
572
390
792
738
491
533
444
522
633
406
457
759
791
565
313
464
497
759
664
758
540
683
421
592
686
339
783
687
727
380
745
662
536
362
520
469
315
531
375
336
722
656
670
338
302
532
362
615
444
713
422
389
777
715
498
710
718
647
389
397
708
403
333
467
690
790
573
524
761
340
449
502
756
497
683
385
613
790
368
648
713
460
659
713
445
382
446
347
629
465
365
592
526
525
591
794
595
335
310
761
358
324
456
449
721
440
710
364
618
594
311
557
301
747
784
636
576
306
344
483
620
507
323
302
503
704
745
591
758
620
602
544
547
725
319
547
522
413
771
407
718
413
421
796
384
786
405
690
616
423
738
741
519
683
452
572
679
359
476
712
413
670
357
452
576
371
483
584
432
418
665
676
511
356
484
579
467
460
477
407
360
522
577
501
483
621
697
452
721
535
344
556
689
393
663
560
648
633
615
747
741
482
753
568
329
613
563
442
439
576
337
584
637
404
325
797
315
570
502
712
489
675
497
591
494
646
657
755
303
785
726
488
350
518
338
461
460
334
596
700
679
552
563
368
599
477
522
380
433
498
537
644
358
374
541
790
716
342
748
339
514
611
360
351
313
458
340
572
488
799
696
688
563
693
459
466
773
677
737
637
432
794
702
517
451
764
428
441
696
390
312
408
323
674
727
689
797
793
600
347
564
769
783
639
750
377
651
696
685
590
782
629
322
432
355
411
606
605
506
389
761
689
784
306
415
340
364
619
779
416
414
698
520
638
706
351
402
321
773
393
758
421
766
737
609
754
388
681
542
761
345
403
503
432
416
587
717
462
530
349
629
341
770
541
692
488
429
506
672
783
515
657
320
652
683
444
770
441
698
552
510
393
465
710
396
733
457
525
701
788
359
737
690
729
783
692
323
466
455
724
599
312
550
496
338
781
584
461
602
596
541
374
589
523
340
391
389
314
518
673
740
308
733
480
500
308
303
524
425
312
322
330
315
730
757
495
780
515
775
767
730
546
542
463
775
339
562
503
344
743
321
462
355
348
700
792
764
584
792
514
720
457
331
338
625
604
395
427
438
308
371
441
686
739
566
626
442
588
764
505
713
766
403
320
311
554
578
690
443
706
545
552
546
771
351
375
408
743
776
630
426
319
617
454
681
342
504
531
332
484
491
660
541
414
469
604
604
633
626
793
375
594
480
616
348
629
357
595
419
681
644
321
587
733
549
736
705
480
420
491
706
699
791
792
709
714
424
561
775
511
634
484
750
773
777
489
615
388
790
777
348
408
569
683
332
768
682
457
312
636
365
602
480
351
749
713
528
406
552
339
620
738
339
789
602
433
545
306
656
666
385
414
601
372
789
613
434
771
552
581
460
682
782
799
553
618
548
794
779
558
400
764
740
788
774
668
436
680
623
676
596
785
610
740
304
451
571
794
691
752
517
367
573
639
374
506
600
556
655
687
393
655
552
696
492
385
400
761
587
560
636
640
673
784
557
480
758
456
506
384
333
520
669
433
635
489
775
460
575
797
322
432
325
312
589
372
745
451
469
777
747
752
710
646
793
326
655
554
659
357
338
780
540
752
753
729
509
503
675
631
416
485
712
497
532
530
437
608
562
598
410
612
703
506
679
675
613
681
390
519
505
555
725
533
711
659
695
589
301
377
781
320
461
556
306
676
680
517
449
717
449
732
400
581
490
300
439
356
364
355
575
423
754
582
767
314
567
576
403
445
674
625
476
337
330
524
493
676
454
553
561
526
517
699
531
430
532
456
558
739
772
785
617
425
663
382
492
774
787
439
655
359
482
766
794
366
491
609
656
556
323
724
730
650
687
303
615
652
420
736
789
785
626
461
607
588
670
782
618
712
706
394
758
483
586
793
596
664
568
617
653
633
680
648
671
567
344
356
323
362
682
408
567
791
766
570
624
660
431
509
453
412
310
540
322
559
764
431
344
695
324
406
382
454
676
573
625
473
535
364
768
493
451
760
438
788
686
591
400
537
625
410
649
503
796
595
541
388
773
399
779
595
383
374
433
508
427
494
458
465
317
473
367
509
623
383
702
331
554
675
682
484
449
481
323
733
652
664
319
557
506
500
727
323
623
762
301
740
440
632
493
444
468
307
667
729
655
358
471
315
630
444
431
766
377
580
508
564
584
446
425
628
598
686
325
400
573
740
770
320
625
414
694
638
799
344
720
394
366
472
744
644
548
605
511
776
602
717
741
646
691
521
759
381
316
476
320
568
466
316
773
450
784
594
606
340
582
408
382
362
607
612
359
422
787
456
440
355
734
766
473
340
498
342
595
724
431
580
328
789
563
742
464
431
471
340
626
755
617
675
686
770
452
662
692
555
499
479
385
600
692
494
382
681
490
565
476
415
626
371
421
452
604
548
522
779
793
755
513
569
366
362
400
342
759
574
790
314
525
322
715
344
348
548
735
341
502
319
347
468
614
335
656
366
557
780
642
325
577
327
761
642
504
619
627
683
491
485
705
317
743
595
304
403
621
729
662
794
340
321
544
613
313
606
681
474
739
616
778
646
516
569
681
634
533
376
367
436
410
455
780
752
650
594
664
706
573
454
750
482
782
426
799
686
730
727
549
400
477
483
554
701
403
384
633
525
574
406
611
419
782
514
643
500
728
307
508
478
438
576
504
706
554
780
617
318
634
500
596
396
398
743
707
312
336
529
445
601
441
567
385
676
452
366
625
744
328
600
725
319
423
574
410
723
696
640
381
571
705
320
770
424
749
403
415
362
776
386
455
535
406
529
356
457
708
362
421
478
348
459
498
524
422
604
638
598
624
330
595
364
473
573
545
615
611
421
425
563
599
566
553
698
782
668
612
621
711
639
650
792
612
392
563
592
530
495
777
514
345
340
629
336
468
544
530
370
627
736
321
704
698
525
785
320
641
723
505
751
498
537
415
728
621
394
666
736
456
503
511
575
399
537
322
767
421
387
404
342
637
680
564
463
364
566
487
649
379
568
439
653
326
687
516
476
479
562
596
303
467
329
346
575
409
592
582
414
413
582
536
544
331
614
462
717
481
574
757
433
423
538
689
590
771
347
665
401
405
777
724
472
515
628
466
483
374
697
627
688
617
735
718
349
530
671
392
399
695
404
379
652
765
629
707
379
471
450
593
587
474
305
577
334
618
515
684
456
577
519
451
474
674
579
305
629
518
487
679
596
696
738
410
578
653
455
667
751
621
368
677
780
672
698
688
513
678
600
510
752
736
728
666
516
713
358
448
769
736
557
519
470
733
580
450
350
591
359
516
556
591
646
670
564
658
602
738
669
584
718
316
447
516
459
362
510
732
642
799
798
785
790
540
636
678
781
795
612
531
303
530
476
309
717
506
712
369
634
689
309
458
473
626
573
768
378
312
456
364
751
496
457
525
723
395
400
387
378
307
410
334
363
579
352
506
570
681
750
339
421
749
708
452
489
473
522
662
689
440
486
302
420
397
587
759
672
764
690
344
500
402
664
440
778
713
501
744
652
428
431
575
444
316
376
709
447
669
391
531
470
393
715
789
764
590
444
733
531
381
314
312
606
766
639
575
614
638
411
536
472
533
724
664
778
743
427
334
317
621
352
336
720
395
542
571
508
653
623
739
540
452
710
324
495
415
767
378
725
316
415
515
715
392
650
462
676
573
449
327
672
554
438
394
731
693
742
647
778
689
395
300
414
626
509
413
423
509
679
341
312
695
489
452
752
478
678
723
796
389
308
737
660
310
383
413
405
750
511
718
629
367
390
409
448
603
575
409
495
757
352
432
784
760
556
529
713
556
710
338
714
344
702
532
576
520
356
349
428
323
528
466
676
730
702
399
763
514
612
492
422
300
747
503
505
549
636
507
693
303
357
509
394
555
612
485
587
357
747
534
353
791
500
757
412
495
574
591
493
478
504
309
767
712
767
375
544
699
498
649
745
401
581
504
691
456
302
700
547
691
612
638
312
598
464
409
657
663
311
592
379
661
732
618
587
488
468
491
325
428
698
746
784
581
338
653
499
496
447
720
484
302
679
659
402
673
545
689
454
333
701
341
562
510
760
469
561
362
616
494
556
583
577
443
781
362
635
387
761
792
525
503
655
482
730
718
388
768
521
317
321
335
439
331
753
742
490
392
758
628
721
580
511
631
397
404
588
731
317
509
322
388
657
456
544
719
311
425
413
505
304
479
721
311
596
583
385
520
442
445
644
314
673
308
634
439
735
492
329
310
755
788
410
717
656
380
672
771
342
761
721
550
495
349
616
388
788
762
631
619
540
454
459
344
352
460
481
769
452
600
676
406
775
767
713
409
781
689
341
549
751
308
383
308
596
336
504
535
422
573
388
516
311
620
624
529
349
545
724
538
704
720
656
596
491
401
575
570
725
555
444
418
301
727
334
454
800
400
796
756
375
316
408
775
471
601
742
323
663
651
756
311
523
622
633
666
394
401
563
383
793
577
468
530
701
601
351
501
703
797
411
465
759
669
626
783
445
685
363
422
733
692
591
576
695
337
552
368
553
417
350
459
306
371
543
595
602
510
647
698
579
380
472
461
376
661
357
579
731
693
627
575
473
716
402
449
455
730
607
490
345
419
527
490
697
691
717
423
679
721
625
715
301
635
465
342
744
398
762
788
465
723
409
546
407
642
555
709
708
326
431
757
580
432
464
641
363
444
491
657
605
374
498
418
633
490
487
736
317
420
365
600
609
384
587
765
505
539
568
748
359
559
695
582
588
436
565
780
659
798
347
540
541
787
583
416
638
590
485
482
786
364
618
666
552
596
550
600
645
604
304
601
375
719
488
335
758
413
372
672
679
362
300
347
347
473
453
460
425
376
563
668
317
477
778
744
574
406
608
621
554
407
576
390
738
575
616
508
509
539
778
765
446
749
403
615
531
559
769
592
320
628
533
576
356
701
793
763
533
624
623
456
589
604
508
589
362
721
412
386
724
495
609
432
334
468
569
549
394
418
703
693
352
547
796
719
648
599
794
426
615
676
794
646
507
414
558
719
666
326
472
619
368
485
315
315
453
656
580
705
453
667
562
489
640
555
690
599
304
341
576
456
303
350
418
315
318
300
763
610
602
379
665
527
303
565
750
643
743
694
652
611
525
419
497
445
377
636
447
499
586
585
676
356
447
701
305
638
647
680
682
340
317
539
553
323
558
708
605
361
515
615
440
671
358
637
403
430
714
401
361
515
756
592
696
597
522
365
398
352
414
343
313
481
572
305
331
339
534
679
394
757
756
443
626
739
438
733
417
703
705
699
556
386
359
786
747
327
496
558
589
784
776
625
676
798
753
486
453
628
422
629
629
659
559
783
655
478
306
514
345
441
451
665
698
792
593
539
356
466
646
687
459
732
384
314
634
721
649
740
509
354
537
530
750
618
353
581
330
422
329
665
444
627
769
359
349
452
625
385
746
362
462
686
449
555
654
556
406
551
325
706
521
785
390
539
776
649
530
466
573
534
466
521
639
428
316
320
760
718
462
741
356
567
769
444
760
658
617
476
531
678
763
401
536
333
660
483
485
468
589
679
478
466
740
402
338
680
524
715
494
690
789
518
454
407
437
470
636
664
755
570
539
521
603
511
597
710
667
780
495
313
428
590
356
611
726
778
419
423
672
665
563
316
363
762
511
714
533
648
634
489
436
312
588
744
627
655
772
356
474
682
440
728
664
613
792
799
468
656
342
743
572
627
617
567
613
436
654
320
342
438
542
352
574
520
507
695
382
316
575
752
758
762
517
426
616
403
673
324
420
622
420
407
648
490
632
536
551
485
390
467
576
501
537
425
412
673
390
610
515
498
683
741
301
691
622
634
522
460
759
356
568
590
697
600
581
739
677
390
644
763
403
721
678
454
451
460
502
537
519
795
757
777
785
495
514
765
640
532
713
791
457
419
585
684
770
418
380
531
407
764
744
523
369
329
328
544
325
498
302
689
356
339
618
608
501
748
314
479
771
393
507
455
649
782
649
597
696
718
524
629
640
467
715
775
359
578
569
514
562
595
765
621
653
516
487
495
664
392
790
330
318
313
542
407
466
635
798
322
595
488
760
502
682
415
648
669
736
301
591
326
588
625
499
516
587
762
442
447
434
625
462
450
479
437
362
516
617
443
466
620
338
570
484
495
701
607
746
532
416
436
405
361
632
582
680
553
523
315
451
784
519
695
366
438
584
475
651
336
669
597
797
595
443
646
525
451
371
322
799
662
612
720
692
695
537
482
560
410
313
677
548
699
711
448
434
540
389
480
759
581
621
483
615
776
775
315
512
390
327
649
604
788
424
413
507
635
642
743
455
583
473
764
645
485
577
465
476
771
761
694
614
341
694
572
455
552
748
724
396
646
347
684
448
519
701
681
445
578
727
427
569
585
379
349
324
724
657
526
714
380
446
611
658
503
647
725
497
329
800
750
555
300
630
593
795
483
702
504
633
603
536
725
326
491
356
724
749
629
362
633
373
526
736
393
443
419
576
489
537
346
376
486
547
561
558
586
785
683
324
741
692
400
324
756
774
392
798
359
583
381
606
374
662
514
455
488
486
762
489
608
632
430
445
330
701
748
775
510
700
549
609
474
533
443
778
410
488
648
634
328
508
614
632
370
457
788
333
593
781
657
585
795
528
396
747
552
361
647
753
337
711
474
549
486
376
500
434
494
317
325
632
723
741
623
361
751
694
689
471
328
344
731
354
446
759
440
359
775
715
502
710
535
625
514
449
553
326
356
467
633
355
679
766
530
423
486
383
786
714
732
692
524
400
430
345
380
776
619
469
652
776
666
727
344
414
358
340
350
458
656
755
775
517
573
664
340
508
420
741
743
764
684
471
693
327
528
773
759
756
586
741
466
673
316
473
656
440
434
419
428
429
714
769
433
353
428
418
694
754
770
392
420
495
362
510
618
540
631
789
798
441
713
345
433
411
623
406
330
531
792
566
548
622
652
534
769
698
388
655
526
708
502
655
423
629
748
378
379
360
639
331
645
637
642
368
411
619
738
794
336
473
376
629
576
554
551
394
419
315
488
764
778
335
592
606
318
320
591
569
506
799
711
659
800
768
525
396
330
799
708
488
349
348
588
536
777
557
402
590
675
624
782
380
318
349
389
755
583
727
300
355
319
625
652
446
473
587
436
419
524
313
734
759
427
540
719
435
380
758
335
666
645
414
519
535
310
459
393
579
651
517
352
569
617
565
578
321
704
414
457
473
514
630
590
386
620
336
405
626
535
794
652
403
770
436
493
769
374
558
761
422
503
324
473
690
587
794
766
470
418
320
696
336
718
785
632
304
662
718
514
573
580
338
592
375
334
406
684
457
691
318
452
711
639
663
563
563
306
799
498
661
542
329
713
426
617
352
503
752
393
721
491
429
686
367
730
750
548
703
584
327
671
775
628
529
799
752
703
739
447
309
375
613
502
776
661
798
561
432
374
500
697
739
418
628
529
494
792
465
407
701
584
688
540
753
689
304
585
595
602
653
334
333
601
513
304
724
563
573
563
562
411
796
689
399
777
766
393
773
371
668
624
519
773
626
511
568
303
790
589
685
394
428
469
755
483
397
748
558
547
720
728
718
556
415
722
400
672
790
758
330
592
513
557
726
543
614
364
571
579
705
662
736
391
787
626
545
680
668
716
579
472
753
670
458
717
426
552
385
765
720
337
483
360
729
748
642
637
626
609
460
725
662
700
761
652
566
443
771
386
715
614
787
794
567
550
647
575
542
392
565
407
439
602
416
374
549
666
378
711
413
553
682
600
479
798
466
529
351
342
765
548
452
349
714
516
670
358
609
543
452
365
598
491
502
496
319
449
632
353
477
362
776
469
349
527
310
457
724
793
462
645
777
472
668
755
660
407
765
337
314
313
509
306
473
499
791
652
653
592
399
750
774
440
729
658
527
478
402
621
583
457
324
305
569
746
343
530
449
588
309
376
792
336
601
761
432
783
634
510
572
391
327
418
362
537
457
344
733
753
647
780
665
454
643
357
512
539
482
607
404
326
615
547
531
625
652
306
597
508
593
747
724
679
387
736
545
776
375
502
598
549
533
693
796
742
762
429
342
744
681
326
542
474
429
624
387
505
336
572
668
356
415
315
488
488
743
418
636
781
736
742
482
797
407
341
306
517
566
759
417
453
473
510
502
380
579
488
482
411
357
590
574
645
652
556
312
784
308
565
479
458
356
612
737
361
588
341
555
370
558
511
414
786
403
334
457
429
335
770
329
650
753
589
681
696
735
655
778
745
310
541
325
676
392
753
449
487
575
783
358
546
470
592
515
345
357
392
487
553
588
609
735
727
482
626
458
348
663
699
439
557
488
580
702
780
710
682
791
654
363
781
676
634
565
793
764
720
387
522
451
363
493
680
639
347
781
651
713
767
691
579
475
794
779
511
602
510
317
438
631
413
325
741
675
357
481
646
675
397
321
310
555
545
685
576
520
746
585
402
766
617
348
444
315
751
645
725
437
478
408
627
771
366
740
793
548
574
738
626
526
703
563
659
697
315
700
686
481
725
687
522
457
531
489
565
332
663
382
710
560
584
437
787
385
627
578
709
486
347
558
569
382
424
461
489
482
672
471
698
363
732
734
468
595
462
411
459
784
372
574
350
796
706
573
689
629
458
501
488
631
730
351
675
564
686
613
534
510
483
543
364
589
391
672
373
712
793
715
681
529
597
533
589
306
343
695
710
709
605
574
682
438
647
498
482
604
518
739
482
615
306
608
616
503
616
342
536
304
373
307
385
558
681
382
779
430
799
747
606
571
554
699
618
532
456
300
683
370
453
729
749
600
603
473
435
703
381
739
520
338
560
597
544
713
432
614
683
385
794
382
390
602
792
531
382
698
365
746
396
459
514
777
591
418
394
400
351
624
610
622
419
512
388
327
451
795
701
797
448
449
373
485
594
683
403
586
441
387
548
426
302
746
761
681
321
646
596
372
683
596
700
650
513
784
787
641
366
578
541
782
661
731
507
728
648
473
732
366
533
353
600
774
462
695
499
462
404
332
769
431
645
673
664
779
516
641
434
490
440
452
600
770
400
683
472
495
640
613
629
630
427
551
691
693
508
329
753
694
609
698
555
750
714
408
667
453
531
413
622
550
303
515
600
397
427
455
426
602
664
353
471
476
468
408
301
774
521
732
669
605
342
689
544
747
602
699
434
582
589
547
525
486
424
483
322
672
534
734
784
376
603
353
565
554
491
368
446
392
783
414
449
651
760
622
793
700
749
785
309
540
594
678
493
704
369
342
397
458
577
688
492
515
719
440
793
576
774
311
423
650
710
767
456
650
557
711
559
633
410
558
631
711
651
687
478
458
347
571
595
772
692
616
661
357
651
771
397
472
330
481
339
440
654
335
320
587
788
628
429
707
766
333
338
547
308
794
499
715
652
572
464
386
382
487
562
396
781
695
772
350
776
306
651
601
654
696
503
743
627
785
396
672
379
377
358
435
624
620
734
582
639
700
690
534
580
675
473
676
469
520
364
324
773
465
470
717
774
669
367
517
651
330
335
750
422
406
688
307
463
549
379
537
349
498
539
357
584
309
672
740
649
501
622
672
301
602
420
479
435
595
425
552
560
355
698
388
762
620
572
332
577
563
694
449
419
770
795
754
452
605
745
691
323
459
770
367
741
535
460
469
558
745
343
560
427
395
583
695
302
423
341
348
671
617
510
392
629
356
797
697
524
536
577
778
645
382
384
645
542
354
789
486
425
754
656
448
620
565
549
699
679
696
326
605
773
496
428
528
756
776
415
713
661
500
626
374
405
417
312
748
731
533
710
799
403
718
712
646
532
760
516
313
485
508
741
497
314
464
760
752
536
536
683
335
335
575
639
723
623
304
387
423
453
430
327
431
614
546
333
474
460
757
687
406
324
628
580
661
784
614
630
683
467
570
348
441
477
492
416
573
762
755
722
364
394
522
705
419
701
718
720
496
782
373
326
787
406
463
518
492
568
556
608
396
455
355
301
344
403
752
745
325
556
502
564
386
474
549
347
544
310
329
527
626
567
515
510
793
735
561
572
310
405
791
694
755
771
650
729
503
742
421
655
596
508
756
721
559
409
653
653
536
426
780
498
723
462
539
750
577
302
531
759
445
479
643
379
509
660
406
599
752
454
303
316
749
670
648
300
588
562
412
687
335
382
704
738
463
768
525
383
736
658
541
764
724
652
661
307
703
459
547
634
619
341
344
525
623
396
795
777
365
657
366
670
725
525
368
766
686
527
310
524
604
707
723
356
359
355
582
488
616
656
450
622
697
408
380
599
741
386
589
355
300
533
697
798
317
536
521
754
768
314
493
552
674
672
643
334
751
309
728
633
300
420
504
728
340
467
606
321
665
656
370
438
567
495
646
529
669
634
700
786
453
553
679
436
695
498
717
415
701
717
492
780
572
349
395
600
652
314
416
556
384
342
603
355
355
729
338
428
728
463
518
782
763
504
397
322
600
678
643
733
761
517
524
550
670
695
720
760
553
704
455
703
332
414
649
476
570
553
344
495
431
596
630
702
545
794
599
692
649
536
316
462
780
576
461
431
598
763
310
552
666
591
523
528
659
718
783
326
782
475
640
566
358
739
467
676
404
374
509
322
392
419
500
323
314
480
388
705
608
349
403
335
508
689
474
572
430
690
602
577
346
361
313
671
563
786
600
640
757
517
319
304
336
344
470
485
730
506
586
641
403
316
768
760
482
329
451
494
303
625
407
556
551
626
677
489
435
583
418
437
492
724
771
585
451
568
675
558
663
679
750
611
464
446
659
526
460
319
601
439
363
661
702
616
670
552
605
725
505
774
403
387
543
441
521
351
611
350
356
773
477
776
778
417
350
449
504
753
653
422
395
620
492
540
694
775
322
395
538
363
541
393
485
321
305
681
460
678
391
384
472
724
770
417
745
339
367
514
663
785
324
530
424
408
590
563
416
728
694
599
720
608
561
510
502
632
704
701
516
759
543
702
770
567
368
576
444
641
459
753
636
391
526
737
559
390
348
348
579
625
323
529
596
397
643
623
707
728
356
330
428
404
304
687
725
515
432
448
400
754
478
648
399
658
437
615
312
695
649
561
543
460
797
375
434
649
424
367
671
529
653
379
518
391
696
634
584
540
513
514
676
471
680
713
414
495
493
605
588
777
730
388
800
725
716
761
622
314
383
709
708
394
663
662
399
305
336
370
790
398
699
642
382
796
323
613
489
595
344
397
361
722
497
515
307
706
306
546
431
665
788
713
448
548
722
376
467
741
512
662
771
315
514
703
530
545
777
493
351
780
345
392
768
498
608
359
321
505
346
607
448
385
717
546
691
447
592
338
568
751
559
747
593
798
358
710
546
363
698
553
799
778
420
432
623
758
676
768
341
731
463
505
747
659
484
554
644
669
301
569
683
651
693
575
487
316
471
413
625
503
745
532
589
378
657
604
320
310
758
767
309
399
500
449
444
538
607
309
465
467
793
503
543
560
680
714
488
613
464
758
545
736
606
738
375
798
553
785
444
652
496
737
661
754
498
608
528
324
471
506
415
615
781
530
796
588
447
483
709
418
567
755
517
317
540
449
639
650
743
314
489
402
490
678
396
317
759
706
550
25
491
444
376
225
194
416
368
308
352
279
120
338
335
489
263
220
20
77
461
184
245
16
464
134
283
449
156
322
84
420
449
207
470
148
432
352
112
283
322
374
303
112
220
23
345
96
372
214
378
418
473
499
103
378
126
374
4
237
238
48
151
24
392
247
15
210
234
372
128
449
234
134
287
369
484
372
254
283
61
267
279
220
234
132
29
404
366
51
465
28
225
430
19
354
405
311
25
205
442
207
33
348
330
28
50
470
480
287
478
104
458
224
363
132
119
423
347
111
155
227
451
378
314
218
203
88
223
141
189
427
273
314
480
386
285
224
136
244
335
498
288
385
488
297
114
326
341
227
201
273
189
469
441
462
233
241
445
384
460
53
421
329
279
117
354
418
211
375
19
7
326
2
413
420
181
328
353
317
295
150
227
120
396
122
151
136
301
327
39
469
103
426
127
211
443
352
216
116
348
81
441
367
293
275
445
379
62
323
107
494
194
114
268
203
48
428
134
210
82
72
149
91
316
460
342
104
250
147
437
93
496
104
245
407
371
205
308
57
468
82
429
212
286
101
477
406
485
255
53
6
26
144
277
306
103
324
123
85
103
454
184
367
155
319
328
228
52
400
329
126
177
416
477
473
430
185
346
393
295
194
260
473
138
263
149
246
348
217
281
166
182
160
392
484
125
435
73
106
25
140
374
259
446
65
161
347
190
187
142
80
254
249
307
306
152
497
31
135
14
215
88
466
5
131
422
211
58
22
416
100
25
425
429
278
240
46
192
282
319
327
19
195
314
477
147
98
464
214
361
194
147
219
140
22
453
294
74
56
246
456
433
191
469
426
87
225
305
458
143
87
496
193
207
475
19
161
83
57
25
145
439
382
254
437
302
113
185
416
87
459
305
155
204
307
357
445
463
431
231
58
213
102
391
401
19
447
357
461
355
122
104
184
259
383
195
435
273
284
39
42
114
96
207
314
370
491
456
64
231
432
304
105
166
275
453
383
211
126
392
282
363
318
201
361
27
281
138
400
477
383
175
209
472
324
413
442
350
352
147
53
145
392
282
363
366
73
276
14
354
82
425
56
432
113
182
117
340
272
76
285
222
54
182
59
363
417
237
81
349
297
101
222
58
327
108
229
74
41
316
112
93
151
98
469
233
239
466
125
82
68
407
32
329
264
331
113
215
453
24
307
133
15
30
292
146
137
317
326
361
6
100
27
16
55
424
92
62
387
175
415
493
42
84
472
85
178
327
267
30
207
54
419
248
130
364
435
380
383
175
6
119
61
9
205
303
200
403
234
500
477
49
288
316
60
379
462
374
395
202
37
150
63
312
169
354
158
284
47
329
164
85
134
96
66
446
300
26
104
320
437
330
211
425
172
336
64
304
393
225
72
295
74
12
109
80
114
293
82
256
200
146
412
418
218
81
312
380
93
112
217
465
228
416
227
259
94
477
73
451
430
269
429
86
184
76
94
251
117
179
287
24
414
360
323
436
121
149
9
126
21
223
110
171
392
211
13
38
36
123
399
449
236
254
489
352
426
361
252
370
274
131
108
464
404
2
497
270
439
264
238
93
166
345
163
83
476
309
106
274
465
2
234
280
259
484
486
489
479
393
369
163
82
218
38
190
60
499
34
240
288
55
426
28
36
190
336
459
365
400
354
384
420
345
91
461
28
480
69
160
484
374
40
296
136
86
401
465
96
254
375
254
313
181
183
320
433
368
58
369
126
388
213
56
487
169
469
397
186
65
77
93
494
293
77
291
225
225
125
479
34
124
59
19
218
470
162
356
192
57
15
299
35
279
106
153
236
14
375
478
98
211
340
166
103
442
468
214
340
302
5
128
444
45
153
341
90
314
86
85
57
350
417
327
357
399
134
256
284
156
335
126
451
387
34
40
492
420
13
335
45
226
433
185
391
228
31
99
325
278
344
191
447
207
7
35
23
83
9
236
171
446
116
107
205
380
185
430
293
316
37
264
357
136
103
418
327
399
460
293
491
149
296
449
188
372
177
253
14
352
378
266
334
106
190
467
61
442
75
77
478
146
70
3
36
80
449
18
328
4
265
123
329
279
365
219
242
404
59
188
117
172
414
417
10
458
134
268
271
465
169
492
463
490
242
362
388
214
276
457
158
468
284
337
43
349
180
323
410
413
158
435
224
257
269
398
98
154
258
244
357
162
290
69
176
388
416
108
172
427
83
468
41
158
347
467
396
326
89
474
477
273
200
368
468
379
370
416
233
140
408
185
385
444
87
168
212
23
16
176
373
302
55
155
225
304
465
37
376
406
59
126
169
84
51
174
172
28
234
496
375
382
207
257
395
83
184
414
141
169
159
108
389
43
68
5
422
180
174
288
276
277
359
71
15
356
266
200
441
118
448
458
307
417
491
366
70
296
60
150
245
211
431
147
63
350
449
55
167
431
338
446
303
144
457
132
179
295
25
64
338
80
137
257
455
309
192
458
38
198
304
233
122
112
498
421
344
496
111
156
354
273
281
108
125
110
32
234
80
15
468
61
188
395
245
341
465
146
386
68
496
425
259
127
250
331
130
286
99
464
82
81
497
386
107
54
171
7
5
444
384
305
331
139
242
369
96
311
295
228
18
484
167
237
287
315
346
275
361
342
29
178
465
285
177
113
385
488
212
307
103
359
290
308
451
230
376
144
181
391
319
458
379
485
235
435
178
445
318
481
302
316
313
443
41
361
454
75
74
307
353
275
112
314
341
215
326
178
6
467
169
168
150
317
152
41
353
406
220
418
354
369
437
178
39
194
406
352
308
292
205
493
225
90
326
10
223
125
34
399
478
119
435
442
220
481
439
63
48
430
179
22
114
415
435
59
128
275
343
499
55
440
124
135
73
325
393
298
90
307
310
469
281
367
20
323
273
301
415
83
281
283
68
400
314
10
486
203
127
363
181
106
491
398
423
182
44
130
306
11
279
37
186
352
81
91
368
264
33
451
493
45
307
170
146
125
413
387
260
134
97
392
400
223
216
376
84
352
182
483
221
305
438
490
278
148
33
195
322
375
20
241
411
109
99
86
451
248
177
26
84
52
441
432
259
277
74
156
324
255
20
103
394
359
223
252
351
297
206
228
371
184
337
108
331
15
164
288
304
310
448
479
390
282
11
339
419
186
476
387
436
249
349
355
332
17
434
281
475
339
443
29
91
114
74
420
95
15
274
394
153
474
468
178
482
58
400
111
99
190
196
252
143
16
241
434
64
452
419
146
448
426
33
418
134
222
469
244
461
125
94
266
189
473
327
214
288
481
319
314
84
27
152
221
145
370
361
148
437
268
382
271
377
58
262
488
323
308
84
202
440
129
363
439
465
326
318
140
361
27
317
47
190
190
94
120
174
341
265
169
165
72
199
391
414
163
393
61
498
450
197
368
52
255
389
298
404
166
90
500
471
152
321
111
41
461
384
254
350
435
47
230
65
137
45
176
67
438
348
279
449
111
301
355
362
419
41
306
279
4
81
142
160
140
483
240
328
220
351
143
142
170
222
198
240
434
70
108
284
253
231
478
110
41
436
370
196
121
287
475
306
325
416
185
267
100
92
424
100
466
315
302
272
493
51
337
404
56
136
183
46
305
82
64
297
444
98
471
172
169
402
337
313
401
278
235
472
110
283
198
236
224
436
444
438
207
116
355
98
306
113
223
264
239
270
375
300
413
455
220
289
55
374
412
343
59
449
62
79
239
173
23
382
429
206
421
323
462
225
489
353
29
287
31
485
269
143
26
373
464
135
22
331
308
307
273
500
491
64
402
289
252
197
174
79
458
185
89
367
273
460
410
198
368
159
394
19
116
335
174
408
348
414
65
6
494
338
343
358
402
386
301
176
311
408
235
274
474
400
8
186
260
432
282
453
4
121
117
454
493
448
266
47
409
143
104
314
54
311
75
215
48
473
101
218
174
32
494
385
306
493
229
153
30
302
346
66
412
69
96
392
102
158
58
292
13
244
285
268
229
424
192
460
80
419
340
390
135
252
292
377
85
59
458
162
73
116
333
408
325
347
166
50
49
140
138
163
69
327
466
246
73
240
290
40
59
318
248
56
116
217
420
253
176
145
93
119
332
370
375
387
138
326
368
457
496
22
123
465
251
162
476
242
219
280
193
500
84
500
81
60
203
402
382
46
51
448
407
163
311
22
188
485
336
4
315
12
201
261
119
294
487
119
130
147
56
290
497
348
4
174
81
438
18
96
3
48
85
68
103
114
454
91
249
400
363
252
324
59
478
136
49
346
232
371
30
225
374
498
111
359
166
164
254
319
351
221
281
366
114
2
158
288
497
50
97
421
46
85
482
410
305
468
138
76
103
402
250
184
87
31
150
454
415
282
329
329
128
100
471
374
79
192
285
13
60
357
484
71
193
69
180
345
57
212
276
13
319
104
239
173
389
341
71
213
334
212
346
322
84
490
230
53
392
282
342
145
395
96
447
495
313
198
9
340
213
276
446
253
397
297
349
190
458
372
305
371
124
265
453
441
358
370
412
54
56
226
465
81
134
18
165
457
470
33
178
236
279
309
500
479
229
1
107
109
444
202
244
233
76
411
193
134
420
157
127
271
200
275
32
344
489
175
210
204
431
178
35
95
90
3
330
112
93
152
351
257
5
456
468
139
239
117
167
10
309
250
278
172
191
293
5
38
304
260
378
209
61
85
299
79
357
388
25
71
300
29
223
130
220
116
117
236
329
262
367
247
340
169
142
451
201
63
417
247
467
52
2
215
191
206
164
471
194
334
72
169
480
58
56
408
396
389
120
457
124
331
477
39
243
83
301
230
192
139
472
447
303
243
49
460
274
153
212
331
260
181
288
82
105
21
450
135
27
228
156
354
23
209
460
48
105
403
434
81
357
351
245
495
490
278
259
366
253
114
280
228
23
40
16
134
344
371
288
76
460
456
182
82
404
14
374
344
402
385
413
414
463
272
398
461
465
252
456
449
33
276
303
260
455
67
327
272
453
85
67
417
243
241
484
6
84
283
445
350
282
354
439
407
339
23
333
119
440
294
65
291
461
417
367
461
268
122
256
153
63
293
343
208
423
88
4
486
210
448
434
122
41
466
247
376
216
26
131
32
312
391
429
234
410
31
162
486
326
123
284
452
283
464
48
252
114
413
481
249
94
105
168
89
391
4
157
187
64
78
316
148
223
52
5
246
407
39
113
35
189
3
445
362
416
118
370
309
327
194
72
336
305
378
453
77
328
68
229
34
219
102
155
387
334
23
447
248
33
34
172
156
149
320
306
203
178
423
168
423
18
213
440
126
379
34
355
436
200
34
20
129
282
368
37
249
190
87
73
64
368
42
259
389
286
201
44
254
147
346
287
19
495
158
465
17
383
439
311
109
151
371
297
461
232
59
231
103
437
498
362
434
91
96
133
478
276
47
461
280
292
225
403
491
294
464
131
138
382
255
17
156
45
319
152
362
30
119
34
399
1
116
95
1
134
56
263
444
51
81
447
253
252
147
436
385
215
139
31
248
287
80
284
265
190
165
426
224
24
343
241
15
104
149
271
66
6
442
273
258
287
40
173
177
88
47
274
380
326
60
344
417
35
252
482
208
358
257
118
98
101
429
246
18
248
338
162
460
239
430
183
175
20
470
380
407
123
306
80
176
183
46
230
226
41
464
289
106
253
203
372
445
446
395
491
320
275
498
56
224
28
243
488
397
54
22
459
331
387
189
359
229
202
430
365
18
258
13
186
225
460
344
300
40
426
210
122
349
323
246
78
278
145
7
70
104
146
82
382
287
104
262
83
308
267
475
74
307
362
457
312
479
469
172
267
461
309
454
43
50
375
301
199
338
228
364
347
282
366
314
241
277
431
254
468
159
174
401
252
182
96
293
265
179
57
486
272
206
1
239
4
69
366
12
123
215
58
392
468
136
319
46
229
153
459
113
477
296
219
485
499
138
192
164
187
413
352
422
91
215
343
485
343
256
158
346
30
122
62
221
188
287
462
147
4
377
369
187
383
242
31
370
192
189
3
328
79
53
363
181
313
61
410
44
209
454
274
27
469
62
493
236
285
86
329
365
153
439
309
404
18
157
468
477
94
408
449
192
141
68
324
238
241
88
151
272
414
255
85
384
71
264
398
349
305
337
333
246
489
35
478
331
210
145
195
289
337
202
197
479
481
20
325
477
287
227
481
97
350
403
209
4
120
312
2
404
317
188
355
320
234
179
420
442
283
274
356
50
273
208
231
359
450
191
44
123
27
468
326
258
472
395
85
68
425
21
492
385
477
55
493
171
371
373
77
440
276
20
220
121
47
394
376
434
457
344
362
111
450
440
410
321
30
137
85
43
209
145
366
472
500
91
341
402
388
173
266
404
138
144
297
185
242
51
244
426
166
7
456
130
423
402
46
116
98
215
341
241
216
41
304
217
364
478
41
221
374
109
337
203
377
381
5
155
398
112
342
453
485
380
277
451
298
168
317
404
380
44
305
259
54
216
103
364
203
106
279
41
288
446
342
350
333
251
206
242
104
409
423
192
185
199
300
63
179
347
368
170
410
244
141
404
124
228
95
436
126
290
405
309
386
155
356
347
41
366
169
22
399
294
98
155
384
453
455
312
439
306
139
392
102
199
125
177
137
117
139
231
448
262
145
358
432
174
308
427
326
134
423
464
331
314
292
194
264
216
240
1
397
86
241
231
325
37
193
33
53
93
359
259
83
210
141
131
43
324
193
74
448
35
394
447
228
341
440
53
254
382
161
411
434
379
246
411
415
95
257
237
129
250
284
413
145
435
119
429
338
377
168
176
351
258
8
100
311
461
267
275
1
430
385
217
228
268
467
51
112
243
241
15
120
444
306
265
67
55
350
270
113
208
381
188
131
462
80
386
19
12
181
142
7
388
67
376
433
38
480
201
480
223
109
102
394
49
376
200
429
336
438
353
377
22
290
112
383
438
5
285
196
486
76
369
386
265
497
318
64
389
104
132
358
318
205
203
163
359
467
384
406
153
94
195
257
302
174
423
252
252
193
246
475
433
171
75
219
91
162
410
86
404
332
111
59
240
29
492
104
34
286
53
216
98
288
494
105
485
467
188
118
388
62
80
107
359
92
333
102
292
194
157
158
356
99
52
463
117
381
61
412
100
497
305
341
115
143
426
345
359
385
121
41
468
162
260
236
404
443
224
98
182
217
186
20
93
210
393
229
78
350
281
247
67
438
199
314
104
395
282
166
184
201
72
120
77
56
437
470
309
129
62
248
423
330
130
300
206
308
400
23
141
350
152
205
267
59
407
350
42
416
374
491
243
127
2
245
116
308
380
358
390
262
416
308
362
407
128
163
212
446
339
71
116
214
91
327
365
440
432
411
47
330
67
148
61
58
171
474
348
498
412
199
15
161
50
270
183
467
372
211
231
459
483
202
190
146
113
40
133
50
24
227
321
401
224
134
253
447
319
388
393
389
213
261
51
495
344
2
483
310
35
199
86
328
196
32
83
151
458
197
295
220
269
67
175
477
45
163
340
457
386
254
95
279
252
92
351
475
121
259
428
284
384
136
222
49
230
348
43
403
55
24
226
259
456
191
193
278
447
357
306
304
184
254
2
383
152
329
3
25
11
135
308
457
136
64
19
193
16
463
254
224
424
431
151
94
137
7
431
168
201
28
99
50
273
154
315
109
433
155
138
267
269
60
442
277
290
166
332
480
168
21
89
48
327
338
82
330
216
286
486
455
64
246
138
144
421
411
184
93
188
443
285
62
466
62
130
44
90
134
286
279
417
106
67
372
162
191
382
171
257
397
472
27
403
17
375
305
303
333
207
431
425
267
387
89
16
227
36
295
249
309
84
230
466
306
419
361
185
68
4
328
356
208
355
368
279
321
400
82
49
223
43
251
106
493
481
373
185
385
352
368
70
490
132
92
341
392
399
94
291
12
143
94
397
79
242
318
263
168
35
2
409
422
44
425
101
324
463
97
26
182
211
500
338
285
60
365
180
402
450
146
172
347
252
28
448
397
289
45
119
180
448
7
72
402
454
213
382
241
125
215
219
219
191
59
272
426
232
134
144
14
217
67
433
46
139
326
132
148
52
226
464
320
53
177
475
239
209
215
132
439
98
139
88
231
486
289
284
326
489
183
265
204
378
223
377
456
164
269
179
22
171
83
341
356
60
441
436
141
126
179
199
414
139
150
201
13
83
439
247
304
71
95
239
494
415
140
405
381
466
257
223
64
335
377
390
425
34
110
296
19
279
342
68
346
487
67
306
196
386
191
24
92
154
459
446
94
30
129
488
337
218
313
9
153
223
476
152
430
190
173
79
247
274
214
118
479
363
191
279
197
243
186
368
123
377
110
94
285
193
393
346
253
219
326
310
23
454
393
187
27
249
94
156
215
294
440
54
394
131
206
352
220
151
141
114
91
61
149
71
171
203
114
408
232
38
219
444
428
34
478
33
464
478
388
385
487
359
380
471
330
175
407
444
420
68
314
243
250
265
271
109
368
285
151
377
486
459
397
56
481
227
85
413
246
311
484
205
145
162
39
445
164
402
43
185
403
284
262
406
328
222
77
487
423
169
284
10
312
137
380
306
342
19
160
488
96
370
25
247
163
289
163
409
119
388
477
181
135
462
106
207
27
316
307
143
317
37
165
222
141
197
155
114
442
111
385
316
322
239
255
57
414
402
265
342
335
355
409
481
401
146
468
190
101
194
51
75
194
207
418
109
341
275
370
299
291
344
482
448
441
496
235
41
422
479
54
365
376
205
329
230
152
208
230
305
466
78
228
161
378
429
98
76
424
94
206
55
475
57
17
277
36
71
417
52
499
282
320
181
390
475
314
474
326
288
267
53
220
85
432
263
269
382
283
42
431
48
362
349
339
389
32
238
359
28
364
274
100
178
353
330
266
380
75
206
445
235
242
272
325
22
75
138
58
426
444
408
53
10
303
308
266
459
101
496
74
432
205
128
135
128
7
293
291
421
185
258
374
147
37
373
328
327
274
10
14
45
137
485
82
311
97
333
434
416
30
302
38
127
283
183
270
54
192
493
86
50
63
190
285
198
226
229
193
132
389
123
433
260
330
205
303
377
271
5
113
145
445
317
370
441
319
98
174
94
326
323
170
134
82
161
254
19
107
375
145
99
111
317
199
86
451
481
467
92
470
310
148
195
41
159
82
173
141
352
106
250
195
342
43
430
341
373
128
126
271
136
387
426
93
431
251
330
57
44
46
334
105
353
299
344
382
239
107
396
276
61
55
484
385
315
29
314
414
320
80
484
410
343
267
426
438
383
255
366
146
495
32
453
32
310
125
94
187
494
272
93
484
336
262
391
234
272
468
465
441
472
114
31
487
272
150
214
475
476
377
89
431
69
162
165
465
253
464
400
382
66
65
354
486
91
137
315
225
248
449
52
175
371
482
388
84
140
434
387
3
329
270
244
196
23
75
459
53
406
90
146
302
287
178
12
73
108
92
313
265
312
91
239
408
347
332
24
164
462
137
153
450
283
217
25
481
32
363
315
359
344
12
177
163
448
212
498
490
81
133
103
384
302
223
377
343
406
227
6
255
418
359
75
26
87
224
274
487
60
55
21
44
17
470
399
225
485
46
310
329
208
22
151
113
370
459
319
312
237
344
106
201
229
386
182
73
3
381
481
264
96
225
408
459
4
43
430
384
291
428
481
489
410
476
48
368
275
233
172
232
340
447
248
254
443
56
333
367
148
9
424
333
95
251
353
442
4
432
217
256
349
231
390
431
455
299
81
221
77
296
234
107
467
280
105
198
143
268
398
469
450
95
298
306
405
393
216
257
10
345
147
225
387
162
230
362
347
83
201
91
405
361
342
68
341
90
239
185
289
407
299
162
133
193
439
124
195
461
172
13
411
390
195
243
58
461
269
422
334
367
49
112
398
47
83
112
96
478
140
159
201
100
316
119
289
429
68
185
156
377
226
409
221
299
394
206
97
88
411
433
64
32
270
299
433
150
351
222
375
468
59
120
380
163
55
372
453
308
23
19
325
309
189
362
65
247
45
62
233
100
315
304
176
354
477
80
168
350
359
99
5
460
240
52
6
456
69
176
439
386
450
236
101
439
379
12
59
43
473
495
1
128
349
406
44
69
225
207
342
72
119
106
100
294
343
23
274
331
53
239
57
143
196
302
17
433
334
106
111
283
336
65
254
380
215
405
74
28
117
412
121
375
214
344
166
453
424
301
264
457
345
470
453
6
401
179
388
118
198
176
68
355
208
200
111
96
435
453
184
197
159
243
241
371
385
180
296
290
148
142
164
361
390
313
381
204
97
313
454
274
420
367
80
283
200
200
216
341
42
443
332
350
291
348
338
208
11
499
458
73
53
59
43
316
112
343
42
137
312
134
332
382
372
279
470
342
469
150
438
138
459
474
23
4
227
199
133
171
373
76
236
406
21
146
145
293
254
489
9
393
110
32
25
177
493
111
397
37
45
284
76
239
135
283
461
102
261
245
274
367
179
356
210
84
179
428
493
147
29
86
464
248
64
274
454
483
393
8
351
496
269
267
142
349
486
121
170
342
235
464
123
272
241
227
80
212
155
189
147
229
376
95
40
29
197
427
470
164
469
17
478
59
86
183
225
15
307
117
50
234
243
1
267
11
418
156
190
459
477
210
28
380
144
299
240
133
397
125
405
337
368
139
491
9
439
269
17
293
483
475
209
123
456
144
11
491
210
367
184
274
374
433
355
202
9
315
390
404
136
11
368
349
320
249
206
239
144
471
16
320
142
154
491
293
310
346
89
332
395
469
229
52
164
95
228
2
39
250
465
462
230
437
182
352
42
260
119
205
341
11
161
246
107
243
391
267
233
217
377
242
143
194
59
187
405
433
288
25
293
153
485
190
203
122
112
495
169
247
62
407
442
191
13
457
467
161
171
203
334
290
493
242
223
425
428
44
12
201
386
201
492
111
345
137
360
156
489
429
226
371
431
180
104
177
198
185
361
408
333
231
375
438
444
39
458
227
5
67
157
129
243
384
407
217
266
259
367
106
161
158
209
468
70
254
433
75
284
200
499
386
119
284
194
499
171
85
365
491
215
440
88
271
394
213
99
198
33
280
214
176
217
18
441
81
410
59
279
487
313
260
151
164
271
481
346
350
192
305
212
458
360
359
405
357
384
57
80
379
32
416
400
66
452
202
231
54
9
12
365
487
180
440
321
480
390
388
11
104
183
150
162
299
113
331
485
442
116
67
469
420
144
322
409
488
135
97
79
380
265
456
43
357
254
57
374
382
136
91
17
339
454
456
104
279
486
257
246
329
118
439
43
420
301
447
102
422
365
135
108
403
372
465
337
223
361
181
410
190
461
447
29
101
500
407
302
13
238
425
458
176
431
289
162
100
467
347
237
196
98
49
367
74
388
61
328
451
193
94
249
314
137
296
445
404
34
280
83
10
403
342
108
6
422
138
181
159
290
386
476
434
363
394
148
361
362
393
102
316
288
480
346
449
312
194
319
454
146
202
260
329
188
282
108
298
303
421
61
101
250
419
306
200
7
166
210
322
466
181
457
497
293
465
78
149
362
412
242
334
296
193
121
3
68
67
286
250
75
218
106
91
402
68
94
342
343
149
102
266
380
317
424
120
181
295
105
398
382
271
490
203
419
462
413
19
301
18
409
750
310
428
358
645
747
410
360
598
306
400
798
681
372
578
537
630
673
462
571
783
418
361
411
577
461
501
657
599
380
394
569
727
783
327
471
647
528
760
388
528
351
450
358
489
736
385
714
665
312
388
505
677
542
680
542
322
716
612
578
677
370
747
712
483
641
396
741
464
604
645
673
307
385
728
601
356
482
538
384
601
344
797
480
467
480
519
328
564
308
357
637
686
480
527
482
737
665
551
702
530
376
442
456
726
782
574
306
452
685
325
682
688
410
420
344
682
547
410
703
453
660
705
304
560
758
759
611
661
468
465
357
336
356
335
490
382
702
604
408
485
482
544
680
467
301
555
375
607
750
607
707
563
686
309
743
469
543
631
655
603
638
537
527
369
741
352
658
760
398
760
671
328
484
351
394
708
426
486
417
458
487
585
592
567
690
530
693
582
383
657
611
745
380
788
388
791
657
703
592
799
374
596
494
686
574
458
397
568
781
386
738
589
542
512
665
489
736
509
560
376
581
447
762
571
774
795
352
705
769
575
500
592
348
617
664
357
668
308
301
685
657
588
567
569
673
658
650
600
587
575
517
405
594
562
384
587
304
589
367
373
557
492
426
539
363
613
720
780
348
346
604
502
622
360
328
612
518
476
612
390
649
505
519
630
554
738
699
316
731
332
543
309
699
393
738
628
669
306
780
662
712
530
393
507
714
786
310
344
565
694
337
686
707
631
618
657
348
459
438
782
472
685
720
577
609
747
327
457
514
731
725
655
339
685
691
483
661
645
542
649
725
757
547
576
663
477
418
596
379
382
392
571
611
725
361
420
354
632
733
600
466
416
363
359
488
592
358
389
324
653
336
640
702
322
579
786
616
572
592
549
360
357
341
577
390
307
362
631
480
643
783
714
386
336
672
635
644
415
692
779
425
714
573
456
691
605
635
541
364
509
772
451
769
316
443
345
345
718
463
767
437
487
373
520
676
390
543
481
303
376
794
333
447
516
351
653
695
497
763
430
315
422
778
585
357
736
521
610
665
762
337
560
434
648
519
748
683
623
589
712
356
770
400
446
396
384
419
442
335
566
634
486
548
718
451
402
338
752
319
411
679
407
476
447
644
494
316
708
385
535
708
726
471
442
486
413
679
520
458
790
319
310
567
756
756
485
562
558
592
556
368
681
368
618
309
319
330
469
646
583
471
585
476
300
557
676
306
655
596
675
651
566
673
312
607
372
644
402
379
725
574
733
366
385
695
728
349
337
582
483
794
609
459
313
779
747
730
718
496
598
739
769
602
601
602
374
324
577
660
308
497
627
722
346
649
634
732
496
568
513
707
593
347
446
708
628
772
575
622
493
335
789
458
449
535
534
620
316
456
792
709
793
339
364
330
741
397
622
638
493
555
334
504
415
461
451
478
729
331
780
431
740
314
671
517
518
606
786
799
517
725
325
438
685
472
439
695
586
487
757
385
382
643
397
426
596
669
422
354
709
344
378
583
780
652
386
793
401
713
607
318
588
530
677
489
574
777
598
413
372
799
395
346
780
584
381
617
728
331
437
754
756
486
574
595
486
321
434
429
413
723
494
359
305
557
490
626
474
713
332
760
418
410
756
413
791
442
460
369
577
342
709
777
565
323
668
330
640
547
385
790
337
411
672
553
693
516
792
517
510
709
501
452
315
757
423
441
338
765
354
430
529
510
770
638
583
406
615
716
733
569
471
340
320
554
455
772
345
537
677
668
757
588
580
730
654
446
309
488
457
482
306
729
585
676
409
469
729
719
544
575
384
358
678
598
784
763
664
726
626
434
537
792
349
436
512
597
651
509
432
377
338
368
452
696
328
501
727
657
675
573
445
433
493
364
760
532
700
472
419
669
671
672
690
503
511
717
474
349
609
304
661
300
366
666
359
547
672
763
394
347
620
633
580
429
491
461
734
720
366
397
515
630
459
396
595
529
564
569
491
534
469
659
790
519
410
321
701
364
603
307
562
450
386
636
773
728
542
669
301
764
545
659
641
777
700
710
447
448
639
397
442
449
745
589
797
556
584
621
378
396
704
757
725
590
463
495
720
761
397
587
519
445
578
371
695
546
573
728
356
707
632
601
669
559
527
319
461
545
525
433
743
418
403
622
455
787
414
584
399
718
688
330
605
620
652
416
452
411
733
646
687
670
545
360
501
695
366
352
661
781
645
358
538
308
526
438
635
313
732
409
498
386
587
447
768
381
778
655
555
403
702
606
430
678
650
567
598
451
747
318
512
675
649
722
689
451
546
543
777
358
521
718
457
478
434
338
435
686
413
320
630
541
520
781
774
688
506
562
504
600
397
439
705
450
515
743
309
564
419
376
341
528
680
755
787
554
743
396
498
767
302
409
471
498
776
794
704
600
512
500
460
429
751
450
685
441
507
530
546
621
344
655
670
691
364
687
719
694
400
668
679
514
710
667
335
424
651
600
783
728
383
800
472
393
440
419
499
420
621
771
411
740
619
369
645
434
453
408
405
753
734
698
683
367
374
625
322
522
345
430
723
677
366
704
393
400
479
544
528
523
362
715
439
604
423
610
455
567
345
331
460
623
318
438
729
692
353
732
361
527
508
718
400
356
382
405
464
435
444
554
626
679
412
405
334
630
670
723
614
520
459
737
762
579
619
320
376
673
589
767
769
667
554
351
380
446
683
334
418
550
616
618
607
412
640
648
677
671
325
318
317
532
569
621
385
375
610
382
696
675
346
358
443
546
751
628
658
441
385
719
768
694
383
347
433
401
765
751
654
692
539
329
563
726
360
663
793
426
514
317
502
655
418
525
589
517
421
786
662
420
586
559
415
447
316
306
491
630
348
775
584
528
703
441
337
469
317
356
620
746
502
599
700
727
422
335
624
458
412
771
458
672
565
649
427
535
787
638
310
574
447
758
688
559
363
311
345
656
329
558
760
467
744
494
394
603
345
591
583
791
450
549
477
743
795
500
405
775
498
646
606
484
332
491
693
752
301
422
307
729
373
464
768
613
709
668
433
386
461
613
455
406
763
408
679
638
605
544
778
317
556
786
548
676
381
499
418
615
708
724
745
384
414
689
573
461
545
676
661
752
499
796
794
349
549
332
516
678
339
519
651
559
713
615
588
438
795
578
706
516
523
375
645
307
388
349
766
654
447
788
341
513
655
306
483
630
516
317
319
739
456
365
609
574
627
378
503
690
720
527
791
650
396
327
355
784
413
461
432
635
373
737
368
499
630
504
540
311
742
309
714
676
612
305
320
507
569
307
506
753
696
457
565
644
784
738
582
375
559
568
324
366
493
746
562
401
764
777
570
471
337
548
733
623
414
438
586
471
646
553
577
387
760
773
764
306
420
679
610
706
359
494
553
349
732
502
547
390
414
358
504
694
720
546
468
477
457
760
459
638
454
602
606
690
646
489
786
730
702
760
431
324
633
784
406
666
549
687
710
444
703
781
755
683
656
729
648
733
743
733
523
366
759
314
760
726
374
499
452
593
647
748
300
685
541
764
663
348
321
660
482
720
778
580
631
396
689
455
745
538
620
469
784
483
344
688
395
314
666
614
391
790
328
578
435
414
463
570
542
511
438
716
714
367
648
398
694
312
560
700
781
604
390
510
438
646
418
488
476
523
552
608
599
477
590
654
701
494
598
529
369
308
525
506
601
407
567
314
605
470
790
602
418
537
442
466
771
586
654
382
515
567
739
527
644
508
728
541
635
451
632
755
428
394
362
782
723
527
489
328
668
388
481
453
728
300
497
733
437
407
545
420
513
445
722
470
557
502
497
414
488
476
656
355
517
727
686
771
383
450
782
575
377
484
309
534
487
395
680
327
337
575
414
521
699
679
400
430
333
795
308
421
345
549
628
590
381
604
698
657
302
749
327
693
633
666
457
643
693
340
706
307
414
665
719
796
738
334
402
574
644
527
499
789
743
474
567
420
430
574
439
713
620
687
341
441
498
402
742
459
564
423
351
559
540
307
758
651
521
378
442
595
394
378
791
371
407
446
349
725
549
301
634
713
740
772
561
689
592
449
702
384
775
739
320
650
552
407
695
470
398
318
396
753
512
452
574
662
719
531
421
663
668
560
634
572
475
368
695
398
787
330
620
693
689
732
399
569
385
304
464
553
489
430
388
487
565
748
662
499
529
392
412
736
480
691
605
743
593
716
730
532
542
712
492
398
555
569
490
534
390
452
490
657
468
754
332
468
612
591
567
758
483
708
643
705
366
680
792
561
336
300
727
410
787
784
443
712
718
721
436
678
674
527
566
546
654
715
540
708
631
621
520
460
426
581
519
489
744
713
544
635
632
375
491
735
710
787
354
443
769
383
483
788
456
590
769
637
320
468
473
638
448
520
781
402
325
645
380
382
376
333
650
415
520
300
736
608
555
541
401
750
748
638
773
458
404
418
530
389
326
641
598
729
466
504
405
405
526
658
649
799
593
337
694
571
770
581
355
416
368
617
334
325
758
660
743
523
719
341
787
317
453
561
628
307
660
321
610
361
752
512
494
300
728
762
485
521
487
695
463
512
492
538
659
699
381
436
531
392
752
316
731
728
574
356
345
718
633
793
762
683
477
537
789
656
713
381
477
307
356
367
512
457
465
324
307
458
772
310
545
445
328
722
674
585
526
799
603
366
661
574
775
734
520
696
314
714
405
779
541
601
678
654
444
596
751
607
708
332
534
461
557
316
615
637
505
350
556
534
617
658
318
709
646
683
498
542
763
760
532
421
700
528
762
451
696
698
550
324
364
483
548
535
684
471
696
360
756
456
725
784
715
567
585
688
328
396
526
363
491
478
672
337
488
439
369
329
420
637
716
738
547
349
561
424
412
705
700
634
764
508
648
700
614
541
796
772
562
417
510
331
334
372
566
759
779
714
774
786
636
693
526
778
516
483
736
454
744
653
620
403
438
334
669
448
643
623
303
561
754
537
451
300
391
559
473
396
452
721
602
312
555
368
517
447
377
705
457
723
655
744
697
728
401
563
393
652
766
353
494
357
568
455
334
663
399
492
368
676
320
639
564
654
320
558
710
334
434
464
352
579
417
416
485
505
676
775
394
623
548
376
511
759
349
486
514
575
318
344
655
593
616
380
435
623
478
497
376
414
677
787
588
543
708
497
746
371
795
676
768
417
403
639
337
796
452
660
472
469
493
309
758
545
493
385
712
594
799
341
707
451
787
680
334
318
635
629
759
360
465
608
641
412
550
494
343
800
449
338
522
750
792
782
716
756
616
787
492
309
625
477
514
457
523
371
786
534
762
595
723
521
597
321
493
522
495
395
421
562
727
740
431
721
326
507
379
464
717
676
795
382
306
740
341
506
365
760
363
316
536
702
320
303
693
347
461
618
484
775
600
480
698
445
471
694
377
320
398
683
524
494
595
330
405
369
366
576
531
424
697
566
516
781
605
378
338
366
680
608
712
735
745
748
433
363
367
378
421
614
558
721
404
532
541
330
482
602
421
760
530
394
536
603
460
529
337
481
773
428
380
495
498
711
741
513
381
648
726
405
601
415
352
784
615
548
677
497
420
770
611
780
314
687
479
759
720
465
614
462
608
692
767
309
516
645
504
612
518
576
795
399
547
416
736
576
780
739
785
378
340
516
526
588
719
602
587
302
527
467
456
582
339
488
382
305
429
670
726
741
583
383
758
686
653
359
566
753
470
604
539
492
505
791
520
512
774
332
577
360
534
659
697
512
782
407
539
488
614
549
455
451
752
550
591
547
699
422
465
342
761
371
501
535
613
694
642
794
770
526
667
643
534
655
565
614
529
477
446
693
527
603
650
380
634
318
692
362
674
649
662
557
386
614
665
444
312
358
594
359
463
697
747
670
437
406
323
648
333
347
695
744
422
679
581
504
719
376
594
536
687
664
456
535
385
633
386
589
360
677
350
755
549
330
684
553
393
620
354
517
540
578
405
379
463
323
694
634
389
553
673
325
597
687
712
494
581
566
570
318
740
317
555
330
492
567
465
780
709
567
316
675
417
414
739
528
643
519
574
708
385
669
730
458
478
547
437
579
311
751
762
413
427
592
326
333
400
373
727
302
392
448
709
337
540
686
600
631
412
606
381
555
330
394
782
378
788
540
400
573
488
548
496
614
390
352
350
720
506
507
612
626
486
404
536
611
574
441
416
779
345
542
374
727
466
760
734
797
643
757
595
349
395
703
788
320
691
490
383
405
406
728
523
460
785
304
639
427
365
445
374
364
464
329
666
517
443
437
526
635
774
507
728
677
593
619
654
374
612
477
512
742
468
795
459
351
347
729
591
354
686
657
735
386
671
785
799
577
333
672
650
743
355
734
560
498
795
479
496
490
620
485
617
655
447
478
728
659
405
704
543
766
523
603
355
720
556
462
314
472
683
713
388
520
760
504
522
316
596
484
780
775
595
573
310
517
530
368
753
734
507
611
626
612
786
438
781
497
307
708
425
549
785
673
679
576
443
729
696
591
677
687
353
426
670
696
334
701
603
376
764
693
637
642
782
543
791
434
558
780
764
330
365
789
510
628
695
780
733
503
539
689
620
743
759
740
543
507
457
596
427
376
325
675
773
651
425
664
674
395
606
315
543
401
621
685
588
640
311
350
763
381
745
350
453
440
449
532
711
524
545
555
320
745
493
401
666
789
544
585
594
724
559
554
615
463
379
382
713
759
525
343
593
791
348
781
512
697
543
410
628
797
652
562
461
523
551
752
344
567
331
679
334
736
679
543
382
566
548
331
343
728
526
663
642
639
472
405
601
328
677
443
540
721
784
594
708
515
668
381
550
699
555
576
715
545
470
545
505
753
522
431
567
408
712
487
387
542
301
566
668
734
663
407
780
336
668
682
799
726
334
585
431
593
698
614
407
735
383
569
466
585
535
493
670
372
582
709
606
748
689
384
536
689
768
464
693
530
470
654
573
770
739
504
376
393
323
592
549
371
721
359
384
414
717
387
535
517
378
547
589
450
536
750
437
490
772
646
798
715
500
623
308
583
682
514
406
433
707
648
504
743
359
771
566
648
511
524
702
315
319
416
706
775
523
312
300
459
651
531
572
404
607
628
575
385
677
507
430
713
716
473
698
749
684
400
794
525
318
551
549
605
318
464
418
416
587
554
622
599
780
726
743
550
588
502
733
419
324
331
548
795
700
686
565
492
363
332
381
424
463
345
629
492
571
386
379
711
309
593
568
308
562
774
652
490
521
425
414
711
646
630
484
746
339
724
598
515
315
620
682
616
654
728
344
560
390
635
509
317
761
613
463
767
765
389
427
672
602
707
415
362
665
592
574
465
334
695
517
751
746
416
652
588
756
499
577
695
367
409
389
389
760
501
691
369
547
616
713
736
679
465
333
328
720
333
607
322
726
740
737
358
659
569
321
318
327
420
363
451
793
314
627
568
602
626
524
617
483
534
685
616
770
326
589
527
775
725
498
453
584
332
771
520
432
620
345
606
460
764
538
303
691
768
313
464
691
546
598
757
718
434
666
762
300
492
704
629
673
308
307
321
594
609
399
651
361
525
736
346
373
589
698
677
322
344
434
748
662
626
326
648
420
772
483
392
546
601
727
470
454
705
311
473
743
389
769
535
516
757
629
624
313
564
349
601
569
371
615
434
609
606
713
656
590
311
442
324
558
698
651
407
559
320
727
539
669
456
516
632
556
670
751
509
711
502
390
425
772
689
591
306
347
523
577
464
412
594
567
619
315
721
464
484
368
556
695
442
311
798
332
339
636
451
679
653
663
472
768
378
470
452
503
512
534
646
460
722
489
564
668
320
317
408
485
342
637
591
664
354
306
606
540
381
499
605
302
577
639
361
496
694
582
792
656
566
544
724
690
581
579
542
447
442
440
663
303
438
484
388
319
581
628
461
351
435
418
535
301
559
533
750
322
602
739
568
621
775
465
749
592
306
758
596
431
371
704
352
742
727
329
526
634
483
703
567
661
364
318
638
599
416
679
508
751
614
576
470
792
793
348
312
390
304
313
746
431
746
330
345
687
688
322
770
710
556
353
635
504
716
748
514
339
642
727
704
493
671
389
674
538
641
594
693
783
718
546
588
594
463
706
453
463
786
518
465
518
531
633
579
564
535
796
670
567
713
460
450
510
346
532
652
558
573
570
543
625
665
589
487
466
473
614
607
563
798
772
404
405
679
518
619
315
733
582
602
684
487
746
615
723
438
668
492
321
667
623
345
352
322
623
458
415
653
641
464
625
311
628
784
504
603
774
690
507
500
725
373
622
513
414
429
552
303
766
657
487
763
581
653
511
401
591
336
552
481
355
734
581
334
461
620
682
710
617
762
506
520
343
564
551
431
774
472
690
361
447
721
643
640
629
394
490
694
562
414
761
315
637
663
787
599
546
771
352
736
594
703
719
753
325
452
512
556
303
316
634
631
574
556
502
751
702
722
636
781
375
354
471
446
315
798
546
449
455
414
611
405
507
306
418
731
357
607
619
530
474
523
714
387
442
772
716
494
733
363
323
314
661
563
576
745
690
344
387
697
332
358
475
397
535
629
344
465
724
430
446
424
528
319
662
584
467
568
362
768
670
601
649
707
386
358
304
615
325
330
473
545
764
582
416
697
661
739
505
336
622
609
439
644
592
376
402
465
468
349
547
538
347
691
311
374
768
327
489
530
543
635
538
481
764
616
557
774
531
744
470
347
740
539
562
534
784
502
389
641
461
532
707
509
648
420
409
418
499
750
559
596
406
783
679
501
383
378
368
378
671
515
626
631
370
392
678
301
635
686
661
597
529
323
493
487
735
640
401
346
323
429
669
754
378
626
678
779
418
359
529
401
316
434
440
798
749
654
691
637
503
347
697
714
702
713
390
364
581
385
715
721
650
637
302
708
760
301
449
448
709
523
547
642
375
307
402
305
465
563
670
387
585
380
743
685
444
435
635
324
606
507
303
632
792
680
514
521
798
553
749
557
596
784
303
592
554
354
757
404
586
525
451
434
366
424
683
683
620
382
381
640
565
389
328
550
754
561
393
421
547
336
519
375
686
483
607
411
516
574
642
601
339
667
527
391
466
704
372
461
326
779
697
702
316
653
542
540
611
334
668
527
657
303
475
672
778
416
630
663
793
425
779
723
784
362
374
478
641
319
798
449
444
743
738
392
580
711
564
594
709
733
524
314
462
796
610
785
588
359
402
733
698
441
323
483
767
655
576
727
443
598
664
741
581
397
308
426
343
574
339
309
464
771
328
701
419
481
665
699
414
655
441
512
467
605
496
387
620
428
630
627
555
672
319
618
470
386
614
560
498
738
720
470
456
377
311
402
405
501
779
414
577
545
397
752
693
413
393
410
670
416
574
343
741
352
625
704
500
391
321
742
603
569
537
439
637
722
638
405
349
770
603
553
784
330
596
460
460
496
592
518
703
750
777
349
759
485
372
410
702
341
378
656
666
541
758
727
338
610
710
465
697
497
335
772
322
481
644
458
531
367
381
677
512
358
536
672
373
351
448
758
640
617
395
433
540
694
620
600
393
550
607
700
759
646
742
669
376
617
616
457
739
518
594
475
645
353
617
539
585
786
759
724
747
428
495
776
568
725
620
645
792
392
733
735
600
371
569
728
698
688
331
304
418
383
306
762
743
569
586
372
699
369
401
481
794
450
476
491
597
533
506
593
707
630
379
678
324
357
716
770
388
739
505
788
301
636
589
364
306
566
578
446
625
313
369
430
328
650
492
673
766
630
563
364
328
795
738
382
414
671
785
433
531
402
397
319
707
376
680
564
319
536
624
393
769
681
481
340
745
343
758
329
657
792
439
629
782
748
551
339
702
745
654
676
730
479
659
668
681
382
457
429
315
409
412
380
624
551
621
793
566
439
503
626
432
303
795
566
611
571
772
555
636
375
664
789
672
739
420
350
436
531
547
645
766
659
338
354
747
745
423
748
608
707
755
584
381
695
419
416
385
347
796
314
717
371
574
687
402
785
796
574
759
739
740
442
430
517
741
743
671
792
516
654
350
429
587
401
436
575
722
464
306
796
494
480
420
434
412
726
612
686
386
564
431
339
334
543
301
616
476
464
660
416
499
679
710
355
682
460
569
699
443
313
754
310
304
613
606
710
565
768
380
641
474
697
648
518
742
692
460
380
359
624
721
786
693
472
502
302
644
490
472
406
465
611
778
317
379
401
362
339
759
301
431
657
701
536
458
384
537
441
562
744
481
542
413
772
385
588
559
515
366
643
319
768
590
790
558
577
541
450
345
639
552
545
597
536
671
418
653
370
521
537
734
671
400
710
415
701
347
641
779
466
380
704
301
343
704
777
568
521
774
560
589
559
719
366
550
354
316
662
467
764
706
323
592
513
420
316
670
442
596
405
600
639
770
776
788
451
376
463
670
554
563
407
504
767
618
648
471
496
416
367
743
312
620
483
404
362
534
483
738
381
439
636
402
507
328
781
738
742
595
629
462
392
478
725
660
744
472
781
784
445
638
591
608
751
727
774
419
309
697
799
771
309
727
330
559
524
772
742
482
800
703
419
765
600
642
602
692
794
385
307
511
389
733
552
400
328
421
636
794
401
490
539
437
429
453
471
690
750
441
345
759
326
468
471
619
425
409
563
537
762
760
700
742
551
507
780
347
574
687
530
443
521
629
727
450
737
499
696
566
781
564
530
382
312
597
629
454
579
463
485
798
712
462
310
462
602
419
515
486
785
528
400
301
716
382
636
313
593
755
469
712
578
752
656
391
314
380
558
732
564
588
571
379
794
367
671
739
304
499
302
367
489
567
370
642
444
548
315
402
607
390
648
631
563
567
638
362
471
544
668
761
448
630
399
563
306
688
755
780
479
605
339
445
669
462
793
403
522
368
631
536
481
478
341
787
375
570
691
669
354
457
463
530
702
402
534
353
488
660
547
320
459
772
512
302
656
695
314
304
747
734
307
373
433
302
376
651
656
687
797
685
324
585
464
401
443
474
717
700
460
487
359
670
601
392
704
547
354
434
531
427
701
593
694
790
569
738
576
534
730
786
759
409
494
777
766
603
532
468
594
558
433
692
444
316
564
739
751
768
333
556
639
378
498
390
603
592
554
567
661
490
331
615
756
302
389
781
678
599
304
438
556
315
791
709
595
686
363
315
733
714
742
683
711
661
719
465
320
464
535
397
663
476
724
426
455
545
512
624
536
487
663
792
349
500
444
610
551
722
461
551
360
468
642
414
445
354
760
466
701
740
338
491
755
371
572
460
398
732
603
700
563
510
318
771
540
678
328
603
380
622
375
587
449
401
381
345
790
524
396
488
444
421
400
672
586
717
532
600
679
772
524
485
654
377
339
738
518
602
398
645
447
635
578
383
778
351
387
721
799
693
495
744
446
513
755
471
782
588
549
422
397
462
614
721
462
680
425
772
360
771
777
574
322
504
417
688
751
798
493
426
361
783
702
657
589
585
481
763
425
434
596
417
677
507
410
426
424
359
685
562
693
552
654
635
788
757
552
302
689
580
696
346
419
360
771
539
588
711
726
684
494
525
447
552
427
465
604
679
317
301
393
620
698
661
321
492
796
608
712
491
464
561
468
555
531
611
377
413
569
314
409
314
744
413
578
302
699
661
327
472
761
709
542
770
616
722
503
640
506
462
403
417
723
122
406
407
315
19
287
412
100
367
305
304
293
309
335
180
196
385
231
392
397
18
319
222
398
353
393
277
226
324
381
246
92
373
288
373
223
40
270
214
400
156
328
251
168
47
381
63
373
89
192
330
252
450
195
121
441
31
481
201
494
222
73
239
169
331
204
486
18
171
371
3
114
97
327
39
23
85
264
167
203
248
64
490
191
366
93
169
110
442
43
4
460
132
57
498
198
10
318
469
363
441
487
156
488
376
373
66
308
153
49
392
360
428
269
167
311
454
353
399
166
426
298
293
91
440
476
240
83
163
190
124
70
129
349
364
431
326
97
461
177
145
168
308
94
87
493
5
163
486
261
471
125
399
278
496
171
189
216
373
372
425
165
242
44
463
479
4
467
303
397
237
30
285
485
386
295
206
354
4
107
435
131
300
179
85
175
309
157
236
363
364
437
262
101
475
24
479
130
496
104
170
169
408
86
327
327
144
85
321
163
92
116
292
332
423
144
319
169
275
60
304
329
30
274
216
496
347
399
74
262
351
382
289
415
215
473
465
31
138
181
76
201
385
282
106
411
35
408
122
413
216
148
81
415
486
10
256
57
310
56
275
62
49
112
70
480
287
80
239
157
25
219
186
206
143
403
35
269
493
54
46
141
435
102
219
253
113
463
74
168
409
379
94
199
27
316
129
377
218
330
59
384
9
375
364
320
42
301
421
438
320
136
179
387
164
22
227
27
202
471
33
105
58
469
360
261
493
460
248
309
190
19
391
97
405
493
210
333
87
300
371
349
473
380
481
318
419
186
152
16
98
191
463
196
158
301
480
279
226
66
186
108
145
112
98
223
257
285
156
207
60
27
362
211
75
288
127
30
312
372
86
197
188
132
318
233
173
428
18
90
130
424
158
70
417
25
40
59
458
223
341
137
246
406
209
132
263
458
186
319
480
216
329
293
165
236
411
365
319
153
222
149
382
223
225
239
357
405
486
89
180
390
431
387
245
38
292
388
129
123
42
53
393
301
338
273
268
396
474
55
444
452
13
349
386
64
262
500
264
436
291
49
346
252
8
470
465
346
115
346
495
151
115
25
192
219
444
77
370
476
102
23
109
18
106
162
213
173
219
115
120
454
59
78
473
63
321
404
303
59
211
442
184
50
476
50
385
467
339
473
303
432
52
289
448
158
61
284
204
91
362
134
316
200
110
229
364
404
161
11
201
140
231
238
106
204
298
251
420
424
36
236
138
255
48
161
54
5
23
198
366
33
180
16
303
306
1
449
396
60
278
486
140
221
383
304
405
145
309
242
197
95
498
183
431
239
422
215
176
282
11
149
360
21
201
405
463
122
111
423
28
109
70
417
117
79
351
24
226
281
137
486
325
303
157
97
459
471
266
92
80
141
369
124
245
298
205
217
111
307
284
295
349
72
98
268
458
165
320
136
117
435
50
60
110
388
117
475
82
18
139
447
260
151
321
248
426
311
411
57
23
278
37
452
402
173
38
119
1
423
73
269
229
345
379
390
445
63
79
129
415
274
158
500
482
444
72
297
135
394
97
355
246
177
465
323
176
191
469
375
232
218
438
146
247
393
157
358
131
267
338
326
391
485
455
387
128
478
273
67
18
129
149
157
374
68
220
456
155
140
261
354
185
454
88
417
498
377
176
59
330
73
246
311
197
76
74
292
244
171
368
197
86
90
495
310
362
377
242
202
362
435
376
226
238
286
458
399
111
359
168
280
376
460
8
304
238
27
218
291
312
415
177
183
85
19
121
246
458
31
448
222
413
483
39
378
489
194
468
32
149
168
388
200
203
176
287
436
249
430
161
477
246
129
357
159
183
401
213
133
66
167
433
316
45
30
209
146
452
90
86
243
385
392
193
196
136
62
151
112
343
253
241
404
464
409
115
139
217
52
233
115
386
315
485
464
350
42
288
170
465
83
377
117
14
179
167
221
304
181
160
100
319
4
7
42
53
244
196
224
51
448
334
369
82
243
205
489
119
377
54
382
47
389
448
354
453
21
74
436
290
102
163
307
126
63
134
378
396
85
154
413
228
465
47
337
170
262
24
431
452
485
392
383
313
379
475
181
57
342
382
175
493
372
235
382
423
341
264
452
35
488
439
247
33
3
43
453
490
212
170
212
250
47
122
448
465
297
239
227
463
437
498
408
299
424
456
461
71
316
411
400
477
442
226
226
433
429
53
424
251
102
231
222
285
275
39
313
358
204
123
119
422
204
487
430
266
356
55
163
277
14
260
351
245
43
152
481
489
465
286
358
155
371
352
489
452
125
269
314
208
179
35
306
203
50
33
253
132
39
275
257
22
341
327
235
289
394
320
377
144
421
358
11
47
15
416
102
400
13
138
227
231
218
291
364
266
354
108
438
276
254
408
127
234
151
3
142
68
187
426
250
390
235
224
464
139
243
455
1
392
86
199
76
414
334
216
5
74
57
367
151
202
20
218
184
464
425
65
119
2
286
474
483
93
465
74
215
71
62
10
402
253
114
32
253
23
198
353
92
443
388
48
230
77
278
306
253
332
319
118
166
155
232
165
465
351
272
478
82
276
237
247
216
230
407
396
179
381
175
302
394
435
89
313
78
251
82
31
46
196
389
259
31
259
433
58
196
136
324
337
436
100
303
204
12
52
87
148
293
352
28
316
46
463
65
139
307
271
39
25
202
469
175
227
195
458
295
77
423
189
125
399
5
32
361
61
26
107
268
24
495
376
441
405
309
69
192
37
253
473
6
152
330
141
365
201
64
316
345
474
3
205
423
367
129
165
462
260
101
498
35
188
285
277
363
231
71
497
138
281
160
129
102
21
165
272
375
456
192
45
312
42
32
81
186
290
500
221
498
499
442
245
41
276
279
15
386
38
459
394
498
225
72
71
192
183
157
237
488
425
222
313
86
80
125
245
65
164
139
438
74
466
88
45
56
335
278
98
132
16
350
157
498
114
394
59
170
91
392
185
342
192
486
456
171
20
359
156
282
153
480
338
209
207
149
230
373
186
132
162
127
183
316
301
244
40
269
293
255
351
6
83
299
304
260
234
93
103
341
78
328
97
405
159
363
324
478
287
119
233
187
248
135
423
433
183
70
382
313
353
21
461
360
132
468
318
296
231
255
96
368
224
406
191
433
39
217
216
282
228
184
364
18
186
15
190
288
190
54
313
130
135
204
60
102
191
18
67
14
299
294
439
268
430
397
13
8
48
179
487
327
426
443
23
337
353
71
442
33
43
338
429
272
383
48
221
20
73
243
396
435
407
308
116
237
295
242
65
155
120
443
426
398
37
392
241
252
273
44
166
286
490
432
130
131
289
118
35
465
462
64
44
362
361
401
304
102
4
51
411
404
445
340
64
434
392
194
435
283
270
353
250
33
298
209
444
240
265
342
346
102
85
329
70
11
162
8
154
432
220
457
333
413
354
371
129
429
36
226
13
51
13
247
139
482
215
481
246
481
319
94
134
358
70
306
129
426
62
169
446
274
144
316
177
200
10
46
281
340
284
241
302
346
212
477
84
67
78
72
426
324
195
497
248
478
350
426
274
155
346
332
377
94
107
112
180
59
51
348
425
86
409
25
420
194
440
47
185
294
406
370
386
372
194
100
174
334
157
163
401
362
4
346
269
21
182
364
278
457
280
402
120
397
162
127
385
498
102
490
266
87
73
482
50
9
326
457
423
245
10
64
469
348
390
427
425
234
420
330
183
54
169
483
458
382
424
335
66
250
148
9
208
460
272
114
152
51
24
152
328
244
241
68
148
40
486
222
130
215
14
465
470
399
245
204
448
180
374
257
407
367
84
244
150
483
421
341
74
359
425
175
435
163
475
40
376
118
10
351
218
405
123
124
413
310
250
64
9
208
217
473
263
155
192
72
96
260
244
126
37
364
387
233
155
258
440
61
170
350
256
43
136
403
440
85
26
129
383
175
329
498
56
379
300
60
54
5
319
108
340
14
113
21
483
311
480
360
67
397
326
448
206
97
156
18
12
390
121
299
412
186
16
33
268
102
492
464
488
238
178
419
150
26
10
272
182
499
87
305
1
109
31
360
410
333
6
466
156
76
112
224
113
45
187
422
397
260
212
141
492
355
113
141
489
80
224
164
54
217
398
151
485
33
470
303
378
332
287
282
128
167
225
460
146
498
385
213
194
79
307
222
44
160
349
89
94
13
106
189
313
283
284
368
400
381
335
359
316
454
106
240
271
307
85
123
447
103
234
417
311
89
95
20
262
334
304
80
68
325
209
304
329
220
210
364
381
185
70
302
354
241
203
49
58
256
220
134
296
448
183
251
250
392
126
369
421
365
352
486
452
392
137
231
300
213
238
245
497
409
451
275
211
71
35
440
120
318
362
139
421
347
367
251
124
121
17
210
176
136
389
222
453
17
229
64
96
80
63
189
7
240
173
218
478
128
69
187
433
97
27
404
74
55
30
344
411
384
420
396
453
367
437
197
428
230
255
202
115
393
213
424
216
256
17
43
129
215
21
110
106
72
274
136
179
177
8
3
475
221
335
198
175
99
494
246
81
474
25
329
52
395
128
320
260
187
263
143
223
100
396
139
207
61
340
95
64
335
214
260
479
428
213
228
426
119
163
438
374
264
484
137
322
494
209
67
414
379
439
260
124
160
392
224
47
142
117
157
118
453
387
190
324
17
87
466
101
491
144
457
54
114
403
326
227
431
431
429
354
142
285
196
192
238
99
325
211
417
4
291
471
398
107
114
57
64
453
496
322
492
30
95
23
418
164
465
498
225
43
400
141
61
364
170
186
307
257
156
186
340
239
375
108
314
407
412
479
172
475
147
264
477
140
195
94
1
141
217
182
60
327
398
231
232
113
18
56
102
396
435
129
36
20
119
93
42
253
223
369
347
240
154
379
307
202
94
130
87
11
373
229
485
133
139
339
99
464
140
29
151
130
258
11
373
448
450
3
25
339
40
184
219
393
264
443
369
109
307
79
316
442
479
498
160
44
252
129
98
441
357
497
483
386
183
417
35
462
132
344
327
73
295
211
222
466
15
252
343
276
123
234
392
330
34
473
307
149
301
219
469
331
383
36
225
201
160
243
98
92
5
385
413
485
43
119
302
235
410
218
474
395
34
175
331
70
495
402
476
99
22
354
99
35
384
498
330
70
97
396
10
56
265
47
351
105
125
260
340
276
458
301
434
270
35
73
229
395
260
81
447
26
446
245
222
433
495
367
449
337
419
84
259
383
257
68
279
77
52
53
36
396
73
5
377
194
304
345
298
225
255
234
151
250
54
173
345
393
312
427
26
14
46
12
352
417
156
150
192
299
297
178
498
324
229
434
409
18
34
422
197
196
198
369
388
436
17
173
91
483
259
31
394
265
338
424
155
302
165
91
179
169
12
276
430
104
228
4
350
470
236
41
8
351
7
490
407
95
249
314
369
26
124
249
492
139
290
147
106
153
310
477
310
486
261
307
448
416
320
12
167
294
256
129
181
48
257
377
371
335
59
467
356
271
363
274
221
111
251
169
411
3
238
210
248
222
71
342
67
48
492
264
160
303
22
63
449
97
256
130
101
308
386
430
194
494
129
74
140
414
296
200
460
284
362
116
466
234
407
2
249
87
104
13
86
12
76
283
248
251
89
21
312
255
140
219
124
67
121
73
97
47
15
273
226
436
416
74
403
261
348
302
296
26
445
7
124
2
256
16
247
185
322
278
440
395
350
231
474
461
255
460
93
462
358
274
185
111
62
367
200
203
211
295
258
417
437
379
67
195
478
122
408
177
225
9
6
268
279
277
172
218
211
349
127
115
105
483
357
480
142
477
304
36
60
28
145
312
254
319
218
253
224
434
435
461
165
263
97
367
76
222
177
200
185
77
228
230
285
239
490
12
394
83
371
117
307
2
302
142
359
36
33
235
224
124
478
158
146
134
133
419
253
102
195
19
133
129
39
244
206
451
396
91
313
364
470
457
111
184
37
476
120
91
65
322
26
271
432
176
232
47
11
316
46
252
229
229
128
243
309
128
55
142
190
401
64
198
260
204
481
319
199
86
429
122
293
248
96
495
81
102
183
306
175
250
106
13
438
404
425
292
436
99
466
13
130
413
249
464
274
131
40
462
477
20
482
495
373
375
84
253
132
414
496
336
328
418
370
384
191
146
424
245
351
275
272
336
498
380
430
454
191
437
73
198
398
450
160
296
458
303
358
85
127
354
117
323
350
63
165
17
157
188
377
264
71
470
260
66
148
190
1
168
435
414
236
230
441
171
233
347
44
358
484
490
56
463
476
236
169
330
292
217
294
473
192
67
46
295
192
475
498
375
60
490
399
350
320
63
34
120
359
266
38
450
455
497
336
168
164
336
451
81
435
496
127
64
485
321
400
103
33
316
317
167
94
28
374
130
466
149
292
301
101
51
392
142
370
153
123
43
157
133
309
14
9
381
140
40
265
337
488
153
306
60
221
77
399
150
389
405
406
179
389
230
295
392
30
483
107
175
349
326
375
477
161
216
287
93
285
134
142
13
106
113
328
97
418
118
324
424
143
203
211
493
295
142
241
343
117
463
355
258
66
170
483
434
154
371
49
288
206
282
454
263
323
379
99
168
152
490
143
402
272
481
130
76
211
346
475
387
289
380
38
399
66
115
323
62
417
116
178
76
2
344
260
153
166
432
10
179
151
169
62
180
361
442
315
484
94
174
390
115
409
122
287
173
493
357
153
268
1
482
415
244
431
407
160
426
360
419
454
222
219
350
287
114
394
414
249
396
326
2
173
481
197
207
227
137
47
63
416
299
142
105
220
462
16
464
342
266
195
108
211
172
240
111
436
352
101
141
457
397
420
426
187
280
290
221
337
279
363
242
240
293
253
262
384
330
484
23
279
424
286
87
180
382
473
402
272
446
252
20
319
398
156
209
82
416
151
419
187
126
359
470
201
148
45
112
460
289
116
16
173
430
303
369
486
307
60
136
256
132
315
362
18
68
489
332
98
8
140
250
446
38
81
175
103
186
35
235
28
391
29
70
58
347
154
93
93
252
463
288
150
359
249
103
43
422
365
71
81
22
414
492
277
136
119
92
267
466
418
375
187
183
53
375
473
375
295
248
180
252
31
92
364
405
394
40
22
365
479
362
260
237
332
255
382
300
295
223
91
220
439
13
390
233
17
385
202
354
127
320
476
500
440
6
368
475
191
99
54
280
410
12
244
93
71
407
102
233
402
202
221
95
164
404
236
42
305
109
57
348
470
227
461
187
458
75
148
417
459
494
288
36
152
495
144
26
314
490
360
283
16
373
336
421
72
392
427
150
485
46
51
153
438
376
230
278
445
414
59
416
250
169
139
336
3
473
392
436
57
394
409
123
461
206
156
373
277
153
65
280
457
430
318
365
438
192
64
440
153
269
405
70
57
70
349
393
12
374
404
331
365
58
429
1
449
463
109
331
223
452
118
89
112
471
44
372
459
293
211
222
246
422
387
189
499
163
88
223
487
404
136
67
198
6
460
332
220
386
8
7
482
364
435
392
388
242
412
222
239
81
42
480
100
214
487
467
73
116
312
337
256
225
177
300
174
495
265
181
321
17
407
189
435
386
324
294
47
231
338
7
186
12
350
49
6
469
123
493
154
339
294
151
331
403
81
498
299
280
100
375
406
372
456
497
45
212
169
110
435
65
210
419
50
36
386
77
346
267
138
472
47
242
66
326
192
364
262
313
213
389
83
307
149
293
334
459
293
476
221
117
142
378
500
266
282
347
320
81
438
35
264
438
119
444
488
46
67
120
159
198
367
479
108
16
428
414
441
339
498
117
393
114
201
372
312
384
415
468
10
181
160
246
261
85
370
37
23
62
276
493
36
251
173
376
259
367
97
100
453
193
25
84
92
166
101
236
487
194
91
152
236
264
498
356
485
224
109
422
400
87
422
17
117
201
76
286
86
212
421
199
351
381
209
332
431
192
396
221
380
38
130
177
487
403
77
17
284
174
115
150
126
392
207
245
458
468
335
401
159
274
156
371
349
343
166
117
330
497
187
197
367
189
7
161
183
421
65
441
379
477
281
213
426
165
233
117
252
305
107
431
39
189
414
275
9
444
85
255
177
389
261
126
116
283
150
8
216
11
142
367
253
232
314
267
440
168
30
97
309
482
123
218
337
174
183
92
302
430
137
43
51
347
456
485
83
13
248
72
205
296
464
128
438
466
66
485
216
198
436
64
387
296
203
89
390
477
199
198
188
202
79
163
393
135
443
474
276
45
356
175
423
445
335
300
366
429
18
342
277
70
16
435
133
472
92
445
102
309
106
117
375
492
174
314
382
238
381
241
40
16
370
120
5
377
170
23
113
260
385
406
355
17
322
18
135
324
69
445
176
490
355
241
271
429
102
145
23
20
444
49
274
491
171
63
56
133
23
408
395
439
440
430
404
398
478
357
38
290
71
385
21
145
488
417
120
83
136
130
144
244
406
347
98
288
110
333
448
20
396
376
125
410
454
109
398
303
300
128
144
452
104
65
56
258
411
454
91
459
263
300
172
59
465
187
416
337
116
265
28
183
327
79
105
128
447
295
350
16
87
298
315
288
415
142
475
4
358
308
287
282
320
371
460
212
359
341
276
244
12
27
102
98
290
401
401
343
320
432
499
94
121
248
33
204
90
230
312
72
43
259
268
54
14
56
476
268
185
28
482
99
46
108
463
80
190
138
436
150
176
277
46
469
13
210
120
206
177
440
339
73
447
494
142
477
477
185
375
258
15
26
335
413
115
495
154
93
27
69
154
169
348
305
287
456
318
408
319
500
132
301
437
128
298
127
17
337
394
285
462
427
481
293
289
73
327
224
321
290
422
43
248
108
499
164
345
451
154
425
271
472
333
243
46
4
140
60
117
352
360
117
177
170
447
390
246
441
92
267
280
75
244
64
200
243
429
183
325
107
311
126
174
413
325
349
78
22
85
493
371
388
116
407
7
420
180
152
145
320
357
289
25
139
292
392
384
230
163
497
339
196
10
43
133
210
478
159
464
13
353
484
106
83
269
90
393
464
410
453
98
353
463
481
146
170
65
442
7
446
292
234
194
173
463
20
25
241
127
166
425
454
163
379
309
99
335
274
55
471
48
35
329
298
104
83
412
146
199
348
149
101
289
206
459
175
242
233
65
273
381
88
316
41
45
367
166
114
67
379
348
428
165
267
299
346
111
371
130
216
41
316
338
480
185
158
390
229
15
149
197
334
199
16
291
401
106
12
249
203
153
246
361
68
474
228
282
493
365
90
181
18
437
114
230
63
425
189
66
160
270
33
125
71
353
247
443
378
369
270
168
269
55
70
74
243
40
272
396
254
121
499
265
148
357
188
33
270
415
159
24
171
166
333
221
42
200
319
479
437
371
329
108
394
115
456
278
116
437
101
408
223
28
494
261
317
38
396
204
481
274
85
224
47
137
93
226
434
479
287
101
358
173
204
410
1
105
442
190
143
370
436
162
231
25
180
138
30
408
408
274
85
7
421
457
403
38
84
415
71
447
227
478
52
185
124
421
334
488
354
230
441
159
289
234
186
192
48
48
179
428
46
394
356
133
117
112
444
160
388
431
409
107
199
285
99
212
205
125
344
172
419
49
442
500
232
292
184
406
90
450
475
220
290
126
459
9
221
264
325
168
99
364
496
296
428
63
181
342
174
314
353
338
358
24
161
245
128
97
293
18
242
389
42
172
290
442
223
329
347
331
467
411
282
337
444
104
261
116
79
478
297
500
120
497
114
439
439
193
191
56
389
177
261
240
141
402
432
156
146
232
317
342
85
63
308
71
401
418
363
112
343
58
268
112
225
73
15
41
475
18
223
421
240
226
262
353
107
317
465
41
38
39
335
488
356
373
183
84
331
379
112
134
257
497
388
96
120
383
357
143
322
50
372
75
142
153
9
325
333
45
269
422
65
89
243
15
208
13
401
18
314
214
34
230
468
398
445
86
45
59
473
332
151
331
16
281
375
155
163
127
443
421
308
486
49
459
327
124
448
475
463
411
190
256
24
210
301
419
170
285
96
391
182
285
423
447
281
452
196
359
367
145
472
495
9
229
20
340
130
147
113
354
196
489
372
59
459
44
240
206
409
121
381
474
324
134
293
375
164
453
331
202
113
20
301
253
473
431
264
36
488
123
58
308
50
459
350
170
454
113
59
293
320
102
308
385
303
455
70
91
213
313
401
279
277
80
421
332
16
152
179
420
6
129
363
488
139
113
133
486
357
352
449
6
36
104
425
402
156
383
206
316
192
7
122
146
396
240
364
4
98
465
183
171
411
424
389
429
172
388
209
74
188
298
404
94
388
308
189
344
242
167
428
415
257
223
7
484
205
417
24
69
327
148
319
13
207
225
328
345
109
446
459
71
368
387
372
257
166
416
22
128
257
254
280
331
335
433
310
468
124
402
482
215
142
235
110
179
334
92
335
70
70
1
129
104
224
298
470
207
328
414
121
89
278
37
79
271
499
353
124
211
154
196
220
150
40
165
478
389
349
180
435
29
274
304
260
233
68
500
150
376
491
181
142
436
104
412
241
223
281
99
366
500
214
359
294
314
273
214
450
2
259
166
59
150
266
247
285
215
384
189
87
391
95
69
429
324
247
494
81
146
260
308
110
460
100
59
148
123
477
426
326
166
64
386
64
129
134
466
406
393
269
244
225
74
411
99
183
81
36
21
207
222
282
319
213
9
328
11
436
216
239
389
489
157
9
500
30
18
458
313
28
64
170
6
281
88
460
113
74
332
25
386
276
277
329
435
300
302
243
448
133
19
392
368
285
420
445
167
388
161
106
276
388
151
303
382
311
204
155
113
79
232
12
112
208
181
458
66
421
492
124
69
493
134
336
94
429
279
112
283
222
490
109
360
456
22
17
278
442
243
442
433
427
346
37
481
26
300
312
420
474
102
207
247
472
350
51
247
337
165
158
66
417
169
128
284
346
266
443
148
355
162
253
11
316
97
78
273
419
151
309
431
213
265
277
398
431
352
233
447
137
370
188
414
68
209
459
180
113
142
301
376
93
463
230
346
236
10
25
174
346
482
403
156
156
351
264
309
46
462
321
398
61
295
161
420
484
140
426
256
80
15
323
75
217
167
247
87
217
299
89
250
56
157
27
452
190
339
142
489
120
265
484
488
205
91
357
435
5
420
352
308
269
440
386
21
82
102
93
184
225
183
182
129
312
496
53
246
106
362
471
62
29
201
422
373
317
190
341
60
466
78
494
52
83
49
225
290
369
196
428
447
390
331
37
397
143
42
333
154
162
395
109
443
494
481
71
446
473
433
248
43
484
94
125
213
101
331
248
253
33
240
243
238
86
229
301
368
116
85
62
468
205
279
362
213
19
299
198
174
113
79
314
7
122
152
390
114
133
113
80
459
7
472
16
351
380
345
270
310
468
215
17
152
106
221
397
360
103
482
236
213
317
69
339
93
288
232
88
26
166
92
200
20
415
455
153
433
347
238
21
469
407
254
78
63
451
93
303
128
383
165
337
207
53
18
132
461
460
478
485
451
304
247
76
255
56
484
135
200
45
96
289
255
232
284
105
455
7
212
67
440
42
394
165
64
350
462
36
78
39
462
262
317
174
26
336
269
350
57
450
93
5
96
102
336
19
463
418
86
342
37
173
316
153
291
320
252
494
486
403
57
196
260
227
74
174
362
433
189
418
448
165
454
186
449
84
22
381
309
220
415
96
340
401
14
27
477
181
128
418
393
186
421
72
424
128
179
203
194
86
156
272
154
409
381
250
71
404
79
234
195
480
198
489
422
484
231
53
73
109
191
202
432
27
240
90
433
333
245
125
327
239
250
307
351
134
185
192
143
465
127
381
225
14
183
77
35
149
414
6
281
100
373
302
388
752
637
521
590
641
746
596
654
550
439
780
460
779
627
372
540
630
306
674
320
412
379
690
705
386
583
308
480
751
349
321
376
543
647
715
603
322
385
797
665
588
358
365
537
317
433
713
542
431
648
761
469
432
559
589
390
736
672
704
542
436
553
310
739
361
567
501
325
671
424
551
685
554
777
335
550
621
392
350
344
696
662
362
583
520
482
448
669
358
558
598
449
584
436
588
363
458
549
383
648
760
355
422
719
398
481
740
356
716
454
396
304
697
508
695
690
363
322
396
350
488
619
472
568
477
664
311
341
301
643
369
661
499
569
319
477
360
328
358
380
662
510
449
446
701
796
768
544
345
367
794
692
730
458
541
495
607
682
532
552
508
301
425
694
533
796
581
455
416
698
568
462
332
421
332
729
419
597
514
432
565
648
332
461
321
356
472
510
330
642
658
568
341
344
318
551
652
544
672
647
339
333
420
322
439
758
778
453
366
778
360
545
660
658
374
504
525
397
559
736
796
363
355
432
722
772
726
640
535
788
649
335
503
441
443
309
714
357
605
587
494
714
380
492
751
325
594
668
358
440
498
358
386
668
593
456
772
313
429
561
736
631
774
601
796
665
651
520
589
376
374
471
470
558
369
379
492
341
324
746
495
505
359
568
684
503
652
708
340
562
305
570
502
446
643
334
785
563
562
692
740
376
328
451
746
657
727
789
713
507
754
531
471
755
441
549
643
702
763
747
644
587
667
484
586
556
456
722
512
724
372
468
431
405
474
379
744
770
301
316
653
379
799
355
324
648
563
442
594
508
705
765
323
646
350
503
408
576
797
784
748
633
661
701
702
407
497
332
608
421
522
785
350
740
329
528
792
414
704
373
442
522
544
781
355
617
445
459
686
329
562
328
399
655
519
369
348
556
346
402
570
586
743
468
551
609
590
741
668
720
396
428
414
633
334
455
697
798
526
448
686
673
403
500
640
552
450
769
747
483
337
453
355
724
380
779
303
535
432
370
753
673
420
712
792
611
442
447
489
390
731
699
679
396
578
475
667
344
415
587
729
645
474
758
491
659
502
702
341
493
532
770
453
475
736
358
672
482
592
695
472
374
384
523
767
754
525
499
452
465
423
496
572
580
515
536
381
581
473
692
611
754
432
425
703
447
764
596
716
796
538
677
518
330
718
769
678
351
374
325
601
505
543
636
737
344
512
632
785
609
800
347
369
396
748
361
304
436
646
795
435
373
727
379
586
363
332
630
664
687
713
745
456
750
420
585
747
785
365
653
321
728
767
482
683
791
758
425
333
608
305
305
448
769
527
511
797
521
578
414
384
474
461
793
349
315
712
505
357
518
318
675
607
320
780
773
706
452
662
567
475
367
546
534
787
696
501
613
695
778
387
455
629
668
324
484
797
564
306
531
542
759
483
434
460
551
782
566
632
366
436
743
661
377
425
551
664
618
514
737
362
508
763
466
786
795
580
545
589
626
705
782
305
578
311
602
685
324
569
466
701
467
633
794
641
538
654
694
573
382
302
730
753
332
766
528
633
433
654
379
393
447
674
426
594
524
337
533
718
385
717
350
594
569
503
739
344
743
301
451
792
702
694
578
573
390
364
794
401
773
355
540
684
714
304
588
714
435
617
584
579
465
409
441
645
421
598
773
713
344
744
341
765
691
797
652
428
736
794
571
387
583
342
710
439
754
629
547
648
321
701
683
437
333
354
527
683
511
675
664
531
713
453
333
629
304
534
706
516
476
791
349
343
741
764
639
460
369
596
328
377
498
541
699
759
638
616
741
460
730
569
384
492
689
485
724
350
763
688
557
307
473
338
711
435
696
389
384
415
621
384
516
584
752
678
316
507
664
781
740
450
514
633
621
784
643
347
352
522
649
541
786
537
784
769
476
698
700
402
503
764
785
325
510
597
498
365
716
491
611
308
455
471
624
658
524
626
710
562
758
782
525
502
333
428
708
365
440
572
761
699
520
434
781
654
754
766
757
492
746
496
791
430
750
450
635
333
590
338
595
575
402
610
679
355
386
764
797
629
591
704
380
328
363
594
757
612
621
792
603
675
420
787
617
502
343
736
564
693
787
374
312
393
372
763
406
718
391
623
469
491
695
799
439
458
329
675
409
385
793
725
412
634
392
669
761
676
716
334
722
637
790
630
767
572
608
616
679
635
399
759
341
443
367
759
429
463
776
784
444
669
307
709
619
526
757
418
310
477
731
678
452
383
726
450
503
646
398
338
338
661
492
654
418
394
470
363
593
559
317
576
544
527
339
612
505
541
337
512
382
500
755
546
318
775
551
676
523
679
371
497
694
763
555
677
744
677
782
735
600
550
508
522
705
639
638
673
490
679
794
740
485
478
745
300
447
782
644
398
561
791
774
523
613
518
413
703
407
779
739
350
676
605
794
649
331
621
460
757
713
344
453
593
331
473
577
774
591
337
559
739
419
487
736
332
781
612
747
790
539
708
435
343
775
429
438
412
474
703
658
658
364
598
740
567
389
463
608
439
307
355
487
572
487
767
557
791
486
623
682
377
366
632
455
591
415
703
706
308
560
470
527
505
562
447
561
470
638
526
443
521
363
613
617
316
351
515
543
604
785
629
391
510
783
600
711
588
583
643
546
343
490
762
523
679
723
585
535
391
338
427
737
357
550
560
749
390
304
417
519
317
680
572
350
566
495
318
362
379
554
350
518
530
528
335
520
389
471
647
688
694
708
560
405
719
421
718
744
461
481
682
452
475
475
725
384
546
392
747
741
750
519
304
709
444
777
702
430
725
310
418
486
389
401
538
657
372
451
779
505
418
381
756
760
602
365
395
602
586
775
734
355
497
651
350
668
338
706
488
609
612
585
319
596
321
639
366
397
373
656
787
571
362
744
370
450
666
455
734
611
312
553
524
411
706
682
342
555
580
749
444
375
771
411
573
473
476
626
312
736
314
327
782
696
780
350
302
442
576
513
540
656
642
789
496
659
582
711
311
577
338
477
522
314
571
705
419
670
558
638
579
600
326
764
495
568
547
646
513
488
639
405
423
750
439
709
300
475
561
528
509
380
417
586
565
459
608
391
508
487
731
366
398
714
544
377
784
510
341
318
459
533
346
779
435
745
365
591
482
579
498
369
718
724
544
683
549
481
469
737
314
587
385
724
734
657
542
757
616
564
360
661
536
393
337
389
335
410
577
587
730
437
575
740
720
631
311
684
491
530
463
339
516
698
551
630
621
564
529
376
535
312
493
660
468
402
456
711
578
658
637
418
396
563
585
381
772
791
573
475
370
311
739
496
638
544
325
500
610
416
713
531
676
337
764
391
565
358
484
447
419
327
762
554
366
766
419
345
714
705
493
436
484
596
449
754
378
352
457
759
374
666
478
636
757
655
733
596
672
453
472
781
484
578
518
443
691
796
427
428
356
601
581
498
796
697
745
546
739
333
466
746
390
765
439
512
636
532
699
339
491
738
716
300
743
360
366
532
599
421
488
462
505
799
324
546
474
607
326
543
577
491
640
684
308
505
313
300
340
566
315
349
597
582
378
692
412
746
429
328
755
657
448
745
750
391
333
361
707
645
345
345
442
676
569
549
637
754
703
343
403
606
524
698
320
410
492
562
511
317
571
471
388
443
770
552
660
583
358
418
408
493
324
354
597
702
597
464
597
495
664
454
417
694
688
378
337
437
554
791
650
439
711
630
440
451
314
545
709
385
778
443
727
739
477
500
348
683
497
776
579
550
682
401
660
618
484
754
353
443
597
543
642
582
449
390
564
599
798
518
394
684
478
616
701
554
764
677
761
472
352
657
748
314
707
787
688
475
537
644
758
511
776
770
651
512
690
480
398
710
662
526
571
431
465
750
689
662
336
761
467
315
680
607
723
445
340
625
494
327
536
789
641
596
450
381
658
552
319
475
703
346
625
356
467
721
338
372
476
396
510
312
376
578
453
509
722
322
562
573
617
639
602
700
751
524
565
429
693
722
601
597
488
568
371
661
441
700
769
321
649
564
344
405
671
461
669
344
489
427
369
635
600
323
429
360
567
352
469
692
652
656
432
488
794
607
422
377
393
664
353
676
634
675
740
608
489
788
544
678
413
534
476
723
633
772
334
360
578
378
585
771
370
425
784
349
455
443
668
342
687
451
678
491
506
693
439
615
664
523
491
580
469
556
653
711
536
524
417
593
676
785
742
583
793
654
731
508
738
601
320
463
722
521
785
388
721
424
495
774
624
629
506
302
359
428
614
367
437
678
340
661
744
678
356
631
384
768
471
648
488
534
516
541
499
610
376
411
623
394
424
730
584
374
312
650
688
425
579
516
545
428
472
567
607
736
785
669
659
787
643
454
648
510
617
426
619
549
613
733
360
416
571
520
676
742
665
359
598
773
368
549
604
576
658
387
452
301
776
637
670
499
380
638
781
607
611
573
752
649
683
667
575
364
393
752
607
318
673
655
713
405
650
455
441
463
594
487
578
540
585
474
637
701
453
434
711
417
522
655
528
544
722
773
511
619
725
736
778
504
787
343
771
561
755
432
738
588
341
678
627
307
447
483
550
545
606
445
430
384
382
381
440
546
491
457
404
513
448
711
389
676
531
554
568
733
386
530
318
400
678
452
669
586
717
323
373
713
501
683
619
351
718
571
373
725
413
758
772
674
659
510
546
742
668
522
589
483
622
608
469
552
602
414
481
625
595
765
497
698
601
511
662
726
355
436
679
784
336
565
733
369
484
327
577
614
615
300
703
622
585
568
536
554
428
760
697
658
789
353
542
385
664
759
310
371
734
660
596
625
459
517
750
733
621
678
356
770
765
467
316
715
661
689
483
398
516
706
404
574
511
598
404
308
434
716
581
608
302
394
496
699
459
401
644
539
556
461
615
590
587
304
794
736
606
459
558
320
608
511
617
388
661
797
417
389
423
593
525
446
396
567
473
339
503
401
510
567
510
460
698
448
386
439
613
772
732
492
378
572
798
403
423
450
584
614
474
606
401
572
518
683
472
361
471
598
503
381
674
507
780
424
624
599
793
714
572
422
724
734
600
772
589
585
519
456
773
603
536
450
731
593
408
446
315
744
797
564
736
548
562
760
587
644
561
595
472
552
402
679
765
492
573
800
372
455
700
663
640
444
615
765
407
738
678
658
349
680
399
713
710
586
324
472
563
556
596
459
533
495
498
551
566
463
540
794
457
604
672
424
745
617
627
367
694
564
458
653
693
652
558
703
649
466
672
725
732
353
436
432
405
533
303
683
698
392
301
631
539
305
630
441
330
320
705
587
701
581
584
470
521
325
548
473
462
737
415
745
398
392
393
690
427
579
501
398
583
695
464
317
455
768
624
568
565
554
404
317
323
411
745
336
716
560
744
537
352
677
746
487
512
597
570
631
648
756
418
308
762
716
644
321
404
623
458
341
354
461
372
726
632
565
630
771
569
565
705
321
389
752
725
488
708
642
306
423
589
571
483
327
603
464
728
345
691
462
626
563
587
312
636
492
593
448
478
424
738
621
415
703
467
403
746
342
311
406
581
607
454
627
618
465
536
468
629
516
671
567
750
594
477
776
613
707
763
441
371
751
544
718
301
605
765
362
724
727
765
709
691
665
593
521
696
321
445
620
328
532
731
455
361
473
573
324
772
538
306
740
623
704
516
515
611
752
551
348
467
520
786
526
609
451
617
497
695
340
364
626
657
738
715
633
640
733
613
645
719
794
751
758
713
489
748
457
596
527
496
512
341
467
419
799
403
573
784
771
399
777
332
713
369
604
671
391
506
792
310
491
432
303
789
520
314
346
788
692
555
478
355
517
315
707
606
666
794
370
545
662
549
647
785
675
721
461
729
318
421
548
729
742
750
391
328
673
590
647
326
684
666
657
643
360
566
581
623
320
302
598
364
339
565
412
376
690
314
315
592
610
312
300
562
669
648
677
369
665
610
750
398
358
443
619
652
350
459
582
543
304
542
462
413
417
689
406
317
715
708
722
420
334
675
360
554
425
601
760
576
344
762
701
423
698
721
509
768
314
598
542
311
370
320
628
578
639
451
707
388
410
305
473
784
509
301
752
539
716
452
691
460
729
796
425
475
605
774
565
344
448
493
732
347
338
645
791
340
421
319
797
768
632
489
318
550
630
471
350
612
703
606
330
506
378
623
762
404
469
709
431
614
406
560
702
782
503
324
755
437
493
416
398
474
462
301
538
308
747
479
598
460
350
517
745
409
540
734
732
440
781
498
417
681
554
709
798
688
513
424
302
674
623
686
330
644
566
603
533
752
504
643
691
535
747
459
771
729
572
619
681
387
665
511
798
300
437
537
637
704
588
576
572
510
476
350
570
708
305
782
517
594
476
640
541
667
340
623
577
694
640
313
630
561
723
731
580
489
660
626
510
669
673
443
760
799
762
568
572
344
714
464
720
680
731
348
760
734
715
708
416
651
743
697
491
325
792
677
784
386
742
408
795
386
711
723
527
784
307
653
534
372
717
493
697
384
665
478
641
562
471
651
610
414
725
418
521
342
775
785
696
757
379
401
734
394
580
318
776
776
407
487
681
420
689
423
406
465
561
475
661
352
419
795
489
515
362
325
384
435
621
491
676
446
704
515
741
381
403
607
606
322
323
499
761
758
548
536
648
455
714
743
746
348
619
445
315
601
703
504
666
694
630
757
621
753
406
488
348
600
791
541
648
545
590
310
766
420
667
608
492
737
727
583
791
790
503
420
386
488
489
588
792
650
677
580
777
491
386
614
660
410
427
404
580
758
475
719
654
508
558
485
339
431
648
739
712
332
336
429
656
347
798
689
623
453
732
418
710
471
777
635
691
604
353
392
500
699
719
361
546
764
641
350
737
459
796
662
734
533
735
723
771
561
541
318
476
400
565
357
595
437
704
406
725
333
605
562
787
332
439
686
625
564
788
350
532
398
373
359
473
533
552
325
607
468
445
703
541
678
491
441
685
641
452
465
300
569
795
663
743
525
581
370
331
459
694
653
319
561
579
471
484
314
567
512
495
512
357
320
736
718
564
507
357
650
634
646
484
684
510
544
769
497
507
800
713
629
768
332
733
571
474
447
384
385
793
662
701
775
794
610
482
528
549
666
307
528
455
589
741
556
458
701
335
428
396
737
319
359
616
738
476
663
343
425
430
317
307
565
316
442
581
378
629
630
587
547
594
522
538
531
603
531
409
404
439
336
537
783
533
472
775
392
749
530
590
469
651
701
491
620
675
369
720
631
583
714
641
441
593
333
569
776
712
427
619
480
637
357
422
581
682
742
310
399
660
582
595
534
713
697
791
743
431
606
348
354
547
396
402
697
765
412
755
669
377
384
315
401
564
548
734
763
556
540
654
384
506
788
617
495
569
506
347
408
659
509
685
738
758
727
721
776
368
366
358
735
511
775
417
788
782
328
645
398
751
455
541
671
312
420
416
428
603
682
430
659
340
570
305
573
560
769
717
311
718
345
528
614
340
428
315
457
332
732
740
699
650
380
464
512
721
639
430
485
315
378
747
480
419
561
412
347
729
673
702
303
381
313
493
389
506
692
379
421
407
747
517
476
474
613
705
303
403
712
635
692
717
692
526
419
729
680
675
536
378
602
770
363
447
303
491
455
664
303
514
642
456
749
518
351
484
372
657
584
341
590
730
665
557
405
504
546
451
481
592
307
619
629
703
552
456
795
635
532
727
335
722
739
656
784
760
430
729
622
449
550
572
370
529
729
760
588
671
672
729
578
633
449
570
749
532
524
668
583
707
724
630
468
462
492
594
392
574
564
471
776
613
337
605
349
385
680
390
397
668
408
581
623
682
445
584
344
668
790
736
756
402
483
722
313
732
749
529
596
730
498
403
494
579
537
544
473
606
482
381
416
706
469
677
554
762
542
620
787
448
755
465
687
531
354
419
350
724
398
365
617
474
379
522
589
692
310
361
626
635
338
300
469
626
598
681
373
766
439
544
485
750
412
728
388
373
616
759
373
456
763
754
565
354
677
574
761
556
411
645
330
715
699
563
501
731
440
470
442
544
734
572
303
497
768
727
575
533
474
446
338
464
533
619
575
688
677
376
477
389
566
731
496
340
650
486
646
775
581
408
318
443
492
440
697
522
683
400
654
415
391
561
425
715
379
530
394
356
423
732
402
509
322
340
634
426
740
800
609
699
774
739
340
453
574
421
723
304
487
419
413
725
480
516
307
352
359
319
728
468
431
474
743
514
680
568
325
532
685
453
537
777
786
785
759
576
323
336
483
526
472
356
595
326
754
645
346
651
755
761
726
330
655
321
625
374
476
635
425
768
494
397
390
543
518
550
629
310
526
397
729
577
642
415
708
366
711
561
484
537
441
470
518
330
459
658
389
468
313
497
514
552
497
440
333
337
422
319
750
572
472
569
391
330
627
579
463
787
544
668
616
362
454
415
357
345
570
341
687
534
726
478
340
757
800
531
405
649
460
461
577
505
549
740
733
611
604
612
693
316
400
653
348
436
573
605
344
317
557
442
725
309
621
492
532
479
352
408
381
334
378
706
733
727
669
690
752
712
352
450
401
380
773
395
524
607
612
659
488
625
530
766
800
317
746
785
724
718
487
402
476
366
766
368
471
471
741
332
642
333
591
664
300
711
715
613
616
330
722
323
354
335
638
312
526
389
417
540
300
630
784
343
507
733
675
326
724
401
747
765
770
340
435
373
717
406
414
425
664
787
650
323
304
785
497
762
312
527
505
731
499
724
433
422
571
592
752
654
608
798
303
625
470
679
400
706
472
684
341
653
784
764
773
437
306
791
713
634
536
799
708
354
369
624
428
600
490
583
486
558
545
480
649
450
615
587
513
695
433
793
529
770
512
528
565
415
611
655
551
497
490
800
564
385
383
535
468
749
767
408
410
422
799
313
313
389
734
773
471
469
480
675
392
367
721
781
354
360
480
576
695
333
752
391
759
399
380
758
471
344
781
305
460
424
394
433
474
392
641
589
666
674
425
770
712
733
566
301
769
452
788
371
441
718
590
777
418
639
657
652
306
360
776
794
529
531
472
576
542
761
669
681
495
391
595
789
630
742
331
699
455
626
663
566
715
652
541
341
466
491
647
435
612
522
313
315
387
777
474
392
600
433
608
408
560
792
357
412
328
582
767
360
497
365
537
573
739
688
756
580
681
449
504
392
332
446
787
645
614
694
320
341
376
617
770
457
618
573
568
708
726
523
800
471
366
430
691
470
567
736
302
789
333
437
759
423
617
426
376
698
615
790
650
329
339
652
767
499
682
591
448
448
330
564
534
758
538
701
729
385
764
405
709
601
543
404
642
794
665
608
598
606
380
638
524
415
513
754
388
523
653
797
655
680
382
601
359
567
435
485
553
474
667
762
467
785
699
515
489
414
427
534
525
439
356
546
726
528
710
690
724
732
330
609
769
660
637
715
573
644
755
648
514
477
344
394
784
368
581
351
540
353
542
622
344
708
300
331
768
760
732
378
622
594
420
598
468
315
713
499
402
730
384
720
311
438
591
625
781
551
579
492
568
393
327
705
351
730
744
661
733
375
466
650
378
731
734
356
635
574
550
738
512
654
696
362
800
679
394
550
728
700
598
319
685
540
785
790
770
573
706
767
584
451
728
668
547
435
347
407
641
697
463
642
405
478
680
501
334
701
682
707
674
568
547
472
704
335
670
645
522
580
485
717
558
456
722
557
685
534
690
599
302
493
527
435
588
356
730
364
489
648
785
322
630
683
549
523
415
385
799
557
303
450
725
309
511
443
766
642
749
403
649
493
541
545
307
464
374
481
476
681
584
633
444
701
428
678
438
799
456
688
436
465
639
730
558
527
628
718
378
403
439
798
529
739
452
310
469
468
424
485
545
507
566
383
785
427
591
489
764
421
566
406
662
480
463
781
510
615
301
611
633
577
657
335
582
734
570
464
418
309
679
691
369
739
724
796
301
732
659
569
334
512
422
709
332
790
440
665
489
705
653
454
367
700
435
567
633
461
534
652
362
409
576
533
417
739
482
511
584
645
755
697
490
594
667
307
505
733
322
585
541
341
457
669
416
772
468
707
502
678
491
469
635
646
611
594
712
422
790
664
343
572
616
516
678
398
456
564
717
439
524
642
428
531
697
582
448
408
382
642
543
478
619
584
453
643
686
346
798
681
603
658
346
666
632
728
503
664
729
518
470
452
522
447
484
449
558
330
577
585
345
406
473
456
364
612
677
608
325
463
729
766
423
625
458
376
552
715
613
552
488
775
575
649
668
308
543
417
525
750
578
384
666
694
581
310
359
624
753
767
665
598
742
784
721
380
340
517
748
328
508
564
314
533
460
617
617
750
622
790
672
595
360
565
720
525
455
712
501
396
420
590
310
487
730
377
652
335
730
529
373
654
715
559
629
727
319
373
428
628
468
383
311
503
336
662
647
756
346
664
733
310
589
379
713
522
620
534
385
652
393
528
586
603
382
572
685
325
486
503
472
542
578
777
576
540
746
629
611
481
553
618
501
499
491
651
426
651
336
311
509
604
415
511
647
572
490
692
591
469
403
652
586
376
587
410
626
496
666
784
554
494
707
328
620
364
491
618
624
733
642
718
781
421
645
627
357
623
715
714
508
795
545
701
474
641
632
593
772
728
719
798
306
447
313
460
359
347
679
479
751
480
312
488
443
356
734
349
629
728
688
437
687
333
721
780
638
423
597
531
489
796
680
710
661
785
423
425
419
362
618
300
684
605
468
761
429
731
601
695
588
340
395
418
632
326
561
456
550
628
565
748
584
637
604
513
568
613
600
767
368
693
639
689
508
310
694
685
562
670
461
379
635
709
705
614
379
391
364
537
590
612
661
305
496
734
776
513
540
630
762
445
496
784
762
353
350
467
608
372
453
386
790
481
745
322
552
783
658
611
671
793
758
340
345
412
551
662
472
499
666
719
780
504
347
304
680
653
781
393
460
341
648
589
604
568
466
569
515
490
387
437
656
504
592
679
610
314
512
302
559
678
367
361
741
598
442
560
645
321
534
593
402
505
658
459
685
577
448
540
768
376
341
560
535
481
682
717
364
335
409
706
594
448
477
446
712
365
674
692
362
663
560
304
308
426
545
530
357
640
631
787
693
776
617
553
507
647
350
731
716
462
397
395
585
663
567
423
389
743
381
730
568
677
390
534
790
617
648
584
470
451
737
728
624
612
549
772
480
303
405
679
724
311
359
791
451
506
626
342
796
565
628
662
634
656
336
407
704
353
564
495
411
782
654
516
728
385
404
739
589
758
626
568
759
384
583
589
412
570
471
468
330
615
356
636
317
447
476
734
413
771
549
326
605
573
643
794
552
687
785
562
456
369
519
610
612
732
401
511
588
338
731
314
362
488
557
662
564
482
523
398
759
737
451
352
532
400
673
419
663
548
309
593
562
437
800
772
438
374
680
499
731
594
599
740
447
371
770
442
691
408
438
722
532
516
507
613
461
548
334
311
748
322
754
313
795
782
709
342
468
660
500
543
491
738
405
692
335
648
604
714
372
768
688
396
677
677
451
395
488
687
378
541
787
680
726
556
382
398
727
645
307
380
431
440
765
552
699
547
336
442
632
465
535
567
762
628
731
597
513
723
760
630
573
790
667
578
527
367
527
319
418
517
480
772
784
457
318
325
381
337
485
697
738
651
761
315
571
612
754
641
660
520
768
508
729
524
656
385
575
487
639
307
420
444
565
592
434
403
784
723
380
550
333
709
636
552
383
752
602
726
469
735
545
334
581
728
728
303
546
476
493
498
541
715
546
458
363
553
597
608
398
508
631
597
741
734
342
639
576
310
459
552
440
366
428
668
626
603
512
343
652
463
520
536
503
476
544
684
363
313
468
367
129
349
113
102
300
160
218
67
340
196
19
337
462
357
192
92
182
379
271
226
288
215
445
374
84
189
103
82
367
4
141
209
498
376
202
82
292
319
379
218
163
36
138
94
176
248
275
298
368
262
194
54
424
275
292
388
137
23
481
185
77
399
227
401
365
172
160
366
412
220
158
117
175
413
495
457
175
55
21
213
23
76
412
92
205
183
323
364
228
120
278
120
262
316
310
271
297
124
391
235
316
241
258
10
271
67
454
277
471
310
297
447
144
67
349
213
2
192
126
304
47
188
360
31
290
306
37
111
457
336
323
181
213
203
392
291
300
26
159
355
368
245
320
117
311
1
78
116
264
473
336
497
204
228
146
392
246
426
252
312
336
428
469
106
406
265
431
382
454
447
147
198
63
311
142
323
16
397
109
106
465
367
154
55
195
238
99
434
317
451
380
324
267
185
87
220
156
101
208
416
436
468
460
438
387
5
165
85
406
163
35
101
448
66
103
450
494
24
225
310
35
54
437
401
430
21
426
391
457
387
79
445
252
487
299
48
444
42
424
467
459
475
8
44
37
486
340
294
23
100
267
66
136
55
174
476
385
190
47
46
83
85
339
33
268
295
152
267
243
359
177
45
437
49
273
124
76
482
260
375
415
52
304
238
365
41
184
322
7
119
368
145
245
217
424
108
177
172
331
128
183
332
272
322
352
125
444
411
450
199
360
197
150
343
146
296
101
454
26
237
449
283
470
497
168
159
387
25
307
422
85
394
132
453
330
400
382
64
175
393
182
296
431
312
420
41
248
91
284
331
333
218
391
273
154
329
170
17
176
154
365
229
148
429
155
205
39
309
169
488
472
285
313
274
178
63
136
479
150
420
163
399
437
77
337
418
102
334
294
96
282
206
445
477
301
114
86
44
70
87
403
115
165
91
57
85
352
420
459
267
143
461
189
292
196
410
91
175
68
99
301
255
489
348
49
3
289
56
151
452
16
344
166
92
148
428
280
25
274
273
62
235
365
66
330
179
185
332
16
481
342
140
76
356
47
325
234
270
354
224
482
307
184
77
302
228
355
359
270
413
464
271
318
290
175
485
290
319
366
269
201
95
10
82
180
120
437
134
179
462
49
21
85
118
471
438
337
153
336
440
9
369
101
119
294
500
349
45
238
333
447
248
294
125
134
288
16
87
22
429
318
147
435
59
254
348
296
463
181
360
217
424
71
63
265
463
96
177
447
143
441
389
321
156
279
391
80
31
13
152
183
267
485
393
274
155
476
154
448
100
47
210
132
226
187
257
485
140
5
9
33
377
23
302
472
450
499
413
415
74
434
36
495
448
241
104
160
316
84
36
66
377
315
346
259
499
293
388
381
174
13
437
383
211
461
77
323
27
159
91
390
33
239
175
183
136
214
329
39
231
72
173
367
258
49
456
201
318
70
383
356
20
412
355
9
136
14
374
111
489
367
270
323
357
168
24
118
322
500
323
469
267
82
494
358
102
300
180
261
384
433
419
90
308
33
45
319
124
138
344
195
341
211
176
381
137
41
308
94
124
106
325
269
380
365
371
204
75
489
158
317
168
338
252
81
453
410
18
354
476
37
192
227
19
435
155
179
22
23
270
103
477
25
77
198
163
62
103
117
431
348
283
36
242
221
449
422
434
177
462
340
255
140
82
133
143
182
274
47
183
101
371
386
460
277
7
150
208
352
419
416
460
109
293
382
295
159
311
255
265
251
141
234
361
30
493
294
369
101
133
224
32
88
395
315
411
266
29
248
17
491
170
153
432
199
466
487
234
479
262
248
432
227
244
284
211
135
462
129
348
368
177
194
214
74
278
81
236
459
20
19
180
499
454
497
260
220
53
138
312
314
189
424
404
391
37
114
32
76
381
235
402
107
76
361
477
169
479
344
148
290
345
477
385
289
405
52
444
2
18
193
412
418
129
108
130
221
418
261
233
27
365
491
446
193
360
485
171
281
407
93
451
61
259
9
307
444
291
177
76
78
209
159
190
137
414
248
244
454
434
335
33
135
443
198
111
308
112
278
354
236
181
168
209
392
462
403
174
256
114
336
320
399
50
148
27
22
183
243
219
217
477
181
113
401
310
443
458
54
324
260
34
248
414
440
154
25
138
51
19
486
55
3
356
243
94
296
350
414
361
433
331
496
211
492
171
259
352
260
100
87
448
15
278
64
422
362
382
82
87
213
49
192
1
291
392
384
408
459
252
211
384
71
103
429
280
154
470
487
394
433
175
17
232
319
246
372
452
113
197
273
494
497
60
52
198
358
215
15
27
229
328
107
355
44
277
293
29
489
371
200
99
335
148
402
440
408
195
169
289
322
223
400
285
47
61
114
487
8
35
356
429
466
366
418
251
457
160
260
373
435
201
27
9
242
435
140
189
322
164
250
189
348
71
439
38
207
400
76
268
376
414
26
381
355
19
22
143
202
391
190
423
446
141
486
329
209
132
73
150
185
469
19
432
8
243
188
360
133
139
380
292
383
462
355
296
122
246
405
28
274
500
406
209
88
169
468
102
168
386
305
498
229
231
105
353
233
321
233
227
289
145
429
400
389
57
57
36
452
320
450
26
158
221
301
167
279
324
225
138
360
3
150
436
178
170
346
492
136
142
387
151
187
431
440
467
284
72
445
263
429
432
430
333
377
203
423
151
133
35
298
314
429
338
254
357
137
84
445
483
264
462
498
392
159
131
32
2
143
335
42
416
45
66
471
44
431
326
244
390
376
77
98
397
374
442
126
282
152
379
35
88
302
322
370
355
429
377
41
9
132
254
214
423
445
87
291
380
197
462
208
161
123
327
13
25
352
245
42
252
300
403
165
95
406
128
6
287
161
459
351
240
247
257
271
416
155
478
370
336
359
147
14
475
353
148
371
119
294
105
442
217
485
163
52
306
407
288
223
495
11
227
447
122
277
264
94
79
392
96
298
330
304
341
479
327
352
332
293
202
5
147
413
367
128
155
384
463
229
288
85
185
304
405
39
75
358
362
307
264
73
184
257
267
53
248
131
235
167
380
238
399
448
395
312
369
179
440
15
210
229
143
152
308
6
388
418
97
373
165
334
276
452
346
366
78
58
336
438
387
225
107
126
182
364
17
471
67
436
457
11
453
263
97
144
17
146
188
17
138
242
183
178
181
142
135
17
145
421
8
307
489
80
114
450
367
444
261
302
5
213
443
351
370
50
457
436
2
156
18
158
51
19
218
84
441
384
447
195
17
401
14
331
271
87
284
217
45
321
75
25
476
376
197
115
77
83
25
417
29
417
5
172
87
497
376
364
211
360
364
255
317
360
488
6
231
102
125
275
4
355
67
439
266
375
303
280
183
197
399
211
57
339
86
471
239
102
346
458
204
48
444
45
318
138
103
380
251
113
458
284
162
29
368
341
25
404
126
25
360
300
232
22
445
428
472
324
359
434
412
309
150
183
19
358
384
40
260
437
6
240
238
457
461
443
472
111
232
93
37
6
236
230
268
401
160
194
408
273
62
384
462
31
450
204
256
145
315
402
49
316
164
467
378
297
250
322
357
113
471
384
105
455
118
36
475
230
15
107
184
453
153
177
388
234
165
301
35
178
62
279
187
398
318
354
497
256
104
26
37
98
422
439
13
429
95
73
353
119
443
317
23
389
500
252
146
483
322
152
321
29
197
159
34
39
82
313
192
151
296
2
262
239
210
436
109
291
447
359
2
84
433
146
134
227
354
262
484
229
345
71
165
123
310
55
378
431
434
32
101
29
210
318
165
404
301
342
202
197
397
374
402
31
223
196
207
126
404
131
497
74
150
173
151
35
483
99
158
333
360
351
71
262
437
171
138
265
173
217
263
296
326
155
101
466
271
209
390
18
46
77
447
192
29
114
416
49
76
298
196
451
306
434
51
34
434
325
293
354
137
412
177
206
117
109
486
327
228
100
174
303
351
467
48
200
70
265
460
257
183
17
231
87
283
357
339
442
5
343
494
486
469
237
375
106
227
285
95
123
430
200
243
402
348
323
434
186
350
176
497
84
214
135
390
73
460
29
315
305
437
66
397
154
293
75
389
125
424
63
354
461
14
427
110
450
405
261
31
213
492
138
86
129
445
321
230
91
287
136
458
147
79
213
134
266
45
414
180
173
156
482
329
320
482
296
270
240
369
126
464
162
388
95
44
252
378
446
372
463
438
111
36
221
66
381
468
22
62
478
288
217
238
366
230
355
52
218
203
154
405
26
21
337
474
159
301
238
199
299
222
439
187
438
86
289
268
385
153
321
266
27
55
137
375
176
246
79
299
295
338
314
161
144
494
94
126
94
389
214
324
495
373
445
108
422
139
498
215
482
291
365
75
149
271
337
146
248
377
148
83
146
154
196
500
453
31
461
484
224
358
488
23
299
233
89
412
445
391
161
379
268
460
248
48
332
344
130
68
169
439
269
480
423
456
478
143
276
232
313
137
217
498
416
246
362
162
173
491
340
211
200
233
102
390
379
17
120
189
435
493
396
428
36
378
178
283
406
405
30
421
192
343
385
469
447
265
265
160
351
166
156
235
457
321
176
150
93
202
197
394
141
356
244
52
171
249
151
400
375
144
314
441
228
64
248
386
104
277
288
206
16
239
327
265
199
299
143
240
260
8
19
208
130
27
382
474
147
418
62
106
441
465
440
222
65
359
282
233
275
126
298
154
216
392
343
3
47
154
499
92
62
453
298
302
380
463
49
264
124
60
83
181
353
387
222
46
485
76
79
315
257
68
483
418
403
140
34
169
103
467
267
78
180
343
314
396
426
255
258
220
349
218
258
118
58
144
266
22
74
244
319
388
453
322
420
464
164
95
174
474
2
221
87
478
149
309
467
179
177
21
444
408
88
15
47
464
364
265
256
239
106
137
342
34
71
257
61
106
80
217
33
322
300
158
68
47
119
351
137
67
172
361
44
398
359
148
486
159
59
353
241
319
106
73
49
463
327
177
149
145
379
386
433
470
450
267
486
47
284
197
269
74
371
357
409
479
3
242
155
244
256
354
32
371
433
23
10
11
258
369
409
78
141
410
49
209
211
331
488
333
313
12
93
474
150
55
204
391
463
226
206
59
454
213
190
75
446
490
226
304
223
18
48
319
26
94
320
252
135
96
55
148
174
366
226
359
474
475
309
246
229
50
275
351
90
249
359
183
184
121
257
137
74
23
499
325
197
409
156
306
154
55
314
73
171
229
108
396
162
399
367
88
363
356
379
228
226
20
370
490
36
121
132
255
164
93
121
19
47
115
404
443
185
363
114
489
439
491
20
381
150
169
326
9
82
475
360
390
12
315
331
370
222
419
425
196
128
392
87
7
488
392
247
252
427
449
154
434
284
330
180
151
438
429
159
421
70
63
211
130
111
421
259
146
157
116
393
204
398
439
284
316
452
456
187
96
496
265
299
485
228
254
390
269
439
173
462
347
394
148
444
428
400
343
46
45
191
38
261
486
434
144
493
201
30
447
443
344
141
134
432
434
75
73
436
244
48
275
14
133
16
287
4
203
45
413
435
389
366
39
131
94
353
176
193
244
491
414
387
407
289
450
234
372
59
324
156
111
173
103
236
57
282
339
5
15
500
330
166
16
207
190
317
309
162
278
33
411
343
139
195
417
384
146
185
341
46
56
260
82
395
391
31
17
129
55
276
496
469
488
93
359
142
275
401
90
41
348
337
100
142
88
231
287
258
29
303
380
433
64
2
490
25
288
359
19
472
85
430
135
250
460
109
126
222
127
53
477
343
283
420
49
184
340
467
220
180
5
415
236
76
200
180
478
39
153
254
244
377
400
29
424
301
305
97
201
4
460
276
115
226
394
38
143
476
291
207
461
49
426
55
331
147
480
264
287
281
84
266
160
102
212
347
6
57
353
490
268
132
296
317
224
460
406
164
66
39
86
311
233
65
418
179
79
105
96
168
340
224
418
155
223
56
298
46
281
311
220
67
3
394
102
110
194
265
259
374
66
189
479
131
120
193
251
241
178
20
304
390
481
91
215
306
1
423
492
124
306
421
168
134
490
22
446
70
79
227
80
63
407
94
176
131
195
40
265
210
338
170
253
1
107
318
346
438
14
362
428
183
56
25
171
307
296
351
132
484
315
392
354
499
280
241
40
331
381
202
78
304
280
239
129
257
389
302
432
104
89
219
277
429
395
302
289
139
331
206
104
242
21
144
73
72
19
491
151
175
363
411
276
27
140
497
270
141
212
130
432
107
8
60
419
441
240
277
44
477
413
423
314
315
149
241
28
391
155
5
253
483
80
36
239
246
374
62
159
303
439
326
328
432
314
430
450
442
278
473
254
122
16
282
175
435
412
61
384
151
131
272
326
475
269
164
297
146
430
163
464
18
394
58
157
483
114
173
338
94
202
270
275
30
366
79
66
209
185
451
1
257
69
43
494
471
497
315
192
174
63
332
262
26
378
415
206
183
329
412
272
148
439
448
348
52
148
105
131
395
121
159
222
392
235
424
242
220
484
90
480
495
479
329
367
379
487
440
489
92
316
180
79
368
229
376
45
20
26
29
482
404
419
362
176
45
142
269
77
104
419
407
126
400
316
414
249
381
227
497
183
475
437
477
358
369
277
17
274
219
192
219
283
208
251
187
483
371
390
235
114
220
113
73
138
466
36
106
323
356
144
135
411
32
181
35
243
205
79
359
254
165
478
375
94
147
70
302
86
272
355
101
183
389
154
133
256
77
337
126
217
303
14
424
178
250
388
70
405
91
381
107
418
253
140
104
356
225
435
407
86
396
385
22
368
145
287
305
11
247
456
174
107
385
216
323
252
162
301
329
433
119
82
403
394
272
21
399
19
254
99
455
231
372
396
357
423
333
11
63
156
151
90
353
185
143
494
281
193
403
178
93
85
113
379
377
433
449
463
76
229
42
221
221
40
351
11
303
465
422
279
486
427
199
65
325
311
150
353
288
36
198
366
394
399
321
334
161
496
381
109
187
37
77
245
473
458
242
68
176
495
194
190
403
431
235
30
8
262
2
120
362
473
350
236
60
57
47
386
413
94
275
458
416
483
311
152
140
304
305
402
208
100
203
469
216
61
472
480
51
85
475
91
186
282
492
34
35
393
119
368
251
180
464
115
298
212
181
461
57
460
471
260
438
272
339
87
168
472
90
417
166
423
145
435
13
61
191
446
242
430
205
331
454
406
175
21
350
374
281
241
176
476
289
479
27
15
128
132
279
421
192
44
320
486
296
344
393
443
484
482
450
316
57
368
395
428
389
250
4
499
280
35
465
292
350
268
15
29
193
157
38
244
259
76
298
390
368
312
317
391
98
104
235
448
307
42
393
173
489
75
136
146
486
351
141
473
322
121
242
167
317
437
100
469
214
263
25
349
378
6
357
118
214
193
165
480
487
221
476
450
204
408
345
302
448
402
311
195
79
403
11
167
162
397
9
183
434
363
86
432
228
79
314
312
452
413
455
182
453
226
292
186
194
357
236
386
412
311
415
254
74
78
344
19
71
56
257
91
130
322
396
420
255
477
419
316
303
144
50
377
442
4
406
46
370
497
394
387
375
483
486
29
418
234
43
358
147
234
273
304
415
418
233
280
440
319
276
455
107
174
62
285
360
144
208
474
384
130
24
162
470
473
275
469
208
370
353
28
72
336
64
343
444
352
131
492
333
334
42
105
137
158
487
230
176
61
309
134
365
379
373
220
107
77
242
473
47
16
97
385
17
333
454
316
94
160
344
44
228
141
191
429
153
250
281
468
247
115
34
109
397
147
171
499
19
184
427
354
369
331
353
114
322
385
108
398
12
414
164
368
447
81
197
140
418
473
471
180
71
459
469
147
451
455
303
209
127
174
295
344
154
18
195
81
123
458
293
254
203
50
413
5
195
393
12
477
261
378
462
172
101
108
493
130
228
428
397
97
229
489
17
474
407
23
480
172
367
69
209
256
190
240
29
317
45
145
330
438
77
210
190
306
238
303
226
432
247
236
149
371
63
167
469
414
415
460
368
82
304
100
224
384
10
371
289
362
112
106
165
385
155
274
267
73
448
183
253
234
161
8
167
224
327
72
483
469
79
258
155
315
301
322
27
129
339
93
65
419
111
159
324
282
54
328
364
453
357
160
156
115
77
416
286
390
99
347
32
346
463
33
108
439
286
280
333
43
244
112
81
140
48
389
480
310
399
245
254
426
231
347
154
168
216
432
19
167
230
224
299
179
118
489
168
170
223
65
398
420
461
42
136
193
133
279
327
81
281
469
385
261
108
495
52
341
113
152
474
110
263
344
369
304
392
202
151
52
300
385
51
226
19
425
292
171
192
341
223
223
281
144
297
344
406
325
144
337
361
84
146
247
468
226
300
123
490
260
1
186
265
101
323
377
126
438
371
160
204
176
396
283
134
417
242
17
479
272
257
153
247
319
297
122
404
478
378
102
388
103
361
311
214
148
46
7
89
385
314
470
460
179
296
410
333
42
291
75
205
236
183
337
80
207
289
147
438
229
42
98
37
366
344
403
176
3
216
66
77
162
460
460
142
55
401
463
353
446
185
478
22
322
434
200
264
166
15
434
4
147
437
186
426
371
302
494
17
273
42
38
241
17
478
194
429
271
94
88
391
360
188
194
201
450
355
179
58
450
191
48
265
111
310
219
130
224
75
340
370
222
131
81
238
482
317
180
145
412
148
474
59
34
220
283
189
162
229
110
182
341
328
180
449
341
65
169
370
107
19
238
287
475
475
8
167
137
171
246
86
232
137
384
384
422
144
118
188
232
337
448
273
468
228
134
168
141
54
307
317
22
213
94
136
24
35
290
241
121
48
97
176
262
103
152
290
485
2
249
413
36
153
462
311
479
53
106
290
452
357
230
240
342
6
410
98
379
45
309
95
52
166
151
123
195
201
419
418
203
172
414
392
169
147
403
215
498
76
252
299
462
319
106
158
207
478
345
67
306
392
42
162
148
495
178
30
393
340
232
368
344
151
368
412
19
127
25
357
93
356
220
151
377
388
378
40
273
261
11
252
401
457
117
37
471
420
393
419
24
67
168
99
268
54
287
355
99
35
405
94
376
71
99
286
168
358
83
102
56
55
36
86
363
378
173
169
311
473
112
313
159
238
291
496
315
327
71
8
424
485
274
362
446
111
347
320
292
311
324
351
496
315
316
123
208
69
347
486
489
213
315
68
258
233
221
86
285
436
325
379
154
52
306
236
489
257
294
97
367
378
327
235
393
82
392
205
377
341
130
287
305
338
23
325
310
157
189
186
354
366
499
344
430
252
398
77
212
65
447
273
377
331
422
35
322
424
398
10
225
39
244
336
267
134
174
14
210
289
259
235
489
209
251
291
24
226
438
468
326
458
446
260
444
243
225
451
333
96
88
228
61
433
419
366
139
462
470
360
58
465
129
58
432
180
52
284
74
417
29
334
224
406
256
350
323
392
157
250
248
428
353
357
27
386
215
21
489
194
122
363
323
153
201
186
433
16
294
447
162
145
328
483
46
263
163
495
383
489
38
56
329
198
241
331
274
98
45
176
260
65
306
219
385
330
280
32
285
69
425
256
148
230
182
397
261
54
169
287
382
319
28
30
74
299
88
28
116
50
265
496
474
81
286
408
150
123
297
179
216
283
374
291
87
361
124
163
207
66
125
167
264
440
198
468
32
315
143
294
337
473
87
252
117
108
386
239
237
425
157
340
355
94
79
473
455
161
222
395
117
421
262
89
348
275
449
477
159
289
136
256
189
451
22
48
407
451
375
2
387
326
4
263
356
133
238
272
57
3
80
305
154
29
327
386
206
68
204
314
423
287
37
349
177
12
162
402
498
113
456
326
198
96
273
7
375
266
118
97
204
17
161
310
468
63
1
123
274
487
452
314
424
359
209
239
189
405
217
167
215
356
80
252
25
258
353
432
98
39
326
224
341
149
93
326
430
203
329
290
394
25
157
430
294
418
272
293
411
457
177
86
266
182
89
354
365
45
140
387
272
448
117
49
327
370
354
128
367
265
284
260
287
125
331
249
168
479
278
215
450
268
39
320
439
120
7
481
157
360
145
276
265
27
380
317
426
121
282
64
393
200
176
170
491
124
273
492
496
32
12
212
223
487
414
208
434
434
496
186
450
467
297
66
480
410
32
442
491
412
182
259
482
421
127
262
33
196
304
62
304
203
124
286
420
325
323
352
27
479
9
491
7
22
404
30
91
450
386
313
313
325
493
409
188
348
264
370
342
395
387
152
362
441
248
312
121
158
306
300
110
196
283
486
72
257
493
71
276
215
465
3
265
500
456
13
361
393
183
36
53
9
135
438
296
290
331
170
289
254
46
233
471
486
337
397
114
341
337
194
336
109
309
138
402
427
347
368
398
499
141
150
470
156
56
31
367
437
97
76
84
438
112
251
5
126
342
366
188
185
331
298
311
43
74
448
228
480
241
381
255
324
356
50
262
42
181
23
123
248
102
238
226
49
228
81
298
27
145
124
431
246
469
320
9
103
156
259
348
462
427
37
40
490
50
54
289
74
179
379
80
381
338
268
496
467
197
367
60
276
91
38
466
215
128
403
118
351
75
321
481
322
325
203
209
57
34
9
257
120
274
291
138
433
398
198
434
249
8
490
216
56
73
306
89
388
479
304
2
484
88
336
36
442
202
88
393
31
296
246
32
373
73
454
353
164
480
308
175
362
145
318
367
480
324
415
425
149
384
346
433
477
38
450
376
356
67
20
298
135
232
143
10
72
354
477
409
413
314
222
171
294
227
230
431
228
326
108
265
278
400
442
379
24
308
225
258
35
188
97
115
108
74
407
294
225
270
151
241
381
475
208
123
261
211
131
173
455
281
251
454
96
223
15
355
75
200
203
497
140
400
354
303
291
262
122
496
281
472
412
307
208
247
78
126
380
65
140
369
11
128
63
179
414
40
250
243
451
258
303
213
198
488
285
95
171
13
39
429
314
174
54
317
66
310
477
32
198
4
106
334
10
31
312
161
269
428
391
109
39
336
120
66
317
148
354
420
18
90
108
180
2
44
382
361
163
301
195
102
431
205
260
470
445
127
6
282
143
2
401
259
133
159
496
106
437
191
54
400
326
13
100
322
369
220
339
25
34
402
117
419
320
224
287
440
19
62
245
269
30
59
492
435
115
356
402
254
303
54
345
108
148
174
291
58
261
348
391
130
360
367
227
436
483
300
498
239
482
322
36
471
150
83
458
434
342
2
82
24
454
177
150
152
496
277
425
208
400
172
406
260
237
159
414
40
491
462
50
289
352
434
69
498
281
425
424
152
206
293
12
163
86
371
86
128
330
410
378
169
229
369
341
87
489
322
132
156
37
162
434
208
70
53
335
322
461
171
44
113
319
261
484
268
44
301
132
444
137
126
126
468
301
347
459
51
251
344
458
55
135
267
103
137
336
46
470
378
309
410
90
397
100
26
285
498
270
470
56
7
343
95
245
58
446
150
73
500
61
373
465
201
207
142
369
312
206
142
298
162
349
409
405
344
154
148
209
442
302
416
412
343
82
443
11
478
462
85
55
166
193
374
259
231
456
266
46
409
99
374
332
115
166
326
322
305
253
404
415
491
108
52
245
366
102
337
52
220
137
457
276
452
360
174
482
484
311
353
97
180
360
459
178
76
311
126
192
490
385
69
67
13
318
377
442
442
257
221
488
21
49
410
264
468
473
356
240
468
274
408
48
413
453
304
73
65
492
416
216
221
41
127
381
37
422
229
201
97
189
196
475
240
344
191
492
256
42
10
207
376
136
130
284
184
98
96
337
171
106
229
405
424
347
282
425
82
291
1
278
372
431
36
422
374
293
213
288
498
209
395
321
32
197
409
228
377
282
389
30
338
159
33
380
205
277
454
575
381
574
686
706
339
348
716
361
590
654
679
599
628
359
734
403
573
651
402
405
679
418
705
348
358
787
310
398
596
518
656
576
519
558
743
465
631
481
490
610
714
509
301
769
754
740
325
770
516
541
304
449
674
676
459
475
572
589
571
665
664
304
485
417
755
509
433
398
771
578
721
673
399
493
610
367
455
607
306
571
419
667
502
676
489
302
664
442
349
711
337
570
706
772
674
374
439
567
457
725
350
406
675
613
694
517
445
483
303
634
740
733
444
746
781
730
583
518
741
407
632
585
399
491
636
718
422
369
705
384
316
460
382
423
463
321
571
455
340
700
321
510
719
738
711
552
727
776
420
449
785
669
758
446
701
574
688
371
400
412
556
608
417
622
550
419
657
608
785
359
563
610
582
450
300
481
445
440
526
638
412
440
768
557
473
665
300
598
570
556
461
712
527
490
748
364
447
712
731
701
723
671
355
569
539
796
656
661
322
349
407
729
667
655
663
356
541
535
556
374
608
485
693
330
318
533
716
469
543
495
506
586
637
409
742
540
432
554
668
735
314
350
761
577
524
699
356
607
735
482
448
317
540
329
418
510
783
775
491
465
655
499
481
324
341
366
538
388
594
512
753
649
689
707
397
628
655
588
519
423
441
707
677
771
567
662
784
558
355
355
793
356
602
535
602
415
335
799
409
545
657
800
611
407
791
737
499
651
663
422
496
728
654
494
606
769
544
409
551
385
340
473
703
517
408
352
449
633
624
326
644
636
398
509
734
375
501
402
449
410
537
449
395
703
303
732
746
311
672
449
731
616
414
390
378
412
414
409
626
439
433
398
715
684
433
530
309
705
427
724
595
718
598
317
707
436
519
319
590
793
615
437
670
359
447
302
320
738
684
670
799
589
427
658
575
563
628
699
385
729
527
424
415
447
510
700
634
550
698
323
469
745
563
310
463
761
329
511
531
656
345
323
667
341
784
634
473
531
538
631
456
495
520
649
595
498
341
402
684
480
746
708
781
690
519
507
348
520
611
730
730
688
696
310
616
342
769
617
738
720
360
651
301
750
679
640
506
680
661
568
709
784
397
622
486
316
510
346
385
659
354
675
463
681
508
480
572
609
450
330
640
494
406
390
455
542
649
519
635
522
672
344
504
559
455
760
708
537
756
670
415
742
591
300
502
719
606
317
706
713
380
525
421
512
797
481
485
598
441
500
356
578
661
422
318
673
609
476
617
344
316
336
523
647
499
794
680
346
634
321
417
781
673
654
403
644
488
683
632
493
699
736
687
346
718
551
421
588
412
776
677
314
624
515
526
471
645
514
456
473
589
421
418
727
572
456
794
344
745
576
736
369
595
319
402
430
765
650
593
747
335
789
398
639
547
579
502
542
723
391
461
599
797
325
521
525
639
598
545
646
679
723
304
475
783
670
339
619
363
645
683
557
748
367
731
334
334
794
537
554
364
783
771
467
672
377
351
726
688
512
417
337
737
609
604
706
746
611
589
658
348
652
572
425
725
674
447
458
556
332
576
780
419
328
376
795
393
616
498
519
591
522
617
508
538
343
382
494
660
779
637
449
703
680
448
411
760
394
669
499
714
622
447
426
578
444
667
446
395
342
309
778
589
661
343
318
636
621
402
458
428
505
364
719
545
357
770
673
555
689
633
543
583
510
740
582
713
619
602
631
485
628
412
658
713
784
456
599
607
649
553
372
741
784
762
575
325
479
749
521
507
748
357
346
456
483
644
552
303
575
388
353
300
336
600
664
714
370
772
669
364
677
553
678
518
696
755
566
417
318
799
774
472
616
300
455
657
495
616
740
335
505
346
361
664
597
469
550
351
391
743
519
757
414
753
782
666
673
494
361
644
747
511
718
492
371
644
693
422
306
489
730
526
644
528
576
720
772
396
659
699
324
765
697
663
576
475
674
704
729
498
678
453
628
553
369
328
549
337
735
571
477
695
649
540
408
793
578
769
368
782
605
798
518
364
531
620
335
491
316
687
756
517
597
544
765
394
361
648
431
781
800
782
586
421
434
772
438
370
760
623
498
640
648
323
694
779
350
674
626
782
360
524
332
742
625
369
379
688
587
316
330
755
629
664
622
614
447
602
631
624
329
636
479
432
657
377
537
369
519
309
353
439
636
338
546
750
372
354
381
454
510
602
740
469
388
439
338
425
712
760
355
330
450
784
483
526
528
502
456
503
474
320
725
317
697
712
589
784
738
485
442
449
712
674
492
634
339
661
546
753
466
363
417
621
765
410
355
623
416
603
641
454
309
743
489
619
673
721
671
771
485
362
582
584
368
319
760
664
433
794
609
748
666
355
451
454
524
762
731
557
447
585
559
535
388
774
765
464
659
367
629
663
544
643
326
776
697
440
320
349
655
336
617
638
469
599
301
783
618
448
538
360
731
390
760
776
503
730
303
387
401
799
396
792
453
662
619
574
333
499
423
725
557
551
789
754
732
352
592
704
455
441
320
384
594
746
359
565
527
471
589
564
545
669
420
780
557
713
569
503
457
533
425
359
317
479
783
423
721
695
785
318
743
498
471
478
649
586
563
581
665
654
621
736
417
786
416
451
307
535
684
668
558
314
759
366
694
341
497
527
539
794
404
592
630
376
732
474
548
408
407
686
394
679
770
602
343
668
350
587
352
646
708
331
488
637
427
575
518
432
509
675
603
637
547
647
716
471
633
706
578
313
751
389
799
711
587
402
321
598
735
400
708
435
428
736
369
454
590
423
352
677
531
318
786
617
520
591
470
725
472
349
703
740
763
723
568
406
687
736
648
380
395
612
721
588
577
655
305
408
660
521
414
683
744
710
587
563
511
745
487
750
687
552
698
616
664
741
392
460
799
798
694
333
337
738
374
501
501
472
721
731
774
674
428
435
376
554
502
377
670
653
649
702
541
372
479
471
417
394
789
347
686
627
642
458
558
756
617
313
381
680
441
487
727
333
725
512
707
513
440
627
444
537
629
340
471
506
505
689
474
521
780
662
719
493
592
624
455
714
314
644
707
446
726
501
545
741
307
677
769
394
550
749
320
735
322
387
450
599
642
508
461
515
328
639
787
577
406
408
675
450
440
467
608
594
741
314
567
540
629
732
491
453
584
678
358
357
594
550
556
553
362
639
407
562
554
738
672
768
647
733
350
786
652
697
404
410
743
385
610
529
332
527
575
367
479
622
351
429
456
578
538
456
380
626
400
302
723
465
701
752
529
623
738
321
617
374
502
580
483
527
653
674
738
456
491
575
689
746
518
730
332
757
341
490
388
587
562
597
555
725
655
477
696
770
468
454
718
626
791
480
780
340
373
496
770
363
511
551
700
748
597
644
718
689
373
709
482
460
445
701
510
670
676
675
521
737
792
478
745
408
352
358
577
408
684
708
626
446
359
681
628
597
714
444
705
732
487
557
665
330
497
763
414
335
700
470
486
438
591
689
737
314
701
580
441
480
407
489
644
562
371
585
685
683
648
586
403
753
704
755
566
319
681
786
561
743
389
328
569
534
675
559
301
664
317
562
534
399
391
770
672
523
553
768
736
599
623
701
701
519
394
407
481
784
683
386
408
321
312
585
710
345
351
398
573
386
722
477
735
525
305
625
605
562
618
737
509
581
496
578
707
685
466
493
371
307
520
749
478
552
662
789
313
425
517
624
672
462
345
675
548
674
622
445
457
527
689
715
606
639
481
338
733
382
749
594
427
531
729
641
384
643
697
436
562
402
534
477
777
618
406
367
626
766
528
484
601
748
501
775
444
514
493
405
526
663
378
723
611
506
469
656
790
452
725
438
481
737
603
605
727
644
641
772
341
775
757
390
495
373
715
348
485
379
308
339
476
316
390
660
503
405
440
713
745
702
572
547
393
744
705
632
452
392
745
779
709
610
612
398
391
384
770
410
381
611
596
517
355
766
568
382
630
729
465
308
718
410
321
479
547
540
509
796
469
449
442
575
613
318
681
746
746
361
614
767
448
543
463
669
791
616
473
761
339
643
411
553
484
391
797
504
669
499
382
326
685
472
499
791
662
452
681
506
352
620
672
798
776
786
698
497
478
476
775
338
650
314
762
644
740
463
338
509
461
599
330
686
757
693
375
587
787
761
320
632
469
370
471
515
660
538
476
426
688
510
714
626
439
601
487
441
797
466
537
464
481
599
301
741
786
346
569
553
780
323
742
661
609
788
515
605
702
485
772
392
714
700
632
495
554
519
392
448
505
741
780
430
484
553
693
334
548
511
344
504
545
713
736
425
627
550
798
543
692
386
495
305
381
613
419
314
522
544
718
624
512
445
759
437
639
668
453
550
327
375
423
367
550
385
574
368
701
552
317
399
689
794
314
551
746
383
474
707
472
697
449
392
511
536
779
643
498
490
615
328
508
660
772
471
476
585
797
387
597
614
473
757
384
451
745
618
614
678
365
785
629
469
677
466
307
619
786
655
539
705
468
305
792
745
619
620
320
718
425
557
349
333
741
316
389
562
358
567
496
665
748
511
736
530
644
367
632
705
696
323
473
515
641
767
403
648
352
391
732
779
632
577
454
444
451
346
561
504
326
365
351
421
719
785
606
770
580
491
516
331
428
500
399
343
800
562
712
503
347
701
745
440
519
408
506
320
355
334
782
632
544
779
323
371
698
664
322
363
728
399
432
360
761
745
436
431
311
355
300
644
428
300
791
721
680
586
316
731
557
464
503
574
330
665
475
408
749
800
325
700
686
662
479
604
640
492
750
681
715
378
445
396
311
324
574
352
350
744
740
764
458
325
475
335
511
555
776
545
394
508
407
558
421
623
576
652
536
684
519
456
447
516
589
749
623
786
502
669
545
577
492
457
336
678
532
388
752
672
595
741
397
314
798
655
320
523
721
791
529
583
541
625
611
355
696
757
672
339
728
704
339
479
656
374
697
696
539
349
342
426
418
541
555
628
474
435
709
785
504
337
689
606
320
766
736
350
584
781
564
745
468
599
631
406
449
413
728
522
387
358
708
385
630
580
389
383
772
504
395
631
676
583
661
777
508
384
624
463
658
727
544
634
712
450
758
638
655
503
789
565
671
575
338
749
699
708
689
581
723
523
409
370
465
674
576
466
337
576
632
634
391
643
678
437
455
423
636
785
349
319
779
337
404
623
496
476
729
707
637
520
704
507
793
796
482
550
408
542
650
673
327
486
673
531
796
368
570
632
491
674
748
640
755
530
662
614
573
718
653
613
798
443
558
611
569
732
335
626
649
762
442
323
575
390
651
780
760
602
418
735
337
760
387
457
439
672
774
421
704
663
506
662
482
388
766
773
526
667
602
494
663
318
729
321
722
474
477
313
705
477
659
543
346
372
663
729
494
472
686
516
798
648
653
566
652
668
362
379
422
327
509
629
655
687
436
376
756
521
530
631
408
399
774
641
678
526
440
648
414
771
614
773
601
703
303
682
755
329
400
784
747
323
476
631
795
552
612
631
788
798
518
531
364
780
752
708
444
796
796
795
688
686
386
383
632
359
739
740
597
745
375
576
667
734
601
678
423
588
413
332
482
763
582
475
720
404
799
656
426
764
798
548
585
596
580
711
407
391
318
730
369
417
483
491
779
495
517
572
474
310
666
317
617
484
539
671
697
364
670
424
395
791
705
388
464
579
300
754
321
588
730
585
718
681
586
526
535
504
702
454
691
742
683
355
304
667
366
521
589
400
791
636
423
579
675
470
466
682
568
575
550
665
744
546
496
356
496
474
485
531
649
374
546
707
699
790
595
390
792
781
524
309
751
373
319
335
416
322
685
663
313
563
579
745
691
544
780
547
473
678
441
563
473
538
505
413
754
342
501
703
430
356
541
518
577
312
328
721
572
562
520
790
715
403
546
729
500
538
308
421
799
402
701
485
415
397
445
650
742
428
639
433
749
547
426
717
632
782
402
658
303
500
741
377
444
413
446
458
670
354
740
586
549
732
450
680
515
429
682
534
385
393
584
611
322
428
638
410
311
603
760
643
655
760
483
377
706
329
652
790
537
735
520
480
707
555
719
729
409
733
436
376
622
757
520
361
678
442
696
790
336
416
780
704
777
784
705
460
454
669
774
447
521
396
344
361
711
323
532
503
334
613
591
616
695
615
662
619
422
608
452
499
356
505
664
596
749
336
305
644
660
590
611
306
405
783
494
798
608
424
589
637
487
685
688
324
360
598
719
617
485
702
320
491
667
365
465
643
512
686
762
406
496
577
452
443
797
604
746
508
646
531
400
638
343
724
470
306
339
690
331
432
349
557
603
779
448
788
328
316
604
738
361
366
318
572
681
348
692
529
416
702
435
613
476
595
581
319
626
304
371
361
621
760
423
581
315
757
415
406
636
707
541
368
732
692
332
750
759
689
677
455
723
521
581
662
667
565
705
730
600
460
502
569
643
563
660
402
342
690
701
776
630
495
737
736
735
564
789
679
751
469
488
401
537
750
647
304
602
548
793
320
364
737
736
580
757
665
548
456
333
518
656
667
660
307
343
464
375
368
624
419
738
485
481
748
444
349
302
403
776
617
700
701
742
770
677
664
378
460
372
486
454
306
412
397
661
575
342
401
338
466
370
501
755
435
426
347
460
512
325
541
715
397
582
426
451
451
521
572
623
338
300
464
356
547
575
610
761
765
312
440
789
669
778
788
394
315
738
464
789
568
531
485
549
733
446
405
431
730
800
417
639
457
300
674
748
576
692
342
626
624
746
653
563
553
680
560
652
487
773
360
499
381
551
304
408
406
482
400
668
563
698
353
531
501
602
729
450
352
363
320
431
306
731
798
598
717
596
657
460
765
311
432
741
613
312
435
748
319
410
437
797
665
659
627
499
523
460
720
311
374
618
759
564
745
707
576
514
650
577
364
467
683
355
529
614
470
346
683
721
477
648
585
410
622
560
666
314
512
789
356
575
402
684
380
456
402
340
558
706
518
760
382
478
524
610
546
601
567
529
397
732
413
717
413
718
796
636
605
487
582
770
689
379
632
759
503
392
550
480
590
798
329
442
516
660
540
778
695
383
547
695
335
314
696
468
520
349
369
775
784
308
341
360
314
709
634
455
523
467
394
464
350
625
774
353
676
418
433
314
318
489
778
407
483
409
621
309
516
537
647
514
429
328
651
561
464
469
514
717
488
750
477
503
428
612
402
462
396
773
754
709
626
554
317
601
760
723
465
491
348
441
785
693
637
420
347
521
797
780
570
430
357
583
460
694
520
607
773
710
398
646
598
731
721
682
746
396
725
759
685
392
545
583
743
566
452
316
787
438
799
364
423
502
548
395
640
588
660
677
679
785
647
426
705
480
545
403
718
747
396
646
437
389
313
713
441
760
526
490
399
300
444
433
434
607
436
342
371
641
321
585
568
327
728
427
581
383
364
749
387
569
573
659
544
440
574
750
630
756
404
711
573
404
426
395
794
704
658
460
487
713
538
458
575
686
475
613
308
752
689
659
328
410
524
553
767
773
567
657
692
696
354
736
520
480
639
577
654
426
597
708
331
730
670
685
482
334
626
749
372
499
714
755
306
611
441
792
516
785
409
654
706
704
326
428
724
582
506
520
466
754
680
455
560
607
405
453
529
590
519
791
405
734
448
480
310
752
728
376
414
791
751
628
398
786
713
736
378
593
557
764
602
561
625
390
341
601
449
547
433
520
327
711
466
479
383
542
412
354
339
582
494
742
337
592
626
749
508
354
682
481
597
743
636
710
454
378
519
419
668
532
470
367
780
560
480
737
562
770
414
621
431
744
528
792
697
616
484
450
491
507
567
705
353
386
464
746
752
718
433
520
658
448
303
437
459
475
465
738
485
777
317
388
312
491
492
323
729
567
481
554
559
413
583
328
486
587
323
399
427
377
504
667
569
376
344
731
599
399
419
498
628
764
557
692
731
527
386
327
657
786
548
639
594
359
450
554
342
659
623
689
444
590
665
642
317
520
628
554
414
527
500
574
307
372
587
471
675
583
482
750
657
364
606
782
739
720
506
724
789
364
700
584
353
472
322
521
800
684
470
398
717
697
357
363
421
716
713
424
550
697
634
427
334
590
781
781
680
327
342
717
550
451
629
520
499
719
444
313
755
486
362
488
560
496
497
371
524
419
527
506
584
411
795
511
371
469
624
330
363
799
301
338
642
772
449
710
301
585
403
662
391
473
440
382
394
608
327
505
528
625
603
306
367
773
593
465
768
712
723
573
725
440
465
592
785
643
721
328
722
453
691
695
640
485
676
519
775
305
710
348
746
468
778
587
394
510
345
785
545
763
356
636
303
370
458
445
687
304
459
467
757
404
382
664
436
670
359
769
327
487
706
709
554
793
456
438
473
788
401
329
741
800
535
781
670
502
750
723
537
336
427
740
418
661
762
461
627
471
347
702
762
350
339
382
380
594
743
608
369
620
668
359
380
546
792
776
739
431
556
507
378
720
553
650
724
517
418
473
387
792
355
616
641
598
509
474
613
425
345
668
338
353
446
411
520
521
645
651
601
729
687
397
445
329
701
585
413
653
739
780
544
383
457
517
456
533
719
640
528
800
569
661
653
307
490
412
479
381
326
654
783
401
780
302
613
318
313
600
698
659
396
688
634
651
696
634
694
677
449
422
413
300
310
531
743
512
593
382
404
684
639
363
506
437
478
575
331
696
405
337
438
716
739
633
382
675
621
597
479
562
310
507
719
704
675
538
593
586
658
588
793
494
616
732
634
600
726
415
649
794
444
445
670
737
403
396
412
663
689
442
445
769
364
538
386
516
312
507
754
431
530
570
580
418
778
798
348
771
775
392
509
663
315
417
772
402
574
693
620
620
584
754
419
371
741
626
462
323
376
504
609
382
593
625
415
476
466
574
543
774
546
475
350
380
448
409
464
422
759
582
789
689
407
383
622
663
394
685
642
779
736
362
754
621
366
371
552
411
521
605
439
781
715
692
721
783
479
502
491
425
423
750
600
711
566
326
649
536
428
679
338
648
781
662
627
307
583
571
391
316
533
459
619
429
384
769
495
329
382
674
359
328
393
344
671
459
471
651
466
363
535
713
456
513
478
516
775
498
324
737
381
719
669
367
378
783
759
668
567
693
355
700
507
597
629
716
455
592
478
593
722
561
772
789
666
768
539
605
332
740
356
534
611
478
348
570
407
737
384
621
647
436
413
317
798
718
514
675
426
783
393
721
537
636
453
379
370
533
575
743
414
492
505
459
470
633
753
547
321
795
627
772
552
434
529
502
671
322
507
432
380
566
421
489
356
436
620
711
479
344
622
673
473
459
511
528
770
560
648
711
556
507
758
602
584
639
682
306
645
786
578
546
522
600
495
617
568
361
636
569
555
780
649
434
790
483
677
545
686
603
555
490
541
790
504
450
660
569
495
302
452
438
742
545
423
675
745
389
670
789
347
588
569
361
681
705
480
370
467
587
636
742
511
360
549
445
682
308
533
669
498
307
776
779
607
322
751
339
369
471
658
708
368
571
762
370
670
424
327
777
664
359
770
739
393
524
302
495
341
721
506
367
494
500
653
566
578
441
628
327
673
452
784
317
707
765
594
714
469
427
666
759
491
483
366
573
330
544
489
512
470
453
494
519
569
800
442
379
526
726
518
569
680
390
492
355
733
695
334
703
539
363
339
407
529
647
338
610
727
353
311
518
453
519
559
559
415
391
725
572
610
746
467
496
501
793
472
575
758
678
727
352
308
353
452
382
316
485
420
301
311
749
435
577
596
487
586
739
574
760
748
450
350
360
421
472
736
409
660
793
711
420
534
379
458
434
441
766
317
541
426
367
594
741
467
529
421
628
402
396
751
381
602
570
329
384
344
471
355
679
604
518
374
784
403
465
646
512
445
358
770
690
490
773
572
403
329
616
506
586
509
510
774
660
642
302
660
315
683
403
421
489
765
425
313
378
409
691
644
589
511
504
387
685
340
419
351
305
680
760
340
672
573
787
633
520
646
475
795
702
405
687
497
339
677
663
778
585
348
519
653
741
556
626
752
400
544
640
771
700
714
501
755
652
494
316
441
517
501
303
648
303
595
470
659
325
590
491
569
642
506
672
322
391
717
790
761
414
586
671
706
326
757
562
336
671
469
723
427
575
597
649
553
401
413
348
453
538
401
777
665
433
681
574
639
551
671
470
522
589
631
395
331
429
766
338
694
416
404
656
625
763
515
793
735
391
320
718
691
745
609
539
770
314
631
447
568
643
361
353
570
716
612
584
348
654
335
520
681
657
313
778
369
441
651
326
426
545
695
389
454
756
578
637
636
665
336
680
538
522
671
592
779
654
785
690
438
672
396
377
486
311
320
322
689
688
398
536
728
780
722
335
433
358
521
477
315
457
401
407
686
580
534
343
316
542
340
552
368
414
646
404
695
345
410
675
537
356
785
638
340
361
640
708
708
636
580
372
679
302
533
571
442
300
728
513
330
752
476
749
387
782
421
707
680
711
490
505
431
420
387
780
317
381
532
711
631
353
371
427
364
544
650
450
398
388
581
516
666
411
798
566
743
508
572
651
735
632
500
420
383
673
453
398
445
620
500
509
429
787
361
572
490
542
322
438
723
623
418
527
800
679
388
583
724
430
513
303
314
674
314
440
534
491
576
332
367
737
573
519
587
792
729
381
548
772
612
525
376
768
625
465
329
574
766
705
378
713
787
414
720
642
409
723
565
446
553
524
590
565
540
435
750
368
542
764
575
597
443
519
419
442
690
726
661
576
477
746
447
470
519
361
402
793
399
379
549
707
799
499
765
733
775
408
428
469
425
456
729
394
685
488
794
326
411
422
762
509
794
462
742
318
444
460
743
348
504
511
596
329
716
691
568
415
455
742
648
757
799
654
423
308
727
707
497
319
320
578
587
700
626
679
524
612
531
700
660
589
683
624
694
567
334
773
610
380
790
447
722
394
351
412
346
636
753
529
725
523
469
627
381
448
472
587
772
330
432
342
721
749
459
485
569
550
429
350
710
429
384
579
694
765
582
712
526
597
572
794
382
425
501
321
595
480
604
370
733
408
559
469
329
472
612
620
501
523
666
393
432
393
631
439
382
750
334
530
564
681
571
406
589
679
306
741
672
751
304
787
618
733
697
633
641
351
612
747
675
427
446
551
764
516
471
305
376
662
386
312
396
462
760
451
549
561
703
678
516
688
320
304
800
555
508
691
329
504
389
355
717
534
309
438
756
369
665
514
630
486
550
505
726
688
455
482
410
543
466
608
769
318
382
453
692
331
355
756
578
741
358
484
537
457
518
315
351
437
481
606
479
539
568
675
464
572
529
332
718
526
367
606
536
600
665
481
603
747
461
585
423
749
524
348
327
676
451
735
432
479
618
790
538
685
772
704
381
407
548
607
648
440
340
530
673
582
610
470
534
634
666
330
556
423
350
728
384
718
688
575
742
792
514
463
513
459
519
371
740
365
501
708
554
530
386
409
779
300
643
766
448
607
777
730
495
654
450
407
597
333
643
322
586
767
693
603
374
755
421
689
373
339
392
768
568
462
599
393
484
779
771
347
732
566
504
388
713
777
533
405
488
336
646
436
652
337
722
650
480
674
599
671
551
513
668
399
733
415
437
361
711
477
583
783
639
680
498
533
617
511
456
489
690
438
320
508
580
481
459
797
770
679
435
584
733
701
550
327
708
471
631
600
721
594
369
369
662
483
454
343
517
526
736
474
705
501
404
485
417
353
403
539
686
415
416
653
620
418
414
581
530
467
578
414
620
584
650
617
638
713
336
746
670
498
696
346
614
781
379
692
326
479
342
580
669
329
429
738
631
729
572
335
381
436
344
792
438
539
563
624
536
497
670
553
318
556
563
605
313
571
528
669
428
585
610
769
360
478
411
312
314
237
465
11
28
470
218
130
13
158
352
49
489
201
278
200
56
180
411
63
130
220
290
359
166
61
409
269
337
144
310
122
61
271
335
1
261
154
245
179
133
155
50
281
22
139
368
245
337
177
142
204
327
460
266
232
414
197
277
109
221
139
364
498
41
198
464
61
484
220
216
493
41
383
406
145
222
221
140
77
236
237
189
161
406
5
178
478
317
209
246
442
146
48
210
4
288
316
314
24
194
332
84
178
259
253
317
401
106
233
341
35
285
240
121
368
436
50
139
35
102
91
85
337
441
241
228
437
356
79
139
31
194
471
461
222
77
210
356
40
257
237
188
397
176
172
224
499
307
47
72
92
299
237
160
143
69
384
37
245
463
332
322
4
37
372
423
462
421
166
265
404
59
380
305
131
260
403
240
8
187
309
387
275
286
164
493
342
323
345
46
367
50
231
427
217
122
67
453
293
145
161
90
360
405
179
195
98
103
250
39
193
242
419
137
176
420
67
443
255
106
38
219
500
221
371
479
193
246
421
224
432
250
387
278
112
114
212
164
54
132
37
47
192
207
73
242
462
409
48
250
79
82
137
391
295
292
57
148
127
124
320
71
123
124
327
101
296
71
25
25
206
362
284
235
171
491
467
197
234
21
137
450
268
324
61
399
229
471
89
28
277
272
478
287
301
459
242
128
184
423
385
325
182
371
30
44
388
444
22
47
247
432
123
88
392
7
223
255
89
438
227
422
65
139
479
480
390
255
416
249
28
407
305
414
495
317
417
64
486
270
301
336
146
462
306
118
161
332
165
246
112
169
83
349
421
408
285
433
315
328
9
390
384
177
420
112
29
293
471
73
28
67
416
231
63
247
217
54
301
62
457
305
313
308
428
480
220
351
238
239
256
222
116
309
296
324
278
437
299
463
468
325
164
58
36
333
20
263
366
447
467
457
70
432
209
134
488
384
162
57
178
394
192
420
435
456
480
217
395
275
54
359
94
406
429
312
60
41
300
209
387
149
482
86
217
274
436
61
404
110
310
354
239
33
64
204
428
378
405
326
108
466
201
453
431
303
311
79
12
348
217
267
333
340
92
45
321
60
201
3
27
227
362
52
243
117
163
268
267
480
185
87
136
459
408
217
497
312
85
207
304
82
419
119
256
276
84
484
58
38
432
113
128
238
317
93
141
494
438
26
202
484
117
51
75
426
405
495
45
134
189
11
309
35
227
219
483
174
353
253
456
471
278
479
438
174
343
213
57
243
288
40
159
60
117
354
470
455
78
86
350
499
66
447
98
42
453
41
303
500
269
64
48
88
431
169
270
302
44
307
204
69
254
123
40
370
374
125
220
53
479
236
471
29
276
80
47
80
320
434
412
496
11
292
301
345
210
203
304
347
160
171
369
324
271
363
371
364
126
399
181
137
149
331
255
26
483
93
313
292
49
198
142
285
267
121
67
29
380
185
52
402
171
234
40
171
60
332
264
433
326
420
433
495
27
396
335
208
39
302
467
219
299
109
453
327
293
336
367
181
260
475
249
352
297
163
101
475
61
466
293
345
427
465
409
386
130
464
167
166
152
472
153
237
482
471
184
110
89
272
463
373
126
261
276
59
346
135
165
404
429
125
496
273
231
146
20
487
17
181
434
357
314
110
255
437
120
224
353
91
199
177
409
228
316
206
41
437
142
437
419
477
228
417
478
423
247
309
314
265
193
96
222
287
297
145
382
404
434
171
277
500
402
416
213
267
3
224
356
33
117
477
371
351
255
369
135
417
196
329
19
74
130
325
401
174
297
356
65
6
327
414
423
127
496
137
65
285
42
413
369
35
39
404
54
193
42
403
247
434
200
335
412
4
315
8
360
92
442
244
388
359
232
455
310
203
20
282
363
467
230
15
339
56
440
481
67
481
324
149
129
290
305
29
240
219
1
445
431
303
153
468
199
270
288
108
341
60
259
274
379
365
386
196
471
478
384
133
194
404
485
333
186
489
286
66
7
348
103
443
397
126
420
204
87
59
397
35
465
98
355
474
371
131
288
185
89
179
288
279
7
145
486
441
226
259
246
443
462
147
357
296
332
25
180
481
215
396
67
73
322
78
477
476
57
60
296
406
277
125
374
471
283
50
191
254
325
452
495
459
352
279
92
334
438
449
105
430
275
415
207
6
356
258
377
283
460
221
31
403
46
182
239
282
17
420
255
164
307
41
499
291
237
278
180
411
19
192
100
19
24
448
428
470
394
476
127
348
232
229
164
452
174
53
255
364
345
478
43
167
419
69
104
346
309
41
272
477
381
352
399
53
97
409
423
441
101
271
399
118
42
421
240
185
83
339
359
167
8
226
10
479
274
108
49
356
269
95
217
477
39
300
191
448
282
56
180
279
397
171
202
474
189
101
459
289
117
358
105
409
497
125
229
324
96
262
82
70
80
270
146
43
140
212
377
422
424
273
234
40
138
476
414
139
345
368
172
222
234
256
407
122
208
490
359
161
361
175
42
87
299
203
60
447
345
8
403
230
113
454
409
287
136
10
60
481
150
79
48
346
320
167
15
189
297
439
21
420
116
495
167
368
152
201
323
265
81
344
151
37
443
257
95
194
270
225
84
65
157
90
466
87
437
465
150
6
5
205
318
131
434
287
328
16
193
73
449
445
242
277
223
405
414
294
449
27
349
54
287
74
425
317
358
303
442
269
81
202
199
419
355
460
191
46
49
11
441
235
69
179
70
365
401
362
272
450
149
20
153
332
375
173
242
359
134
439
230
331
198
164
315
246
256
245
183
71
142
34
213
74
117
347
434
62
203
274
363
253
435
143
190
231
402
33
277
104
63
283
456
448
323
276
109
34
84
31
422
36
175
124
271
3
113
336
86
427
355
84
274
495
358
393
375
207
218
94
297
418
88
203
467
74
431
19
46
423
99
406
7
409
264
138
185
42
62
216
306
184
211
401
294
459
3
354
221
476
5
13
450
215
434
255
252
139
497
128
17
28
82
494
291
332
401
151
42
222
284
169
90
309
293
103
477
434
73
306
60
338
353
230
40
47
156
99
395
2
267
64
31
61
141
183
266
102
86
231
131
244
130
264
481
494
280
270
285
388
321
353
220
270
368
19
400
208
239
103
388
498
136
38
286
252
123
377
428
304
423
291
275
380
77
173
464
368
407
320
182
484
307
79
33
495
432
370
53
264
230
494
190
154
163
315
424
31
125
132
292
281
444
287
22
109
52
353
483
14
32
408
6
207
406
387
146
452
87
491
495
319
423
202
126
67
146
346
104
170
158
444
219
493
9
201
212
208
323
62
409
64
334
391
255
120
482
243
132
43
479
197
191
23
14
409
308
62
316
143
315
207
42
200
129
40
250
231
230
477
404
476
380
34
357
331
280
348
328
130
323
380
462
284
91
130
84
317
136
420
213
43
400
200
275
414
454
458
52
253
191
307
140
361
450
84
76
100
158
227
359
375
259
165
375
112
393
280
293
248
305
220
368
297
335
169
174
228
314
315
261
434
111
151
326
500
452
374
305
85
159
437
116
491
328
471
122
491
93
71
428
351
173
213
423
2
112
388
46
355
20
208
122
298
215
477
159
189
317
436
475
382
61
101
187
210
477
199
82
178
129
337
149
182
458
14
349
409
260
291
469
471
177
260
87
210
130
124
450
115
123
107
202
304
351
220
231
113
455
136
21
207
147
86
269
13
305
104
458
186
341
338
159
25
201
170
201
69
500
481
357
432
228
306
398
22
106
421
133
394
214
294
218
361
27
107
24
244
349
372
110
394
38
255
109
75
268
380
122
187
61
452
444
194
101
45
51
100
285
81
84
58
229
49
5
305
143
500
253
151
12
319
225
56
296
160
498
45
110
466
407
61
22
500
368
494
386
320
237
55
196
488
112
268
246
113
342
258
141
145
293
294
428
23
475
24
213
81
219
473
274
150
337
286
202
358
412
220
487
139
80
430
359
353
99
422
287
199
369
489
80
205
295
92
438
50
132
11
300
415
192
314
121
329
54
203
237
309
29
304
435
83
480
142
467
370
362
267
481
421
406
205
264
197
56
287
66
111
412
469
129
62
200
192
63
116
88
407
339
82
375
486
31
442
29
358
371
336
56
58
468
193
97
94
130
260
271
45
315
406
251
157
85
398
331
354
112
26
405
323
213
21
369
86
491
358
67
91
371
406
274
5
359
410
482
229
17
88
393
364
291
484
154
131
178
54
366
421
487
131
127
290
138
458
287
32
423
274
407
64
348
102
271
302
227
424
361
413
445
202
377
22
96
423
155
384
215
403
177
102
125
95
496
84
62
32
434
340
178
38
103
405
468
180
145
255
17
255
162
42
34
305
124
52
115
485
99
107
293
53
55
291
450
490
490
26
490
340
142
313
426
322
156
263
205
486
468
282
350
403
321
169
485
115
253
358
347
192
458
52
146
475
109
233
342
329
331
187
453
141
146
437
21
446
182
337
279
462
149
272
101
233
278
58
477
465
389
216
146
66
1
312
497
310
234
472
128
190
425
188
167
396
163
282
340
23
442
447
500
308
135
265
480
12
97
167
151
318
316
222
154
402
242
454
142
117
266
272
162
159
267
128
420
417
356
277
450
131
374
258
250
442
99
481
429
283
330
463
301
168
493
140
444
53
450
115
482
417
395
421
418
447
217
71
349
124
434
323
409
188
139
38
204
98
165
88
214
488
62
351
397
264
500
197
300
289
158
466
47
306
363
95
201
198
382
314
297
196
376
118
395
345
426
333
343
444
356
89
307
210
363
357
182
433
194
59
106
132
240
323
391
416
174
14
386
164
436
500
9
162
179
451
253
470
297
334
154
134
349
86
362
322
466
17
377
401
327
468
437
500
173
335
26
118
201
65
403
6
302
262
107
29
158
438
295
364
125
474
321
454
55
337
425
422
236
357
20
437
138
162
442
91
62
457
314
348
31
462
434
482
480
487
57
374
46
279
416
53
247
251
424
144
230
144
313
64
171
400
433
336
264
191
37
20
117
214
269
232
17
307
360
454
130
331
262
397
203
353
70
87
221
281
399
442
435
289
54
307
268
203
392
123
116
444
38
487
304
5
447
288
138
365
477
329
108
119
499
249
472
298
363
292
93
98
67
286
74
302
212
282
448
120
327
138
467
37
52
265
337
419
154
477
27
425
396
467
298
394
282
479
209
13
312
34
366
321
328
368
414
369
3
388
133
243
264
60
468
238
365
204
426
19
204
326
88
417
283
384
452
397
217
99
343
205
348
140
147
283
368
197
4
127
458
166
421
483
498
62
172
95
431
274
422
433
124
304
128
338
360
264
326
303
131
304
162
15
169
179
266
154
449
185
420
160
198
81
434
12
34
80
282
448
255
445
432
306
414
71
159
368
72
11
380
184
397
487
485
268
1
405
446
118
86
160
444
352
63
242
214
2
410
85
259
145
44
335
182
49
375
270
231
290
143
74
402
381
390
492
8
358
381
151
138
178
15
13
195
26
372
287
459
487
120
366
6
345
488
28
459
330
310
258
37
114
344
400
476
333
374
106
145
326
257
146
360
146
56
345
175
216
159
158
251
88
48
11
412
30
197
206
458
490
211
19
491
251
388
257
58
309
377
318
365
212
376
365
443
82
222
23
312
237
414
302
105
99
420
103
324
482
496
82
181
397
431
424
273
284
191
409
488
52
400
28
154
280
320
372
383
31
500
73
151
280
494
227
432
427
286
11
119
499
117
205
19
285
460
106
358
447
337
432
426
347
58
395
20
398
223
339
363
265
143
180
447
259
318
346
134
165
225
499
57
311
479
138
432
429
108
249
67
498
450
295
20
204
411
200
298
321
478
498
117
7
94
295
89
240
60
289
18
104
157
374
101
271
491
112
484
10
395
196
383
498
469
132
295
302
172
207
369
191
420
90
164
17
48
60
69
208
182
298
484
464
55
313
451
475
377
441
319
458
231
200
351
40
95
381
213
410
412
227
36
283
127
74
388
176
64
84
462
471
413
264
367
162
46
16
337
91
285
329
69
132
174
209
94
370
264
309
335
410
279
409
392
212
417
393
345
407
351
210
185
413
421
347
105
198
458
446
148
107
459
14
130
341
107
146
61
477
312
404
18
262
325
244
457
359
171
413
55
250
475
235
145
318
330
99
205
286
332
200
466
211
394
318
18
340
203
8
132
325
115
458
336
241
103
394
358
77
169
293
174
146
215
239
115
298
235
160
335
500
54
197
19
479
24
147
425
478
313
231
26
121
268
63
386
303
500
469
323
432
223
150
2
234
203
138
202
53
449
110
183
152
262
22
494
138
455
275
23
154
433
206
443
463
428
304
105
101
160
265
233
89
148
190
371
499
320
167
154
419
4
450
117
409
420
327
492
494
167
337
208
444
211
14
24
66
359
43
131
422
87
7
204
56
269
247
221
464
453
438
153
7
52
383
321
375
70
68
68
37
154
249
444
281
451
378
245
149
400
190
26
155
130
79
11
477
114
227
204
270
38
373
377
171
337
468
139
15
158
288
67
256
106
107
251
388
442
264
409
170
161
332
436
303
168
417
286
255
51
316
477
80
444
146
378
189
434
192
191
40
316
160
100
40
68
392
237
498
167
102
448
315
148
201
379
174
49
348
294
112
151
297
166
90
486
478
321
298
324
100
141
51
294
219
20
275
468
7
34
190
323
272
467
181
238
122
246
141
158
245
35
155
256
162
472
93
456
176
173
498
211
137
293
323
234
434
131
286
114
439
315
441
256
195
186
472
211
25
388
163
414
343
392
15
116
12
75
176
318
373
63
426
378
180
431
460
39
245
40
77
90
422
210
181
488
83
480
380
30
304
43
124
461
23
238
186
424
273
79
127
453
369
311
224
203
187
303
139
349
436
363
208
243
103
388
309
191
120
470
285
397
285
458
341
343
129
340
158
143
327
489
143
403
167
139
148
404
320
498
271
453
146
309
478
482
495
402
426
27
225
167
339
338
490
120
178
497
25
79
136
411
337
183
368
395
64
234
468
434
282
330
205
54
104
114
189
71
376
302
222
46
7
448
314
74
102
191
446
362
154
114
236
182
191
239
145
406
392
234
187
13
497
16
288
128
89
265
320
361
199
141
25
263
409
104
390
476
241
238
5
235
132
66
54
321
409
287
66
278
146
148
381
24
201
188
396
487
138
466
26
454
133
368
158
263
28
72
206
486
136
213
183
146
345
478
298
416
195
144
7
318
179
483
245
77
495
139
138
432
163
206
113
328
401
365
13
192
144
108
152
290
353
399
269
337
71
75
156
294
310
35
221
234
238
71
257
478
106
371
393
350
367
397
115
144
23
150
331
276
400
87
266
461
174
46
267
311
323
373
44
269
344
342
436
423
145
430
99
452
77
214
234
17
135
26
157
329
351
153
139
202
314
417
29
483
170
357
464
373
304
454
201
319
411
291
118
192
482
309
500
194
114
314
216
50
47
50
235
133
98
292
253
399
279
279
174
107
149
428
228
393
431
437
185
469
382
321
438
265
277
415
132
22
404
64
255
36
126
404
457
110
214
457
494
334
354
52
267
103
83
451
3
285
88
448
338
490
153
131
69
150
143
237
383
174
79
281
284
191
237
445
63
429
469
274
349
239
237
89
229
309
252
102
91
424
422
372
254
412
440
71
497
472
52
298
433
43
28
15
230
379
376
248
161
54
205
74
263
322
65
138
416
254
429
493
329
39
194
420
303
93
267
303
478
166
276
95
294
169
341
456
186
9
131
226
483
245
320
304
223
292
185
74
44
77
332
308
307
365
108
488
102
106
487
301
271
400
258
23
470
308
392
15
491
312
445
270
208
457
274
434
474
184
462
118
68
52
15
227
28
98
343
45
327
295
267
340
464
99
207
44
25
7
268
207
209
16
270
193
366
131
389
363
211
390
176
357
110
77
73
107
105
318
276
247
34
267
446
208
341
246
118
222
66
367
133
278
429
34
211
11
391
491
118
459
126
434
358
460
148
309
434
94
57
154
343
177
127
496
286
100
455
181
113
278
287
12
243
299
138
168
480
375
469
493
94
214
324
469
205
10
428
264
474
281
192
289
259
76
314
328
435
214
38
400
201
344
234
226
274
477
185
100
345
477
178
61
364
375
176
54
445
104
468
18
118
364
335
487
457
99
79
404
251
449
377
180
333
375
177
412
179
182
109
242
465
326
127
102
399
328
367
249
373
329
378
474
152
99
189
369
137
195
197
356
91
273
216
148
163
43
290
480
445
229
319
52
33
290
244
33
29
488
172
215
494
174
252
413
30
471
51
406
258
271
30
151
96
30
120
496
232
321
310
380
179
386
378
212
229
196
237
490
326
463
315
363
328
242
339
35
495
190
304
318
221
444
300
202
141
428
492
436
387
433
453
36
395
288
230
214
220
165
382
421
288
285
173
293
26
214
255
376
343
429
173
41
429
262
5
249
202
119
464
149
77
278
279
262
376
73
204
272
183
292
423
233
373
166
53
470
249
409
92
495
342
421
237
280
28
99
455
192
11
439
165
454
54
93
196
136
99
272
451
236
14
121
448
491
167
122
268
160
368
484
374
22
452
288
132
58
91
406
43
439
348
464
262
52
374
101
500
208
270
369
295
477
448
62
80
315
60
121
281
265
357
455
240
299
58
156
439
187
253
413
309
129
310
114
72
281
196
51
258
248
35
28
389
187
98
236
93
125
167
99
204
465
262
297
88
335
35
227
13
31
224
176
321
299
119
277
442
79
380
74
84
108
240
333
164
179
135
42
389
293
84
92
370
254
479
242
308
429
238
459
26
447
161
456
303
329
269
221
17
30
496
415
228
2
371
32
353
216
224
285
1
342
455
292
138
6
445
99
486
471
181
330
59
222
428
165
75
239
35
342
164
500
454
497
236
104
155
313
395
462
121
68
70
37
125
36
449
100
384
488
80
431
219
322
32
228
236
98
148
453
249
89
375
79
23
29
30
119
168
380
63
406
486
117
130
242
49
434
442
45
476
100
291
178
189
453
335
482
206
164
192
430
279
480
499
334
354
298
483
111
467
449
380
398
266
48
274
317
178
459
489
167
24
396
224
172
145
101
287
119
189
206
278
451
357
488
35
337
352
189
475
372
86
360
54
376
334
26
230
357
478
171
127
92
101
303
213
312
257
137
205
463
162
141
257
268
248
181
263
105
1
206
398
37
495
498
410
48
489
34
166
363
244
83
159
287
486
410
251
132
3
160
239
234
493
4
90
76
426
320
28
153
124
160
40
183
469
177
163
56
140
45
209
63
113
333
70
249
140
68
497
46
361
240
429
385
313
88
373
133
269
103
170
173
162
71
413
190
384
454
182
2
483
283
433
241
427
298
439
145
415
174
317
139
222
188
273
111
268
100
487
357
456
208
352
453
491
120
369
270
172
437
106
13
281
291
425
257
183
307
370
23
447
175
346
354
279
420
466
125
291
265
34
321
271
25
186
310
386
423
455
23
81
315
471
6
464
410
304
126
298
174
92
403
195
52
119
445
438
219
497
229
81
278
199
281
175
471
160
279
496
211
97
452
324
406
286
347
169
39
31
293
135
425
49
138
256
356
198
438
77
107
80
157
500
484
413
240
66
259
159
116
105
168
293
306
7
467
258
266
95
402
123
202
378
126
163
119
433
60
201
286
302
167
35
376
457
238
422
300
342
47
231
190
404
248
273
285
124
19
348
403
364
193
138
285
87
131
468
234
119
480
378
201
167
51
136
379
439
177
213
407
157
193
207
308
206
268
403
313
154
276
431
364
28
65
393
470
323
154
476
44
434
323
287
318
131
75
46
16
463
361
493
78
449
320
219
438
254
55
96
141
133
460
419
427
393
276
36
476
396
225
230
239
137
313
389
439
326
471
230
113
369
245
240
168
385
227
307
364
350
262
80
407
393
353
233
479
41
410
291
316
376
43
398
418
245
327
412
262
240
83
434
161
340
233
140
227
294
32
444
143
255
40
331
313
303
445
80
313
169
43
30
454
441
263
101
6
10
181
348
292
422
127
290
405
385
58
258
433
22
233
74
346
68
118
77
343
493
262
237
123
360
313
365
445
29
455
18
245
307
150
377
420
67
191
101
212
4
240
335
435
294
388
88
289
71
203
258
471
477
234
79
487
243
175
491
499
476
330
289
5
298
402
454
460
294
95
199
370
296
486
213
161
387
224
466
309
313
85
353
3
454
319
79
453
274
491
130
274
208
183
139
445
436
331
405
390
29
47
121
171
314
153
17
471
152
289
388
373
298
500
316
41
304
387
87
367
252
277
12
231
178
408
52
30
500
274
45
387
327
159
278
144
114
256
287
212
361
430
32
149
121
269
334
458
291
121
494
267
170
182
355
442
251
196
22
234
480
441
477
199
421
204
174
348
143
248
418
133
138
457
167
481
259
472
30
93
115
488
73
36
87
310
489
226
126
479
288
28
380
332
330
338
449
228
414
319
70
176
64
70
435
297
59
194
95
112
369
473
457
18
138
294
489
340
219
477
218
321
259
432
238
322
405
7
353
172
49
42
170
481
132
287
429
354
255
359
418
317
123
341
459
246
401
262
74
436
245
489
429
10
177
367
336
64
92
163
415
84
72
216
81
210
61
275
199
292
84
224
340
380
45
210
447
472
41
127
178
247
219
131
459
230
302
112
498
474
192
458
413
393
42
237
129
20
33
339
312
71
137
14
296
165
177
96
100
484
266
409
314
249
293
38
474
44
396
403
337
386
185
260
6
277
64
437
326
318
450
156
210
75
162
184
416
283
500
94
490
349
97
421
266
33
467
424
272
222
289
304
317
431
491
56
494
281
396
445
125
153
81
191
308
272
352
162
261
471
213
254
189
361
177
425
138
384
484
23
379
351
429
68
422
291
2
48
318
158
269
80
354
173
287
287
107
318
167
284
206
84
206
398
238
307
15
303
401
57
214
304
413
204
163
454
491
166
433
250
68
170
417
186
9
385
182
150
349
173
221
455
269
351
330
375
331
99
361
283
268
125
336
167
173
447
311
150
217
441
118
363
190
39
84
351
225
117
391
14
208
69
120
78
291
187
80
481
370
265
58
159
395
7
365
459
491
493
74
153
308
344
60
426
395
215
138
304
311
130
453
148
314
46
72
397
71
269
458
435
226
261
16
437
261
344
170
262
171
10
472
430
199
350
466
57
175
260
168
456
494
448
158
267
149
488
172
52
490
76
322
499
167
499
279
65
87
55
492
62
478
310
267
325
343
100
121
470
122
180
118
215
400
434
157
186
148
376
176
304
96
285
226
139
465
471
55
389
480
317
157
292
474
141
333
318
99
297
362
418
436
317
218
298
34
365
265
320
407
332
365
120
468
279
408
24
493
462
345
283
361
185
170
51
41
228
406
286
93
121
299
137
261
170
370
160
43
228
492
370
163
93
266
340
367
123
137
289
353
410
77
134
266
212
479
45
170
101
500
172
78
477
1
390
246
50
390
133
489
111
100
132
106
123
120
185
341
485
401
316
79
288
337
230
390
266
356
352
325
477
446
48
129
401
420
434
78
67
189
218
33
96
459
278
330
151
441
154
117
392
312
335
174
352
228
380
347
118
252
173
118
333
277
255
68
304
368
22
5
412
395
245
418
160
107
223
422
203
88
67
12
420
178
83
93
442
47
203
326
404
9
388
366
319
83
56
280
139
148
175
127
408
165
88
73
190
425
336
466
340
11
145
30
474
138
8
131
307
104
435
366
1
114
165
15
288
311
758
620
472
540
655
736
545
342
391
476
330
680
524
435
476
672
413
338
622
786
676
552
524
638
385
468
359
447
775
751
673
687
457
331
477
326
508
763
389
659
636
328
780
412
713
651
669
312
656
420
430
604
516
731
590
514
375
418
311
550
629
363
755
704
616
613
666
370
401
309
800
578
639
732
384
347
401
377
523
667
509
323
548
426
690
727
668
703
368
724
713
321
769
655
623
664
448
302
495
475
758
635
689
505
700
671
365
789
667
740
471
603
496
570
410
697
591
357
631
638
432
574
432
785
328
419
651
532
554
717
450
447
764
409
505
799
473
332
359
550
491
650
469
370
666
474
404
360
512
593
390
332
302
776
491
431
798
542
564
467
667
554
303
362
760
443
473
527
702
448
746
439
564
732
439
670
550
793
617
754
559
699
490
780
344
574
776
447
651
557
618
609
610
463
625
758
462
407
564
433
416
751
521
391
488
459
481
529
383
399
363
527
681
487
729
310
760
647
305
352
622
479
345
695
546
460
382
429
356
736
305
613
474
393
526
512
683
564
443
372
423
324
627
692
729
738
724
562
732
597
721
434
533
479
772
481
399
512
748
392
673
508
371
394
540
465
432
569
398
644
304
388
509
543
543
692
651
478
494
396
563
658
796
355
539
312
460
729
354
445
762
713
323
515
728
728
430
732
348
619
725
562
656
602
515
422
516
604
663
469
514
409
464
385
665
796
393
352
741
482
503
551
467
496
392
315
563
480
401
495
673
316
404
529
483
726
507
392
634
351
593
761
509
677
649
308
357
781
638
372
555
692
347
520
621
723
322
470
534
747
791
392
602
413
438
478
320
720
317
515
741
564
730
473
718
315
779
566
764
529
609
421
463
347
676
777
411
530
687
501
797
596
344
315
594
630
749
372
425
654
562
799
779
448
507
393
682
766
730
749
687
747
564
726
767
480
530
681
465
337
385
540
592
565
660
550
504
752
318
322
599
510
562
397
310
530
520
795
711
683
482
757
781
433
380
667
546
404
607
651
391
367
692
478
627
310
576
768
676
339
723
612
516
530
485
315
800
672
616
320
638
522
535
301
380
393
406
520
334
606
687
589
353
565
465
512
499
557
642
482
703
403
332
529
711
756
381
490
309
496
768
618
533
473
481
742
690
517
356
541
678
332
774
522
413
661
453
453
674
680
575
601
405
716
433
654
560
392
691
386
482
780
350
732
652
620
592
537
591
725
609
332
570
602
761
307
443
331
799
703
770
572
522
473
454
314
505
400
413
571
608
441
433
528
368
788
627
412
576
486
376
737
326
507
344
444
313
511
757
567
586
733
361
667
307
513
492
658
662
773
761
725
733
318
407
781
395
702
399
645
582
677
515
474
697
658
606
739
768
632
599
591
363
455
374
500
510
553
617
709
529
650
509
331
795
736
621
562
441
620
613
744
372
654
404
779
758
643
650
589
748
739
352
755
721
631
472
633
501
553
390
684
503
517
798
538
651
586
612
625
784
436
530
534
768
560
655
554
346
644
459
541
795
454
320
496
327
416
301
413
313
776
700
480
459
479
697
404
630
666
503
773
724
772
383
343
479
759
570
668
366
313
640
561
738
353
753
741
784
420
740
592
739
304
635
491
347
720
429
501
634
675
305
513
565
790
529
318
724
661
450
574
714
428
445
638
797
450
708
645
397
425
718
498
742
312
488
399
474
744
469
435
603
335
373
779
761
696
513
338
752
315
551
676
497
398
744
618
434
368
380
771
332
355
554
343
353
394
491
316
415
558
428
652
481
772
396
731
529
616
429
406
368
668
415
656
642
516
338
427
455
576
775
609
403
416
397
316
647
639
455
658
410
651
568
470
782
760
531
383
656
629
728
587
633
354
330
307
589
324
726
779
350
575
609
530
714
742
410
601
655
312
647
624
581
657
328
644
407
739
337
800
492
432
542
716
574
648
631
319
615
726
663
515
618
392
548
317
498
423
524
620
671
490
522
429
663
549
768
363
349
468
374
633
661
417
452
421
791
460
707
584
696
691
496
693
591
517
410
660
759
343
491
741
454
301
755
599
554
540
484
334
618
657
535
459
666
632
538
601
346
484
771
430
568
720
501
776
518
418
734
460
635
371
744
727
311
650
343
792
365
759
467
762
775
494
608
467
535
394
626
514
307
388
627
648
795
667
470
591
360
748
539
595
314
590
762
584
386
537
754
446
325
619
683
670
490
437
303
441
796
784
307
326
793
667
706
697
504
800
625
409
347
341
708
491
395
684
561
725
774
572
677
674
389
730
578
398
708
614
733
625
509
316
645
747
696
759
303
432
692
480
713
516
788
449
564
434
331
325
393
735
596
393
780
516
470
747
580
641
535
497
399
572
658
462
674
633
413
367
662
767
653
317
701
385
346
501
557
408
575
473
568
714
427
515
328
394
652
755
747
448
527
440
355
422
540
620
565
435
480
526
417
379
730
714
680
390
340
574
680
673
766
670
509
746
421
525
600
733
728
598
694
522
434
488
628
416
333
669
363
354
472
350
454
581
713
359
553
608
754
699
441
631
392
765
675
387
785
537
365
484
503
493
638
699
616
300
563
555
623
740
626
593
321
556
361
739
789
644
507
635
767
565
359
689
776
633
469
349
442
463
415
584
660
335
474
483
640
341
719
513
332
549
356
578
395
415
764
598
393
759
727
752
522
336
754
658
464
554
479
403
319
528
685
588
649
554
749
537
530
446
364
468
679
722
628
761
729
723
565
674
372
682
624
362
623
633
542
354
757
593
749
487
554
604
663
690
625
626
639
449
523
633
322
649
736
675
487
649
524
684
501
534
780
672
373
552
639
590
610
310
366
412
372
570
579
564
633
695
418
414
576
731
658
564
674
562
758
694
305
416
311
346
641
661
501
332
404
615
599
356
411
649
436
558
600
413
634
686
699
400
559
681
643
317
625
747
525
453
424
393
394
473
383
675
451
695
757
717
461
490
479
666
651
540
747
674
524
370
638
568
670
387
309
373
338
302
743
608
395
430
783
582
321
408
358
432
798
739
417
495
397
421
419
335
707
630
748
737
791
345
506
369
470
746
553
386
652
704
411
357
438
314
635
490
769
616
555
708
511
345
733
665
516
751
730
612
379
768
516
660
635
514
317
784
624
448
378
324
731
678
443
685
515
421
632
705
547
760
727
484
375
526
338
317
383
438
304
659
372
696
565
700
414
706
697
615
562
669
795
481
601
786
638
491
609
330
546
411
427
496
348
620
717
682
448
458
460
741
384
431
356
571
327
733
764
321
767
315
733
746
418
345
517
694
713
754
572
784
521
639
644
475
790
607
647
596
554
366
457
607
468
678
762
417
716
323
478
643
564
636
773
584
500
304
575
431
756
370
739
617
706
540
427
364
762
765
615
564
328
526
490
698
794
793
662
427
389
666
485
422
318
729
516
712
457
372
453
356
495
655
373
576
681
415
741
688
689
686
447
369
797
349
464
426
737
611
634
428
320
317
349
637
659
393
516
750
718
612
469
394
634
333
703
629
733
549
768
619
547
375
392
604
663
685
774
585
524
753
453
735
580
311
583
752
683
471
702
592
582
623
470
739
475
421
576
444
398
765
391
640
427
646
389
616
709
665
461
750
653
691
755
623
681
551
738
659
472
678
769
690
414
673
765
595
350
584
411
339
392
556
387
401
300
702
632
793
577
316
712
797
795
588
567
704
624
590
322
623
696
333
714
568
309
660
710
369
388
671
562
671
556
690
617
678
744
739
589
724
606
502
525
659
715
634
767
685
759
441
481
648
439
737
603
698
635
726
549
673
531
712
442
687
419
607
471
786
642
462
574
449
343
641
759
458
442
651
440
760
599
783
525
608
359
746
481
619
518
708
629
730
417
569
347
553
531
589
500
348
565
655
507
567
308
761
335
395
385
427
398
656
689
675
680
540
797
463
518
383
719
720
669
389
766
580
518
376
440
695
592
768
427
627
489
725
730
550
560
502
503
582
342
787
715
416
723
724
487
386
799
760
702
572
377
537
613
587
374
602
640
454
581
544
516
475
571
665
767
778
618
623
415
666
468
584
617
458
341
380
726
414
589
793
579
355
636
579
323
726
539
712
710
615
388
308
318
500
574
433
686
713
404
322
555
784
677
421
715
660
601
446
624
331
756
565
781
583
519
614
423
580
773
773
643
617
600
457
748
643
619
403
788
628
594
720
756
704
484
728
600
365
650
719
573
371
418
603
307
736
389
406
458
602
669
766
635
628
578
464
623
610
437
435
558
311
723
751
400
492
574
672
769
582
780
779
546
534
479
486
740
389
316
798
729
419
775
551
563
567
763
603
324
519
657
595
535
714
793
398
494
378
758
317
555
472
733
591
368
722
412
590
316
762
340
434
483
374
495
589
641
675
759
546
457
692
626
564
653
776
661
320
549
405
328
329
751
442
372
614
314
372
424
523
542
794
555
420
756
713
631
315
321
325
595
651
418
509
431
302
605
442
399
670
643
797
615
395
311
313
553
562
428
664
617
459
571
416
506
535
438
519
737
751
326
661
794
623
742
424
483
664
346
362
482
620
785
620
373
714
765
563
652
706
660
735
768
425
400
638
705
622
736
545
353
777
439
652
599
580
327
739
546
781
431
466
670
304
717
414
415
444
416
404
305
316
747
454
617
700
605
538
423
567
573
766
787
667
688
554
757
563
480
558
312
391
737
551
489
440
762
620
572
712
779
482
502
396
653
449
552
464
580
300
623
681
683
585
543
739
529
773
725
373
796
785
679
443
479
449
655
660
618
698
376
346
551
573
675
565
474
475
491
768
381
714
403
653
623
558
545
536
671
308
424
406
625
518
592
616
653
477
561
493
688
342
586
402
301
719
411
452
702
497
446
527
531
687
343
445
452
703
752
652
390
463
405
540
646
737
318
650
761
691
498
562
358
350
445
412
736
349
622
782
423
631
320
332
691
706
595
491
649
361
573
537
510
312
341
536
743
652
778
340
691
704
448
690
314
321
529
461
376
563
340
688
371
556
305
522
312
592
398
320
621
419
418
487
617
677
398
465
749
327
582
564
667
792
548
716
560
574
535
689
355
673
755
733
682
524
559
582
369
440
333
511
474
523
562
615
404
682
450
675
495
485
380
488
577
798
685
473
728
340
717
657
626
671
336
659
746
602
759
318
353
346
732
556
670
445
373
696
553
731
441
534
757
332
368
570
360
621
750
724
314
432
501
621
497
416
737
575
756
732
388
587
336
576
343
556
379
688
367
579
727
615
542
682
433
302
404
710
326
699
759
743
734
708
708
658
634
521
750
412
358
317
415
799
524
530
661
346
503
485
642
428
312
549
742
601
696
584
779
490
722
373
646
389
549
745
494
742
345
460
546
519
523
358
458
738
678
620
479
415
653
533
347
517
585
549
488
665
344
557
558
770
500
446
650
798
510
313
650
373
365
626
500
559
457
330
591
670
485
736
645
521
759
637
577
381
332
757
735
765
356
515
376
638
615
414
660
578
756
306
588
692
400
593
505
550
533
421
387
734
310
351
770
378
681
572
765
503
409
375
313
412
684
569
781
493
486
656
378
377
354
486
464
386
664
342
404
665
783
731
610
636
401
439
378
754
431
351
529
640
762
526
699
686
476
537
517
670
732
711
447
428
746
667
731
563
734
459
401
470
587
561
613
392
705
585
545
639
621
749
755
385
617
723
585
633
300
309
374
772
359
618
652
748
495
461
318
442
557
741
577
421
727
693
677
597
674
368
692
610
570
427
616
651
409
785
397
507
773
702
725
739
709
789
570
567
742
481
763
764
350
584
410
497
632
771
781
514
657
711
379
739
357
363
360
635
597
323
329
750
471
482
380
643
568
681
313
614
436
349
433
746
618
760
627
409
727
626
556
425
519
738
764
677
536
610
767
447
501
465
318
538
743
702
625
729
348
543
465
690
772
405
742
505
564
707
580
663
484
745
449
565
635
581
309
579
552
576
364
741
496
642
560
533
768
413
326
418
652
437
345
571
399
723
426
563
648
472
431
679
800
406
551
552
579
759
395
444
309
463
594
477
498
327
696
780
570
430
466
555
381
584
491
436
617
570
575
535
480
422
631
304
611
731
374
670
692
430
673
753
476
666
706
702
310
377
563
752
478
769
508
629
539
494
699
398
554
713
488
406
423
609
709
615
575
404
567
624
615
753
348
571
629
339
599
721
735
569
603
776
571
591
427
495
785
663
533
553
344
611
489
498
747
632
573
340
715
763
329
670
680
377
703
678
688
426
435
781
568
477
562
428
572
580
583
537
676
796
419
635
316
730
617
764
495
683
671
378
418
356
730
707
763
775
757
660
424
376
399
635
358
790
377
743
700
369
505
626
441
385
670
420
634
509
515
799
658
570
369
374
632
624
512
488
525
727
718
796
747
558
504
379
793
738
365
398
756
327
498
716
425
513
611
754
725
677
664
645
309
671
721
426
634
755
543
309
587
352
312
372
578
343
798
406
342
468
314
769
375
440
452
788
573
781
647
587
665
744
344
580
796
632
430
352
552
450
496
559
339
598
622
334
745
418
601
417
797
728
649
654
572
575
696
660
316
730
670
604
601
550
440
699
635
484
721
566
436
346
410
737
462
492
326
341
734
760
656
505
301
303
735
364
626
767
544
630
774
375
666
399
593
527
454
479
735
514
408
537
558
597
766
331
560
604
457
646
416
571
554
572
783
490
763
537
572
702
419
757
587
467
389
458
548
774
379
382
305
536
586
339
533
645
412
714
759
534
791
656
436
374
580
323
632
573
797
768
525
453
386
711
324
382
504
699
798
558
796
702
339
430
313
550
687
591
532
317
670
592
763
319
538
370
311
561
762
339
605
475
799
407
541
534
786
745
315
340
752
662
786
441
535
592
652
719
473
304
430
372
334
539
533
412
311
648
415
353
695
589
681
599
707
697
546
422
594
673
668
303
727
640
339
676
316
374
688
463
362
624
640
450
747
466
530
663
397
665
700
716
517
707
557
779
327
562
750
480
459
485
714
692
587
669
612
719
763
700
658
355
593
525
331
760
371
771
442
302
329
611
317
442
592
691
795
582
462
504
752
704
737
567
614
322
545
319
624
497
636
441
584
712
594
394
530
541
777
532
678
684
350
511
785
418
665
542
756
759
360
335
505
685
628
686
317
326
546
678
582
759
604
682
494
402
772
777
441
436
471
453
488
562
370
730
362
363
473
564
313
791
335
520
648
584
456
694
309
537
575
616
404
704
749
749
380
571
755
469
506
491
346
458
613
698
394
467
765
799
738
544
624
661
664
678
341
528
580
706
412
717
491
407
350
483
584
418
789
390
719
333
620
360
617
622
798
667
344
629
487
681
418
362
777
748
362
623
613
550
598
657
575
316
589
790
356
348
335
607
620
446
428
481
569
377
583
504
348
687
343
714
695
529
601
446
789
643
534
574
701
450
490
575
461
581
429
570
740
418
697
730
303
429
611
640
614
369
402
781
568
408
395
335
743
447
392
417
743
327
561
624
385
448
520
508
755
389
369
697
592
382
408
567
455
463
304
404
313
303
448
328
452
765
792
723
759
413
698
351
490
577
606
394
353
507
330
385
300
529
393
637
537
511
766
793
640
704
521
452
481
443
621
342
536
734
646
632
348
697
502
718
762
442
505
733
518
704
307
548
686
635
624
690
719
388
713
494
625
625
397
346
634
330
577
619
767
688
409
486
368
798
306
408
342
683
439
784
385
517
367
730
657
556
627
394
350
719
631
377
494
793
664
332
337
538
614
428
485
414
771
667
574
766
300
744
403
579
729
638
626
639
538
426
751
706
673
587
509
567
431
455
501
560
331
706
513
729
451
770
728
684
534
304
565
792
424
521
401
427
450
370
455
752
450
479
473
533
540
572
776
441
380
399
509
800
711
432
663
497
471
455
346
537
376
683
659
417
692
329
620
381
402
360
452
800
612
559
476
478
485
449
572
326
708
674
459
778
657
598
578
777
586
369
485
334
583
417
739
543
410
635
543
784
638
792
431
454
624
345
530
575
797
525
381
769
425
530
649
552
646
588
410
754
789
519
599
792
428
764
579
526
368
621
630
542
615
676
512
627
390
611
707
785
503
676
636
690
734
561
541
539
789
368
773
632
345
524
584
774
769
408
398
594
471
585
395
780
385
786
516
643
548
518
406
440
658
739
755
758
596
618
407
597
719
738
685
616
711
383
475
324
774
420
599
336
314
310
410
510
436
621
522
701
642
785
316
475
790
658
362
719
405
536
707
511
431
674
800
515
517
715
458
459
396
436
779
524
453
759
604
354
797
316
504
764
737
361
479
486
665
631
613
302
583
446
587
520
432
654
736
337
577
489
743
672
454
483
396
768
631
725
727
513
554
540
664
501
318
682
517
555
729
504
744
309
520
674
614
736
643
338
409
699
716
739
734
741
711
547
733
694
434
318
631
794
637
575
549
625
354
435
503
455
615
692
715
309
428
496
367
587
598
710
760
779
599
794
795
725
325
544
743
797
416
675
458
393
739
448
400
542
635
453
708
592
556
311
558
505
310
670
749
680
397
322
462
316
625
698
598
503
791
516
703
750
646
725
637
719
793
453
773
661
565
558
742
568
634
395
350
684
331
603
698
669
458
766
766
376
354
682
795
778
750
481
509
645
470
675
537
499
580
463
612
763
700
553
630
742
682
509
619
639
533
332
588
312
509
473
592
721
744
560
750
357
793
528
753
481
698
595
433
384
339
413
664
757
726
693
425
419
774
478
378
376
506
591
769
510
383
791
501
394
372
679
391
396
370
785
475
783
784
425
648
393
328
305
533
517
476
761
359
539
346
526
362
300
355
699
330
543
328
337
665
687
766
536
357
673
721
659
661
489
369
359
466
547
369
383
333
370
601
650
491
457
691
489
597
734
379
546
502
543
596
630
702
542
476
468
496
325
649
688
449
737
628
640
768
629
539
338
513
366
795
548
350
775
314
738
481
590
324
400
722
420
784
546
788
378
465
496
407
627
537
420
314
637
456
484
643
633
428
442
511
496
419
608
669
742
395
649
652
688
569
332
656
511
493
508
621
340
753
487
367
717
513
635
455
466
683
418
512
574
748
437
577
671
682
492
525
437
653
771
384
700
393
392
634
683
716
768
404
683
412
733
534
361
562
622
686
344
437
750
457
493
496
370
428
655
730
661
616
305
781
311
525
483
441
481
712
672
523
405
682
614
782
331
519
688
797
782
490
561
479
689
547
320
753
429
323
512
507
502
696
701
562
575
700
562
750
447
506
610
776
449
696
797
778
508
738
432
699
536
365
424
454
353
673
446
767
471
718
487
327
478
367
543
763
445
573
472
734
607
324
800
356
700
365
747
453
460
671
418
487
327
566
733
396
707
305
378
678
318
344
426
675
613
300
739
515
592
608
794
473
761
587
421
652
652
519
434
397
674
604
561
473
392
388
506
349
572
330
636
522
475
629
617
483
740
578
443
688
706
648
739
477
639
332
493
381
413
734
777
607
732
539
574
796
408
598
630
512
381
765
705
623
360
507
427
400
349
437
601
482
467
479
724
485
580
714
507
338
678
456
309
460
611
616
723
631
662
658
484
515
724
566
477
534
743
337
607
752
664
627
340
570
301
753
748
745
381
361
567
780
483
463
542
441
734
415
528
539
552
339
723
456
391
312
780
595
407
751
381
783
371
713
636
673
339
576
467
586
662
452
718
729
760
372
692
691
472
535
770
544
418
647
318
310
465
733
625
301
537
780
473
562
554
462
543
663
440
780
606
709
621
442
752
635
630
720
648
790
442
564
674
330
429
619
735
616
637
378
518
535
345
479
659
442
735
422
755
393
670
562
314
532
300
737
461
510
565
590
527
661
737
314
402
687
521
687
617
534
370
590
538
347
374
311
497
657
452
338
705
798
569
558
344
497
544
490
415
616
748
581
736
677
688
698
511
577
693
417
383
654
732
675
705
382
340
754
610
489
404
523
476
679
402
583
691
683
400
637
607
644
534
314
365
380
332
361
414
673
329
304
303
468
359
316
592
317
645
697
365
321
345
551
548
571
687
469
789
632
741
547
672
722
403
525
326
436
669
487
585
800
370
474
726
564
329
726
783
471
645
797
363
521
371
416
557
757
438
654
423
470
364
641
473
630
743
439
605
681
575
578
523
594
519
385
330
485
662
300
510
659
358
384
358
680
405
760
658
344
725
340
470
520
496
383
490
604
364
496
468
402
304
666
699
527
553
738
498
565
489
462
685
725
700
562
425
460
326
313
674
553
413
372
564
670
569
765
349
356
358
606
552
711
648
500
512
444
671
378
459
445
595
544
343
583
375
364
620
553
325
392
309
767
731
462
621
759
649
377
386
422
689
756
436
664
386
668
475
709
674
361
574
791
382
370
720
414
321
613
599
699
379
396
423
546
537
654
536
727
614
744
354
491
632
368
789
456
679
704
675
582
457
576
619
440
681
593
772
381
778
327
476
633
458
571
367
670
370
351
469
503
520
734
680
791
417
569
779
622
773
600
444
491
325
497
718
544
529
736
791
492
694
573
446
792
603
546
377
643
500
586
339
673
422
496
596
707
745
642
592
325
344
327
582
523
366
729
539
327
773
529
482
758
751
380
564
467
501
634
522
469
731
380
609
644
406
728
319
504
764
437
646
367
694
756
739
785
407
699
635
380
626
653
406
719
435
616
601
726
646
636
459
395
696
560
565
323
355
437
387
461
410
469
698
322
565
349
405
526
507
410
757
573
313
550
589
520
790
609
533
510
520
699
540
670
700
437
396
300
623
314
751
630
688
418
425
622
570
720
798
621
323
323
611
728
421
382
526
369
431
556
607
760
632
637
633
521
496
461
474
551
458
342
798
311
339
373
342
762
492
489
559
524
465
777
353
428
591
330
614
787
733
652
301
724
773
316
627
408
404
422
468
627
365
756
622
347
716
714
478
732
677
506
674
375
499
564
449
590
402
512
442
490
545
717
341
795
414
778
386
729
600
695
643
635
439
757
488
361
494
731
384
542
571
360
395
324
455
563
589
406
604
488
799
553
588
367
379
759
337
646
332
567
466
515
516
433
386
322
779
646
625
376
643
483
342
766
395
492
458
484
710
305
551
670
754
479
604
621
479
595
603
778
551
371
424
510
667
644
530
499
631
685
642
759
731
492
402
480
464
408
344
692
793
555
711
301
723
534
439
574
755
428
559
476
489
451
546
562
665
359
493
323
584
322
408
528
340
730
742
337
380
576
710
653
537
608
410
564
368
722
681
759
552
541
413
644
424
388
601
641
421
407
619
701
381
368
508
507
342
530
441
330
354
525
409
679
576
332
359
546
717
326
397
575
577
519
327
798
780
527
728
479
381
360
578
424
557
792
570
430
454
324
730
560
661
500
710
580
779
521
459
326
356
536
487
401
534
472
601
509
459
601
475
491
649
786
701
410
662
368
463
716
527
391
478
716
565
353
712
340
379
753
613
379
363
410
632
761
444
393
628
437
795
727
713
493
462
782
497
552
794
693
468
334
561
380
734
432
691
612
366
460
429
548
559
414
324
688
550
465
769
565
427
312
743
516
464
676
341
757
405
793
759
377
777
448
319
643
701
443
708
475
527
577
308
622
498
752
550
422
690
768
691
401
444
753
454
305
309
425
589
711
485
588
504
344
487
669
695
323
485
331
440
483
618
486
619
426
698
349
396
463
428
740
690
787
456
529
583
749
471
330
708
312
577
584
743
579
685
313
402
538
566
586
781
647
560
465
553
319
676
432
318
520
673
709
548
384
453
400
724
776
491
315
685
667
655
401
554
725
755
531
688
771
528
530
122
104
463
145
416
234
438
412
46
338
383
463
303
3
34
25
117
107
219
24
466
237
37
275
388
58
333
244
336
341
467
81
86
267
123
447
492
453
187
379
57
177
21
361
56
221
103
112
126
76
474
40
304
291
192
230
498
48
288
333
446
381
349
38
65
79
474
38
153
59
121
144
391
266
318
26
152
430
403
446
439
124
350
390
62
417
455
37
294
478
204
429
208
263
276
490
26
109
72
101
92
210
293
254
401
226
171
392
102
17
125
322
269
144
175
67
410
459
305
268
419
224
207
430
466
237
255
119
322
308
101
53
215
56
290
66
243
392
191
112
389
56
498
428
64
24
409
455
269
101
439
17
318
251
259
310
137
445
358
252
385
341
169
434
279
175
141
422
36
181
56
245
203
310
37
117
355
367
360
390
484
399
251
14
47
83
313
234
3
62
322
181
282
115
392
407
129
177
193
480
257
369
269
445
371
274
331
460
79
254
415
187
166
489
228
2
61
311
177
10
334
468
126
323
66
227
125
346
500
397
346
332
258
391
5
46
382
190
455
285
48
12
464
311
387
367
147
117
325
476
463
181
437
18
399
472
16
461
226
429
452
86
17
124
222
299
226
357
14
121
329
145
153
122
310
362
279
50
458
96
227
277
127
265
444
430
40
146
401
164
106
49
345
446
345
74
454
54
438
150
149
43
114
242
499
243
464
76
74
268
117
122
18
383
33
360
387
211
169
165
169
12
168
361
148
32
411
437
82
267
418
348
297
39
321
74
82
4
303
253
164
470
295
99
231
29
201
259
446
409
203
432
44
262
393
67
103
415
46
261
465
319
210
420
404
411
394
157
453
136
212
328
194
24
260
64
42
200
190
485
102
20
289
291
129
186
357
5
268
129
119
247
260
446
231
319
313
466
282
317
25
56
497
374
79
227
49
484
278
431
114
36
289
248
336
42
45
347
381
332
293
453
97
406
186
87
151
418
413
428
441
392
394
347
331
167
446
49
441
291
468
159
431
438
221
425
83
329
35
449
483
84
156
375
492
106
157
411
406
156
150
213
386
409
27
394
18
111
470
211
24
245
235
227
375
160
117
191
287
337
256
453
60
361
428
175
325
380
346
41
466
331
317
377
453
105
121
452
434
118
4
326
487
87
385
292
268
358
285
278
38
413
72
483
255
118
418
49
487
206
296
18
222
385
355
80
182
259
244
38
55
139
381
124
370
316
479
498
159
304
373
406
31
94
254
410
482
284
76
432
218
323
137
17
106
396
387
334
390
215
371
440
192
63
250
258
43
372
372
436
496
5
266
487
235
202
115
251
4
207
480
346
259
244
202
191
309
77
257
7
181
277
415
213
23
262
121
481
96
479
206
378
43
470
410
181
9
167
63
309
188
91
204
50
98
19
315
267
100
207
465
55
386
29
475
225
27
95
320
191
297
242
94
53
356
87
67
168
166
152
34
97
472
136
442
368
485
398
167
30
484
435
343
67
93
52
85
465
423
124
286
478
405
164
452
285
315
76
64
476
40
294
291
58
434
425
253
268
326
184
211
151
491
410
132
497
66
133
46
25
56
423
19
321
268
105
303
177
419
241
269
209
338
272
362
197
88
35
170
371
169
486
450
15
246
329
258
494
142
249
397
348
183
313
251
175
379
182
116
13
30
441
494
499
5
226
437
234
36
318
119
451
493
370
101
373
345
183
91
26
109
39
368
379
262
190
387
390
249
434
290
55
334
329
100
99
124
360
394
460
439
201
109
429
10
207
132
50
248
143
118
98
286
271
176
101
42
101
429
184
135
345
418
344
93
341
121
287
324
95
57
103
89
110
493
1
409
317
247
202
63
108
247
120
125
249
200
71
259
60
235
427
416
132
272
63
481
156
171
200
428
294
268
116
366
195
266
311
369
417
377
288
414
95
70
169
399
21
362
64
165
225
84
270
248
233
247
353
43
324
49
491
404
97
489
155
82
97
24
303
263
146
286
324
220
384
212
342
483
292
255
365
283
269
96
321
260
314
480
177
448
91
458
18
117
440
328
299
464
424
287
78
218
164
16
87
63
158
231
365
265
245
62
241
199
39
355
231
59
431
235
452
110
346
233
339
114
364
391
444
382
387
183
166
90
327
253
153
494
55
169
327
390
257
213
45
200
477
230
82
358
150
56
265
305
193
271
500
72
360
300
47
150
124
261
72
280
376
138
333
284
53
385
145
441
222
313
128
121
89
251
217
500
229
338
174
319
355
321
154
238
472
499
448
434
317
47
325
307
498
290
96
234
17
151
477
371
386
133
143
103
292
248
432
181
111
17
179
59
274
404
366
124
213
373
174
284
415
239
439
196
369
438
253
268
395
187
329
179
24
454
454
471
234
460
171
110
225
179
385
377
48
295
439
31
250
290
290
366
334
192
212
302
162
194
92
366
362
133
467
230
461
92
136
99
206
95
406
302
341
482
76
152
498
378
144
394
263
190
131
170
105
98
50
5
324
245
319
157
163
486
9
2
184
363
385
204
134
349
45
486
401
159
195
210
239
389
211
58
52
260
66
417
385
149
99
346
179
252
359
434
62
320
26
462
105
270
310
394
240
402
60
269
85
13
330
185
413
232
470
462
426
269
106
299
126
90
197
376
355
491
391
252
175
109
77
104
32
353
95
273
109
159
255
379
311
121
194
206
38
355
415
458
248
209
44
112
332
423
134
308
33
313
45
322
286
232
8
228
342
410
231
289
53
90
494
429
377
459
331
358
375
123
5
155
302
111
123
471
459
434
288
61
464
207
441
192
170
453
370
410
398
499
86
394
299
437
217
470
222
490
96
439
392
210
143
368
169
48
164
270
214
326
401
388
404
357
352
89
256
313
406
347
488
436
77
243
412
47
288
95
94
479
478
398
108
294
351
362
380
43
499
124
446
83
11
411
394
378
317
391
164
446
18
46
100
39
140
450
144
240
91
87
178
114
188
391
141
22
12
308
419
317
119
4
375
373
392
413
168
127
429
52
6
26
45
448
215
386
342
301
279
404
202
43
229
262
390
237
213
462
2
50
58
258
228
364
433
396
467
343
145
56
496
369
122
367
363
224
288
281
112
50
129
356
382
6
323
20
202
190
333
187
209
481
298
410
323
498
167
277
336
47
126
380
57
146
39
11
412
83
492
346
141
483
5
246
141
332
261
263
234
265
381
147
229
292
326
484
416
383
275
82
6
141
65
444
76
43
314
377
36
84
461
395
406
29
176
124
4
49
82
233
150
217
452
132
398
340
490
409
322
235
47
37
251
152
436
100
6
92
75
41
495
107
449
268
235
124
242
357
416
3
146
64
211
176
135
141
351
256
51
140
225
114
188
141
374
244
334
283
155
21
226
272
49
1
371
371
302
56
367
133
267
455
361
112
404
308
318
270
34
301
15
46
82
104
397
202
343
74
80
162
74
322
186
204
418
65
408
326
162
149
262
400
294
311
180
374
398
402
337
311
214
369
388
483
153
409
232
184
334
117
176
460
236
459
144
427
146
68
426
49
141
107
473
270
318
202
58
142
320
94
28
340
356
39
186
366
429
449
63
376
287
390
5
79
96
171
104
240
9
97
475
213
347
290
190
456
441
45
107
368
323
28
134
393
314
229
251
49
43
336
39
408
338
175
75
72
243
236
130
83
419
260
267
406
233
225
90
188
41
55
27
95
87
384
84
371
165
235
177
449
14
497
31
118
151
111
115
190
8
244
350
140
20
350
80
164
447
274
404
208
176
197
343
268
31
210
234
177
265
437
484
213
479
126
325
181
218
220
312
7
52
101
191
463
336
2
492
402
280
195
238
235
476
218
230
494
24
214
368
198
146
432
274
103
314
89
107
313
191
454
354
176
298
261
398
217
111
453
6
129
480
73
42
213
55
194
484
243
317
156
54
61
348
487
357
459
385
295
442
338
290
241
206
181
67
353
167
88
89
158
267
445
141
273
41
243
355
346
118
48
458
163
183
215
123
367
116
23
295
280
10
357
319
74
202
185
483
5
246
230
99
417
305
377
264
473
75
319
306
157
391
432
432
425
200
269
392
479
275
413
446
213
159
4
110
181
68
500
96
313
138
14
483
215
314
62
39
274
187
431
234
232
491
49
443
232
161
100
253
4
451
345
218
396
76
145
111
456
196
408
233
257
401
168
114
323
398
295
458
436
487
497
270
194
19
404
350
382
242
438
11
29
391
245
64
449
443
63
162
354
272
223
288
349
485
264
365
10
199
41
400
335
433
223
206
435
137
276
270
129
374
449
459
130
467
131
240
250
34
86
304
472
246
34
325
100
454
459
270
251
11
256
230
350
326
144
65
36
87
266
474
466
330
448
355
200
39
419
73
230
9
246
87
496
193
36
90
204
414
415
190
475
257
76
136
379
497
180
261
52
49
18
47
25
322
387
188
422
332
407
35
493
266
207
420
354
134
314
500
87
123
186
106
493
161
4
72
221
260
440
117
67
125
96
193
378
330
38
167
349
477
425
367
494
247
133
192
108
491
352
453
147
495
183
224
205
440
280
453
499
77
230
125
466
477
299
299
409
166
406
342
420
330
365
173
39
137
253
149
21
2
25
437
74
439
50
374
104
65
342
437
439
305
416
33
321
424
167
265
173
173
169
467
231
288
249
476
430
420
214
356
62
323
11
323
289
118
183
242
13
72
312
412
99
84
481
293
91
495
186
68
128
332
265
388
359
134
83
229
292
208
468
498
377
28
7
476
4
151
278
310
348
386
291
339
152
149
197
8
144
204
174
143
217
71
53
179
467
500
435
39
9
28
263
17
346
111
396
367
299
5
308
240
430
426
62
374
6
74
332
40
497
465
231
27
363
94
453
375
324
227
242
111
109
346
255
291
167
239
320
325
70
53
411
94
18
436
358
264
249
353
38
292
465
42
463
388
360
28
393
191
417
317
32
440
344
40
80
154
179
29
315
437
397
27
105
167
141
300
247
117
477
107
56
84
480
77
104
73
86
126
410
221
106
184
329
167
138
62
47
500
95
7
143
68
228
215
425
390
406
191
168
90
422
15
300
245
431
264
190
311
162
136
150
12
136
115
120
259
399
110
491
487
433
35
238
273
243
260
71
65
494
71
482
115
392
55
84
173
313
342
167
257
376
22
459
91
34
275
174
481
107
302
139
213
209
101
200
381
125
223
452
95
96
111
149
175
10
133
255
89
55
443
237
67
452
172
344
448
21
239
194
193
77
456
253
49
130
443
107
492
256
20
262
372
276
96
344
31
194
138
265
161
40
156
268
299
242
81
117
382
304
27
86
398
395
306
125
198
140
91
5
13
442
291
227
144
223
444
152
398
94
146
326
1
324
228
126
182
18
250
494
293
327
375
111
68
499
248
241
54
476
428
346
372
236
35
465
438
440
434
417
169
188
465
31
485
200
67
109
251
464
331
495
305
75
244
460
104
443
312
162
140
17
230
343
46
402
30
282
232
71
110
206
179
218
174
446
74
80
158
321
407
139
156
9
270
455
381
295
90
413
496
173
244
299
418
500
207
44
122
229
5
405
133
436
241
173
74
365
118
450
420
500
425
441
108
322
51
296
398
29
73
350
65
89
285
27
91
145
186
438
84
70
5
122
34
107
146
397
185
395
338
392
357
471
367
216
25
392
302
237
128
61
437
258
79
26
133
244
281
265
411
8
67
358
492
369
221
254
195
362
63
260
47
166
37
205
345
157
49
394
110
215
174
112
468
53
230
400
247
155
117
401
400
210
265
331
450
378
350
106
215
428
259
296
55
63
397
324
56
217
292
308
139
397
4
2
131
143
157
479
327
195
185
249
70
280
244
79
407
465
222
11
215
227
7
7
371
275
396
81
443
114
288
250
345
119
34
283
20
304
421
500
29
273
236
356
435
113
121
189
3
367
120
68
455
15
229
430
208
83
350
260
403
277
407
113
185
366
141
226
455
139
10
57
297
240
75
439
351
307
352
401
350
312
416
126
410
259
150
424
312
354
243
184
188
58
391
359
341
341
388
143
3
282
448
452
207
496
180
345
29
124
100
399
380
19
155
241
376
253
117
496
209
13
180
214
389
233
250
94
354
160
275
176
349
379
142
308
371
66
185
176
430
274
171
103
5
48
328
444
338
291
116
112
17
226
76
289
250
38
464
173
212
208
34
467
133
176
278
201
21
361
181
13
210
167
387
362
154
75
259
180
420
287
309
215
90
156
323
350
244
488
167
384
139
280
114
197
101
471
446
155
133
362
401
351
343
340
277
382
173
349
328
344
193
263
365
330
99
477
46
29
459
421
61
23
163
281
6
149
216
285
139
202
491
95
115
384
364
97
240
9
203
94
176
197
34
60
108
303
419
113
496
402
434
427
127
263
473
262
171
212
472
234
164
459
291
275
58
57
67
166
154
258
324
389
430
323
278
182
469
312
24
188
317
476
254
68
377
170
235
276
283
374
381
130
367
469
129
324
170
49
480
191
65
29
321
90
210
370
426
353
285
156
113
243
62
16
438
310
227
154
430
346
192
282
264
33
290
99
346
490
216
53
360
272
458
190
368
430
269
429
181
421
117
462
217
374
333
65
499
414
124
57
183
124
161
41
105
471
238
375
28
365
19
361
391
248
461
430
190
360
498
49
468
62
114
296
286
79
108
476
352
340
109
457
216
55
191
107
163
280
315
452
188
214
231
1
264
181
342
423
232
168
481
349
318
35
247
266
35
37
259
301
318
136
406
390
142
426
200
403
354
443
380
179
450
357
456
296
223
17
376
495
112
451
154
398
476
298
35
34
188
373
140
115
496
314
411
258
486
338
30
498
183
406
431
150
447
489
463
250
470
366
392
369
192
392
306
44
485
53
233
186
484
333
329
447
83
2
360
470
94
186
361
223
146
199
190
147
393
486
251
377
286
362
38
117
158
308
464
82
142
162
178
436
225
37
181
377
303
344
96
35
268
378
335
208
38
432
70
233
206
384
468
143
141
362
430
219
40
350
436
102
431
155
42
14
26
108
97
169
427
156
112
400
498
31
70
239
272
331
10
455
56
232
311
309
139
214
467
335
128
67
54
125
27
497
340
367
371
346
439
238
227
385
132
309
202
60
457
188
411
317
428
436
24
342
31
382
111
38
31
470
440
86
239
434
322
44
390
95
172
23
217
136
52
349
192
330
83
330
149
84
216
74
282
497
23
133
448
75
98
326
48
86
123
431
226
127
129
452
90
175
421
132
235
297
482
194
447
415
284
196
152
187
146
2
273
223
131
453
438
212
227
330
443
153
160
187
248
477
256
453
489
293
406
425
131
403
220
401
218
448
359
142
292
341
170
57
341
339
354
435
334
100
187
434
103
214
25
385
227
299
354
411
174
15
315
145
99
78
158
214
77
122
339
73
133
221
347
83
201
83
379
214
23
356
374
241
230
425
13
37
1
246
139
486
59
187
108
348
154
332
86
405
80
355
327
196
25
228
218
87
39
469
405
446
33
24
263
389
498
7
399
244
73
450
293
414
434
159
277
415
416
243
193
174
263
341
233
8
362
421
95
139
121
348
146
336
77
75
290
460
420
234
205
298
100
122
377
2
364
182
411
57
94
239
9
65
153
371
224
424
7
326
325
170
480
432
132
367
429
482
252
352
147
180
150
157
297
343
182
228
349
441
312
110
347
118
166
242
103
161
176
160
229
312
16
11
276
110
233
176
364
281
472
71
29
287
310
127
132
25
337
230
141
210
481
27
223
58
127
169
209
440
49
409
310
298
157
319
204
136
440
350
287
207
139
42
276
273
149
460
385
471
305
445
71
291
18
3
255
383
329
94
35
290
254
170
220
334
328
174
405
272
329
314
156
417
261
197
217
229
235
139
253
170
99
177
216
70
112
103
310
2
19
252
496
57
137
8
403
141
232
201
155
221
364
174
57
38
381
164
12
275
460
464
263
330
218
266
444
361
357
314
400
167
398
5
366
356
261
446
125
406
285
286
58
87
132
269
273
48
472
151
101
248
127
204
235
386
452
420
355
367
234
213
413
450
366
359
83
351
14
361
100
322
173
26
338
42
335
372
209
293
381
426
375
46
290
46
349
163
181
179
324
332
140
299
486
74
442
131
224
26
408
420
327
369
49
324
258
122
352
350
295
321
161
289
84
223
265
323
222
320
222
395
257
413
369
348
2
188
198
417
56
37
491
131
78
411
180
310
255
67
303
172
6
209
7
139
290
6
6
90
421
471
114
216
256
264
435
473
85
492
51
129
417
244
419
419
34
223
255
223
345
494
244
284
222
269
320
38
233
47
74
311
250
454
430
102
281
487
224
457
219
25
361
379
249
232
141
215
94
389
409
394
448
426
411
113
328
181
263
268
247
234
493
11
382
225
150
160
78
173
66
116
9
296
167
223
57
64
127
191
46
335
55
425
228
490
192
208
271
152
225
283
254
467
311
289
384
369
465
423
106
382
23
395
270
252
253
421
112
415
274
340
467
407
24
282
256
33
147
408
255
79
221
353
143
335
500
230
264
350
60
480
76
58
489
174
2
390
404
185
392
203
442
101
159
470
422
155
193
36
312
122
301
397
12
159
222
472
352
249
58
92
354
157
345
21
22
143
214
78
116
406
7
328
239
247
292
379
493
134
383
168
51
325
323
419
461
381
379
472
32
314
175
318
187
303
408
119
488
193
401
32
112
226
162
320
370
237
166
319
454
336
430
490
172
237
287
45
237
23
494
402
398
70
42
145
357
62
71
33
310
433
139
231
281
115
161
460
373
20
287
394
168
21
77
372
280
483
285
403
348
389
202
446
7
277
159
100
497
378
140
238
59
493
241
191
282
62
200
333
153
375
117
95
360
37
217
288
257
222
279
476
333
163
208
120
32
153
103
192
470
159
260
306
109
492
113
158
4
180
134
222
27
146
175
399
462
412
222
105
248
415
483
457
328
360
244
257
187
392
80
293
385
77
31
125
283
23
37
58
374
39
108
75
169
354
114
442
145
177
328
215
121
373
136
381
250
146
77
451
157
18
145
91
45
399
393
363
348
497
237
492
281
44
398
216
380
414
117
395
193
342
103
354
21
424
143
397
387
39
189
4
303
26
455
41
52
383
409
184
438
463
183
223
348
143
4
33
45
35
392
407
356
37
134
15
126
477
274
261
74
209
66
63
31
260
200
296
62
104
317
265
288
140
381
296
152
112
330
63
314
148
159
74
91
168
114
84
369
83
67
56
168
322
429
184
251
273
11
483
284
109
379
80
350
164
494
415
369
270
499
232
433
293
27
123
448
437
331
247
119
367
118
71
156
75
389
487
225
272
92
295
129
47
431
307
208
404
103
299
398
439
260
114
284
391
250
95
75
322
241
111
338
8
309
414
66
336
316
208
215
405
195
208
358
22
163
125
326
4
282
453
215
270
25
300
193
133
255
361
267
329
335
20
196
106
18
100
256
21
392
88
483
77
401
137
431
223
321
430
472
310
57
353
461
114
350
6
223
300
163
311
321
91
110
22
91
234
432
142
11
306
234
321
423
247
357
375
147
128
251
79
474
164
228
102
404
120
402
320
101
435
204
426
380
152
422
318
153
163
292
440
130
315
54
237
454
376
155
482
142
398
262
410
392
14
145
158
83
13
462
383
385
466
273
457
369
144
91
194
40
22
60
377
139
364
28
351
391
443
484
142
489
172
393
249
226
223
422
18
330
359
171
485
302
130
278
294
272
342
97
260
126
126
110
482
366
272
99
423
332
205
415
270
20
312
383
387
300
79
306
136
434
411
454
32
427
430
420
202
475
428
115
15
17
147
78
179
100
273
304
302
116
249
356
254
34
105
243
376
218
234
473
404
363
81
94
159
42
15
325
33
373
365
258
459
15
106
454
363
92
1
179
342
455
7
492
336
324
6
50
324
52
50
320
190
132
157
485
194
134
476
12
14
432
336
302
40
431
291
184
71
451
438
132
429
84
88
53
62
377
201
28
203
251
108
22
305
254
191
20
261
155
121
494
6
320
155
451
46
356
168
291
99
229
42
251
385
229
211
61
52
194
340
152
29
277
398
243
42
104
70
483
352
409
23
97
440
298
20
312
338
464
299
327
494
101
338
371
248
201
261
396
376
282
104
48
39
231
15
20
325
223
228
302
156
59
37
372
229
310
364
151
115
310
168
297
93
187
490
341
261
52
237
4
232
194
350
106
124
89
272
384
373
110
31
373
331
87
44
107
97
251
379
498
172
410
50
288
112
316
362
193
196
214
27
71
8
497
168
287
355
220
384
15
243
230
349
183
415
420
11
370
491
234
37
338
159
116
301
304
246
484
350
399
342
99
192
192
33
160
35
367
86
130
63
245
287
455
56
213
115
402
335
198
217
230
202
466
467
227
386
434
328
146
326
90
313
19
343
492
107
187
75
233
117
344
42
367
468
87
422
191
475
85
447
134
440
451
178
312
401
349
120
217
45
115
2
179
479
234
204
6
434
181
207
410
458
47
93
404
267
421
117
308
99
265
403
375
71
19
89
22
463
73
359
73
87
398
221
422
375
264
212
210
369
386
61
315
406
465
34
152
123
315
330
110
224
102
480
359
324
215
102
385
403
463
200
262
92
308
413
327
417
273
499
352
125
451
84
477
358
412
92
311
82
457
429
227
312
409
65
96
492
274
451
349
319
71
87
293
156
496
116
138
401
125
156
40
402
260
399
339
285
26
32
146
177
112
98
196
241
40
298
173
458
5
127
133
309
457
446
288
328
407
227
234
23
308
291
191
307
248
420
467
11
325
8
440
303
492
356
269
322
196
360
375
267
463
169
126
336
369
72
138
492
80
23
460
316
87
477
8
113
175
53
15
240
283
327
369
94
152
369
9
451
85
450
225
87
186
446
301
456
447
470
100
224
300
26
388
46
204
357
492
151
346
75
157
88
450
278
78
183
237
228
69
40
87
325
375
485
182
322
391
30
439
238
12
71
279
29
434
371
40
19
90
343
81
486
9
164
185
32
430
157
78
60
269
93
79
80
441
378
460
57
487
320
70
423
373
234
443
364
77
410
447
436
338
270
23
474
29
410
463
102
241
110
144
303
449
455
71
176
220
162
67
356
215
232
50
466
347
408
299
343
26
95
298
351
36
427
165
439
443
388
330
431
152
335
158
255
365
201
344
116
147
460
204
496
117
249
260
110
259
214
149
469
393
442
415
385
40
412
2
49
316
465
449
483
237
307
309
173
228
54
359
164
214
205
231
152
411
195
148
356
72
420
209
136
202
188
107
345
295
62
407
116
384
373
267
59
94
372
220
385
272
96
46
33
441
185
303
47
357
50
391
383
182
209
192
311
465
107
399
255
332
160
75
412
395
284
318
330
15
355
272
55
11
347
142
382
437
367
404
413
273
106
11
51
249
378
114
25
201
237
341
240
308
191
451
284
52
179
129
85
98
291
184
211
441
141
196
256
345
100
100
305
469
196
77
189
26
223
370
4
247
297
47
67
357
435
226
86
261
232
440
135
197
473
245
13
472
235
410
238
85
384
144
53
258
482
246
308
336
336
165
442
139
143
39
49
397
288
149
288
196
181
159
156
239
109
358
213
250
202
278
264
446
278
58
451
84
474
288
237
143
500
282
20
469
443
123
417
279
481
132
3
249
317
86
433
497
366
124
222
468
89
230
343
39
455
206
220
311
247
412
199
384
255
246
326
113
361
125
444
96
471
202
120
470
108
321
69
437
309
55
98
210
391
192
58
332
18
243
396
195
425
123
14
422
415
120
308
98
486
363
425
155
393
255
357
225
246
384
365
93
182
358
19
444
235
95
18
81
209
370
55
307
96
609
367
783
363
663
448
706
783
552
778
609
665
585
421
701
691
464
683
652
683
798
463
614
578
512
663
647
550
707
735
535
645
541
470
736
716
461
378
614
793
627
601
663
390
759
629
393
737
709
522
306
518
357
334
587
565
378
327
498
651
354
362
532
649
481
476
571
334
604
432
743
540
665
334
527
362
395
339
574
418
589
561
510
695
771
371
519
359
482
354
445
755
777
520
660
478
574
710
307
472
556
307
385
499
551
667
686
584
692
799
301
710
534
420
345
585
325
740
751
784
704
395
308
458
448
414
495
798
443
300
441
750
618
316
430
713
306
790
699
754
585
413
744
628
569
324
364
348
446
524
306
595
678
728
518
574
501
773
457
688
485
565
492
402
692
307
639
749
677
346
694
434
506
366
735
547
633
380
498
413
469
388
637
596
761
680
712
768
675
788
338
554
747
602
300
383
655
516
353
630
561
499
626
800
489
773
310
379
762
659
553
413
352
503
579
565
431
487
456
551
347
672
344
500
421
499
499
313
619
693
763
406
627
470
478
318
717
549
791
798
485
660
659
762
566
303
681
331
420
473
716
577
672
493
770
546
454
719
481
303
797
669
559
692
500
503
772
510
725
366
336
592
609
553
575
392
428
493
731
710
503
393
680
750
567
395
676
546
787
603
793
324
533
444
387
572
696
767
511
629
749
539
533
544
722
595
668
667
381
648
424
552
306
587
345
654
513
321
731
665
639
601
530
729
407
463
489
763
588
681
418
434
735
753
719
464
570
542
776
433
696
553
728
623
514
356
702
571
763
384
505
366
749
550
656
583
776
678
586
367
599
690
360
652
525
477
605
481
392
747
750
752
631
653
362
674
565
595
680
515
302
745
712
437
622
706
572
396
365
521
726
370
725
463
582
731
403
468
606
479
408
766
595
800
760
467
756
542
759
381
691
401
765
384
404
739
494
358
340
608
581
690
636
776
754
534
624
321
612
714
475
318
498
631
323
628
756
372
355
674
393
659
691
719
574
634
589
779
800
651
711
550
343
339
516
450
309
365
771
793
710
445
659
441
519
376
630
670
349
379
656
719
514
524
344
567
546
590
591
531
342
747
752
374
401
309
598
340
628
618
468
469
655
631
698
738
349
755
559
566
745
734
594
549
690
676
674
732
748
548
794
517
504
468
788
698
419
546
392
687
366
326
514
420
477
502
342
344
556
452
489
732
445
523
660
556
449
702
596
594
501
322
638
419
636
756
472
504
539
301
709
607
413
543
449
689
412
551
489
654
755
467
314
517
545
642
375
654
459
483
696
592
691
575
783
731
470
385
393
457
727
744
353
392
747
623
490
593
655
375
547
542
402
517
751
593
696
718
725
570
352
533
604
778
728
790
471
627
488
722
325
758
331
371
347
448
759
490
413
723
312
426
389
795
746
356
318
427
514
678
462
557
576
355
392
397
776
497
338
675
311
471
497
431
683
360
587
456
399
557
456
758
443
364
515
738
437
609
686
760
419
742
637
674
632
779
571
591
668
646
685
738
790
780
527
595
663
423
521
402
545
347
452
704
353
358
478
603
374
504
712
375
688
590
472
724
578
332
325
354
561
745
664
733
602
534
610
697
786
373
766
605
677
772
470
724
442
713
338
544
617
657
582
678
398
451
717
513
421
558
384
375
791
618
443
326
567
729
374
517
534
440
475
589
513
641
672
404
303
682
625
691
336
734
650
517
623
593
360
770
538
377
375
628
485
444
545
725
736
624
504
564
704
303
417
724
737
310
455
583
649
623
765
576
350
416
365
330
499
512
560
623
477
649
796
603
335
435
406
663
395
394
759
534
701
629
311
697
655
544
777
364
714
603
349
603
388
489
431
327
541
492
439
510
512
546
724
774
416
754
335
734
641
337
769
657
681
796
337
503
468
538
304
471
752
799
310
642
481
740
773
656
350
408
347
381
634
594
670
467
379
600
496
439
608
354
738
362
342
660
702
770
457
417
718
771
495
653
712
403
331
735
484
690
787
360
731
582
760
781
637
709
478
778
491
780
510
429
659
315
541
746
585
367
527
609
323
374
729
300
439
720
539
383
359
765
325
548
476
541
347
362
326
750
452
436
477
358
587
454
681
516
599
457
657
317
441
457
633
430
301
468
515
317
566
424
377
521
596
527
372
629
562
709
319
524
471
779
666
778
623
738
517
306
435
497
757
512
640
478
446
748
775
718
560
523
568
392
796
733
357
400
759
327
767
595
391
302
480
716
314
505
363
391
465
655
616
793
345
729
761
599
644
567
493
343
347
443
701
545
671
464
687
655
579
302
343
549
563
319
575
719
381
332
481
416
506
603
726
611
378
700
743
765
795
715
792
406
320
344
534
533
755
455
553
457
388
323
631
637
507
788
783
362
399
783
507
364
738
765
437
460
740
497
375
797
666
389
642
649
650
505
723
722
566
385
650
576
691
304
605
554
475
404
381
347
768
339
484
751
643
706
630
670
300
671
686
635
306
555
416
794
749
490
508
317
329
558
355
513
793
448
753
654
324
767
375
431
533
664
623
774
476
649
451
751
568
519
525
304
563
512
355
515
373
700
742
613
365
724
669
504
490
772
659
529
524
512
494
360
572
623
441
523
667
301
448
428
451
320
734
530
639
530
388
734
405
779
714
548
799
368
306
748
482
476
527
542
326
342
358
690
760
772
618
504
402
490
384
734
342
699
772
320
603
677
424
368
697
590
534
392
512
591
526
753
637
450
691
650
621
338
422
373
541
690
376
420
450
715
608
747
364
726
651
445
677
482
472
421
388
312
326
469
660
711
584
387
747
626
530
415
706
349
584
736
748
745
551
494
411
709
376
380
406
619
605
408
474
769
515
492
783
301
410
538
665
477
695
563
621
698
638
350
533
677
307
450
560
480
425
792
725
690
499
608
310
461
316
769
308
307
686
394
646
617
632
445
528
750
371
392
658
714
657
650
560
630
420
435
478
419
788
387
586
639
625
707
361
759
603
501
378
423
697
434
378
551
377
684
617
772
744
705
791
785
348
534
367
323
695
706
406
488
498
451
635
471
654
440
448
490
441
682
574
415
345
570
576
306
492
470
793
669
789
515
627
375
342
483
635
364
309
678
772
363
737
494
788
781
551
771
500
790
675
708
408
420
751
452
713
465
390
511
741
309
781
663
715
770
358
324
600
551
381
442
513
671
306
775
594
451
717
743
334
350
570
622
558
326
674
361
471
321
585
487
640
621
633
610
783
578
347
699
655
693
626
690
580
654
608
314
511
595
327
688
321
696
579
688
773
665
320
781
451
744
385
501
542
769
485
640
319
679
661
647
669
427
315
399
578
650
408
393
432
375
465
795
439
685
405
328
399
773
474
594
758
467
759
515
595
541
675
788
656
462
574
338
692
685
634
662
397
788
782
362
371
375
694
514
370
666
550
334
552
697
362
711
729
345
403
703
721
613
445
599
369
753
608
372
644
402
319
767
746
766
350
433
413
378
688
640
780
303
433
415
589
386
607
757
795
552
673
342
644
487
534
392
688
762
481
765
614
604
470
680
688
345
703
560
586
679
325
393
369
340
451
772
536
319
403
488
721
768
761
337
350
594
534
384
742
502
578
748
682
752
364
533
563
418
600
799
739
306
320
450
341
307
640
781
567
719
540
520
742
791
735
788
677
798
592
512
533
736
553
754
580
476
465
488
404
526
608
718
316
301
797
530
672
607
762
419
629
457
627
758
562
378
790
456
323
571
647
409
524
587
463
434
344
791
668
388
767
477
543
565
433
621
689
362
541
320
753
325
673
776
698
635
754
548
386
760
727
329
504
570
437
729
552
418
616
725
504
538
797
423
305
519
552
610
318
493
789
681
605
603
786
425
501
591
789
312
620
667
386
407
706
647
676
737
499
566
407
423
589
462
411
750
561
384
495
608
791
714
302
468
324
480
621
663
649
326
703
645
431
636
778
486
483
471
690
738
632
699
494
398
732
376
305
687
532
641
800
628
318
314
450
307
616
503
546
662
490
302
378
407
568
423
481
637
748
429
487
752
354
637
554
520
348
337
756
518
648
477
387
398
633
766
400
711
617
551
800
506
317
536
746
461
669
464
394
572
423
320
342
569
728
396
667
658
520
337
506
702
587
372
605
488
563
404
513
708
606
395
367
607
558
356
571
759
791
617
653
497
569
322
615
312
586
719
324
308
321
646
752
385
609
441
320
557
424
567
378
489
793
355
389
461
796
483
684
618
604
713
394
708
580
446
302
306
765
527
529
365
321
781
369
585
332
585
383
665
362
770
398
395
784
458
762
342
508
311
528
759
524
496
745
744
441
313
430
348
627
699
412
632
364
493
332
698
800
370
630
478
765
541
793
663
424
462
538
532
433
508
407
714
729
344
356
558
556
480
442
582
695
504
471
480
750
659
567
506
708
754
789
526
572
566
375
770
797
650
758
555
361
335
544
780
646
637
447
513
372
538
671
476
584
381
518
487
714
406
763
733
705
766
409
596
707
476
760
523
579
711
598
423
536
757
614
616
574
674
415
611
350
766
794
674
314
612
780
494
542
650
373
570
584
787
424
451
398
705
366
782
345
644
676
336
304
792
562
353
514
471
637
799
450
344
657
727
626
351
738
628
729
382
561
527
554
792
523
407
346
500
313
623
443
786
684
490
317
659
643
342
375
348
645
785
491
572
796
645
698
799
312
724
552
595
601
757
413
423
362
509
305
497
366
421
589
319
446
507
722
382
769
450
662
653
506
426
492
421
331
629
396
700
312
744
400
726
463
691
520
560
632
306
740
678
568
647
519
654
771
747
459
479
315
718
525
310
748
596
439
601
349
575
629
532
506
350
550
740
358
410
458
436
449
712
433
405
622
758
380
574
763
775
506
588
482
311
783
453
558
650
490
457
598
306
763
756
399
689
440
459
469
576
717
763
561
737
374
622
470
378
647
497
640
660
471
680
625
363
579
651
526
373
349
600
459
312
641
728
694
344
365
311
379
580
323
660
703
793
372
566
404
539
303
459
544
464
441
708
377
337
508
743
364
767
640
406
729
681
391
696
420
781
704
547
444
761
511
589
704
638
704
456
335
449
307
764
600
537
607
346
744
518
350
472
719
558
616
741
411
591
359
472
740
405
553
388
390
620
304
329
771
602
719
658
600
611
784
336
450
531
680
669
502
549
550
526
415
318
430
781
584
704
585
408
469
408
644
413
539
564
410
466
515
742
504
324
450
669
527
495
551
455
345
661
555
362
545
581
348
542
481
586
520
655
388
315
472
464
406
334
323
403
536
702
423
762
718
549
327
397
488
658
452
675
480
673
357
358
348
788
764
346
536
517
388
414
490
449
795
447
341
800
651
406
490
615
546
630
779
449
519
655
309
741
336
758
436
713
528
739
463
497
683
352
475
628
449
749
784
392
687
530
509
562
309
567
471
544
391
425
698
536
666
705
577
500
755
472
553
408
554
389
570
410
497
465
525
426
337
320
586
308
583
763
598
425
730
464
650
656
554
659
499
774
372
537
408
768
678
378
514
349
411
352
782
767
700
349
394
357
583
375
578
569
726
321
360
581
765
317
416
382
756
571
330
393
656
301
729
695
469
612
679
311
530
378
415
647
765
491
632
659
489
571
481
734
792
477
349
446
619
640
436
545
670
394
622
671
523
464
392
589
412
460
507
364
703
585
365
602
676
531
618
673
713
639
372
442
597
469
314
391
756
331
372
350
632
364
445
456
626
356
497
524
414
669
684
392
303
393
708
394
615
638
337
537
743
449
796
625
585
605
369
741
474
608
660
313
377
406
445
419
787
681
783
309
538
781
382
463
470
364
419
308
531
642
466
589
795
402
723
633
661
527
324
654
705
417
444
318
691
605
671
543
351
411
732
451
428
447
437
378
583
572
337
313
392
767
776
655
368
704
580
717
530
451
301
514
487
643
583
609
562
590
527
563
689
406
499
515
335
770
425
324
715
580
458
559
536
314
619
769
496
496
368
379
397
304
755
710
655
548
309
373
496
698
366
440
734
417
799
439
524
635
677
434
643
484
747
478
469
468
433
565
599
377
579
358
661
362
513
439
439
542
440
320
611
315
664
519
702
545
617
766
784
306
373
463
302
319
791
447
538
310
622
593
587
495
747
474
469
512
503
628
574
653
511
314
367
474
385
441
333
602
380
327
337
523
410
648
562
505
708
342
511
691
681
778
540
538
765
334
794
776
481
391
525
595
475
752
330
392
656
780
554
686
452
593
316
354
554
386
703
677
636
619
538
561
694
583
625
561
344
473
340
454
442
597
498
765
545
760
587
792
387
685
440
628
325
747
663
545
607
634
466
538
723
791
312
678
346
312
632
731
729
758
468
549
534
723
797
366
344
615
680
595
687
689
326
684
677
368
598
389
389
354
792
361
486
467
552
752
560
349
700
345
328
772
731
537
660
596
726
695
763
520
681
723
730
589
471
574
319
400
510
594
461
427
389
764
651
488
462
729
366
560
690
568
589
499
650
666
601
364
365
542
541
323
564
739
706
731
378
794
539
442
656
404
434
402
482
613
335
396
788
760
667
617
744
691
528
677
364
368
525
410
330
793
356
334
709
556
656
319
664
482
600
338
527
712
479
414
409
735
491
775
302
781
748
722
489
578
512
726
773
701
575
722
456
598
400
617
690
576
430
443
583
610
604
600
302
720
482
717
633
464
684
375
409
345
406
558
423
675
451
601
537
382
311
442
715
517
642
609
688
327
794
335
352
701
516
601
440
536
356
374
611
771
393
400
451
516
341
559
686
657
751
713
586
370
719
405
766
749
666
475
728
778
615
352
376
350
331
618
367
608
496
313
316
507
373
569
334
485
412
711
303
689
630
534
495
542
372
582
519
550
638
777
764
698
485
728
787
317
621
654
573
577
680
546
370
662
544
316
400
328
414
676
770
796
764
491
571
388
613
513
349
762
364
374
561
673
656
736
614
648
470
585
513
473
572
503
350
537
721
799
601
684
446
668
369
342
504
338
372
604
659
653
544
509
490
679
734
391
414
409
784
372
584
618
694
578
699
771
672
429
581
766
414
569
563
413
600
396
411
535
402
645
713
464
382
785
759
579
551
367
508
680
493
464
743
309
575
623
756
708
426
456
742
517
314
651
795
615
322
676
404
356
463
457
516
656
515
678
440
773
382
676
546
312
421
666
439
607
636
662
651
451
522
666
579
445
496
622
407
764
757
397
436
529
739
682
657
672
669
755
571
752
422
365
658
484
794
777
616
783
760
542
634
309
789
772
402
410
389
793
544
668
720
438
314
324
507
749
557
589
411
333
597
668
588
662
642
455
558
601
600
319
534
792
643
312
403
430
360
482
420
535
376
621
694
694
779
452
326
484
705
503
766
388
327
394
652
547
401
349
411
584
617
463
375
560
756
342
733
646
709
746
597
715
609
517
400
430
471
623
350
589
605
322
346
626
552
688
303
433
320
533
662
357
739
492
572
311
355
488
548
703
330
468
554
704
778
588
700
646
687
455
399
610
435
561
633
691
467
572
475
681
457
629
483
491
713
372
631
506
381
447
395
502
342
338
448
366
611
636
490
401
497
539
619
321
437
779
497
513
522
783
557
466
435
586
703
625
433
400
320
792
314
650
787
648
436
565
791
401
706
336
439
381
659
565
661
336
526
532
365
568
546
475
415
760
623
414
545
338
780
481
500
719
754
693
631
451
616
795
384
662
544
566
465
755
639
398
721
354
345
453
640
518
327
730
772
628
782
473
352
633
403
651
639
673
710
481
424
696
376
657
733
319
503
548
548
664
684
703
561
665
347
356
492
490
719
537
639
657
750
660
782
402
331
698
644
611
479
439
694
790
758
336
754
741
778
505
530
343
514
488
426
786
518
461
442
541
674
650
650
470
590
412
500
517
549
567
368
743
533
430
724
450
655
574
740
475
767
402
530
578
793
749
657
347
382
417
554
453
575
347
639
329
532
377
562
404
625
619
414
787
684
744
734
783
714
416
381
728
604
691
549
548
475
512
487
365
703
665
622
746
747
599
645
603
354
345
331
479
571
625
623
411
534
787
663
625
458
636
767
649
444
634
732
524
439
443
761
508
667
357
540
512
503
651
437
588
352
651
800
581
517
655
632
742
490
603
586
540
561
430
699
365
606
629
547
427
742
656
329
762
491
372
372
735
622
469
440
631
460
333
721
520
602
694
598
559
484
333
779
328
311
756
753
375
732
646
376
774
414
317
409
316
333
646
358
389
382
652
660
691
705
716
634
588
429
399
725
591
580
757
401
686
465
465
655
389
326
364
781
438
375
441
314
384
588
579
382
315
490
427
547
378
360
800
691
481
475
342
734
443
502
795
316
636
569
583
607
787
778
451
402
347
367
485
423
710
715
758
368
624
341
373
616
729
399
317
653
670
348
624
379
653
795
551
572
348
423
359
739
789
524
307
594
457
549
390
542
525
472
785
652
573
679
709
695
450
371
318
666
654
733
728
662
655
689
353
695
492
726
739
721
732
459
410
376
437
581
436
724
449
717
627
743
548
310
582
483
354
377
689
449
701
665
783
303
312
550
341
471
460
379
340
768
569
463
651
640
371
633
506
493
563
559
618
371
722
507
675
501
601
452
712
300
693
505
511
477
662
331
495
761
648
757
604
309
469
705
784
454
413
616
695
771
465
576
696
378
566
668
534
534
542
534
537
477
480
781
619
509
703
573
507
521
356
336
714
777
376
785
323
591
731
355
573
715
473
450
790
634
569
699
488
521
414
603
715
386
335
657
619
576
398
669
614
398
710
314
665
325
434
660
352
415
373
732
523
764
553
601
489
361
517
408
778
677
660
396
625
718
390
330
573
678
467
692
472
538
481
582
372
426
385
682
506
733
710
756
512
322
666
755
315
421
514
592
794
542
542
558
712
544
459
781
545
795
665
469
508
418
691
446
425
402
546
382
353
765
765
381
419
687
581
539
787
526
563
659
510
305
655
598
651
428
336
684
469
349
565
712
583
435
342
446
365
534
793
643
485
573
385
718
796
576
357
464
600
687
360
677
761
742
758
795
772
733
691
726
726
359
600
416
619
513
427
661
631
412
350
364
720
623
569
770
449
665
796
470
343
300
425
481
504
481
474
662
445
424
756
768
337
646
637
562
531
698
331
383
514
599
604
506
542
537
582
301
431
495
541
616
566
490
438
441
653
625
322
596
488
342
554
465
470
686
472
310
374
790
769
772
798
522
711
375
638
468
544
727
634
610
687
784
411
354
407
522
617
411
613
598
486
449
440
700
718
582
456
785
323
450
580
612
627
694
726
315
671
461
763
394
510
563
497
570
333
432
303
790
472
535
416
679
423
326
457
494
717
665
750
580
575
354
606
581
577
384
555
605
408
643
793
629
654
443
405
690
601
351
508
432
560
477
682
320
469
598
436
484
330
425
425
597
350
563
388
586
481
399
635
514
341
662
501
679
800
478
612
800
711
432
497
742
435
488
630
647
312
654
491
587
592
605
521
620
346
705
451
374
406
312
718
361
640
712
613
654
614
654
484
581
770
721
570
616
793
355
571
626
426
782
722
527
789
369
633
477
737
597
449
487
664
784
612
669
606
555
501
650
440
460
777
524
791
518
590
487
474
302
761
492
355
583
787
552
771
400
717
667
660
451
333
702
729
336
300
361
480
623
702
335
604
609
406
431
500
519
749
566
686
682
654
717
444
558
731
715
383
533
718
341
507
521
669
580
681
482
758
788
731
604
444
474
395
644
333
392
540
492
583
725
576
550
445
416
584
484
410
370
418
332
625
750
666
578
491
753
790
785
628
551
683
408
387
428
356
753
450
750
642
582
305
722
509
531
552
571
409
460
422
524
411
744
337
531
338
301
517
581
663
549
616
670
414
557
635
356
766
512
598
485
513
608
340
559
684
316
576
701
513
478
627
583
695
628
499
468
323
797
665
524
735
679
498
764
467
736
693
595
677
554
609
632
392
769
450
420
486
457
486
581
337
683
425
748
336
412
630
604
599
741
451
386
615
408
330
600
571
516
719
530
390
406
684
613
592
333
325
493
652
779
792
668
624
643
410
547
553
617
705
558
621
673
407
306
509
715
766
664
453
487
704
394
729
547
332
582
709
487
495
643
669
355
658
557
754
317
474
495
764
468
551
698
451
414
654
578
736
591
610
326
401
313
705
526
766
585
635
448
304
416
449
444
514
594
532
420
406
536
315
696
622
689
693
783
574
353
739
491
348
773
450
785
656
679
501
346
592
683
563
678
783
547
346
580
598
378
717
481
633
403
670
506
449
577
493
442
539
418
598
504
304
795
783
618
557
697
309
508
778
356
388
477
449
772
425
350
312
592
422
677
458
507
651
423
382
552
521
381
317
345
346
671
547
521
707
602
536
418
408
793
650
494
608
795
567
581
759
768
797
417
790
390
424
518
576
542
663
704
711
690
469
682
387
420
354
755
387
635
341
583
602
419
744
526
779
460
787
685
456
314
514
792
418
632
651
603
685
479
667
581
712
341
504
580
611
573
330
561
564
434
624
696
300
590
307
556
300
365
372
523
709
758
332
381
556
762
602
475
315
591
318
727
585
323
351
560
694
707
700
432
337
341
494
362
476
457
520
389
383
782
530
549
765
600
689
722
328
421
358
514
463
707
475
702
397
462
737
326
431
532
491
652
755
401
448
714
469
339
736
531
482
486
528
633
791
638
429
583
645
506
328
538
311
367
459
615
674
605
420
790
741
614
744
507
653
773
771
791
419
589
430
309
642
790
426
715
631
638
300
565
357
361
496
348
649
587
583
354
782
758
602
402
374
315
630
717
589
698
532
312
310
708
459
758
559
324
594
616
692
340
625
380
358
748
362
731
763
384
529
652
600
596
447
464
608
625
348
684
491
305
593
655
363
391
733
339
568
515
362
342
776
637
546
355
462
531
380
446
447
327
746
508
437
400
752
450
371
703
431
713
661
678
443
424
319
792
480
678
346
572
656
524
479
773
541
663
678
417
605
687
494
349
462
755
720
641
744
348
590
310
799
570
750
797
520
539
316
458
672
413
766
393
320
367
318
745
476
732
543
635
376
780
327
550
681
492
392
479
531
765
499
683
522
755
587
493
414
614
392
538
750
791
752
738
409
488
688
492
661
654
359
427
651
583
323
593
334
338
387
665
683
498
376
564
797
601
729
760
512
634
345
606
579
611
507
581
378
503
761
504
724
521
690
725
652
405
569
756
635
644
777
346
693
441
800
431
377
347
349
324
531
417
709
761
412
444
756
481
313
509
743
732
708
507
323
393
673
360
774
606
587
722
752
528
330
670
529
360
517
797
617
345
521
361
346
648
561
453
612
347
508
564
315
659
767
376
721
673
440
735
372
361
745
524
797
477
409
348
435
611
798
420
663
365
716
748
657
683
634
696
451
519
330
307
676
445
313
736
385
663
377
788
570
581
557
381
655
454
622
341
794
330
512
314
770
644
639
560
630
739
450
310
416
728
719
339
524
474
770
720
553
517
415
598
518
566
495
668
526
449
357
393
383
488
437
386
416
453
534
617
567
552
753
701
415
346
437
734
648
444
520
675
497
677
752
302
730
578
546
507
792
492
324
498
700
662
637
321
549
563
313
732
332
780
626
320
524
302
734
553
453
413
469
507
395
573
596
404
346
516
691
686
726
687
610
358
714
589
664
330
439
423
576
671
302
588
462
455
619
513
731
754
322
587
558
543
603
623
396
704
679
441
760
347
473
588
351
760
753
542
306
674
517
748
627
373
615
365
362
646
392
293
400
229
152
67
232
364
446
145
283
493
410
202
255
159
413
290
34
114
104
426
346
219
395
451
291
35
410
353
159
50
392
57
473
359
239
409
311
496
256
100
455
434
352
461
314
228
456
224
105
46
233
51
496
150
147
249
212
64
197
353
131
237
111
303
203
274
256
479
137
326
139
429
174
259
360
470
489
303
379
157
243
123
22
56
243
389
181
430
93
134
384
237
194
490
408
421
58
144
110
151
167
411
85
44
466
235
427
238
309
315
88
289
232
147
227
376
425
5
237
79
130
144
144
41
196
173
41
219
111
488
146
12
97
59
275
68
281
78
268
500
106
433
201
336
117
27
271
87
415
457
291
184
171
64
271
454
481
433
352
135
208
121
311
234
162
485
82
367
106
84
260
324
183
272
407
493
500
187
482
322
260
22
146
181
465
193
388
251
88
402
390
163
423
141
262
346
23
129
104
283
145
17
442
111
33
485
495
109
479
135
289
128
330
287
8
401
154
391
172
260
26
497
487
24
451
179
133
359
352
304
2
401
282
245
358
496
388
207
295
220
345
236
347
265
10
429
95
362
84
262
313
422
214
214
459
470
160
239
251
113
260
390
268
184
46
20
245
411
299
496
476
274
330
228
368
129
428
59
481
322
462
486
231
136
409
212
306
289
254
173
1
109
396
270
165
102
119
190
34
344
19
324
338
330
10
249
381
373
323
430
356
445
444
479
125
262
243
488
144
64
345
236
170
350
344
57
71
461
3
131
466
256
204
228
252
358
305
357
189
448
76
374
449
345
150
497
3
92
95
221
433
92
69
306
155
156
227
370
409
322
109
147
312
46
213
379
16
188
140
9
469
234
202
174
500
316
29
492
14
327
138
176
84
149
219
6
318
63
470
146
190
49
117
294
4
122
51
142
85
421
493
94
8
315
123
414
237
52
75
452
73
246
156
368
459
43
494
108
62
432
408
240
428
65
359
172
339
133
473
85
482
156
170
94
287
172
397
315
228
303
182
213
92
345
333
490
113
109
326
436
228
325
170
81
169
308
427
437
64
186
257
347
93
451
310
395
405
224
120
433
305
225
265
164
4
356
168
45
117
13
339
486
39
325
92
208
350
380
50
189
212
85
40
185
364
64
449
191
442
496
401
311
144
8
372
31
385
8
381
354
224
469
217
275
304
405
310
454
215
110
78
116
110
314
405
38
452
432
344
192
463
74
200
442
304
198
351
395
169
76
462
248
30
146
152
177
226
379
91
474
164
197
321
183
174
278
246
386
129
171
341
93
267
248
229
417
259
56
254
192
83
381
17
360
351
115
421
201
301
330
84
457
57
283
466
164
197
288
272
91
427
268
202
25
83
381
179
317
11
254
230
295
284
461
234
342
471
94
374
215
290
146
212
443
58
142
257
264
210
308
58
262
454
401
429
190
134
226
418
101
241
8
149
434
158
162
127
361
398
289
153
143
384
104
488
467
323
43
262
304
142
355
318
454
482
84
88
51
484
157
52
18
170
149
261
238
4
487
234
49
84
461
89
25
376
379
360
113
432
454
338
78
160
4
465
412
115
246
150
32
126
108
95
311
40
482
189
484
407
421
371
283
61
130
314
230
133
391
347
298
72
299
295
31
233
331
330
27
193
210
215
108
307
183
128
73
284
487
49
86
342
202
488
191
225
307
41
308
279
352
343
498
357
65
155
8
451
184
435
429
291
266
60
105
68
96
154
471
418
140
470
421
478
441
155
252
371
46
340
280
127
407
309
24
297
53
453
111
221
480
37
434
239
16
463
498
328
265
346
10
433
157
374
146
86
11
372
443
45
65
117
7
72
475
296
337
209
347
189
54
40
90
327
439
319
317
458
163
75
13
384
221
347
333
319
211
386
313
361
43
45
29
410
119
223
428
494
348
130
55
127
111
62
382
390
263
436
329
116
428
234
189
383
277
59
401
295
366
243
92
311
9
212
421
97
318
307
195
167
282
158
476
291
456
355
465
438
395
23
431
461
329
224
379
236
442
164
113
180
182
72
19
389
156
54
403
125
114
16
211
17
246
166
4
350
243
178
397
39
275
202
125
493
466
222
297
407
499
136
117
409
418
378
419
465
149
23
469
203
128
167
432
170
141
26
189
102
154
467
476
272
294
254
17
412
7
407
227
419
260
193
208
299
324
296
455
476
59
299
260
297
53
443
470
259
166
257
488
413
20
423
358
137
20
371
332
363
404
95
471
41
458
193
43
276
10
434
203
162
27
150
300
368
168
33
458
31
498
253
376
394
236
121
253
76
194
233
413
188
349
27
459
197
105
374
410
426
414
17
19
110
140
4
384
245
100
420
127
119
48
253
459
273
304
26
355
55
60
467
46
45
294
186
126
2
348
161
109
147
351
8
235
57
267
373
478
27
155
272
5
326
317
120
223
218
223
265
240
122
449
319
417
413
451
53
289
453
444
266
412
349
433
208
320
118
311
8
124
358
459
210
461
110
145
408
197
106
369
418
202
303
166
15
307
260
284
427
478
146
168
309
370
479
135
476
49
446
69
151
127
298
274
334
25
465
91
107
365
131
134
162
111
328
362
85
12
254
145
461
307
464
401
94
332
53
395
317
51
409
249
156
119
28
155
354
384
379
419
266
18
423
397
72
154
213
270
279
344
92
127
1
459
372
446
28
142
484
484
201
452
343
350
385
115
298
58
192
159
378
174
478
165
349
356
396
47
412
37
95
218
260
260
370
323
342
228
277
28
478
118
199
310
383
264
244
16
274
166
452
124
36
340
137
246
213
126
135
491
103
436
491
171
272
301
37
306
441
18
387
173
149
253
396
197
166
124
106
262
6
329
233
338
385
56
464
89
315
131
365
177
378
158
468
499
479
346
128
236
334
393
60
387
115
465
315
251
255
222
287
469
356
478
267
61
142
454
498
62
84
79
500
361
215
428
230
106
265
476
83
1
313
220
242
340
338
202
189
246
495
29
175
165
399
469
427
21
119
367
229
300
274
298
47
375
168
478
429
287
118
413
401
458
333
228
106
369
333
84
76
429
386
142
350
469
280
446
484
87
220
303
8
445
263
364
319
148
117
415
216
300
375
123
30
246
435
49
317
289
377
223
271
120
235
176
35
319
345
69
222
218
360
125
27
323
366
309
470
183
199
251
193
363
46
328
39
465
110
194
9
422
92
239
71
180
132
328
340
281
376
430
246
230
268
22
173
142
235
253
136
28
118
211
15
77
413
6
303
315
408
267
435
426
268
388
235
136
246
145
292
267
355
281
308
156
228
473
392
260
318
448
123
224
498
459
193
349
70
319
347
337
446
349
2
254
55
406
144
240
52
408
254
339
280
374
126
283
35
395
238
439
303
302
338
218
78
106
205
329
19
157
218
262
447
4
480
469
215
1
396
277
128
276
436
255
10
57
175
423
250
43
216
169
218
464
482
410
227
380
289
383
116
314
368
191
337
91
356
369
131
302
330
93
326
434
92
64
398
58
44
193
68
354
34
59
108
88
409
352
169
334
114
48
63
300
50
246
169
331
158
468
315
323
456
203
324
21
451
198
34
301
355
19
230
172
472
268
88
315
247
129
323
416
372
24
29
61
87
133
206
59
465
311
296
485
22
380
196
394
445
289
51
170
171
423
12
376
486
203
14
169
59
264
398
469
408
434
487
95
403
207
286
71
162
182
492
444
200
57
47
25
218
12
246
101
365
265
289
490
460
435
474
335
249
365
409
450
347
339
28
385
279
189
30
381
306
433
421
417
135
307
52
341
478
40
14
326
304
23
483
155
194
217
96
299
442
185
193
478
344
400
275
498
363
225
9
374
83
419
126
486
287
98
388
242
237
113
259
150
209
83
351
467
356
33
144
354
309
26
106
198
262
458
291
296
150
113
77
369
58
110
15
145
78
180
54
373
135
443
149
263
259
456
188
421
57
70
263
301
318
495
104
85
305
168
441
422
388
73
275
139
339
96
108
56
118
119
420
346
411
162
104
298
350
327
268
61
487
434
64
430
374
481
270
192
464
181
118
316
97
495
58
235
438
277
485
72
59
154
140
296
203
325
449
384
67
199
72
192
332
495
11
363
100
158
316
6
205
288
403
66
290
489
175
63
351
247
499
362
8
465
298
76
245
441
162
63
245
440
483
110
353
174
56
442
145
265
32
304
410
186
350
464
31
450
342
259
90
140
296
84
81
273
72
481
143
406
465
480
493
338
74
158
338
134
219
241
184
478
220
338
161
463
449
13
251
115
98
388
118
265
202
348
119
133
224
264
451
484
205
40
230
217
221
193
376
409
456
458
242
441
457
351
440
230
311
495
422
102
76
34
149
418
204
285
169
105
70
236
326
470
170
105
404
50
339
18
137
105
436
319
173
435
154
207
172
184
496
129
468
293
40
36
305
31
298
186
212
397
367
158
376
13
352
345
340
424
177
490
145
227
453
455
208
227
404
403
317
290
349
331
423
492
337
102
312
27
348
241
187
10
131
253
41
321
396
410
466
284
3
184
354
79
349
45
184
98
351
395
111
2
76
385
412
217
124
65
292
380
302
32
410
3
418
178
29
358
440
206
468
44
496
85
147
189
211
95
40
286
66
106
274
116
195
264
209
286
113
289
314
60
109
401
146
284
147
152
112
448
242
399
184
390
373
245
300
316
339
316
97
485
398
457
341
214
216
286
237
74
331
37
342
3
360
399
123
354
479
360
385
310
5
319
154
222
174
294
480
221
441
35
181
382
359
15
78
262
89
300
421
218
387
346
324
139
171
422
147
271
85
197
410
393
433
93
225
246
246
395
205
72
386
30
479
270
264
224
364
21
401
54
212
200
193
3
480
94
290
381
224
434
383
140
237
9
30
172
269
428
154
238
461
169
444
324
172
387
430
498
106
163
317
216
478
62
300
273
210
429
53
350
158
276
342
73
172
98
492
454
187
263
318
171
13
104
185
209
219
444
289
50
277
43
35
50
312
163
105
135
18
476
400
300
416
175
25
123
177
444
440
78
486
135
281
195
169
124
208
85
209
314
468
287
30
283
245
205
401
160
388
382
255
203
203
223
186
90
394
366
73
390
332
379
242
73
212
114
62
250
85
372
421
10
124
131
139
293
169
79
322
388
292
153
71
222
7
419
376
145
446
484
65
193
486
115
488
308
143
263
466
446
328
94
283
349
145
258
417
78
93
361
394
459
198
293
84
432
207
388
476
44
472
282
315
261
309
97
183
272
421
267
169
376
230
126
416
423
106
129
156
426
200
368
254
357
294
109
320
198
423
446
243
444
489
26
96
457
213
341
208
398
163
125
177
123
377
26
11
418
452
215
96
464
354
362
45
415
335
378
17
328
143
369
115
104
449
40
391
275
374
331
290
373
416
17
165
312
375
170
133
448
371
325
369
221
160
164
123
472
402
159
328
121
207
281
495
125
468
447
38
181
317
55
214
13
325
181
33
115
203
120
485
484
358
235
22
198
124
367
381
268
46
173
77
167
176
162
500
93
133
208
188
20
160
285
351
130
358
182
96
328
393
457
375
282
50
360
113
180
440
245
490
223
176
116
388
76
276
100
201
354
32
474
476
52
285
445
325
89
275
199
171
131
121
241
148
83
375
328
229
130
51
280
98
6
56
203
153
449
441
423
415
75
419
94
72
396
11
371
205
469
475
409
171
155
171
380
275
37
212
56
489
418
225
18
318
228
114
339
220
390
274
463
284
309
424
103
222
153
434
363
326
326
475
323
162
257
335
430
361
63
446
316
14
414
194
365
294
22
477
271
236
490
403
349
375
387
376
290
72
188
390
369
292
484
262
495
257
373
202
207
101
86
176
103
37
440
222
23
432
170
374
371
491
274
412
39
446
69
18
415
236
234
224
405
52
444
338
493
372
155
363
184
451
440
79
110
312
320
149
498
107
250
204
52
19
167
269
334
237
7
219
240
499
378
182
35
114
433
428
406
91
466
138
435
272
20
391
236
288
356
272
101
256
121
476
102
230
342
19
126
48
482
491
132
213
239
62
363
429
443
447
277
422
419
423
77
455
498
356
409
313
178
382
347
37
448
210
212
50
330
376
420
12
9
405
461
282
196
183
234
361
375
65
71
101
31
314
255
197
22
369
299
63
335
311
66
150
105
466
279
428
253
294
354
421
88
302
115
274
102
261
166
82
128
123
24
435
395
39
375
141
137
255
71
249
219
171
301
117
266
375
226
448
433
224
89
245
251
302
487
432
457
372
424
349
134
28
395
494
6
335
82
20
246
385
160
345
350
450
168
361
335
317
86
186
464
442
138
10
251
276
449
282
404
348
376
58
245
117
313
500
66
257
477
128
242
376
220
254
431
268
175
143
242
434
119
146
450
389
279
412
471
197
216
202
284
321
359
475
6
174
53
203
264
13
146
428
415
388
187
367
40
470
269
389
357
336
300
28
253
103
498
122
463
260
349
358
286
256
347
403
188
446
375
209
192
63
259
89
499
240
290
109
491
283
112
319
399
452
109
280
147
86
113
268
132
91
27
412
75
312
153
471
7
470
333
147
258
183
190
22
82
430
44
141
396
370
187
79
117
33
75
278
389
400
138
487
153
496
335
225
238
13
486
409
252
466
40
441
118
77
325
136
354
183
170
289
289
397
322
128
321
36
25
493
119
147
475
278
394
287
152
394
394
395
160
93
498
58
423
59
283
470
498
297
441
342
288
274
248
483
253
195
129
201
484
143
389
50
290
474
459
429
259
85
234
198
197
174
421
233
215
173
398
60
247
400
242
389
421
380
282
377
448
394
25
135
184
414
86
374
274
82
49
306
11
143
167
94
159
292
13
479
407
163
7
221
255
246
173
401
245
383
415
109
327
429
311
171
480
175
448
493
26
299
71
170
5
452
45
164
324
160
395
402
8
345
25
276
381
246
71
109
238
187
195
425
186
275
149
485
217
283
409
128
96
99
53
4
276
179
499
351
407
81
10
476
489
231
58
153
3
109
435
474
177
84
426
248
425
24
478
396
50
384
285
324
371
93
472
329
193
206
103
166
303
491
494
413
388
140
28
8
80
322
485
112
440
149
99
310
72
253
267
321
127
251
202
312
483
322
195
104
123
340
247
79
298
139
464
335
17
290
80
110
240
353
465
102
387
468
291
115
316
497
258
256
266
52
198
344
379
200
454
243
147
440
384
206
134
432
475
159
421
419
74
213
238
207
316
485
169
63
294
139
331
400
341
264
148
334
383
336
73
3
153
51
305
200
153
109
1
335
403
64
216
96
237
235
380
47
165
341
411
328
343
142
470
379
211
202
4
231
171
164
392
162
337
251
480
90
500
37
26
411
200
400
225
489
247
267
73
473
469
57
252
65
304
69
189
197
213
242
119
242
402
273
296
9
177
161
4
135
399
303
93
28
275
364
52
18
446
149
289
14
266
146
341
363
151
171
337
171
66
483
76
202
66
342
233
445
65
426
235
219
407
190
21
471
283
16
414
159
271
273
308
122
10
24
317
138
285
107
144
172
234
458
21
93
81
6
135
189
338
445
270
442
468
470
104
452
304
271
239
240
313
500
70
440
492
302
153
266
418
179
411
113
365
130
70
121
156
103
82
401
398
491
147
308
470
243
469
269
78
78
434
277
258
452
15
112
269
397
485
71
197
183
303
192
76
141
28
331
499
500
162
14
272
348
138
257
20
477
392
188
34
65
220
266
140
371
271
382
203
184
448
13
19
397
38
256
474
192
10
359
137
306
203
211
369
172
410
325
195
429
141
109
207
187
332
310
424
216
34
419
396
49
210
232
296
290
233
431
247
130
17
417
116
127
257
101
259
486
56
203
119
169
416
343
213
33
51
299
126
251
148
227
380
402
452
475
192
115
157
61
307
157
169
441
38
337
140
183
316
83
311
485
180
179
117
150
373
274
468
119
141
436
229
301
253
299
450
256
315
423
168
182
111
210
241
303
488
258
280
86
343
318
368
342
450
10
320
175
366
295
212
276
159
263
137
261
293
345
495
481
392
214
76
495
162
157
401
483
2
44
325
465
21
164
118
445
204
402
173
85
4
4
206
452
90
140
289
319
91
376
31
351
37
448
436
360
397
409
267
25
7
178
412
432
32
453
174
379
15
231
92
113
184
209
219
12
143
368
463
392
464
396
71
251
344
5
451
307
362
159
340
176
77
372
191
112
395
80
44
440
315
409
45
410
100
253
354
244
41
458
212
436
58
124
235
199
209
214
339
374
279
470
126
278
146
239
147
316
2
142
231
112
271
153
24
248
294
105
296
264
54
214
116
74
359
409
50
40
38
341
474
393
23
459
293
349
27
57
8
384
402
143
415
303
45
313
402
276
254
92
181
496
316
192
176
358
59
102
45
42
129
196
210
159
363
70
228
243
19
4
371
109
10
78
189
53
355
191
289
377
366
167
72
256
204
216
198
173
268
40
211
345
255
170
382
152
117
290
20
310
240
143
178
435
278
36
352
482
114
130
170
292
264
242
473
135
410
34
47
10
488
451
165
60
44
187
22
189
403
261
328
299
160
26
414
256
31
341
26
490
390
466
481
432
107
460
129
63
66
31
72
37
286
151
126
73
128
319
169
181
117
284
161
250
364
149
188
279
219
100
264
473
230
352
483
401
484
267
288
330
219
170
279
355
66
279
427
83
450
415
149
13
149
418
266
155
52
164
10
413
292
334
344
198
152
486
114
380
490
368
121
354
210
255
270
283
309
120
432
369
208
489
425
340
437
165
372
358
391
412
430
216
278
491
106
163
210
374
291
452
165
166
129
325
343
162
247
486
342
405
392
337
80
203
273
450
296
10
375
442
430
95
378
351
387
262
297
474
181
23
243
94
73
95
347
264
162
387
344
331
141
315
419
17
334
452
313
140
443
388
394
341
174
131
280
163
225
344
350
348
361
244
432
105
126
99
76
371
430
234
319
383
459
258
486
430
168
212
317
57
300
368
277
134
384
343
206
35
35
220
44
21
233
176
432
17
313
40
339
258
457
244
278
332
219
85
40
236
380
71
45
322
381
398
9
272
479
331
498
360
330
352
12
457
18
64
361
279
21
136
233
93
417
427
315
417
373
201
114
391
415
237
413
242
214
429
122
200
146
427
247
293
20
165
461
400
420
17
297
62
99
272
173
272
78
41
368
216
189
254
324
207
257
326
429
270
101
498
475
435
276
435
76
175
135
250
56
18
311
464
42
275
233
115
236
299
286
461
104
141
260
164
437
212
134
219
17
404
264
33
464
3
458
460
139
364
75
33
72
407
227
239
110
305
197
22
229
306
232
299
311
400
109
86
258
154
225
307
257
375
366
229
119
289
224
53
167
227
414
127
42
375
75
128
267
156
23
369
25
112
135
363
236
466
500
472
450
416
328
458
309
284
424
339
269
181
433
117
128
453
490
364
378
381
380
122
407
149
301
483
216
391
360
286
461
258
49
456
122
228
225
464
253
313
304
27
444
495
431
22
401
36
382
383
299
387
330
393
369
251
193
113
176
461
162
158
221
425
149
476
237
428
369
409
77
314
108
452
116
219
412
320
448
248
382
413
73
467
45
246
324
403
114
34
364
155
447
153
192
6
175
344
252
474
63
226
118
234
231
163
444
460
213
81
348
156
363
9
209
99
428
55
250
248
208
436
202
237
357
114
334
378
471
146
374
464
105
21
442
49
218
307
285
456
437
174
37
148
424
44
183
449
165
246
178
415
368
69
427
467
397
409
326
44
266
128
400
147
425
280
2
172
444
322
139
282
82
232
359
345
89
282
98
430
410
330
240
167
241
161
354
461
367
366
306
96
67
170
209
187
156
2
119
254
329
326
380
477
34
130
130
462
135
166
474
278
331
351
216
380
419
77
399
435
179
118
81
23
174
449
62
336
325
159
83
99
401
291
211
114
330
32
294
83
281
458
44
373
122
449
93
151
19
329
247
61
100
83
371
148
135
437
238
54
494
35
355
340
481
326
442
2
118
242
351
309
439
207
8
199
102
496
41
395
16
61
490
3
268
103
212
456
23
486
126
69
1
494
360
425
104
139
465
199
194
396
193
219
29
196
1
43
198
388
411
300
382
420
343
212
329
265
328
102
133
247
62
109
323
169
188
36
418
450
245
246
393
3
488
86
428
59
172
135
391
58
79
87
253
347
315
294
263
29
336
106
229
437
321
461
188
186
257
215
247
138
398
295
56
245
232
213
203
229
24
462
144
141
429
232
66
362
449
147
464
343
6
141
100
176
343
207
132
411
497
354
496
100
387
194
235
488
53
453
446
397
166
195
23
328
173
161
316
64
394
329
418
371
103
386
249
227
481
333
186
131
486
208
424
375
272
438
290
247
423
145
393
460
417
132
166
118
407
400
287
430
321
170
134
341
151
242
308
111
127
469
43
294
30
25
284
393
314
373
24
10
86
121
381
338
250
439
190
128
375
481
163
283
375
487
372
118
198
460
49
467
436
497
111
8
139
282
306
187
369
54
395
285
135
394
461
310
345
237
59
43
41
431
293
284
288
436
80
153
180
464
97
441
177
346
342
386
135
202
164
424
272
8
389
32
40
407
74
137
165
206
473
160
130
402
448
77
207
161
61
382
282
315
91
222
189
48
340
39
116
126
317
206
384
477
199
324
466
472
398
287
390
454
263
497
84
263
476
341
136
294
369
133
282
248
107
209
25
139
260
234
17
161
2
338
176
323
324
351
258
306
171
171
53
301
235
40
180
237
470
338
220
431
222
162
161
304
234
112
72
219
83
445
338
387
493
263
149
447
26
255
206
177
400
210
402
323
195
316
318
453
249
281
155
35
301
349
192
438
495
240
79
444
417
259
494
233
68
270
474
313
207
391
275
371
474
460
448
256
23
477
114
242
121
45
500
448
417
135
173
427
226
492
125
49
46
36
311
274
479
263
116
13
332
383
122
447
56
496
171
475
101
311
469
348
274
300
343
24
4
299
474
50
171
209
199
492
285
169
472
483
236
2
142
227
237
4
89
350
22
27
276
430
419
439
229
276
221
23
381
289
388
445
361
251
399
235
312
267
47
344
261
67
265
466
197
439
233
300
94
194
240
77
11
91
386
459
295
65
485
293
130
13
478
125
324
415
13
298
277
16
360
119
226
406
285
19
277
13
34
441
279
295
94
193
115
360
278
193
320
4
82
327
237
309
289
463
145
429
425
493
466
285
392
29
167
209
105
423
369
81
430
397
82
283
185
44
201
451
439
240
474
192
173
229
167
445
291
419
174
385
368
437
489
431
191
214
104
43
11
236
265
474
146
330
341
285
236
313
76
181
256
152
131
229
21
178
263
25
366
110
177
124
336
133
197
198
260
342
420
181
481
51
38
82
1
67
82
182
292
394
93
362
19
37
369
384
34
155
462
449
263
414
412
245
439
286
404
414
76
137
137
2
7
191
500
43
25
121
44
44
136
341
291
486
414
200
230
32
188
432
87
237
218
437
370
373
13
496
351
15
215
60
451
322
51
185
234
370
100
130
326
27
76
106
235
37
373
323
440
42
196
8
147
169
43
254
126
239
120
454
409
205
33
329
216
486
407
93
372
259
211
287
286
249
8
498
160
147
174
396
113
465
77
20
121
344
149
273
242
76
322
301
146
128
365
418
89
381
326
422
183
474
294
265
451
393
416
305
243
195
303
326
340
138
271
332
342
228
297
418
93
159
495
353
235
324
57
238
166
52
89
85
367
71
428
195
428
172
117
463
420
235
254
37
220
271
211
7
106
387
111
334
14
180
137
25
160
160
139
221
223
106
402
405
235
46
359
321
483
332
106
219
66
321
284
277
291
215
320
114
396
183
227
59
231
252
458
94
664
384
696
330
540
743
426
424
478
609
777
404
545
765
335
757
495
473
385
793
722
688
444
446
644
762
532
448
416
422
445
489
471
316
446
580
545
607
772
319
599
623
709
503
571
785
726
304
577
627
492
653
714
767
355
395
667
670
403
667
422
458
424
461
725
365
572
406
790
356
554
646
598
742
625
779
673
531
725
779
728
413
623
647
380
618
653
681
555
769
360
567
700
465
603
506
382
590
541
721
523
525
592
594
326
751
664
761
763
407
670
789
301
591
508
469
692
455
536
467
607
434
518
644
775
648
307
448
739
578
665
645
396
389
431
689
427
341
554
481
375
513
621
608
709
797
580
579
513
653
753
491
533
502
451
376
453
794
644
566
695
443
324
374
348
631
737
540
326
351
412
342
429
370
370
520
463
468
712
783
459
349
728
576
603
575
333
324
393
754
796
680
602
633
317
669
670
491
470
564
327
500
497
790
417
578
301
789
641
444
779
566
380
343
378
478
496
361
385
527
398
661
496
662
346
665
596
646
735
362
306
322
767
752
585
386
312
511
746
402
593
547
562
471
412
752
397
613
491
421
685
694
786
539
557
797
782
737
659
687
398
381
401
568
487
366
568
745
414
480
734
422
365
564
427
705
468
484
496
589
547
730
582
726
690
654
578
311
591
506
529
376
326
452
325
401
350
606
662
568
431
695
684
368
591
749
628
323
738
442
635
375
487
385
726
488
461
495
457
487
313
432
677
347
490
529
395
397
588
369
569
549
718
394
781
699
351
688
373
637
400
791
661
798
360
379
670
701
532
471
604
433
762
360
758
384
600
306
403
311
707
744
531
416
528
559
773
568
515
464
538
656
611
729
468
643
597
781
363
318
584
772
423
482
597
632
311
677
677
435
742
546
455
483
562
532
650
530
452
713
517
424
607
312
412
323
576
603
383
448
701
758
444
701
754
725
590
440
519
579
609
648
447
447
355
370
332
690
566
740
329
335
665
476
781
452
455
563
457
580
330
704
732
642
784
628
609
639
742
734
403
548
794
414
601
304
554
313
486
676
507
300
463
618
337
774
577
563
377
527
512
323
336
491
409
628
796
463
352
654
361
566
625
575
796
489
441
481
723
538
599
547
514
474
505
495
744
666
311
342
740
475
611
693
506
497
498
755
436
720
404
537
751
799
683
508
346
502
558
513
794
508
592
690
411
793
373
561
549
759
592
709
646
567
723
476
774
311
789
382
388
595
668
722
599
474
480
674
332
430
789
784
731
726
743
556
748
731
436
724
572
795
706
397
626
794
374
359
580
738
462
378
573
432
715
688
488
784
563
363
402
381
740
447
644
464
445
446
454
582
528
722
625
356
743
519
724
720
472
693
732
409
496
418
648
641
466
311
588
725
424
360
300
495
710
691
690
686
564
742
452
395
736
704
373
366
388
708
637
471
422
403
331
573
488
532
313
790
342
515
739
584
775
364
309
650
760
468
559
597
498
413
677
574
300
362
366
493
678
704
483
318
620
464
407
675
786
750
590
656
682
603
703
392
618
656
687
305
709
326
761
392
626
465
628
554
755
381
354
516
681
305
425
437
506
498
327
594
739
497
397
420
645
435
561
410
782
703
457
380
716
734
726
680
453
441
563
421
672
482
746
629
665
486
432
799
482
704
427
448
541
606
369
348
603
523
787
355
763
744
678
544
355
469
476
529
384
344
660
312
690
741
618
480
399
381
337
511
382
634
449
544
706
557
479
336
791
716
449
438
782
302
349
752
482
765
611
748
702
358
655
525
604
522
360
615
726
723
589
510
559
598
651
626
345
606
369
743
663
545
364
594
380
685
516
744
362
769
578
532
668
509
413
678
753
430
377
399
510
330
782
679
784
373
757
310
350
601
529
774
550
673
583
308
759
424
513
749
595
772
569
307
331
616
448
555
483
374
426
385
586
606
618
625
519
300
566
555
380
738
638
442
749
511
393
361
384
435
677
646
763
482
405
478
460
663
433
509
632
417
741
639
367
329
668
357
722
453
399
520
746
480
782
590
410
414
604
684
598
360
434
645
432
580
793
362
430
495
601
564
371
460
331
723
426
409
304
341
799
418
720
533
611
645
344
683
364
561
605
623
493
673
612
343
344
310
608
759
492
431
434
797
784
483
792
708
746
753
672
773
587
426
330
404
576
715
491
737
505
658
732
584
776
412
599
350
461
608
780
495
724
406
458
423
577
623
525
549
457
800
348
407
477
310
492
339
577
742
592
708
585
331
632
569
680
452
534
776
701
772
428
316
645
328
600
708
775
774
506
733
455
660
789
399
319
607
364
747
433
771
502
791
597
594
692
580
585
677
552
778
791
394
646
774
747
703
642
777
786
322
691
322
300
724
703
447
472
456
390
334
450
616
759
444
560
741
715
706
449
395
798
743
557
639
763
460
425
470
469
760
449
382
714
486
733
561
464
426
633
629
499
648
419
615
392
790
633
581
680
526
704
684
546
521
556
710
744
465
357
351
450
359
488
662
499
456
692
591
725
609
311
644
460
379
434
772
418
516
373
341
718
494
686
726
554
779
434
716
331
724
747
403
594
742
398
562
380
721
486
521
781
334
322
746
602
354
332
607
412
638
605
401
427
604
557
557
758
393
591
714
334
549
796
627
329
588
505
704
413
347
722
786
662
785
699
450
692
318
724
411
559
783
668
715
442
796
528
588
497
783
354
389
629
307
767
718
564
741
743
417
441
599
334
566
468
736
351
742
627
627
389
448
494
569
739
304
547
677
507
503
795
460
430
433
581
563
799
409
637
490
790
625
327
408
676
479
430
366
655
300
569
504
504
551
641
486
355
443
792
406
608
450
670
778
372
527
689
320
547
727
783
466
733
732
722
390
699
662
712
318
536
649
395
442
768
443
589
677
707
399
450
475
574
358
776
441
356
548
354
756
310
770
486
427
556
393
733
716
408
500
450
331
471
331
345
416
548
430
447
417
642
640
692
363
796
551
306
672
419
646
677
322
776
716
610
384
665
551
386
774
718
743
779
337
765
506
707
757
486
576
779
511
455
580
591
580
761
713
729
650
545
498
590
794
709
600
399
392
483
566
728
696
531
786
321
651
465
323
712
318
594
492
731
412
609
544
375
609
317
678
525
363
700
455
785
459
794
758
528
422
343
636
726
671
740
560
457
643
305
709
743
575
305
382
746
476
794
777
502
464
662
573
790
734
471
388
475
779
386
353
761
632
454
331
324
364
439
627
529
476
555
694
466
496
799
426
721
686
607
669
455
428
618
747
553
651
404
397
443
389
440
568
645
733
378
655
509
646
340
345
570
327
387
644
795
590
475
420
769
543
351
526
654
611
643
354
730
519
430
473
438
355
358
316
601
528
634
685
324
653
365
496
738
684
648
789
527
521
514
776
646
415
712
789
558
724
611
691
784
721
750
538
335
769
467
443
754
508
521
774
371
653
439
519
521
377
644
655
300
610
534
763
800
536
781
332
635
422
344
685
776
363
577
685
688
588
469
430
689
375
340
347
759
778
514
411
380
689
593
772
502
392
606
602
586
468
484
689
785
595
670
664
630
663
306
518
739
316
491
523
445
385
331
479
794
536
716
494
434
679
333
567
703
596
648
579
596
472
334
610
367
481
713
756
765
615
557
744
603
436
624
458
421
385
747
307
622
433
773
630
574
351
442
525
573
667
352
721
406
358
584
540
705
482
728
321
460
328
652
556
667
677
543
564
540
382
400
513
620
647
572
762
349
305
627
771
591
460
309
522
431
461
473
440
659
572
643
517
333
367
692
316
391
782
371
701
543
323
368
630
700
791
454
411
328
685
764
671
687
460
637
480
720
345
379
531
459
365
427
394
563
751
347
763
584
358
649
346
331
416
386
621
661
741
429
793
451
398
471
370
702
708
304
415
583
421
785
369
323
304
394
641
700
760
722
494
335
503
510
514
414
656
398
356
430
558
367
576
345
623
553
348
305
723
475
379
432
520
670
604
629
778
337
336
729
353
699
774
418
470
741
327
403
382
602
319
598
452
336
535
412
576
510
639
685
639
521
542
673
612
722
546
584
792
593
345
488
387
613
577
595
633
538
653
619
301
579
458
347
366
711
624
607
597
657
593
730
600
584
727
349
517
707
463
698
395
703
766
575
495
615
709
652
772
631
657
739
788
450
778
687
329
380
666
496
445
550
545
467
599
545
424
799
727
414
394
302
621
514
483
614
716
428
683
579
579
393
420
586
652
385
337
571
700
511
699
523
701
794
520
487
341
781
634
589
743
526
698
308
424
315
509
753
566
745
409
477
309
787
725
405
695
366
723
559
669
404
713
517
377
622
344
404
303
347
751
471
783
527
378
549
666
480
484
514
349
522
397
364
375
534
388
579
452
545
673
631
401
382
311
426
378
637
559
764
795
682
783
321
455
334
405
597
305
382
663
407
652
698
520
729
581
420
538
553
501
375
691
539
684
553
711
324
648
575
468
768
481
752
308
389
606
685
799
686
433
772
340
631
600
773
767
442
301
793
665
454
457
336
552
319
728
343
442
584
453
700
752
670
420
714
308
786
619
732
435
325
729
751
499
502
508
322
363
439
542
665
391
706
506
428
555
320
463
386
657
629
341
748
479
514
547
504
484
751
351
453
426
300
509
378
397
769
604
394
324
517
741
576
739
764
661
490
413
402
741
708
373
308
714
764
387
542
669
457
440
421
588
712
408
336
720
430
408
398
342
301
391
395
645
766
629
408
541
569
645
418
519
519
314
374
608
701
610
411
394
610
607
394
582
404
440
678
513
537
481
476
793
568
436
376
439
363
385
641
351
608
585
347
485
778
677
599
561
425
659
354
623
767
507
516
373
762
307
314
516
434
429
568
412
792
693
797
478
637
693
631
681
657
668
709
622
621
545
688
707
504
335
420
682
766
565
490
699
728
670
606
420
628
302
749
610
615
484
562
496
516
361
519
459
433
335
392
738
343
435
387
704
389
424
377
502
496
462
441
686
749
639
360
541
416
330
797
445
400
300
718
428
689
742
526
501
396
438
509
451
694
738
617
371
605
532
695
741
355
527
308
633
645
666
733
417
577
467
559
365
497
324
370
456
416
463
415
474
410
781
667
337
511
567
793
694
375
743
459
424
747
735
697
315
375
394
388
656
392
751
751
602
461
341
377
683
740
338
740
665
437
669
752
585
674
751
445
743
481
669
608
770
472
430
790
384
654
310
472
314
614
761
667
338
371
333
648
732
377
584
501
440
316
582
389
791
344
708
743
502
557
762
588
786
447
417
755
555
705
338
321
751
760
650
581
773
611
713
467
785
740
445
526
535
798
349
430
513
346
726
584
600
380
599
603
330
549
564
427
616
341
770
508
796
579
766
785
733
719
755
409
533
673
393
529
482
449
463
590
468
540
395
363
671
581
627
514
405
516
726
737
719
487
352
361
623
379
590
352
668
469
364
301
759
797
478
674
403
558
644
638
489
583
415
507
664
616
386
350
681
771
707
455
545
477
486
575
457
522
791
769
437
527
363
764
661
332
521
766
681
386
781
702
365
453
329
715
507
387
481
706
763
531
553
637
685
562
325
301
698
487
308
528
736
577
331
784
773
520
430
502
489
681
385
662
695
360
359
488
714
412
462
737
409
316
330
633
675
704
733
316
671
655
346
637
322
777
699
406
601
775
618
543
720
549
670
406
399
405
684
315
619
346
518
595
534
775
312
606
764
559
392
683
527
389
359
774
375
436
404
420
398
431
302
428
759
578
377
640
702
630
580
682
775
330
563
640
625
396
593
797
559
519
759
714
508
328
461
652
648
762
337
673
652
486
662
576
395
327
748
591
552
579
733
732
497
456
351
402
701
544
371
572
656
420
699
474
384
494
328
551
748
345
302
651
663
674
606
579
587
800
739
514
505
730
653
495
584
505
782
534
715
369
682
497
659
579
447
306
731
348
529
477
734
707
766
655
399
781
638
381
634
789
370
585
543
707
794
760
397
610
695
768
456
799
771
646
427
485
749
620
647
659
343
566
337
565
426
758
414
558
402
469
674
728
336
328
620
354
765
780
658
418
381
647
423
410
684
460
474
564
585
499
572
580
746
351
723
699
769
622
755
608
482
725
608
404
473
473
598
580
733
370
320
419
339
447
446
618
507
347
576
624
318
575
756
558
662
489
649
515
699
317
504
393
444
506
590
642
515
554
735
589
410
576
416
781
708
691
744
502
800
327
784
347
427
414
361
397
343
387
654
442
423
773
510
687
618
659
421
639
451
719
747
614
770
505
756
598
476
555
539
456
418
406
661
467
410
476
729
682
558
764
661
308
422
471
777
407
348
779
323
784
645
510
691
533
327
695
577
421
383
644
585
472
585
501
657
744
547
562
708
645
632
634
332
547
636
777
769
675
539
608
316
575
608
606
700
496
378
423
542
412
307
403
453
731
562
605
725
396
547
324
738
332
542
710
617
350
500
759
637
450
598
701
699
300
728
313
501
443
571
570
438
796
603
614
561
608
549
502
301
800
557
317
702
733
628
722
531
679
480
395
385
684
469
508
473
590
682
731
556
615
699
612
494
446
711
607
656
708
725
454
300
652
348
518
514
471
358
700
630
727
413
772
657
532
329
677
799
695
565
425
716
723
319
472
390
511
440
482
549
584
764
447
466
666
322
476
752
715
459
335
485
721
373
666
753
336
574
543
390
389
416
303
532
331
313
494
367
421
758
310
338
462
452
665
474
714
706
402
782
615
588
397
331
429
321
359
510
674
484
598
490
620
500
476
307
448
566
746
306
436
519
384
576
683
330
530
659
766
306
608
413
494
376
449
474
526
796
374
391
651
475
390
515
538
454
798
538
788
554
475
634
587
487
662
723
634
407
698
739
510
735
430
790
800
775
568
360
382
412
649
713
304
718
402
503
732
461
434
394
739
573
629
710
377
470
508
768
612
391
372
412
792
419
479
584
308
776
435
433
480
337
382
584
465
363
341
759
622
782
356
800
301
375
784
303
418
549
400
398
505
780
354
452
700
567
610
641
353
401
661
384
524
630
375
695
483
656
440
557
326
312
572
795
661
670
382
518
545
683
676
343
339
690
379
405
504
713
521
726
784
345
443
422
623
786
722
606
438
375
671
776
413
504
311
796
546
556
634
330
630
616
728
497
408
533
706
320
482
683
763
427
477
386
761
712
719
401
789
639
432
696
420
579
599
791
730
594
691
577
474
335
362
676
770
464
788
462
467
327
336
390
395
673
300
699
612
598
320
545
786
736
628
330
372
566
642
410
493
517
576
442
438
567
746
383
769
414
664
418
313
710
760
324
347
683
652
678
311
698
469
479
609
690
376
632
625
441
651
719
679
322
788
597
585
324
555
459
710
338
554
649
798
624
583
351
595
487
426
405
581
312
775
366
556
603
347
480
429
403
313
626
328
515
394
769
348
787
489
365
550
608
594
364
779
776
337
712
611
410
591
648
424
715
439
308
540
684
462
336
749
563
344
320
513
658
713
308
677
639
331
769
721
439
715
633
615
763
383
578
605
375
660
501
325
472
584
382
674
324
614
628
645
319
315
562
320
552
571
784
350
762
742
771
591
437
619
370
583
386
701
571
777
398
527
543
472
688
558
737
364
456
706
762
747
534
719
567
619
474
462
614
608
398
363
580
456
506
681
330
372
330
767
565
391
435
478
638
550
745
346
456
540
729
656
506
301
384
391
675
749
512
454
446
667
666
786
676
525
346
375
733
770
375
330
476
324
380
529
508
789
460
409
744
593
461
541
480
534
558
458
606
456
677
735
587
336
507
319
439
649
608
377
321
695
680
777
323
457
699
711
725
632
546
369
344
750
386
447
502
368
581
620
796
772
668
422
417
740
775
392
517
302
575
690
609
662
356
373
515
548
467
423
669
623
429
688
547
657
453
665
576
455
492
685
744
396
367
482
375
414
498
734
626
582
790
713
796
614
398
637
438
434
749
727
694
408
632
634
684
336
667
623
691
532
453
740
518
768
748
702
392
502
502
706
645
429
457
327
357
406
343
321
497
708
681
729
766
727
541
755
458
690
728
676
561
611
644
542
480
384
798
497
431
555
486
662
595
383
770
648
569
416
588
499
452
754
378
404
778
751
463
391
765
316
431
376
401
774
611
785
410
800
554
764
461
727
709
693
689
305
528
331
449
579
678
551
480
726
528
462
366
679
566
706
585
625
679
316
384
731
419
366
633
398
678
337
790
514
379
415
508
630
438
782
401
764
712
734
533
393
588
458
637
687
639
752
637
305
705
494
644
789
750
762
523
329
401
744
564
688
374
397
742
588
683
662
470
605
527
654
629
700
390
437
391
590
704
782
590
312
419
487
727
584
535
408
755
729
745
544
664
764
702
361
574
490
681
798
381
647
729
562
497
410
627
800
531
643
431
382
526
452
728
642
560
433
787
675
460
317
371
476
483
387
786
785
350
406
645
394
386
721
461
322
360
738
730
455
438
312
482
328
504
757
462
594
378
491
758
617
355
332
691
694
608
772
705
524
432
474
524
422
387
379
334
697
599
552
618
713
301
675
572
758
313
431
533
510
445
510
496
318
533
564
377
300
663
569
564
604
558
340
533
502
669
541
554
307
305
329
362
721
672
515
749
333
369
369
704
460
679
634
501
736
719
719
368
738
747
533
786
498
380
702
317
750
337
704
473
628
677
672
706
602
430
323
650
459
305
732
587
487
607
344
522
422
702
658
789
450
345
341
510
604
535
765
686
402
445
390
580
702
352
316
769
657
534
518
699
504
422
568
745
547
741
650
709
470
486
684
585
423
544
480
476
688
630
768
750
328
511
389
680
378
318
477
315
791
644
756
304
553
610
790
526
670
742
446
653
593
595
729
615
742
743
556
473
788
504
714
351
377
494
730
504
509
487
402
759
714
520
498
474
685
616
410
503
474
529
600
788
697
353
581
437
519
410
392
508
589
407
638
420
597
441
707
743
405
626
301
692
395
341
700
716
772
785
653
654
664
422
471
429
560
587
502
774
593
315
308
334
741
723
337
385
520
786
637
548
791
440
464
412
532
502
445
319
554
667
307
382
371
725
430
650
516
785
409
724
353
603
430
671
663
336
389
723
610
610
423
418
746
518
485
755
507
339
734
691
753
310
728
546
474
358
495
578
749
685
420
375
331
312
451
776
520
553
641
577
490
316
589
566
628
664
709
352
393
617
723
316
418
454
553
793
532
654
546
766
334
569
476
411
663
471
663
731
733
665
482
793
342
716
379
690
522
359
523
530
420
404
358
530
615
640
585
691
431
488
352
729
653
733
583
377
582
670
693
336
346
317
573
474
352
305
575
460
637
361
369
572
751
483
445
660
300
714
398
674
394
788
684
308
538
673
365
431
517
707
734
433
729
773
378
506
800
735
629
385
494
402
575
630
707
637
388
475
313
788
569
466
702
637
526
459
790
428
500
514
723
684
763
344
370
722
390
564
463
405
509
702
306
570
711
563
569
469
374
769
571
792
445
391
795
793
329
605
700
668
707
754
537
714
765
541
482
508
431
573
428
313
373
575
659
517
729
314
315
626
665
723
586
507
476
637
331
478
384
664
681
399
383
785
380
534
382
355
498
368
364
734
676
747
453
378
630
334
621
798
708
519
419
686
447
706
621
398
597
411
476
654
385
707
776
305
426
764
636
465
572
352
388
653
614
472
740
519
699
530
382
321
771
712
562
721
433
501
555
723
398
308
683
460
701
591
799
788
750
328
542
422
773
536
521
584
608
551
670
317
587
659
737
727
651
301
698
555
500
795
437
743
570
642
675
436
485
583
400
446
351
472
792
678
496
361
646
551
722
360
589
469
440
574
406
331
389
752
328
569
696
469
788
621
429
634
670
421
427
721
324
588
483
496
346
685
333
309
476
768
710
784
467
776
638
798
652
611
517
410
368
664
481
398
585
611
621
476
652
324
378
564
665
487
569
314
601
711
658
439
628
740
708
327
657
493
437
789
621
666
363
511
467
699
662
459
783
591
408
575
725
636
343
792
316
394
644
470
433
761
666
505
563
651
424
654
620
428
562
339
428
666
658
636
590
534
517
370
558
461
577
719
745
764
661
595
462
548
431
492
331
698
399
441
429
670
537
566
749
392
310
571
597
604
612
334
460
641
765
524
433
518
333
330
325
543
346
422
463
336
439
446
433
461
442
417
517
302
365
635
348
683
365
368
428
762
544
545
476
586
526
398
650
685
770
603
642
546
416
753
306
458
665
588
365
753
370
796
562
665
434
302
502
653
679
379
515
740
462
622
761
575
313
708
417
490
602
713
326
610
561
735
413
499
322
449
510
559
637
364
486
782
609
338
348
307
729
437
442
697
726
390
665
365
535
385
434
370
709
715
696
381
339
315
768
475
719
529
795
635
431
488
707
348
397
564
457
739
657
352
338
661
640
627
401
731
309
315
743
477
691
469
549
325
719
551
698
318
599
695
700
356
746
309
356
482
757
418
410
601
522
585
400
779
628
532
419
573
494
642
382
592
523
505
542
788
622
359
664
325
683
633
520
745
400
321
599
682
599
755
700
672
654
771
776
421
589
342
364
312
568
544
624
511
414
441
420
478
340
431
748
774
639
555
328
362
533
536
623
558
576
545
585
666
651
690
630
452
357
494
306
676
693
646
491
541
780
581
775
789
687
670
360
540
766
449
466
668
574
751
679
755
778
779
540
688
470
781
353
353
565
400
301
769
404
610
393
726
467
790
447
515
761
715
440
617
625
301
478
718
373
648
338
391
713
731
397
429
428
369
441
521
370
523
441
800
719
611
754
442
788
338
446
425
474
500
598
619
587
662
571
555
612
533
552
441
731
501
797
462
752
459
509
664
586
322
787
590
622
757
515
450
323
756
495
720
422
689
729
704
380
408
518
486
367
361
626
397
698
387
395
307
566
702
753
392
429
737
766
473
737
375
665
320
793
389
371
341
533
603
644
492
770
579
595
529
683
689
547
342
618
758
598
622
703
456
761
622
418
311
417
469
334
521
359
340
421
753
357
692
525
784
585
369
498
448
454
482
306
383
727
604
529
781
771
614
410
513
552
689
379
585
426
644
578
579
574
778
413
560
496
410
439
579
537
315
361
649
517
694
451
529
305
781
316
416
530
599
648
414
444
533
623
626
442
713
321
592
349
614
643
531
431
374
704
578
723
608
789
524
337
670
681
582
656
595
318
744
489
556
791
447
408
606
723
608
451
302
398
438
318
392
446
689
333
693
763
571
581
554
560
312
704
674
619
726
446
397
341
536
578
784
652
718
504
546
436
496
464
518
725
480
605
800
399
377
658
443
779
637
442
587
783
528
730
615
501
727
635
469
730
470
309
315
420
400
797
386
527
536
720
620
383
313
698
615
442
517
457
688
606
732
709
393
752
426
423
727
546
728
791
511
333
790
642
727
432
318
604
509
444
616
721
527
787
484
471
599
741
642
317
694
595
652
723
437
310
447
745
507
691
555
593
383
516
371
791
650
592
721
740
593
644
664
527
681
542
577
471
545
632
352
307
428
700
522
632
716
613
464
407
687
641
457
395
326
348
745
353
694
361
349
301
386
318
433
404
719
666
735
786
516
562
591
347
539
629
385
686
670
626
504
463
289
2
205
497
177
264
84
434
498
215
7
259
173
268
454
215
372
441
145
405
104
16
492
389
410
283
131
463
186
387
4
48
440
138
369
125
496
304
417
216
37
203
319
102
38
198
400
412
323
168
183
104
19
115
422
132
119
167
283
397
38
481
500
213
187
456
469
355
93
455
445
29
481
15
156
36
211
360
276
460
59
79
402
375
227
50
229
347
99
152
450
396
324
237
314
316
25
6
489
231
424
481
488
319
422
138
346
109
75
263
101
199
137
11
212
325
299
99
272
22
337
187
376
496
323
19
362
236
252
277
461
257
285
278
76
473
479
117
53
473
258
325
340
173
228
244
99
259
7
197
323
286
210
235
1
276
59
467
86
342
265
371
465
172
33
294
279
92
241
96
77
291
484
459
291
51
86
229
16
9
487
196
323
410
158
325
489
350
80
92
36
117
31
484
48
109
359
169
57
218
84
86
22
5
394
10
5
488
36
146
95
334
111
140
24
307
96
344
183
392
431
428
164
125
240
431
464
64
390
363
177
466
235
247
244
493
318
44
39
464
245
224
352
368
319
238
84
303
41
316
369
415
158
102
321
378
393
389
415
9
72
76
475
304
15
208
314
243
338
191
216
27
187
223
111
201
48
148
205
432
229
75
290
435
15
410
311
301
118
149
199
320
109
156
196
197
171
249
230
349
368
29
9
194
299
50
176
350
489
79
231
442
428
447
345
175
101
224
195
281
462
240
482
324
427
136
28
439
209
61
374
226
326
492
193
52
45
209
371
215
186
383
473
3
5
304
380
41
440
284
296
430
222
173
385
390
23
10
105
161
178
76
228
13
268
298
100
450
44
233
476
323
499
16
7
109
448
35
221
195
500
50
371
44
149
389
404
226
362
19
473
456
189
335
126
423
308
365
407
50
177
334
178
219
388
462
394
219
179
95
181
374
461
11
367
196
196
52
227
108
63
227
160
302
80
402
433
303
463
192
333
198
451
391
275
376
229
2
73
77
368
61
420
101
204
161
252
377
471
317
246
395
54
434
208
102
388
284
153
483
86
426
303
445
291
273
385
359
267
350
277
300
347
112
346
46
64
405
139
463
102
268
461
345
491
149
68
48
257
494
490
109
404
57
276
480
293
379
325
323
60
143
25
75
378
89
375
19
196
347
215
431
404
122
340
284
50
38
101
376
378
19
72
158
100
372
244
273
196
18
384
395
142
146
377
318
411
112
27
469
414
79
269
116
402
43
255
28
303
406
493
139
267
28
363
326
133
10
252
130
30
469
196
38
280
245
326
369
102
252
418
320
334
102
392
486
467
282
429
495
243
370
332
112
330
336
386
461
248
433
467
363
320
361
102
225
414
433
203
125
25
30
11
451
382
182
256
233
384
431
372
127
1
428
437
368
369
460
343
414
354
164
185
438
369
493
286
223
476
371
152
413
126
53
308
83
491
368
274
46
165
203
262
262
68
386
108
57
221
284
128
83
464
267
91
389
495
178
80
290
51
117
194
157
297
389
363
77
370
161
237
144
325
6
64
397
454
166
378
25
425
311
211
126
148
450
189
79
310
380
183
328
157
377
241
490
24
232
6
175
34
411
26
495
245
215
411
463
359
218
330
152
206
365
298
171
444
289
454
177
96
145
233
66
284
37
408
95
304
179
235
477
307
123
20
92
177
483
153
339
209
220
424
172
248
359
10
88
211
432
286
393
347
176
173
292
135
187
167
92
104
188
411
229
433
334
207
166
56
445
335
372
477
86
129
83
59
432
215
463
497
183
202
225
356
403
198
142
126
370
462
229
18
471
90
277
156
482
52
409
19
318
185
359
320
3
225
112
74
161
237
190
99
10
121
313
182
170
393
375
61
205
314
391
227
320
424
202
60
273
114
225
334
133
323
496
33
326
6
479
273
10
396
198
179
173
339
95
178
483
235
37
37
382
311
265
351
325
137
356
434
137
282
303
368
271
248
167
480
369
402
133
338
70
32
358
87
444
301
497
440
127
286
46
340
472
424
439
313
377
249
182
132
204
383
310
438
335
138
203
41
35
101
253
71
122
229
429
377
39
498
202
423
500
283
399
468
102
397
102
294
198
23
6
488
149
189
58
44
270
363
109
88
331
90
307
476
165
155
66
91
438
191
199
432
434
130
75
192
138
199
317
337
220
129
170
233
143
189
292
465
412
81
481
222
215
153
4
123
180
173
442
124
473
123
230
307
20
451
112
300
103
361
256
103
500
1
223
99
40
138
351
414
300
154
483
441
494
131
258
378
154
297
117
113
248
430
313
171
15
54
48
128
153
123
7
424
1
237
452
175
187
345
495
103
258
164
202
375
452
339
299
397
340
205
414
356
32
397
399
397
14
190
408
116
492
374
135
60
241
391
447
379
147
29
216
439
495
325
48
239
349
198
139
246
37
382
403
15
331
144
69
128
62
249
483
305
468
337
223
350
297
380
266
49
294
119
119
67
267
142
95
113
233
223
144
99
474
396
398
288
90
309
258
42
346
462
95
317
464
409
115
271
19
421
10
196
155
214
303
127
5
211
124
393
240
170
312
136
218
499
200
405
421
282
218
165
159
416
282
118
46
37
196
274
115
160
255
320
338
394
300
246
381
164
330
355
389
304
342
483
238
295
1
317
493
15
421
153
260
436
105
163
381
157
401
460
380
126
369
249
155
436
254
365
57
264
115
156
74
464
267
406
105
136
248
444
324
327
232
407
190
99
60
176
489
470
86
161
203
350
491
235
174
279
450
143
30
237
433
387
303
499
142
85
220
310
402
15
128
466
486
291
245
79
195
265
142
272
275
301
427
494
226
170
119
15
83
146
439
450
485
363
78
52
271
49
399
381
280
380
55
489
227
173
252
341
213
275
272
69
449
39
325
145
166
411
310
441
438
107
469
294
283
378
72
419
310
102
297
376
303
297
195
451
55
384
195
137
259
456
236
15
435
23
372
358
275
277
79
465
397
277
355
143
422
332
9
261
403
88
50
129
422
349
10
33
187
1
67
367
245
398
196
66
469
95
301
303
141
160
450
429
214
302
426
131
404
271
81
269
475
294
491
370
23
448
458
249
366
339
344
138
267
456
141
365
119
373
307
214
255
492
479
107
428
79
229
147
63
72
408
8
241
489
340
73
52
290
25
118
453
364
337
300
100
462
447
392
490
113
311
68
402
193
302
443
412
352
122
55
88
268
106
301
154
97
212
340
163
371
41
202
194
329
451
60
250
212
498
244
213
301
484
474
74
219
271
352
492
68
421
327
350
422
84
88
64
61
160
64
372
256
276
297
83
173
329
373
463
343
375
436
36
43
499
350
347
387
74
126
295
43
143
151
415
450
352
90
377
294
83
1
489
235
60
427
7
486
20
497
356
97
40
209
404
280
468
221
136
499
295
42
250
383
23
3
381
432
419
178
421
311
62
243
184
206
424
161
115
405
291
26
412
204
282
302
168
255
10
255
210
105
70
163
234
298
290
195
145
184
382
465
454
157
412
90
422
436
279
331
141
9
203
361
369
219
82
339
108
489
273
288
433
56
16
166
376
93
288
295
383
62
207
246
250
460
70
22
251
197
19
35
395
395
479
474
401
478
118
1
269
345
118
447
321
288
67
450
487
343
220
298
267
119
331
309
252
92
495
34
339
85
383
144
389
279
340
377
85
497
39
211
9
249
13
390
310
18
148
419
56
297
155
250
144
157
223
339
421
180
348
92
41
204
31
39
165
289
41
450
493
388
446
241
282
459
37
211
411
452
323
50
438
7
316
1
415
326
17
260
395
300
148
483
287
95
399
346
385
104
151
341
452
243
429
260
104
475
98
212
117
104
241
238
181
405
411
68
204
165
327
358
492
374
40
122
11
229
131
457
124
44
165
94
403
107
366
276
473
23
74
131
340
248
284
416
161
330
213
36
487
451
119
239
427
312
152
2
261
81
442
295
431
395
136
460
235
323
171
228
415
345
322
33
8
262
330
355
110
170
26
295
219
178
271
223
169
299
114
199
483
441
246
328
188
323
196
257
417
435
458
328
189
341
113
479
84
49
321
351
437
215
293
446
402
47
317
129
73
62
105
378
395
33
226
112
53
240
500
31
68
499
414
252
216
16
68
287
117
478
471
133
253
39
151
421
274
87
271
433
183
222
175
205
442
79
414
232
474
316
252
480
159
95
470
321
150
358
450
422
135
275
258
56
435
274
380
27
224
445
4
272
427
95
437
40
20
184
70
144
449
17
225
342
449
215
48
439
361
383
328
396
330
193
500
61
150
6
278
458
475
41
195
337
330
256
186
317
349
449
358
375
80
308
23
470
275
388
143
21
277
74
393
180
110
245
383
231
453
157
56
477
305
407
426
432
155
174
490
135
69
13
87
21
130
376
325
340
113
84
230
423
244
264
295
28
46
390
221
263
171
43
104
163
480
331
256
238
326
397
254
30
311
112
427
375
104
126
208
496
238
13
127
82
60
132
478
467
379
500
205
332
229
66
98
246
81
134
153
107
187
308
210
477
312
138
219
144
428
181
239
10
108
286
109
169
156
128
291
444
453
331
490
110
337
84
471
80
171
470
20
434
19
440
329
366
56
303
87
380
96
175
79
450
205
139
228
332
217
265
42
261
4
67
434
349
114
413
3
70
392
433
371
471
5
93
52
351
494
139
47
368
23
378
111
308
442
417
316
156
101
258
42
128
231
317
248
263
397
415
265
497
418
106
485
30
13
438
158
125
96
87
336
443
50
26
64
415
286
254
348
388
30
353
315
130
132
348
271
301
388
403
353
59
454
453
30
312
364
300
492
181
340
286
208
162
328
249
457
9
127
232
426
353
447
263
74
15
353
107
257
105
297
396
64
257
204
274
58
329
465
235
70
429
23
67
480
104
33
164
223
148
87
22
205
110
237
395
63
331
163
280
9
478
375
28
470
227
152
177
369
451
492
194
262
262
417
116
224
322
77
406
469
286
263
116
481
431
63
454
481
246
349
350
463
461
407
124
270
300
285
83
103
409
178
414
347
431
237
457
465
331
441
253
156
321
207
290
302
245
377
44
113
248
121
34
195
205
136
68
101
78
333
187
384
52
49
463
387
54
264
16
289
395
300
486
268
118
147
92
360
360
235
33
126
365
49
126
73
151
310
231
434
40
386
400
8
278
223
48
130
398
474
166
330
391
274
261
8
85
490
178
319
6
78
252
317
224
346
404
357
470
441
58
6
57
128
272
331
163
500
394
389
239
379
304
382
334
231
349
120
46
29
25
480
349
189
253
137
451
111
106
275
494
294
112
60
483
121
306
145
45
214
469
80
92
211
441
7
468
304
199
197
141
260
172
265
241
64
422
351
68
338
178
195
116
200
467
9
304
75
79
458
203
191
132
358
35
129
133
79
186
404
358
167
462
311
102
251
365
32
121
198
405
293
219
441
227
231
256
408
81
335
105
115
242
246
396
395
174
219
32
308
248
120
423
101
12
245
418
130
37
115
199
259
376
273
10
333
131
311
190
110
486
257
42
206
236
200
288
125
378
6
70
236
72
442
54
168
73
68
417
46
450
39
491
401
178
10
337
335
385
185
407
266
475
89
101
436
209
143
385
453
7
33
416
157
261
432
51
51
256
490
348
276
219
216
182
465
395
24
9
131
73
416
404
269
120
455
298
389
376
345
411
5
177
15
356
178
256
121
405
310
40
216
12
130
265
132
236
327
107
166
411
85
101
412
400
487
425
374
193
414
205
133
282
297
48
243
420
30
351
242
25
7
2
397
63
57
367
21
280
458
230
54
186
262
288
314
180
343
42
407
354
337
228
8
181
8
52
302
163
351
37
193
62
23
2
327
399
206
33
334
171
162
412
154
486
160
459
53
468
81
175
426
125
151
471
269
285
63
69
484
285
32
291
356
469
361
437
172
367
35
100
240
325
216
85
58
475
252
200
1
72
134
291
194
379
305
387
356
201
398
415
169
82
305
260
419
326
310
189
301
227
265
403
74
193
312
445
4
213
14
411
158
287
26
412
209
442
389
402
165
282
35
165
200
411
453
477
48
24
249
35
38
475
185
366
424
284
73
383
334
93
183
62
5
493
64
260
269
436
269
235
449
372
465
497
430
154
350
29
361
484
388
174
414
472
17
126
318
289
136
385
157
41
357
12
189
216
89
196
367
432
455
343
303
447
246
417
259
185
267
460
397
374
327
344
151
284
263
403
228
202
372
393
149
299
349
470
6
486
192
105
214
451
481
225
199
98
86
494
47
87
216
75
357
158
399
112
427
281
113
336
347
445
437
88
494
498
8
218
441
116
106
61
124
351
17
85
146
481
410
109
298
20
473
322
455
111
296
105
347
198
361
345
327
86
189
374
231
370
248
88
293
125
358
217
47
25
85
156
278
38
114
420
459
404
54
319
225
349
25
221
286
139
290
306
474
474
85
275
130
55
395
187
106
114
337
57
4
282
211
338
118
303
445
324
455
39
359
136
435
30
426
466
174
220
391
364
286
433
132
119
169
390
155
283
296
107
438
16
59
177
441
425
367
253
347
125
298
138
396
153
63
468
464
285
321
238
326
355
174
163
8
350
364
145
34
96
320
247
214
328
168
150
274
344
286
203
189
490
192
255
377
413
139
227
39
167
428
367
206
310
270
383
181
184
425
194
82
231
393
187
104
136
294
33
122
480
88
462
11
181
196
116
394
472
186
17
334
322
379
113
66
221
242
218
304
357
414
440
349
184
307
51
169
483
454
142
436
287
221
410
340
449
256
320
375
438
125
368
354
227
341
175
220
109
131
308
256
252
453
395
146
230
299
34
256
499
48
130
58
392
471
126
345
321
414
107
361
397
190
328
66
102
176
397
295
457
400
380
10
31
424
99
88
37
48
81
466
342
192
307
87
124
404
187
497
263
267
25
2
338
159
159
459
66
54
379
303
141
194
15
494
432
495
388
233
418
398
48
459
477
98
47
215
490
23
473
313
49
434
451
163
367
127
227
184
293
112
425
488
262
476
108
35
229
76
227
4
396
301
274
298
245
65
449
194
367
360
143
476
429
269
47
408
3
59
184
430
166
182
120
221
115
21
196
137
112
377
462
49
119
74
332
343
388
58
381
207
458
256
458
167
405
158
119
258
39
334
47
176
160
315
258
160
365
480
163
153
210
191
387
351
180
44
197
440
159
97
491
84
499
246
230
329
250
82
102
479
66
120
464
419
305
352
333
208
263
210
308
231
467
314
129
216
391
195
451
278
433
234
91
152
291
494
322
367
492
80
24
204
112
133
71
390
379
465
428
93
329
413
413
158
131
346
236
99
114
315
476
79
312
196
162
47
121
296
319
36
223
326
365
118
358
130
259
246
47
302
75
435
96
204
47
335
50
250
148
184
239
381
316
39
471
412
319
313
166
17
408
193
86
106
309
23
52
342
13
491
414
459
374
206
500
275
497
437
3
403
418
491
226
444
180
93
294
110
273
342
245
96
119
442
495
357
417
40
60
33
157
275
418
291
202
50
167
3
257
209
416
29
352
468
442
369
64
302
276
186
90
275
330
45
66
26
173
403
223
182
125
147
486
29
156
371
461
311
151
139
108
354
272
404
20
339
55
458
320
345
42
204
229
70
170
257
333
473
111
412
77
91
336
449
349
275
447
319
257
478
260
395
321
93
242
259
325
324
86
341
435
47
337
219
111
208
36
263
233
132
227
243
142
129
319
234
165
170
69
391
405
313
445
132
273
485
392
180
91
59
14
133
258
47
479
32
38
301
253
399
254
163
463
365
378
415
453
331
339
117
381
423
33
129
326
305
452
307
480
161
14
56
176
175
304
170
297
299
460
425
164
217
408
329
392
422
414
364
391
190
223
380
118
106
353
226
12
94
17
138
83
419
327
139
383
137
230
328
375
92
440
32
345
62
42
431
190
406
224
390
448
305
361
461
102
157
134
85
186
87
461
171
37
401
384
236
183
298
500
416
221
318
298
175
33
429
369
388
274
389
58
35
161
11
80
1
179
112
286
464
325
181
468
414
30
437
59
500
437
347
182
414
455
274
242
196
203
362
492
281
125
266
130
333
217
489
441
130
403
422
7
220
12
54
465
226
222
29
499
21
32
201
363
459
213
260
36
108
184
410
116
429
342
338
138
39
292
73
399
92
88
477
179
121
163
493
341
491
365
438
212
432
120
369
68
231
386
440
328
472
47
228
197
169
312
421
173
53
207
377
495
382
199
327
36
120
443
3
240
122
395
224
202
397
290
34
476
313
4
210
367
458
237
96
367
392
259
203
435
142
301
73
461
437
136
173
378
291
67
262
225
367
487
258
225
45
110
185
108
461
262
49
115
328
440
378
377
467
366
499
349
428
483
75
184
289
67
427
47
176
80
61
137
373
327
406
321
382
311
85
404
196
251
198
166
180
383
395
72
217
343
330
289
410
124
61
205
365
240
364
376
229
404
44
240
373
77
134
187
265
437
494
267
62
172
353
439
472
175
386
123
451
284
396
493
496
92
306
420
293
283
322
70
176
54
132
229
418
439
367
138
387
245
492
154
302
149
150
346
158
218
295
331
233
387
57
152
446
188
175
112
18
167
367
224
231
76
288
293
384
91
140
118
18
398
31
33
353
143
57
132
104
32
34
112
202
70
121
318
92
11
78
342
215
182
368
378
228
474
124
399
141
130
499
95
240
28
316
387
250
352
405
27
412
24
32
441
306
42
395
403
346
66
437
14
317
66
56
388
237
144
52
65
110
40
230
389
51
500
242
221
410
400
387
85
136
338
148
411
210
219
232
303
20
224
408
208
336
285
153
18
320
228
273
496
170
45
250
352
433
461
222
295
324
53
487
473
239
307
431
390
170
345
188
283
26
165
257
23
295
333
61
16
124
459
50
199
235
73
87
481
436
232
419
228
221
430
376
355
140
350
183
314
401
320
399
465
168
10
214
447
371
423
273
227
32
307
287
416
273
376
436
27
22
108
165
449
48
403
44
179
185
464
486
266
191
355
180
327
386
355
166
350
379
259
289
185
38
423
189
296
473
21
247
77
425
1
48
362
366
159
201
345
225
136
471
486
174
268
477
276
500
34
426
270
379
485
393
344
105
324
107
227
18
246
114
157
31
164
160
450
63
392
52
41
219
202
439
336
375
338
32
420
314
89
140
355
313
21
444
243
165
385
141
392
189
65
334
295
15
24
482
418
90
448
101
348
65
187
397
222
193
340
389
143
256
364
290
42
122
479
343
142
234
474
315
168
106
304
363
385
492
330
389
394
59
200
227
269
438
322
33
336
49
371
26
370
139
102
311
415
357
263
286
270
179
84
358
422
240
141
244
100
440
385
110
337
155
44
488
236
162
71
111
356
402
28
273
359
453
383
8
182
87
396
9
417
462
118
317
359
147
317
150
129
26
2
139
104
334
413
498
21
93
111
356
60
301
377
60
172
287
204
56
274
31
444
63
153
154
365
316
471
300
245
57
423
362
452
290
363
3
452
282
288
27
222
386
100
397
195
441
16
370
340
71
452
375
249
397
493
303
476
443
126
379
499
273
54
499
467
346
221
158
332
203
497
32
302
480
133
344
438
60
467
84
411
493
292
455
213
151
77
169
448
355
171
387
312
454
394
423
260
260
207
113
360
363
357
136
22
303
231
6
182
143
369
226
82
219
177
48
462
405
397
156
31
491
322
117
127
303
163
229
274
399
256
101
80
336
106
107
403
477
230
160
447
468
274
121
108
196
28
453
77
311
161
4
168
304
217
472
382
246
282
281
309
243
498
300
331
119
166
33
251
73
5
245
284
120
431
31
22
196
420
47
82
212
429
49
144
4
42
329
88
56
441
75
398
112
359
370
27
360
172
234
14
179
409
362
11
127
331
378
255
159
407
422
341
2
386
75
74
85
94
363
28
320
150
375
420
123
63
55
262
314
356
402
462
164
466
223
442
77
361
100
12
494
170
105
350
166
311
439
243
395
412
83
132
253
180
261
492
155
247
13
126
331
131
329
38
426
23
199
127
125
499
235
228
40
32
256
361
315
55
191
489
224
321
496
82
146
135
133
297
492
407
99
397
37
403
255
99
336
481
67
136
460
124
173
371
82
343
93
29
208
36
216
203
86
477
295
479
328
35
91
228
346
395
383
204
393
414
489
83
243
67
494
2
30
469
100
442
246
324
453
8
60
286
274
138
276
151
103
480
391
316
123
320
386
170
313
255
278
191
181
438
405
135
300
102
171
224
202
496
266
494
170
356
484
499
93
365
126
376
389
167
103
87
206
461
259
45
418
434
278
117
248
387
317
114
479
54
499
7
5
482
257
307
8
343
128
108
94
477
453
84
421
481
307
466
26
80
9
167
213
29
243
51
243
142
491
383
152
403
349
73
496
155
304
500
438
139
192
54
435
293
396
290
370
266
176
15
8
160
45
365
379
156
366
266
52
240
352
396
2
164
278
277
59
287
41
124
137
309
495
24
105
401
491
443
476
78
210
5
16
442
406
491
456
334
31
419
164
324
458
122
162
471
370
401
441
271
326
37
20
437
310
430
1
410
42
203
472
500
421
336
358
189
64
384
103
353
10
395
372
146
463
4
147
155
253
13
160
310
235
4
204
379
413
132
61
347
134
477
382
390
209
73
415
309
395
317
84
375
454
496
406
275
99
167
147
356
310
307
363
305
90
288
96
43
140
470
475
493
126
466
5
310
497
254
325
115
72
430
465
358
232
400
204
370
172
3
302
105
362
413
186
231
49
190
117
369
403
213
177
27
142
294
94
306
98
457
189
10
126
331
415
484
488
78
116
204
80
352
445
231
5
337
421
452
79
362
107
169
489
107
273
17
415
92
360
272
76
277
440
263
489
187
108
318
470
446
272
64
455
453
67
55
231
289
28
437
73
491
137
19
43
182
9
204
44
341
28
145
211
285
20
93
242
354
108
496
433
337
234
291
123
271
209
31
248
268
254
201
57
6
403
362
293
337
395
87
465
344
49
450
34
335
35
252
208
162
438
58
187
81
292
399
374
49
239
60
207
290
397
213
353
35
334
428
107
496
57
403
410
427
144
125
394
39
351
125
147
157
319
172
430
180
120
247
67
464
420
426
77
496
188
60
17
405
186
427
240
219
317
311
92
300
132
491
35
23
378
171
183
307
114
222
106
377
352
112
106
416
244
309
258
424
395
394
319
437
78
256
377
227
262
415
250
411
90
48
333
417
110
223
53
54
356
156
441
116
335
493
112
488
404
281
42
212
219
84
405
331
34
52
46
326
351
292
368
465
21
339
68
147
425
440
272
424
277
218
393
17
444
459
340
125
360
206
448
346
342
85
38
438
132
393
143
50
134
17
51
310
314
354
351
63
493
323
328
241
8
199
300
472
385
208
470
11
271
107
109
360
133
134
83
299
205
200
164
10
30
35
474
314
48
324
443
496
428
66
442
455
161
37
264
113
485
195
31
369
6
310
157
377
260
490
370
394
351
328
156
442
171
173
89
256
476
116
204
74
65
236
405
316
261
466
13
345
240
17
337
468
364
453
272
378
175
226
41
158
246
83
232
286
437
167
164
337
38
192
454
458
476
426
137
308
203
115
489
119
410
153
330
44
398
98
30
297
294
396
291
32
405
40
392
194
215
18
112
480
329
226
117
286
196
98
210
189
69
432
338
495
194
420
462
280
19
479
22
492
342
259
277
160
117
267
112
767
614
545
705
408
759
792
375
335
755
672
580
339
574
585
695
448
558
731
525
746
629
625
668
783
745
320
405
669
413
697
731
332
768
601
427
390
506
478
541
575
445
471
702
302
717
367
442
399
450
455
733
453
725
514
416
312
364
359
630
540
785
741
401
790
538
687
711
677
385
797
519
617
517
410
780
767
631
578
737
740
669
602
543
382
483
316
338
742
547
707
487
685
401
696
307
608
360
349
485
720
458
373
396
451
710
647
558
543
404
649
678
734
575
355
362
367
367
315
419
622
424
445
676
424
351
398
320
483
686
601
629
796
777
557
651
586
518
658
313
353
790
448
738
379
519
346
654
670
437
487
580
725
662
484
332
475
656
791
584
521
457
419
646
546
404
568
367
751
576
437
734
610
431
603
666
625
524
327
525
640
608
390
660
781
622
473
327
577
307
308
424
685
755
729
449
406
387
794
476
551
670
553
450
521
797
373
707
484
661
579
513
569
345
522
689
472
301
378
312
694
341
363
353
673
460
663
651
531
721
595
643
736
588
378
334
578
651
669
684
356
513
438
407
599
453
493
382
599
606
571
563
701
521
342
582
638
786
763
465
361
514
749
616
383
619
469
712
344
719
377
419
472
585
585
755
572
616
631
702
473
370
592
555
683
522
668
341
522
601
506
355
676
658
654
774
447
620
350
565
649
681
376
795
347
547
705
432
484
487
705
589
762
470
688
637
432
493
625
463
488
377
494
538
302
393
432
369
760
476
702
442
312
348
797
605
578
434
373
631
333
790
547
313
798
705
475
640
562
627
771
557
758
668
715
759
556
694
776
460
605
391
450
576
794
384
747
333
369
669
589
417
553
740
790
718
325
746
431
339
582
338
602
401
773
718
735
648
313
533
697
300
502
589
751
700
360
740
562
712
473
793
543
461
653
435
541
326
499
615
486
387
582
472
793
707
493
582
457
353
365
681
539
654
331
535
659
628
449
640
478
453
546
783
762
570
409
608
619
373
764
487
441
305
397
598
456
332
543
414
551
774
359
430
608
601
673
391
652
459
758
508
580
751
432
798
486
661
755
580
762
668
301
507
741
708
590
591
466
394
494
494
708
787
534
573
599
723
448
710
353
592
559
458
459
732
668
544
450
534
733
327
397
399
323
429
328
369
693
336
561
302
488
657
564
601
555
314
629
301
554
323
368
364
763
723
619
665
313
300
370
325
633
748
364
497
651
544
349
737
523
392
756
685
748
740
442
341
383
443
546
413
307
549
582
724
401
641
335
351
599
560
338
511
740
538
472
733
709
668
436
779
746
343
765
772
422
667
784
511
497
687
379
769
612
780
762
555
390
345
542
552
345
349
445
612
697
524
733
582
759
645
338
310
744
349
778
405
330
559
637
454
382
325
545
670
453
413
694
520
733
497
646
577
712
390
531
679
522
615
697
340
311
702
400
654
776
611
460
498
542
475
561
654
396
470
694
529
344
415
592
306
705
732
620
419
731
721
431
466
746
689
476
521
771
532
372
741
407
796
559
596
341
677
623
574
412
634
567
458
359
709
513
400
754
639
779
555
401
625
595
680
665
607
586
715
767
753
540
332
732
634
748
460
532
775
543
320
787
686
497
659
633
722
613
737
668
712
355
764
325
539
697
372
753
430
515
515
467
332
523
661
654
486
577
441
642
408
690
325
656
365
417
689
688
749
334
672
635
584
466
666
406
770
631
426
672
721
321
663
316
649
545
463
651
786
396
379
703
550
724
394
790
689
753
718
459
705
477
303
607
465
410
469
352
430
743
697
698
350
486
457
775
510
402
415
389
509
646
576
425
594
316
478
752
388
337
701
666
713
709
338
588
654
609
459
702
442
437
468
731
603
538
691
726
799
718
456
561
490
369
765
462
561
305
602
680
500
451
769
637
592
422
379
673
458
341
742
455
755
533
336
736
797
675
574
612
599
544
785
572
497
585
421
321
347
663
730
537
773
650
795
466
392
569
695
529
715
667
637
692
382
482
656
763
706
682
676
778
443
568
722
460
454
401
550
342
598
624
323
544
666
434
438
383
619
562
662
653
711
371
400
301
650
603
660
652
496
302
391
519
515
392
511
629
629
713
587
599
604
661
556
329
459
485
333
699
492
661
743
780
454
602
588
470
524
669
636
557
461
450
366
326
498
418
732
361
738
659
766
340
587
614
477
474
446
755
552
461
629
704
590
345
604
770
695
496
383
502
792
406
515
594
757
367
396
323
642
369
492
658
597
391
752
389
618
557
466
571
662
438
529
531
432
593
739
641
506
644
384
435
661
447
750
756
422
397
440
612
643
380
604
698
309
309
728
357
468
328
313
643
591
338
731
512
379
482
525
479
434
561
518
785
444
462
755
419
680
641
786
772
673
511
707
472
419
514
799
531
737
402
428
566
329
571
757
309
455
742
764
333
562
476
503
662
682
314
465
793
541
624
511
760
722
413
460
494
496
685
472
452
678
310
765
731
682
483
509
447
338
721
300
384
457
733
386
575
557
446
551
755
727
742
382
607
521
741
643
319
305
593
635
384
692
566
423
723
624
702
424
609
332
653
800
455
392
327
711
620
551
412
603
387
400
733
484
564
353
602
343
765
429
505
532
426
541
615
444
380
433
394
329
547
759
444
450
574
639
307
646
684
499
381
300
695
476
667
315
641
552
605
444
458
710
729
323
444
546
788
392
605
690
386
336
669
605
639
705
689
388
664
446
768
729
710
441
417
619
337
505
692
343
381
709
390
706
751
730
702
415
376
581
308
557
738
663
759
605
392
512
455
733
322
365
551
354
690
661
530
557
681
520
387
667
698
363
309
486
505
481
526
315
472
347
376
423
398
735
365
554
650
797
648
559
394
390
338
623
366
774
560
345
562
475
721
540
563
569
607
650
494
643
670
790
681
731
518
573
309
751
587
795
318
429
412
486
775
698
739
737
558
315
392
468
615
421
675
702
665
647
309
694
545
452
484
452
598
662
635
718
597
489
509
488
623
495
675
454
741
672
735
666
695
449
333
604
702
762
401
517
778
413
542
628
381
566
524
772
397
594
560
560
498
586
542
503
497
730
550
617
662
623
486
449
337
313
708
495
419
391
309
407
784
769
612
673
628
303
458
614
459
391
331
735
319
336
696
614
372
558
751
645
695
617
758
510
759
488
457
485
726
455
706
573
670
686
553
440
624
795
683
658
571
382
583
733
641
432
683
315
524
788
711
316
600
717
593
682
751
683
724
399
338
577
790
456
340
669
561
463
378
393
461
528
705
451
477
767
353
721
760
693
556
377
683
528
532
332
372
512
712
743
518
625
563
467
482
532
453
606
364
477
619
463
533
326
615
769
483
320
631
430
417
663
686
398
347
334
722
515
595
784
697
402
562
470
592
750
601
800
317
366
757
766
500
468
758
384
459
577
699
401
743
647
492
773
690
556
354
428
621
579
308
791
512
379
473
779
731
411
374
628
768
778
797
756
594
426
712
657
332
616
559
759
605
749
677
350
378
402
670
622
424
429
514
596
309
667
389
323
645
475
301
308
661
343
428
722
345
371
573
571
482
340
799
500
606
373
697
738
488
593
561
777
580
726
709
571
661
438
432
674
741
305
592
682
569
360
778
454
301
496
466
800
496
545
547
710
706
309
609
614
607
378
647
519
652
481
672
604
399
691
356
346
563
615
709
748
595
756
351
774
530
517
346
458
655
510
699
723
313
431
561
404
766
340
375
595
705
514
602
635
752
426
528
699
605
357
480
598
382
323
430
552
578
460
580
489
733
571
411
371
401
320
360
777
793
651
525
545
505
330
550
624
646
622
618
613
626
350
595
800
504
451
354
302
372
702
321
738
772
698
631
400
703
418
575
704
381
305
370
536
751
367
669
797
367
492
586
385
372
766
635
665
566
480
491
513
407
659
345
424
479
765
482
365
597
370
646
673
378
618
688
457
396
646
495
345
640
489
409
438
305
577
745
655
388
560
616
597
373
732
413
345
662
568
692
684
364
395
781
645
536
486
354
742
482
791
592
694
761
655
601
726
497
647
603
445
433
628
737
788
580
404
358
457
748
778
641
680
345
591
399
687
767
619
324
649
550
499
694
657
466
693
693
454
519
797
785
656
339
643
791
408
547
597
679
424
351
639
424
775
491
301
562
622
333
550
450
532
331
559
715
681
588
613
551
527
762
713
648
692
650
452
302
368
665
675
633
339
697
378
318
681
578
623
737
566
310
378
409
350
774
364
753
524
632
371
363
764
477
625
622
530
404
390
685
761
517
466
569
367
799
593
476
725
787
483
772
762
698
541
491
621
330
728
493
472
483
336
500
608
521
555
800
606
719
527
729
677
521
659
762
562
778
593
310
434
699
396
477
798
608
781
733
401
582
407
307
728
752
749
763
634
564
334
637
402
685
652
493
639
720
495
503
655
682
466
327
771
427
494
402
347
570
684
442
679
381
715
536
398
444
491
768
767
742
715
739
386
515
381
637
743
400
579
659
708
687
380
662
333
679
494
469
573
638
409
514
319
594
572
459
356
607
612
498
798
546
464
493
397
536
525
628
682
630
451
515
527
785
340
318
505
621
469
569
793
427
720
434
422
579
664
437
456
497
672
429
369
621
331
511
365
637
333
685
709
591
590
583
666
628
396
344
795
776
532
491
796
666
453
308
452
787
766
774
646
471
570
608
518
342
744
722
771
588
735
309
484
345
634
444
454
626
628
739
616
423
573
574
695
393
325
323
307
341
672
443
668
697
708
585
429
766
352
493
667
322
698
581
387
390
518
773
367
390
777
759
526
776
410
453
657
496
392
495
417
761
326
597
640
778
378
746
491
613
584
394
408
305
361
764
678
427
630
705
412
479
420
491
650
422
752
511
680
353
344
332
505
614
523
401
508
465
752
757
317
414
536
497
736
415
764
439
392
620
348
593
612
488
791
307
326
304
324
680
761
540
492
302
385
612
570
418
625
573
324
701
571
391
371
333
565
618
604
460
342
352
611
360
744
657
387
321
393
446
792
452
328
441
306
475
696
375
774
553
650
430
713
531
743
510
302
376
365
670
598
668
330
723
346
521
446
616
504
510
747
463
370
485
591
654
649
428
640
604
641
305
408
562
429
736
769
798
330
669
738
369
615
425
727
755
461
513
312
613
500
577
767
350
702
679
650
791
553
350
426
468
637
359
501
644
487
313
557
544
351
486
595
331
410
426
782
408
687
453
605
653
790
453
511
512
702
318
514
336
734
434
728
628
680
416
406
447
479
725
618
550
454
407
548
574
644
592
776
734
458
493
721
616
799
570
301
365
398
731
382
387
366
432
300
475
426
425
581
557
753
624
370
490
394
417
624
576
486
671
390
626
682
800
510
763
632
527
537
638
754
726
600
468
573
753
668
760
303
536
785
575
316
346
541
561
735
632
711
730
757
504
722
466
761
391
351
745
496
486
441
767
464
793
348
459
479
477
691
680
571
443
689
345
569
439
738
783
651
587
318
706
422
718
716
331
540
394
595
759
763
755
509
745
768
618
771
364
686
443
455
613
641
468
667
664
516
625
593
309
453
433
324
463
343
546
753
648
724
613
727
419
622
589
388
569
457
587
357
436
336
706
547
315
679
748
647
526
314
642
642
383
697
358
774
459
424
651
684
340
723
511
683
312
326
406
493
361
647
603
486
638
346
327
645
752
445
710
643
585
562
736
464
571
562
481
687
714
469
504
725
487
757
789
639
763
761
514
762
599
789
640
467
471
707
565
754
396
687
627
596
659
654
494
314
378
583
721
667
354
444
800
581
458
583
619
420
487
394
699
661
554
365
383
518
632
730
372
749
671
508
451
374
446
372
402
314
413
346
354
729
496
745
432
684
769
517
451
655
780
798
619
586
304
661
576
743
533
346
301
555
349
795
747
616
568
583
435
582
412
321
573
717
353
576
734
626
717
330
509
541
540
769
539
519
703
426
721
514
660
355
452
423
343
374
639
468
760
372
370
436
552
409
461
697
709
322
320
481
707
653
568
378
337
794
372
568
439
334
482
639
797
718
596
538
468
723
362
400
434
304
684
309
417
623
760
406
587
324
630
332
631
308
459
678
330
361
580
754
302
403
443
647
561
571
356
753
571
402
590
692
397
635
392
712
470
725
509
455
787
636
369
658
646
606
351
310
704
617
344
705
778
419
328
650
605
776
766
675
663
555
598
484
652
374
435
401
420
752
734
560
393
647
401
451
304
586
473
489
751
622
625
342
599
797
794
800
570
656
665
568
402
362
690
498
632
325
332
626
637
501
788
310
626
746
767
428
300
480
661
759
668
425
727
701
394
764
465
557
744
325
753
435
556
597
525
563
515
452
325
325
660
653
716
705
419
312
419
477
575
348
315
610
523
789
779
515
521
674
306
335
730
669
409
592
360
350
628
346
720
727
799
617
781
599
773
430
349
493
573
453
304
722
439
559
703
435
430
440
513
653
680
702
529
427
475
717
587
601
584
343
476
585
730
770
743
663
720
750
785
340
784
705
725
373
612
643
497
458
730
765
445
400
537
680
410
667
540
386
490
761
704
356
320
564
348
465
463
778
537
542
381
701
638
444
596
374
739
353
701
518
490
525
676
794
545
617
445
376
432
565
735
753
793
472
448
576
386
787
656
783
377
748
306
487
663
608
761
540
539
739
309
693
548
391
754
417
316
687
329
444
476
370
454
335
717
517
453
630
503
504
721
477
725
720
314
695
610
305
338
628
788
700
770
355
541
388
698
641
361
416
363
741
676
485
772
750
526
526
687
646
560
312
543
745
541
444
789
799
445
767
502
688
541
462
318
467
569
674
710
604
598
607
706
615
707
404
714
525
388
441
529
500
581
651
531
701
586
465
376
641
479
366
669
689
628
479
598
654
604
434
472
773
638
547
564
457
548
791
338
443
345
310
726
410
535
706
591
671
505
646
617
468
695
640
486
500
624
747
637
422
572
535
411
659
338
347
654
722
702
673
748
385
609
718
692
792
587
493
322
675
329
628
662
440
705
404
513
454
326
353
363
428
415
799
795
328
394
325
570
490
773
776
323
793
677
478
614
446
651
628
675
765
492
410
439
785
429
353
679
724
470
389
449
402
546
309
528
593
465
532
450
465
649
647
343
326
506
792
739
744
666
425
558
589
768
602
722
693
640
745
695
528
719
586
728
341
341
351
539
755
541
540
541
315
319
458
318
350
754
697
500
629
425
453
384
338
724
792
615
602
712
587
497
443
349
618
659
361
738
323
375
504
397
653
568
423
736
338
710
380
307
432
567
602
375
625
378
650
321
613
438
717
522
659
627
751
755
597
626
604
611
327
374
386
776
373
493
709
367
622
375
349
655
393
737
307
472
783
533
641
313
402
782
655
544
517
407
669
609
723
572
515
542
757
300
679
377
520
316
643
756
642
389
335
530
489
723
320
757
564
566
428
777
310
716
620
797
597
553
594
626
652
382
698
333
734
550
563
353
633
560
581
800
425
336
602
400
312
573
794
734
736
300
497
440
769
428
666
323
551
322
492
463
751
435
371
427
612
351
487
613
764
747
512
520
710
486
374
731
489
476
324
479
602
800
306
650
403
742
475
713
450
356
568
717
583
623
409
591
565
738
309
618
544
336
404
790
325
457
665
342
607
660
653
537
579
395
767
623
537
334
779
387
413
315
795
341
759
760
760
454
707
549
620
491
662
404
706
588
669
719
572
304
779
490
344
548
636
500
690
342
652
314
499
762
416
431
490
368
306
764
408
358
599
701
610
626
351
521
686
677
557
371
384
399
544
359
559
444
392
793
609
763
455
527
797
584
747
640
773
574
370
693
732
316
748
453
613
348
533
637
697
564
638
507
673
375
710
794
543
323
557
707
579
371
627
451
345
436
636
611
526
701
689
302
415
472
757
503
705
326
743
387
751
408
695
590
437
560
466
613
469
438
566
786
325
558
688
329
747
673
312
335
527
617
419
735
484
733
472
529
449
799
433
700
305
438
784
411
458
464
447
538
482
341
778
310
410
644
799
617
681
758
435
415
561
516
456
442
408
644
763
560
474
540
575
535
586
558
489
324
739
752
362
376
606
649
367
600
729
664
431
705
716
789
495
366
710
336
633
510
348
391
577
335
454
385
656
693
612
501
746
331
645
488
772
619
364
710
310
545
746
570
455
695
573
670
325
367
634
469
651
737
414
336
607
717
382
767
677
748
773
391
313
638
630
472
466
385
495
397
788
317
616
461
358
427
311
726
344
582
501
638
382
579
371
679
487
552
535
537
329
800
618
597
557
593
392
588
732
307
381
561
677
332
503
465
395
335
472
453
629
354
686
613
430
602
591
392
607
667
469
304
437
374
435
757
378
370
642
767
698
705
334
574
485
613
790
635
348
300
635
504
736
512
614
605
518
583
678
517
435
517
702
334
534
601
777
620
433
505
555
473
355
487
343
326
362
673
504
524
477
574
457
487
618
306
357
456
420
591
378
518
497
438
677
422
741
303
551
520
542
416
311
760
387
345
415
792
787
552
370
781
317
702
589
544
519
433
645
513
726
458
399
475
328
370
415
601
766
664
799
416
593
307
574
629
667
669
382
551
348
608
336
369
696
531
593
525
730
705
617
344
612
513
737
319
592
649
711
340
693
474
786
587
663
794
321
728
333
477
333
633
718
710
706
366
319
681
491
364
796
541
734
348
729
430
439
707
691
495
744
547
433
755
537
401
641
645
618
553
522
352
460
304
431
723
778
623
339
406
559
597
615
630
440
438
335
348
646
636
515
373
499
557
408
715
418
467
528
781
703
777
669
394
310
698
385
344
319
477
492
368
498
600
473
392
750
676
541
606
522
469
696
512
344
465
440
304
681
584
537
606
321
568
495
405
704
618
385
751
794
353
707
568
616
669
468
380
553
443
306
744
478
706
748
799
431
678
619
392
549
648
583
614
583
539
781
356
786
452
411
375
679
646
796
711
359
604
632
709
350
307
794
366
313
662
714
352
738
780
334
483
508
563
594
574
576
694
595
565
785
760
427
701
310
520
373
427
634
641
435
674
485
706
721
795
372
387
461
693
680
384
597
621
649
323
473
742
517
468
556
440
348
426
416
450
775
717
332
745
456
596
485
437
785
788
339
555
617
729
454
628
395
590
732
799
709
668
327
651
385
579
532
431
633
310
472
307
353
775
302
623
662
407
594
364
442
349
400
658
728
680
699
692
318
380
629
541
410
617
415
416
370
417
419
499
456
419
328
534
519
793
452
475
424
609
349
677
324
679
723
496
617
324
411
334
421
608
350
533
514
343
326
637
526
507
551
592
439
312
735
580
709
306
480
796
587
717
722
524
500
466
536
734
716
585
342
401
521
478
563
640
405
419
369
306
765
542
714
390
739
323
500
365
438
749
456
502
579
534
482
622
711
417
667
340
686
576
617
348
499
584
321
737
391
647
468
317
533
693
568
515
489
719
378
593
404
753
630
635
343
366
644
800
572
642
465
379
635
750
413
792
313
696
413
414
309
779
507
716
594
527
368
548
604
466
635
664
706
790
320
776
655
437
446
606
434
752
387
677
767
648
467
739
693
350
331
526
550
539
426
574
483
423
640
757
793
655
713
664
530
424
508
542
420
430
391
346
494
516
764
727
549
443
404
434
633
690
779
327
436
334
775
335
334
612
631
359
663
795
539
451
470
342
530
615
615
735
548
424
570
448
739
505
549
611
609
646
788
383
574
462
504
470
512
549
607
469
478
765
547
509
480
793
321
335
477
544
712
329
421
338
626
688
664
523
777
600
713
532
449
741
327
568
354
327
756
314
444
419
383
345
445
608
668
394
736
737
676
329
509
374
338
754
687
600
387
746
720
648
369
479
682
715
514
708
462
309
551
621
448
600
528
445
647
566
692
433
609
569
654
573
413
686
398
501
537
651
776
558
392
632
361
765
732
562
329
660
525
690
320
396
552
378
489
662
725
354
488
757
579
458
402
613
653
642
677
604
541
734
582
563
533
526
783
668
642
641
441
548
515
316
344
700
598
644
368
598
503
464
768
327
529
422
395
515
460
763
532
756
503
313
618
412
351
630
536
443
411
652
518
592
543
403
640
626
473
679
477
416
595
493
425
354
663
727
408
777
627
717
608
346
384
725
459
506
417
691
647
466
307
477
394
416
396
440
681
340
483
341
674
604
692
458
505
646
349
378
565
369
330
710
491
389
320
576
474
722
610
542
679
742
736
735
522
771
420
712
713
606
520
797
540
532
659
411
346
389
316
629
739
537
316
347
541
552
517
532
670
470
678
621
414
348
545
410
571
775
546
658
419
399
466
558
469
477
399
511
345
445
317
662
367
662
352
609
617
551
657
712
546
567
374
744
427
481
359
492
562
576
683
371
476
559
401
345
565
442
757
675
358
786
433
545
416
622
789
301
510
650
710
483
582
695
480
529
639
690
358
637
369
798
749
655
380
759
779
755
722
446
693
424
723
690
331
570
507
485
369
609
719
559
746
324
681
381
357
344
311
713
569
619
782
407
796
736
485
740
665
473
760
593
511
561
684
370
416
659
387
679
451
389
732
388
660
644
531
609
424
359
475
512
614
315
698
600
316
787
787
390
469
566
488
622
339
789
694
577
431
389
400
531
684
331
641
781
388
614
403
680
384
381
567
392
749
686
336
612
366
620
648
349
453
331
326
748
428
669
343
626
706
795
490
749
578
312
482
603
777
482
629
457
653
596
760
324
563
338
364
553
358
391
552
688
478
420
617
702
445
513
422
433
599
369
462
761
594
394
696
552
484
682
515
368
533
519
473
351
733
561
549
423
447
517
522
332
323
595
708
353
333
612
638
719
352
772
543
302
579
546
786
570
752
350
658
766
555
393
378
471
703
429
529
391
332
615
335
392
715
708
519
755
666
401
428
428
622
511
434
320
469
694
365
681
686
698
752
336
618
323
522
318
654
661
414
751
384
347
407
671
653
568
368
753
335
728
458
375
666
358
688
357
371
309
407
645
471
523
496
590
503
529
731
591
412
526
467
650
445
601
698
581
491
554
757
565
712
531
446
332
756
419
791
311
642
786
600
754
799
575
517
391
455
639
643
526
639
499
375
748
722
777
548
785
308
581
429
658
388
640
663
559
671
771
598
625
325
351
430
485
477
565
636
354
409
374
734
369
448
487
631
395
584
448
303
693
496
355
669
300
673
480
304
597
722
702
463
610
380
559
384
760
543
503
402
487
470
715
748
379
328
536
690
730
694
605
595
474
676
702
331
477
639
630
742
446
360
509
465
731
740
766
614
573
752
488
734
491
359
483
623
344
717
368
555
548
571
771
679
399
577
421
609
705
418
320
403
769
759
701
350
739
656
481
432
507
610
512
547
775
583
685
319
652
661
380
593
617
484
717
408
695
476
762
578
438
341
779
314
486
798
463
552
777
645
664
595
310
533
747
759
388
549
463
368
553
613
755
544
476
492
782
795
511
359
390
685
649
537
718
727
664
475
535
672
582
466
664
371
647
771
607
540
692
690
354
598
545
536
510
774
460
351
578
421
610
650
470
785
508
615
481
689
761
745
371
570
425
428
368
633
658
737
516
672
409
766
654
589
443
693
409
690
443
320
481
711
704
647
501
611
711
356
561
686
667
774
438
375
372
495
463
535
452
325
479
407
421
687
797
783
524
719
582
679
792
539
322
305
739
551
783
545
417
706
736
729
401
369
568
371
308
128
253
97
446
415
208
359
185
210
26
79
493
67
395
180
418
345
121
28
348
226
411
159
451
76
498
394
32
169
385
296
21
264
367
449
456
213
395
182
443
160
452
180
447
311
299
325
52
154
391
342
153
268
359
483
109
360
398
462
361
349
148
19
92
480
53
18
430
479
429
265
345
156
108
260
359
232
79
391
449
82
426
220
28
203
36
291
168
79
50
255
161
304
269
110
345
140
476
444
292
145
449
218
342
208
428
258
365
298
126
108
415
163
112
324
258
173
261
39
435
117
268
351
353
422
284
254
500
223
438
91
495
476
392
429
74
317
441
262
292
397
149
144
384
489
436
307
123
310
211
426
176
362
366
280
372
468
60
379
313
122
5
7
210
471
282
1
244
15
140
196
272
326
347
34
162
290
254
481
390
52
257
196
489
150
299
320
371
448
394
352
104
73
95
468
289
122
195
3
82
73
220
140
218
400
117
363
223
296
463
394
171
489
153
254
188
8
151
409
25
484
45
321
321
28
310
450
57
406
202
187
242
240
385
34
37
479
255
367
300
393
253
358
431
324
252
164
267
322
18
245
254
444
74
23
276
15
9
446
370
181
191
259
445
84
371
34
454
375
205
104
126
474
334
65
321
426
269
465
375
34
212
410
127
78
469
382
120
473
193
150
42
49
148
258
464
13
127
253
256
229
382
353
103
350
324
340
409
1
118
22
453
272
50
219
415
392
462
485
347
395
488
291
215
190
383
10
229
15
471
277
459
304
487
44
84
204
265
405
420
299
296
38
347
70
106
235
18
81
488
185
83
53
275
33
473
194
208
179
497
257
97
299
456
456
483
261
92
283
60
85
349
196
147
290
250
150
262
44
413
226
3
37
62
342
27
225
399
51
413
86
280
225
216
319
210
134
123
5
337
228
126
353
277
454
474
249
369
405
157
213
208
406
369
458
158
236
43
369
149
248
492
239
297
193
344
29
46
177
139
124
262
455
325
271
91
207
470
368
14
255
103
405
370
49
404
275
496
73
15
330
52
86
369
269
178
113
417
370
150
465
478
217
110
235
167
436
75
34
154
438
24
380
36
170
471
279
13
201
48
422
487
77
427
424
78
136
86
79
63
484
285
218
210
96
271
426
26
313
58
151
483
224
151
447
276
187
399
476
71
383
94
95
179
156
27
414
369
293
356
137
447
348
481
237
468
331
167
298
280
212
367
383
357
281
194
10
348
64
179
41
87
342
494
343
412
45
251
336
158
300
190
96
267
115
466
237
167
231
44
280
132
171
403
317
351
474
382
431
495
353
167
37
181
134
411
44
60
246
335
11
327
216
222
180
297
255
173
442
61
242
408
20
238
320
109
41
350
143
212
58
292
426
466
409
372
490
295
320
129
209
372
313
109
94
393
469
440
293
265
69
114
308
200
341
119
453
62
136
254
227
474
465
329
407
292
448
153
446
273
100
338
380
429
325
459
133
400
42
312
282
102
45
40
288
212
152
181
340
181
228
31
318
153
78
370
204
225
38
16
391
396
371
11
249
171
172
419
254
329
113
85
400
485
458
205
79
160
393
70
135
314
196
456
245
9
234
197
393
319
131
244
9
42
407
276
467
373
212
46
424
141
44
275
117
425
256
294
444
452
364
89
433
190
369
177
360
418
121
219
498
367
167
499
179
85
298
474
345
495
52
176
292
92
436
95
415
439
196
334
332
123
461
338
157
312
445
488
174
308
495
477
179
59
115
438
125
454
461
375
457
186
172
496
1
277
76
356
288
90
485
402
439
159
347
481
73
428
194
363
347
55
139
354
224
378
362
379
244
217
80
57
346
101
369
115
440
346
162
494
183
478
471
122
108
479
203
374
208
315
435
246
117
122
43
230
133
33
81
418
252
10
354
491
380
157
109
432
173
162
88
369
31
148
491
433
35
178
297
325
54
297
93
327
37
107
225
61
414
399
126
327
68
333
317
29
346
485
418
100
323
488
11
313
474
31
36
248
289
13
373
419
86
8
238
388
446
24
114
379
27
228
79
397
373
390
43
163
466
397
300
343
418
294
218
158
163
220
306
22
413
137
439
211
302
83
241
413
161
115
445
128
373
225
320
133
10
353
9
437
91
478
210
181
95
406
439
217
21
366
321
293
384
112
238
101
481
391
422
156
445
334
360
217
298
181
19
39
156
113
415
60
453
388
364
233
226
289
144
184
270
150
214
495
186
239
199
21
411
154
422
271
343
194
297
165
187
149
98
234
166
220
376
94
320
461
390
448
34
227
198
405
369
155
136
8
54
66
10
299
396
383
496
158
498
71
221
356
216
4
392
279
61
484
473
185
52
207
464
1
99
332
297
411
318
89
347
5
397
5
3
339
372
27
40
167
484
101
271
90
62
491
209
86
41
126
110
8
141
394
403
177
295
404
401
6
229
413
363
334
418
468
93
478
251
189
2
112
169
24
449
499
383
233
286
426
321
19
491
35
19
349
70
68
311
411
477
238
106
274
341
247
214
238
9
154
485
382
263
105
146
192
133
243
209
58
202
120
261
481
316
430
314
240
2
402
325
81
106
416
45
388
20
383
92
141
335
317
394
169
494
143
342
116
80
387
166
291
253
339
314
177
368
242
338
476
105
282
289
205
360
362
345
488
53
415
104
147
139
178
474
342
451
466
6
70
106
497
207
355
248
37
152
195
288
317
243
176
261
280
414
261
7
254
284
65
38
391
340
98
361
369
469
490
247
418
498
449
191
131
165
106
33
23
486
207
200
257
281
116
145
218
45
239
174
67
205
164
297
238
150
432
44
135
311
132
89
466
381
260
30
484
167
273
26
288
400
497
392
257
380
449
474
146
314
93
339
85
329
192
349
377
174
110
385
126
49
65
261
355
268
44
452
132
440
308
247
370
431
348
76
413
417
43
303
300
331
149
32
428
358
22
335
119
301
81
400
496
361
420
275
397
498
178
77
439
350
365
22
454
363
134
495
197
450
300
100
106
167
120
354
196
29
109
86
161
182
435
77
183
288
230
356
339
183
272
305
498
391
255
145
131
455
465
410
429
324
138
281
446
208
306
336
22
290
493
286
287
166
76
351
149
82
353
95
226
89
239
28
51
329
175
139
87
464
103
429
310
119
405
167
357
14
131
388
349
33
487
191
164
9
206
103
449
328
60
292
57
169
155
189
432
107
115
185
487
369
462
216
58
4
456
197
98
2
263
236
304
142
186
289
318
242
280
34
16
240
80
376
13
246
8
309
36
380
371
414
466
63
139
306
431
309
415
11
406
376
290
121
173
114
447
1
486
153
342
409
76
419
467
190
34
149
321
96
423
382
425
398
490
77
442
76
64
303
203
105
345
371
108
115
292
83
429
395
107
463
311
343
427
394
109
178
224
485
460
98
401
108
104
9
28
440
419
246
305
131
431
444
322
359
421
265
451
166
268
329
383
424
461
438
139
59
101
472
350
475
400
70
67
486
433
435
11
459
154
276
135
95
236
147
186
229
416
53
319
319
373
153
423
431
494
23
178
24
299
137
428
426
328
441
51
368
78
105
184
487
319
73
108
21
365
22
132
401
442
353
185
363
71
162
78
413
260
142
7
383
60
316
440
360
30
491
23
297
39
322
307
168
178
395
298
399
258
250
214
378
100
254
400
60
103
220
145
377
121
131
86
402
399
277
240
385
132
480
430
159
270
163
131
108
51
312
199
115
32
242
286
141
148
99
352
476
372
128
156
31
258
474
232
179
416
120
401
274
287
196
164
453
110
27
345
242
137
133
45
215
46
450
316
221
331
386
249
237
358
480
346
213
127
278
455
188
120
30
42
379
87
338
97
487
432
98
493
348
394
410
231
93
249
370
485
211
257
405
355
261
326
75
456
200
200
420
205
459
423
282
352
59
428
231
261
365
302
128
194
435
416
322
38
176
28
419
385
362
250
425
318
402
431
174
410
175
69
328
161
422
35
113
191
38
482
427
345
75
432
109
453
114
192
114
280
231
451
228
476
471
110
414
339
254
406
99
31
116
273
173
263
240
186
81
178
441
25
118
255
337
497
270
470
93
342
462
51
164
71
405
29
298
85
320
408
423
10
345
380
343
234
317
499
465
236
332
478
440
149
311
245
144
81
478
428
165
282
170
425
182
207
47
293
121
363
78
79
219
80
356
329
261
187
286
221
288
464
333
11
434
293
260
118
354
89
6
252
310
284
374
188
477
92
345
67
483
71
269
171
500
342
144
109
369
295
121
37
87
54
85
304
48
163
39
54
152
208
236
170
35
256
17
299
292
309
371
133
318
95
133
120
84
311
414
213
500
119
218
64
45
307
11
386
213
257
141
389
278
10
366
413
241
10
260
26
25
74
421
272
110
453
102
83
390
164
457
281
414
280
108
49
202
46
135
465
14
197
421
28
104
48
28
466
79
158
255
46
7
424
184
483
256
238
155
490
214
303
186
324
118
12
465
488
26
440
365
276
450
345
208
33
262
493
144
301
22
52
370
241
174
299
355
224
444
227
137
495
299
336
323
31
400
216
223
129
184
240
490
352
298
190
303
446
321
254
196
13
73
183
484
305
270
457
98
204
373
46
453
457
203
86
66
386
381
248
339
228
270
470
465
197
165
376
248
334
123
210
27
391
357
445
495
372
63
480
490
338
124
408
332
468
233
93
238
148
333
168
368
453
463
239
6
214
348
379
107
457
361
406
285
347
442
440
37
236
341
468
101
335
492
305
297
68
293
430
80
278
259
119
12
225
387
90
49
120
179
39
290
427
276
416
203
408
222
65
10
240
28
84
293
399
325
417
374
145
359
360
107
423
264
111
57
74
74
296
87
235
285
440
283
480
122
287
248
243
472
380
84
273
488
412
218
466
145
187
345
343
339
55
343
316
455
335
472
218
156
76
243
222
342
202
51
133
381
417
80
39
74
249
89
69
81
285
438
151
389
261
300
79
85
324
216
65
397
442
285
56
426
350
113
414
163
248
230
320
83
186
416
65
480
384
455
282
219
442
431
398
64
326
431
84
85
431
143
58
5
158
95
348
10
347
438
155
464
360
484
199
362
30
362
381
319
249
176
190
378
199
421
413
7
337
412
58
47
279
15
430
28
177
96
447
177
314
113
268
188
144
160
449
136
142
440
343
295
16
64
143
390
413
22
458
65
188
133
237
71
244
376
14
285
184
278
19
107
52
70
470
123
182
423
70
171
30
242
442
111
381
113
288
264
284
408
146
176
105
427
69
65
166
354
369
121
487
22
126
180
344
125
348
482
312
461
295
157
312
478
199
40
135
353
477
134
214
222
128
12
441
182
326
285
286
42
409
135
270
35
26
492
6
383
215
309
223
78
194
132
394
150
445
141
452
353
19
357
477
240
185
150
8
310
453
47
396
55
175
424
21
195
213
184
299
143
7
499
183
122
293
103
4
213
345
351
70
449
396
177
301
115
273
229
42
146
52
283
342
117
182
340
20
348
450
198
286
493
500
113
296
92
374
29
405
276
419
405
86
465
394
35
337
454
447
186
215
203
429
29
470
213
252
18
467
147
446
95
80
390
241
2
178
473
55
404
161
126
395
40
165
224
372
245
293
265
268
493
127
169
43
222
452
318
422
222
298
196
347
260
456
104
95
99
213
209
51
331
333
195
324
27
385
495
170
432
150
456
24
265
382
36
390
256
423
440
143
161
400
395
147
307
226
105
37
151
136
496
98
206
224
171
470
375
423
78
200
313
39
460
82
118
275
440
279
208
475
147
488
211
483
431
372
370
483
213
380
63
385
421
125
452
415
210
259
87
459
121
406
306
393
172
63
450
196
128
344
431
213
256
325
315
321
25
336
451
227
39
136
70
142
125
130
119
141
133
49
420
325
136
489
277
387
348
138
18
227
493
463
251
32
394
177
202
363
377
58
104
88
294
125
429
133
196
467
250
254
403
473
289
176
38
327
8
225
41
153
196
282
119
234
437
97
245
409
311
474
199
174
379
180
201
54
292
372
142
363
489
143
185
98
47
54
92
114
329
276
62
222
224
231
302
179
434
483
94
57
447
420
230
297
342
391
333
251
242
312
7
162
312
27
202
97
354
170
174
57
78
159
99
209
481
67
49
357
8
351
124
113
493
262
412
449
3
44
148
74
463
93
154
12
379
399
154
242
453
435
236
124
413
279
177
163
268
414
421
441
5
451
203
420
298
280
391
292
488
323
389
205
476
299
436
101
422
62
457
220
156
458
405
211
489
399
394
296
44
104
371
209
471
258
423
430
325
394
467
493
304
413
356
393
209
246
49
46
401
205
167
316
380
188
322
462
221
71
216
424
178
273
384
406
356
129
89
293
271
87
186
35
250
417
486
373
117
146
421
493
288
218
193
2
1
227
407
50
151
368
390
190
26
169
351
373
446
454
440
283
151
121
179
289
232
91
418
82
13
7
415
360
139
108
190
117
278
336
476
162
214
297
381
103
182
15
134
73
251
421
84
252
58
282
417
64
149
280
376
444
384
37
237
338
422
236
395
34
232
271
289
246
209
431
264
115
293
53
94
250
362
409
278
218
424
4
253
473
9
460
1
466
458
99
261
387
246
480
286
485
438
140
185
130
254
217
431
401
29
373
391
204
426
126
41
370
268
293
70
369
211
357
287
449
485
267
231
203
341
200
337
113
441
359
5
266
260
151
426
390
14
397
289
267
29
273
233
27
194
438
170
359
441
458
368
205
234
183
17
263
40
171
148
319
476
179
117
74
251
190
386
193
273
475
208
104
438
261
114
55
19
288
431
182
454
44
216
241
428
24
413
137
323
301
461
275
88
298
41
58
411
170
202
435
290
396
255
26
281
94
13
127
463
485
246
369
102
277
369
346
197
342
325
203
486
195
70
340
408
258
108
467
412
353
86
428
16
221
119
168
253
9
293
415
101
42
323
101
13
309
53
64
41
397
266
360
494
36
6
59
441
121
128
20
438
305
175
299
160
312
144
92
128
401
242
350
197
219
130
275
63
226
19
86
49
149
63
144
209
156
9
75
194
221
451
237
469
186
124
470
365
441
357
481
53
423
4
329
92
275
246
8
392
39
500
57
256
34
71
499
145
292
80
258
76
272
214
94
21
259
189
134
263
202
480
176
372
422
60
92
62
144
5
422
212
245
223
144
343
68
73
349
348
432
30
206
491
124
388
111
54
196
58
374
348
250
495
303
109
51
433
434
346
381
93
263
123
190
220
209
158
67
134
71
47
166
155
355
290
78
303
121
168
74
464
48
321
169
239
188
324
309
192
392
297
313
446
26
405
446
439
202
316
454
194
172
455
356
92
22
425
374
101
282
339
72
46
57
257
262
72
321
113
256
283
221
286
342
106
7
282
199
20
15
349
243
493
371
306
430
163
303
217
208
247
316
423
70
236
368
413
95
249
240
204
125
332
498
86
118
303
427
254
100
412
97
470
80
422
130
414
475
470
394
118
487
264
130
404
393
266
190
328
494
268
428
177
431
326
51
65
490
422
376
437
214
298
424
67
287
466
393
29
319
133
230
479
113
466
480
226
449
437
95
340
176
299
238
40
98
42
272
205
178
135
324
308
3
423
444
351
310
421
462
125
163
314
400
133
145
211
358
350
460
136
398
409
186
58
352
281
231
195
316
333
342
114
369
377
35
430
468
167
206
35
298
25
234
383
355
271
162
8
468
94
173
160
360
76
138
323
399
424
286
49
128
215
162
215
333
217
344
191
297
78
299
152
58
488
257
351
176
377
326
165
191
171
217
3
181
428
133
101
144
153
114
104
239
427
438
293
151
85
113
446
178
376
13
15
145
240
91
155
59
129
111
2
317
246
158
419
500
254
83
227
326
201
91
317
62
190
258
437
216
39
39
247
500
463
292
465
394
412
36
362
171
176
190
226
36
217
163
183
286
422
95
26
489
302
357
118
309
464
242
35
150
404
260
103
191
52
320
462
291
24
253
276
178
309
467
482
39
461
241
388
283
351
387
394
493
101
161
286
32
276
353
202
403
225
128
73
127
314
200
149
204
231
493
61
221
198
482
190
210
183
159
240
50
178
138
298
478
402
463
198
254
198
269
308
13
376
494
178
247
255
30
432
3
407
61
261
247
115
415
78
422
201
78
333
416
286
23
295
49
442
382
356
131
55
240
151
494
155
26
88
496
171
428
201
114
191
28
397
370
145
198
394
221
485
457
87
353
199
268
278
280
415
54
287
297
243
403
424
145
280
157
209
61
179
260
41
275
79
178
160
327
103
79
457
353
61
492
380
340
434
35
216
225
139
443
451
118
317
323
310
370
489
358
112
291
250
16
100
108
427
300
167
177
214
257
412
168
395
124
142
430
119
157
456
499
500
210
93
311
454
350
87
190
204
477
326
150
57
353
14
372
491
261
181
161
142
362
39
500
477
52
216
114
461
371
93
218
43
219
235
263
361
145
269
251
339
179
386
461
40
252
146
287
383
398
430
419
18
496
138
352
125
105
19
98
337
107
198
18
401
325
444
303
231
384
21
335
4
92
368
137
414
275
269
310
119
166
6
234
438
129
268
145
174
94
437
443
246
202
4
220
468
192
297
439
87
366
147
97
297
78
352
250
271
230
319
95
471
161
245
255
455
311
450
257
195
79
336
204
257
328
299
74
94
129
244
430
266
17
251
176
401
107
367
236
493
115
388
384
431
200
44
162
425
331
444
497
114
269
228
127
394
172
450
122
198
471
336
1
312
24
332
287
467
335
356
330
249
293
291
15
255
434
322
70
111
437
414
222
490
31
195
269
400
196
347
295
439
170
61
420
223
482
291
199
113
101
367
396
245
88
225
478
231
8
236
52
54
309
80
359
90
394
119
410
95
339
260
77
151
43
79
310
402
329
332
437
430
85
44
304
89
315
350
272
435
101
76
260
413
307
273
252
300
193
371
57
368
304
14
132
5
257
295
408
423
219
163
406
282
468
320
208
268
172
202
10
99
34
456
389
413
243
54
1
203
25
164
367
202
1
40
228
256
149
444
177
362
253
448
369
301
213
2
460
223
469
349
442
116
478
308
192
93
301
435
122
411
436
92
151
286
92
240
170
98
18
55
483
324
36
258
125
130
393
379
18
169
283
2
114
60
249
206
217
402
276
36
408
12
481
405
226
268
466
172
188
438
233
274
360
237
154
130
337
259
43
217
416
19
486
246
440
408
208
28
23
23
150
180
106
410
393
431
92
35
167
497
104
416
112
387
400
56
68
120
282
303
115
22
62
144
191
369
266
252
330
97
495
265
349
221
39
249
394
228
25
144
299
415
149
423
378
177
293
370
30
92
85
490
498
37
77
405
392
87
255
173
387
461
388
55
439
469
309
5
468
346
240
418
318
298
263
45
80
93
304
18
115
193
115
168
483
267
61
206
61
96
147
313
60
457
51
442
442
485
135
442
410
60
249
197
20
449
238
57
177
294
148
188
177
340
346
89
267
278
114
166
144
163
55
354
192
456
488
386
443
288
318
308
40
402
474
223
361
485
3
291
414
372
415
326
427
333
164
13
489
432
171
433
500
493
177
482
92
494
171
130
82
132
452
7
407
489
137
237
324
490
196
171
9
47
302
345
216
500
12
124
397
393
149
240
49
222
151
135
67
252
399
106
215
323
411
475
246
432
235
158
215
124
71
1
285
16
17
500
414
65
334
83
404
359
404
379
326
297
316
307
62
132
481
307
118
130
261
196
173
495
27
347
200
63
315
129
475
498
159
65
475
135
422
220
81
196
55
493
221
400
228
8
176
420
92
301
227
329
232
462
301
187
306
51
189
2
68
67
202
381
285
84
408
27
201
448
85
259
311
402
232
21
423
20
81
240
142
419
197
239
243
253
10
446
484
44
140
438
234
79
499
65
498
106
137
245
10
439
19
29
119
243
264
253
37
105
26
162
16
329
2
385
130
454
422
122
216
294
26
103
430
281
97
199
191
454
498
261
436
369
431
108
173
492
385
32
326
121
234
344
77
133
217
311
310
3
224
43
235
230
467
381
262
61
492
58
328
197
155
154
297
195
194
398
218
452
119
329
43
34
394
309
495
488
473
133
353
329
65
467
13
275
15
139
324
308
213
486
305
411
220
273
404
139
275
415
301
72
114
378
359
283
337
94
135
436
271
207
433
421
299
44
61
234
22
374
495
344
79
368
297
175
221
386
38
10
43
409
48
483
174
209
294
91
11
206
428
25
435
312
361
269
317
497
80
55
304
86
459
158
75
215
276
273
310
445
409
321
53
398
220
258
39
43
304
52
53
37
87
131
338
454
145
102
32
3
410
89
277
467
200
2
380
175
128
330
206
434
126
50
369
193
232
408
473
251
353
125
278
239
368
68
434
119
401
453
167
169
182
65
1
300
394
249
494
212
263
38
367
180
354
215
480
26
182
82
375
299
461
230
239
460
375
303
344
99
77
308
23
91
165
482
491
47
77
377
170
171
210
80
403
104
64
262
338
254
231
152
447
73
33
459
367
285
99
374
243
68
238
285
423
217
419
52
348
230
230
51
307
47
236
296
191
134
132
273
289
372
170
72
39
286
160
8
290
145
168
125
321
344
194
50
375
324
383
473
393
158
116
88
138
236
298
488
139
410
250
470
247
280
365
117
468
118
1
396
17
325
276
281
433
232
163
417
156
170
334
422
356
447
299
362
374
307
228
273
328
136
51
147
136
415
149
265
331
484
198
261
143
140
405
229
414
364
64
276
69
214
179
417
66
284
119
407
459
43
337
166
160
91
65
10
427
460
249
248
202
142
450
470
261
62
296
322
58
168
345
205
187
125
104
94
55
238
472
241
174
308
22
272
56
292
194
113
12
335
38
143
66
118
390
367
354
371
264
68
391
27
302
319
393
57
107
361
11
157
238
450
490
90
283
10
191
291
248
34
312
468
348
298
367
129
268
452
486
251
54
170
214
439
163
149
315
229
264
464
286
169
178
48
188
198
223
482
371
87
25
55
70
140
138
328
380
119
326
374
34
303
82
205
440
282
429
457
26
225
104
226
356
366
235
429
315
7
247
480
263
90
341
175
71
461
233
450
27
247
87
299
153
110
83
160
151
108
383
378
73
78
371
461
5
143
180
411
167
249
419
449
210
166
334
270
265
226
225
359
39
186
391
232
144
281
98
167
300
47
285
247
261
222
349
293
128
77
331
316
57
149
406
420
206
60
53
375
211
388
165
468
327
124
482
77
14
170
395
212
439
201
311
466
133
432
369
455
131
492
180
439
193
266
369
210
141
344
103
364
211
181
354
484
209
77
352
54
307
99
249
8
179
40
61
150
206
97
140
362
256
28
393
363
161
20
60
495
424
29
71
472
177
100
416
292
159
149
289
327
264
48
145
86
226
313
259
395
438
139
405
495
272
456
267
306
267
423
162
90
467
477
20
183
437
373
486
379
2
359
310
317
133
83
294
423
119
79
41
145
420
377
165
498
16
274
363
55
471
308
364
203
391
406
152
221
280
453
81
214
19
364
130
482
496
382
486
478
473
341
64
136
177
267
284
414
362
208
240
350
292
446
410
59
302
1
399
142
222
487
409
316
224
356
296
87
91
424
27
397
82
386
459
276
111
9
270
128
447
299
414
99
94
73
475
382
236
469
19
126
473
131
193
94
442
335
158
493
6
133
221
248
28
323
18
193
350
408
366
67
55
450
81
477
2
157
284
455
83
12
42
33
80
469
482
299
29
229
160
314
276
490
73
623
746
797
732
518
630
422
568
449
778
364
773
668
521
483
573
593
355
674
311
534
468
633
748
508
313
682
668
754
413
512
692
670
722
755
695
734
705
715
316
733
393
670
360
494
322
382
638
759
678
522
491
645
503
786
747
525
674
486
350
619
464
612
310
753
566
700
417
399
733
650
447
542
617
484
335
606
701
601
540
699
425
363
384
627
546
466
427
693
595
577
675
412
728
799
563
368
519
728
764
593
678
555
416
766
319
657
774
667
421
706
439
654
469
733
572
315
454
378
456
379
728
699
750
750
653
599
791
589
590
329
480
667
545
719
541
329
373
762
701
607
571
769
551
560
517
502
717
321
578
497
320
660
562
636
339
614
547
454
797
544
700
767
397
640
716
334
395
411
656
464
408
512
425
406
645
385
641
520
543
329
751
695
329
715
428
776
738
779
387
443
426
311
323
463
619
706
695
587
542
346
718
569
539
396
419
464
325
328
407
756
732
624
728
551
791
753
462
747
659
724
599
731
714
538
453
752
728
761
695
727
318
314
691
758
466
552
575
733
518
401
375
415
737
655
799
709
761
480
396
500
541
693
555
568
549
684
317
576
446
592
390
500
459
401
350
562
650
303
541
300
674
638
678
790
794
599
587
434
476
572
785
707
354
682
786
545
404
549
459
308
308
554
476
327
506
735
440
481
570
569
319
704
440
407
737
310
345
472
789
452
385
466
314
613
560
350
653
401
317
370
533
546
323
418
677
363
573
752
377
335
357
342
600
455
604
411
307
370
381
459
598
477
322
655
326
719
597
371
740
308
686
481
711
501
611
463
543
533
385
500
464
791
531
479
561
603
422
462
665
315
492
317
790
555
545
533
388
379
494
644
467
491
330
548
326
639
533
716
461
449
691
361
757
351
683
635
755
699
772
499
345
743
555
485
546
330
674
758
597
759
520
787
656
571
356
582
621
380
331
463
698
551
419
785
429
769
470
775
457
772
688
383
563
677
380
524
390
368
502
663
671
450
736
427
337
455
790
578
465
329
723
398
382
647
740
454
786
441
362
601
621
464
452
379
644
583
512
504
382
648
427
677
777
451
787
532
721
755
510
644
709
311
765
542
319
409
341
460
537
713
443
521
531
703
583
734
418
760
728
733
680
633
525
560
651
545
383
305
465
710
465
760
473
676
441
792
464
521
391
649
688
653
662
536
300
739
608
651
627
780
684
674
593
759
755
633
710
541
758
610
319
662
425
540
596
653
737
512
704
302
445
498
736
499
447
685
599
730
770
605
758
605
782
460
518
725
512
574
437
685
543
460
310
790
748
372
768
501
723
730
608
446
525
633
460
352
748
417
703
496
744
348
419
742
403
347
374
719
625
475
516
412
426
533
331
587
495
554
302
702
594
638
689
522
693
671
760
739
431
493
769
490
768
458
651
535
389
505
631
451
408
691
496
766
672
780
758
459
742
301
373
410
745
447
639
556
485
664
339
698
631
334
447
481
586
594
748
798
386
741
638
366
659
454
455
678
449
757
722
452
510
769
371
497
772
302
607
411
641
613
706
499
407
641
724
469
771
554
536
568
650
612
762
411
481
560
690
412
767
590
401
407
421
696
715
329
788
547
407
735
413
382
775
619
418
454
323
770
343
777
420
663
522
651
321
732
528
779
393
587
720
407
722
771
451
539
552
643
402
524
302
416
677
633
726
600
350
521
610
365
563
658
355
665
592
511
628
679
605
363
393
405
347
646
590
500
629
488
427
398
509
524
457
434
634
434
774
412
632
556
307
410
486
306
618
427
738
747
760
744
670
522
577
706
777
331
526
441
388
748
793
482
501
482
453
415
556
634
701
720
670
569
446
502
710
344
489
763
438
724
722
792
669
490
672
438
509
480
570
306
592
421
530
400
790
350
757
319
614
407
753
368
589
620
393
371
622
686
494
656
648
688
612
742
574
317
446
485
487
464
348
571
424
407
792
558
481
671
467
392
765
574
318
302
511
612
618
565
342
588
533
400
448
706
631
540
473
512
506
410
535
780
419
758
525
677
367
518
383
630
760
442
718
327
736
703
584
499
750
306
429
652
347
526
549
524
624
320
621
375
785
555
342
747
513
390
691
794
369
388
674
551
660
406
447
751
631
534
321
321
678
629
750
419
360
631
528
788
706
602
520
475
349
794
321
360
561
564
561
554
655
643
621
321
479
498
546
724
606
331
401
377
665
380
643
599
343
522
699
686
675
709
741
795
679
649
509
363
364
459
423
406
645
577
736
567
800
628
376
388
487
389
545
473
472
539
504
418
748
755
448
443
510
449
784
514
483
323
354
673
320
459
709
703
549
492
707
487
686
658
561
747
421
686
374
312
322
650
367
604
305
460
694
515
654
747
381
726
772
313
506
550
501
452
354
746
786
708
555
436
659
686
762
549
499
469
566
738
552
555
695
734
337
364
343
353
369
336
621
527
695
478
531
630
565
760
648
679
302
569
537
662
631
675
309
352
778
587
514
322
386
510
677
482
569
559
354
633
396
629
532
554
613
412
631
435
544
488
391
648
566
311
768
538
408
329
355
592
555
691
762
584
415
590
689
701
390
471
789
552
442
373
693
390
750
792
753
754
397
743
326
570
734
635
365
726
590
341
660
566
768
709
705
303
649
471
558
428
396
344
734
344
434
515
330
672
524
744
745
492
756
795
381
675
721
404
798
566
321
391
614
705
442
728
586
704
565
512
713
478
599
407
697
361
391
361
457
528
462
721
364
393
403
327
639
654
483
548
507
640
456
744
662
513
473
573
705
497
478
472
396
696
450
329
392
366
795
408
456
796
325
406
606
748
439
667
680
326
646
337
487
311
786
344
700
757
732
584
486
516
628
746
511
543
742
319
745
655
334
490
487
751
538
573
379
716
715
321
376
658
627
374
626
461
688
563
404
582
766
368
459
516
609
516
529
619
343
303
760
376
636
612
594
620
342
784
751
354
664
748
785
316
369
686
775
437
369
378
511
427
519
431
623
741
519
674
548
735
602
718
650
687
384
567
354
672
500
750
788
308
664
466
533
552
548
314
568
683
765
477
750
322
705
341
731
712
449
376
368
681
491
652
799
365
424
757
738
758
733
560
461
685
305
362
782
647
632
480
703
609
481
319
540
460
679
511
663
763
435
647
781
323
748
585
741
476
735
562
543
470
435
552
417
316
442
336
414
418
676
489
761
627
741
332
313
713
710
741
535
303
748
357
574
623
505
486
741
798
673
379
505
505
389
555
530
510
386
678
344
772
486
738
707
429
545
600
315
405
493
640
355
576
664
502
753
457
351
783
349
746
560
487
727
646
525
542
356
643
632
751
773
368
488
708
430
425
358
661
325
478
328
573
659
371
794
608
785
667
454
373
365
593
778
568
312
674
634
626
594
497
751
413
556
786
732
547
493
433
781
555
610
484
534
473
467
785
683
682
484
618
317
567
491
437
493
557
559
665
670
733
697
721
521
521
307
304
606
635
378
526
456
739
754
689
527
422
711
385
440
533
453
500
374
319
378
426
366
663
339
472
736
625
768
494
525
622
304
458
416
495
728
639
516
502
750
492
387
365
733
433
363
653
681
656
474
612
395
536
392
440
307
343
656
327
324
596
713
521
693
701
700
701
572
799
707
474
493
474
335
330
501
792
676
717
425
358
403
628
549
316
735
545
546
463
743
673
362
403
414
524
707
318
640
357
530
668
340
410
477
508
448
538
650
356
428
373
761
654
600
367
320
703
684
550
784
614
643
513
542
559
592
549
434
482
449
602
789
671
410
329
666
749
532
507
739
684
792
443
650
392
658
763
712
551
609
441
538
569
380
502
406
588
539
421
630
542
407
402
522
433
539
383
604
425
502
558
329
394
528
354
690
578
728
749
439
723
529
409
352
798
718
347
738
370
317
770
527
450
560
386
342
344
597
608
410
533
388
320
782
518
574
781
398
634
745
330
553
415
690
591
707
417
738
600
457
379
617
393
752
425
584
729
457
382
373
676
515
300
637
616
390
625
338
500
378
759
538
362
782
516
514
590
738
720
737
673
376
503
646
700
434
516
352
556
599
332
704
492
796
576
495
372
450
387
331
704
327
718
531
321
715
477
786
702
696
702
307
665
518
366
666
602
703
644
619
416
652
793
638
303
704
496
717
388
696
689
507
786
638
674
555
794
765
704
709
680
645
632
523
620
544
745
555
776
625
770
670
513
319
530
301
678
774
547
370
386
661
391
719
560
598
736
759
702
460
701
737
697
693
407
794
391
732
752
546
350
755
589
612
755
727
654
562
704
390
669
410
442
390
673
614
737
707
800
648
484
496
756
486
347
449
694
580
407
319
329
445
717
669
324
339
313
567
630
386
334
427
767
660
658
607
771
645
308
304
593
451
549
401
358
675
581
515
568
520
797
397
536
566
512
324
777
681
763
422
348
500
704
668
765
532
480
471
533
511
463
594
528
618
392
672
678
679
708
699
758
406
702
689
644
385
471
414
511
690
718
407
325
492
334
563
536
398
791
526
390
729
371
460
471
393
758
302
504
326
307
764
331
371
630
319
750
638
479
303
787
635
548
456
393
457
304
525
400
712
358
739
361
646
781
454
632
559
726
769
526
311
736
671
497
353
308
538
745
684
706
700
358
387
335
701
589
354
579
342
752
795
547
752
511
560
496
798
566
433
560
419
527
380
754
303
365
572
315
420
505
505
451
427
798
477
446
476
741
402
788
601
489
352
446
724
437
528
617
569
311
334
500
307
471
607
518
497
307
782
418
461
447
521
350
401
409
345
546
680
763
404
391
739
586
641
455
603
412
797
721
405
664
312
338
432
488
432
471
772
792
756
745
726
594
524
767
730
677
708
756
778
410
413
363
585
464
414
548
756
370
434
752
622
793
304
391
430
451
334
545
357
302
320
392
357
459
397
757
778
567
426
753
361
464
542
436
554
499
477
768
309
519
301
631
381
529
348
785
660
796
727
542
694
725
616
608
625
691
763
554
555
355
691
505
643
409
620
655
343
325
519
621
797
532
738
591
761
730
678
398
522
355
480
578
469
598
405
404
366
330
372
332
379
793
726
705
498
781
759
487
492
542
345
719
792
389
599
681
344
330
659
592
619
697
717
705
625
316
603
532
444
302
420
713
603
308
582
312
437
488
730
727
697
705
599
567
350
300
753
548
761
695
616
604
684
778
687
580
405
427
378
600
351
494
643
588
797
579
404
604
618
566
551
736
543
723
375
595
691
748
656
343
475
423
701
730
612
795
685
323
369
418
693
557
341
354
793
424
587
570
326
531
800
430
345
690
434
540
368
335
679
637
670
447
495
707
452
689
470
362
300
691
461
309
681
347
451
319
676
400
414
763
334
572
598
766
406
431
704
710
627
360
531
574
701
795
388
389
369
758
404
665
688
650
766
525
469
649
782
515
312
742
421
315
472
710
648
441
339
346
440
529
605
587
605
463
300
755
431
328
443
322
728
413
702
543
351
534
575
798
694
523
395
666
797
647
317
361
591
320
596
314
472
308
557
361
391
520
385
673
309
696
679
733
700
772
535
407
532
787
512
794
526
408
643
762
475
501
523
656
470
321
338
688
348
673
498
418
338
587
372
379
738
338
592
562
470
609
715
616
460
445
699
744
674
615
686
728
568
404
361
459
455
386
769
373
687
542
504
334
655
621
726
671
326
360
462
655
436
449
366
686
414
346
601
638
488
569
599
562
634
346
373
488
451
709
454
656
799
361
307
401
652
721
646
767
669
702
774
347
580
760
578
663
638
569
421
552
777
672
468
355
420
600
755
425
311
601
393
402
418
513
510
467
591
343
645
418
671
480
439
476
394
436
773
657
653
460
745
702
613
504
362
756
454
575
316
329
666
385
618
497
460
768
577
696
589
541
582
322
792
343
444
544
584
624
456
707
339
763
770
408
747
411
322
573
623
472
730
356
366
421
727
396
405
347
444
548
724
414
527
412
357
538
300
440
601
485
713
324
520
711
485
411
588
556
770
308
332
772
327
753
557
404
732
686
412
330
669
443
505
310
601
407
488
527
644
313
449
548
300
578
304
713
418
370
536
346
681
528
398
796
420
380
317
536
351
741
593
677
688
641
518
489
395
302
604
799
391
728
572
768
784
627
414
773
569
677
368
579
417
456
784
532
451
322
501
508
345
385
539
782
366
767
422
315
620
602
303
745
314
518
748
408
491
546
561
478
471
483
494
722
593
661
312
581
639
461
573
566
547
442
444
470
647
611
644
375
589
705
316
724
415
388
598
622
766
577
759
484
628
539
748
410
569
669
490
641
723
680
438
639
692
734
787
732
769
788
424
385
418
336
588
691
443
718
579
627
302
721
482
334
593
468
581
554
523
717
774
547
700
775
766
341
703
731
332
393
553
432
534
303
562
591
657
508
494
375
347
328
503
711
723
736
706
386
755
444
619
670
461
381
658
469
535
488
753
441
449
567
522
750
633
691
323
547
710
320
751
719
352
502
690
323
414
709
672
450
696
446
501
301
800
670
592
408
605
755
549
657
501
498
595
336
514
790
447
487
649
379
767
621
799
469
580
362
503
674
336
478
363
468
401
532
446
343
327
779
705
358
391
709
529
442
595
662
752
376
690
416
331
672
449
419
598
571
622
451
366
662
800
524
770
484
556
497
382
321
426
352
515
386
449
561
311
473
356
494
494
784
713
480
354
489
795
414
444
347
329
750
661
466
695
525
509
600
762
329
461
341
450
695
636
610
315
688
408
537
626
537
397
497
707
400
485
304
576
503
606
322
491
723
747
673
334
625
447
690
716
794
646
676
454
309
617
738
514
548
596
450
572
771
721
388
607
308
380
353
305
630
353
457
627
614
789
620
533
345
419
782
500
603
609
598
587
391
438
389
322
787
324
654
335
692
530
526
511
353
730
504
616
397
625
460
572
686
440
754
497
443
324
301
592
598
570
708
676
573
495
500
509
588
522
634
437
565
597
648
448
725
417
353
711
461
528
536
786
682
467
387
457
576
757
559
311
382
701
534
396
520
311
458
644
491
433
627
734
316
648
418
365
427
607
583
698
597
375
465
560
562
426
371
555
681
753
334
739
783
537
743
717
479
525
648
346
360
563
477
727
424
301
388
696
467
363
560
739
535
548
657
466
681
305
694
763
678
336
710
347
539
461
351
410
455
799
530
326
547
654
786
415
680
347
479
400
318
415
717
615
753
619
489
659
537
716
680
548
601
693
495
359
561
679
328
310
373
545
575
378
723
755
693
499
746
739
642
344
518
496
621
576
515
326
401
443
423
524
422
314
307
621
406
301
677
529
678
683
305
582
739
675
667
590
731
644
317
405
572
405
556
792
623
377
605
549
790
719
400
338
306
345
398
639
611
555
671
781
661
308
716
312
324
745
449
521
302
590
542
536
347
640
410
726
687
597
336
385
347
654
702
621
733
760
432
579
467
576
598
772
519
449
519
619
606
771
582
526
442
530
599
687
353
454
348
614
775
619
472
484
506
481
689
430
468
748
617
369
678
647
365
520
315
520
664
780
351
555
556
567
518
418
750
357
390
340
634
641
433
420
705
468
584
573
743
327
696
788
554
308
637
760
335
684
540
632
779
319
606
307
374
456
411
720
566
382
588
337
515
713
437
525
780
631
477
584
703
338
399
417
669
739
413
303
476
749
315
616
549
675
374
359
429
591
670
626
369
550
711
567
336
623
622
744
679
704
344
651
739
395
752
470
741
750
709
649
747
314
395
646
480
526
547
709
400
710
371
454
601
531
794
527
459
629
780
349
443
660
609
664
536
560
560
616
357
784
421
488
796
348
486
596
345
422
760
703
757
773
464
507
410
799
438
427
313
535
738
772
309
591
653
315
405
450
467
638
699
717
703
367
655
789
374
760
517
351
478
343
753
606
323
647
405
358
405
514
715
725
771
740
515
343
603
755
702
496
709
490
514
408
631
454
735
383
634
544
755
593
500
719
544
386
784
769
393
673
385
484
604
702
676
690
353
528
567
512
662
625
622
598
430
702
342
508
317
614
365
529
612
769
708
533
300
450
383
550
531
707
556
380
794
559
418
612
693
492
444
511
306
516
489
696
681
621
570
322
600
591
793
489
316
680
730
555
430
659
575
580
688
652
575
786
373
722
742
694
514
686
704
599
546
547
339
643
442
797
609
621
715
570
621
793
736
568
600
628
796
326
682
735
744
744
614
522
621
608
797
353
354
482
471
719
789
570
365
309
337
324
700
703
620
661
519
534
354
696
567
367
310
492
771
464
618
781
321
428
354
578
493
611
556
406
351
771
527
607
536
640
771
626
604
494
375
403
346
735
312
583
437
402
515
705
320
341
679
749
579
601
499
787
402
331
670
565
536
410
715
386
590
325
467
442
555
394
596
328
519
333
723
565
521
339
532
461
535
724
429
605
668
473
616
323
347
555
408
705
397
550
560
307
445
658
317
633
713
500
787
585
350
486
771
514
373
490
497
363
680
460
568
461
514
367
404
525
560
710
765
761
666
504
647
722
513
448
425
585
448
638
324
561
311
364
370
356
685
311
393
667
346
451
300
412
326
637
638
313
532
653
653
535
787
365
478
418
683
432
492
659
616
515
605
618
743
565
365
790
402
405
325
364
737
516
537
490
798
518
352
686
409
595
478
560
360
523
569
665
434
447
611
535
482
432
582
514
729
751
726
530
533
434
717
346
350
592
634
558
479
325
700
520
599
594
756
661
318
404
725
696
395
627
430
571
312
630
443
693
463
628
351
751
432
619
718
369
719
498
699
784
692
622
310
505
428
714
377
425
384
367
626
514
517
343
719
554
391
419
454
567
469
684
607
303
755
411
482
602
544
558
479
342
371
713
566
641
485
469
424
582
513
311
344
400
705
673
523
487
734
706
699
358
619
763
443
645
651
457
707
475
345
494
320
421
714
615
414
625
791
692
397
618
415
421
420
465
534
631
783
746
679
316
445
694
460
373
504
790
385
537
507
386
546
441
440
454
475
627
774
786
390
446
486
741
763
424
344
410
472
645
737
790
440
699
458
543
622
362
349
443
697
772
580
406
577
772
797
697
585
345
786
672
530
610
500
338
745
693
381
360
400
333
559
477
569
678
656
614
783
563
376
711
554
553
449
618
634
490
723
466
440
527
676
701
484
495
588
572
566
600
557
368
384
480
778
451
586
343
725
368
412
553
618
698
431
738
453
730
728
454
700
786
474
692
628
416
505
397
647
422
531
522
692
754
786
361
690
615
535
471
553
757
664
389
769
688
478
325
386
537
376
686
659
408
657
765
605
598
400
680
726
624
571
563
630
388
578
486
540
431
725
359
679
539
466
702
542
484
707
406
341
664
359
479
623
476
559
742
388
471
453
526
375
596
619
396
767
777
534
695
452
324
612
437
751
581
541
766
520
312
316
567
696
670
578
365
639
633
322
659
311
499
300
758
549
456
427
369
766
604
355
677
639
636
413
507
777
773
385
693
622
388
524
344
330
678
505
378
340
692
424
531
742
315
574
521
628
307
445
740
563
583
656
600
320
441
311
550
399
642
405
342
505
553
567
381
474
352
507
415
511
779
627
656
474
681
775
592
782
374
452
629
575
753
682
653
492
429
410
412
660
575
794
583
366
323
437
353
791
673
448
387
792
329
473
593
390
635
447
525
699
363
705
365
694
591
600
691
578
641
559
772
609
776
756
546
688
484
528
378
568
550
477
758
629
748
448
530
777
405
772
395
399
476
607
324
470
578
778
566
471
481
635
500
605
794
796
494
356
390
557
452
676
711
309
583
628
443
700
569
659
478
761
688
695
372
387
653
351
555
390
540
481
416
720
347
708
317
313
651
502
789
583
584
372
735
459
689
397
539
410
653
545
475
605
747
418
513
546
442
352
306
754
392
364
634
477
706
558
760
753
646
680
577
611
734
612
557
457
371
540
700
494
398
424
435
600
368
606
752
580
601
539
683
520
599
787
396
426
722
544
637
341
444
546
366
523
435
471
620
516
480
655
375
456
585
699
609
522
465
449
533
708
393
662
422
555
487
641
380
662
763
484
730
612
627
384
731
315
734
310
793
712
509
452
417
529
795
590
448
539
380
401
564
374
415
636
315
701
681
523
697
476
449
602
755
760
415
587
727
460
553
319
641
308
335
643
377
775
711
755
360
342
759
604
383
496
768
681
511
726
760
551
384
672
555
749
637
552
784
767
636
795
629
790
736
397
458
724
408
688
555
626
626
558
323
702
641
788
396
756
692
400
762
372
347
530
466
440
734
315
561
595
706
785
618
761
554
654
384
487
344
510
453
668
611
642
716
455
500
750
642
449
413
755
597
509
791
478
774
611
426
451
648
713
371
583
515
659
424
666
775
704
648
570
424
426
641
521
721
769
790
546
680
661
504
458
335
611
784
637
406
448
424
325
696
402
489
694
531
321
315
390
740
530
793
300
797
448
637
509
584
525
502
782
703
713
445
680
653
323
638
599
650
468
672
647
420
349
507
684
726
472
662
405
607
328
483
313
769
490
446
704
705
553
549
395
742
521
517
746
359
324
636
311
476
386
482
737
613
376
456
773
646
614
544
325
636
465
598
376
614
625
448
630
637
652
615
738
690
694
683
571
406
701
309
706
731
480
771
529
792
779
583
437
712
378
632
718
697
784
684
712
313
380
549
657
529
793
767
486
755
697
761
402
698
490
352
672
402
523
744
480
301
409
324
410
568
767
518
474
614
780
689
705
564
754
500
641
572
340
404
765
618
680
301
534
333
592
553
543
484
445
464
687
301
591
426
700
500
362
553
427
501
480
767
663
710
532
338
604
644
697
728
577
737
618
527
634
714
328
375
404
683
557
369
662
710
507
376
494
757
429
783
381
767
759
791
484
303
486
657
602
748
497
305
728
371
396
724
776
578
350
561
421
459
774
393
354
521
471
773
340
458
757
682
689
337
349
686
660
624
353
489
429
584
437
367
536
518
689
682
567
605
488
618
518
658
376
576
536
590
638
473
703
439
591
753
729
560
568
746
657
504
715
767
729
474
682
497
775
799
504
602
505
493
667
605
522
503
527
740
703
546
598
444
548
368
603
601
647
597
697
521
619
685
650
672
454
652
669
770
425
766
557
791
671
330
785
777
692
641
600
430
579
399
686
647
327
603
700
695
535
705
375
646
508
691
777
517
481
373
437
546
662
662
572
335
640
704
624
518
738
317
734
417
660
301
625
350
449
558
320
576
379
794
354
785
751
723
343
565
301
440
663
737
623
330
630
556
742
600
761
431
408
605
467
698
339
750
448
758
687
535
624
481
654
347
796
512
338
624
694
608
420
524
682
416
686
624
450
672
795
767
756
678
622
529
320
326
314
662
448
791
795
357
659
473
457
646
410
770
738
557
520
466
786
645
473
447
530
401
721
554
688
416
554
476
404
697
510
490
619
699
693
453
583
431
641
415
568
572
404
304
674
527
517
765
683
705
408
721
418
570
383
619
396
355
462
367
607
373
304
421
372
392
555
332
695
618
744
502
757
735
514
685
515
622
799
653
665
699
669
375
319
462
449
579
401
700
567
370
698
547
301
521
717
577
789
694
326
306
503
624
532
453
572
744
549
343
717
767
707
439
708
620
725
360
377
49
230
474
468
57
468
477
266
392
389
113
107
156
312
142
137
313
8
273
200
286
39
479
458
258
213
62
164
32
221
375
103
3
54
215
122
11
468
454
24
245
446
185
272
201
245
408
122
154
315
213
206
459
124
60
283
146
226
224
141
474
183
451
460
282
57
30
369
332
488
308
367
196
168
269
11
390
493
55
368
387
234
389
354
77
3
297
84
473
204
188
357
499
32
11
408
425
127
49
439
429
130
124
170
268
317
202
30
272
11
306
400
494
247
431
388
333
375
473
398
100
241
450
148
274
307
301
224
102
211
43
82
360
300
442
34
111
353
475
34
166
180
11
397
373
344
2
52
294
248
53
108
208
43
235
487
76
40
350
4
455
394
392
136
268
250
245
354
404
206
116
155
284
334
90
196
26
158
239
414
397
166
212
88
191
3
69
472
296
31
313
3
77
104
476
451
391
70
206
130
339
222
353
405
35
372
77
73
58
429
136
202
288
90
111
182
450
212
206
348
62
121
256
138
264
113
100
58
333
382
116
355
143
222
403
473
482
106
498
358
305
9
382
17
166
307
174
407
337
136
429
423
375
117
120
60
192
205
286
4
454
185
204
81
177
434
4
221
397
377
481
158
355
77
66
237
389
369
129
302
124
173
22
386
3
127
433
469
117
339
108
19
175
204
214
363
18
250
174
74
357
316
124
79
300
338
179
307
125
393
147
460
186
380
421
23
224
252
186
483
163
132
385
406
352
82
109
442
20
405
112
473
302
143
449
325
284
112
425
439
162
382
97
221
81
285
119
263
208
10
232
383
410
128
325
364
359
31
283
445
168
108
270
416
470
426
224
193
487
427
192
414
121
288
42
284
500
212
362
491
419
448
486
452
498
55
220
431
307
239
497
181
50
239
372
156
156
242
223
243
496
99
384
58
426
464
355
138
286
440
404
237
176
267
41
8
362
296
195
102
249
306
486
46
378
202
262
234
293
78
188
318
117
255
234
84
64
424
132
14
444
134
340
131
115
385
493
327
284
164
212
337
183
13
76
74
116
461
424
200
147
471
135
483
324
460
416
493
331
190
312
436
483
254
146
423
285
33
177
498
438
387
117
432
153
467
472
372
320
411
167
464
114
87
178
121
47
226
184
443
287
50
456
22
65
180
270
387
417
463
326
480
333
341
213
67
466
457
473
458
141
381
402
284
188
156
214
341
148
69
209
231
13
342
280
461
91
227
456
85
95
203
132
494
418
406
40
94
490
254
292
364
413
99
89
482
112
265
318
98
180
8
407
382
77
56
291
500
493
25
273
107
8
26
211
300
479
305
118
37
149
438
401
243
378
157
444
445
251
83
260
273
155
225
306
270
42
223
278
260
107
20
40
375
19
59
254
321
437
71
239
480
408
229
347
19
42
498
347
256
179
244
457
261
417
230
395
85
4
403
473
456
149
313
144
423
253
202
61
365
4
12
300
19
343
319
27
107
403
367
218
69
248
86
389
131
34
419
32
21
444
265
139
149
231
415
463
150
385
4
318
62
31
172
51
10
17
85
37
476
34
76
242
355
468
29
491
34
366
438
415
188
33
420
245
346
128
40
464
136
448
284
303
165
116
222
42
269
186
222
296
477
375
417
58
177
486
339
432
127
169
457
475
113
35
356
227
485
34
442
380
384
489
218
328
48
354
236
272
68
343
339
473
462
370
358
413
125
147
290
191
469
486
86
276
387
127
106
260
430
115
370
449
380
448
355
39
447
296
480
93
455
275
62
440
285
27
382
209
94
21
269
102
153
43
282
30
8
160
473
33
438
357
160
473
223
390
221
414
205
300
114
213
146
130
197
400
411
226
262
78
232
216
448
410
79
310
256
445
127
179
201
342
81
410
379
66
77
450
495
194
19
296
244
93
185
109
396
270
243
339
474
446
495
143
336
326
310
168
219
6
243
455
294
166
354
467
84
446
198
84
406
6
416
141
480
427
309
419
489
341
282
449
342
322
102
382
384
380
262
58
418
399
474
201
221
274
425
108
251
28
69
237
323
211
313
72
456
337
352
193
134
459
67
294
29
287
311
194
460
125
197
166
382
490
371
467
141
66
495
465
432
205
324
69
163
60
285
127
142
290
363
482
354
402
300
392
113
148
141
370
45
240
316
201
439
362
430
168
146
333
312
454
199
83
214
435
437
463
417
347
490
474
75
251
157
62
77
253
444
341
456
494
382
326
433
163
448
483
371
281
433
372
227
379
495
15
35
39
2
210
181
196
454
105
354
263
348
216
99
211
299
50
408
451
299
71
92
440
107
125
238
185
484
398
241
251
278
422
379
485
277
125
20
369
492
259
242
354
114
476
245
11
225
91
493
24
208
175
312
51
426
349
158
165
41
169
493
244
266
459
450
94
202
361
430
256
109
493
1
397
255
98
344
409
452
88
303
190
346
485
126
386
470
317
165
263
432
367
300
485
391
298
265
82
145
318
152
60
413
21
256
167
96
229
416
257
70
26
447
224
452
257
345
212
415
159
286
186
427
472
265
209
99
175
246
244
439
120
282
464
280
97
312
328
423
254
496
427
316
240
367
447
302
241
326
32
384
250
493
311
316
325
69
201
80
14
226
60
382
102
219
90
317
240
219
45
374
316
288
11
181
46
388
410
308
347
148
443
443
118
274
313
314
298
199
366
291
376
81
190
433
117
127
28
137
130
15
246
197
405
101
360
67
344
342
241
343
16
368
54
474
307
62
125
230
459
232
70
88
15
419
60
173
89
471
299
40
484
443
161
346
170
259
144
468
358
273
489
110
3
54
219
402
250
227
466
355
327
203
158
235
177
257
219
100
201
83
275
358
52
86
281
427
290
445
57
57
372
450
101
58
137
468
343
114
469
138
164
93
287
213
178
292
497
153
97
301
318
194
100
79
164
102
19
147
467
376
201
446
323
115
109
281
294
77
234
468
182
43
348
480
350
234
389
22
287
20
193
356
499
445
318
318
162
98
213
435
90
255
386
435
461
125
322
265
121
103
192
106
228
142
221
17
41
205
321
238
227
354
492
465
45
467
33
164
56
133
458
366
270
207
241
407
116
324
496
317
259
2
133
249
307
359
360
130
260
426
125
256
402
84
81
205
432
241
149
441
29
385
51
492
424
435
338
156
207
25
365
194
400
344
57
241
83
191
204
46
138
330
425
287
426
192
24
67
388
26
30
181
326
209
403
37
312
472
98
295
46
322
68
270
215
118
199
289
352
344
309
246
60
13
352
297
329
312
370
220
396
159
35
347
221
313
263
253
98
245
30
75
261
329
178
383
273
70
269
447
487
87
148
140
26
498
95
496
318
126
482
106
193
444
294
120
163
365
374
385
221
383
373
403
5
56
65
145
449
440
89
189
14
201
260
115
144
94
467
249
209
468
417
155
302
183
385
284
57
468
272
328
457
302
482
194
156
421
473
222
405
19
104
476
107
100
122
91
389
92
390
467
482
56
438
291
452
71
205
119
46
484
226
235
216
305
285
421
200
434
380
316
239
364
403
79
241
86
457
281
273
117
113
268
201
228
446
200
87
382
467
9
406
456
72
477
132
340
237
276
484
277
225
82
63
22
192
484
356
129
5
183
58
352
228
118
175
30
380
500
350
44
61
441
197
420
432
130
14
64
40
407
24
260
357
197
422
362
500
181
152
103
347
32
482
326
83
338
347
140
460
62
426
34
152
280
335
304
188
2
361
245
172
157
284
413
162
144
88
231
495
431
125
250
126
285
393
426
186
352
468
89
311
330
55
496
4
282
169
40
88
477
402
290
150
416
333
103
60
423
97
162
489
342
500
488
91
224
433
417
296
144
372
128
272
5
124
485
17
475
453
452
382
480
149
171
439
394
105
449
313
426
196
386
194
301
436
59
13
332
428
390
87
1
338
443
151
326
182
86
406
486
481
376
333
382
117
102
229
291
470
405
488
361
218
120
13
66
153
317
148
37
290
14
118
224
119
17
145
1
245
94
297
348
404
317
178
180
475
12
5
5
215
234
150
13
382
12
308
67
255
448
57
391
421
124
324
121
129
330
218
50
24
94
253
174
174
405
423
20
390
11
235
70
76
216
317
161
266
484
325
341
490
238
372
495
463
353
398
172
134
209
92
294
324
377
369
381
31
9
88
260
476
399
310
335
337
83
165
410
107
155
86
380
210
274
35
28
272
101
217
165
168
180
149
348
133
424
454
132
32
405
180
500
59
199
448
296
490
438
53
286
320
367
193
287
156
188
64
27
386
267
195
463
273
150
193
229
142
466
381
217
143
485
227
462
127
28
40
177
392
23
245
215
3
169
303
323
494
343
3
42
50
140
213
247
56
299
11
239
168
316
412
65
494
178
234
300
230
89
77
454
237
237
330
93
401
408
500
252
334
149
195
67
499
211
467
329
66
159
419
340
443
333
408
128
408
70
48
241
453
99
157
454
295
120
223
234
253
308
293
170
251
429
492
102
43
316
277
145
253
98
190
447
10
434
357
14
113
374
97
69
215
394
74
106
197
148
96
188
220
366
275
341
473
307
335
353
59
220
27
414
282
384
223
101
438
74
319
131
385
151
94
281
478
113
445
374
135
281
222
214
422
154
453
12
44
467
175
306
499
247
356
89
42
209
83
472
339
198
182
130
401
187
347
388
79
68
158
357
469
419
148
480
107
295
318
240
33
461
104
328
178
300
210
266
388
53
297
242
408
14
289
68
303
416
354
398
166
484
165
381
148
314
235
223
250
182
458
193
330
393
439
311
1
24
151
33
204
192
465
111
14
345
254
13
145
4
254
332
486
329
402
56
74
150
430
214
467
326
108
463
89
467
268
484
367
370
149
226
434
102
428
29
269
403
195
17
265
21
488
376
48
314
85
39
105
116
146
473
212
100
142
210
101
483
229
50
498
175
498
380
190
415
445
478
332
489
238
127
137
477
294
468
35
283
394
486
28
50
338
101
187
111
146
405
110
477
169
37
107
274
379
92
425
159
381
497
256
55
65
284
149
410
355
12
376
29
497
364
227
233
74
20
493
356
181
373
476
197
37
233
241
16
277
166
177
51
215
467
376
456
213
496
111
58
68
190
231
328
237
450
182
249
455
364
433
379
148
114
123
55
447
479
10
201
474
226
296
33
39
254
317
217
387
139
336
307
328
104
244
331
276
216
246
194
132
469
368
243
13
36
172
399
30
102
139
140
63
467
121
166
234
296
7
73
137
500
105
76
76
441
30
47
188
438
69
497
329
309
266
308
5
470
226
37
447
98
211
217
379
410
252
187
352
101
66
381
88
393
497
156
179
438
354
103
279
420
437
248
147
178
150
79
424
429
28
433
313
104
427
497
452
459
77
454
251
239
37
268
227
304
467
57
53
226
151
432
239
473
417
388
330
392
213
4
305
425
332
120
165
391
63
312
377
110
273
348
1
300
401
483
168
138
30
142
475
301
206
441
21
275
9
402
280
257
99
346
410
158
189
112
378
319
495
157
353
299
434
350
50
347
281
393
402
214
139
483
36
47
247
15
21
308
317
476
4
407
19
249
118
268
344
154
16
369
54
160
298
65
70
346
85
172
434
35
356
322
427
451
497
177
9
37
307
204
13
452
479
149
190
486
240
66
455
115
244
351
377
266
226
5
112
382
370
260
228
404
300
492
495
172
317
409
277
60
419
209
269
196
147
331
191
453
242
481
128
5
129
387
119
139
251
279
68
412
142
246
495
205
212
105
249
121
344
498
279
32
268
445
2
438
180
134
56
125
430
165
102
357
476
97
109
430
199
19
414
410
312
146
302
193
78
385
399
178
479
321
115
19
296
13
471
40
304
149
19
431
57
482
121
372
28
75
183
416
163
329
294
286
472
469
169
365
460
407
104
31
345
420
280
164
486
165
24
200
474
408
168
286
336
11
1
216
461
347
492
348
243
56
405
206
283
390
410
149
259
465
168
384
439
322
242
401
285
293
181
48
47
107
293
379
361
209
374
415
248
356
257
139
443
433
482
140
140
37
79
200
175
441
96
313
228
287
299
267
442
124
398
214
41
351
215
285
9
364
300
15
49
234
26
72
3
396
84
426
136
262
237
275
316
432
446
426
44
311
333
345
338
288
3
29
60
167
353
221
35
336
480
162
346
182
398
148
382
236
77
63
2
486
263
133
274
82
36
227
204
83
60
331
175
27
37
64
291
375
405
330
205
149
92
334
241
271
146
118
294
211
496
50
31
176
354
462
437
274
400
24
496
106
474
426
338
193
206
409
390
44
44
165
10
478
350
105
190
85
186
303
106
351
78
249
498
196
110
315
44
429
12
449
170
333
177
122
199
152
396
363
465
480
314
386
122
324
361
62
68
5
77
287
73
121
321
87
303
438
450
288
77
155
479
170
120
294
13
2
182
122
234
282
153
222
470
172
104
283
261
80
51
494
448
57
92
425
159
72
59
343
179
8
254
356
278
364
410
263
236
383
187
477
268
138
110
19
273
95
429
171
363
285
304
236
355
321
204
310
158
40
301
274
469
312
17
48
263
285
119
300
372
132
65
10
111
486
75
433
478
92
366
23
161
244
110
459
473
252
43
342
36
446
410
191
455
115
44
186
196
434
175
87
281
310
218
148
21
336
56
427
430
471
281
301
65
317
313
108
355
238
490
147
56
28
281
403
198
50
124
35
211
135
219
286
4
8
481
106
72
479
198
381
149
55
95
395
334
219
74
334
204
42
97
78
274
317
262
277
438
185
229
67
250
265
418
44
465
491
77
411
251
131
156
367
74
400
372
6
92
204
448
241
178
309
232
474
451
45
158
349
142
98
439
86
284
466
132
81
392
351
235
52
442
36
362
102
399
427
244
193
439
307
64
82
427
398
3
225
117
404
236
3
331
156
462
440
261
295
490
302
316
54
144
165
197
6
297
141
165
400
475
390
43
396
157
147
111
177
229
169
186
138
340
232
192
77
466
216
366
37
295
406
178
159
182
53
236
149
444
421
495
434
173
143
296
103
56
242
43
148
68
263
121
307
27
319
347
57
154
63
181
298
496
325
362
376
346
66
331
329
16
188
131
150
473
209
319
408
320
391
135
408
14
291
74
195
453
104
66
133
284
345
264
132
56
140
483
285
96
282
475
258
248
372
430
91
77
488
103
383
385
196
31
276
117
372
161
487
117
80
477
409
463
125
338
285
372
97
314
163
340
262
339
469
225
488
131
70
367
11
300
220
272
31
470
129
475
372
34
361
435
418
1
8
110
341
143
275
423
150
14
10
341
162
202
268
422
245
463
146
421
51
242
47
72
7
41
374
393
269
298
246
444
254
326
2
146
391
35
384
469
75
128
433
229
113
231
188
463
38
66
440
245
208
457
28
373
257
347
405
115
300
183
326
499
184
376
65
28
384
422
358
187
146
260
437
19
157
327
453
377
475
79
192
76
450
121
123
500
32
177
118
158
396
51
221
200
109
150
186
322
280
84
480
200
473
310
65
126
104
115
439
191
460
275
393
146
393
7
204
5
448
179
258
355
319
353
240
256
176
373
179
393
298
218
385
201
87
277
450
8
82
168
359
381
454
446
75
395
328
13
147
158
417
389
304
117
439
385
301
182
37
308
4
441
192
343
299
205
249
442
215
195
441
412
139
420
476
75
3
267
85
493
429
254
392
118
165
263
441
95
321
91
297
477
152
278
444
419
481
416
306
500
229
292
16
65
324
360
362
491
41
266
450
214
140
402
387
399
37
181
189
420
289
406
475
445
120
275
115
250
434
263
470
76
379
479
294
262
319
36
484
22
72
260
19
468
121
496
469
83
199
86
383
82
483
167
367
319
307
142
260
356
48
189
241
6
30
272
76
307
150
196
447
151
372
212
54
412
400
372
327
387
496
232
326
35
445
79
253
357
226
222
477
41
162
83
156
329
297
235
158
120
191
192
394
179
222
36
369
400
102
408
395
111
159
253
187
490
381
477
170
236
45
122
392
354
308
348
33
258
81
468
67
62
320
61
125
66
394
182
125
114
217
319
332
98
96
58
314
55
29
98
233
439
143
312
170
22
230
56
87
205
489
175
268
83
123
463
345
151
27
468
262
176
347
110
26
205
133
228
43
462
155
469
6
347
60
62
315
20
484
468
491
341
334
360
234
129
322
304
49
95
346
304
424
100
338
163
174
380
287
285
413
287
109
47
386
48
197
285
134
302
354
259
467
312
372
122
462
159
27
319
361
137
114
403
474
41
267
262
278
46
248
38
434
79
9
327
471
49
110
329
117
176
312
470
210
271
390
211
427
253
48
397
213
247
116
17
374
472
3
386
473
284
384
291
344
216
189
109
159
363
354
426
2
492
330
476
148
249
228
285
336
415
307
452
194
179
375
486
274
71
256
439
164
334
115
216
223
236
127
218
130
250
129
80
414
23
404
365
49
164
367
29
484
290
255
148
315
369
328
302
31
71
388
53
41
79
339
264
269
478
285
449
478
370
176
219
356
110
410
338
230
20
355
87
96
484
367
416
152
442
102
221
288
81
178
386
127
116
451
481
40
50
374
102
469
94
7
139
454
144
432
326
394
371
7
383
216
251
321
472
34
402
158
171
386
416
313
59
174
61
401
241
194
229
82
2
431
246
409
303
258
361
182
322
110
339
448
117
455
478
348
136
416
145
56
187
26
392
439
382
458
105
297
266
481
357
88
453
454
280
323
493
153
193
168
221
8
472
421
17
19
93
240
485
102
42
451
239
162
293
419
450
24
1
56
446
121
92
330
421
500
434
136
455
327
260
122
100
142
451
127
283
434
168
457
475
300
402
443
245
214
95
216
116
163
33
174
187
168
440
55
33
100
148
113
55
284
126
233
189
100
180
109
103
337
139
254
193
227
112
97
134
192
311
288
399
364
44
74
339
220
351
331
450
226
440
333
423
35
196
411
175
128
179
500
177
39
283
213
267
490
141
405
483
498
348
90
319
85
87
464
371
486
152
86
202
499
84
173
16
73
21
477
263
168
415
351
32
390
398
321
14
77
221
182
394
137
25
302
265
188
106
361
391
158
223
360
488
58
24
92
118
22
120
343
60
151
325
103
165
8
454
422
1
273
168
260
76
305
220
351
225
61
148
141
163
316
429
349
21
127
126
351
45
274
119
446
471
245
237
379
381
222
346
72
240
28
197
445
397
46
312
287
277
250
410
91
162
351
132
473
348
446
499
257
297
156
138
380
270
127
278
104
286
288
246
295
388
357
248
430
229
367
410
465
23
73
103
344
386
33
326
332
470
340
290
175
318
86
183
435
224
400
281
410
45
346
86
155
388
381
159
341
87
89
172
49
235
189
269
475
142
216
490
110
438
412
273
121
112
434
131
85
494
228
189
12
46
363
223
432
69
226
116
358
301
356
116
291
296
414
150
465
57
68
156
459
284
358
61
470
186
105
451
332
303
24
332
434
417
168
495
262
386
430
448
184
234
360
276
195
106
389
274
325
201
35
464
315
341
75
178
290
22
214
214
90
60
254
271
293
402
321
448
177
304
428
118
496
221
192
130
481
90
129
430
52
380
199
366
210
148
86
387
10
330
219
132
93
12
400
25
21
197
18
409
406
342
101
111
82
323
466
393
81
351
434
218
393
463
205
27
128
86
191
245
98
172
426
381
471
315
30
188
169
238
38
138
183
56
219
191
460
345
96
430
27
434
144
330
477
246
373
277
118
206
362
495
113
158
176
133
370
450
318
245
246
300
283
407
121
167
397
65
197
353
207
19
223
102
344
313
311
233
19
46
278
289
100
99
496
421
405
341
480
236
302
323
315
257
331
281
328
102
359
150
191
136
14
197
369
443
245
472
108
36
414
305
117
133
276
10
170
281
8
319
403
233
165
4
352
235
315
454
253
409
470
294
366
342
255
365
362
14
448
174
460
391
472
158
487
153
50
167
308
306
459
493
42
130
112
53
311
195
258
260
462
49
341
376
431
259
316
94
288
398
471
132
302
350
491
317
17
418
127
148
153
36
480
178
120
239
366
217
121
446
358
469
204
406
432
389
34
95
98
372
456
12
200
366
322
89
392
387
401
86
117
342
374
339
328
82
475
459
219
42
77
390
157
411
404
419
156
485
10
378
281
343
74
175
266
435
9
187
30
478
173
109
63
416
234
42
482
345
318
258
151
205
297
160
108
498
436
344
99
243
395
3
488
75
463
167
382
320
143
26
15
44
123
378
298
368
90
347
36
148
1
472
443
281
109
164
267
8
398
429
403
336
198
424
173
437
249
109
166
273
335
356
273
484
76
417
276
115
409
492
400
301
324
214
117
291
334
150
225
138
188
479
36
336
399
223
174
239
209
176
184
2
346
26
381
266
149
487
104
176
228
339
415
58
195
212
120
267
71
313
384
45
348
166
236
326
373
73
352
195
260
197
104
30
467
217
214
230
264
51
462
177
499
34
349
218
149
145
81
36
97
367
422
60
412
284
473
67
177
395
318
196
256
211
84
445
71
231
438
496
47
397
442
303
301
334
189
285
168
265
266
67
412
374
424
459
2
132
178
238
438
339
318
294
171
78
30
381
169
25
315
373
81
382
285
489
38
87
401
479
295
329
106
48
339
176
37
494
60
339
476
221
17
218
298
357
279
311
217
360
214
199
374
291
305
474
426
492
351
145
471
204
498
440
209
210
390
339
83
273
400
443
5
286
365
220
167
446
2
173
398
286
277
352
287
320
205
159
422
4
104
256
296
409
261
410
275
2
70
53
268
220
453
488
479
65
63
273
113
83
422
173
463
25
343
426
286
183
392
303
371
344
144
328
371
308
284
496
21
392
407
488
189
160
438
117
390
99
146
121
292
362
165
230
50
227
71
440
330
172
93
498
495
497
491
265
306
59
84
445
158
427
312
457
158
499
129
278
244
400
167
327
43
258
393
216
294
328
118
477
480
308
278
175
153
39
243
342
119
125
495
402
87
280
114
336
38
391
141
471
455
152
102
177
11
203
500
488
232
202
95
163
372
333
182
122
390
37
105
45
363
466
374
346
50
343
140
449
299
471
98
34
162
222
118
297
292
37
197
233
147
195
271
28
82
389
417
280
309
308
355
236
346
254
109
333
301
251
159
292
163
39
103
448
393
459
415
497
358
160
183
460
359
107
58
393
150
478
150
476
122
384
461
349
100
466
272
364
412
221
314
88
351
116
270
211
181
2
462
211
376
9
460
300
184
184
55
415
103
98
51
387
177
96
147
18
232
260
84
107
465
17
30
75
250
48
442
94
345
84
359
164
327
46
327
362
499
208
122
200
270
140
155
140
270
373
307
12
299
70
367
44
342
210
354
23
326
477
163
258
141
381
153
196
424
357
28
341
347
151
101
205
19
364
406
107
178
391
164
71
469
439
22
149
418
37
327
346
477
258
449
2
338
465
208
304
44
385
27
69
412
278
225
86
210
499
64
173
177
493
44
39
262
311
377
346
377
454
380
270
320
151
28
386
79
11
10
381
54
494
223
455
199
117
136
478
278
351
285
245
373
320
67
56
25
182
465
18
236
324
466
412
215
208
328
415
400
440
348
406
428
288
174
226
262
312
414
51
256
198
365
244
344
500
130
394
136
88
84
365
310
104
273
273
178
129
25
313
477
479
40
446
152
456
471
326
483
362
430
316
144
295
324
241
321
400
232
93
137
218
180
340
63
325
148
423
132
22
119
398
471
253
46
425
388
168
90
376
186
336
321
120
182
110
78
260
72
205
70
204
105
246
299
430
400
112
335
359
398
168
122
56
453
90
209
402
160
6
67
116
409
599
494
373
589
665
655
345
652
770
331
689
608
464
753
617
606
304
390
756
443
490
375
491
349
449
628
437
718
631
677
375
726
319
590
764
466
727
473
640
688
651
585
339
624
409
370
642
529
312
325
382
759
465
621
568
600
447
561
486
341
596
555
621
464
540
604
434
661
466
622
488
395
503
680
383
510
793
591
653
675
700
665
767
596
630
556
655
317
419
623
688
759
469
396
532
453
326
432
536
608
544
405
494
520
355
577
415
793
360
370
519
311
591
793
487
533
549
717
597
534
379
469
514
307
375
355
643
309
454
692
737
757
330
338
619
324
776
516
418
303
659
534
688
456
410
501
421
454
414
454
320
395
573
593
670
331
615
650
746
515
472
790
363
501
448
513
352
695
661
773
548
643
380
603
671
412
667
319
637
685
476
460
479
377
450
751
702
585
668
670
438
617
403
776
696
513
526
766
696
796
763
535
779
360
404
745
315
672
761
687
479
576
542
654
753
421
750
560
785
422
387
782
793
565
514
646
305
663
608
331
710
429
485
728
705
667
576
436
739
743
580
671
331
739
669
594
460
536
594
354
743
611
793
419
688
342
463
710
561
558
509
557
625
677
699
461
687
372
653
765
758
585
385
503
528
705
623
526
650
508
460
476
480
669
567
591
529
743
495
386
444
644
558
316
484
711
777
676
734
645
514
696
765
521
476
431
691
486
539
472
423
635
658
566
653
302
372
454
398
408
312
337
492
457
316
526
654
465
660
629
387
450
759
710
346
687
652
644
506
325
640
422
513
546
451
790
743
388
400
791
586
779
708
752
598
701
698
580
567
415
420
628
366
565
322
418
579
502
442
720
381
581
597
329
643
540
398
584
407
321
482
800
774
560
376
474
671
436
512
394
601
722
585
569
510
561
523
795
598
430
641
461
309
303
741
466
556
522
612
555
672
376
420
548
644
603
508
317
374
600
690
657
704
523
452
490
689
570
317
638
549
737
623
449
619
450
643
576
636
699
756
683
690
447
642
728
374
787
536
682
771
676
698
368
628
797
678
430
512
775
760
655
606
553
426
769
421
555
315
384
435
393
666
636
344
306
325
581
522
317
436
601
509
408
598
640
432
648
601
533
505
723
458
758
353
673
668
678
711
755
515
414
529
569
734
429
398
485
588
380
617
300
409
377
695
428
334
519
579
392
590
475
383
309
655
747
475
686
682
459
636
308
656
407
300
530
680
435
506
668
409
319
568
700
639
651
535
667
381
571
317
600
617
388
715
363
625
718
327
558
504
483
437
684
632
782
769
568
554
459
509
484
610
714
324
579
425
500
418
441
635
484
638
664
650
608
722
407
678
558
561
556
342
671
576
662
412
484
642
488
656
465
591
530
572
615
609
516
368
528
521
322
675
431
772
309
694
642
755
499
699
481
630
397
381
443
479
526
376
336
626
383
405
324
731
796
492
737
346
478
721
724
360
684
753
724
786
409
455
494
328
513
338
359
572
459
324
546
784
467
374
310
723
792
664
728
508
348
393
786
737
426
523
790
350
756
405
437
675
499
414
708
644
507
711
591
467
486
770
397
662
357
532
772
786
556
479
385
455
652
697
347
730
637
371
502
578
645
552
604
340
548
476
732
639
512
733
794
665
588
326
772
378
505
304
660
304
591
543
380
527
620
492
458
385
681
777
304
573
348
459
377
306
731
556
540
791
666
771
766
636
499
306
529
494
487
509
419
470
633
328
796
575
595
673
443
698
717
637
418
785
455
432
513
799
425
496
570
702
783
388
525
659
641
668
687
498
742
604
795
685
592
668
508
483
303
489
724
728
621
511
413
579
384
648
548
344
725
663
390
648
495
630
351
353
649
538
519
571
740
682
701
643
664
543
513
545
455
456
617
480
696
310
343
418
539
450
329
475
423
615
470
475
584
711
435
536
508
712
490
592
646
757
668
311
311
526
665
752
354
485
616
374
756
782
576
320
501
766
722
428
509
466
394
657
646
720
518
689
383
507
500
726
316
722
359
527
718
732
415
558
636
556
660
403
477
623
667
517
372
782
666
732
648
560
456
704
452
713
640
498
534
585
698
754
554
619
453
705
642
361
508
332
523
648
633
659
412
658
676
357
446
689
681
773
380
345
445
770
616
327
354
769
441
621
579
779
433
318
778
430
482
568
424
763
455
700
617
322
538
681
577
682
502
476
698
500
642
306
537
321
474
562
332
620
544
461
459
366
368
764
383
427
740
367
735
461
745
580
345
464
674
309
304
449
670
789
342
363
665
355
406
774
529
537
436
587
411
607
426
601
794
646
586
378
687
398
752
790
331
605
685
364
692
517
417
317
686
542
303
377
721
767
434
445
580
695
656
762
502
684
437
571
551
364
662
392
454
715
316
568
595
769
300
369
389
697
655
732
710
665
406
443
300
331
622
449
453
493
531
576
406
510
412
736
384
685
592
565
558
417
657
348
494
329
623
739
353
399
345
718
539
307
755
524
311
544
381
431
650
749
434
605
412
647
705
783
434
676
403
457
589
360
332
756
782
325
485
347
756
323
466
441
384
439
339
334
744
524
746
751
572
502
328
794
528
768
573
310
800
341
548
372
617
643
300
646
529
432
787
575
404
754
560
449
786
654
476
635
379
729
731
470
462
787
663
695
592
797
519
785
351
300
425
599
471
710
567
628
726
553
623
555
453
519
533
454
333
363
673
547
418
597
374
332
634
652
724
627
622
343
639
303
407
629
422
433
776
472
652
595
724
444
665
384
623
353
586
534
800
486
619
718
429
798
629
772
430
352
609
340
459
411
347
633
583
528
332
405
578
553
467
407
697
342
508
661
591
564
512
385
312
722
341
730
730
380
501
395
726
788
445
595
400
667
603
328
317
654
800
541
744
538
448
336
493
650
774
519
395
597
622
726
455
345
454
422
550
777
492
547
648
346
445
782
416
701
751
598
575
500
665
595
716
589
379
634
494
342
425
724
727
634
560
514
620
581
369
398
410
723
792
301
606
522
725
680
317
392
378
516
671
447
302
316
504
613
719
620
349
440
345
746
519
608
465
568
320
517
561
466
773
505
798
303
517
425
461
480
782
722
798
718
800
651
621
399
551
494
362
659
724
469
359
675
423
509
788
751
522
319
577
517
652
650
383
794
613
563
788
503
556
715
757
448
461
558
579
757
597
626
397
667
689
721
563
348
559
606
711
791
625
746
586
330
759
439
458
714
425
761
321
405
785
598
316
360
329
509
573
467
649
564
317
459
355
733
540
573
413
665
739
686
777
728
648
345
576
587
551
509
370
614
640
300
531
772
430
639
472
506
364
541
465
677
710
671
649
622
404
556
516
393
577
744
308
483
315
551
771
784
718
521
491
329
654
427
628
317
444
386
315
772
395
605
627
428
657
765
605
341
774
690
522
358
741
685
478
694
700
396
491
628
401
310
313
332
438
696
755
800
321
598
716
763
606
667
625
416
636
325
525
301
497
787
304
612
460
415
385
473
329
300
497
671
663
304
611
529
690
765
349
327
740
611
722
708
399
303
324
797
575
749
396
420
615
665
700
572
767
563
670
665
740
675
729
629
622
672
520
336
668
800
472
684
728
445
484
573
637
660
627
453
711
412
733
531
559
697
546
583
642
496
366
634
412
554
397
666
489
746
580
353
475
477
766
456
614
575
376
616
506
374
569
302
338
525
600
741
327
453
581
505
630
552
570
700
609
734
541
376
576
651
357
552
368
644
629
498
795
598
694
314
671
332
347
350
350
706
361
609
414
800
419
457
477
522
747
756
598
534
626
576
388
761
522
377
376
541
717
370
318
376
624
627
550
335
502
384
426
717
360
554
437
602
629
619
491
350
332
566
540
796
309
790
690
369
713
347
444
378
663
643
522
508
780
685
621
605
331
407
763
454
530
579
548
383
601
667
451
562
783
755
478
765
542
572
432
409
644
561
668
732
375
634
503
330
735
758
358
675
679
482
452
577
486
458
791
331
586
767
690
464
361
671
763
704
559
471
384
387
743
481
772
566
566
549
363
723
414
442
699
656
459
532
658
401
779
516
731
761
468
462
775
742
635
759
329
396
733
631
345
396
767
354
429
557
355
549
325
434
431
344
645
621
549
321
422
682
634
593
507
428
481
610
600
639
478
774
409
644
543
521
366
311
714
647
613
542
571
435
348
497
559
730
617
606
422
650
534
394
325
372
717
312
405
727
302
538
513
740
575
614
652
533
522
599
711
386
492
772
418
313
628
629
676
473
482
506
673
469
788
681
323
639
416
713
707
612
603
575
593
787
753
471
638
476
434
768
673
773
370
309
334
354
576
731
535
421
569
550
747
699
521
780
574
640
490
608
413
648
741
694
420
705
541
598
782
673
639
698
471
683
459
694
701
513
693
638
310
797
330
444
313
488
574
613
513
644
361
300
409
357
567
471
495
632
497
332
551
491
382
648
376
690
379
527
491
361
451
456
443
569
793
608
392
669
776
627
744
326
584
578
763
660
711
390
453
470
767
565
369
683
332
586
713
488
539
324
784
395
524
632
748
590
360
799
310
385
572
523
714
385
786
686
430
642
435
630
432
661
378
596
586
407
690
722
592
330
755
784
472
430
796
648
622
657
686
586
684
456
458
758
519
722
455
511
748
477
318
526
400
470
664
346
487
614
684
367
320
610
694
555
561
474
477
677
464
664
619
487
759
625
566
662
712
576
636
392
575
417
597
362
728
621
583
343
490
564
790
495
413
487
596
704
429
466
736
594
451
381
743
421
751
800
510
346
525
766
670
345
707
416
594
520
438
655
432
799
646
707
754
636
516
607
575
414
423
447
685
506
556
583
737
337
536
705
673
479
304
609
352
683
688
793
580
479
508
706
468
446
328
728
389
690
424
661
436
615
675
387
649
572
663
556
547
679
346
501
493
580
626
698
415
793
644
566
447
455
332
683
356
514
458
427
688
354
790
766
565
632
495
421
789
371
637
441
445
496
346
304
687
696
379
370
636
319
780
565
566
581
710
414
365
671
699
785
633
483
402
441
578
751
480
746
713
589
779
507
578
400
417
716
489
617
770
526
302
758
632
717
718
781
762
685
594
609
395
601
405
768
651
412
336
532
712
443
757
436
748
446
436
424
359
723
791
678
798
379
543
665
742
602
705
652
400
715
679
373
514
553
765
623
589
476
674
313
411
425
714
446
311
611
576
474
783
588
331
630
651
571
757
330
567
668
770
302
420
332
580
555
321
359
560
646
667
506
510
460
681
602
487
731
626
317
488
684
660
660
785
359
585
467
409
300
591
509
484
467
432
522
304
492
560
348
427
535
537
721
672
553
722
396
707
352
553
560
478
600
597
390
623
393
448
303
446
595
428
783
650
778
678
476
727
583
368
372
352
572
591
344
354
554
615
459
742
435
762
769
443
546
486
528
654
525
456
534
304
772
316
645
692
354
388
742
351
609
416
651
715
303
754
793
793
689
329
536
717
358
411
764
666
539
394
528
576
453
603
508
540
478
416
652
573
536
581
355
665
662
603
425
631
311
793
519
305
796
572
501
638
465
783
507
490
660
561
613
450
338
351
617
324
319
740
638
414
442
605
621
690
325
398
325
576
417
402
599
329
631
585
772
775
340
324
521
774
447
420
577
434
578
671
505
521
446
351
554
441
671
643
338
341
504
776
534
306
478
752
484
795
405
783
439
692
364
618
603
478
783
455
747
713
749
613
765
433
747
735
539
599
796
737
423
551
693
321
397
765
367
595
540
512
762
369
750
486
575
729
503
786
762
562
647
414
556
498
684
569
481
412
470
723
558
706
760
632
683
365
626
592
530
349
423
642
769
756
308
697
536
527
612
338
327
544
349
475
661
392
732
371
787
485
479
441
313
409
655
447
461
349
648
587
520
461
547
422
548
740
372
682
330
593
341
505
398
564
794
760
787
679
604
482
379
427
681
588
430
357
305
302
766
444
562
542
309
505
401
507
710
718
384
642
492
389
313
792
471
506
499
333
442
430
735
389
587
300
662
584
713
673
351
648
633
381
769
504
341
310
397
499
434
655
597
382
330
750
717
768
517
552
769
559
435
367
645
700
631
725
648
638
749
672
704
513
544
345
422
676
397
588
376
416
553
607
408
458
459
349
719
623
315
389
304
546
737
377
751
507
710
761
430
359
311
761
696
471
351
761
328
753
650
577
362
569
326
488
324
568
713
562
557
760
596
399
790
675
653
614
742
362
584
559
739
454
659
747
751
641
552
421
646
377
306
424
735
596
485
636
365
318
518
738
673
763
625
738
631
499
342
408
420
631
474
666
621
616
396
419
416
645
317
536
304
546
699
362
660
467
388
376
341
507
368
391
533
392
328
376
683
696
369
528
401
679
445
345
496
697
747
325
365
666
403
574
716
632
443
598
666
596
777
406
346
506
568
581
500
707
374
538
362
428
644
445
720
702
606
302
746
602
621
307
789
450
796
554
682
601
316
763
739
704
365
632
585
416
534
385
366
476
307
619
528
467
369
765
569
374
313
686
465
747
611
470
744
374
469
381
646
337
431
563
323
764
514
353
712
587
611
653
469
709
350
470
712
751
627
639
472
668
429
749
739
662
502
689
658
484
676
359
346
447
626
759
337
459
769
680
711
647
734
552
695
715
543
680
392
437
717
315
530
697
312
744
598
459
745
778
786
608
567
772
319
392
694
325
323
496
439
483
309
402
572
626
321
561
562
726
621
670
669
709
408
773
405
532
502
473
685
701
305
671
343
629
568
338
530
692
641
385
341
365
703
733
776
692
506
521
555
611
402
310
716
595
619
721
516
398
720
684
738
694
380
342
500
500
327
376
397
686
788
596
553
428
517
378
463
475
602
446
742
634
724
380
444
313
799
643
466
320
777
384
575
688
362
633
354
722
508
681
581
783
490
703
588
526
610
710
553
590
387
374
487
384
571
511
445
368
780
724
430
483
786
614
525
372
716
574
404
722
694
533
683
306
712
630
330
337
599
384
340
500
331
314
626
362
337
550
342
759
650
705
640
690
573
548
729
586
796
600
707
482
596
559
581
714
645
636
385
654
511
755
410
326
579
762
567
354
734
716
354
724
386
398
537
575
728
706
725
590
661
509
637
581
336
558
711
304
389
661
461
534
610
404
567
635
445
626
570
657
568
640
726
487
443
399
777
432
412
594
597
637
434
386
371
402
653
307
570
526
614
653
637
607
612
420
578
592
351
418
373
558
537
701
424
617
674
570
688
600
605
652
756
728
725
339
509
659
414
712
772
703
642
761
426
531
621
304
679
318
581
593
455
672
669
517
488
417
460
715
324
716
372
404
304
386
345
696
436
583
374
664
325
343
797
755
496
375
372
384
420
369
429
634
655
796
728
478
372
460
438
540
501
511
548
665
543
589
315
793
305
446
429
497
462
662
383
323
632
340
764
598
755
434
678
547
685
593
527
410
692
575
663
795
390
767
711
675
516
775
476
703
782
739
364
441
445
382
453
338
656
698
685
538
479
634
740
371
478
305
755
542
709
300
349
450
612
757
303
327
770
728
557
796
377
402
661
626
419
788
465
731
328
574
586
595
397
556
360
572
468
321
398
387
746
771
622
326
653
638
304
552
589
528
410
741
573
531
472
576
741
793
706
375
693
685
655
636
354
641
728
456
411
732
456
625
312
537
521
728
737
571
301
518
459
649
432
636
538
319
436
570
361
751
364
550
403
408
448
300
744
781
661
728
678
498
504
675
414
374
537
782
316
532
615
560
301
359
390
767
337
485
693
684
435
560
377
655
491
313
649
766
625
782
708
309
302
401
530
789
593
721
681
323
510
352
560
360
356
777
724
760
543
738
674
686
466
715
670
789
658
548
515
435
569
570
800
311
526
303
660
536
376
638
542
689
635
445
515
374
653
476
439
405
318
669
397
442
446
457
649
310
696
668
449
594
352
714
325
765
601
692
592
347
468
392
399
553
446
548
394
532
360
757
783
319
615
703
514
351
781
580
375
748
469
563
788
463
668
714
518
722
795
335
478
699
600
562
580
476
488
350
650
390
461
681
503
307
666
729
352
562
443
584
731
705
521
571
429
726
382
606
772
423
734
420
765
324
631
505
363
697
395
415
698
608
556
312
352
566
777
797
500
733
446
779
746
643
724
489
450
471
584
576
736
322
371
565
654
353
788
360
606
394
786
483
358
343
520
481
459
563
693
719
578
545
506
435
677
598
329
708
311
337
703
403
364
365
577
579
371
721
666
656
724
459
367
302
756
471
518
683
445
794
511
764
341
556
531
658
497
321
556
775
790
340
621
651
502
694
613
328
758
723
624
704
581
718
659
634
674
501
597
318
391
681
668
746
478
749
323
563
422
365
558
347
505
391
393
432
405
354
701
366
404
630
440
363
511
700
389
496
416
534
447
325
553
606
725
438
457
470
604
655
782
536
445
525
425
494
440
442
544
632
761
400
399
682
340
301
531
551
513
573
623
432
451
326
690
371
705
419
586
539
714
530
460
583
436
626
723
654
606
549
617
424
707
536
583
624
319
671
613
781
431
405
795
789
633
495
640
735
780
469
618
482
676
526
724
510
316
557
585
692
448
651
334
490
683
366
428
424
332
770
699
657
320
467
589
324
694
654
491
667
692
640
575
486
440
690
785
352
521
634
669
532
629
612
645
485
356
310
695
731
728
330
535
660
648
528
784
389
430
338
747
423
329
391
367
418
689
428
556
587
756
515
715
649
527
426
760
600
654
571
440
755
365
593
458
364
554
407
752
351
467
610
632
326
524
656
367
370
372
766
651
746
796
567
319
723
740
758
352
766
782
595
789
452
456
748
777
598
684
506
398
332
374
567
346
627
478
466
534
730
552
758
529
432
756
324
637
716
785
676
316
709
717
373
353
595
559
628
586
302
367
485
318
371
647
371
709
567
440
484
767
524
430
753
423
789
585
440
468
665
661
508
446
546
736
523
387
372
593
300
713
663
525
475
432
412
776
446
799
775
743
376
781
346
505
347
656
322
781
420
535
620
663
437
663
515
611
707
571
408
717
413
312
427
631
423
586
702
661
731
429
354
370
593
706
471
352
637
463
755
531
369
629
568
529
662
417
468
421
549
554
550
496
418
595
531
441
731
396
530
683
331
632
332
337
458
743
606
301
454
753
436
398
554
479
507
581
329
426
513
737
704
643
592
689
566
469
617
761
526
545
655
314
710
517
510
640
446
755
601
522
647
329
782
620
665
713
495
717
526
776
659
649
612
725
743
309
764
560
384
720
466
308
777
397
548
340
450
503
751
702
482
439
317
562
534
728
686
540
329
392
539
384
630
469
412
324
763
564
723
403
327
610
444
572
453
473
657
713
617
451
312
724
721
611
620
550
796
541
720
543
752
692
687
358
411
752
349
412
672
571
450
490
324
465
304
784
597
532
539
782
650
672
609
342
616
439
520
428
643
693
644
687
494
662
393
416
708
492
516
371
539
429
792
758
322
692
742
421
642
791
488
547
520
455
423
310
353
545
621
709
745
333
736
677
605
709
359
714
419
379
390
414
637
611
327
675
649
463
669
401
779
658
622
382
341
680
629
563
698
497
676
518
330
332
385
786
633
764
722
771
754
494
429
695
429
423
534
522
444
426
546
507
370
489
680
458
335
363
681
581
633
498
680
332
648
384
756
783
560
785
547
764
603
308
710
616
655
533
594
520
404
614
434
458
467
746
517
382
393
540
645
349
368
364
412
395
532
434
556
607
632
759
563
671
559
625
408
562
513
361
439
654
469
494
486
303
701
466
604
705
590
647
673
740
522
742
795
607
710
443
492
341
421
528
501
313
461
577
776
355
681
736
458
341
514
671
677
703
538
662
472
670
522
796
768
712
457
610
438
360
706
488
347
457
516
630
395
459
319
557
749
611
693
688
427
794
517
731
713
747
724
718
675
338
607
768
504
723
550
778
779
372
495
728
733
641
466
484
509
360
761
703
777
586
638
513
357
720
720
778
699
696
747
762
427
419
471
412
764
681
541
662
650
399
514
423
449
329
358
541
467
563
620
333
795
418
499
717
339
490
763
567
461
740
788
300
788
763
510
750
698
612
658
544
410
740
655
339
558
363
633
330
493
698
784
677
661
363
510
465
509
388
579
602
644
693
453
764
497
535
301
495
462
626
776
657
314
393
366
441
786
614
535
684
655
512
444
792
495
663
715
443
789
788
731
573
703
447
717
637
355
316
487
793
643
341
330
683
637
456
493
732
376
447
309
617
656
624
619
547
481
650
496
708
754
471
539
761
418
614
410
445
774
651
687
327
754
371
580
632
564
444
484
382
321
418
528
415
414
542
535
787
799
795
570
428
512
340
384
526
582
425
407
608
614
463
421
463
380
493
552
619
601
618
314
497
744
556
657
577
702
409
310
306
553
408
472
661
464
518
558
541
415
564
620
398
435
480
313
704
654
395
628
503
708
468
800
680
688
387
774
741
529
739
517
502
323
328
727
483
331
359
782
309
437
534
441
730
534
756
541
444
409
620
316
451
484
703
608
474
791
555
504
479
379
626
503
349
689
783
532
651
547
591
790
473
558
414
491
359
664
433
323
325
635
563
630
602
325
386
661
366
615
388
362
308
667
499
379
791
384
663
602
414
423
617
553
628
618
443
544
619
762
631
403
587
609
415
700
404
636
377
516
399
660
360
322
323
558
763
472
463
709
572
567
555
451
432
349
434
412
707
307
334
630
309
577
541
338
446
692
305
730
602
346
622
687
729
518
780
758
310
746
345
789
711
481
603
608
753
438
514
381
426
578
536
383
767
685
793
433
437
755
356
565
666
411
632
563
553
472
331
402
396
404
691
571
551
676
529
790
689
363
334
590
352
778
308
556
335
712
343
783
711
743
689
681
305
398
430
386
684
654
456
682
601
465
694
731
614
708
613
510
667
613
426
580
733
370
745
764
501
535
429
673
361
469
648
436
390
737
689
355
330
566
508
325
701
529
674
758
543
637
789
492
429
359
589
505
422
378
741
792
707
305
739
687
773
510
531
708
575
516
506
467
622
476
746
527
618
504
473
726
497
687
645
496
707
368
389
681
772
584
419
683
560
743
359
306
607
510
502
664
442
677
357
678
761
345
486
778
501
546
390
756
616
432
450
800
515
699
687
391
461
767
390
527
495
796
380
316
582
311
601
722
574
511
548
652
394
439
699
385
661
417
561
372
307
431
530
428
649
576
448
344
335
671
378
530
592
715
715
382
475
569
697
575
616
423
337
704
603
646
490
347
640
620
400
596
572
585
448
526
741
575
549
418
406
503
706
495
341
753
550
425
407
436
766
439
768
564
570
615
327
703
573
491
356
630
467
652
446
706
790
486
548
463
438
793
670
380
368
587
546
517
798
719
611
494
358
345
757
680
482
630
437
412
555
406
417
445
415
438
462
575
491
690
317
340
461
612
783
594
512
781
713
453
675
732
726
780
673
636
742
328
767
550
748
716
508
660
736
500
587
582
471
695
523
302
345
721
333
535
585
316
431
338
305
732
503
450
553
739
783
544
458
320
566
794
622
302
598
328
326
353
708
757
727
796
611
406
650
374
548
334
730
340
783
440
731
511
421
477
650
348
484
699
539
549
460
534
589
307
475
528
646
506
734
379
361
507
333
412
562
399
625
612
389
571
549
626
696
618
311
581
561
632
316
463
583
525
651
309
774
304
516
780
622
754
539
532
348
336
490
619
688
775
338
572
591
497
449
651
303
575
355
785
683
562
415
480
616
540
369
461
565
380
794
371
717
425
755
746
603
747
341
751
301
645
533
421
622
678
380
600
762
591
604
392
776
691
325
513
603
544
492
790
369
484
397
307
682
374
688
305
342
585
381
399
335
609
384
302
556
746
539
465
576
342
398
336
789
590
359
499
558
422
651
550
626
395
289
458
140
123
353
203
178
291
302
497
321
138
78
322
274
472
429
486
323
438
40
409
170
64
207
81
130
301
469
433
184
47
293
196
370
376
182
313
58
149
359
95
438
391
310
476
23
436
488
214
180
219
319
409
329
492
46
146
337
450
33
498
318
137
125
384
180
388
107
352
421
348
54
263
160
388
326
240
315
5
277
177
444
137
446
208
389
443
321
283
356
330
254
426
294
430
404
464
314
14
198
120
227
4
354
77
223
107
206
346
192
367
197
476
250
262
66
231
242
97
303
183
305
41
433
456
440
16
328
29
113
191
163
90
432
177
379
317
460
471
261
459
277
264
70
441
374
1
418
201
51
73
89
328
407
51
270
389
444
485
432
164
120
225
388
174
383
215
498
100
239
125
153
199
353
298
306
278
1
59
11
43
422
337
273
189
219
81
336
180
322
49
261
263
88
339
239
119
486
485
437
32
338
51
215
65
286
391
148
329
466
194
269
25
97
415
448
330
195
41
208
391
182
82
1
4
480
485
316
245
271
60
278
474
496
439
50
250
274
432
476
280
338
444
123
450
278
356
339
247
291
154
362
74
252
362
174
265
20
488
41
70
387
344
235
471
290
189
4
145
270
196
14
441
176
476
82
410
319
20
405
236
353
41
101
198
463
174
175
168
149
327
312
63
403
245
30
45
90
275
269
350
174
94
454
310
297
131
410
214
105
199
122
333
332
320
194
247
41
354
187
211
114
110
249
191
265
86
362
410
360
203
135
247
430
77
417
41
343
372
355
42
304
220
398
134
477
74
77
240
348
202
100
288
212
1
189
395
282
64
44
184
207
256
144
50
126
58
269
436
217
387
452
221
184
324
313
39
242
395
82
297
94
141
30
278
442
317
484
218
18
351
18
85
387
303
153
171
122
301
24
30
32
100
137
471
73
283
32
24
375
387
380
383
293
377
403
220
180
133
94
193
189
391
370
327
32
490
293
395
182
38
353
246
159
424
268
345
175
497
149
189
187
31
487
406
90
424
301
444
435
265
278
291
439
344
70
388
148
235
409
137
5
428
272
290
247
330
207
151
290
73
362
390
190
194
301
185
373
231
58
249
470
58
397
298
467
109
68
239
348
473
325
150
393
464
409
245
46
402
119
148
277
476
70
479
293
377
44
369
378
341
276
286
494
99
402
262
335
315
467
383
74
37
288
13
160
478
421
191
151
376
383
469
222
30
449
148
123
286
228
493
253
203
442
425
142
336
123
460
301
34
491
426
321
54
395
183
356
206
10
215
279
289
308
161
359
435
164
473
60
499
490
121
334
390
200
345
302
325
369
268
123
498
5
383
126
212
357
308
355
287
430
403
349
132
170
457
38
267
433
450
81
156
346
463
325
184
347
62
495
27
115
281
419
62
295
377
104
307
288
415
166
287
344
294
330
97
252
256
145
417
57
160
237
295
304
361
133
433
321
388
204
289
491
471
182
4
323
286
483
304
10
16
429
388
432
320
133
293
103
355
477
110
93
49
225
174
211
135
316
363
56
283
338
323
230
35
136
174
399
5
212
270
279
120
140
167
430
249
86
307
458
313
462
190
280
290
200
256
404
278
232
148
246
419
308
221
499
313
218
285
53
482
243
493
492
87
351
39
339
161
494
111
363
291
232
321
214
128
387
353
35
293
199
397
369
248
147
56
495
104
405
200
289
353
2
46
265
260
186
434
249
432
32
38
272
208
255
271
235
445
208
498
311
61
463
62
212
98
277
39
226
21
436
61
233
9
135
455
318
408
73
138
46
10
85
94
149
225
295
127
264
398
50
90
269
345
417
347
468
85
121
99
164
475
366
210
182
364
22
214
98
50
403
20
77
383
304
445
232
158
360
302
183
48
259
93
380
158
189
379
467
389
112
366
160
295
347
160
125
341
346
135
434
131
2
128
346
395
165
231
414
398
457
356
378
497
39
100
326
120
175
455
407
178
113
194
102
88
274
451
160
324
107
60
74
22
280
161
437
106
453
310
382
381
192
312
336
219
254
145
284
46
283
287
250
100
117
414
40
31
149
158
309
369
54
463
345
336
90
473
326
56
35
328
118
152
279
92
180
108
229
394
41
69
489
119
158
479
6
443
376
163
286
298
419
40
58
303
204
272
321
438
170
405
124
424
363
327
144
158
477
354
499
75
15
224
344
402
466
355
3
220
443
237
410
303
239
102
40
217
458
347
483
5
51
294
159
451
341
357
229
243
424
444
301
282
255
183
150
286
135
121
229
197
348
480
98
433
311
17
319
264
380
289
361
465
355
225
344
39
247
399
151
363
418
449
490
481
300
455
318
69
487
311
443
254
404
433
488
332
388
382
439
468
86
497
427
312
173
263
216
230
46
256
418
113
96
79
331
279
360
432
307
8
235
254
198
276
255
476
461
19
239
109
125
157
416
227
225
352
353
13
378
487
341
61
118
239
1
413
231
401
172
89
422
458
36
395
181
42
420
188
173
456
195
318
320
300
117
80
42
466
159
149
403
239
333
65
307
295
33
166
274
378
407
443
195
201
421
340
208
40
20
493
407
149
152
317
305
436
141
119
420
474
256
144
286
101
18
149
197
234
428
472
145
142
319
473
447
307
134
162
168
390
359
100
289
466
234
67
283
401
190
150
318
292
118
339
68
421
176
36
283
323
350
298
475
485
129
376
44
189
175
106
56
77
356
465
422
437
429
82
306
463
14
418
7
199
251
56
360
7
286
187
147
100
183
440
69
272
272
100
467
43
452
454
261
424
228
403
313
344
278
435
339
491
434
329
293
248
146
365
426
288
289
101
79
43
380
134
178
17
313
264
239
380
198
160
254
247
162
227
100
460
199
435
321
476
241
379
230
135
399
288
450
283
32
23
89
453
451
407
302
371
176
48
350
437
379
222
215
455
208
176
349
185
354
48
245
146
280
451
83
248
142
255
226
28
100
93
27
382
278
497
358
163
204
225
3
283
45
330
269
195
340
430
53
471
142
120
434
490
267
190
152
494
171
348
287
108
237
286
242
265
152
95
109
251
318
454
153
59
199
214
411
135
150
419
221
338
15
421
168
255
25
231
1
455
167
1
83
25
242
266
410
40
489
329
264
150
314
76
26
264
405
452
30
383
419
388
431
397
241
236
476
325
167
363
226
405
404
432
125
353
280
230
243
213
482
407
446
384
111
427
4
361
387
331
433
300
287
444
272
449
445
302
473
108
153
285
383
17
432
87
378
348
195
254
377
201
121
401
220
37
182
370
173
337
154
478
172
413
498
401
403
346
5
222
352
301
366
2
492
42
366
409
333
416
34
77
468
472
236
103
396
186
391
338
323
397
412
131
60
298
203
327
282
279
383
275
380
35
387
481
496
6
2
77
415
387
102
151
284
137
141
353
341
458
13
474
147
93
307
145
184
84
303
331
308
226
246
167
457
178
448
167
117
83
272
269
331
73
199
182
321
57
118
348
464
382
445
174
473
388
58
163
25
10
161
216
57
129
262
16
368
19
192
280
397
362
89
376
141
116
296
55
78
96
226
178
163
176
223
344
17
16
161
403
70
408
191
407
364
277
123
32
440
472
456
263
90
454
439
326
238
42
106
492
29
94
334
92
94
462
470
193
474
171
196
296
475
202
310
312
142
121
65
130
162
359
36
464
402
417
132
83
133
366
381
269
208
83
280
282
240
320
195
372
150
242
251
322
169
69
37
270
436
107
9
86
297
92
179
76
118
261
327
450
46
260
196
10
220
422
330
448
229
468
126
206
312
228
287
425
111
116
390
349
4
309
325
283
310
357
270
195
230
367
328
429
434
57
136
17
89
420
14
95
34
300
246
390
471
343
282
25
202
223
226
206
223
308
95
495
492
104
421
196
202
7
255
447
37
28
293
305
172
97
158
249
158
475
372
2
173
117
326
482
325
459
148
109
381
224
214
257
139
261
275
379
394
305
329
164
126
393
426
476
395
357
329
7
341
221
464
194
424
467
466
176
357
395
141
265
458
169
378
481
44
458
165
226
358
252
384
448
477
104
292
306
78
120
303
354
360
255
497
11
249
25
170
355
308
407
77
371
210
418
67
459
422
13
14
290
109
330
298
311
338
266
75
364
83
453
181
212
271
292
52
204
145
39
106
59
269
79
148
166
13
204
110
47
417
333
264
25
13
365
346
333
270
274
282
49
73
165
457
275
8
88
128
54
134
224
159
240
461
276
265
99
474
135
301
205
394
434
244
315
381
257
28
434
389
36
6
450
220
212
137
301
485
480
178
241
101
37
79
162
119
281
52
497
215
307
346
457
285
165
93
343
260
240
456
43
74
377
295
435
115
433
320
252
398
338
438
480
349
398
116
477
436
198
195
17
302
471
352
207
448
497
301
102
271
444
78
462
377
408
36
411
383
90
310
242
102
121
460
247
200
59
389
341
398
383
412
338
97
341
167
179
33
194
397
196
427
230
319
468
266
493
250
155
241
353
311
425
237
202
479
83
73
179
242
466
72
117
424
173
30
483
83
417
384
364
40
79
462
134
273
477
290
328
244
270
107
7
143
303
108
46
428
280
143
476
471
341
35
215
170
189
126
170
13
149
264
256
324
414
449
152
158
89
301
150
87
420
426
104
139
66
178
254
302
277
340
336
48
200
154
141
315
395
141
261
383
155
369
457
486
479
160
348
349
481
282
42
387
83
166
327
21
149
492
54
190
75
114
80
74
168
22
448
379
327
223
486
375
131
268
396
261
202
471
277
210
247
497
184
332
420
307
110
243
279
97
116
140
37
499
151
167
242
374
215
281
68
488
219
304
73
16
371
355
476
369
404
237
392
95
369
445
442
137
103
232
438
41
374
224
156
401
455
33
292
122
226
126
442
188
49
198
66
202
500
473
213
392
17
471
305
363
364
307
18
128
219
428
261
245
491
385
79
425
178
167
175
319
294
398
170
167
340
297
52
73
98
434
96
479
247
186
192
165
229
469
243
308
413
491
100
128
59
300
171
467
149
89
396
232
353
432
380
168
395
61
48
241
274
19
369
441
444
356
191
66
36
264
90
376
131
185
26
355
395
500
3
411
384
184
429
410
137
321
379
413
48
306
247
267
86
412
26
259
182
368
100
429
394
140
70
374
399
491
253
149
333
122
380
397
74
226
104
300
42
185
452
376
161
145
299
170
400
32
380
46
242
238
385
23
226
333
493
408
50
208
440
374
464
122
34
113
453
5
139
210
422
171
486
395
467
441
105
175
136
452
141
76
223
26
40
339
96
290
323
119
424
451
363
483
189
59
316
234
59
367
300
269
15
324
201
28
353
386
226
177
452
440
273
138
15
280
339
10
400
263
277
464
288
126
322
227
174
146
190
446
385
46
241
188
152
235
7
340
225
388
296
296
318
292
147
60
216
205
144
255
343
302
187
29
24
177
429
443
26
215
297
271
310
337
232
268
250
158
489
31
149
227
365
5
265
475
344
498
155
39
493
18
392
113
392
263
446
110
152
394
65
209
205
323
28
389
272
352
483
214
94
153
242
115
343
191
14
377
35
496
8
424
392
432
408
145
340
402
7
98
463
132
276
189
417
192
349
140
416
228
493
54
488
214
452
489
268
131
375
424
17
474
123
123
407
284
249
461
348
197
430
370
94
86
137
247
405
167
410
188
78
389
36
8
115
70
247
408
230
28
6
14
438
319
335
380
441
238
169
94
436
290
169
9
321
51
50
362
323
92
499
187
453
362
274
249
384
465
162
56
415
387
218
463
209
465
45
283
66
431
423
156
175
400
18
491
488
356
343
299
32
327
187
239
444
276
373
489
482
190
146
389
214
302
28
305
114
326
229
57
289
318
372
54
338
438
422
408
335
336
407
442
286
300
88
255
309
290
60
251
350
303
447
11
186
460
299
86
66
60
323
84
480
324
447
377
92
462
253
352
87
392
269
190
425
119
356
11
183
92
344
204
168
366
425
494
249
210
143
382
388
497
79
434
82
76
52
493
386
134
335
135
378
391
112
220
108
128
24
92
110
43
127
231
35
492
447
446
134
47
8
402
213
490
200
374
467
423
147
1
343
327
331
486
333
153
253
268
220
450
376
88
26
454
495
177
447
58
283
356
184
284
171
322
349
83
451
388
99
128
209
198
200
290
82
432
20
247
86
37
213
255
115
85
3
130
7
402
93
30
427
387
297
231
471
398
111
352
44
184
426
219
500
24
48
41
360
436
220
252
478
56
121
209
2
265
97
450
72
437
149
249
447
7
104
495
136
401
220
109
91
167
436
405
411
130
268
357
165
393
423
132
289
324
375
10
413
158
216
103
125
232
154
339
41
12
41
53
483
408
123
34
243
267
89
29
375
213
360
258
440
272
426
244
80
263
161
304
440
79
128
8
126
104
221
368
159
290
400
68
218
391
181
22
157
318
265
376
106
352
482
287
387
262
170
339
394
191
143
484
175
321
397
149
419
348
137
231
167
314
285
213
235
457
257
203
217
79
384
85
243
61
137
318
488
380
429
150
403
460
498
22
145
430
255
99
373
222
99
138
399
38
292
350
174
323
8
427
455
46
246
28
30
414
495
274
340
8
73
228
496
379
390
26
119
216
106
189
11
319
282
428
251
236
37
370
341
300
353
320
379
379
99
206
416
55
280
138
286
212
500
218
243
324
358
396
61
229
262
431
333
134
451
28
489
307
224
63
222
129
385
116
144
498
111
174
399
157
190
32
412
291
296
123
259
347
406
440
363
403
15
86
36
196
349
43
263
7
189
173
9
86
295
448
375
4
126
477
230
104
82
14
396
441
83
63
429
83
355
293
489
497
293
181
214
141
277
258
58
228
208
436
236
471
108
421
440
115
493
442
106
372
46
69
355
362
427
231
450
285
337
153
114
347
41
125
357
120
118
231
458
214
169
381
409
279
487
389
375
437
450
481
493
484
178
317
325
83
287
18
127
376
55
310
199
186
237
213
229
494
125
91
467
422
396
84
43
51
165
217
59
185
90
311
122
369
401
238
5
62
278
69
116
169
190
94
316
260
106
194
60
427
118
398
468
55
265
367
178
198
278
460
133
499
157
64
161
142
188
88
260
181
174
335
307
196
473
223
332
359
148
79
300
434
256
316
90
468
453
221
459
325
81
304
333
311
380
190
222
477
134
87
379
43
430
408
286
369
1
70
225
266
304
436
188
428
299
413
189
379
66
63
497
212
314
276
307
150
217
35
350
267
324
167
123
312
377
265
424
255
13
167
281
285
312
210
445
157
496
100
369
199
189
359
100
439
410
87
239
350
142
163
272
479
197
328
419
236
57
25
421
162
318
286
137
272
390
408
174
104
183
111
490
177
438
45
376
45
145
87
84
1
109
205
245
471
170
237
214
332
121
89
58
304
239
211
465
383
452
263
27
230
231
113
175
403
226
3
498
106
318
278
131
54
399
149
215
284
238
476
271
106
209
120
409
175
41
490
176
311
8
110
140
59
469
473
421
295
351
452
361
460
398
326
340
1
221
168
376
329
206
247
347
56
9
370
17
440
488
211
40
106
152
261
441
478
264
440
332
328
98
165
441
433
340
105
451
182
181
273
36
299
490
327
350
441
493
92
219
14
379
18
403
382
418
465
7
276
5
491
364
337
492
432
343
486
56
296
132
213
453
160
61
186
173
129
327
241
373
105
149
78
370
58
498
6
96
377
105
480
355
184
456
5
335
237
302
210
228
283
282
471
376
142
277
313
327
387
88
280
289
286
278
288
66
413
128
266
44
474
176
456
315
40
210
473
393
110
178
218
409
426
378
122
105
118
411
277
213
338
499
438
329
210
30
343
451
305
51
234
220
307
19
430
444
367
4
154
500
34
459
262
262
105
232
308
18
209
383
102
187
314
181
384
261
237
302
420
296
443
293
98
322
424
102
446
447
17
14
97
134
242
438
481
409
431
383
52
194
262
278
156
8
455
5
392
209
288
396
275
37
200
55
47
73
410
21
45
215
242
378
164
94
140
158
32
250
234
317
342
120
410
283
282
189
120
361
428
189
2
350
27
259
362
161
360
481
460
452
255
233
125
82
373
199
8
147
399
146
5
344
386
310
184
110
136
205
195
111
71
89
296
452
337
274
78
423
17
289
319
236
72
200
172
267
115
159
129
402
381
368
323
221
333
191
200
404
92
284
55
468
409
9
469
129
373
309
76
76
162
211
434
64
159
53
449
125
370
392
251
5
175
73
97
340
165
23
495
459
104
320
279
228
202
193
337
384
190
405
19
17
267
334
253
97
17
260
22
20
455
120
227
226
461
189
76
96
120
182
280
193
332
206
64
343
403
322
417
364
69
213
493
370
172
70
333
125
481
68
213
228
220
426
336
61
102
63
230
223
277
355
148
14
430
345
435
24
462
450
97
294
486
450
473
391
65
39
9
74
304
269
11
248
179
214
66
384
243
195
244
407
412
480
193
52
452
234
210
128
53
106
7
136
244
251
370
55
135
29
162
48
286
268
268
385
487
11
266
293
15
210
6
433
433
420
54
485
102
472
478
275
391
422
69
33
20
441
30
355
125
484
487
213
211
221
428
491
444
295
323
88
256
136
220
496
429
295
489
176
122
81
99
341
304
499
403
433
233
296
127
203
303
496
453
327
426
127
199
33
2
273
422
19
15
404
246
302
390
257
138
410
117
25
289
389
164
283
356
161
185
70
282
247
425
305
263
297
431
87
161
237
161
97
438
164
343
159
299
313
106
6
233
74
58
73
476
385
359
240
48
452
313
174
75
407
335
99
209
147
408
120
318
377
1
163
448
206
154
8
473
10
432
106
223
64
191
213
31
435
426
328
32
406
260
306
70
470
338
342
88
410
195
95
234
114
195
211
487
69
77
100
98
449
472
189
352
472
105
364
184
259
239
476
115
328
68
334
151
445
316
178
299
65
177
163
500
128
286
197
311
442
36
14
428
453
138
219
59
290
272
86
193
99
440
421
62
204
338
455
106
436
423
235
490
20
357
417
310
438
78
373
21
36
194
183
401
188
378
33
224
363
83
196
228
50
324
278
196
465
354
125
227
367
70
189
222
232
44
496
6
270
291
195
276
427
420
198
470
432
432
197
139
242
371
62
131
431
339
482
437
76
31
219
10
286
433
284
302
68
226
417
165
322
29
419
173
351
477
484
48
426
145
36
86
496
11
179
207
491
178
167
130
330
82
190
166
220
56
373
87
404
202
499
288
67
368
45
379
229
202
337
473
137
120
438
2
327
365
56
489
177
415
459
470
44
90
225
293
446
79
186
120
372
57
71
405
304
405
245
410
220
315
215
402
191
469
12
305
481
114
136
315
359
416
460
21
426
416
221
349
420
307
444
34
45
35
13
393
3
126
176
427
285
48
241
158
110
368
396
370
478
333
31
66
111
283
141
312
190
216
497
332
234
10
103
324
101
479
336
460
138
133
88
317
182
372
309
267
387
93
199
218
168
480
499
333
398
410
477
95
198
325
30
72
11
202
124
146
159
342
160
337
22
89
474
152
33
135
115
448
70
216
54
476
477
148
313
210
376
92
6
221
337
112
279
26
236
310
81
453
356
72
94
242
131
190
158
229
1
59
469
180
139
42
295
172
220
92
40
312
329
277
55
386
279
157
477
338
41
378
4
460
70
32
402
94
328
121
105
36
355
174
248
141
437
386
3
179
498
490
106
66
396
234
456
342
337
232
271
188
442
299
51
52
496
79
499
4
218
212
249
192
297
33
190
205
61
264
39
428
17
499
179
442
63
109
25
366
281
72
14
176
463
179
12
236
78
429
90
378
118
241
491
133
417
267
43
30
283
256
101
316
399
294
128
86
400
4
189
214
378
337
425
433
391
300
105
332
69
237
390
370
338
202
44
211
315
397
286
142
283
242
475
342
59
189
96
56
128
434
310
369
61
329
437
217
479
92
196
141
8
324
232
369
146
189
310
223
141
307
56
406
436
406
219
495
258
409
164
306
354
455
315
223
500
130
414
191
183
117
495
174
55
385
219
280
300
5
103
337
229
468
468
406
39
317
159
146
395
377
272
477
411
31
28
272
338
305
311
430
419
414
12
460
446
222
484
177
230
67
57
316
222
17
479
406
201
217
170
63
322
162
23
33
408
322
53
225
23
337
248
471
398
388
413
374
414
361
386
381
361
97
34
404
93
154
68
210
463
360
95
83
291
300
309
46
466
253
406
422
228
455
190
79
405
381
488
396
322
418
386
323
397
312
252
266
124
466
408
377
44
85
40
285
419
46
112
244
352
202
407
38
387
163
221
204
244
27
224
227
118
78
99
57
421
437
117
473
169
98
130
61
262
384
120
33
193
233
413
294
169
479
413
229
94
100
428
427
407
192
189
198
3
253
418
446
63
79
91
309
75
138
467
365
383
493
91
280
349
201
314
150
444
415
10
228
257
55
200
476
394
146
326
82
412
11
126
350
249
122
300
455
443
385
159
324
333
337
252
122
475
165
127
91
50
2
351
210
407
268
312
79
492
320
145
250
13
331
432
400
452
182
123
358
236
416
381
447
500
462
61
25
300
330
299
420
339
336
60
79
183
126
337
248
342
290
193
118
278
186
276
249
228
375
183
227
38
303
441
395
410
330
221
107
411
232
395
250
486
158
461
320
412
154
194
450
384
265
202
315
104
243
421
282
300
58
222
5
313
37
180
346
361
92
96
172
380
214
274
366
237
254
142
60
443
95
208
159
294
323
280
168
118
395
287
93
441
174
359
377
402
19
362
233
6
20
434
375
8
213
69
450
354
350
340
464
318
439
122
434
7
130
475
454
36
114
216
119
99
74
446
493
316
193
306
288
93
130
227
20
450
245
7
99
290
469
249
167
468
388
177
382
437
136
127
356
94
20
25
144
450
448
311
48
495
486
12
215
442
103
123
148
58
257
145
309
41
135
418
210
145
422
476
8
218
407
260
443
437
296
100
160
478
219
33
251
288
363
82
86
384
397
122
310
329
58
371
284
126
176
160
456
154
250
268
49
94
10
390
170
284
3
305
403
310
204
226
161
353
31
421
192
197
222
140
211
337
88
300
332
222
384
153
361
286
312
129
267
207
434
429
161
204
440
167
37
379
441
233
279
384
244
399
383
439
381
41
222
304
6
72
468
286
336
199
470
377
324
58
315
87
405
173
257
403
56
355
161
5
488
482
431
453
327
340
261
82
290
333
335
34
405
96
18
459
195
236
314
420
445
163
497
228
385
14
41
35
371
68
433
44
11
277
116
434
143
111
56
400
77
408
195
221
112
136
273
12
436
142
449
273
84
313
485
4
144
236
25
428
220
411
247
256
480
370
359
393
326
1
258
103
126
18
381
123
177
255
332
147
465
255
192
455
340
396
198
263
168
111
130
12
332
491
277
384
134
233
55
246
253
242
432
76
21
203
402
255
405
105
432
14
242
37
175
23
495
323
286
235
68
151
319
441
75
317
293
273
197
110
185
143
347
24
294
211
491
67
105
474
159
71
378
475
97
82
324
26
42
87
380
430
96
12
217
46
480
477
176
231
486
361
320
286
110
406
16
448
195
99
186
178
217
497
368
486
471
344
258
65
16
43
171
129
265
279
491
487
384
93
62
338
347
107
144
342
431
54
282
398
253
373
378
249
456
122
395
365
133
154
426
152
463
23
397
268
341
174
366
393
103
236
435
37
202
234
418
111
485
496
88
307
81
26
121
162
432
179
255
346
226
135
106
153
488
417
472
443
82
358
401
391
132
100
395
137
210
79
453
278
306
193
294
461
207
499
173
430
476
7
316
54
485
237
30
106
434
354
37
21
43
412
308
281
104
33
278
2
391
414
442
482
135
425
104
497
7
194
64
368
461
475
719
733
584
499
409
380
619
426
443
759
535
726
742
466
448
372
548
781
374
392
592
520
713
710
747
540
741
409
498
442
530
570
594
346
686
438
519
645
669
620
631
334
427
606
627
356
455
699
353
620
698
483
700
486
311
785
359
447
594
383
580
606
573
710
575
745
340
631
700
352
380
669
692
430
481
783
579
307
503
309
529
783
671
445
332
418
462
684
536
735
354
345
589
547
796
348
351
778
696
374
794
772
353
413
491
704
660
420
397
520
683
511
575
751
536
547
499
594
686
649
677
511
783
610
780
653
589
317
766
317
568
688
318
605
379
748
303
455
531
697
773
659
459
466
454
536
595
705
588
487
740
375
771
359
484
598
641
542
497
642
792
612
309
345
478
333
599
516
350
634
430
768
737
346
510
670
372
711
440
793
448
476
410
708
364
570
650
730
690
760
339
505
571
563
544
519
740
573
382
510
580
342
438
339
738
560
386
375
734
511
371
629
575
445
370
759
306
660
679
491
777
599
366
381
400
607
699
636
791
693
308
501
310
402
545
797
314
453
475
523
569
496
424
522
772
422
447
336
678
311
515
605
771
524
664
560
780
777
416
388
526
757
622
357
331
701
347
437
695
632
327
587
637
538
583
475
365
349
667
582
745
368
383
399
468
507
791
347
703
328
728
427
691
668
537
452
636
588
425
744
436
338
725
716
757
641
330
700
432
651
461
646
612
706
710
502
397
410
724
643
714
321
647
699
562
408
743
416
634
549
535
540
785
581
645
746
305
559
423
544
334
670
673
569
399
679
732
494
603
576
478
481
474
537
759
518
522
750
559
666
689
434
456
414
307
431
489
536
457
516
478
710
483
415
710
469
321
477
768
627
564
687
574
401
605
547
475
482
656
773
498
539
688
448
416
538
483
764
653
690
314
456
770
436
443
424
726
419
357
498
664
520
606
589
669
300
756
665
554
641
507
637
496
437
663
733
671
745
355
428
646
312
327
418
389
663
746
676
502
641
789
421
686
675
674
403
777
385
499
533
491
755
628
653
553
349
698
675
644
506
339
570
312
669
797
419
309
422
302
385
561
630
571
784
315
668
369
322
666
330
418
332
734
311
507
324
516
621
648
313
502
426
626
700
568
385
707
741
330
517
542
329
736
605
345
507
750
728
614
711
336
536
767
401
481
642
539
762
326
358
611
484
760
610
756
606
511
559
380
669
716
591
345
332
503
379
519
427
533
713
767
633
684
367
582
690
548
514
643
500
339
309
750
562
588
580
481
780
791
384
452
698
652
538
765
752
722
314
494
536
673
449
425
450
720
470
631
424
359
598
423
440
664
650
606
419
402
305
609
456
372
451
693
430
680
561
764
384
442
461
693
463
632
519
686
591
756
318
545
558
449
671
707
759
554
508
758
768
390
511
605
635
762
319
604
625
448
536
727
395
326
475
781
652
788
355
766
354
636
602
786
461
652
410
372
621
307
359
716
686
589
378
416
742
664
506
422
781
442
791
529
380
404
798
384
329
528
571
420
697
432
333
313
641
744
456
360
390
751
437
409
535
382
500
583
766
613
744
352
563
777
435
588
470
444
566
765
616
312
609
428
514
437
551
571
446
557
541
401
654
690
491
696
586
308
513
554
515
488
404
705
769
701
637
495
333
655
514
531
701
383
576
605
655
599
746
430
304
796
654
457
715
474
595
677
745
787
437
795
628
544
455
559
427
702
649
611
675
512
441
502
420
675
685
689
446
792
381
451
446
546
768
649
425
773
769
770
522
660
469
326
436
553
329
540
625
789
300
775
440
390
561
644
627
607
629
452
442
523
611
609
414
787
332
614
475
464
667
640
340
640
496
355
589
474
796
619
499
386
769
691
477
600
751
384
723
387
549
715
694
439
641
575
784
795
626
625
785
727
575
618
568
328
775
546
780
742
539
565
492
672
520
453
658
715
403
525
740
631
448
318
715
797
759
452
717
317
323
379
572
496
725
682
421
657
629
390
478
792
722
616
698
498
566
735
476
553
412
767
319
763
431
771
759
497
735
366
447
665
444
795
304
642
428
490
325
362
761
475
511
760
738
605
521
524
371
367
334
702
542
314
512
516
661
580
510
542
694
453
331
535
532
470
574
489
756
709
394
420
374
350
423
638
480
781
435
434
567
588
325
456
645
656
446
415
636
758
597
339
570
472
365
766
424
437
327
576
306
603
376
754
393
795
407
590
513
309
753
605
355
421
674
518
314
595
341
383
662
301
769
684
795
588
748
340
544
537
561
475
505
722
703
373
483
655
771
517
303
779
542
610
418
508
460
653
576
742
636
331
426
547
402
788
562
732
421
302
764
354
590
398
497
332
781
590
431
394
495
745
572
325
542
689
307
758
479
586
793
792
441
624
513
511
411
300
330
692
664
667
542
532
790
336
341
436
353
623
584
641
547
724
456
308
724
544
576
745
384
341
388
698
391
767
739
629
485
346
413
477
364
508
383
373
414
468
774
520
384
781
387
491
308
356
318
318
340
335
623
435
734
590
469
668
541
463
705
727
493
533
781
684
652
800
557
353
390
387
505
697
752
317
453
569
504
579
328
509
628
781
317
375
789
698
563
568
419
428
677
599
447
776
730
396
451
641
681
406
685
585
644
782
701
324
792
799
722
565
720
772
507
442
792
726
745
770
506
611
649
539
667
614
653
798
486
319
606
778
762
338
402
498
608
494
372
323
538
718
464
459
322
431
669
606
547
754
456
368
407
475
689
751
589
663
659
466
695
456
715
508
624
584
689
300
405
415
338
641
557
495
795
709
743
360
682
630
727
684
333
543
565
477
397
349
380
387
383
313
585
517
520
351
319
784
621
542
713
499
467
725
358
747
730
676
336
310
456
588
424
486
751
469
410
624
515
718
701
490
316
372
785
382
508
362
378
456
700
758
752
372
772
742
604
784
497
354
343
659
496
425
444
543
357
432
433
762
662
705
560
335
622
702
790
769
318
489
576
544
744
414
747
697
359
633
667
421
552
382
784
418
520
406
570
489
663
677
395
358
766
736
564
367
569
505
584
723
367
543
525
739
693
358
703
528
626
430
327
484
441
622
542
619
332
527
784
430
772
563
476
336
774
536
350
605
634
640
452
317
764
471
790
710
328
330
702
302
521
548
457
357
429
310
445
475
348
783
784
353
652
378
754
573
557
342
326
661
414
505
631
683
705
495
326
627
330
731
346
762
571
329
389
720
714
556
791
403
367
611
666
381
527
450
367
469
794
491
659
598
474
325
460
454
408
785
678
566
583
471
658
774
741
551
513
352
435
580
364
610
487
440
647
519
329
386
730
386
586
722
788
596
723
516
344
581
788
539
794
440
763
536
397
613
511
473
541
375
496
363
657
749
750
703
722
430
515
386
440
442
320
368
717
394
763
758
447
317
632
564
535
628
699
676
611
349
590
797
525
527
654
783
319
398
461
397
374
767
433
444
516
661
718
771
796
346
506
362
493
549
553
764
597
301
758
795
555
490
319
458
523
413
498
389
320
651
499
642
682
748
581
349
798
720
658
569
530
491
508
595
530
308
707
630
642
754
505
697
630
431
707
316
779
776
373
672
601
461
747
550
512
773
373
334
427
574
673
479
433
446
558
558
514
363
474
672
767
651
387
568
684
699
415
412
793
474
481
470
644
391
301
559
594
595
340
771
764
662
492
415
587
378
757
781
662
529
466
555
519
790
686
528
312
751
631
645
402
771
652
390
350
615
308
593
690
466
327
514
608
750
742
640
795
499
607
358
346
527
481
693
705
302
764
433
551
528
381
762
781
792
564
573
535
317
554
703
628
614
584
305
634
578
430
489
412
401
553
545
510
563
508
566
475
563
553
519
799
623
727
754
412
551
642
767
729
343
704
745
440
710
671
564
342
446
355
611
540
449
575
397
621
467
464
719
513
338
358
512
635
648
663
578
497
670
355
734
636
494
769
322
640
395
460
726
752
318
310
305
403
450
452
401
652
796
718
748
699
642
640
337
622
752
389
786
593
392
507
430
364
333
745
769
314
794
457
490
629
592
431
372
551
691
609
614
624
752
327
713
648
795
615
573
739
325
794
724
672
538
634
326
320
628
493
353
365
370
494
597
390
697
355
546
777
457
607
527
358
557
602
556
464
709
598
466
584
347
315
632
424
779
405
711
641
562
739
329
333
483
459
778
359
322
540
437
357
706
716
500
359
395
348
653
623
408
395
708
417
690
742
321
468
558
375
649
765
326
598
415
612
787
414
498
430
472
364
338
760
702
408
630
640
575
692
667
333
462
431
779
735
550
635
525
570
395
511
407
550
469
498
649
733
370
511
315
794
395
407
521
655
791
665
425
396
731
609
502
509
703
460
791
462
335
753
784
759
786
797
561
552
653
322
392
559
709
529
348
633
372
748
378
408
680
702
445
414
756
506
595
732
338
741
412
384
432
778
506
700
725
620
800
575
658
474
481
529
331
701
335
336
364
700
576
384
321
505
746
551
302
755
514
797
599
788
526
719
454
311
633
716
648
497
674
630
771
671
792
344
365
692
521
702
723
327
579
706
554
548
506
445
732
562
670
542
799
594
475
433
308
707
643
339
663
555
530
676
696
401
397
402
742
587
694
401
596
630
360
607
615
579
753
595
383
775
346
503
631
442
548
690
563
626
429
470
752
391
381
533
608
360
450
729
543
547
505
420
586
505
313
722
639
308
484
352
798
736
303
551
428
417
792
781
339
709
587
326
490
399
759
306
697
788
376
380
531
736
712
308
602
396
562
464
560
424
662
574
762
636
739
409
668
765
328
716
763
457
474
799
738
732
432
725
627
310
786
574
541
622
673
585
751
453
705
349
713
793
348
698
319
384
301
404
611
707
731
524
468
734
473
530
363
514
412
767
483
681
468
337
310
597
563
515
654
643
759
418
602
428
438
416
591
460
489
557
515
603
665
467
599
725
572
427
431
402
562
693
627
488
602
348
440
448
558
766
527
371
479
584
636
706
327
363
538
571
787
682
725
561
335
728
674
535
574
670
660
657
721
349
303
300
770
316
783
646
740
664
739
531
427
591
507
562
402
332
582
510
516
584
781
388
449
748
680
457
395
357
604
564
706
398
383
776
727
764
693
761
487
374
341
339
631
642
547
682
704
768
627
337
381
500
705
768
506
779
515
412
546
690
358
374
321
312
621
433
704
651
745
394
574
410
328
585
761
396
470
700
434
311
467
749
471
378
307
744
545
605
417
795
369
516
740
335
507
528
565
666
704
641
767
782
758
302
651
682
401
374
350
363
392
361
590
540
738
429
382
458
529
749
503
731
508
679
482
732
449
400
454
408
615
414
379
403
575
611
683
615
317
487
743
469
717
423
325
467
405
508
696
433
675
771
531
784
638
471
657
553
396
789
513
782
783
419
340
761
377
354
684
441
329
734
529
529
349
722
714
497
615
744
386
581
384
635
784
764
641
379
625
363
650
699
530
653
431
655
380
658
571
775
742
450
453
504
633
681
786
403
664
692
506
522
362
581
414
385
402
777
591
455
429
590
737
555
533
683
505
408
353
646
365
762
456
378
351
322
766
329
546
679
341
704
777
713
639
412
624
621
627
356
386
722
765
785
330
781
764
772
641
730
377
738
681
616
577
502
339
419
751
564
428
598
611
694
414
503
672
513
466
312
711
603
718
703
608
483
519
777
777
756
313
658
555
514
621
740
654
314
459
507
627
528
499
521
696
343
690
461
622
653
317
399
490
641
681
723
417
342
625
423
787
735
575
665
662
777
318
396
644
599
548
649
368
326
350
684
396
790
310
472
375
607
526
493
651
576
475
610
518
366
374
501
682
665
502
599
671
578
603
640
776
517
449
563
323
614
350
753
525
643
310
646
738
339
573
338
375
308
511
646
560
657
569
387
782
586
740
357
756
531
551
344
357
673
420
769
323
505
425
460
395
708
618
348
626
730
437
646
457
551
797
681
374
741
411
671
728
346
721
782
613
777
329
372
617
646
695
679
492
661
541
694
796
505
642
446
460
798
587
430
773
724
547
750
428
432
314
517
659
484
753
320
523
470
719
618
719
749
514
517
724
655
518
468
746
519
719
702
788
487
662
725
495
556
574
573
688
526
349
750
493
341
785
638
488
659
657
421
566
529
517
467
351
316
518
333
733
730
390
605
575
430
536
552
646
315
323
599
563
780
446
387
514
574
785
502
589
449
681
606
523
727
387
612
741
579
357
652
762
630
512
601
308
786
582
503
401
479
776
668
758
702
725
659
540
675
550
599
685
567
681
411
449
735
344
599
605
304
516
563
620
531
677
791
699
550
782
330
738
800
720
686
713
397
330
513
412
621
620
407
581
690
550
770
363
756
647
643
685
380
708
339
435
588
522
741
690
694
584
672
307
309
343
478
705
485
398
781
332
793
627
736
525
422
632
493
450
721
438
702
711
515
654
665
470
631
798
783
633
777
600
510
688
459
777
356
531
534
782
650
732
514
745
797
688
320
308
306
695
647
346
768
428
580
394
550
716
697
588
412
707
633
743
517
350
713
648
370
594
353
642
762
515
595
596
492
472
532
395
536
586
772
695
340
434
640
334
667
457
644
556
698
779
771
779
666
731
751
585
553
588
782
560
619
580
785
742
685
524
739
685
628
731
361
687
474
345
789
579
586
386
696
334
510
757
622
533
421
531
651
773
324
584
593
770
633
461
721
610
459
386
483
791
622
752
535
741
560
722
393
720
445
443
308
664
787
365
492
490
746
653
435
429
382
698
656
653
715
753
731
788
389
550
520
376
393
632
303
518
397
620
441
429
469
467
751
723
357
715
593
361
408
333
315
345
780
675
442
354
513
648
706
499
484
384
584
708
634
567
586
607
745
629
518
507
462
555
490
430
303
478
303
477
378
393
321
576
473
556
786
400
432
767
553
669
690
305
406
570
607
518
439
670
702
307
616
760
656
730
774
429
623
393
500
688
761
470
634
458
792
499
770
472
331
601
681
714
312
715
399
520
620
792
566
462
777
578
378
523
756
584
535
558
431
650
360
573
792
620
786
796
410
691
351
394
723
724
359
387
738
483
351
514
790
787
462
588
796
768
624
316
348
471
516
500
495
792
505
669
693
632
584
350
728
668
344
794
408
393
607
343
574
717
541
591
500
557
650
389
517
657
595
630
528
424
660
441
757
795
591
509
509
694
627
755
737
720
653
728
367
433
436
309
330
772
610
697
692
757
527
779
318
358
452
321
597
632
767
604
725
414
740
404
601
581
561
720
564
454
386
724
331
460
622
415
797
349
584
569
313
659
552
752
348
748
513
440
523
608
662
589
336
666
708
311
621
646
698
692
504
436
686
543
611
669
608
656
703
549
681
767
599
344
548
568
486
724
494
603
706
719
343
325
443
392
593
697
609
566
574
538
456
514
706
601
364
469
407
527
783
530
752
751
787
402
602
613
781
471
464
594
742
370
693
318
784
644
561
477
625
474
405
417
387
436
307
378
624
674
398
520
429
361
514
341
653
344
564
686
702
378
600
769
498
545
380
778
301
690
348
684
692
513
741
704
405
687
643
713
478
773
631
794
483
508
425
768
724
776
644
711
356
411
354
626
698
795
348
520
467
589
788
496
573
539
472
603
378
583
464
348
557
525
756
718
596
725
572
569
552
495
395
642
773
626
704
484
325
527
475
529
442
604
359
728
594
557
595
528
698
603
318
366
394
392
472
342
749
594
479
578
441
665
489
504
649
692
303
330
746
523
572
751
739
743
769
672
523
476
534
437
775
751
723
620
607
774
351
709
565
497
672
784
480
351
404
673
666
509
476
502
450
779
335
334
500
326
548
408
565
637
479
475
464
600
459
797
451
595
677
380
586
675
662
507
521
413
419
763
783
344
602
518
721
773
350
361
483
470
670
736
573
427
554
523
480
413
619
722
687
430
669
546
527
547
417
717
443
748
509
512
324
590
584
302
700
570
550
707
689
334
714
794
685
383
467
542
483
445
764
338
314
763
698
582
528
797
789
387
395
406
531
761
305
747
738
521
632
649
499
716
466
534
516
309
431
635
529
638
638
535
572
636
638
487
674
687
387
751
663
523
577
546
328
707
558
556
480
541
719
523
374
489
703
325
402
555
713
594
620
374
610
652
610
482
446
585
391
762
529
549
776
467
463
745
623
737
336
363
468
799
692
313
756
710
785
694
364
657
569
768
532
551
549
754
344
480
507
769
300
570
455
541
570
610
339
703
573
510
736
607
519
769
740
432
365
582
399
721
599
632
765
496
541
507
472
565
785
662
439
307
766
399
683
541
430
656
535
480
633
683
314
307
480
336
383
420
401
592
329
364
495
504
684
629
553
374
422
419
595
737
645
331
469
533
431
772
457
780
715
677
301
568
552
424
637
773
463
381
537
631
347
740
462
689
307
592
516
622
753
540
590
423
379
549
313
433
765
669
621
331
347
387
434
468
519
715
325
618
590
379
753
372
601
349
462
665
465
391
404
512
685
392
717
557
607
698
459
527
753
643
722
704
761
591
456
698
348
707
330
428
454
388
374
355
626
531
640
424
461
545
443
396
771
680
675
602
775
419
637
406
580
438
709
718
369
329
629
748
441
681
466
656
572
454
418
516
310
621
663
741
437
654
437
393
596
451
495
360
364
620
564
664
441
691
316
692
713
529
727
437
739
759
721
652
407
677
386
663
743
352
391
415
372
418
320
656
643
610
517
366
326
725
647
395
359
363
565
537
695
421
475
427
692
754
583
577
455
640
392
461
551
673
762
382
340
308
575
790
428
737
589
504
594
445
562
557
553
594
798
767
381
571
468
708
574
637
659
394
408
690
713
306
580
594
517
527
377
670
337
588
745
608
652
769
713
446
322
523
735
435
387
525
735
754
559
731
733
496
487
795
565
369
691
466
556
676
633
351
605
722
410
682
469
763
308
526
772
506
516
725
691
532
424
568
400
706
699
747
436
374
651
447
313
475
304
384
401
323
604
385
497
759
719
761
725
508
505
651
735
328
774
510
538
637
351
474
712
446
324
535
660
354
568
704
581
534
328
483
718
706
656
408
619
732
615
439
322
491
718
685
311
604
629
319
548
616
584
323
736
760
627
615
717
759
602
329
657
355
682
387
699
699
340
682
510
538
686
466
352
440
760
594
479
730
641
322
616
769
300
604
495
726
405
302
324
602
321
482
709
557
339
634
726
524
797
751
558
695
644
573
526
730
548
572
544
523
640
407
553
630
511
600
303
666
779
534
758
665
608
712
646
393
719
561
587
370
386
501
529
466
447
635
672
367
798
429
342
334
512
346
773
603
758
738
471
373
758
793
476
321
668
677
470
543
349
706
716
692
764
527
538
620
780
532
740
561
659
779
501
652
317
577
559
574
349
407
635
530
409
763
793
472
341
417
446
469
525
333
737
774
551
506
462
390
756
525
707
447
725
316
574
387
465
401
468
593
752
789
490
412
365
623
766
733
613
343
517
478
744
761
531
714
467
405
316
328
725
589
733
382
329
383
743
620
745
574
329
543
488
587
593
512
483
550
446
763
438
500
543
362
623
800
660
673
796
401
498
614
553
774
736
700
405
390
649
521
615
545
607
387
455
326
366
695
769
359
523
306
450
549
775
743
617
501
509
772
558
693
575
470
507
508
449
717
619
495
778
771
410
305
618
391
496
776
654
789
497
385
588
374
530
336
663
456
686
765
546
542
788
472
392
320
628
712
643
739
617
445
472
616
502
457
385
420
635
688
460
466
617
449
350
688
518
618
390
448
543
496
334
504
757
553
742
305
692
305
615
339
509
365
767
449
646
595
550
475
588
428
524
789
555
595
429
464
761
604
752
440
338
627
634
780
531
686
350
771
397
545
302
572
729
479
347
759
543
645
455
549
412
654
552
549
330
681
569
720
301
489
744
577
423
694
738
367
758
744
401
601
671
790
431
504
633
302
562
351
575
302
788
711
432
392
538
780
315
705
498
433
418
743
523
385
546
533
436
687
782
362
689
325
697
792
300
442
713
490
318
471
527
667
632
770
580
684
774
313
799
741
672
722
566
631
787
434
635
502
704
783
456
446
741
535
769
693
317
693
312
414
540
414
681
459
315
679
492
326
639
503
713
645
642
379
615
788
312
334
769
369
498
797
319
393
350
545
417
316
458
770
702
644
517
794
452
467
440
739
506
735
385
731
643
567
613
647
312
740
664
415
721
430
541
618
460
397
584
450
611
607
712
677
655
651
522
304
633
772
723
557
456
642
669
610
760
770
589
637
506
739
513
496
462
319
472
511
731
522
431
332
438
678
678
608
383
447
367
398
646
755
710
591
572
629
582
704
542
755
441
730
560
539
680
339
448
550
730
469
432
323
709
419
388
470
442
689
719
409
721
446
713
626
354
620
458
790
459
432
658
420
604
609
603
495
530
454
646
723
783
530
303
469
563
387
627
777
329
707
419
542
575
543
474
689
716
359
432
455
383
508
639
303
432
768
663
605
307
579
608
760
613
774
756
714
512
599
609
383
415
338
468
456
530
602
799
698
737
766
638
573
756
549
717
322
414
421
390
358
600
743
497
502
552
614
687
322
331
497
410
563
468
365
476
762
437
547
323
382
426
667
592
597
563
490
718
645
585
648
458
540
756
533
691
618
360
702
739
372
712
671
450
464
356
399
339
670
372
549
637
614
342
402
722
579
682
662
342
773
488
398
749
590
638
688
556
637
394
398
412
515
777
360
639
568
376
344
771
778
721
381
707
467
516
751
303
510
413
391
754
505
407
505
489
420
373
380
338
492
536
385
642
322
365
329
419
554
354
368
304
572
344
544
462
669
644
366
707
606
781
556
580
400
597
575
684
538
412
588
445
737
476
786
436
378
434
488
774
492
371
606
456
312
348
532
363
720
723
540
751
601
315
668
706
572
776
623
748
604
595
409
363
756
454
722
766
722
705
586
567
444
757
618
564
697
434
350
391
367
487
418
348
712
618
605
724
753
441
557
646
327
774
696
442
386
670
370
762
736
455
427
401
364
734
347
567
381
385
686
483
765
752
574
566
404
627
680
678
467
601
705
784
541
698
664
592
561
349
696
370
652
541
649
523
693
328
331
486
512
314
580
422
758
552
533
433
782
440
585
489
424
628
410
627
600
449
779
334
327
758
697
381
553
798
525
529
736
661
377
776
645
367
491
436
312
490
672
412
316
600
411
377
548
542
673
331
457
387
403
761
421
621
562
367
666
459
337
587
488
509
784
674
649
662
365
705
352
582
526
650
431
402
317
757
744
644
379
346
583
403
713
358
695
704
344
517
685
438
516
471
484
529
762
443
523
662
609
369
480
561
746
612
415
672
507
365
510
569
791
773
302
430
602
473
357
616
560
615
419
354
340
635
345
713
396
545
689
327
313
661
346
711
726
506
718
597
358
352
557
708
667
480
463
761
656
430
568
469
539
427
401
454
672
536
376
508
566
765
675
408
361
573
426
641
350
344
560
504
373
387
794
555
606
664
794
608
550
485
346
518
451
746
378
761
508
587
332
453
395
748
302
549
554
625
655
334
454
547
418
673
514
676
784
392
788
721
322
773
557
471
579
422
350
791
740
624
776
772
491
440
408
710
499
518
641
431
529
392
601
668
581
628
610
781
584
689
437
548
504
489
476
523
592
743
616
581
574
747
487
696
647
518
746
626
379
488
320
597
756
555
601
665
600
471
414
604
313
317
443
641
388
644
672
749
589
787
449
370
421
606
377
533
420
313
300
767
699
479
431
680
650
421
617
581
519
644
465
405
335
469
689
630
765
480
514
702
619
695
725
580
409
365
387
387
470
477
424
767
551
307
613
184
181
68
371
243
457
427
249
244
83
268
113
397
5
197
485
6
372
120
181
424
348
478
221
91
350
276
176
390
448
362
287
427
249
288
219
204
171
469
122
156
459
494
270
464
325
95
69
457
325
381
18
62
306
124
315
263
305
381
389
202
265
20
468
195
171
140
327
32
445
128
48
410
142
414
320
382
245
187
356
168
66
62
497
57
105
430
230
289
336
54
320
463
314
236
118
438
179
194
98
458
423
193
424
244
11
253
219
3
94
159
366
354
9
2
206
308
455
63
157
19
356
412
150
46
125
436
317
30
55
201
353
339
169
88
151
140
190
306
238
72
120
61
156
245
80
325
40
291
158
385
228
179
16
109
151
330
263
149
41
321
258
294
260
94
375
345
144
336
160
238
469
473
195
198
28
449
423
4
228
215
415
14
12
264
52
11
191
332
19
435
287
1
237
147
450
36
385
280
355
495
20
167
130
137
211
21
316
172
432
77
134
144
130
423
263
61
397
194
337
144
215
166
25
428
426
198
276
300
454
104
276
48
267
379
447
233
451
384
383
7
306
247
169
117
124
432
295
304
66
328
274
380
70
333
57
213
313
231
230
203
420
2
63
265
387
229
69
12
469
449
420
102
350
155
338
331
147
264
247
276
464
275
297
499
384
133
102
135
233
36
59
53
433
198
477
185
303
190
187
458
68
257
154
341
166
195
73
221
27
233
67
69
18
202
328
7
344
114
437
12
14
319
104
405
479
432
292
376
273
317
126
485
235
244
38
172
294
374
481
144
134
17
451
351
233
302
260
212
67
284
452
179
261
371
421
143
196
372
290
58
429
114
274
110
423
322
277
147
469
276
199
127
487
165
491
301
367
145
20
403
194
98
76
339
65
384
33
432
189
193
158
10
87
153
406
120
37
266
316
351
15
309
343
163
394
61
136
189
35
81
414
212
251
318
26
86
302
275
9
84
234
300
324
70
500
183
187
236
303
497
425
390
29
378
340
459
418
388
4
22
478
122
339
78
131
278
341
467
449
179
185
130
175
45
500
245
500
214
116
221
226
95
490
73
50
46
159
48
485
231
165
192
362
74
230
230
426
178
365
486
482
128
44
330
332
348
6
47
265
341
63
5
310
484
54
465
286
238
251
1
109
262
62
491
447
55
12
467
80
196
30
207
499
491
7
293
281
372
307
296
486
325
370
320
103
259
214
364
66
316
37
391
267
65
219
175
420
4
201
73
161
167
248
65
46
182
225
251
294
46
382
196
48
72
273
295
181
38
308
407
342
54
405
414
243
252
429
492
377
81
357
458
281
278
331
474
283
256
268
319
466
490
402
327
421
425
282
226
135
355
329
351
272
479
27
221
113
362
474
314
143
215
79
199
99
38
372
149
409
314
146
266
451
28
189
317
417
104
158
408
23
215
222
382
327
316
190
192
449
148
339
177
145
177
111
11
365
66
130
286
460
433
99
447
263
424
195
23
346
46
40
277
148
357
82
62
88
44
59
232
123
106
45
186
483
459
491
399
205
144
345
37
77
374
76
159
308
441
42
239
395
102
78
274
249
323
417
417
81
71
133
153
35
392
79
119
498
142
337
62
289
286
113
146
311
445
453
66
32
480
3
422
401
496
89
479
363
271
11
357
229
357
250
26
365
410
493
441
142
40
210
458
439
245
426
461
55
64
2
282
336
389
327
200
306
212
321
83
195
230
180
217
201
95
131
476
268
267
263
384
385
255
201
79
380
461
16
51
8
369
434
334
260
352
169
317
154
271
373
22
31
208
41
12
408
63
167
198
358
144
442
172
434
463
183
402
324
198
144
342
358
311
230
136
240
340
357
58
108
120
386
334
172
308
224
460
131
432
348
456
345
361
240
266
138
382
404
474
447
39
260
15
114
466
429
72
384
366
259
413
416
211
287
244
438
416
199
420
297
119
195
160
342
322
203
4
403
102
35
40
245
69
174
270
239
23
248
63
20
131
447
103
462
65
309
27
117
10
445
163
294
126
119
227
474
418
402
67
180
42
309
300
298
392
405
403
89
89
359
245
207
264
353
45
396
236
100
380
304
423
474
291
87
368
237
112
291
50
425
188
346
143
422
1
98
356
373
295
321
124
217
101
171
344
390
93
195
386
272
190
465
318
410
339
455
309
473
184
390
438
500
473
128
212
173
279
432
469
279
224
467
432
427
431
10
125
77
17
281
271
284
143
179
205
469
443
39
234
407
74
499
182
95
428
471
405
355
220
2
442
129
227
410
2
205
384
370
456
61
427
393
258
61
299
385
430
444
270
378
442
62
292
358
149
450
455
470
50
303
69
478
60
349
41
122
181
363
44
237
265
204
497
328
414
54
151
448
154
382
174
272
29
142
442
70
353
106
188
429
12
235
416
390
415
477
196
243
313
188
194
496
428
274
169
333
50
336
130
457
65
30
370
362
19
357
165
101
172
158
409
249
285
281
281
60
243
471
185
275
267
436
455
75
397
225
29
212
43
379
481
26
106
274
414
175
61
41
197
186
399
490
396
209
304
293
167
429
111
222
185
223
402
221
426
142
23
242
199
54
447
178
356
100
63
482
370
284
362
111
17
296
37
198
351
70
266
272
215
113
153
495
50
345
302
269
352
377
291
418
401
147
137
398
330
219
98
140
442
132
118
334
77
464
128
102
280
47
69
210
36
196
219
376
318
304
131
320
256
16
485
376
297
73
193
379
255
319
244
165
446
287
274
115
62
215
362
226
322
252
316
283
243
374
9
183
327
425
310
192
191
211
320
240
185
55
428
200
476
296
364
146
450
50
308
450
320
151
448
35
192
326
335
30
140
275
125
306
407
47
74
347
105
421
422
66
436
170
121
110
213
158
308
294
494
373
267
246
30
97
42
228
348
160
19
52
182
75
273
291
69
402
483
413
320
252
149
338
226
160
144
269
33
440
422
261
35
266
16
20
453
357
280
236
29
335
74
340
45
493
459
57
172
223
130
468
103
282
66
449
74
424
18
244
141
120
427
383
23
3
101
252
4
119
453
449
139
386
490
220
350
495
380
316
102
17
89
262
312
13
485
389
58
395
481
436
232
176
95
48
247
100
361
413
264
275
302
227
414
434
23
477
456
459
315
117
262
97
130
71
199
263
425
372
37
496
351
289
391
246
82
160
215
408
312
212
108
440
175
328
313
49
396
458
8
150
39
98
323
458
201
81
57
465
60
13
223
404
468
450
237
56
215
300
299
231
330
360
273
392
340
5
54
282
209
85
50
121
11
357
499
265
433
442
98
299
72
388
484
318
294
144
171
467
103
147
480
438
152
355
414
349
16
451
420
10
134
459
445
262
28
188
381
389
481
130
481
185
2
321
8
386
19
159
368
111
178
453
440
228
325
223
116
177
432
1
455
480
95
327
370
274
394
33
229
350
160
106
483
451
117
80
351
105
122
454
21
192
356
54
152
173
182
44
210
430
209
103
47
493
497
130
496
5
468
391
291
221
183
178
255
5
343
306
437
18
128
254
386
366
116
358
241
6
57
439
397
322
248
485
336
83
287
476
155
243
420
51
479
21
100
486
485
111
382
346
54
78
28
243
462
153
456
21
369
458
328
68
232
235
404
51
310
269
70
225
401
27
260
139
57
22
370
21
187
388
159
175
134
120
38
224
93
261
334
24
446
274
362
63
100
102
183
105
77
12
496
264
247
175
437
433
445
213
293
416
438
30
490
339
105
444
82
442
440
53
255
453
130
89
64
155
53
479
251
120
437
163
263
153
296
62
267
171
147
409
182
434
465
91
458
454
99
11
108
69
335
135
6
450
231
20
93
497
358
446
98
479
315
131
126
386
145
83
493
467
423
471
140
269
313
500
305
82
196
444
77
444
397
149
461
430
15
26
233
232
44
390
120
210
137
58
190
33
449
411
25
236
197
426
327
38
165
382
201
196
432
392
372
40
182
32
182
45
24
335
288
93
150
469
331
249
152
295
454
419
294
75
333
447
413
347
368
4
447
207
223
489
28
10
314
416
351
369
334
107
16
144
459
268
384
118
45
432
208
24
226
343
76
1
66
130
15
225
281
17
375
412
46
120
490
282
18
421
312
270
157
249
497
468
152
421
192
16
319
391
489
313
350
462
204
422
287
42
135
360
372
410
210
433
264
281
123
485
116
419
440
308
278
65
374
476
242
59
407
217
325
307
420
50
411
276
253
334
190
184
349
453
105
102
27
318
367
84
487
374
268
2
108
43
410
217
414
83
346
387
347
371
399
210
59
444
436
84
380
449
5
223
49
483
342
238
3
294
188
61
39
166
146
101
215
195
474
180
83
249
394
96
316
327
196
74
167
447
281
331
205
163
465
187
476
371
113
322
438
471
263
452
277
296
451
325
362
431
251
10
40
79
433
275
9
473
225
170
225
1
218
121
99
91
202
488
456
16
293
66
159
308
228
494
39
381
194
341
172
97
32
443
20
488
15
476
227
189
262
474
63
160
148
45
391
123
83
434
86
62
315
69
483
144
342
402
479
139
240
134
110
92
76
416
457
233
313
102
334
159
15
102
47
228
126
408
472
314
270
130
486
98
405
344
405
409
322
299
498
169
71
216
116
211
66
215
106
377
290
183
45
143
376
327
67
236
200
150
322
283
73
122
257
23
221
410
497
141
172
47
229
48
153
7
8
472
391
462
267
488
178
328
184
349
492
327
201
464
323
462
198
27
57
236
121
466
439
308
185
493
416
14
295
483
461
170
213
153
259
16
216
147
157
44
232
264
4
228
11
17
70
329
124
399
385
39
308
402
441
278
74
341
329
190
487
423
180
265
29
179
493
305
377
273
324
481
248
202
396
73
275
202
325
274
251
241
207
367
320
231
245
131
263
261
425
160
123
134
405
6
240
162
111
397
466
415
322
23
125
245
196
270
147
40
144
55
172
490
489
20
95
206
278
476
157
249
230
357
109
35
492
439
31
430
223
176
263
264
135
44
67
151
107
235
161
334
120
169
6
154
96
51
307
166
453
265
15
81
468
76
435
135
117
181
202
423
38
171
300
428
44
206
157
410
46
357
52
40
368
279
34
125
168
114
250
424
148
377
346
269
1
373
36
1
389
407
24
185
167
40
345
376
275
461
156
267
181
214
471
475
276
479
400
335
164
23
470
455
413
325
245
8
200
16
471
6
151
322
158
148
292
401
450
43
287
411
159
158
156
396
292
283
377
74
175
207
198
325
185
351
96
253
22
76
84
485
130
277
7
478
355
327
187
421
423
114
33
54
118
471
151
294
218
186
182
280
383
435
120
344
434
61
247
148
117
327
6
9
112
50
37
50
168
164
237
252
292
352
223
206
411
362
329
292
65
298
271
408
33
401
175
340
324
149
496
55
27
367
185
406
101
454
474
99
408
273
442
178
378
274
448
85
207
279
31
470
88
27
272
427
164
191
39
277
373
397
282
54
92
42
183
174
401
432
69
413
444
28
333
8
151
462
112
53
361
190
185
312
129
428
130
72
201
391
107
156
376
379
137
72
211
405
150
412
107
284
239
335
63
67
296
68
372
319
331
354
386
426
243
135
155
249
60
24
228
370
116
471
468
15
366
134
124
296
351
456
369
127
230
438
414
83
201
4
401
414
130
433
257
417
296
109
474
86
406
467
12
16
474
128
183
96
156
179
248
95
498
2
358
97
68
382
68
480
77
287
287
22
312
54
236
53
202
396
438
381
73
396
398
337
369
218
340
6
371
229
243
486
395
174
126
28
336
98
106
306
224
9
472
44
74
473
339
484
475
3
279
95
115
353
205
25
441
365
379
110
440
266
192
261
61
289
153
439
35
423
27
321
137
354
449
198
142
277
431
96
120
178
177
482
410
211
498
288
117
401
176
371
497
150
108
412
74
174
411
367
403
424
36
485
234
238
67
407
362
95
91
426
324
437
52
101
462
421
396
330
238
419
59
197
481
122
378
282
496
72
340
134
246
83
97
266
49
94
484
228
453
139
120
498
253
69
164
221
213
389
423
379
120
489
252
481
397
278
319
249
119
401
360
52
260
354
65
35
106
412
82
376
364
428
370
460
465
32
65
493
93
20
49
26
315
241
315
343
66
434
206
107
149
53
239
47
211
85
92
286
395
82
423
24
446
427
396
428
489
244
7
194
246
253
240
489
275
10
420
329
97
257
356
45
432
438
90
154
33
129
107
117
398
39
117
35
131
211
218
238
56
68
19
498
458
493
84
382
135
200
475
470
458
196
500
416
249
489
479
350
189
198
66
158
181
155
378
317
23
289
122
461
420
436
379
472
279
4
222
286
276
107
416
279
99
26
247
406
148
195
375
421
292
452
224
311
230
203
456
7
195
397
25
311
495
360
4
274
384
81
25
478
446
268
367
418
86
436
188
196
189
183
390
75
28
218
90
269
205
237
34
304
249
263
45
179
254
201
46
360
57
101
370
500
49
453
468
118
290
82
148
366
11
65
265
259
263
113
247
316
448
319
15
380
332
234
422
452
57
365
142
326
203
140
24
425
164
156
291
388
75
144
79
492
444
253
466
57
193
328
452
44
389
411
233
256
13
431
99
171
64
338
466
357
209
117
92
9
176
16
21
395
50
37
484
253
470
351
194
42
96
81
100
157
77
99
387
192
126
169
153
200
382
139
15
21
175
217
390
127
21
33
440
296
118
126
455
7
34
55
486
109
238
317
172
187
84
186
352
343
158
333
483
260
316
188
322
296
477
184
41
257
7
463
333
406
343
350
89
185
463
298
256
126
142
495
103
1
66
281
18
137
409
187
2
157
386
265
41
436
416
189
286
178
458
278
8
97
297
58
494
214
415
287
445
286
440
409
318
373
370
390
64
266
416
394
493
380
4
394
294
277
15
373
452
1
261
142
474
334
461
30
493
303
456
85
102
360
357
188
4
337
206
114
434
287
114
367
245
352
366
83
171
198
202
68
83
292
353
284
293
116
310
21
275
97
411
258
213
237
412
155
142
115
228
146
328
60
327
358
430
179
351
61
34
479
438
81
325
9
106
163
38
28
124
168
327
250
139
386
388
340
261
447
423
321
56
421
478
220
219
250
495
424
196
443
289
157
130
17
35
121
300
127
218
341
464
75
22
379
134
199
78
294
257
444
332
240
380
115
388
399
439
97
100
118
413
137
202
275
442
415
440
429
350
104
319
20
161
77
79
76
198
238
94
5
51
361
357
184
190
404
322
498
486
332
474
251
446
67
443
490
95
21
357
387
305
190
163
279
55
155
143
93
148
92
226
52
251
364
269
25
236
328
236
72
292
110
53
445
406
5
266
365
91
165
193
312
81
69
108
309
22
205
33
390
336
80
348
184
289
166
389
499
235
288
330
89
338
493
448
361
214
315
362
316
16
335
21
491
186
330
408
79
211
198
498
131
102
98
26
436
82
386
452
294
442
366
432
210
462
473
51
232
298
46
214
64
293
64
456
362
240
372
133
23
49
483
49
299
457
238
71
345
400
210
74
410
56
492
94
322
455
316
412
136
366
136
64
65
51
184
460
36
446
451
397
61
388
248
59
136
326
328
331
341
298
462
376
487
116
109
188
398
18
348
40
358
442
143
31
61
321
127
181
173
137
407
279
176
457
328
328
416
481
45
381
75
425
68
182
128
267
445
362
421
37
397
401
350
341
2
443
62
491
276
440
220
197
104
6
160
186
144
206
197
238
387
23
488
427
274
343
175
369
88
476
171
71
65
387
279
248
421
231
436
425
252
85
314
242
274
68
90
18
312
456
145
293
248
104
11
299
92
344
286
277
455
214
489
276
397
9
147
415
425
217
486
300
378
447
12
419
241
224
433
318
383
360
485
465
471
352
241
249
352
212
10
361
28
29
395
372
52
376
245
406
40
368
92
311
415
278
492
486
310
42
185
188
134
259
305
379
60
351
381
322
56
324
311
499
325
407
223
388
4
164
148
484
328
172
275
486
363
471
487
149
344
93
231
210
313
100
293
367
83
209
23
93
60
220
362
208
149
417
195
395
98
183
478
267
88
389
194
482
458
74
253
169
51
415
138
55
323
111
337
457
484
370
16
318
262
346
252
156
404
372
71
318
330
172
265
353
92
195
349
166
311
274
174
153
291
183
31
484
409
233
201
452
164
378
19
77
487
225
140
450
50
286
462
287
303
25
274
295
164
410
125
298
410
144
170
239
32
97
137
291
383
374
8
285
190
285
129
335
70
391
421
411
136
292
416
184
290
382
77
44
488
246
349
258
265
351
13
169
55
93
25
491
372
129
268
108
73
343
117
87
101
352
467
135
340
255
306
92
166
328
103
18
96
159
362
443
442
56
78
224
22
3
458
220
261
123
240
25
419
268
331
221
185
437
6
466
24
225
359
368
121
439
418
359
49
405
435
376
218
314
227
232
119
395
32
319
205
311
47
344
247
64
284
338
318
246
209
224
26
124
327
123
217
94
134
320
294
16
441
249
416
146
434
40
405
9
452
411
229
406
338
412
430
271
291
205
207
494
277
100
416
350
187
393
194
377
125
361
347
277
203
250
153
443
405
349
384
429
417
192
45
467
338
362
62
201
133
230
333
405
83
88
342
453
107
354
217
297
22
457
340
394
265
396
421
230
26
191
384
295
355
455
177
411
149
50
337
263
245
385
187
17
141
94
90
212
130
111
6
206
160
165
313
360
48
186
391
334
454
398
409
103
119
114
472
278
284
52
462
179
415
35
163
359
16
34
197
146
404
326
28
75
141
265
22
339
251
265
40
468
301
458
396
157
137
383
107
139
315
207
173
226
252
103
210
57
404
410
4
257
481
282
113
269
183
345
456
132
258
367
456
128
451
26
348
478
304
38
49
190
46
256
294
176
431
73
355
267
425
300
130
244
158
68
230
339
304
373
105
389
346
402
410
85
312
124
228
492
240
237
15
244
196
135
1
334
145
402
124
64
207
273
322
142
111
378
294
58
286
300
207
387
167
485
59
479
420
134
10
480
305
386
165
165
367
328
114
166
329
133
298
381
494
433
247
145
422
411
419
9
474
416
125
311
315
53
223
111
15
80
165
430
404
44
158
240
162
247
410
325
16
314
148
297
322
84
86
448
298
79
370
197
100
227
55
147
305
76
181
465
264
228
182
167
13
288
7
145
92
279
51
284
97
265
16
417
330
257
32
171
388
91
302
489
304
129
337
225
378
4
50
80
333
436
135
389
87
212
252
309
86
89
99
337
432
407
375
361
496
78
202
158
62
70
188
134
410
72
476
379
232
65
378
284
464
249
46
373
46
386
173
164
389
9
81
486
93
179
392
340
182
101
322
404
440
352
60
372
174
446
302
262
318
385
24
147
339
295
474
288
250
94
121
185
359
71
142
421
46
485
53
90
189
250
54
107
32
337
61
450
175
32
481
23
221
478
149
378
184
250
46
132
440
342
204
137
497
23
216
356
404
61
495
408
101
119
137
42
413
202
228
200
311
206
192
273
448
391
189
312
48
337
45
423
112
144
72
491
203
352
208
50
41
276
317
114
335
306
115
29
392
314
281
167
172
16
487
391
56
225
107
418
347
282
472
463
469
467
251
256
277
147
363
474
8
57
32
343
41
496
481
152
415
9
383
91
44
21
50
359
188
462
4
459
461
331
440
306
163
164
461
387
471
280
340
142
270
49
96
359
156
405
321
27
334
92
231
443
45
483
278
424
97
372
75
136
14
457
490
410
351
161
260
497
132
314
227
253
198
246
36
139
99
261
201
142
468
173
441
23
448
128
241
149
317
371
169
456
238
275
312
121
36
484
302
498
438
35
404
266
117
10
313
439
140
380
267
57
273
387
376
404
325
324
197
152
347
101
490
49
189
419
428
157
490
353
311
244
236
457
399
387
222
408
459
114
186
197
353
457
238
47
73
434
36
369
217
216
416
332
10
315
26
499
453
332
54
330
353
322
309
17
97
83
309
29
321
241
148
9
466
60
478
135
104
200
345
29
49
337
250
215
360
15
19
468
207
297
363
425
102
418
70
167
436
258
395
32
476
339
144
428
203
219
117
134
184
183
264
113
141
462
497
271
361
229
146
273
359
111
14
237
294
340
152
370
114
311
219
133
40
81
4
117
50
78
164
372
130
330
489
441
205
253
380
418
248
324
224
4
259
156
134
186
395
477
93
156
70
408
49
344
56
214
237
322
1
437
430
333
446
26
303
229
298
333
323
50
298
292
446
31
373
179
171
477
459
101
22
455
236
316
442
314
341
471
76
469
258
13
40
470
371
18
336
45
274
62
55
243
263
186
326
291
340
300
366
305
70
171
135
56
368
179
174
442
87
135
103
399
459
492
129
226
302
351
226
64
279
264
163
63
239
422
69
416
484
110
495
266
213
352
464
490
26
137
16
260
477
447
247
39
79
211
134
378
375
53
35
251
404
363
411
408
105
295
43
114
13
383
56
213
12
419
297
295
159
250
444
256
324
222
260
95
466
459
234
472
329
179
193
246
161
67
136
193
286
254
80
268
143
390
124
456
371
304
181
297
278
398
134
19
48
457
117
385
301
454
365
86
369
353
417
8
310
480
197
426
137
290
459
419
490
331
484
70
333
385
434
369
126
153
131
8
344
332
240
50
326
310
296
235
118
424
219
395
36
206
235
24
119
32
54
499
127
394
150
420
359
275
194
319
349
423
83
315
437
422
356
146
475
461
382
48
314
171
343
265
53
213
461
174
316
47
488
300
145
107
161
232
324
185
411
302
206
48
17
237
166
403
368
161
447
81
219
352
202
167
189
43
47
61
256
276
111
480
288
401
144
378
198
212
342
200
39
300
86
209
93
241
365
500
222
34
146
312
180
263
421
40
457
401
149
187
115
487
269
414
151
164
228
271
304
151
471
431
319
187
155
448
211
43
476
241
416
78
460
340
401
485
21
297
390
78
247
85
438
97
242
274
454
255
369
378
288
338
363
80
212
316
71
474
336
191
147
161
187
161
249
371
4
427
291
203
390
163
21
220
318
352
309
323
191
335
391
279
69
463
19
115
260
374
473
223
8
238
123
445
263
291
85
419
315
267
22
157
111
81
272
220
426
416
335
386
131
107
211
431
35
385
107
77
172
479
333
107
406
383
220
32
396
260
201
383
30
288
255
128
47
185
30
206
50
71
448
463
318
49
195
160
291
212
318
237
475
81
443
211
322
58
230
107
174
299
224
226
244
167
194
403
444
90
205
200
27
111
355
325
104
151
41
387
284
317
458
140
279
405
163
281
445
168
280
349
405
425
178
274
461
174
135
319
391
482
452
415
321
31
269
452
33
138
8
192
47
115
8
50
219
311
289
79
162
139
455
327
133
314
291
42
274
28
9
31
408
27
338
288
54
192
466
209
104
438
228
15
243
230
231
370
66
334
202
387
397
466
130
280
262
14
435
226
130
173
257
152
295
203
442
237
229
397
417
44
19
294
21
205
364
458
441
473
210
340
280
70
303
314
274
177
91
224
42
97
258
298
406
169
284
134
417
399
407
290
447
484
285
228
488
344
235
172
467
18
349
423
285
69
259
369
443
493
182
321
5
93
213
430
185
11
207
154
172
363
478
207
108
474
81
78
292
429
367
43
344
457
121
408
320
494
434
205
372
449
389
5
87
365
139
485
378
465
356
113
404
467
386
365
487
225
340
65
296
29
217
131
133
32
28
447
2
279
59
341
486
305
193
192
191
265
153
463
28
152
323
264
84
405
229
334
237
337
103
208
374
178
460
201
66
24
211
175
321
290
303
350
409
240
123
66
419
53
178
229
332
260
419
295
368
88
302
469
274
416
456
229
417
430
444
12
38
232
262
157
306
393
377
238
357
34
341
78
295
445
19
178
378
368
430
194
196
203
434
259
161
415
328
454
486
319
386
468
414
357
489
294
470
343
129
412
421
464
128
481
225
365
419
768
452
601
357
718
728
308
571
416
640
713
345
702
694
367
372
578
318
591
337
695
681
475
533
684
395
763
614
383
684
680
540
459
761
729
760
425
334
659
494
613
620
421
712
446
372
374
468
396
301
391
731
729
441
616
622
328
687
558
754
544
361
754
523
474
303
440
569
780
590
385
361
732
375
464
570
766
544
712
316
531
446
755
800
426
522
735
786
791
634
391
781
414
348
716
413
669
419
671
750
730
347
624
752
607
424
717
699
647
394
621
471
549
467
452
385
571
727
564
579
593
476
631
580
556
475
669
737
356
612
626
340
532
356
778
544
733
626
728
634
696
369
634
518
354
562
461
420
761
361
558
800
429
709
304
418
309
545
588
674
395
788
734
655
627
660
430
357
489
338
768
633
310
371
589
475
658
578
474
798
775
456
436
606
348
360
661
647
464
793
666
385
320
757
723
482
510
308
366
447
542
731
326
526
646
419
301
522
596
467
328
550
476
359
510
587
344
462
597
364
772
392
359
776
702
309
713
635
714
723
632
419
453
800
355
308
431
631
564
408
349
406
766
422
393
304
753
749
544
576
520
632
626
351
342
515
360
516
410
730
499
635
467
338
674
579
444
421
321
686
541
517
716
680
376
763
327
370
376
700
521
526
364
399
583
398
402
732
757
627
591
564
681
445
793
693
517
797
522
736
365
592
727
572
643
773
614
571
368
637
717
514
487
685
491
771
586
575
471
468
497
465
662
501
625
629
787
767
524
696
449
707
738
430
570
516
444
427
728
585
737
747
600
787
580
475
538
438
732
781
638
800
547
379
513
440
667
320
772
324
546
599
423
544
617
428
654
767
800
442
535
304
750
691
732
604
784
648
621
720
773
515
759
465
767
714
733
516
452
464
714
493
706
613
511
505
548
735
539
646
631
693
608
540
342
691
614
474
478
551
762
785
636
367
336
687
675
340
553
410
659
613
760
685
359
566
482
712
704
540
396
710
510
342
796
388
759
600
463
419
572
430
395
713
465
644
694
468
535
692
469
662
689
800
652
721
660
346
789
593
412
635
606
722
476
338
413
753
787
408
665
785
792
441
356
484
406
796
478
348
673
368
797
546
460
586
408
755
379
485
592
345
545
579
341
539
358
314
771
528
391
718
479
424
317
715
468
318
630
711
675
388
615
744
669
724
433
409
409
384
349
386
682
552
702
306
372
644
769
785
599
347
642
609
500
404
790
377
326
695
688
544
430
337
683
654
484
479
478
585
742
323
374
768
670
770
721
312
401
349
359
477
347
709
581
740
692
541
686
628
456
720
765
438
713
575
454
553
764
416
737
410
428
506
534
543
627
548
510
575
325
610
472
749
609
700
590
539
588
477
327
519
429
659
561
508
684
451
397
548
477
575
566
639
681
754
722
656
716
688
729
771
533
311
584
602
665
330
452
415
373
604
716
553
305
336
330
739
719
402
629
614
548
454
727
797
548
626
558
325
498
385
470
728
644
378
617
799
404
466
444
576
646
732
303
706
329
457
754
633
641
475
348
694
780
691
420
398
576
569
525
788
758
655
608
463
783
612
317
584
632
390
352
307
488
653
554
531
695
750
758
521
564
633
651
759
497
452
545
750
603
522
497
655
514
622
379
396
786
360
736
727
757
431
493
666
528
673
693
708
539
338
657
636
738
452
503
709
367
454
565
631
339
564
754
300
528
604
603
683
682
667
781
708
554
501
713
609
302
531
513
657
536
420
739
315
484
616
598
776
383
410
349
325
313
505
599
612
504
535
411
489
637
502
632
712
392
429
616
785
350
567
612
588
690
626
419
764
622
794
398
717
334
405
621
536
370
529
492
501
530
703
374
590
665
702
697
497
508
717
488
532
349
761
429
615
753
506
603
426
779
551
532
560
679
456
376
641
759
533
532
791
714
338
610
696
759
511
710
332
694
330
505
495
501
760
472
588
343
656
590
386
383
683
628
634
361
423
408
350
552
508
697
353
593
490
552
360
595
595
372
337
599
663
360
757
691
540
337
716
656
464
733
682
330
794
515
352
324
453
312
415
644
379
699
655
429
772
718
568
386
618
604
353
686
304
421
795
666
548
429
376
402
792
335
371
340
302
607
583
724
461
344
542
562
370
569
510
563
619
340
437
556
571
378
717
742
719
312
452
483
750
462
783
597
475
577
495
441
481
396
510
780
647
493
558
642
597
382
770
659
463
551
371
306
654
384
348
367
709
781
778
694
618
668
549
799
778
453
562
431
371
655
317
388
603
424
559
735
437
698
445
492
630
660
535
756
418
782
473
746
305
727
581
356
304
529
589
465
429
437
700
464
502
703
368
616
631
636
312
796
593
663
551
638
638
710
549
745
707
306
386
599
719
785
624
744
775
470
733
760
355
467
784
355
494
420
734
657
698
735
624
500
715
542
357
435
783
405
758
689
573
681
639
492
431
560
541
378
558
602
601
468
476
602
501
769
467
314
412
465
604
418
473
733
709
443
352
631
582
568
466
348
568
400
757
528
339
643
634
538
527
622
499
379
723
783
417
593
569
326
445
610
767
319
363
367
369
715
405
777
487
705
498
404
449
319
596
652
337
319
385
555
760
543
796
754
621
513
694
499
552
457
727
758
472
342
675
678
656
509
342
566
496
356
469
460
516
355
783
605
669
556
349
378
442
351
572
772
314
379
569
674
510
357
411
411
514
573
493
498
578
572
508
657
760
301
657
320
642
503
773
476
448
633
793
649
341
466
778
317
424
757
733
424
367
517
312
772
758
436
460
562
733
401
719
461
349
797
533
721
645
461
449
657
757
334
438
525
589
373
618
750
365
593
496
553
792
393
635
608
374
453
305
565
657
641
458
663
508
438
436
342
650
574
674
646
619
323
432
568
512
569
474
747
468
382
324
545
394
410
677
491
778
483
446
656
633
363
469
428
569
783
422
481
502
625
559
759
539
507
710
589
781
452
318
620
316
463
653
537
544
376
402
548
392
785
485
430
767
574
580
627
369
355
441
561
439
710
715
430
462
364
574
569
638
477
631
757
407
511
361
590
508
522
730
553
457
353
535
794
546
598
691
729
301
658
732
766
311
446
734
433
532
537
387
533
388
303
559
478
754
357
750
766
459
748
386
579
637
578
467
643
416
701
726
467
637
570
311
759
553
526
372
417
490
346
788
760
497
426
623
800
332
511
412
507
532
688
544
719
392
375
443
390
575
579
749
408
470
766
410
557
727
354
731
652
405
590
466
694
710
556
614
366
442
715
408
519
523
508
747
584
456
449
639
763
302
359
564
327
705
488
475
708
786
751
638
548
796
527
473
675
524
499
575
746
438
752
774
545
368
522
613
684
511
513
525
781
727
431
712
712
646
358
673
392
428
301
536
662
313
361
378
648
659
763
696
716
386
782
619
563
539
537
588
543
775
346
567
702
429
567
693
561
375
553
669
560
427
449
547
719
328
440
664
661
416
431
558
352
524
649
570
661
445
775
464
450
523
628
706
383
688
624
617
353
499
512
430
521
769
532
315
608
573
707
734
618
505
488
546
372
486
484
511
336
753
502
468
453
480
564
313
671
326
502
306
510
683
737
538
538
309
313
761
433
699
326
423
320
534
712
336
308
774
540
692
463
473
519
332
745
457
789
659
396
453
724
562
314
786
405
783
386
473
411
385
483
626
363
600
470
443
457
584
656
490
554
665
438
724
574
465
774
331
594
311
676
300
762
679
324
559
318
537
680
684
529
467
544
576
359
532
523
370
534
416
356
618
604
779
486
751
653
609
511
500
395
609
580
725
466
584
469
427
387
351
390
656
800
541
629
353
702
606
478
708
749
630
514
756
746
535
416
344
697
559
699
716
540
790
571
770
741
726
650
568
494
661
404
626
686
575
530
373
684
772
741
577
504
693
700
673
364
765
509
562
698
658
471
375
612
416
595
416
370
358
775
624
607
646
755
679
505
645
309
407
308
375
704
510
578
440
722
585
355
634
638
334
444
580
497
695
317
513
424
393
522
329
567
663
540
731
645
797
758
770
345
527
551
719
407
800
463
358
742
465
737
499
722
609
684
646
479
582
372
714
654
672
698
729
768
544
457
756
417
512
558
326
336
376
631
486
642
542
629
538
630
358
325
567
460
626
406
453
656
393
463
607
710
771
605
302
389
791
531
487
538
482
651
568
339
792
718
658
388
343
595
689
376
475
648
417
649
767
567
474
454
404
700
640
740
493
448
764
371
587
583
353
518
470
768
722
769
783
671
782
715
521
440
626
513
500
369
344
475
747
412
788
344
652
444
667
791
472
442
581
749
310
393
746
411
467
554
476
465
386
690
757
483
383
600
310
347
753
721
778
445
650
492
736
627
747
569
350
614
648
682
664
765
683
467
775
675
720
371
766
420
599
761
455
551
326
368
561
694
739
448
791
789
307
305
739
674
789
354
440
483
333
537
799
488
699
496
379
374
445
364
706
342
698
770
347
749
734
430
368
423
595
760
462
462
754
587
520
581
790
603
374
671
407
635
457
585
680
783
368
315
369
728
319
411
623
390
485
604
429
605
371
751
433
790
508
404
793
782
477
545
657
600
321
673
627
603
380
400
343
567
585
675
529
412
433
331
528
414
737
625
458
355
430
371
780
557
337
642
633
599
753
379
461
561
498
587
580
423
517
412
776
617
716
611
608
332
594
327
371
591
360
799
391
765
356
784
718
470
612
634
642
554
666
532
505
437
420
499
484
786
479
499
379
430
505
386
788
753
403
467
675
404
344
398
501
305
752
758
353
768
439
474
409
564
609
729
433
425
734
776
634
301
634
332
767
718
613
681
412
643
394
645
326
389
608
778
421
773
748
732
713
573
356
587
433
546
800
608
651
591
671
600
436
708
690
346
600
771
363
683
371
522
310
411
559
339
661
704
427
561
339
313
756
582
695
517
353
559
750
740
493
743
611
419
607
461
661
564
624
564
399
380
584
461
421
728
714
587
423
685
743
326
658
769
532
637
483
723
337
691
583
653
499
628
516
657
456
547
605
737
678
768
708
381
678
612
764
766
675
421
746
594
681
743
559
330
481
710
482
469
741
764
596
713
668
351
487
305
333
425
714
387
608
749
579
400
306
385
640
673
354
322
316
768
799
665
639
754
617
448
723
710
669
760
631
791
568
443
410
542
382
714
679
380
446
729
673
326
604
649
311
399
594
577
550
430
438
356
598
423
331
707
742
325
568
328
445
761
692
598
481
480
750
488
679
649
714
680
512
417
568
327
706
426
600
716
345
551
727
645
756
743
625
607
524
603
475
514
455
541
637
798
366
462
587
573
384
710
494
596
339
333
335
528
533
369
552
611
569
575
502
398
435
307
687
575
398
566
543
559
377
734
547
412
417
705
492
458
566
327
662
326
418
573
602
573
458
468
525
583
673
556
680
651
745
327
390
436
661
567
456
424
307
776
399
643
582
490
763
464
470
462
575
710
658
441
467
535
419
657
558
468
781
661
777
303
433
654
397
700
361
691
405
660
465
713
776
689
601
487
576
745
359
390
474
553
454
746
409
439
476
336
509
438
401
350
440
527
730
500
684
439
364
444
429
455
800
732
726
791
380
594
736
574
481
576
324
672
635
464
685
492
347
434
611
756
644
654
547
416
434
771
675
342
300
532
310
304
338
311
645
468
423
420
360
716
501
743
344
494
568
413
601
698
694
683
800
574
757
640
617
629
516
622
796
337
532
611
620
632
606
370
466
386
438
527
604
319
625
674
789
763
395
388
490
511
603
428
707
619
697
733
305
795
468
335
609
433
782
420
771
490
779
796
362
433
492
326
357
653
395
471
337
758
705
548
533
617
327
662
709
712
800
702
642
378
416
688
675
375
498
387
512
723
702
738
304
423
354
740
447
350
707
572
786
413
530
542
779
522
455
579
397
405
423
759
421
328
489
421
694
713
676
361
657
484
614
501
339
737
619
479
586
504
734
415
362
422
566
596
527
510
360
368
321
697
485
351
562
674
665
398
389
753
367
793
509
430
460
458
466
605
526
636
579
800
344
402
544
744
484
369
421
640
561
767
684
644
461
518
599
659
438
637
696
391
411
325
526
558
714
331
531
605
572
373
494
695
641
519
773
613
662
504
372
641
364
598
543
516
513
732
429
336
392
795
639
319
643
332
409
685
763
483
682
742
312
387
377
412
525
476
430
668
547
718
466
320
427
590
719
611
609
789
411
679
382
765
326
393
510
580
731
317
776
314
339
543
690
556
669
509
621
782
461
381
443
316
432
406
351
661
705
375
491
425
483
651
636
469
335
343
457
368
683
719
447
440
514
719
304
538
667
694
463
544
737
560
389
743
619
604
435
736
548
671
402
748
386
571
430
512
478
423
707
557
638
797
671
459
335
329
503
553
418
536
572
506
321
416
496
335
519
365
711
520
474
342
415
622
390
416
452
564
486
617
319
538
335
486
582
766
472
784
612
436
682
382
516
793
764
477
634
337
795
645
413
610
705
455
498
399
656
419
742
557
774
573
629
337
619
669
600
686
506
579
483
301
337
419
372
358
738
778
791
352
367
555
693
732
331
302
463
587
313
363
565
376
413
330
716
481
553
368
510
425
678
384
743
492
318
475
673
699
738
439
800
615
489
576
796
349
322
354
374
595
442
658
346
392
422
759
521
404
608
718
333
574
616
614
792
435
511
427
759
732
393
736
502
405
649
373
719
692
366
720
351
708
774
361
578
710
761
306
483
414
695
449
500
435
388
583
537
728
709
354
600
444
787
307
503
765
692
428
581
582
592
550
586
598
303
527
754
758
397
707
556
469
764
667
502
658
596
663
630
389
481
573
789
451
416
392
634
651
797
538
745
475
626
711
494
345
346
680
771
356
330
758
779
717
556
620
429
688
519
516
409
639
625
410
750
357
445
673
492
381
637
357
611
789
523
634
595
730
764
654
646
369
673
768
696
624
374
788
678
539
769
594
391
527
532
574
352
750
549
390
456
755
421
590
446
440
529
449
752
763
399
570
420
341
462
625
596
368
747
454
799
604
538
684
663
388
649
797
775
728
540
345
754
453
607
685
635
703
501
537
407
553
680
645
380
464
764
516
608
800
640
339
303
571
597
740
622
368
314
582
491
348
655
404
517
382
752
721
448
709
354
360
445
589
410
665
731
769
499
739
346
433
570
707
554
348
626
533
345
796
719
448
524
610
562
389
409
317
537
766
481
311
447
745
764
647
484
771
306
410
344
455
671
520
478
564
413
353
798
782
552
611
505
776
556
319
539
476
454
704
410
670
387
375
762
639
739
611
577
435
524
688
308
768
500
360
774
312
705
585
695
633
448
389
439
677
579
760
399
476
706
515
443
385
756
359
488
359
405
664
701
461
615
622
669
489
751
489
403
748
426
524
480
403
427
461
785
466
641
515
313
637
370
522
757
655
782
366
665
572
783
638
520
457
300
306
588
743
797
586
572
497
537
579
413
373
393
795
463
351
615
325
632
552
530
642
427
507
611
732
482
458
398
734
533
588
560
795
306
737
336
491
481
329
485
377
351
590
675
553
650
552
604
338
348
612
533
656
511
392
700
309
380
437
717
408
763
504
556
508
536
644
512
725
744
659
348
580
602
508
342
636
449
599
328
407
599
306
516
545
465
319
596
332
328
765
770
638
785
598
675
704
691
648
450
338
311
612
639
304
759
389
347
388
494
528
661
533
761
568
605
424
484
682
508
458
620
457
689
573
552
425
704
423
792
564
787
787
556
604
790
545
653
749
569
556
583
342
661
614
338
721
707
331
764
326
786
342
367
370
447
340
302
427
617
552
728
680
384
382
377
475
546
511
761
579
667
635
796
538
742
313
484
700
746
669
345
528
677
723
768
307
479
487
730
610
782
569
446
391
772
745
725
321
485
645
511
662
632
759
633
668
596
498
781
664
770
678
709
767
504
733
554
305
537
551
773
494
754
659
723
545
763
610
387
458
777
592
532
336
353
443
348
507
729
306
649
595
710
368
434
600
636
479
487
451
406
556
660
518
743
550
636
611
338
631
704
302
483
355
760
651
391
638
606
714
778
506
542
556
784
459
590
612
345
627
750
627
632
357
558
494
641
671
362
770
400
776
758
623
663
385
324
480
532
620
797
597
439
783
511
439
797
528
689
734
475
452
648
529
313
415
734
743
535
570
425
373
342
473
790
724
752
359
712
483
543
704
690
399
421
764
776
604
333
429
652
592
501
454
752
609
456
428
589
775
484
624
515
795
716
359
333
488
463
653
497
554
697
313
748
440
486
492
459
528
609
662
577
768
656
652
533
307
356
644
675
668
529
517
515
398
710
766
782
384
761
499
352
621
755
325
766
724
303
663
564
332
680
744
727
311
671
436
718
456
305
522
602
498
732
537
592
669
486
578
476
530
327
571
350
430
483
313
689
722
381
519
586
579
612
317
631
672
344
387
399
704
352
574
669
684
457
592
501
692
571
794
698
754
610
796
329
402
343
799
736
339
553
526
406
436
467
500
632
656
505
365
340
376
323
557
398
648
423
341
713
547
627
481
687
728
348
535
770
516
511
634
470
303
778
468
550
369
513
432
778
753
760
582
308
609
715
369
539
427
469
519
469
309
484
714
572
799
467
792
513
488
525
696
662
488
766
557
732
696
762
631
684
786
646
707
599
413
557
501
698
558
392
623
455
473
329
334
558
448
403
770
702
740
785
405
600
662
441
471
516
427
705
488
734
660
354
410
317
772
665
719
493
648
462
304
624
451
430
755
544
650
335
694
356
411
454
320
461
446
670
646
511
708
657
594
492
677
555
504
358
641
601
311
785
787
515
385
638
524
471
567
757
378
324
762
406
629
660
342
605
396
366
499
423
795
770
724
467
463
316
478
436
767
784
548
445
334
488
554
742
356
676
431
531
793
367
332
591
646
378
436
680
338
614
432
658
664
672
365
572
715
404
377
733
386
548
457
725
303
761
694
697
464
346
303
370
768
618
500
574
414
364
515
435
301
399
473
777
352
533
429
706
790
614
597
673
750
617
314
625
417
470
640
451
761
632
373
433
381
501
676
449
550
784
323
555
716
611
729
746
470
730
759
522
629
542
529
531
531
503
722
647
708
583
574
595
515
478
433
514
742
758
779
693
738
593
707
465
728
681
712
790
689
459
542
794
528
612
338
647
545
335
363
774
306
489
614
550
426
333
402
445
787
644
680
493
545
417
663
411
480
446
483
542
388
695
553
761
464
529
614
523
622
638
363
338
538
340
502
313
378
740
516
784
660
784
306
793
392
659
781
767
798
678
674
562
307
333
541
308
322
759
665
488
522
475
590
380
706
628
507
403
734
459
480
632
789
694
678
713
681
583
446
609
338
593
556
358
541
705
432
590
370
440
398
514
780
603
791
385
646
553
446
644
633
496
727
509
570
465
642
441
632
695
429
491
386
756
518
588
627
512
437
792
670
564
637
333
310
717
671
499
520
362
634
390
561
391
682
610
508
346
572
722
458
770
495
551
361
468
567
454
423
353
737
301
475
302
734
473
455
707
330
649
606
466
726
565
399
384
619
330
688
527
691
350
557
458
668
764
459
316
733
567
314
491
545
515
550
413
407
343
311
754
615
368
311
546
734
431
765
384
759
750
710
745
644
745
499
315
746
528
558
447
788
500
518
393
779
340
775
770
341
476
466
439
313
791
712
672
682
646
331
575
723
560
463
687
733
769
796
385
700
431
436
499
321
782
655
541
330
301
613
441
538
322
782
449
339
349
553
428
683
561
440
513
735
479
623
652
602
668
497
431
628
581
303
501
633
620
708
775
466
580
391
427
414
722
599
535
682
620
526
544
411
546
681
412
666
385
452
510
571
445
755
522
300
348
640
448
786
783
498
380
320
692
458
687
398
385
716
318
620
411
488
509
498
572
771
676
337
628
358
464
742
412
522
487
505
713
560
341
412
483
512
494
500
335
609
592
534
350
542
613
463
482
747
490
311
304
652
575
403
626
501
568
430
401
436
471
526
740
544
388
456
648
530
706
575
626
694
360
581
425
549
324
544
716
751
686
670
467
656
703
496
591
374
800
661
630
345
385
396
660
401
679
437
464
353
511
369
753
711
490
631
333
622
629
760
739
373
514
436
456
346
569
714
554
483
415
470
770
797
423
764
363
601
519
357
537
323
723
461
747
584
383
685
406
693
733
320
463
587
473
546
727
703
476
360
542
480
600
775
411
613
501
561
704
365
754
675
353
683
703
419
722
426
457
796
661
584
387
337
800
467
588
415
703
740
775
787
512
619
632
320
448
463
749
796
748
360
715
642
322
490
560
516
446
496
751
621
716
333
521
614
338
621
786
782
398
716
402
699
477
708
354
652
629
796
678
347
318
379
446
464
399
628
421
473
631
389
708
347
597
477
602
500
439
673
338
685
391
501
311
619
366
347
667
460
800
462
649
451
735
413
533
588
527
360
431
348
798
409
731
491
594
598
367
478
766
681
773
616
716
307
424
794
318
695
578
411
528
487
775
385
608
706
703
790
403
732
566
529
401
693
669
789
525
549
795
798
482
606
551
796
332
594
467
722
503
500
509
382
695
784
361
342
328
403
300
664
577
756
654
347
739
743
577
534
585
734
685
583
447
461
487
678
572
542
349
693
321
658
662
427
430
488
797
315
344
749
517
640
364
477
759
514
365
743
637
478
551
753
491
769
499
767
720
507
635
480
666
383
662
561
406
354
328
510
453
359
633
584
752
654
609
544
716
730
597
744
363
640
349
401
743
489
513
704
352
394
540
638
497
754
544
672
727
605
459
463
572
625
509
396
476
635
474
410
313
585
693
669
483
717
473
782
482
782
584
785
696
456
653
338
555
495
545
706
409
697
648
765
395
783
311
449
477
588
362
541
390
382
681
681
325
658
757
484
304
769
684
493
425
682
679
753
661
757
383
491
335
469
599
416
755
733
463
677
367
520
617
530
523
522
364
325
416
313
778
680
390
655
463
710
589
399
451
625
324
454
778
694
721
666
525
693
463
421
649
429
697
485
343
686
689
776
422
357
300
527
311
739
390
424
530
575
757
710
697
302
364
328
440
730
493
301
574
471
618
700
625
488
351
429
492
534
740
404
746
304
585
766
718
521
317
371
377
394
546
511
618
707
665
363
649
793
358
626
316
534
465
574
645
400
569
681
601
309
609
417
583
446
473
731
609
482
542
345
523
750
792
488
405
386
457
680
409
311
475
358
771
710
695
709
494
374
449
738
764
597
311
381
683
567
722
482
442
638
533
565
311
646
307
471
366
523
491
798
446
528
374
789
693
500
515
320
443
481
606
689
523
711
707
661
769
359
662
542
400
629
448
628
669
340
590
734
464
728
494
398
312
497
441
634
473
324
444
366
732
637
580
455
763
483
532
712
450
349
338
304
698
417
738
620
768
734
571
406
711
327
744
398
314
730
656
769
766
459
607
338
556
683
611
384
476
530
711
532
528
466
713
600
432
764
596
405
425
449
347
349
740
446
700
319
543
476
652
455
693
354
754
341
779
479
429
697
304
695
683
412
715
397
521
631
338
414
647
529
364
438
683
366
459
516
501
487
470
420
522
449
332
430
534
572
664
343
681
515
475
700
481
635
735
587
656
536
609
772
765
530
726
554
500
415
422
658
492
450
441
524
459
615
766
706
493
532
328
745
357
475
495
717
379
683
358
506
737
313
377
527
360
615
473
651
392
361
494
466
407
550
688
741
626
408
379
414
336
432
470
623
572
490
463
695
749
399
307
329
697
413
484
547
553
786
510
637
373
523
748
371
552
696
737
703
631
350
535
489
392
306
324
685
101
289
375
334
270
388
260
448
331
197
349
330
153
149
371
179
357
190
119
321
336
225
9
209
47
32
494
209
178
60
16
480
364
395
398
259
404
3
119
464
351
459
444
303
298
31
75
124
461
280
82
234
278
331
409
89
422
14
184
104
27
249
233
410
103
166
254
198
387
308
434
482
398
54
78
16
22
328
368
348
163
5
88
111
256
356
479
118
102
180
454
144
287
398
327
197
480
398
255
410
284
358
32
282
361
136
282
20
392
11
438
172
445
13
457
460
249
136
219
43
1
298
28
277
388
352
161
426
232
250
102
193
294
345
483
121
312
3
456
291
409
81
276
311
304
271
262
178
485
495
21
109
162
392
347
183
257
62
497
49
260
479
285
254
17
446
229
11
351
180
500
229
296
288
499
430
441
408
418
487
389
202
284
71
232
265
145
226
255
500
380
1
346
453
262
453
442
320
466
463
302
399
86
186
21
174
2
93
214
84
437
492
368
172
241
162
37
15
440
122
373
91
89
410
427
20
28
306
144
51
252
354
385
392
134
118
69
258
407
458
428
51
443
330
246
250
164
422
15
332
183
459
231
153
113
33
191
476
315
205
436
500
236
251
352
218
169
485
271
489
76
84
195
428
12
23
480
234
76
69
115
389
358
81
174
108
52
22
466
456
7
197
337
38
285
214
7
403
137
111
448
473
1
113
478
429
92
292
278
226
442
394
33
365
397
472
494
212
242
348
255
246
213
392
68
381
125
357
281
69
20
420
71
44
40
481
495
204
416
250
242
125
469
495
277
114
57
448
237
236
106
96
452
267
407
309
32
381
473
281
28
476
437
336
420
254
10
197
73
474
210
123
34
40
335
264
227
206
148
277
477
383
432
389
196
362
439
264
173
99
249
229
406
58
192
59
356
125
374
449
495
38
220
109
238
462
317
150
407
322
176
123
254
116
414
468
318
378
456
53
212
185
152
190
5
445
430
357
270
323
342
380
67
366
265
286
413
387
62
453
457
133
88
326
499
76
482
196
175
342
230
112
308
366
203
47
463
222
225
30
207
111
31
342
307
28
129
480
447
315
8
384
77
361
284
230
320
265
445
198
64
23
73
477
161
243
381
322
237
93
271
3
294
62
401
225
220
45
24
181
481
195
428
32
410
176
36
68
174
90
66
334
395
201
297
333
224
134
155
495
219
330
274
270
287
38
327
346
138
77
271
363
150
429
245
328
198
95
404
150
44
71
410
323
29
364
395
134
221
374
57
195
33
305
432
32
167
353
462
283
341
191
424
297
495
296
165
273
331
402
233
229
159
481
257
189
422
171
486
45
463
243
367
149
187
429
412
237
253
107
189
464
161
312
65
430
483
477
469
458
419
265
438
497
65
467
358
93
42
83
281
394
326
14
232
54
125
87
227
346
226
310
405
192
194
60
125
456
198
138
244
312
456
87
206
367
245
337
246
319
397
460
114
329
170
262
288
166
410
475
411
377
461
268
338
388
312
251
432
490
109
486
448
122
451
405
159
481
433
307
437
110
70
382
221
255
32
27
381
12
16
136
38
12
66
112
416
51
171
401
294
92
127
169
490
189
268
203
180
65
73
114
38
386
427
441
108
466
56
457
485
49
93
408
126
417
346
150
6
314
278
93
300
454
361
292
225
72
107
441
374
57
445
257
310
216
231
140
68
419
29
265
105
124
167
389
465
205
1
147
1
493
207
297
248
19
66
394
418
336
316
299
27
363
106
33
256
128
25
28
274
495
31
314
296
13
28
400
106
301
365
174
88
431
364
247
468
125
326
383
185
316
134
76
181
461
412
308
246
421
226
141
369
484
186
168
479
61
17
56
233
472
480
415
256
420
298
168
151
331
138
227
229
329
475
161
55
225
466
440
402
208
179
215
293
39
303
32
174
320
26
15
447
257
198
59
393
169
26
171
109
253
221
415
231
235
430
358
452
41
20
432
412
24
330
265
418
345
46
481
172
105
403
355
66
430
378
309
210
478
390
493
330
403
292
414
63
313
406
431
78
347
282
385
481
62
112
400
432
284
382
459
486
129
192
373
428
17
308
97
116
258
391
59
342
233
154
196
120
143
309
451
481
113
361
425
381
249
89
332
167
150
303
342
176
196
89
69
216
8
29
487
467
149
249
323
414
315
103
170
19
130
437
180
183
153
209
302
352
42
273
65
360
177
46
231
269
452
418
339
194
154
324
4
414
296
176
205
320
41
208
174
316
142
135
24
334
266
73
440
157
492
244
63
409
143
154
69
42
340
175
102
254
178
153
483
374
51
199
43
62
367
344
127
90
258
343
403
468
168
485
265
25
212
85
369
424
27
323
268
355
222
35
359
268
418
329
312
203
245
84
479
479
409
52
338
202
207
121
287
215
242
54
95
355
150
498
60
300
32
14
273
291
158
100
14
388
69
112
195
344
59
209
46
223
140
111
337
60
372
465
426
338
298
291
493
369
133
353
352
106
232
398
386
355
381
340
479
95
15
308
137
166
472
492
52
130
286
382
491
59
250
335
469
201
127
116
391
500
225
224
245
332
66
392
374
379
3
172
250
432
172
296
173
141
129
207
380
301
36
364
356
500
308
346
272
425
125
378
426
203
331
429
63
415
113
3
378
466
75
456
206
399
59
373
7
360
453
228
248
466
334
261
420
451
203
212
31
480
88
84
145
436
131
445
345
68
371
375
432
373
177
100
200
180
74
173
248
80
249
437
350
31
1
434
16
403
398
344
134
52
416
191
468
324
356
108
320
470
355
445
299
16
62
500
496
435
416
328
251
361
460
375
451
103
367
94
443
25
346
1
52
355
349
322
428
94
286
218
376
293
5
237
243
98
86
288
406
260
197
448
268
142
175
450
379
326
405
37
38
205
310
328
122
371
35
45
420
71
70
67
280
269
65
437
112
296
232
8
93
380
353
16
443
248
85
138
129
20
224
176
415
486
159
450
124
72
314
45
420
379
428
107
346
182
319
392
495
485
425
304
498
393
404
77
169
495
227
47
434
121
386
402
420
389
301
325
173
172
226
498
8
178
439
322
376
36
247
39
211
195
44
35
393
313
294
469
233
262
345
60
67
282
472
308
284
401
235
314
175
232
47
138
81
315
384
16
263
220
184
124
40
43
118
499
114
155
7
12
439
430
330
423
125
101
499
217
84
279
341
241
104
77
13
367
350
11
146
8
91
141
424
274
383
148
422
298
109
319
40
172
260
75
82
418
359
40
225
410
279
463
100
130
129
301
480
233
31
457
22
304
163
139
186
130
171
384
313
42
125
470
55
280
107
120
242
455
3
314
288
174
289
25
140
272
6
474
252
227
488
154
147
258
188
146
403
83
212
96
206
5
307
258
305
497
248
66
398
264
175
395
255
365
246
472
308
45
146
403
217
405
490
106
386
387
295
474
169
362
215
367
50
120
79
197
418
461
27
264
277
170
225
276
413
444
43
325
389
72
422
5
96
488
144
160
23
452
461
55
9
374
314
55
36
227
49
429
266
180
101
419
284
345
129
315
132
314
54
307
230
416
70
294
475
375
335
97
173
235
321
218
103
99
395
305
397
150
292
244
294
93
401
431
150
338
325
114
246
400
106
219
219
215
366
311
183
439
429
473
500
269
373
449
123
298
62
156
73
241
249
429
220
284
431
280
116
475
407
319
77
61
312
405
174
315
198
337
96
83
64
99
301
438
479
402
109
62
401
374
127
100
20
37
169
113
440
85
77
336
372
144
472
61
166
161
220
193
77
391
375
487
67
96
188
469
153
496
62
424
402
396
203
390
49
434
6
57
71
467
318
419
128
132
71
5
295
294
4
97
85
301
78
8
183
116
48
328
307
187
204
215
364
345
26
21
432
302
353
356
448
285
98
311
307
136
5
196
19
217
420
23
456
279
471
373
378
138
309
326
387
116
112
391
500
34
144
343
444
379
435
369
71
160
86
151
236
282
172
115
83
393
432
235
46
9
260
70
194
459
256
190
279
305
494
201
253
435
12
458
398
159
117
204
369
152
145
161
361
59
475
241
274
263
273
449
201
132
63
144
435
267
225
114
405
372
355
56
83
187
267
224
182
125
97
238
301
293
468
7
284
484
310
182
72
431
462
117
495
110
210
183
251
189
443
236
262
323
49
269
82
44
4
246
348
437
493
314
303
242
247
483
389
292
261
223
149
124
472
227
273
421
431
250
164
170
343
277
101
348
226
379
258
291
228
416
368
256
164
40
212
499
117
19
310
419
184
231
82
419
303
350
411
404
168
121
325
353
276
197
213
230
64
142
336
39
418
394
417
84
445
449
62
278
122
272
5
133
355
155
62
384
314
208
449
155
331
20
127
280
499
301
181
126
345
279
39
166
63
296
384
475
258
125
463
393
451
342
191
30
266
394
489
190
449
183
58
342
382
48
89
252
411
479
370
58
463
157
40
320
366
114
145
12
341
26
363
409
452
449
436
423
21
40
452
350
329
244
160
138
399
405
55
428
9
287
12
332
424
257
129
119
456
324
379
119
496
190
220
245
420
413
400
386
232
86
473
252
254
335
21
477
81
418
409
150
148
71
126
494
242
162
260
317
28
469
100
480
154
273
224
410
55
181
391
497
127
387
227
43
479
152
133
69
376
219
99
79
21
66
450
386
215
128
125
166
47
303
106
487
475
322
190
472
99
459
268
99
194
412
455
148
93
299
354
377
447
465
146
419
240
87
194
239
189
88
266
96
416
196
230
60
50
97
319
266
485
438
276
184
241
188
435
335
403
236
242
37
128
351
289
309
336
184
315
341
130
118
125
129
172
334
228
384
41
99
302
197
479
73
35
64
401
127
130
231
18
291
39
213
250
137
177
334
17
91
148
33
405
64
37
73
479
211
183
14
123
423
47
309
325
281
352
416
84
162
272
261
197
280
374
329
405
4
304
325
136
302
131
485
182
360
166
61
312
64
97
366
460
454
326
117
431
251
381
150
495
53
433
457
433
375
66
446
401
471
476
375
377
159
422
39
344
162
153
245
243
309
484
408
452
439
468
306
163
101
128
364
242
6
226
486
81
247
14
454
386
355
73
216
487
103
446
61
369
377
397
85
450
58
477
400
43
402
64
332
328
492
242
317
246
415
142
185
34
293
161
31
168
231
301
255
490
90
319
105
72
297
38
424
486
203
63
22
157
496
54
38
68
136
427
81
357
164
374
437
259
394
176
36
203
83
350
442
240
160
81
254
297
251
389
139
233
372
292
107
454
280
402
89
431
109
334
480
72
496
68
40
197
160
487
41
391
16
207
450
206
237
295
213
16
338
413
406
255
193
318
109
250
443
37
208
326
419
460
495
456
251
30
356
208
200
425
102
20
354
400
54
150
281
326
380
385
482
194
432
271
449
342
334
165
152
178
237
284
57
33
400
303
330
483
33
410
278
452
344
278
283
258
200
84
151
334
113
360
384
416
474
362
82
372
157
491
199
337
142
6
33
129
133
315
152
392
288
154
250
374
453
25
465
12
181
463
289
279
342
253
232
72
483
23
226
207
222
176
369
299
199
176
70
224
481
26
198
344
361
226
44
388
287
205
72
406
160
176
421
109
157
68
256
440
484
343
267
401
326
380
5
439
277
261
435
65
499
322
267
47
428
359
396
78
329
242
123
277
402
407
105
399
353
425
51
131
81
457
499
196
103
55
100
245
48
214
253
2
370
373
95
129
500
312
298
383
463
372
442
339
431
238
107
382
299
340
338
318
454
106
383
425
295
338
81
49
284
322
277
201
215
161
135
143
226
45
405
269
453
496
390
154
466
396
440
426
65
425
303
471
114
174
147
423
388
427
120
108
100
109
105
254
47
253
230
447
269
248
251
26
327
484
398
186
236
427
104
142
112
184
353
385
170
476
219
456
468
111
494
189
377
129
458
451
363
296
8
132
350
470
6
110
378
45
451
317
249
59
407
264
261
305
221
204
145
88
383
86
406
38
462
212
422
319
192
394
490
492
394
107
161
29
459
171
417
339
332
277
368
445
237
182
159
380
330
345
400
71
187
262
351
41
145
230
369
390
479
496
272
388
244
354
90
437
7
368
239
23
389
38
478
61
446
369
18
178
353
423
367
177
150
272
205
334
382
441
255
467
26
149
285
7
377
136
376
358
484
216
50
23
475
30
303
214
466
53
330
433
293
158
330
65
58
44
370
438
365
420
107
293
55
437
277
247
457
365
19
318
15
484
93
245
161
467
278
356
256
217
219
306
238
246
464
187
401
445
360
178
35
480
435
457
425
323
232
67
452
30
473
260
424
224
189
23
75
292
116
80
450
27
146
358
161
24
441
144
465
76
133
28
24
23
440
242
407
416
123
431
443
86
288
210
291
75
292
82
162
237
125
194
438
257
337
19
33
115
275
152
60
137
456
214
418
408
489
462
370
172
320
43
474
301
437
148
219
134
292
411
414
47
220
333
378
264
18
458
471
299
132
390
403
156
77
298
243
243
91
245
199
435
457
315
196
63
107
331
474
482
235
137
26
121
102
378
8
51
180
476
214
105
393
239
30
460
181
266
423
172
498
172
180
137
1
91
93
197
151
378
250
68
499
267
118
123
158
124
297
116
131
347
486
212
325
118
317
215
398
413
93
428
449
11
38
205
408
215
461
38
269
246
429
231
331
487
250
453
238
316
121
465
199
349
24
452
1
124
40
179
166
114
341
214
254
1
153
132
103
23
469
426
140
427
109
450
484
295
335
388
464
305
436
303
65
284
299
341
93
432
279
200
24
203
128
467
210
178
205
490
200
399
29
290
349
88
36
232
424
393
289
27
140
200
98
426
99
378
152
340
240
371
66
80
260
331
153
1
352
415
358
367
225
479
320
108
460
274
340
98
193
424
43
78
479
288
451
450
463
133
26
68
207
280
432
257
314
441
349
426
46
388
384
434
200
363
406
471
160
156
470
448
225
19
149
430
249
118
379
342
432
263
410
157
74
444
351
133
154
471
114
89
120
464
458
457
271
363
448
212
78
50
70
417
26
132
484
113
246
446
217
491
130
119
323
24
492
443
313
42
172
360
327
459
128
224
194
226
29
427
245
129
426
374
60
415
363
366
43
262
205
227
483
77
381
248
473
51
386
336
212
236
165
292
202
426
444
231
378
66
23
339
25
385
387
213
280
460
256
45
246
306
499
145
163
220
169
308
200
217
384
171
266
317
460
450
227
285
212
366
8
396
115
391
233
216
2
102
241
1
46
57
130
263
71
129
122
99
275
98
442
159
117
273
84
295
297
208
338
89
14
388
490
346
399
92
96
178
147
198
73
457
83
378
194
204
470
439
421
332
313
250
332
307
366
482
234
243
188
309
368
307
136
210
417
274
125
196
47
84
193
120
498
338
433
96
287
389
380
170
394
485
249
243
368
40
330
173
40
349
345
301
109
20
366
123
269
49
207
256
125
481
285
30
46
394
378
446
404
362
65
458
150
442
274
223
133
54
115
230
150
113
496
464
219
127
38
400
58
438
312
161
271
134
330
24
235
314
476
146
469
468
384
397
325
93
436
141
120
81
82
207
420
414
434
338
161
73
33
129
308
199
268
245
232
437
462
299
50
362
102
199
123
274
93
76
459
52
7
405
392
30
294
81
310
202
433
135
376
389
422
160
163
166
212
321
320
112
470
478
448
330
61
2
158
417
14
122
279
433
248
243
290
260
313
247
171
403
147
455
298
35
235
388
127
176
98
354
212
294
397
190
91
69
447
401
440
167
73
144
347
498
93
91
85
75
24
406
381
329
459
498
195
3
409
3
411
5
460
234
39
496
353
27
364
260
74
129
303
198
219
61
478
123
148
29
197
220
187
349
158
230
481
264
301
402
356
101
381
361
413
319
209
353
55
304
391
315
260
78
363
441
23
70
359
90
212
445
67
38
317
429
399
240
438
362
187
230
119
200
103
135
373
247
447
169
71
189
495
334
371
336
43
477
190
330
243
233
353
303
10
5
159
21
177
448
412
394
102
266
71
241
294
448
376
340
393
284
296
132
338
324
218
439
107
369
404
418
499
77
255
287
418
74
164
43
362
338
429
309
476
135
43
54
131
28
438
425
365
127
443
190
399
235
321
327
116
49
284
389
181
66
427
49
368
111
289
291
327
402
375
383
373
467
445
3
432
11
484
73
210
405
143
21
469
397
129
201
409
333
239
385
206
480
331
369
220
486
38
442
44
391
96
52
372
25
218
495
382
281
164
494
485
482
177
321
457
191
296
395
459
374
369
326
450
322
121
51
440
451
247
335
21
127
195
345
81
361
233
39
269
341
488
219
444
430
409
477
384
212
20
362
341
115
413
257
301
113
348
100
15
316
211
155
9
296
29
48
348
195
364
134
93
208
99
95
263
286
310
458
264
254
40
355
447
480
160
386
83
61
480
186
74
431
330
186
270
219
148
35
51
92
304
233
29
446
105
336
92
109
377
187
462
11
380
120
38
453
286
216
135
250
193
122
207
355
338
299
15
195
378
24
3
343
324
127
167
483
262
257
277
415
338
489
430
176
132
359
461
59
414
259
415
96
411
48
362
133
5
479
315
170
65
336
490
389
62
109
138
50
114
426
94
357
161
316
492
277
160
226
396
9
405
81
306
374
234
181
405
4
492
449
488
330
391
216
395
372
291
354
353
164
26
115
394
70
445
210
440
197
89
210
212
271
271
291
487
461
263
331
431
472
358
281
496
468
19
158
487
158
246
227
82
377
485
399
182
270
262
94
378
334
193
56
421
102
299
267
183
405
345
432
85
17
420
108
108
479
137
480
233
151
69
216
443
421
130
360
388
129
142
282
285
450
298
298
374
293
178
57
151
450
480
330
481
403
438
370
500
89
10
240
453
257
441
28
281
124
463
41
287
436
499
86
183
206
279
406
355
236
68
176
305
95
408
406
427
483
367
54
260
432
212
500
300
326
269
227
124
69
388
250
44
182
490
391
50
33
36
87
432
499
116
189
90
406
241
385
198
4
112
85
468
385
65
135
242
261
234
234
388
65
267
119
269
307
442
13
460
445
165
88
447
479
443
471
78
317
223
21
486
99
193
90
288
456
176
76
205
166
104
197
301
376
21
412
254
500
300
239
463
484
395
427
201
451
288
19
161
24
147
416
15
350
61
430
452
105
457
429
80
466
254
191
219
206
143
445
150
356
276
41
432
111
16
347
404
107
408
181
439
281
396
365
206
115
221
105
31
91
456
249
336
52
53
497
178
482
48
234
289
447
33
81
211
174
306
319
495
140
467
191
179
474
90
95
451
34
313
254
455
491
273
199
47
76
61
386
81
210
144
276
103
9
192
28
332
72
68
73
243
457
85
468
87
61
5
64
29
497
444
205
386
1
440
317
80
434
333
302
346
416
87
201
22
279
233
480
319
159
258
400
411
150
473
278
289
131
353
207
100
106
227
467
70
445
366
170
188
379
450
351
143
372
457
454
223
336
387
337
168
69
364
456
455
243
432
1
227
131
226
215
21
136
434
303
241
387
114
402
218
6
240
358
46
448
122
103
372
172
487
30
379
51
290
285
32
137
489
214
75
468
160
178
495
123
188
459
228
334
395
433
275
372
78
326
121
434
59
468
244
155
336
460
87
428
349
427
293
91
141
289
162
13
216
371
254
240
278
372
395
455
84
211
206
335
441
132
133
232
435
498
408
106
448
279
214
246
275
269
291
405
404
389
308
407
9
434
167
118
320
488
126
34
250
136
427
441
33
279
378
24
221
383
223
492
301
401
62
11
74
169
409
28
130
391
473
490
223
290
22
169
169
55
469
475
170
352
39
209
349
201
256
126
387
148
413
14
115
181
85
416
53
258
183
118
470
106
181
297
334
101
441
206
206
220
300
269
413
323
313
76
486
42
291
236
377
70
143
122
443
233
189
249
4
244
462
338
401
170
436
482
238
458
34
352
254
304
258
105
277
165
30
96
32
135
259
476
37
11
369
282
329
389
119
358
183
83
122
145
114
349
174
239
464
21
265
255
227
442
113
123
320
2
93
279
442
8
320
219
117
353
65
145
345
358
83
414
215
236
85
325
158
332
263
477
230
250
57
295
310
351
116
479
249
98
30
461
409
64
181
93
391
482
342
488
378
492
45
418
498
461
122
352
17
218
426
28
278
297
326
297
10
330
270
57
440
457
34
140
212
439
196
114
473
176
57
358
353
22
265
186
170
291
314
157
254
144
13
395
323
34
245
271
213
428
276
172
66
87
32
306
453
30
23
413
342
133
32
223
165
272
3
170
234
486
311
425
98
425
114
364
261
425
173
428
332
436
479
389
157
196
97
182
490
345
376
71
446
423
130
443
328
211
230
337
486
334
432
342
421
207
398
233
204
70
139
61
287
175
361
384
79
292
32
409
391
27
237
64
453
172
304
391
199
71
248
105
462
211
166
75
178
442
258
415
356
113
134
452
153
480
379
49
434
180
113
53
145
260
51
464
256
206
477
134
409
103
456
440
290
302
376
192
190
203
20
249
186
414
438
108
6
368
341
255
476
450
489
36
140
86
258
291
421
448
54
176
380
276
85
131
195
373
491
294
233
81
273
201
141
142
428
401
340
15
235
119
208
351
195
202
388
354
222
80
398
361
342
317
289
121
440
261
15
65
254
144
6
29
401
401
380
459
115
496
61
356
252
313
47
192
220
209
36
283
471
196
130
251
249
106
15
99
97
500
436
383
365
186
378
171
343
38
389
6
208
448
326
187
94
25
247
43
147
499
421
422
237
63
221
61
136
170
99
409
149
2
173
493
73
376
117
482
197
240
83
363
310
317
490
165
340
467
170
425
441
95
90
302
27
493
139
479
494
289
25
4
166
480
166
288
209
303
62
254
58
394
447
307
289
155
210
138
45
50
402
15
48
277
184
133
187
377
249
336
228
348
65
123
173
126
28
105
382
366
362
413
57
226
479
104
434
27
14
469
498
479
405
15
371
94
343
115
319
272
269
370
133
470
394
103
113
51
365
294
55
134
57
92
160
102
5
103
480
476
94
123
108
438
294
203
83
185
394
437
181
218
101
16
141
91
472
228
88
401
47
105
432
89
446
333
449
303
52
249
76
398
349
459
393
379
309
245
215
2
146
74
179
375
4
290
489
271
401
205
493
106
228
432
138
429
234
36
45
500
295
296
469
306
447
401
18
54
499
83
300
194
347
139
6
359
474
424
204
35
335
110
111
371
194
361
440
285
289
304
308
183
113
70
279
439
118
283
371
166
290
435
384
180
397
120
434
189
215
494
499
338
230
88
224
115
108
223
87
462
438
354
395
418
103
397
439
473
476
483
36
396
500
131
78
188
339
40
319
290
439
232
37
344
240
499
314
276
467
409
18
486
382
9
432
302
130
347
32
224
29
209
257
100
8
6
99
38
85
435
81
250
131
438
218
106
47
82
90
268
257
409
393
175
28
134
103
231
75
234
487
61
71
278
110
85
405
419
46
443
293
66
356
281
101
300
227
51
95
309
161
180
396
18
17
421
114
413
2
76
192
304
371
143
428
125
146
121
462
288
400
386
209
389
52
50
475
462
244
303
18
457
261
200
498
147
389
230
429
488
332
39
59
251
448
74
32
23
359
406
20
456
428
483
62
411
481
46
480
296
31
362
363
469
706
666
419
364
461
313
357
484
394
530
541
759
301
678
493
681
317
648
364
342
512
683
319
474
384
562
418
789
512
506
362
654
737
562
742
618
486
435
350
606
455
372
760
710
407
619
328
724
775
391
490
406
786
621
782
758
722
504
631
336
621
668
679
713
723
608
557
729
724
532
599
661
427
659
706
626
411
419
491
570
321
689
723
623
489
616
761
751
411
510
516
674
762
783
689
567
341
364
698
719
575
500
346
715
747
368
721
322
314
713
653
524
715
464
751
508
624
319
789
632
467
565
777
593
549
413
508
318
378
798
517
754
306
729
713
631
610
535
561
514
386
788
576
483
651
497
328
407
711
372
528
446
673
609
479
684
717
473
439
790
677
683
556
671
785
393
657
595
531
556
707
324
451
462
753
769
631
784
773
702
443
585
374
799
354
334
679
424
409
311
416
405
585
423
751
652
437
367
364
783
320
463
689
733
314
609
302
619
619
653
562
736
334
616
751
767
434
768
543
746
599
464
553
598
469
503
348
387
734
378
380
552
545
373
462
311
601
445
543
528
355
570
698
782
474
643
483
436
490
305
402
717
545
761
381
595
746
671
596
667
378
536
360
550
638
412
506
378
475
752
365
746
486
717
659
735
558
768
351
361
561
605
551
723
658
659
737
673
504
451
372
465
564
340
587
619
797
795
480
708
796
320
478
606
349
500
335
648
492
426
713
653
513
617
697
472
372
384
328
582
625
654
367
410
393
325
617
575
463
659
387
663
393
593
476
792
799
325
622
447
308
528
578
773
598
734
680
542
708
317
418
681
718
497
691
305
366
682
672
547
381
760
510
620
540
551
310
649
722
565
451
473
389
609
491
434
344
366
600
717
567
678
488
482
337
415
775
747
308
509
673
711
726
475
357
328
510
522
782
714
564
300
716
515
486
445
610
452
399
337
692
626
478
714
485
671
783
513
703
301
603
304
771
311
303
383
411
545
629
472
454
536
554
734
679
619
585
719
340
467
702
485
620
443
574
681
553
773
365
731
362
782
607
317
506
339
609
395
348
371
381
510
610
693
717
638
740
650
523
588
691
602
341
572
523
607
768
338
370
547
563
603
497
580
379
648
488
478
648
503
583
359
757
611
354
372
534
460
706
656
490
585
420
493
498
658
472
378
421
478
671
784
384
507
317
365
604
480
428
739
397
529
766
319
688
508
772
386
684
745
398
430
760
715
370
533
342
524
431
397
433
447
677
323
345
758
799
556
530
531
461
590
787
533
648
393
691
377
467
761
404
444
537
690
795
552
412
710
745
319
627
584
606
753
701
488
682
443
771
692
671
379
302
524
565
697
355
581
340
390
682
754
456
537
708
653
373
328
518
646
690
494
436
791
407
621
624
467
652
581
700
558
485
306
708
387
675
624
529
549
506
552
776
427
704
536
324
497
800
537
461
774
530
709
418
566
528
663
597
627
345
547
738
706
797
723
532
386
503
625
659
360
363
459
533
685
776
570
729
740
386
488
420
680
422
315
612
639
314
706
563
537
593
559
486
748
742
356
546
599
432
398
762
753
411
552
618
351
368
360
744
460
313
656
417
585
591
495
734
516
759
775
551
387
570
439
797
540
428
560
404
418
490
709
756
610
593
786
795
690
607
492
371
481
459
468
688
533
551
774
399
330
616
490
524
406
323
675
486
629
368
602
579
513
769
723
427
693
332
563
599
761
338
594
451
351
385
637
640
656
400
689
481
790
335
311
477
644
713
492
637
327
388
589
725
717
514
570
338
585
469
332
505
417
675
321
473
323
782
695
726
424
311
553
755
357
349
760
371
524
763
788
528
592
566
363
499
406
684
575
351
647
609
445
793
667
768
487
331
629
323
305
650
510
352
400
658
782
424
454
551
753
709
754
404
758
372
542
532
339
417
459
578
679
603
412
400
450
317
759
740
718
741
537
760
323
501
764
360
658
406
377
492
498
418
382
659
301
593
523
678
739
763
457
670
349
474
707
508
464
539
731
340
336
538
402
528
441
749
387
699
780
484
719
303
678
534
695
324
496
478
383
591
796
800
430
580
578
435
441
582
460
656
584
464
539
686
630
433
724
625
530
392
553
628
684
794
752
487
322
722
596
421
494
612
701
517
612
644
437
369
318
640
332
321
623
371
800
450
681
447
789
587
682
408
441
783
637
539
409
476
795
443
639
574
794
489
348
559
613
623
746
676
769
764
394
319
620
329
560
466
765
700
709
581
388
593
725
727
715
531
475
556
713
470
524
532
504
639
547
788
322
589
702
793
555
556
476
709
571
471
380
693
593
715
800
685
750
451
554
465
510
560
717
472
383
394
743
704
757
511
650
425
788
738
439
592
321
585
469
484
735
489
507
575
611
319
615
702
496
433
780
756
731
690
395
325
550
754
612
729
445
735
739
482
511
338
644
486
658
556
658
671
610
587
308
650
517
654
311
342
509
643
369
683
455
709
441
756
358
731
656
586
433
356
422
344
492
327
319
591
789
707
760
472
673
770
392
571
464
605
456
320
410
794
582
384
312
676
371
430
687
750
508
522
534
382
443
583
401
786
619
421
576
403
535
312
542
401
310
308
569
547
462
580
362
321
740
537
790
711
358
574
426
596
684
645
340
395
703
678
507
603
352
351
387
758
562
685
698
615
454
579
598
542
454
661
420
508
465
771
736
584
774
546
381
789
658
340
541
731
531
756
749
723
766
353
760
655
592
436
589
457
556
394
467
365
509
691
584
515
331
335
702
346
370
458
651
416
787
618
622
746
409
443
571
602
528
792
702
319
595
557
552
404
613
351
404
684
605
797
444
679
688
450
485
498
712
338
359
718
544
528
560
341
433
507
372
502
749
693
769
550
353
435
385
618
667
334
447
600
668
598
483
439
392
651
516
422
732
568
603
686
607
484
360
661
464
626
484
488
656
345
798
474
760
361
462
548
777
391
342
356
329
665
739
576
494
571
478
641
541
679
506
337
746
436
622
474
544
407
769
761
594
658
414
738
421
735
771
311
554
558
513
379
543
527
397
788
317
713
478
309
612
335
774
315
568
435
697
748
476
570
730
694
692
534
434
691
454
306
723
395
687
628
463
723
409
650
444
342
478
676
449
557
710
479
559
387
565
551
604
694
691
363
765
705
310
541
783
788
332
315
400
375
777
321
722
403
352
488
519
593
565
347
393
545
708
420
344
518
518
429
791
709
745
396
665
594
670
367
583
728
702
456
580
482
352
681
744
590
516
475
630
517
507
553
573
629
397
538
403
610
702
703
431
306
650
464
504
702
305
507
746
536
716
752
424
677
765
612
318
446
490
343
736
665
345
467
300
496
421
743
492
783
692
538
800
439
309
768
532
783
398
552
733
400
348
452
454
562
495
652
481
585
532
650
732
611
702
404
444
390
469
489
656
618
741
559
403
575
762
398
472
449
681
684
326
461
757
380
712
567
314
619
647
668
611
634
570
566
388
672
486
331
593
580
759
653
734
376
725
401
585
454
536
356
764
761
548
602
320
305
680
710
627
762
749
621
430
742
495
748
486
553
350
659
767
782
339
340
474
482
490
527
315
670
618
682
505
622
369
418
759
738
654
388
666
768
390
734
311
780
686
411
536
593
515
570
575
447
496
551
551
318
511
585
542
449
716
581
310
474
800
464
436
510
606
746
628
779
423
414
749
712
749
383
465
749
367
735
421
738
576
495
513
637
545
312
521
631
505
724
716
761
772
660
727
549
520
311
638
537
622
512
366
315
661
495
625
356
628
417
573
318
619
451
687
560
761
783
451
415
402
545
415
360
391
746
551
430
721
716
427
512
497
599
317
536
497
557
574
743
751
407
759
680
388
419
721
452
731
622
540
311
784
319
306
743
766
394
771
583
391
444
323
649
678
557
773
667
392
448
695
589
655
698
338
658
404
330
318
465
481
637
461
432
707
692
743
495
424
597
725
568
619
417
719
628
746
365
629
694
563
744
328
481
661
513
514
351
542
674
454
396
592
664
340
354
749
554
566
773
797
718
608
507
374
313
346
495
325
439
343
780
503
735
503
468
530
304
655
736
387
444
501
739
641
564
443
316
622
617
797
377
339
602
762
312
754
524
520
771
422
435
692
645
799
723
631
797
690
587
600
414
435
486
369
783
384
724
576
466
673
571
410
789
670
308
572
344
666
346
448
702
498
603
652
544
332
450
612
630
331
513
386
311
522
671
526
652
319
683
456
482
377
455
746
773
616
407
506
328
781
752
759
747
530
589
749
442
365
556
616
719
693
793
683
763
594
483
301
665
481
767
570
457
481
354
745
472
789
441
738
741
658
461
604
696
600
564
494
765
510
433
525
326
425
321
357
562
465
409
312
344
623
345
722
407
395
316
341
590
782
389
723
694
428
317
451
521
409
771
792
349
319
596
330
311
452
434
585
375
679
515
432
789
363
356
341
579
723
585
415
525
694
335
557
523
606
450
483
620
624
658
692
473
552
446
401
470
376
608
517
626
348
800
375
679
717
453
706
600
549
798
646
358
741
398
303
396
473
759
424
777
625
462
622
568
504
571
480
580
632
525
759
505
343
516
552
616
385
645
698
438
362
535
702
301
686
560
359
594
616
678
459
789
574
591
699
532
553
660
307
668
457
616
433
689
699
743
342
400
371
344
473
698
484
788
557
488
657
567
770
612
494
517
356
543
675
696
766
730
760
722
707
714
568
675
777
679
642
436
347
619
637
402
642
472
637
552
392
728
721
464
370
626
444
332
421
488
702
582
778
564
678
439
559
622
707
489
594
376
587
740
305
641
596
517
385
310
507
348
649
356
651
676
585
563
699
620
638
613
512
546
398
498
461
521
476
349
598
775
450
742
735
749
526
458
604
655
325
462
712
588
649
790
404
735
570
303
349
772
670
785
311
532
467
425
712
482
622
309
798
622
527
719
651
302
458
689
331
617
589
487
760
657
349
448
321
576
534
686
321
399
529
321
383
743
382
444
592
679
481
435
460
511
697
731
686
485
518
646
375
330
600
403
406
552
451
345
780
454
356
431
532
383
363
463
365
795
642
515
684
726
541
751
721
323
479
434
397
399
321
352
715
537
340
700
756
764
638
325
562
688
429
605
324
794
649
325
709
576
566
760
639
726
392
635
525
434
767
309
545
629
436
591
703
496
341
639
747
459
364
723
437
517
768
526
340
548
519
718
425
452
619
632
542
342
489
314
541
543
397
750
588
754
759
652
630
543
616
412
425
646
595
388
450
549
604
419
402
690
749
737
550
605
455
770
324
676
391
307
555
339
511
498
764
790
415
397
324
667
612
345
557
660
322
411
429
574
764
795
343
647
598
441
376
482
319
404
649
534
579
357
685
408
745
314
663
673
315
759
588
729
305
458
524
604
496
711
447
441
741
568
333
357
340
561
634
440
388
510
599
452
548
792
557
712
465
748
400
689
705
772
391
404
622
561
615
379
532
302
756
575
592
381
428
392
384
308
732
669
751
503
578
641
501
409
583
573
600
656
502
439
377
576
682
541
459
478
300
679
462
443
410
555
499
472
604
668
341
443
668
599
312
634
511
426
744
501
427
480
744
800
420
736
624
707
687
739
778
780
403
800
403
724
398
578
677
686
732
445
679
448
751
605
568
726
752
587
497
430
594
388
609
458
490
546
623
579
581
592
341
419
776
425
688
505
417
737
446
548
608
635
317
725
503
397
604
596
323
744
642
587
678
345
754
360
524
631
790
768
405
403
493
610
375
735
548
570
683
426
372
755
358
635
314
635
364
756
413
317
591
343
613
384
502
374
691
389
372
460
310
492
599
557
566
603
310
718
723
622
396
555
344
711
430
772
512
563
328
421
463
427
504
720
756
412
695
408
463
356
564
315
678
391
515
632
615
736
570
340
607
731
702
431
475
720
444
462
480
582
650
589
589
434
542
493
793
612
580
501
631
774
464
705
360
757
572
382
770
596
722
382
321
650
340
648
431
748
659
764
457
624
703
309
617
569
476
543
798
597
341
350
738
731
756
444
502
792
644
516
640
464
770
404
603
316
789
412
582
316
759
408
593
782
662
750
307
335
345
335
752
524
450
553
663
517
401
536
501
591
556
539
625
402
754
631
337
472
560
404
331
732
783
689
395
580
374
348
569
762
472
543
356
600
617
467
478
570
715
723
373
402
581
675
493
568
485
444
662
472
550
780
761
701
624
346
521
658
510
322
462
476
440
313
699
617
532
533
666
674
676
624
487
339
569
355
385
719
565
323
467
713
501
479
483
750
646
321
748
407
430
617
700
745
663
784
645
645
607
468
598
526
551
501
322
643
542
749
598
426
488
618
736
742
750
677
517
327
658
725
312
776
315
390
495
582
612
512
353
768
776
394
646
755
796
610
630
640
675
656
517
484
308
530
761
746
394
557
399
681
714
471
408
520
510
723
627
784
394
684
524
439
771
361
777
566
769
721
337
496
775
422
573
517
656
685
693
729
703
694
576
660
563
580
793
627
673
640
580
339
755
441
508
642
731
565
545
375
448
425
375
415
349
717
385
780
517
405
738
791
701
511
746
316
395
416
595
702
568
561
684
486
431
500
390
451
773
662
557
526
494
400
738
389
716
314
661
431
407
306
672
366
511
385
750
418
493
607
690
477
724
580
332
380
669
404
702
613
656
323
350
748
516
449
710
400
674
778
505
484
541
382
522
558
367
300
446
509
689
624
531
600
461
680
417
702
575
570
589
534
399
377
735
732
497
467
354
652
466
369
772
481
654
381
539
689
617
624
330
399
721
556
324
501
765
771
619
327
430
682
643
537
475
435
534
421
626
474
627
516
337
620
332
316
313
429
342
441
663
724
659
671
388
797
650
540
328
671
659
728
537
412
647
799
503
345
316
672
546
586
533
773
583
366
337
345
364
707
629
461
399
714
578
625
370
419
392
515
656
641
657
658
316
755
495
796
743
398
771
637
533
739
399
532
718
706
422
607
662
608
538
559
558
478
755
785
339
720
659
653
328
633
438
322
412
368
569
631
309
607
550
754
311
389
681
729
660
437
691
557
391
455
572
361
338
387
504
524
727
701
506
496
338
599
705
365
553
363
714
703
732
470
769
479
561
749
408
790
746
631
333
457
450
456
676
323
419
768
407
538
532
693
375
785
625
726
410
540
694
550
723
448
471
598
498
600
574
684
391
622
509
456
556
510
659
705
401
449
507
558
715
445
571
479
607
683
362
501
509
716
621
375
420
431
784
777
367
574
587
692
316
764
593
393
391
657
775
681
692
346
783
731
456
716
725
744
407
531
493
482
627
605
628
610
480
549
755
417
443
415
518
780
372
630
368
440
314
337
621
537
762
497
360
653
590
735
636
555
650
463
507
613
631
527
623
695
365
774
500
713
463
626
628
405
505
403
696
712
747
449
715
401
624
633
667
441
614
441
666
679
371
767
706
490
368
647
587
583
731
545
485
387
338
428
578
606
694
771
432
786
351
533
560
447
661
572
585
523
733
613
557
396
359
362
717
701
793
534
451
514
460
455
499
438
516
760
443
395
370
310
800
678
491
590
408
478
393
625
726
454
713
456
338
437
437
538
489
599
780
432
554
767
413
567
569
696
598
621
583
389
345
721
479
323
710
695
690
312
515
491
775
400
792
368
693
396
320
800
567
396
546
325
798
601
324
773
455
396
338
402
737
425
396
466
359
699
361
716
433
638
639
752
684
676
533
733
311
763
439
480
548
447
312
476
378
686
387
555
358
323
651
550
479
408
351
471
748
419
306
558
565
686
799
800
414
409
768
382
475
448
336
442
345
369
508
302
700
686
721
526
737
427
714
755
650
421
572
779
714
508
468
545
750
395
654
620
344
535
424
381
363
417
776
575
641
313
753
413
624
613
348
362
788
564
615
701
371
542
704
746
678
640
466
571
561
376
474
561
406
410
716
684
581
577
653
606
634
599
649
757
408
345
477
530
327
677
582
575
578
433
331
437
346
512
367
622
719
594
567
419
680
491
502
634
443
496
402
461
478
763
797
451
464
388
326
656
582
346
495
677
607
642
364
556
436
750
506
577
411
380
486
498
699
657
450
337
424
402
699
717
512
423
665
705
317
788
767
680
333
315
512
750
550
412
608
334
454
661
680
638
410
429
663
748
461
325
409
630
432
763
623
556
685
620
424
658
640
328
476
405
794
606
450
437
683
720
560
733
779
507
397
766
306
582
596
396
682
487
330
401
692
378
672
605
781
421
629
583
464
615
689
584
537
347
529
451
401
306
394
547
572
408
781
787
498
611
702
397
456
509
376
523
731
326
687
739
563
509
368
768
736
420
437
407
403
486
391
358
720
442
660
354
703
502
732
714
574
304
486
604
689
607
616
414
713
643
409
566
759
581
745
719
314
450
660
506
513
434
462
353
787
450
665
628
770
728
790
737
695
784
350
529
440
626
613
398
635
370
703
593
674
424
614
585
521
345
772
388
450
591
613
359
483
433
349
664
409
359
738
474
626
642
473
580
777
429
633
490
625
622
606
554
410
324
371
382
658
620
374
364
321
579
631
650
495
786
571
709
655
436
391
602
761
540
626
372
524
381
487
487
559
443
375
474
488
658
740
437
339
568
433
416
506
318
510
303
746
649
640
607
608
439
394
748
782
388
739
767
576
709
737
692
356
754
555
610
519
558
643
651
514
625
562
309
502
345
323
394
564
393
741
431
430
588
705
524
336
734
705
748
540
398
548
472
533
564
798
377
587
508
798
695
572
708
569
380
718
716
605
533
677
556
404
640
348
657
324
329
343
487
663
507
479
514
621
720
690
745
475
667
658
783
643
321
384
713
328
343
376
388
621
653
721
317
581
422
536
422
719
536
310
353
758
642
742
316
575
588
787
634
542
381
685
549
761
340
418
526
402
761
619
450
367
639
317
641
767
627
700
340
751
418
527
584
425
535
606
497
384
435
593
386
656
625
768
308
619
420
306
457
785
774
684
322
741
704
646
738
472
585
338
636
536
515
775
466
605
614
562
751
732
776
400
431
589
373
471
752
795
369
725
665
369
499
307
558
379
353
361
443
768
537
696
381
302
691
677
361
732
786
351
475
726
677
676
438
394
764
749
732
796
714
478
724
774
453
490
618
730
336
760
406
687
460
624
447
444
416
783
725
693
503
441
515
744
677
492
634
559
640
484
362
583
742
392
748
648
386
650
751
773
713
753
449
381
463
649
737
583
470
313
702
784
754
487
327
402
638
642
593
503
708
646
504
721
607
424
371
614
619
708
333
697
403
621
463
702
390
436
757
782
604
658
680
378
437
717
424
657
402
751
438
736
460
586
378
716
649
571
768
417
565
306
321
772
320
586
512
535
686
477
476
578
685
736
417
359
667
585
466
763
577
356
722
395
700
644
307
702
539
494
572
452
503
403
411
626
511
611
475
515
507
675
571
373
720
396
404
765
686
320
669
654
659
744
470
685
565
471
595
633
347
452
796
502
532
328
565
516
636
327
353
522
321
379
635
389
416
679
776
689
487
497
595
368
305
705
698
707
693
604
500
767
484
428
421
385
781
400
508
725
694
414
639
304
772
322
300
529
365
598
443
376
533
533
495
699
650
331
523
420
364
512
415
403
539
342
744
525
771
301
305
707
345
350
365
648
520
795
371
745
484
545
588
384
696
650
305
627
535
497
300
752
765
683
588
469
493
451
359
434
583
478
686
363
716
363
453
639
336
421
556
355
364
720
309
365
508
567
437
461
301
599
587
371
769
639
793
790
341
571
446
400
393
572
698
320
306
779
733
746
723
448
732
602
352
437
646
708
678
645
467
788
491
731
635
787
566
768
570
751
310
730
662
797
305
367
610
321
645
789
774
500
460
398
315
386
318
670
797
552
392
711
624
340
568
639
708
431
556
308
672
640
784
689
568
634
355
520
629
379
526
634
625
474
743
698
670
545
609
523
416
377
381
422
439
724
616
359
421
311
360
446
539
608
785
344
730
695
745
304
615
569
756
710
386
631
732
700
352
505
486
666
371
513
549
505
405
775
517
617
414
324
317
516
777
336
411
508
541
438
526
641
393
787
472
564
423
445
410
436
414
507
738
691
338
691
316
770
597
781
338
420
799
729
617
579
383
318
614
350
726
743
785
401
778
413
486
598
414
423
384
480
521
455
481
693
597
759
582
529
523
616
503
424
685
498
681
382
467
320
658
427
345
645
497
464
711
469
693
627
798
637
502
574
389
554
717
524
670
474
357
319
670
689
626
457
721
535
406
397
521
494
651
651
716
677
400
588
607
396
730
425
538
641
383
601
314
637
504
762
651
680
791
459
341
335
396
617
748
359
654
541
371
657
307
330
583
704
525
753
300
591
498
373
563
416
781
570
457
464
424
348
641
323
353
449
624
784
633
740
408
320
373
685
720
694
496
417
688
362
746
344
494
556
398
557
753
698
608
454
778
494
417
722
624
348
430
467
676
784
621
696
678
327
463
615
368
676
512
304
378
482
493
791
503
567
444
510
616
574
544
782
701
388
372
575
686
432
308
423
390
311
390
325
587
600
756
522
737
321
677
340
336
374
497
784
772
714
591
411
738
480
568
587
686
698
376
398
421
358
309
403
387
737
508
676
330
426
509
710
367
678
365
402
340
604
434
727
471
668
662
625
441
448
536
366
535
574
464
370
467
458
362
378
378
751
317
664
345
451
745
571
716
385
643
429
423
634
584
746
307
608
543
491
726
761
720
643
327
387
755
544
430
474
424
578
330
796
705
485
547
457
364
513
646
691
559
497
556
661
663
702
698
637
694
703
648
359
382
774
630
637
359
634
726
712
610
627
555
498
794
514
745
701
614
449
483
775
554
378
461
629
674
745
409
305
664
420
738
662
552
626
569
490
411
341
540
624
425
578
571
332
672
658
719
719
315
442
514
563
558
404
703
669
404
603
309
673
452
733
611
612
351
759
405
401
378
536
448
675
452
492
362
332
795
696
772
700
706
418
570
379
396
759
692
674
730
717
316
451
360
596
607
420
765
704
507
332
492
468
447
660
381
396
710
485
446
356
630
560
513
331
772
574
404
373
671
622
783
307
724
442
444
366
637
785
699
749
556
561
714
611
331
539
518
759
653
702
587
609
609
373
443
595
366
494
394
743
646
483
671
321
474
315
449
592
310
746
505
590
658
344
309
492
786
721
367
390
745
474
519
451
375
471
373
478
497
417
772
333
534
623
356
794
317
667
343
369
732
358
788
480
677
649
719
438
557
362
680
360
483
332
725
627
705
388
440
528
785
576
769
672
751
573
792
579
645
669
356
695
628
698
405
740
481
535
781
306
578
381
610
546
498
750
730
652
597
766
610
702
379
684
606
504
798
532
470
530
711
515
595
672
375
658
538
758
426
302
502
608
666
479
571
717
690
375
645
733
403
320
636
538
529
513
757
670
501
718
516
531
311
444
656
693
599
655
435
611
707
320
684
642
715
370
439
538
354
422
511
728
772
791
511
757
391
468
351
524
511
473
407
704
566
564
599
706
675
324
454
701
509
618
333
759
431
781
725
558
532
399
540
537
398
678
777
669
387
751
745
570
456
463
736
501
664
747
388
754
557
612
576
460
472
392
460
387
300
373
572
387
568
522
422
761
567
732
337
524
744
483
444
669
624
619
373
731
727
575
710
556
524
647
437
613
730
302
370
440
371
502
747
611
412
670
545
800
743
724
675
404
374
451
430
419
778
701
414
409
629
636
487
624
470
490
565
743
523
655
610
726
760
600
340
125
18
344
245
419
443
341
242
426
335
147
10
221
453
208
244
315
43
464
161
348
184
362
10
97
275
498
11
151
395
67
364
290
312
418
249
79
50
240
22
283
140
232
308
289
379
373
312
323
166
447
33
192
403
86
440
193
148
405
172
170
136
333
272
274
313
165
51
55
179
258
279
204
338
79
358
156
441
454
245
411
38
155
82
33
47
399
429
35
476
257
315
307
399
145
308
116
458
210
360
498
10
474
232
364
221
237
487
475
490
434
24
24
221
298
459
311
475
55
232
51
319
210
219
250
47
150
175
265
442
496
474
60
168
440
239
256
285
38
419
467
302
478
76
422
61
397
496
274
96
72
330
408
37
228
252
26
181
361
242
260
439
289
258
353
500
244
314
216
282
137
102
482
94
480
255
484
147
464
121
402
133
121
391
343
202
258
347
49
428
449
68
38
156
311
317
73
355
359
133
62
344
447
316
429
405
326
138
490
332
259
242
223
466
194
159
439
194
489
38
430
53
158
267
70
141
351
366
500
228
356
34
273
147
192
370
85
268
243
196
297
482
197
15
213
92
476
161
241
417
457
171
449
91
488
445
48
485
209
253
254
147
371
226
79
14
264
203
24
462
180
327
117
66
479
361
364
62
206
305
92
182
142
460
146
378
348
426
54
218
440
118
188
413
85
72
24
103
127
134
184
260
392
152
397
335
425
399
412
284
360
185
125
455
8
39
121
495
89
351
230
390
206
257
144
293
169
326
118
448
188
485
151
333
123
351
29
415
31
169
418
415
215
211
123
262
198
395
458
489
195
16
184
466
173
479
131
280
87
185
382
151
333
319
475
17
425
135
378
193
84
199
356
351
1
332
127
208
9
440
189
296
170
129
101
350
210
106
269
61
455
249
210
478
232
173
258
1
51
420
44
340
482
189
415
162
97
355
80
118
165
439
311
13
115
361
20
102
188
124
262
441
86
5
262
402
301
53
182
184
336
40
206
302
179
191
155
42
172
373
347
334
38
154
226
272
57
317
442
74
281
80
35
142
167
102
313
259
382
221
290
91
472
41
353
485
232
462
225
79
304
478
384
21
263
303
131
375
84
444
43
102
459
222
94
43
198
103
96
25
449
499
313
65
159
456
124
423
176
12
123
96
7
133
426
103
485
337
142
133
305
67
398
82
43
190
152
45
492
201
402
384
459
405
377
314
238
116
4
114
89
187
246
29
436
303
93
443
276
272
159
299
479
10
99
157
305
145
438
90
204
40
476
412
20
362
365
443
16
218
276
359
41
418
15
107
36
252
138
203
108
404
123
71
274
432
211
181
9
5
354
490
98
496
297
440
308
143
373
275
21
322
273
162
145
321
224
325
281
83
17
250
260
365
152
281
194
370
266
193
26
424
333
268
434
420
434
242
290
486
197
19
246
452
294
383
121
177
299
24
118
397
33
99
486
328
79
455
76
192
155
468
17
405
240
12
385
305
378
448
216
240
272
482
18
335
264
202
472
192
6
55
119
53
211
244
52
379
125
416
311
34
63
143
2
232
205
435
482
58
282
440
444
386
172
108
365
335
207
35
335
244
427
106
261
353
314
119
247
160
408
493
435
23
497
294
89
229
334
92
37
364
494
208
394
191
52
30
155
82
161
169
323
159
32
118
419
339
299
17
207
22
141
196
297
131
193
354
445
420
170
219
354
307
197
301
100
27
100
495
229
230
33
334
297
387
223
94
421
371
449
82
111
245
325
217
348
204
345
481
336
302
496
25
98
298
147
243
260
42
84
144
214
240
449
152
296
427
122
323
223
138
353
287
444
277
178
219
144
224
86
419
176
326
198
189
64
66
345
478
15
176
252
216
314
415
222
237
379
483
331
232
50
120
266
66
382
419
2
154
377
351
403
458
137
219
98
432
405
23
379
234
53
330
92
423
210
68
135
443
421
8
437
449
489
309
297
267
245
13
87
450
340
107
458
169
49
223
214
29
107
264
296
227
46
155
480
234
57
243
236
283
247
20
483
315
424
64
405
260
317
249
467
193
436
210
379
68
139
289
373
9
76
414
37
285
34
310
392
320
99
175
202
149
145
469
347
225
220
430
203
20
81
78
341
116
237
384
175
34
150
366
379
479
467
249
209
32
60
217
208
290
104
497
445
433
18
14
420
96
164
142
126
154
142
356
64
41
200
355
213
117
283
440
207
99
329
73
16
179
73
419
229
359
133
177
216
219
388
371
110
455
92
154
167
168
336
83
2
435
404
157
54
243
5
465
211
334
89
1
32
212
77
185
77
216
389
222
440
75
61
244
480
98
180
272
346
68
47
31
290
451
121
458
126
205
394
243
114
31
199
17
118
177
139
33
77
83
276
397
280
193
62
393
468
430
377
40
486
160
102
361
19
388
147
268
492
423
252
348
52
211
239
438
461
75
413
36
53
255
350
461
65
500
26
87
349
107
282
291
7
418
431
179
279
2
315
21
408
462
444
147
109
457
66
332
18
94
453
103
66
453
52
184
78
382
151
40
355
179
167
453
262
311
92
239
113
74
64
409
231
380
118
417
249
277
362
163
16
258
144
329
162
296
277
356
392
385
127
278
470
192
240
105
351
463
218
372
449
468
454
13
149
41
290
416
448
216
406
130
189
219
293
94
158
173
230
101
363
207
351
240
410
54
438
497
445
94
496
470
131
6
329
453
81
407
115
381
258
137
471
494
269
145
18
262
11
366
261
464
277
478
139
274
375
288
220
46
165
304
80
149
123
454
274
29
200
133
431
297
387
57
399
279
489
68
241
34
287
354
288
217
409
255
419
393
61
154
451
199
370
153
372
366
224
144
16
232
153
246
108
491
99
91
117
276
152
384
299
160
195
154
362
132
273
70
410
191
368
241
225
486
265
212
369
455
52
3
88
99
77
188
14
435
242
267
301
78
283
236
104
386
64
21
392
64
237
183
449
273
424
184
80
476
269
323
434
422
30
455
116
285
51
129
363
93
132
490
164
297
158
482
60
327
412
272
241
430
98
102
188
136
121
451
443
284
35
228
129
22
54
257
374
76
252
251
421
9
121
71
172
424
40
220
482
371
145
358
69
157
392
155
199
111
152
311
247
175
434
361
64
223
465
240
329
373
287
204
205
148
133
119
84
120
266
204
235
54
426
487
144
459
230
309
249
270
499
12
335
317
119
392
92
17
373
421
322
423
229
217
147
176
161
437
425
308
123
388
19
364
414
424
63
373
281
270
280
129
303
144
71
33
13
102
425
424
79
403
467
400
146
406
95
95
451
485
497
125
227
81
206
133
207
184
217
466
400
208
402
73
68
165
483
156
249
459
367
365
27
478
278
365
160
227
361
124
284
500
339
399
420
291
496
394
319
283
190
404
484
477
8
484
483
211
236
134
35
459
237
355
237
155
11
45
422
412
492
359
108
321
199
18
319
338
472
210
284
10
254
8
156
307
141
24
250
217
269
422
410
290
221
161
149
157
80
262
394
9
109
4
412
345
265
477
367
202
107
457
85
101
366
105
473
323
479
484
126
19
450
393
286
348
37
117
387
317
243
365
316
425
428
484
434
403
230
189
41
431
149
207
354
107
393
208
334
173
480
140
412
222
43
231
228
317
277
319
176
326
475
81
25
150
348
53
43
399
81
337
492
396
326
152
18
92
83
221
188
249
93
312
258
305
245
139
312
472
215
109
174
288
281
304
497
418
83
461
284
466
171
310
250
499
489
4
247
188
153
391
202
323
130
88
26
425
479
278
429
291
477
360
486
40
220
395
159
99
235
347
495
151
270
440
411
127
3
120
252
184
170
112
81
51
46
256
362
121
21
124
320
20
196
297
273
137
272
357
316
187
385
99
50
259
236
411
440
119
88
450
481
396
226
405
52
261
247
345
460
365
420
464
492
373
264
243
181
356
141
231
339
427
272
449
159
405
181
454
308
468
316
36
78
55
33
209
480
369
235
370
462
110
207
187
94
272
469
378
236
80
119
225
437
359
170
413
60
134
343
345
240
338
379
249
435
405
308
246
169
338
347
487
494
343
498
392
485
222
54
270
100
257
95
338
133
211
77
140
360
81
8
226
348
174
192
393
252
19
246
456
142
158
274
168
318
365
33
129
190
175
177
63
3
152
248
95
452
295
290
433
410
366
343
311
279
14
124
409
485
192
471
445
95
471
78
317
140
203
217
487
196
391
304
385
367
348
59
472
93
247
201
147
492
294
468
189
89
398
319
171
266
428
428
295
493
206
229
262
479
81
225
253
320
426
419
117
14
218
298
156
165
251
62
208
189
388
4
415
147
148
477
249
7
376
4
166
428
28
52
188
38
324
393
297
85
56
356
377
382
289
371
76
219
219
480
143
204
480
346
322
57
267
453
70
272
295
339
388
475
487
399
146
299
35
42
472
408
313
133
227
305
261
66
224
180
362
196
93
279
115
366
238
298
19
149
25
129
422
217
383
111
276
349
7
45
231
7
46
500
28
428
86
449
127
133
395
428
202
274
244
453
5
453
178
499
35
11
433
30
68
143
263
87
495
76
237
228
471
144
414
170
435
159
254
184
366
430
226
234
133
370
278
318
208
157
375
479
245
200
59
319
81
204
90
348
427
470
68
211
499
429
169
454
52
38
376
93
411
440
441
450
432
288
441
173
403
296
261
371
331
143
340
361
170
324
182
17
222
120
142
148
104
15
110
87
112
295
130
264
445
268
99
29
447
35
99
468
335
214
7
102
70
478
293
202
438
431
491
279
375
70
396
438
154
45
374
105
216
264
130
396
85
48
113
387
450
40
483
402
18
421
338
69
383
303
4
7
306
34
190
69
25
223
131
81
19
299
281
398
134
398
339
255
134
442
446
359
473
255
198
351
199
479
138
115
224
435
43
377
325
268
319
68
114
180
206
389
193
394
466
419
51
197
401
460
480
433
400
261
192
364
462
419
219
343
294
53
194
493
1
174
28
278
22
151
328
13
225
258
108
401
235
418
339
353
140
475
344
414
317
319
55
398
200
494
73
398
227
287
225
95
122
59
282
290
378
495
488
474
308
356
407
284
229
323
474
21
264
64
241
188
81
10
458
494
481
100
118
66
357
384
40
363
83
213
215
174
324
436
350
51
239
351
402
495
439
193
339
454
409
19
243
239
185
140
200
500
152
493
261
89
255
48
105
138
430
226
408
409
76
481
254
307
202
315
390
351
371
133
468
204
404
392
491
439
437
213
271
392
421
89
146
251
386
132
27
188
29
132
60
284
29
226
248
51
450
316
114
251
246
450
280
299
208
295
169
205
1
492
481
430
428
176
454
362
85
12
5
45
143
281
147
134
220
92
296
307
262
354
422
291
231
149
442
286
497
168
323
92
92
202
136
417
225
67
64
292
17
243
201
120
488
255
130
343
464
387
18
411
318
2
163
15
27
21
435
491
239
59
299
360
399
135
310
18
489
200
317
212
94
489
69
58
276
172
205
19
58
302
458
3
438
258
461
356
106
347
292
452
210
464
457
309
489
173
312
65
490
96
156
279
388
267
490
163
263
462
179
207
194
90
199
50
418
463
190
269
187
67
95
114
38
439
228
28
127
43
106
14
358
387
314
327
26
129
104
359
310
179
412
126
252
318
491
269
30
313
448
354
131
299
433
104
264
364
88
80
5
415
396
468
132
273
413
430
489
402
143
190
219
173
324
412
307
10
420
168
343
397
91
80
418
338
130
208
258
91
14
401
123
389
250
480
220
39
376
392
128
463
63
239
316
467
172
273
144
256
360
394
219
461
78
174
79
394
282
392
162
484
225
80
268
94
328
66
150
47
56
195
477
287
284
91
40
61
244
498
170
309
165
209
68
482
373
84
183
59
461
213
235
492
42
288
17
342
185
370
463
207
407
321
241
15
174
210
315
286
98
230
150
260
68
351
453
241
277
107
362
78
222
275
225
369
380
209
277
164
91
24
361
97
189
105
351
238
233
472
365
356
121
245
360
151
345
441
66
196
369
469
3
127
43
177
301
28
27
27
93
16
28
7
394
30
461
300
165
25
392
152
226
262
334
348
263
442
380
275
155
96
146
344
263
461
59
169
293
38
152
483
105
380
398
20
449
219
403
344
384
408
237
271
227
240
123
266
388
302
245
96
53
366
99
20
114
461
65
377
415
5
218
360
360
157
255
131
74
226
436
283
403
437
266
393
199
66
404
167
59
178
323
322
438
168
360
183
359
414
398
338
285
2
62
42
43
417
360
456
317
29
203
392
383
135
264
134
305
28
419
471
196
239
212
183
276
216
418
183
75
325
407
235
265
22
23
482
238
264
393
59
242
6
320
360
376
392
360
386
383
321
435
135
82
21
403
28
394
161
452
491
277
165
98
214
378
287
365
163
276
273
406
67
410
487
80
306
333
156
356
264
97
327
477
286
109
163
243
392
88
154
59
292
255
263
456
289
317
395
273
365
306
41
423
493
236
243
215
282
136
388
237
461
145
161
311
128
175
373
201
25
222
309
426
236
295
22
357
261
92
232
338
404
56
259
424
341
55
17
23
92
242
56
203
209
232
256
165
142
14
276
330
33
57
28
249
101
113
39
153
170
29
64
197
305
262
52
145
270
237
7
154
353
142
363
469
184
363
158
426
403
486
80
384
133
199
333
9
335
270
233
135
379
290
429
289
335
143
228
149
366
293
448
212
464
162
58
417
189
29
120
466
15
189
36
424
373
10
499
281
188
158
397
129
486
249
393
247
66
395
49
162
495
168
467
348
229
210
64
390
22
354
350
266
290
33
369
382
457
481
210
206
150
365
294
38
185
445
443
461
207
63
482
282
478
248
270
146
388
452
266
435
21
38
404
165
97
42
198
74
44
436
209
47
108
110
29
169
205
294
346
190
49
319
45
167
199
259
140
83
186
170
155
70
338
109
446
27
67
118
172
348
95
395
318
112
463
354
78
200
238
313
88
315
356
27
234
367
173
95
201
482
166
272
407
17
7
215
332
477
156
126
446
99
154
386
300
246
25
32
12
81
339
312
112
22
404
30
18
155
414
118
73
492
392
224
176
214
74
189
287
138
380
185
189
333
65
478
39
201
404
21
167
237
53
113
70
163
202
245
397
359
192
239
412
168
9
80
216
215
337
242
233
263
32
453
412
201
275
257
291
283
195
413
393
184
4
2
305
89
437
252
222
479
304
391
70
170
204
136
267
349
26
286
367
47
295
303
32
418
37
181
112
310
343
188
219
366
156
141
379
272
381
42
102
147
141
216
119
11
89
294
142
12
409
125
110
39
26
335
424
273
379
221
122
354
363
29
451
303
41
397
327
57
42
176
248
91
5
179
495
378
113
328
248
340
348
291
220
458
339
340
225
307
233
85
261
202
143
296
9
435
358
127
313
475
457
242
373
443
166
45
82
48
146
470
414
4
149
140
498
160
12
263
463
230
39
477
65
482
31
199
224
22
44
349
425
67
229
279
416
178
341
89
80
336
458
269
372
422
197
185
317
406
428
87
413
131
336
486
138
279
280
156
469
404
247
201
399
447
287
192
173
70
98
459
481
174
157
33
225
217
360
204
11
455
212
482
379
194
353
214
236
356
221
272
475
168
51
245
191
438
493
32
18
417
284
231
441
339
313
166
429
428
134
131
478
467
387
390
330
427
118
431
215
113
278
350
227
404
32
247
33
346
257
88
405
89
337
373
184
42
468
383
109
69
66
157
108
83
129
99
122
145
123
480
35
3
175
111
304
338
209
322
189
439
346
64
178
340
199
182
470
84
313
25
329
442
417
486
247
103
194
462
98
114
68
281
257
142
389
7
3
7
55
143
435
353
477
28
366
351
439
144
243
220
497
247
16
200
135
142
78
105
143
19
482
293
44
318
75
360
91
145
444
92
82
204
331
465
128
471
272
22
272
165
380
366
218
255
175
163
88
422
328
3
183
142
72
241
96
216
34
420
466
238
418
499
374
74
53
255
430
450
393
357
172
420
43
59
334
319
305
376
352
68
223
53
422
342
201
40
352
225
462
307
92
438
77
321
34
334
33
189
64
264
261
460
141
333
9
322
216
375
19
480
50
462
230
94
164
63
347
196
492
379
420
87
407
232
434
262
391
311
308
398
99
458
239
135
224
164
323
236
65
428
400
130
159
219
372
230
246
415
38
182
455
349
238
263
98
117
332
361
433
193
156
63
340
360
191
137
237
330
103
396
364
122
321
157
11
227
79
314
247
256
234
218
394
359
334
356
210
109
177
396
56
196
114
294
450
201
326
216
175
37
298
238
105
156
149
241
262
242
298
109
39
207
293
108
401
269
130
13
14
307
166
186
340
460
94
291
194
351
96
42
292
247
237
423
360
392
117
433
151
293
297
352
83
235
154
492
36
99
11
243
498
300
197
22
228
94
137
112
467
163
420
397
402
243
10
83
46
387
264
215
43
474
139
250
222
89
463
354
427
485
130
365
474
436
122
394
89
500
45
156
313
464
22
187
270
49
123
16
462
428
211
185
238
463
30
83
416
273
424
334
133
168
73
435
282
174
228
256
347
4
416
488
12
312
296
333
112
85
266
272
412
37
153
121
288
11
149
280
157
478
434
295
359
263
426
94
155
103
60
173
418
405
364
22
244
103
163
411
379
371
361
63
45
127
371
257
213
10
4
92
210
373
184
403
97
178
264
145
80
239
69
61
181
35
478
362
454
31
86
181
16
140
18
248
31
137
277
254
128
356
51
28
294
294
411
269
27
441
282
41
106
249
220
173
405
98
63
486
125
154
154
227
440
419
271
195
320
308
30
388
182
213
74
491
261
456
259
124
364
488
102
5
440
498
460
198
262
47
385
205
238
129
330
369
452
339
483
21
468
240
471
255
291
318
349
494
436
332
139
289
449
363
462
321
26
457
386
135
332
408
142
144
24
231
28
243
219
270
265
317
393
344
27
371
239
221
216
447
354
362
152
164
170
211
96
150
436
219
145
379
107
243
333
273
182
445
88
152
227
411
283
131
421
325
310
283
21
184
215
397
39
197
353
53
423
106
287
7
218
96
330
98
94
347
205
384
379
459
391
90
274
271
356
396
448
403
169
61
18
378
147
441
103
62
490
328
112
218
163
181
25
376
237
59
142
492
112
328
492
204
20
323
66
400
8
332
132
473
372
220
446
35
474
213
235
237
477
369
128
490
267
255
48
186
189
292
291
6
81
365
171
9
408
413
107
364
258
57
219
104
154
451
193
203
429
25
178
341
439
28
392
230
421
422
68
87
26
123
289
93
95
300
119
369
27
34
167
169
416
106
48
412
216
163
83
207
16
124
488
115
47
297
444
371
304
104
271
382
489
278
115
458
500
488
149
442
488
231
96
285
113
104
323
440
61
209
171
193
31
234
373
331
226
35
60
259
88
260
447
124
138
387
7
479
463
485
151
286
299
384
347
303
377
269
221
105
174
163
26
315
259
500
386
368
343
496
475
236
237
99
168
113
352
467
207
30
248
308
207
421
253
49
360
96
172
197
237
199
79
74
392
124
350
489
362
459
28
426
79
205
447
435
124
145
275
458
220
46
10
444
500
468
82
14
15
286
454
334
187
365
158
186
373
304
177
437
142
96
173
247
302
470
70
152
289
127
340
228
69
291
311
70
55
231
261
283
271
490
399
439
59
116
398
279
113
379
405
329
184
218
115
325
240
179
66
93
282
460
31
29
428
381
370
313
411
198
159
220
226
373
407
173
482
488
217
413
495
145
200
125
446
102
441
417
475
420
143
134
471
211
431
289
11
481
115
94
8
224
479
64
150
194
370
230
171
328
151
63
432
135
168
379
23
287
324
355
413
37
333
208
205
241
13
299
103
237
122
232
286
302
234
425
95
153
12
354
14
429
481
255
432
303
307
493
444
3
404
455
40
247
88
326
259
122
4
165
180
227
87
447
126
456
383
85
39
170
105
383
116
234
223
67
495
251
47
371
432
275
120
469
426
417
220
204
397
25
293
37
329
414
246
480
355
221
39
121
32
333
89
388
144
5
436
361
344
166
6
208
319
246
208
497
259
203
325
127
444
275
375
37
215
266
419
46
205
50
77
466
191
171
293
94
434
240
176
431
340
40
390
376
373
166
442
371
341
441
32
115
283
92
487
403
79
259
318
26
80
206
94
258
64
238
239
483
82
263
245
50
375
482
201
196
387
44
31
70
166
63
139
182
110
443
465
352
334
166
15
206
13
474
397
238
407
180
148
143
17
31
336
307
337
130
237
7
124
235
241
20
463
193
435
315
409
385
344
108
471
285
26
245
411
322
491
206
303
12
248
377
94
192
343
460
281
170
49
370
64
69
88
27
352
232
52
63
293
270
356
231
488
74
464
273
218
173
60
38
46
286
112
337
173
406
390
282
5
352
204
176
287
27
63
436
197
286
499
360
8
273
146
325
23
344
43
146
199
469
331
437
98
346
358
203
127
28
444
152
175
174
296
221
78
60
447
184
397
201
26
421
461
107
438
394
478
379
272
380
301
315
348
153
340
97
31
128
159
315
294
216
272
395
356
62
428
94
347
65
317
64
138
103
45
348
219
226
489
363
123
300
32
150
420
353
467
453
140
100
133
230
303
125
123
211
315
366
465
290
12
464
97
15
64
201
350
95
341
184
46
372
461
78
304
304
327
96
136
48
183
494
453
162
292
47
270
199
23
254
262
91
334
69
9
254
386
148
283
101
469
158
31
142
44
449
274
174
148
336
432
173
382
214
80
263
493
353
311
37
267
429
254
254
67
124
49
74
382
411
304
322
351
230
149
382
473
5
425
351
408
235
389
180
335
169
377
140
313
92
175
395
39
447
205
195
98
464
460
385
162
290
66
105
50
214
288
175
81
218
37
4
98
258
123
473
52
222
392
415
252
325
130
168
307
149
339
405
325
71
107
217
284
158
196
283
75
440
192
21
94
189
179
313
91
77
460
232
443
353
449
237
459
38
271
176
491
298
241
429
224
183
426
261
106
2
118
12
41
25
165
116
122
238
378
173
154
8
198
418
302
367
137
325
437
448
52
343
483
443
346
371
256
358
113
389
414
155
200
163
473
133
266
84
183
52
482
437
152
487
198
133
132
180
163
453
416
211
115
205
427
299
406
54
425
494
3
313
491
48
127
261
434
120
376
225
119
87
295
273
440
170
400
11
108
98
348
149
289
75
397
347
99
390
10
419
58
325
301
418
308
373
22
173
205
122
359
328
416
228
30
172
207
441
12
179
120
331
130
483
282
92
330
15
83
213
369
218
71
37
163
346
171
87
297
497
233
431
22
108
432
290
274
227
396
135
169
285
451
135
475
413
203
326
141
55
455
63
439
390
306
27
261
95
415
169
457
454
335
407
271
45
253
193
351
442
484
158
376
254
324
41
178
260
395
416
335
186
115
129
292
260
456
455
499
416
268
172
237
63
319
177
52
143
345
478
382
368
395
144
325
356
73
133
388
383
287
288
44
488
479
302
209
40
207
1
484
429
469
227
441
294
4
283
498
458
447
320
326
482
304
203
180
313
369
236
416
311
190
360
80
381
356
107
1
153
239
425
137
46
348
27
445
188
222
403
452
290
142
320
247
384
139
277
445
447
396
373
354
8
401
18
395
274
292
347
392
148
415
402
330
399
452
394
382
352
10
270
268
31
184
473
301
33
173
179
351
244
306
361
410
421
347
468
240
389
312
462
54
185
440
202
15
81
137
311
27
396
20
333
152
494
96
8
389
458
458
281
127
179
395
303
269
23
481
63
404
228
12
457
496
391
214
319
51
90
379
211
348
205
51
342
157
486
126
479
438
55
149
247
433
380
246
495
281
73
126
159
423
390
101
295
237
351
155
327
208
40
318
76
241
34
375
138
127
275
126
157
56
359
378
165
780
526
451
670
324
711
482
628
503
312
317
740
475
635
599
787
522
307
608
362
552
729
521
774
399
766
306
561
585
455
632
450
763
532
468
375
647
536
474
588
743
403
303
387
396
392
484
488
662
579
438
497
481
300
647
628
710
478
315
737
566
764
343
628
687
410
616
552
601
489
507
776
799
414
341
437
718
538
530
670
304
777
763
792
793
342
379
552
507
347
324
700
553
708
591
441
393
513
794
669
702
702
396
500
477
343
559
666
655
714
522
706
709
643
646
534
671
484
687
416
755
717
464
761
417
694
442
611
445
540
505
587
550
441
518
434
701
591
482
475
670
754
638
701
404
744
438
734
515
794
696
393
643
515
605
498
579
386
580
408
404
653
460
626
341
575
509
579
390
618
486
521
470
648
554
508
595
413
495
599
477
373
757
682
345
483
489
653
591
536
611
759
394
719
659
387
512
690
683
662
680
649
700
506
496
617
780
596
651
412
638
331
523
456
767
738
716
493
467
704
538
695
725
527
308
762
781
425
724
564
313
354
337
527
306
734
481
400
363
389
337
630
505
374
348
372
417
653
451
570
381
323
565
730
508
578
331
311
539
433
502
313
371
722
721
572
791
583
487
646
391
715
397
438
699
435
303
545
454
543
655
521
724
768
429
755
346
524
369
718
622
548
454
606
343
716
725
590
329
498
522
516
553
498
605
403
534
462
660
346
366
575
665
740
772
636
465
580
498
499
511
589
566
664
653
568
305
370
771
663
663
381
608
408
754
532
428
607
347
438
645
448
332
753
749
358
474
552
548
335
499
374
665
474
490
578
575
534
317
605
750
577
540
782
452
389
592
522
666
575
394
333
332
591
600
349
323
614
779
745
749
628
728
735
481
397
745
690
488
677
523
424
532
765
714
723
573
474
320
697
427
596
324
406
536
308
390
590
305
542
512
544
714
360
319
306
436
389
667
774
368
528
637
746
694
394
729
800
765
633
706
422
370
360
739
641
301
583
683
478
712
366
658
494
478
329
743
672
715
632
549
532
516
396
615
395
536
758
500
445
516
408
375
658
501
523
558
543
657
458
331
640
400
743
481
421
549
747
445
633
508
596
394
489
723
611
430
693
313
752
465
728
779
488
788
676
734
562
773
573
738
566
793
552
570
707
774
361
632
788
694
382
330
537
424
672
367
458
324
472
797
668
476
541
435
620
724
339
787
565
426
433
386
642
661
518
645
434
416
664
369
301
726
361
784
723
385
369
306
699
653
442
749
383
591
561
374
544
384
648
303
587
543
762
634
683
352
314
407
729
634
492
507
319
586
380
334
303
568
685
739
756
680
752
763
787
787
396
739
717
742
631
348
645
534
636
671
332
331
321
543
345
521
729
562
693
777
672
526
636
413
403
553
486
510
354
771
377
334
719
562
792
520
712
341
557
762
781
686
434
715
554
399
508
746
527
405
316
348
749
720
748
544
673
684
641
441
350
612
636
637
575
567
456
431
701
645
674
361
310
686
563
461
691
667
512
317
792
599
708
309
404
744
523
678
496
718
386
696
384
594
517
671
738
597
454
787
733
332
439
463
679
721
442
657
775
561
306
510
508
405
420
717
795
351
525
434
759
443
773
613
770
568
742
449
669
465
507
591
611
578
359
677
676
545
368
626
631
371
367
584
300
305
342
571
639
584
777
514
372
483
768
681
642
492
459
546
795
677
666
790
579
536
528
467
348
711
774
441
709
780
576
699
316
427
777
677
775
413
688
322
399
321
494
535
368
547
708
635
691
581
777
754
747
556
328
546
513
591
768
692
670
329
642
346
334
734
705
542
323
582
691
402
315
652
771
318
487
462
732
637
508
659
435
381
716
631
456
408
673
585
340
696
371
370
518
485
709
630
316
472
694
681
777
346
507
409
590
498
377
642
363
349
332
705
772
730
567
437
565
627
502
505
793
716
600
660
609
452
533
325
718
736
477
705
729
531
412
360
689
773
722
497
517
684
319
403
452
721
601
632
793
307
778
370
581
594
699
463
471
300
398
604
650
665
651
343
501
537
380
354
538
722
719
618
471
642
720
344
561
422
646
467
638
787
350
441
621
673
478
552
338
698
346
381
653
554
695
466
331
436
421
400
401
753
307
609
786
640
445
375
668
374
647
656
695
748
318
611
506
354
726
446
345
729
448
385
728
526
505
651
453
738
703
428
354
591
656
521
495
349
530
652
774
487
311
576
777
557
752
785
724
472
503
531
578
761
316
379
445
686
726
346
322
458
414
579
612
792
670
465
701
359
625
570
719
510
509
469
367
562
342
645
743
800
587
474
368
725
478
781
326
477
612
365
668
344
614
699
775
764
747
313
425
356
390
359
680
788
548
472
483
595
390
403
368
324
652
470
632
705
710
550
618
598
598
515
340
490
743
631
680
621
313
318
618
386
434
542
653
375
392
382
344
638
445
657
454
480
345
797
672
424
695
748
377
342
601
779
713
332
316
702
682
774
610
591
427
380
617
335
548
663
523
790
473
514
523
513
657
360
655
709
593
309
682
571
714
549
313
399
616
551
316
728
481
332
494
741
381
767
430
673
717
614
488
665
326
470
512
310
773
617
351
379
392
457
709
603
307
425
482
783
615
366
514
493
421
514
756
356
553
335
485
397
373
518
618
322
650
499
616
591
376
629
777
701
395
417
534
780
345
474
376
528
781
685
454
762
597
617
697
427
686
453
577
574
707
363
658
321
325
343
759
696
560
338
688
608
642
377
691
537
489
617
568
523
580
716
667
716
631
481
470
596
756
517
594
739
608
714
560
786
694
479
788
590
438
609
672
512
376
404
737
728
511
608
591
454
505
637
517
714
314
798
439
327
506
512
763
757
372
702
470
379
391
525
599
321
515
497
419
538
480
371
332
429
712
633
696
338
300
486
791
486
639
613
530
442
708
568
512
627
741
538
345
437
404
383
589
724
345
310
526
594
726
407
321
783
497
493
709
497
706
629
651
591
687
706
636
562
328
622
613
383
416
626
786
533
379
555
539
701
531
550
415
485
509
551
362
482
500
471
764
540
545
410
591
371
695
417
722
385
472
548
508
693
682
709
736
449
652
689
306
318
747
671
542
390
414
659
554
791
349
744
370
793
554
423
535
401
419
335
516
421
709
428
370
316
504
605
407
568
542
565
440
705
658
726
464
624
475
795
381
435
478
511
346
481
331
444
639
650
487
684
648
776
434
535
347
511
703
475
566
658
612
545
371
477
549
787
706
498
772
353
398
317
618
408
368
635
786
720
753
703
781
579
357
663
619
679
335
762
634
704
797
369
433
453
536
776
628
544
719
719
487
409
494
317
792
390
596
703
414
443
613
389
510
734
652
438
580
800
629
755
691
763
611
580
327
455
796
794
570
671
396
402
550
329
607
436
481
382
713
664
612
583
421
484
631
779
544
641
392
411
627
418
546
496
577
732
367
329
556
422
420
361
694
612
738
590
552
519
354
435
736
626
314
637
634
341
432
520
496
302
335
537
689
417
731
616
760
509
581
764
437
644
547
618
784
762
600
595
304
330
360
625
526
600
643
728
673
573
458
581
416
730
453
750
746
510
695
582
664
490
698
543
636
789
661
749
335
796
350
474
633
440
656
436
576
582
425
670
351
410
348
485
636
364
689
690
595
335
719
744
777
419
321
481
582
783
666
592
556
749
341
372
427
467
651
446
472
533
668
319
680
630
526
351
445
560
354
462
708
318
540
605
613
445
659
781
306
777
313
685
384
553
739
463
652
423
623
447
396
391
439
451
663
657
796
543
563
471
421
518
677
773
579
332
585
700
420
632
580
750
426
450
689
489
539
728
719
582
724
372
539
786
711
373
735
461
790
670
727
340
663
366
477
326
395
397
624
377
518
711
779
496
704
539
335
394
795
653
499
530
793
431
586
488
575
581
684
400
590
570
678
652
609
313
354
338
748
460
653
408
458
447
783
353
310
473
308
763
411
515
767
456
542
789
334
335
689
439
427
362
412
612
768
456
366
532
742
627
599
645
543
597
777
438
310
524
589
402
672
575
408
791
495
612
318
446
638
641
610
576
325
338
495
744
749
511
467
367
334
434
510
795
415
390
376
361
328
690
518
451
337
560
526
390
375
789
771
427
740
557
584
374
582
307
310
362
363
654
619
539
454
442
725
375
704
583
467
549
619
449
312
432
682
657
520
311
666
440
517
653
431
705
742
646
409
530
689
678
439
696
725
519
304
546
371
613
525
672
633
566
447
511
516
351
716
424
544
344
506
600
519
645
346
498
481
408
558
432
544
639
500
300
540
574
488
666
384
517
584
657
483
434
366
520
738
324
341
396
754
687
575
417
474
389
337
712
512
326
604
643
526
620
375
416
601
518
731
573
512
648
393
440
712
622
368
366
630
521
434
622
728
617
730
736
348
786
723
516
370
534
335
339
490
418
602
417
572
319
308
497
571
769
756
740
721
685
448
592
520
528
751
434
605
582
465
574
742
789
381
756
529
365
421
799
407
730
795
789
567
455
708
740
533
478
576
559
671
402
497
335
747
473
385
367
554
352
327
631
357
332
475
429
540
447
415
464
600
736
333
552
414
388
494
612
584
762
423
423
561
329
608
355
693
326
373
567
695
575
720
665
570
732
728
692
749
472
530
721
417
383
499
720
418
747
377
307
790
486
696
429
775
591
454
314
516
727
763
609
617
381
614
686
586
378
636
515
530
562
529
481
463
540
696
468
760
376
791
420
733
570
755
574
380
585
598
677
799
707
623
301
341
693
391
526
461
362
458
660
611
343
617
429
800
333
362
633
684
667
380
601
753
623
435
380
414
462
622
354
416
714
780
387
610
772
383
680
464
434
370
543
396
581
434
577
675
621
464
380
333
664
755
623
396
490
775
792
656
708
418
717
335
789
465
751
423
758
518
303
786
380
686
409
670
536
337
519
731
396
680
483
573
740
414
346
728
765
595
397
370
535
309
339
358
750
710
498
345
697
402
496
600
498
467
400
511
635
496
466
517
578
668
508
765
321
434
572
364
690
335
650
596
639
356
378
540
328
378
317
337
538
782
450
467
704
713
438
596
613
301
740
425
724
540
599
494
641
323
575
595
581
712
663
346
732
444
687
350
799
477
709
363
642
698
672
600
754
677
754
476
471
588
531
729
630
639
696
763
569
385
479
748
596
387
761
627
472
595
549
698
784
337
714
746
483
469
300
463
633
768
707
469
637
389
641
778
621
793
577
641
442
760
347
631
515
736
373
613
387
317
653
740
333
317
311
580
648
683
750
480
507
333
785
304
470
307
733
799
461
369
343
602
772
478
374
463
665
323
397
404
471
387
681
790
424
636
776
633
749
729
460
330
374
529
636
622
453
620
532
338
449
553
740
627
402
411
767
647
552
529
421
424
533
440
414
506
730
739
719
778
632
331
450
362
756
311
493
695
722
770
599
593
652
430
399
673
304
530
711
770
426
366
434
656
674
521
416
694
538
764
343
447
783
413
504
332
360
754
444
309
549
588
747
343
563
791
673
704
341
781
326
436
795
425
608
521
799
407
743
622
732
316
627
367
501
416
395
514
524
523
300
338
401
672
543
799
398
732
406
339
414
761
691
356
596
793
600
588
770
640
765
458
398
338
466
533
758
727
497
629
372
409
547
451
466
460
729
303
581
729
792
528
561
794
564
508
362
332
419
438
564
360
471
470
737
529
749
749
606
557
416
417
522
504
715
567
724
725
454
419
580
786
637
621
695
531
485
777
755
696
535
340
586
323
639
612
359
615
649
387
514
680
550
501
483
436
502
656
524
782
675
665
466
775
504
474
318
451
779
443
361
678
362
617
477
487
774
334
641
419
591
471
738
598
386
418
626
785
594
300
444
597
633
587
585
595
502
428
344
662
703
410
594
581
670
526
595
520
384
313
458
541
434
474
371
606
724
673
576
510
766
339
379
611
495
523
653
556
676
310
395
563
787
748
638
404
648
606
740
619
523
426
479
566
321
444
698
768
660
455
421
591
654
551
697
462
796
432
506
558
566
609
496
579
728
751
463
772
412
305
518
526
687
313
350
644
772
600
453
762
473
412
393
663
792
384
611
690
328
661
512
746
381
626
448
523
301
308
636
501
636
536
493
344
704
773
663
358
670
737
659
681
544
559
795
607
605
753
365
321
338
779
370
719
577
568
616
494
313
765
732
354
391
546
464
788
751
453
575
707
733
614
352
444
405
726
685
681
657
373
393
446
377
373
355
452
769
615
677
421
798
645
766
412
621
689
746
734
363
616
484
351
412
411
628
385
340
697
589
546
322
398
788
422
741
385
422
301
603
685
461
652
777
304
731
711
789
536
644
741
303
742
590
775
750
397
352
727
606
335
647
355
768
626
477
307
561
404
514
678
685
658
323
436
750
489
644
683
435
619
614
576
427
403
485
671
658
434
678
728
452
675
598
524
319
731
757
711
466
766
486
583
458
303
331
420
504
318
728
365
688
516
654
740
668
764
420
480
443
690
716
460
530
742
424
507
633
317
478
569
698
373
477
573
405
701
470
332
398
655
334
463
605
579
380
729
772
336
339
720
703
665
526
529
562
341
337
776
545
515
609
625
714
553
648
307
694
793
672
404
743
667
741
621
534
754
308
800
387
617
326
398
758
718
519
627
700
337
431
584
433
630
730
330
553
602
354
787
393
739
387
730
350
749
459
577
554
775
361
743
652
476
585
735
442
618
404
328
598
618
658
642
760
596
598
427
451
692
465
428
643
637
448
384
734
691
400
779
625
714
541
365
414
428
569
500
409
373
322
708
457
335
736
342
660
489
702
489
658
412
613
586
388
551
726
707
467
403
322
620
395
412
347
553
670
411
648
366
595
570
502
431
782
571
386
658
687
554
595
605
551
687
541
649
309
383
356
592
651
652
622
402
672
753
614
448
626
437
694
400
389
480
632
423
563
513
492
569
588
355
729
301
701
321
440
582
317
564
486
713
593
620
393
655
785
572
338
770
792
501
426
328
749
468
466
775
739
318
323
680
511
386
342
345
457
421
353
540
524
610
599
502
577
449
612
423
674
409
657
765
630
376
683
670
528
359
684
474
798
506
710
612
759
328
551
520
499
729
346
469
738
470
588
794
576
389
558
446
560
401
351
731
735
661
460
643
713
406
720
352
659
495
772
581
425
776
540
309
667
767
699
464
457
498
452
739
581
652
396
527
614
497
484
489
390
440
376
711
644
696
555
640
447
449
573
748
599
575
422
548
749
462
394
637
380
454
457
629
609
383
460
778
718
597
546
645
337
730
394
393
666
651
323
458
790
516
633
761
728
413
470
717
796
788
652
794
412
670
416
493
332
352
460
363
454
488
514
795
683
778
470
702
725
734
550
681
788
371
309
583
773
781
514
718
627
377
448
789
461
445
718
615
384
476
654
558
452
713
651
542
554
633
741
595
408
743
449
489
717
410
573
728
512
637
444
770
668
716
379
488
446
636
428
549
788
339
412
584
450
739
476
453
342
589
332
338
447
543
427
532
424
469
642
547
407
479
653
575
671
494
501
654
608
712
428
306
560
544
550
510
485
797
713
799
740
377
500
338
634
660
590
798
472
731
747
458
382
373
319
337
527
543
493
430
550
767
612
334
681
307
732
667
522
776
428
762
578
754
624
659
484
310
701
580
677
386
791
670
361
374
369
523
492
474
322
503
302
742
366
612
524
368
447
400
475
300
393
437
485
333
788
758
785
533
664
390
705
499
337
619
516
406
561
764
484
367
719
609
385
599
624
562
592
413
560
570
692
611
361
767
350
795
727
406
400
748
708
497
776
350
547
434
532
781
736
491
548
661
651
480
405
712
409
343
759
563
373
373
507
597
351
539
552
605
323
324
716
683
604
648
667
744
656
315
775
692
650
699
611
605
377
363
605
700
529
677
557
358
585
449
338
663
584
564
316
373
508
737
591
745
546
642
369
578
404
457
522
335
540
441
468
659
463
492
749
751
443
568
470
586
715
538
337
766
415
680
311
440
445
431
681
718
338
378
494
573
542
405
354
756
743
736
517
711
671
402
699
594
782
335
513
321
698
421
515
470
694
658
338
388
618
448
542
665
518
498
609
795
746
697
325
557
516
670
707
488
542
414
540
767
601
758
570
321
686
422
768
734
339
455
558
736
708
555
603
691
501
705
574
581
362
653
798
627
717
410
793
773
570
455
438
740
470
512
535
408
507
419
312
451
606
624
541
601
621
565
403
375
680
726
537
514
349
505
343
687
390
691
495
318
626
598
552
595
576
523
689
690
603
701
543
449
337
539
594
302
544
726
448
575
786
708
706
549
771
651
773
614
733
445
498
352
696
657
369
335
660
589
649
726
614
314
551
513
630
583
694
605
674
446
360
397
442
715
520
419
473
481
731
360
718
411
606
737
605
474
670
710
465
397
528
609
702
505
561
369
482
591
401
494
461
313
373
543
786
436
332
727
333
351
692
367
600
371
463
455
585
310
612
444
779
585
703
447
751
408
789
442
381
523
413
311
528
485
600
580
460
498
775
785
459
379
513
591
314
382
701
583
791
667
714
737
707
686
757
749
312
559
426
790
365
433
595
634
347
611
704
569
461
465
591
413
420
624
627
772
754
399
397
502
710
675
473
396
321
382
301
499
700
435
617
370
744
626
644
561
343
361
547
376
368
714
692
723
703
341
301
310
478
611
711
379
482
464
342
774
800
373
727
599
800
323
761
692
596
343
475
730
537
755
739
591
637
740
657
354
449
644
550
644
750
417
322
408
357
571
636
548
384
557
553
778
788
668
554
302
638
449
501
482
561
595
698
635
313
351
714
480
646
442
565
719
537
422
552
776
608
327
764
312
627
601
502
344
580
530
391
683
366
354
623
778
492
437
584
466
800
769
423
459
399
335
371
484
334
503
547
693
783
563
655
558
470
519
628
683
425
794
478
455
608
418
377
471
577
685
748
737
542
614
301
309
599
775
446
460
442
664
634
594
438
737
758
667
550
702
447
570
474
706
304
757
311
398
800
627
495
695
319
776
753
599
718
559
436
390
568
318
335
506
484
687
452
439
743
534
400
678
624
735
496
403
364
662
489
345
409
687
763
533
794
793
323
797
420
653
611
636
661
586
702
684
711
415
581
553
765
756
336
552
382
514
587
561
680
568
440
772
689
649
693
742
746
409
778
388
363
511
562
579
582
315
607
727
510
509
332
516
665
418
761
470
758
721
760
494
616
327
351
559
446
634
502
468
332
392
648
503
646
379
684
748
443
377
582
647
509
479
329
505
774
685
646
482
550
383
528
403
485
346
647
625
407
458
435
643
393
732
402
756
519
581
582
641
325
497
793
358
385
398
504
734
635
506
675
428
615
430
361
567
428
467
784
560
658
565
331
527
589
417
789
654
772
573
766
792
323
412
428
410
443
419
525
676
553
380
584
496
379
748
419
406
374
789
747
309
626
734
430
521
648
800
472
453
364
656
660
478
460
746
395
780
739
318
316
353
342
730
632
790
436
441
374
528
481
530
485
520
633
407
372
615
644
419
369
342
522
436
565
510
692
764
750
707
379
773
788
359
655
313
556
308
597
715
505
632
675
327
599
497
468
544
706
599
398
646
505
620
304
774
659
406
523
627
664
388
385
664
651
421
485
780
373
460
523
466
419
391
432
572
411
797
329
557
571
669
637
557
795
700
576
429
700
636
705
719
392
394
731
347
503
435
768
744
698
455
610
710
768
432
401
688
306
398
735
305
396
783
531
626
401
576
539
452
795
751
334
770
534
508
680
494
434
575
396
768
364
761
644
521
341
563
495
700
734
568
333
682
520
670
765
368
718
637
366
789
613
604
478
555
767
509
584
602
419
579
600
578
358
433
486
778
660
356
608
494
438
513
438
482
330
587
453
586
689
442
402
339
382
453
741
335
399
360
689
600
759
402
719
478
793
743
795
405
699
433
796
357
371
486
676
375
326
462
355
562
800
339
483
561
361
610
353
428
389
387
669
626
525
778
597
494
656
444
480
721
360
401
548
717
596
706
405
656
440
584
699
580
588
300
795
429
602
530
417
505
426
323
684
633
562
621
394
667
409
327
498
729
573
749
571
414
582
421
456
602
545
368
511
658
344
606
626
744
656
683
727
757
737
362
379
428
751
655
474
650
578
424
601
795
377
325
381
666
787
348
677
622
473
449
601
387
381
713
648
565
606
587
712
560
692
553
445
540
590
555
739
660
427
739
429
517
673
357
417
316
599
486
786
726
438
622
535
429
428
506
597
439
512
638
702
476
657
496
345
514
744
622
791
466
661
634
552
466
426
509
717
787
594
526
753
569
770
305
508
390
618
742
728
547
694
378
329
528
630
608
617
553
708
690
533
539
706
509
359
629
524
720
353
799
364
418
542
313
521
396
709
395
377
331
650
368
431
779
769
567
360
659
587
305
676
327
349
438
733
590
662
729
392
381
702
799
690
533
593
549
367
630
331
715
358
342
737
771
513
456
316
623
543
433
647
766
501
780
716
379
799
552
633
735
451
488
699
666
536
473
682
797
439
590
342
654
310
603
359
651
668
439
340
657
699
379
469
344
648
671
411
545
454
511
437
746
366
422
431
362
623
466
504
543
390
719
388
707
735
762
735
685
369
344
594
502
668
633
506
752
452
512
381
302
500
547
494
587
386
672
747
371
585
430
388
411
416
468
431
490
473
432
579
692
533
598
579
454
523
542
714
586
387
642
473
700
428
636
389
771
460
466
661
582
696
351
516
557
525
721
325
455
331
560
619
316
560
322
335
598
325
308
512
491
657
515
574
330
768
366
445
396
725
586
787
689
694
612
734
720
489
341
583
583
647
640
441
601
790
535
773
468
598
380
499
736
761
444
600
511
637
545
436
433
724
569
344
566
403
602
627
534
551
742
341
659
632
632
665
357
548
735
637
498
602
717
421
635
393
639
662
310
664
343
687
720
772
630
652
403
725
773
453
439
318
580
530
503
639
729
455
686
344
316
557
789
588
544
339
401
597
722
317
383
658
336
618
792
576
689
478
791
663
769
331
618
420
490
474
527
756
591
634
560
675
622
482
400
617
487
614
314
710
566
760
418
617
582
618
708
460
631
600
347
730
479
763
316
322
418
705
773
533
408
369
765
490
317
414
470
340
459
797
577
582
311
329
638
737
347
641
716
609
430
749
537
380
636
462
663
685
504
455
497
789
694
444
450
466
671
562
365
350
395
592
503
599
739
730
429
522
350
635
632
422
489
746
506
316
376
730
606
359
579
367
504
566
659
637
760
747
357
770
418
491
774
505
647
705
320
548
741
634
438
439
589
394
351
766
387
577
337
618
369
693
683
623
773
653
568
644
590
714
476
626
401
764
463
517
472
495
601
488
371
357
755
507
737
345
639
567
634
769
460
708
304
464
719
559
327
769
648
662
400
471
326
362
389
637
602
739
505
784
779
667
553
798
589
349
308
409
330
331
525
553
321
613
697
621
624
659
419
797
776
711
680
634
360
405
586
760
340
321
521
791
628
608
653
418
755
566
402
653
313
721
498
530
693
613
510
669
426
594
413
692
429
397
456
559
693
467
775
556
576
579
446
770
591
564
670
352
578
573
360
706
493
541
622
392
362
781
342
582
549
601
527
690
678
661
696
372
508
587
521
444
305
648
555
478
717
515
596
302
481
698
371
743
414
228
443
254
34
11
131
252
454
61
443
140
92
165
481
171
129
108
342
289
117
324
286
242
385
342
421
426
51
350
34
356
183
355
494
437
448
170
57
477
75
492
62
99
288
367
392
229
24
205
165
356
496
301
298
461
268
48
98
194
342
91
470
28
298
127
310
485
312
389
5
271
454
289
313
343
180
292
370
257
301
321
479
353
210
217
16
163
3
241
114
384
476
29
260
172
154
124
54
277
82
43
37
6
214
320
3
233
184
463
445
95
364
324
247
404
118
336
486
44
61
111
62
326
155
215
312
260
117
406
135
373
328
406
83
421
46
149
54
220
455
337
319
34
145
34
153
258
390
79
166
203
394
152
153
467
115
145
161
420
453
209
212
25
480
490
421
438
436
204
386
412
198
149
5
135
317
271
157
182
287
154
162
237
274
298
303
311
381
32
73
56
301
449
249
62
499
264
445
75
380
229
99
465
184
404
283
386
58
12
196
145
385
264
195
482
397
367
233
427
385
204
471
299
366
227
419
227
276
303
24
217
224
488
214
72
162
9
477
215
170
123
254
362
7
14
454
66
35
409
182
186
202
340
338
150
470
453
401
4
156
276
414
371
434
86
255
260
348
293
483
49
332
413
78
296
78
131
257
409
193
287
495
356
62
225
28
97
266
480
423
230
379
174
323
107
156
205
296
29
286
132
5
25
300
498
380
214
29
164
209
438
458
84
319
53
114
446
479
444
403
72
70
244
104
470
59
411
308
410
212
280
107
493
467
412
122
3
273
125
481
496
417
458
118
406
322
306
481
408
476
98
48
270
162
498
248
224
474
320
277
309
284
60
399
204
77
103
419
466
336
403
70
300
91
325
473
64
321
274
113
142
39
328
429
168
401
481
67
447
436
154
143
483
94
29
328
230
198
301
89
28
273
139
48
343
18
127
243
146
35
25
319
173
500
274
82
444
118
355
384
200
448
336
406
478
406
243
268
375
188
460
290
490
257
262
290
142
366
227
396
303
405
192
106
496
455
224
187
312
194
270
420
218
4
28
435
163
154
379
232
290
261
313
133
218
43
398
169
412
310
202
313
125
218
402
263
296
252
461
209
362
207
382
78
329
82
320
476
259
293
404
215
320
474
480
358
270
500
53
184
70
427
400
256
375
262
55
70
93
263
267
286
376
309
433
168
219
68
209
39
408
288
190
186
240
68
425
413
76
35
474
460
31
342
41
351
261
438
375
266
366
227
80
340
384
202
73
136
345
184
390
75
247
73
482
201
131
349
80
434
254
197
334
149
264
413
33
13
499
449
363
468
203
494
133
242
456
333
465
90
141
495
109
348
401
260
211
139
16
274
496
410
499
377
360
198
177
125
199
126
217
492
58
152
1
90
189
68
362
143
322
39
159
257
32
346
472
431
353
33
60
215
222
299
62
371
224
436
425
442
444
175
471
78
112
309
408
357
402
310
432
218
418
303
475
242
312
230
134
337
428
127
86
479
354
7
357
64
66
111
241
492
496
378
269
59
174
376
135
41
274
333
340
290
343
54
415
378
485
470
133
375
117
212
323
372
107
325
267
59
203
394
88
423
143
489
223
288
227
277
126
307
446
103
125
365
249
83
194
249
111
380
215
451
499
289
450
61
327
249
235
324
6
398
98
439
176
163
489
68
151
423
407
75
382
318
186
246
334
475
342
355
273
35
163
269
354
170
280
261
308
435
287
304
411
155
464
7
201
475
315
300
218
407
175
257
378
301
473
434
168
342
479
287
356
31
384
48
311
202
184
398
299
136
486
135
358
53
370
157
36
200
138
471
33
389
212
305
381
296
357
403
222
35
70
75
328
136
48
424
181
86
211
338
132
258
108
215
360
143
435
219
337
111
136
377
443
360
326
119
464
479
370
457
113
331
250
33
357
478
386
122
404
458
413
234
122
499
140
406
444
497
52
295
314
41
318
395
452
89
128
303
275
382
204
187
407
293
221
82
138
278
309
365
328
9
321
143
195
78
144
468
170
492
64
291
361
423
252
93
493
308
131
336
142
258
367
177
66
350
392
331
184
318
251
301
98
340
324
267
293
383
143
328
395
288
304
480
444
151
342
133
364
192
339
300
284
373
231
412
77
218
45
214
104
500
351
187
229
495
485
407
349
290
377
242
142
181
119
410
337
147
253
317
275
86
306
309
458
101
275
79
317
164
408
256
171
299
369
302
89
265
132
347
242
448
438
227
315
466
110
497
320
250
7
321
346
130
383
5
485
121
297
262
477
142
484
441
100
103
465
499
270
143
430
390
226
87
302
402
279
64
5
141
143
205
14
368
323
259
436
46
170
233
460
106
253
441
194
93
97
437
331
481
309
336
51
338
431
413
321
88
480
247
335
78
376
458
448
158
152
314
205
125
64
433
73
234
453
276
485
479
68
43
450
309
205
378
70
18
398
293
387
312
184
442
364
439
228
86
306
468
309
390
179
466
101
78
410
423
126
141
498
221
271
431
416
78
87
258
336
293
75
343
112
90
359
142
465
310
323
166
481
357
340
225
374
9
491
238
356
268
439
289
88
366
46
239
204
288
377
47
244
389
449
315
144
191
151
423
190
342
233
45
411
162
471
488
301
470
471
387
443
346
192
39
220
177
427
161
82
36
89
327
487
484
6
321
128
98
394
272
290
310
457
267
226
185
57
98
64
493
36
308
3
276
434
348
365
387
88
92
254
133
306
83
376
387
52
214
466
292
491
346
341
175
268
8
436
65
162
305
348
325
469
209
424
334
299
180
12
13
98
336
361
164
309
202
64
106
76
448
323
376
111
364
465
398
114
496
87
148
283
394
105
124
177
394
130
209
457
466
384
429
117
170
81
356
297
222
155
17
121
69
223
190
96
139
35
405
275
204
254
398
43
48
414
209
365
395
386
100
240
75
234
124
429
200
375
297
422
280
212
284
249
100
294
251
108
95
309
445
115
78
144
351
390
344
376
427
441
221
102
39
358
423
474
338
73
344
123
320
344
191
455
299
162
281
465
491
447
420
39
18
365
436
199
152
4
154
434
267
413
191
63
71
273
93
139
195
70
469
121
320
59
401
353
450
365
100
246
8
491
61
72
228
486
301
254
401
170
118
177
245
76
56
430
172
88
490
101
483
244
303
221
153
308
163
346
57
42
466
7
236
438
3
133
10
262
293
185
264
247
435
68
282
227
62
49
176
100
166
353
349
175
454
400
208
439
376
337
171
169
45
166
171
299
385
325
394
325
336
23
256
15
430
64
148
482
28
418
394
336
420
131
55
475
362
264
17
110
5
390
306
33
319
100
144
178
496
37
283
414
246
166
142
119
174
344
460
65
23
355
131
264
169
482
12
263
380
418
79
455
486
158
412
451
263
322
275
500
276
461
104
362
140
33
244
270
32
41
389
500
465
237
205
180
253
62
303
136
210
487
282
373
410
217
366
243
245
238
429
380
433
140
207
17
481
136
478
220
136
139
421
474
376
185
104
97
195
173
493
242
478
457
294
340
35
430
480
293
257
262
329
6
310
78
62
391
244
339
43
29
353
109
383
164
91
10
150
253
72
20
491
13
339
446
328
241
378
314
19
480
247
312
327
479
35
396
50
396
223
322
191
214
300
311
262
62
417
471
418
243
459
338
475
396
277
352
304
230
354
132
409
86
140
374
352
137
458
81
127
303
38
313
158
78
105
242
448
80
336
294
25
404
398
168
30
428
204
308
457
253
317
309
495
473
474
483
191
463
473
143
109
145
47
40
361
221
195
306
419
157
64
81
301
334
398
397
64
341
133
371
71
202
351
200
336
301
307
322
217
258
289
207
488
394
175
323
404
160
7
414
48
386
67
402
330
348
358
466
357
475
150
40
395
432
498
90
254
352
342
13
333
408
357
467
364
6
23
126
314
342
253
258
408
251
59
124
210
486
104
26
360
430
229
226
124
311
488
454
216
340
83
339
216
119
134
239
429
228
38
305
387
387
368
339
425
364
66
10
300
305
461
171
127
261
133
311
238
31
185
77
265
495
254
223
297
334
172
494
138
13
496
168
408
371
317
33
216
245
150
126
253
355
97
465
433
325
46
181
126
100
239
215
111
271
388
315
20
174
58
65
141
470
21
63
216
39
224
83
153
429
86
443
183
66
239
357
233
406
468
474
43
451
120
443
436
180
495
242
82
65
485
431
172
400
321
354
59
58
120
338
459
213
306
369
42
402
324
111
261
196
275
185
194
171
452
201
77
204
297
384
222
38
53
217
169
218
260
462
314
444
354
481
192
301
251
368
5
70
47
302
415
375
140
242
238
113
208
374
479
17
181
77
37
409
17
382
366
386
259
437
4
142
226
197
303
421
419
296
328
270
221
478
332
262
169
300
440
215
192
178
252
360
479
481
377
387
422
251
376
462
9
456
450
362
395
457
87
288
244
348
164
230
34
124
304
238
464
185
482
299
300
324
425
165
419
360
349
251
268
367
323
235
334
404
235
286
182
242
198
412
456
410
256
134
390
232
171
199
132
368
371
352
215
177
293
268
394
250
19
133
210
463
383
144
218
315
80
226
475
236
226
75
481
217
412
395
264
197
417
92
277
389
404
303
142
76
54
140
198
483
135
293
465
310
68
428
457
414
200
388
473
157
368
161
471
365
97
56
12
472
498
327
39
112
148
47
489
465
299
355
497
487
317
52
169
389
210
294
351
362
347
458
261
128
125
124
216
302
242
450
64
316
262
238
71
273
100
184
127
394
384
363
110
462
234
33
165
236
413
299
113
297
62
240
254
295
227
178
297
145
88
39
470
178
341
486
7
68
474
322
493
392
420
416
61
460
274
44
490
458
128
415
53
485
104
392
309
14
455
349
255
180
390
497
11
377
210
271
209
477
81
258
38
302
176
136
414
9
384
382
375
375
109
130
305
12
225
456
94
442
236
387
424
160
101
227
286
194
167
196
332
276
418
39
212
289
157
293
109
233
112
418
61
348
186
179
264
148
234
151
345
419
60
40
18
317
436
438
120
76
190
142
388
249
452
273
8
204
405
76
495
16
483
56
480
449
429
107
214
27
363
21
217
468
154
254
368
167
487
85
305
68
264
210
193
476
220
192
369
85
5
161
210
14
440
436
432
489
328
458
323
427
54
3
431
350
457
307
139
2
39
476
100
317
269
225
471
413
33
313
441
248
437
100
396
304
147
283
392
393
196
352
172
198
318
188
66
116
215
92
329
447
131
303
426
84
366
86
67
476
363
275
133
30
461
476
236
248
413
428
425
424
205
340
263
346
52
68
131
15
266
181
155
72
67
223
163
125
25
48
36
285
267
262
348
214
469
195
102
427
449
311
150
407
395
92
198
322
218
399
42
66
348
122
74
78
24
122
142
371
183
294
493
80
484
83
287
397
401
443
386
194
276
305
133
337
214
170
236
89
19
86
247
374
203
286
273
458
454
31
452
282
207
329
176
2
115
181
450
259
36
177
45
399
441
385
435
119
470
67
189
189
240
256
425
462
92
390
476
150
439
211
61
199
319
237
425
373
323
160
1
419
260
188
365
491
404
347
467
60
278
406
481
457
264
209
352
87
75
66
139
331
498
68
88
274
234
97
174
370
80
92
131
126
180
434
264
227
126
391
363
457
368
437
389
225
100
170
138
444
80
458
126
322
124
105
118
234
223
438
316
378
419
134
80
11
239
353
433
361
466
398
216
197
26
138
171
309
123
446
121
390
451
222
278
293
47
474
215
395
176
197
476
431
39
481
66
362
222
358
36
107
253
459
469
433
54
46
253
457
346
357
202
352
484
197
197
246
263
116
406
43
331
303
97
110
425
77
67
1
361
292
257
307
290
122
271
329
174
357
166
493
87
15
368
15
34
76
489
431
182
374
72
315
73
227
447
464
92
459
208
5
317
469
468
435
462
19
310
340
283
267
486
272
377
465
320
139
171
355
269
102
31
244
488
318
194
456
138
267
32
222
256
213
392
287
438
269
348
23
269
254
453
499
477
464
401
82
218
3
397
282
13
186
219
446
164
417
306
229
414
485
158
142
476
230
194
467
489
379
456
137
494
264
144
494
339
476
153
38
157
135
274
124
329
158
492
465
386
379
41
47
195
8
257
347
376
75
181
421
443
24
355
490
178
262
356
452
497
336
309
26
454
424
144
102
346
140
310
60
154
390
379
446
298
338
450
382
327
9
480
33
27
307
124
248
400
55
249
445
417
221
96
173
249
198
428
28
74
75
127
171
417
310
136
253
409
357
396
470
26
27
59
374
401
102
171
469
78
159
35
364
341
229
122
351
177
244
114
258
283
394
178
427
267
428
264
242
186
495
263
375
473
475
285
53
321
296
385
312
128
364
6
494
356
181
319
8
363
3
110
168
176
175
348
23
272
27
162
371
364
71
188
202
439
9
444
366
156
461
134
98
164
15
333
327
494
493
53
189
127
402
112
125
469
53
451
411
359
464
64
281
231
436
459
14
365
66
382
397
76
232
284
230
304
286
338
447
99
313
101
449
68
254
404
338
258
448
259
415
357
259
260
79
468
8
282
319
391
342
468
126
439
483
426
460
204
161
399
362
236
73
49
328
403
498
398
107
151
456
111
100
233
343
332
119
401
330
427
225
500
460
270
372
4
333
309
464
494
83
373
495
255
262
400
147
436
415
457
396
101
233
291
417
64
176
382
363
132
381
390
241
229
332
64
212
159
270
235
371
424
257
4
479
314
482
155
40
282
72
239
160
110
250
348
50
390
315
55
264
108
475
306
354
465
95
342
414
40
90
271
135
486
439
192
366
196
30
149
81
378
446
130
145
32
193
49
152
131
52
151
210
385
395
371
480
18
185
112
162
340
21
358
427
226
176
165
84
85
463
170
82
443
184
468
137
442
393
98
273
278
450
58
389
283
365
210
303
330
485
106
131
325
55
43
468
90
4
43
53
89
123
135
425
119
191
479
489
252
182
304
115
427
66
452
336
22
317
306
148
297
488
204
78
381
296
215
464
310
388
102
360
268
51
484
252
223
187
468
40
458
44
170
306
308
99
201
120
218
395
327
466
12
45
137
259
483
204
409
410
231
299
210
190
175
484
431
3
170
255
171
384
365
240
73
180
259
286
204
433
488
351
70
266
87
297
207
362
27
371
445
22
165
118
182
311
116
212
111
220
166
275
56
195
499
60
396
131
377
130
11
171
79
65
183
134
146
7
424
383
37
361
328
405
84
413
164
462
65
73
305
69
16
268
147
74
62
133
48
235
69
208
184
458
111
33
472
56
324
336
262
365
301
26
341
38
211
167
94
9
233
221
55
53
100
86
384
64
101
339
196
166
112
275
61
157
324
459
440
343
122
407
291
417
368
183
317
189
135
281
294
398
12
426
452
4
469
424
62
163
36
126
180
122
210
300
328
497
306
223
448
136
207
165
224
499
208
430
63
278
319
330
78
162
123
386
413
71
160
275
255
209
243
50
497
62
478
334
366
162
377
305
102
426
128
173
29
303
431
52
240
386
193
470
139
153
12
443
253
269
176
438
125
323
98
104
346
50
325
70
207
347
286
325
485
113
89
408
22
476
28
489
62
64
283
47
69
446
93
440
261
146
338
233
2
77
286
266
123
255
179
144
347
10
79
3
346
417
22
198
479
15
115
186
252
220
281
230
296
391
156
292
32
306
154
442
160
99
102
105
309
4
407
47
382
93
234
420
88
322
110
42
92
128
396
81
455
27
100
349
404
434
367
101
342
286
295
402
68
376
485
46
300
409
50
11
348
173
198
454
228
137
334
192
244
83
80
463
121
103
264
300
69
76
173
170
320
345
119
272
322
86
289
479
451
122
392
353
293
266
451
434
377
142
409
149
149
28
185
409
234
246
32
335
138
360
315
183
429
315
323
346
266
211
421
101
250
84
140
361
476
367
334
148
211
127
80
437
357
274
269
209
109
116
474
376
13
140
435
416
146
365
46
204
136
207
246
93
461
402
39
422
379
398
241
417
23
194
179
331
246
278
351
113
258
356
211
342
280
82
142
476
74
114
426
407
92
256
78
113
285
244
461
437
188
25
366
287
88
142
129
312
206
380
299
235
350
9
158
359
97
395
81
61
141
18
476
398
34
128
15
107
102
195
409
5
113
301
287
235
379
303
15
487
478
220
489
305
88
34
257
287
230
351
247
498
404
493
275
406
46
128
243
309
82
474
412
122
212
474
386
342
35
26
445
73
226
138
237
205
208
124
229
287
32
173
56
67
134
236
192
163
271
444
484
417
220
177
270
42
330
407
70
210
292
61
34
105
162
137
304
353
263
437
29
279
40
467
28
88
52
206
59
360
327
496
25
14
185
232
450
82
307
381
64
237
411
382
427
300
358
38
260
152
96
364
34
62
56
471
203
193
137
363
167
277
440
123
423
251
219
24
193
461
439
408
158
101
152
365
48
109
366
489
395
445
200
277
216
272
232
414
26
126
161
32
149
407
127
159
316
198
218
416
186
441
458
112
101
256
325
309
276
257
414
165
16
366
150
141
394
406
378
60
275
263
373
144
101
82
152
134
186
382
369
316
434
370
484
181
58
361
376
454
412
231
114
444
51
234
147
223
297
160
129
188
300
216
309
131
442
413
60
188
39
2
452
85
381
301
216
142
484
139
481
500
64
312
301
388
196
92
114
267
233
61
405
455
56
157
423
381
41
477
45
243
485
396
499
130
467
217
324
100
223
148
343
67
175
387
37
434
8
94
459
302
421
454
45
425
391
79
425
251
350
13
215
37
439
167
103
291
311
11
311
443
407
406
306
160
422
473
124
222
337
187
247
426
142
126
303
354
45
12
95
196
64
278
320
175
217
199
472
116
70
235
24
31
485
499
403
70
101
262
107
123
269
483
381
125
192
346
145
182
135
149
396
496
352
39
67
297
152
24
225
186
103
248
164
427
495
390
273
82
87
77
230
291
307
190
442
355
302
373
340
128
259
422
484
360
49
449
80
291
406
493
254
420
447
402
60
429
235
483
20
226
437
62
169
472
191
372
293
118
17
216
113
145
39
56
452
266
425
95
18
41
465
456
416
174
318
454
442
247
111
233
201
80
59
111
284
367
281
364
342
116
201
118
338
233
182
173
263
136
150
134
355
418
207
108
378
285
292
420
123
5
481
282
227
351
320
41
87
435
274
484
314
120
221
72
384
148
72
338
445
202
64
453
461
51
418
69
356
400
256
159
131
469
344
193
311
492
433
170
490
62
316
483
488
423
490
5
326
233
445
172
287
386
184
9
445
448
177
415
323
147
75
256
414
490
57
270
84
62
69
314
305
262
125
149
433
236
68
234
234
442
326
45
329
446
242
306
355
284
93
62
378
258
64
182
59
407
254
17
147
193
422
348
487
488
36
99
20
235
30
407
31
33
309
298
41
378
434
491
483
105
304
218
2
362
436
34
472
133
145
286
51
397
10
1
374
404
373
471
81
464
49
43
393
147
368
240
341
416
51
188
73
333
328
132
230
82
427
127
267
355
68
217
248
419
213
236
308
273
84
58
89
495
420
30
499
223
165
17
217
418
62
262
1
105
191
258
339
178
448
110
182
147
17
366
235
450
496
186
431
249
157
448
439
77
233
218
99
91
82
367
464
183
130
57
43
5
39
373
176
362
200
322
439
155
367
273
363
462
131
322
189
250
397
341
240
113
166
496
55
493
435
345
354
47
381
12
467
360
27
161
149
231
235
284
40
164
239
310
236
367
6
121
159
5
274
29
483
464
227
94
152
138
254
230
392
327
100
127
268
315
59
98
231
56
312
227
303
458
251
137
479
406
152
23
53
89
14
309
292
225
29
64
458
446
152
396
429
438
302
80
324
407
92
89
9
101
356
256
129
425
168
30
256
46
450
67
35
404
176
351
464
144
204
13
333
408
470
33
202
496
53
240
297
97
36
324
235
447
75
403
330
408
87
58
326
55
239
105
205
372
232
304
398
349
340
442
237
390
395
271
22
261
74
165
500
284
289
44
218
281
104
459
362
301
251
239
281
458
328
318
59
466
50
408
395
380
484
174
182
318
346
93
353
470
160
171
270
258
42
58
266
15
224
296
425
234
24
202
169
50
205
250
24
102
203
136
10
70
149
190
264
333
374
223
432
322
112
118
237
141
239
104
30
202
359
335
482
455
138
175
19
187
369
168
342
119
349
290
183
226
438
53
151
290
440
144
86
453
46
412
118
215
148
55
290
328
296
128
243
306
449
215
439
357
201
388
447
283
242
152
351
425
324
92
114
335
261
382
172
340
6
352
157
84
485
52
490
175
320
350
335
45
6
324
243
413
61
163
201
48
489
60
202
253
399
26
187
158
54
232
489
426
163
420
474
86
211
249
235
291
491
58
241
205
235
367
310
326
109
441
190
223
162
248
358
404
182
292
228
88
89
290
405
259
373
260
420
371
412
376
53
210
76
499
486
406
150
465
65
124
468
41
67
136
349
166
153
273
239
18
138
105
384
44
33
239
98
365
101
44
270
11
342
394
428
98
395
252
114
32
446
388
462
296
236
138
106
212
235
169
255
47
130
148
158
446
60
263
400
270
380
321
368
44
389
14
363
382
470
430
423
306
253
333
85
13
369
434
354
148
207
155
397
3
494
447
335
68
3
350
163
4
480
186
362
18
499
163
132
48
312
302
301
213
357
47
203
201
146
373
411
112
13
375
99
275
319
80
112
70
261
204
17
227
498
386
16
8
266
283
12
299
285
226
117
323
70
166
276
467
7
136
147
131
242
253
341
371
461
232
303
12
410
54
84
106
415
407
243
336
454
264
166
288
165
398
457
490
365
259
38
328
128
30
5
20
285
118
477
342
19
214
114
330
95
443
205
162
481
243
341
213
302
494
184
238
371
168
167
252
85
445
363
487
408
69
293
297
158
313
69
305
199
272
55
136
451
79
19
50
441
247
468
410
50
131
91
242
349
450
466
283
438
280
163
137
353
371
499
261
86
326
254
191
44
176
212
18
427
302
463
314
331
330
451
329
102
105
194
55
178
34
362
421
369
209
176
174
237
290
480
4
245
17
443
376
353
47
452
384
246
497
204
80
259
89
406
381
299
359
127
382
129
445
239
65
41
391
452
173
318
414
266
125
157
287
457
134
216
409
172
363
101
383
324
173
489
473
277
330
253
30
255
435
104
282
165
362
483
266
471
42
162
401
395
190
365
67
464
346
71
470
446
301
266
196
321
468
316
388
380
336
387
428
25
481
417
212
209
446
230
158
143
342
482
69
2
38
446
310
383
71
355
285
180
323
464
45
351
114
418
242
500
102
21
307
203
188
357
106
65
4
166
340
69
317
202
83
403
465
354
462
487
134
65
315
216
485
252
264
456
202
158
185
7
306
288
207
22
289
56
365
159
476
32
283
412
390
342
3
330
391
248
277
188
158
287
48
244
228
397
43
237
286
383
255
219
51
223
158
393
448
166
445
258
422
480
259
330
450
266
421
448
432
421
494
317
445
490
256
311
38
224
342
185
270
202
461
183
253
430
326
330
152
167
226
98
141
424
444
92
112
210
448
135
348
388
394
427
295
294
246
77
4
475
339
422
347
44
7
407
128
14
278
106
290
311
63
227
411
170
259
26
200
118
365
201
359
330
3
45
5
350
228
347
339
53
124
473
376
251
184
167
180
491
214
152
177
458
405
62
195
274
267
303
40
257
304
453
245
70
395
157
322
340
464
371
177
211
409
106
494
408
290
348
165
467
215
285
398
308
128
309
453
307
461
492
369
349
93
495
386
124
306
80
183
443
712
418
683
344
762
748
315
501
734
645
372
711
366
550
427
368
763
628
647
558
497
676
554
668
634
349
724
436
543
663
429
328
437
422
315
332
599
367
487
383
603
494
422
742
315
453
403
798
462
479
414
598
369
696
737
653
471
660
427
301
593
335
703
675
532
341
453
398
468
461
356
458
598
651
720
644
667
300
323
335
449
608
436
742
776
613
311
484
672
549
617
394
378
783
638
759
464
601
552
673
361
523
791
669
338
647
520
337
599
633
608
578
738
558
572
499
688
794
658
528
375
577
397
421
583
633
579
776
728
604
432
404
431
323
464
606
311
418
409
585
482
590
592
667
325
427
798
303
675
503
644
430
717
545
372
639
658
624
652
346
586
309
725
776
427
360
761
499
464
776
385
517
465
344
525
602
587
752
634
313
689
693
753
447
610
757
608
694
781
581
397
793
370
567
784
603
579
368
430
349
451
567
473
734
570
789
330
630
797
712
614
437
361
418
305
470
447
493
653
642
367
687
470
470
504
379
741
592
326
311
377
474
560
664
441
599
642
321
549
694
626
557
415
443
424
316
348
578
343
376
515
405
745
489
572
324
311
383
765
465
507
756
450
478
780
345
324
551
302
673
539
463
342
622
302
792
701
730
354
763
510
450
485
385
655
685
485
737
553
528
685
385
386
654
344
404
580
488
307
407
771
603
353
709
695
519
476
301
456
623
396
463
478
660
393
317
672
358
306
363
522
500
380
783
391
792
522
519
780
453
651
434
657
587
393
464
736
463
746
526
537
674
570
493
425
766
715
746
434
554
548
519
576
788
494
457
677
673
500
327
675
509
500
620
657
393
464
302
372
748
346
754
422
363
686
775
342
441
345
741
549
768
435
515
750
775
644
331
431
744
396
417
736
416
697
497
470
672
358
652
326
601
310
668
791
772
685
752
573
538
766
738
561
773
316
334
581
733
507
739
740
635
585
342
565
614
745
679
589
667
617
728
316
721
540
653
709
378
330
322
439
772
327
635
597
615
794
745
721
580
616
353
659
709
369
538
666
759
792
393
321
424
310
738
409
663
634
539
645
781
658
728
492
362
713
511
322
469
677
751
766
782
529
409
663
592
523
777
484
647
511
538
465
397
464
719
615
420
671
676
351
715
611
684
560
564
755
314
561
378
429
728
412
778
499
578
505
578
337
456
768
496
480
698
673
545
788
400
363
342
525
509
520
458
786
478
739
412
668
721
743
371
715
394
543
312
724
598
698
469
541
624
420
568
464
698
737
556
304
430
504
771
354
705
593
557
567
346
635
595
668
433
520
466
622
729
645
751
345
587
453
538
721
351
460
707
712
362
585
353
750
387
659
485
397
532
607
663
613
493
309
324
726
410
440
800
538
470
676
341
325
623
440
467
360
590
685
418
643
311
660
697
399
428
621
390
678
547
423
718
484
700
474
537
721
546
799
631
446
307
733
457
768
468
771
625
401
661
722
394
312
477
777
551
416
427
366
751
519
773
488
743
654
321
382
391
474
493
554
731
603
645
453
506
400
329
323
563
416
667
532
331
502
615
616
341
600
523
575
659
477
699
739
446
372
579
754
313
702
736
668
669
419
339
687
345
745
785
517
383
520
337
764
671
326
345
702
475
690
683
786
331
326
771
542
488
682
534
350
585
316
517
492
429
664
463
677
610
432
456
438
537
431
534
353
644
745
393
491
694
784
631
573
349
701
683
779
778
541
350
611
769
661
794
363
472
447
588
495
547
482
618
655
786
778
410
471
496
593
373
474
744
607
553
337
749
309
688
436
676
326
472
439
373
605
765
719
367
728
328
728
501
712
575
644
565
517
781
676
774
478
781
363
633
350
707
376
311
550
445
640
490
483
345
531
643
308
465
419
601
598
366
703
413
349
419
676
758
615
591
709
502
470
765
321
405
372
755
558
437
441
616
407
382
746
320
379
593
596
406
617
735
620
551
673
479
545
361
760
647
353
661
469
710
671
622
759
560
770
520
798
730
706
554
607
317
315
575
800
376
506
773
312
457
418
707
318
318
342
413
342
491
641
461
398
346
301
301
397
436
459
484
375
407
432
682
383
396
335
742
388
676
700
710
438
757
585
472
700
539
515
651
301
317
688
700
785
517
681
638
717
784
730
439
786
682
369
488
535
522
794
783
518
696
544
616
677
740
577
657
519
577
652
578
445
313
435
461
700
398
478
638
356
775
502
389
720
468
301
472
379
674
525
325
474
640
557
572
514
554
701
367
352
429
321
567
302
448
377
340
671
686
341
413
424
461
554
334
794
533
591
448
795
759
615
529
430
800
762
477
305
480
314
605
679
400
766
421
660
413
357
453
687
747
563
722
769
433
761
597
433
514
753
784
506
605
634
598
534
410
425
366
318
594
621
446
606
506
664
723
423
591
762
393
443
790
620
421
401
385
465
495
735
608
706
773
796
746
559
376
574
573
700
657
507
384
455
657
450
645
653
345
437
564
456
582
680
742
479
472
361
428
419
314
496
621
348
419
482
610
769
330
536
719
381
585
328
672
370
395
458
657
706
471
393
642
595
574
748
673
317
652
508
788
621
645
727
454
522
631
548
512
439
351
467
641
588
586
478
738
746
607
413
411
742
547
717
459
429
469
547
627
737
304
523
501
660
736
317
700
538
301
773
528
558
447
746
545
563
571
454
497
444
494
375
544
586
724
758
567
515
581
417
516
361
529
770
745
762
499
688
411
381
554
559
697
587
753
388
464
627
449
780
380
473
694
539
441
705
493
472
601
631
684
388
714
498
444
676
424
321
754
596
729
454
650
732
589
697
448
533
632
513
524
782
543
725
525
777
651
501
573
676
694
622
503
421
397
375
625
730
625
386
636
443
721
492
516
777
429
442
728
452
765
608
374
584
728
434
682
721
302
612
712
527
477
683
569
740
629
452
331
432
348
629
496
466
527
543
474
588
410
521
682
478
552
556
615
607
748
482
771
348
648
595
501
561
559
333
530
629
695
341
720
424
349
757
702
435
744
339
573
357
739
678
468
488
758
558
665
782
614
439
517
339
428
558
381
727
590
345
603
363
631
749
558
558
743
447
435
739
616
755
369
501
623
702
414
783
341
490
620
311
764
660
567
405
317
674
372
490
573
309
476
592
315
563
411
617
485
442
396
725
443
657
323
730
553
630
410
761
672
488
382
360
707
651
503
435
441
678
757
643
502
479
579
335
718
471
632
765
607
650
517
684
604
302
641
651
478
701
710
771
469
604
655
543
762
476
393
573
777
464
751
722
491
446
608
451
713
440
769
366
355
458
548
571
711
454
445
751
767
322
795
478
634
675
696
368
463
699
343
650
548
685
373
607
487
345
601
706
566
475
309
555
785
765
411
387
434
469
716
673
590
552
384
427
312
499
432
697
308
351
565
775
556
449
793
748
716
678
561
346
477
545
577
411
778
708
470
556
477
380
503
630
582
530
511
619
313
760
330
678
423
665
711
514
493
744
607
549
466
645
633
720
779
476
723
635
302
677
517
666
658
481
653
615
428
733
503
510
522
470
623
460
561
384
463
537
437
754
667
409
626
590
544
685
729
542
625
605
546
705
681
524
438
611
608
715
456
653
516
569
672
676
312
333
540
560
387
531
330
624
755
648
516
458
380
585
687
760
597
393
314
676
580
782
534
461
673
505
430
560
719
720
624
453
755
445
502
414
570
372
387
609
590
582
756
357
609
705
355
389
558
435
793
412
380
608
764
331
378
550
340
421
302
343
483
624
781
426
345
438
477
318
750
453
450
538
436
419
457
341
468
654
742
421
576
548
586
745
430
420
544
699
389
419
633
439
731
796
662
342
512
601
360
437
797
618
361
685
526
471
495
340
759
621
322
316
336
341
513
792
451
523
456
769
479
636
707
331
702
608
348
308
413
750
660
573
478
761
393
362
391
519
383
491
349
596
392
620
479
718
734
667
554
319
742
782
404
307
520
523
308
312
793
672
489
621
684
537
532
577
772
721
516
551
528
409
469
673
600
737
426
762
419
536
433
543
338
549
778
756
493
626
632
793
301
623
638
573
530
347
485
346
379
586
338
406
652
736
572
759
594
615
423
723
722
661
739
716
689
578
417
416
558
413
493
433
516
341
539
389
539
432
788
633
528
407
564
457
573
622
527
798
658
451
473
430
746
477
772
555
772
362
731
762
782
436
399
425
590
620
586
352
742
384
742
439
650
410
553
318
582
753
723
464
652
717
494
742
337
330
776
679
329
678
540
571
420
305
473
651
557
492
719
598
349
445
779
731
512
358
452
463
321
644
470
523
655
719
651
406
708
694
664
727
474
556
416
364
769
514
748
798
637
319
387
497
705
766
314
701
564
744
683
517
507
778
595
693
389
473
420
440
368
304
598
551
465
780
452
427
661
398
451
517
446
432
360
336
318
651
457
378
602
591
612
508
378
711
579
420
346
641
774
680
407
769
509
539
384
497
301
498
527
690
397
560
708
699
719
760
347
615
501
752
304
468
385
314
516
783
621
391
480
748
646
367
323
587
475
774
702
646
374
533
635
422
385
483
555
636
676
507
381
369
326
730
555
565
417
497
392
576
500
708
301
514
753
361
704
671
531
600
764
758
352
398
344
684
445
559
607
477
573
677
713
643
544
570
428
779
784
412
510
429
626
577
328
651
680
431
461
734
320
748
427
541
317
404
795
753
580
771
420
773
463
547
407
459
557
476
688
567
544
656
545
500
624
382
692
559
607
666
405
712
469
342
581
380
466
728
645
767
372
505
661
690
611
362
585
456
635
626
456
347
451
549
577
604
617
532
788
494
515
681
387
307
772
533
615
561
437
457
727
591
569
576
422
347
344
493
775
444
644
319
394
646
612
717
561
336
552
695
660
380
796
482
768
543
592
708
729
464
464
775
478
444
310
458
784
346
307
551
455
734
515
640
795
531
750
700
658
515
428
552
396
582
611
375
459
687
360
346
702
713
423
729
313
452
306
331
736
351
575
577
708
448
658
701
704
344
692
411
541
373
382
680
485
569
357
501
559
725
756
455
530
533
399
451
540
739
666
364
360
610
426
754
522
657
604
380
697
649
455
362
305
340
636
483
722
567
691
422
515
405
482
380
496
345
458
406
414
691
433
777
616
517
439
646
718
424
303
672
671
529
315
767
619
547
544
728
308
567
359
637
683
366
523
737
593
511
658
617
785
750
772
659
656
602
797
716
792
460
462
771
307
325
705
380
731
708
551
617
495
350
357
321
640
326
679
676
676
377
501
432
374
379
346
586
478
609
652
648
339
715
757
764
556
745
345
730
429
439
447
753
684
604
415
791
377
330
618
783
436
447
406
469
602
314
622
693
341
709
413
414
453
511
313
311
767
389
742
344
422
723
551
604
310
563
505
445
529
611
477
565
597
342
609
668
605
729
343
330
311
549
636
677
411
679
612
448
600
407
624
340
369
572
705
388
686
721
757
401
457
713
681
592
706
382
323
467
520
447
676
438
537
730
330
397
592
447
617
580
606
337
759
546
335
557
673
702
388
590
313
646
382
509
573
673
644
492
340
364
457
313
562
470
649
578
580
324
452
602
607
656
312
546
712
711
439
308
388
538
578
551
386
579
625
696
563
737
703
703
400
353
763
361
696
553
680
352
388
415
703
398
716
508
730
622
751
505
626
366
312
337
394
684
772
642
629
716
525
480
417
465
473
458
432
378
743
447
574
760
301
365
327
463
680
609
380
364
667
354
652
522
649
682
777
744
764
527
354
402
730
708
452
600
320
460
349
542
668
478
474
400
749
623
520
505
799
514
465
729
739
560
707
744
459
725
341
608
567
749
707
781
556
453
726
769
756
413
422
689
305
551
345
519
692
720
484
721
584
712
593
610
398
779
730
598
339
551
432
620
587
800
331
365
439
305
359
347
630
609
512
398
542
598
635
428
471
350
659
763
410
666
385
587
754
750
623
514
765
785
776
378
734
651
421
591
393
483
369
571
524
379
548
469
488
625
769
758
710
517
512
679
304
503
357
757
331
669
396
762
742
336
504
445
351
360
690
773
493
381
662
347
468
535
667
456
766
720
683
361
677
676
572
402
779
414
737
781
420
533
725
319
654
414
550
775
648
495
324
655
432
636
781
306
564
426
537
615
785
336
433
790
702
441
484
690
796
427
508
511
632
382
447
683
605
703
437
494
509
704
594
534
308
610
460
794
644
396
711
625
637
370
339
706
531
305
312
377
482
657
662
581
327
551
673
539
514
518
390
462
316
304
718
448
705
713
427
345
602
581
666
755
469
479
725
571
768
404
389
616
539
673
440
600
748
755
403
680
453
643
650
670
403
548
608
678
787
589
783
356
489
615
367
533
483
402
437
314
745
540
619
619
625
337
737
783
491
730
477
489
442
394
797
640
494
671
659
347
670
643
327
726
557
424
522
360
659
366
438
749
706
783
368
410
659
541
303
674
499
454
743
454
525
364
578
458
548
575
379
793
525
737
755
444
540
466
355
407
368
653
693
474
699
531
799
369
380
368
313
601
338
405
625
473
540
657
479
767
595
566
324
332
792
661
315
435
391
749
331
413
450
787
407
781
507
701
517
470
577
427
759
451
758
662
642
428
450
516
775
671
699
742
391
772
794
538
538
791
775
568
628
793
664
667
750
797
570
600
692
600
305
623
439
653
796
794
521
604
303
736
625
340
684
661
652
547
730
552
449
790
492
543
585
392
631
506
483
364
412
661
736
320
772
326
540
502
409
330
589
588
306
448
587
771
739
412
785
649
364
302
359
324
674
599
389
300
635
757
800
429
573
644
431
452
742
743
568
464
409
772
463
740
781
680
477
758
768
485
570
637
788
493
647
579
646
767
735
317
672
593
314
411
545
690
405
607
321
668
338
782
648
707
520
696
443
564
630
753
384
779
474
473
642
774
341
381
581
395
470
449
605
594
527
319
723
577
776
524
533
478
358
328
545
687
451
423
346
534
481
710
405
652
535
425
699
646
711
560
553
466
464
609
311
542
683
619
349
585
386
395
764
455
494
520
328
470
795
531
640
464
340
566
462
626
348
768
600
530
659
711
385
560
478
301
449
623
351
557
449
334
499
702
766
629
778
703
394
527
576
681
739
761
713
425
634
629
611
370
482
376
604
742
665
674
740
769
696
746
658
307
572
455
797
553
768
711
756
632
626
405
451
708
311
408
318
400
458
381
507
519
528
713
718
305
769
678
782
658
377
794
486
505
724
472
344
557
382
522
741
410
550
620
672
364
682
740
658
681
443
332
388
632
605
734
329
507
332
387
466
607
566
728
319
624
601
575
381
662
634
522
336
742
759
641
563
538
791
352
770
468
693
742
583
756
364
304
721
526
740
795
547
350
547
612
567
516
549
541
797
557
797
325
608
690
624
654
328
555
583
321
791
416
575
542
706
652
684
532
602
503
517
361
416
783
527
742
777
510
315
567
691
522
333
342
553
472
785
442
620
735
679
767
461
664
487
359
373
686
555
734
707
317
528
516
353
531
462
471
576
448
490
785
398
344
628
640
708
770
701
514
684
781
505
707
440
396
638
341
670
573
550
475
580
655
313
697
502
435
615
379
511
516
541
624
312
452
618
655
525
320
451
355
760
654
464
303
785
484
711
340
765
389
757
768
725
461
740
364
586
351
475
600
347
507
755
664
665
324
438
676
687
525
353
687
565
800
504
614
770
416
776
427
765
470
560
331
689
432
530
519
587
584
689
785
535
404
531
553
661
409
708
658
662
343
346
597
779
352
779
501
608
793
337
800
494
572
335
497
527
395
361
482
436
388
573
750
378
376
351
676
514
552
347
766
682
446
443
696
636
448
716
788
766
609
389
441
500
643
786
451
711
715
340
683
382
367
384
669
607
585
800
391
600
666
775
553
493
660
397
582
476
734
640
318
685
636
593
495
715
640
686
614
607
608
556
648
673
420
714
528
441
431
313
499
542
451
399
622
525
666
515
654
675
534
569
787
327
783
454
613
630
453
730
582
478
718
750
572
374
603
605
367
758
593
720
312
615
556
481
365
302
498
381
699
796
704
311
457
656
613
653
504
612
335
349
506
508
597
792
568
508
767
774
729
781
509
731
435
362
588
781
482
549
539
493
323
601
331
753
629
404
572
357
743
700
502
345
739
355
713
597
458
348
384
612
726
376
653
489
383
791
530
605
584
553
319
301
688
547
701
687
783
319
584
419
733
349
680
723
674
741
354
763
791
511
652
753
501
351
497
587
687
737
508
594
772
422
560
678
530
368
327
305
452
678
426
587
469
375
607
391
636
550
568
671
389
465
506
413
315
621
784
358
331
608
510
709
619
409
768
784
314
425
738
521
524
761
665
331
706
575
477
793
688
733
468
616
369
583
687
329
574
382
713
412
422
526
384
679
334
571
319
581
360
627
345
453
769
609
387
700
628
601
580
354
714
711
617
330
436
621
456
697
423
643
717
696
425
321
590
632
328
547
386
554
619
601
547
451
798
754
783
519
468
721
390
458
731
343
498
543
393
742
367
711
567
758
626
767
665
473
726
752
741
394
785
787
436
723
688
571
763
474
693
385
632
580
591
652
683
374
568
726
712
425
444
604
642
593
659
371
624
365
519
541
586
787
456
743
452
367
746
329
706
504
576
751
493
388
321
416
700
709
420
355
787
481
651
798
570
680
614
745
503
764
648
389
389
301
634
416
499
764
611
657
679
535
678
550
459
303
578
428
650
433
739
580
496
683
532
547
481
482
568
685
331
342
747
782
423
533
603
458
361
351
602
382
485
435
582
438
700
788
361
343
348
381
648
442
460
699
622
680
576
433
560
598
596
680
474
511
693
569
670
376
308
718
345
401
729
475
506
520
672
639
472
641
574
461
588
752
366
726
546
599
593
323
533
614
675
574
304
565
505
533
476
728
752
791
347
415
705
550
718
737
513
737
792
406
519
540
347
496
478
388
658
398
701
444
741
621
758
306
364
741
309
745
770
672
359
362
455
556
352
661
445
742
763
494
483
482
759
310
346
405
452
309
312
440
759
358
688
386
366
470
730
700
621
691
759
460
381
373
533
602
314
352
635
662
466
477
409
560
424
751
590
573
592
475
472
579
730
649
774
371
583
785
793
773
691
621
433
556
634
521
483
605
782
471
732
605
309
780
719
596
659
545
404
461
698
534
701
361
476
321
462
343
631
686
312
649
780
697
467
472
424
633
753
314
469
572
311
310
417
794
663
455
742
577
534
462
541
379
694
338
468
677
657
459
416
404
560
357
438
525
350
454
450
363
680
787
381
433
709
786
685
709
325
363
774
425
560
615
480
380
743
360
338
301
620
634
428
611
641
631
357
475
322
369
322
659
604
783
680
711
770
602
773
458
332
600
777
684
691
605
441
453
484
758
657
343
582
629
348
743
639
798
740
416
567
485
606
786
771
622
360
431
578
417
602
366
728
491
581
478
320
680
767
506
547
498
484
620
384
704
509
431
723
557
781
442
692
430
470
629
528
545
782
404
319
390
310
735
564
632
424
594
511
347
723
706
519
690
703
734
342
427
309
361
561
544
601
546
457
529
590
578
314
800
751
706
400
341
434
391
673
434
535
327
731
483
579
398
540
617
605
321
359
367
508
724
425
762
573
302
320
598
448
390
673
739
458
584
631
316
548
686
415
631
709
662
756
734
386
588
480
596
477
789
782
410
443
335
643
323
382
688
725
598
598
680
597
364
466
434
471
624
643
434
319
613
627
657
325
323
548
315
745
600
764
433
514
435
380
633
459
547
416
461
662
762
590
361
344
429
573
460
596
537
437
302
499
732
384
694
713
386
591
599
398
479
405
524
575
674
565
321
749
611
683
667
773
300
375
730
618
698
430
377
468
699
723
431
663
684
530
426
573
489
751
790
674
434
791
313
487
382
623
619
669
311
547
690
725
367
586
492
732
524
330
324
794
730
348
442
682
340
578
575
685
662
502
706
546
349
642
499
795
707
426
705
377
641
743
704
585
330
596
432
352
587
743
567
435
762
500
721
505
417
518
435
452
355
627
706
468
361
726
317
702
620
573
485
683
713
463
647
774
315
664
542
495
466
487
396
734
671
390
580
590
366
782
732
339
424
763
304
630
786
546
650
570
538
794
304
566
493
703
346
460
800
351
500
606
340
688
580
798
513
712
687
742
324
738
432
542
781
709
684
651
310
575
486
539
538
516
502
569
404
698
435
323
706
326
664
627
787
368
749
671
375
780
624
423
548
366
653
586
324
483
781
560
514
476
644
537
712
580
642
345
722
623
669
762
353
392
376
665
473
791
601
734
708
418
728
727
401
500
536
436
799
395
774
672
668
379
605
338
398
353
585
329
341
632
495
441
355
667
551
393
675
714
534
737
302
537
539
347
576
692
719
512
416
573
607
536
602
639
585
602
556
547
759
525
339
627
575
542
634
485
316
531
447
666
578
313
760
715
544
428
644
685
494
728
662
311
465
760
607
627
765
418
499
599
759
465
398
410
530
622
661
716
415
337
631
582
533
627
611
464
533
431
545
507
604
670
356
606
747
425
417
515
477
796
785
329
375
763
305
551
643
413
532
541
727
676
488
735
651
489
664
509
730
646
422
402
714
315
417
478
754
352
706
403
541
478
447
649
482
585
529
631
529
725
769
638
736
332
691
552
508
368
504
481
564
666
432
668
737
635
623
782
391
476
429
580
576
398
656
500
583
726
378
696
778
787
744
342
627
411
696
691
686
624
732
630
436
315
361
775
387
485
309
524
796
577
413
446
447
742
454
658
738
592
512
364
569
465
533
706
364
728
699
761
378
622
349
726
404
522
698
688
555
637
589
666
754
338
565
585
475
392
427
465
617
544
498
369
455
638
671
544
370
785
486
312
331
586
634
706
335
363
578
720
418
593
737
719
569
551
306
442
720
468
710
707
463
663
751
496
455
724
572
614
427
504
635
726
695
314
647
503
509
347
382
313
613
531
616
519
666
371
627
438
318
761
403
662
433
592
500
742
739
597
353
783
462
537
579
343
431
657
759
649
659
599
466
354
660
800
768
591
418
733
398
425
397
745
335
781
546
576
396
348
408
668
349
341
527
558
534
519
685
587
534
784
713
539
315
694
448
792
757
674
739
303
766
597
775
532
512
322
595
322
386
788
381
606
730
800
418
662
313
667
439
522
387
689
774
461
540
673
463
604
488
325
602
607
303
462
743
597
617
574
600
557
496
408
327
692
608
323
514
489
444
711
616
790
364
755
476
338
603
351
323
341
735
474
602
431
527
303
618
458
473
555
491
407
636
758
499
377
711
413
708
465
503
300
473
787
423
698
371
303
341
537
557
701
644
752
439
661
654
422
429
665
567
575
596
467
763
326
600
658
332
712
588
740
441
650
706
308
607
704
451
610
721
712
713
444
744
544
440
633
456
632
329
700
507
730
337
708
627
725
536
681
308
796
729
757
642
695
351
332
697
608
419
489
417
775
444
654
603
612
506
426
633
794
617
453
562
515
770
800
600
759
476
444
542
395
440
779
487
556
611
439
785
452
612
758
359
704
661
644
571
347
340
690
516
586
547
609
375
424
523
544
323
461
541
428
324
539
644
788
384
620
762
725
309
373
432
315
595
518
426
369
623
427
626
607
792
576
488
362
769
336
375
472
474
760
531
342
395
394
465
342
568
417
719
322
751
596
425
654
635
409
672
781
530
563
707
694
569
767
562
798
711
449
480
784
307
603
793
324
615
564
458
557
355
587
444
434
319
752
345
733
342
670
633
651
686
654
719
732
686
717
694
327
639
484
713
462
344
480
648
719
592
778
784
774
413
698
501
711
760
325
632
397
586
546
402
580
693
542
501
492
405
86
477
462
397
193
265
76
37
235
450
56
213
244
450
98
307
82
185
486
443
425
85
18
223
117
228
415
5
345
68
235
423
257
229
493
165
259
218
224
260
384
441
90
122
117
57
306
35
161
47
57
3
221
97
330
117
235
196
165
28
334
368
460
221
330
218
445
166
448
13
340
226
140
106
9
178
42
247
224
364
493
328
325
114
199
433
403
373
118
15
149
364
48
54
59
417
177
375
339
300
447
44
259
20
47
405
64
359
307
30
94
213
401
311
307
100
497
163
150
466
471
146
388
152
48
10
321
260
227
177
257
435
365
94
375
346
370
173
332
14
347
289
445
270
389
405
255
229
16
474
195
25
381
37
346
296
422
448
407
157
319
384
163
43
262
323
383
123
428
251
344
71
287
124
414
200
145
82
304
60
84
418
214
313
252
375
46
247
149
177
147
429
385
460
161
500
446
31
319
191
341
271
477
414
47
419
11
238
278
17
258
15
428
32
492
138
261
214
20
15
43
396
258
26
69
232
373
149
280
398
202
206
282
265
27
63
199
294
53
297
499
387
410
397
165
474
35
293
118
283
489
182
398
48
385
211
172
233
494
288
329
209
322
13
486
452
449
258
207
193
349
104
96
215
440
45
372
174
20
29
381
481
209
358
299
111
294
81
13
242
362
431
329
51
442
80
181
68
11
459
450
5
45
111
94
451
259
128
411
194
128
139
158
190
383
429
169
345
371
87
288
344
269
355
460
184
334
206
107
395
238
342
5
169
35
419
164
77
288
287
86
164
317
110
451
182
40
360
162
368
498
310
198
447
368
217
314
496
290
331
177
435
265
210
76
465
314
487
410
137
414
284
219
167
293
403
426
451
491
183
424
201
241
460
137
166
83
295
386
239
310
340
2
313
101
17
463
29
453
400
16
480
202
32
468
216
54
4
434
467
385
178
388
93
379
432
407
358
273
2
413
73
214
92
82
44
446
221
217
217
122
177
359
454
115
235
214
201
46
388
279
134
397
157
234
199
15
259
296
91
326
146
63
22
430
119
398
469
247
39
371
141
32
286
38
191
398
477
17
60
131
408
190
298
220
287
170
495
359
244
254
392
431
234
48
163
22
382
13
116
41
67
246
294
26
240
21
490
378
485
316
359
427
366
322
165
245
170
315
209
130
40
375
494
16
36
15
187
374
152
195
464
415
89
231
307
282
114
357
368
260
213
457
80
145
178
27
323
285
432
270
77
323
150
182
465
256
143
437
402
466
402
84
438
257
261
177
39
167
189
53
185
156
128
206
190
164
279
6
26
136
415
491
8
252
114
168
261
328
474
110
88
270
319
433
226
37
91
6
304
65
308
413
232
457
153
120
5
450
365
462
268
437
353
278
236
16
457
180
297
59
251
150
69
127
439
189
287
196
239
67
30
191
267
357
274
371
250
163
494
398
309
403
229
412
484
291
483
231
126
74
217
418
496
361
305
443
479
60
470
309
205
440
447
191
275
178
82
79
85
242
215
343
390
93
271
74
242
85
156
281
105
106
387
272
214
338
185
79
154
163
110
321
97
397
72
316
327
355
461
293
179
374
206
371
132
241
436
103
492
437
35
290
447
237
484
22
42
114
168
239
257
464
73
471
378
490
62
330
120
492
399
232
12
59
406
413
344
98
456
466
166
19
228
378
436
82
31
59
126
405
222
68
51
237
441
493
161
346
212
425
117
294
279
300
196
285
158
481
57
92
412
347
340
383
255
209
395
129
142
44
335
327
243
196
73
178
94
443
311
166
278
321
63
459
187
291
55
484
129
43
80
19
4
56
497
480
329
343
128
490
382
360
229
364
375
89
178
33
493
318
146
2
292
158
92
433
472
286
473
431
84
438
244
28
424
70
363
103
97
380
391
122
199
92
27
339
94
245
214
232
382
337
275
33
162
312
87
72
397
223
206
487
280
32
358
494
431
203
197
156
6
444
257
192
492
180
435
289
341
293
146
187
461
121
302
165
340
243
233
479
52
134
406
76
290
404
225
450
198
471
214
327
338
423
306
452
378
391
52
62
98
258
25
132
125
326
367
432
147
195
425
113
450
322
52
82
409
334
497
162
188
486
176
336
377
345
61
55
233
361
13
2
79
46
339
165
231
303
286
471
310
444
420
253
246
316
266
205
8
270
299
156
67
22
245
246
321
362
346
448
24
83
496
340
115
319
117
89
370
68
95
354
197
122
380
220
277
292
6
140
433
144
498
123
233
294
462
2
451
406
405
139
332
441
299
325
154
243
463
220
208
39
250
280
80
330
332
140
27
232
469
388
432
116
378
296
146
44
99
160
440
269
367
188
156
378
75
405
240
204
383
467
458
257
398
286
387
322
397
52
371
119
259
457
427
463
72
266
131
164
424
416
303
264
140
348
209
99
244
168
322
361
276
289
59
428
233
420
78
191
150
492
290
427
461
363
384
467
448
77
448
171
237
181
204
469
95
150
199
27
334
357
394
69
123
250
273
220
229
118
66
269
96
381
356
80
337
229
157
65
293
249
216
256
74
476
455
101
36
50
42
299
397
254
158
190
114
154
453
296
467
456
461
81
74
98
4
67
487
164
440
273
103
223
293
200
91
145
460
97
308
485
269
182
349
261
157
163
437
106
238
141
432
101
109
349
276
495
211
28
317
52
44
275
390
417
16
303
208
296
95
167
166
201
69
453
294
211
303
212
358
25
241
182
2
347
353
371
51
208
121
282
218
473
221
108
223
270
188
436
468
233
17
332
478
45
169
367
400
243
272
132
176
123
42
340
54
284
89
293
74
146
113
89
474
75
231
282
434
291
379
411
237
479
125
109
409
382
38
237
298
239
377
301
16
485
261
410
180
152
202
352
178
184
288
406
304
333
391
302
282
50
474
414
89
167
454
340
190
42
4
250
146
157
364
414
216
14
125
317
200
353
22
313
438
391
334
317
114
116
219
121
7
118
136
450
153
17
394
371
118
152
283
487
226
78
399
39
220
134
246
257
89
165
195
474
342
197
198
405
302
24
217
225
357
255
174
221
146
161
69
324
304
340
110
440
124
262
321
420
178
61
466
357
17
133
155
125
367
8
313
211
189
349
500
167
301
338
496
211
38
43
341
57
97
318
41
284
362
444
122
185
41
364
163
193
71
473
348
469
448
403
418
386
115
346
396
96
307
97
261
287
386
178
395
236
291
439
378
487
97
266
18
194
430
58
45
394
226
365
485
145
306
75
31
155
428
240
421
2
474
199
234
174
198
307
288
391
181
302
419
226
497
26
329
107
163
435
238
324
431
492
134
411
52
414
361
401
408
75
48
235
158
105
91
339
89
462
55
417
133
351
217
249
286
425
252
480
224
280
12
298
283
320
332
41
262
38
495
153
451
59
407
22
320
361
355
255
445
258
164
369
359
191
215
491
384
187
345
193
208
112
59
120
484
95
449
321
93
499
199
139
57
368
252
110
307
50
343
18
421
273
375
421
271
149
458
325
42
407
118
146
79
283
113
116
231
201
419
310
228
135
254
441
486
49
182
181
103
428
71
135
228
85
276
340
62
133
22
430
394
194
158
343
394
25
400
367
288
500
473
252
4
80
156
286
385
391
129
353
329
215
466
46
340
295
376
134
187
368
86
390
87
476
177
336
300
19
448
271
135
198
479
354
160
289
300
308
364
350
221
228
148
228
81
32
211
227
297
422
167
252
435
359
92
305
251
169
189
376
283
276
160
305
53
118
136
262
339
363
349
258
50
281
113
114
460
428
370
492
13
178
381
139
265
54
378
329
213
71
274
308
467
341
366
446
359
127
389
184
404
324
246
146
5
475
195
226
322
211
138
392
475
229
110
273
455
74
478
55
405
200
334
232
428
255
91
288
94
445
378
154
116
207
153
480
80
288
438
262
440
1
245
285
487
447
325
12
446
328
122
192
17
405
370
166
40
186
361
18
100
32
76
360
107
491
459
226
237
3
279
420
478
285
348
40
237
144
414
370
338
167
87
20
352
458
333
200
144
108
286
155
467
40
54
159
477
217
496
225
383
456
82
387
487
396
143
248
365
392
454
202
482
401
201
247
270
376
60
10
99
380
176
152
218
353
37
406
265
88
344
192
126
15
153
288
52
281
205
279
228
423
484
157
171
70
392
193
251
49
394
442
151
368
496
333
373
155
31
237
59
276
219
189
227
452
182
270
200
213
308
151
161
81
261
406
445
79
232
105
203
279
343
158
221
432
363
217
457
278
427
172
417
255
157
202
132
403
81
245
56
439
143
173
439
58
400
209
143
195
244
8
375
4
40
186
205
169
291
334
372
338
130
372
65
326
77
196
11
16
413
421
464
272
373
477
184
54
257
410
62
295
154
90
65
382
288
68
346
299
221
174
339
95
99
440
272
168
497
350
218
39
102
283
352
491
60
406
16
441
237
42
405
451
44
250
351
191
339
154
77
21
121
174
179
269
19
396
53
346
211
134
207
448
169
418
123
405
390
398
393
463
187
435
121
374
108
154
144
141
38
455
333
311
182
154
63
300
348
216
285
331
93
86
425
15
245
146
270
133
44
323
468
53
188
239
146
409
304
52
376
394
81
55
319
390
246
465
319
85
37
337
212
69
97
175
156
360
471
87
180
420
126
66
474
457
371
126
436
359
165
333
112
476
178
147
211
222
240
157
259
62
355
226
265
336
440
273
149
499
114
86
371
389
4
118
306
208
464
71
150
440
456
269
134
45
471
242
217
150
239
104
392
148
417
272
205
81
282
296
34
136
478
370
96
89
386
409
460
382
388
362
457
254
123
375
224
15
212
144
56
307
265
46
212
355
256
329
296
387
23
223
185
115
276
123
94
296
156
297
164
16
482
143
488
322
71
417
36
73
456
21
465
100
344
93
49
384
395
495
153
455
423
320
473
64
307
238
107
29
278
451
46
404
155
278
121
175
55
337
44
102
399
442
359
290
93
480
410
457
406
37
405
125
426
493
390
216
28
478
396
348
332
243
166
151
442
288
145
82
457
316
115
364
182
382
115
180
136
206
347
131
290
348
100
288
344
58
352
473
334
175
456
454
97
81
177
178
172
144
491
26
436
329
414
162
320
65
289
363
41
20
472
347
130
54
109
176
320
33
343
28
253
246
112
363
439
352
438
343
96
43
349
337
203
202
235
236
86
92
320
114
264
73
489
7
203
209
485
447
192
32
96
185
278
421
132
498
476
101
484
200
478
315
428
67
272
237
347
178
479
362
233
342
201
391
82
137
48
377
16
454
218
460
129
421
364
210
235
44
1
428
25
63
391
206
259
165
189
491
307
424
91
451
396
355
340
340
356
83
65
56
325
491
176
193
492
278
128
333
274
232
499
417
105
250
78
288
259
358
288
400
386
85
395
267
237
12
132
381
94
39
371
452
285
290
468
143
436
262
97
456
45
18
296
435
442
391
471
203
476
215
215
123
440
431
166
399
151
49
3
114
72
311
457
76
359
190
395
153
405
211
363
245
291
12
173
260
293
64
423
125
366
320
91
42
57
281
385
426
458
47
391
103
282
265
36
105
113
204
237
237
215
63
255
483
210
83
454
126
171
88
293
113
312
404
188
151
69
87
51
352
328
310
230
296
208
196
243
402
409
263
106
401
30
168
388
10
183
326
406
309
159
158
106
427
82
443
438
483
161
133
69
426
343
297
490
424
422
339
230
19
367
104
298
42
235
220
147
403
241
211
479
319
125
428
301
152
66
250
317
53
431
67
489
43
147
356
128
260
381
280
62
48
252
335
377
295
229
105
191
241
446
166
176
282
65
325
371
47
110
269
261
3
409
314
86
391
402
472
100
220
132
358
406
393
488
46
110
473
380
165
152
140
474
24
84
244
271
340
71
436
122
255
85
355
74
92
77
270
74
257
422
159
426
145
179
471
51
296
471
405
252
119
99
113
310
292
361
487
372
75
481
175
240
33
367
118
274
42
280
153
115
254
42
259
5
272
76
49
264
295
99
449
433
450
279
191
146
279
177
195
82
29
402
137
402
2
65
412
450
308
171
271
347
248
220
282
173
477
113
184
252
471
33
85
455
168
357
434
474
393
293
178
479
222
113
385
440
263
145
473
360
242
129
408
76
214
164
389
340
87
203
350
442
17
58
215
239
168
260
498
253
109
262
314
170
138
46
16
484
63
309
204
9
313
114
145
462
353
321
471
383
134
201
393
299
177
499
85
147
65
169
32
68
263
326
144
243
89
82
244
408
307
474
438
278
55
7
416
470
188
393
450
299
262
268
97
387
318
350
320
69
301
227
95
451
436
214
160
170
438
125
251
32
222
300
151
158
173
267
491
28
120
366
220
319
499
459
128
198
449
252
152
236
283
42
295
305
440
34
294
471
415
174
124
178
49
219
183
437
316
202
390
108
229
406
230
51
85
391
272
367
201
93
325
52
83
95
301
331
490
153
257
351
171
473
208
244
464
467
25
487
310
409
275
273
178
263
60
299
256
375
460
99
370
212
314
85
357
305
475
329
19
481
395
445
98
450
105
446
410
464
299
353
152
136
52
408
447
206
462
371
344
71
296
329
186
275
332
272
113
100
483
462
42
341
458
264
465
438
237
353
19
401
147
349
399
445
229
133
33
159
275
179
277
428
361
302
350
113
15
247
371
181
17
387
148
340
6
326
122
185
496
61
496
420
138
1
493
362
20
475
495
450
136
252
339
81
414
126
245
421
231
224
95
212
139
227
152
132
401
143
146
498
360
446
477
104
119
156
280
279
391
175
214
307
25
353
330
226
139
56
344
169
107
402
445
131
423
155
227
275
341
45
121
217
411
19
169
248
172
361
22
323
277
96
494
166
142
422
414
28
121
149
242
431
13
481
281
452
124
43
28
438
259
113
431
486
4
397
4
173
443
147
129
102
42
159
338
42
382
399
32
238
174
141
329
329
275
449
487
343
467
235
372
293
463
196
232
150
84
280
423
436
153
299
271
205
27
492
463
401
199
36
202
241
208
343
45
129
318
174
271
175
263
78
95
64
77
329
377
485
361
155
430
435
390
198
302
483
363
251
424
86
131
297
173
364
31
436
291
212
201
477
153
8
288
149
51
159
232
248
92
426
301
439
224
91
37
465
401
277
402
251
94
212
263
375
181
136
93
256
290
110
42
245
97
59
402
291
379
250
170
153
482
21
396
155
198
248
180
175
275
386
244
288
48
400
422
16
315
84
424
182
175
295
355
437
480
139
314
461
465
309
421
8
303
63
448
312
471
202
489
24
114
278
434
492
155
42
454
154
489
332
220
431
170
431
57
487
496
173
494
275
53
368
310
57
60
335
171
38
476
104
88
4
405
138
219
85
370
3
253
252
380
1
195
335
106
61
296
31
166
408
241
212
449
494
240
413
115
297
120
192
452
400
15
119
24
169
347
128
382
37
264
250
117
254
211
137
224
279
235
183
258
184
180
174
350
345
97
303
330
258
443
424
324
25
393
409
211
368
355
316
222
461
295
80
222
336
359
426
451
328
432
56
33
250
129
302
346
375
431
318
211
389
433
403
136
398
149
275
221
106
390
54
263
38
273
483
81
14
63
26
191
171
105
319
89
97
43
347
277
389
59
44
204
303
17
360
34
273
356
311
200
147
156
494
200
470
400
77
392
420
404
468
369
309
447
31
183
326
114
399
126
135
56
57
267
251
427
381
1
76
462
39
283
160
209
143
198
284
34
164
205
187
452
445
241
23
437
192
168
196
19
262
6
442
404
339
58
14
48
127
475
372
498
382
478
160
226
238
485
383
108
351
86
478
18
229
406
419
85
306
378
447
12
54
484
104
29
367
159
23
235
201
192
93
14
60
17
64
66
147
16
373
349
466
317
374
67
367
497
58
285
157
147
252
272
189
61
165
500
334
192
378
428
100
105
407
204
178
96
115
105
166
163
460
419
373
389
298
209
404
65
268
50
9
77
10
320
84
80
487
25
315
48
228
67
244
250
154
453
258
179
365
272
218
103
137
300
237
301
298
239
227
35
149
448
55
482
294
334
410
438
373
396
338
426
412
25
196
442
214
276
350
486
439
202
39
60
313
477
152
335
75
357
385
319
176
374
397
136
155
197
156
170
227
480
247
316
118
413
137
122
91
231
464
157
292
135
99
101
494
438
340
266
44
44
382
88
215
482
433
49
286
305
446
265
156
474
2
385
191
131
447
249
40
260
326
192
17
99
131
495
445
74
36
242
170
10
294
414
261
234
62
84
373
270
403
371
294
238
296
277
359
383
97
459
155
28
32
364
381
371
302
61
226
431
204
326
480
258
364
214
277
231
148
264
275
113
388
395
23
4
195
415
260
230
268
438
82
171
440
219
209
426
458
492
464
307
96
36
330
409
273
207
265
493
312
379
233
465
276
1
332
464
401
433
452
403
308
31
75
349
443
186
368
224
236
407
217
491
280
303
21
41
272
34
31
475
320
60
102
447
149
442
1
117
473
310
395
474
324
121
356
253
170
289
22
78
408
195
448
346
221
319
160
13
254
295
472
46
258
15
219
277
337
194
431
168
191
306
436
176
269
378
374
472
395
205
48
54
261
271
60
102
269
420
28
217
447
225
132
434
201
87
258
485
120
56
416
181
127
85
223
72
155
334
113
274
412
76
85
114
244
272
179
329
470
258
224
293
375
169
11
43
113
266
186
19
339
244
324
356
33
483
297
290
261
342
253
467
288
227
29
134
325
333
111
104
311
233
189
170
241
222
393
185
102
223
32
101
246
372
257
252
370
80
277
290
476
433
38
106
47
431
309
160
23
395
337
7
344
233
246
143
6
24
442
495
452
302
63
29
89
9
458
114
185
212
232
269
424
72
380
317
278
274
324
206
11
482
329
358
69
98
55
265
13
189
94
395
347
335
396
26
63
13
27
382
225
471
85
22
280
327
135
310
123
233
447
420
68
469
212
348
111
112
73
490
311
446
293
82
244
314
390
336
109
24
307
232
368
221
92
205
229
61
2
166
240
141
37
256
388
476
400
2
64
479
287
8
228
306
298
7
322
223
213
172
187
225
391
284
426
434
138
259
402
46
359
72
452
208
299
308
156
192
117
272
250
347
369
122
195
482
359
89
85
302
46
249
320
373
412
133
157
98
170
79
201
115
8
418
55
208
464
299
491
229
301
38
376
444
68
149
477
265
194
63
245
155
8
475
85
492
408
16
126
390
421
185
60
416
219
230
173
392
372
89
371
354
231
223
106
355
347
92
330
413
380
66
198
234
59
338
477
244
80
149
262
28
266
9
7
448
418
249
486
327
160
179
497
52
254
21
392
38
379
219
493
362
233
2
396
483
496
39
297
252
40
180
388
341
201
272
387
336
286
475
175
271
359
184
464
274
480
82
359
470
79
214
39
93
258
467
348
98
363
209
81
158
96
484
296
49
147
69
448
451
211
495
402
306
422
368
66
56
411
115
153
267
236
342
312
189
1
456
420
356
438
452
160
382
56
222
10
389
328
104
394
182
473
50
73
78
156
331
36
124
109
411
500
450
257
130
187
343
494
74
366
443
72
305
140
13
192
126
146
119
498
42
336
312
52
432
423
474
325
254
5
23
88
408
15
485
82
214
349
495
27
285
169
212
178
15
222
51
335
12
132
448
47
446
83
470
220
45
420
310
182
20
219
492
393
492
130
213
180
498
350
488
259
53
389
251
474
150
49
31
135
320
301
137
499
24
102
23
496
433
464
133
234
117
235
441
464
344
21
255
58
87
389
347
78
286
35
413
284
471
439
113
34
117
156
144
333
36
434
320
390
95
99
45
318
30
32
230
325
4
256
57
249
328
323
47
187
111
153
456
430
36
237
327
26
152
400
91
449
247
95
468
20
181
414
9
257
222
275
232
104
307
39
317
272
369
392
372
48
161
321
261
411
263
6
146
217
201
311
444
172
336
444
444
192
317
360
181
103
333
188
46
5
419
119
37
15
87
471
304
175
132
165
397
36
236
107
380
412
316
145
261
377
355
271
255
424
4
500
321
337
487
34
325
275
490
459
371
187
81
453
192
369
352
139
366
211
297
140
425
139
480
408
24
68
201
133
250
489
277
144
129
442
461
30
361
352
121
463
393
499
23
206
82
450
144
474
250
496
216
324
436
206
259
409
427
78
72
221
129
331
153
348
405
387
54
120
113
442
95
55
365
368
185
437
446
142
125
275
227
282
164
324
170
465
147
373
192
10
302
113
395
306
105
394
485
479
434
15
149
175
418
183
462
29
284
11
288
245
443
108
459
313
473
376
294
124
121
183
305
161
227
169
476
158
19
407
317
238
222
8
138
465
124
363
307
246
223
111
438
103
434
438
476
281
24
175
405
79
444
379
373
90
165
67
210
111
487
292
145
33
453
307
308
57
42
36
126
472
174
303
447
248
386
426
248
43
128
422
183
482
266
209
339
58
2
197
418
345
135
396
425
323
191
327
234
415
420
56
434
394
58
400
341
488
386
311
345
23
269
161
83
308
473
61
149
408
373
144
338
439
105
355
37
245
148
157
117
491
281
145
406
197
98
73
336
338
75
181
433
52
80
147
133
311
338
452
498
188
399
151
342
203
462
309
41
134
325
349
328
305
315
454
436
356
390
308
421
380
73
232
175
62
24
289
210
229
385
60
130
255
135
167
25
115
46
354
137
38
101
362
96
497
452
239
31
239
434
74
143
272
240
489
90
494
373
431
417
127
321
155
389
500
105
492
260
65
128
70
134
78
32
97
16
319
149
133
215
3
383
382
367
288
368
214
352
499
279
4
151
305
363
324
259
492
257
445
186
87
26
118
358
442
471
318
33
190
170
94
200
235
12
490
269
242
392
177
8
397
139
469
8
167
420
187
47
366
168
287
20
306
30
77
486
228
184
72
82
420
54
92
318
44
445
167
284
371
73
344
110
153
72
142
487
221
405
472
467
426
37
10
429
378
129
243
91
374
485
208
16
263
330
482
241
357
307
148
165
383
83
25
473
27
26
326
485
239
89
127
118
129
156
29
394
227
47
428
235
36
174
274
6
112
94
448
129
499
180
47
303
454
193
439
27
153
294
114
229
197
307
425
404
142
261
305
135
249
35
160
327
441
342
125
285
376
262
346
382
329
443
257
107
12
185
439
51
173
318
377
264
79
150
29
57
493
357
305
411
48
170
35
260
109
324
306
105
169
466
424
188
327
49
317
200
465
373
67
357
211
452
133
61
144
231
386
353
463
275
195
354
380
161
26
472
393
479
44
293
220
233
74
47
482
160
256
266
456
266
157
101
106
152
187
441
230
86
86
361
44
151
33
413
56
397
235
137
216
456
76
213
121
164
73
387
397
198
58
423
271
24
467
351
350
140
366
27
307
226
1
455
107
102
31
328
390
41
464
489
155
249
66
82
292
131
352
248
244
102
414
197
116
102
159
471
388
290
128
492
21
37
373
72
492
295
118
126
188
475
368
354
217
29
22
300
257
474
295
374
324
133
29
348
57
349
68
465
211
229
394
299
38
449
215
392
24
390
430
243
108
353
279
334
350
164
307
118
315
389
198
353
336
349
467
189
176
286
407
45
448
74
79
385
323
275
184
243
190
467
203
129
500
473
269
495
3
383
38
176
436
347
121
130
209
185
15
223
426
298
414
455
286
72
133
41
76
374
411
381
378
415
276
41
469
231
347
710
402
363
408
571
355
532
659
747
567
525
704
365
419
511
657
526
561
643
571
415
309
640
507
611
356
768
431
309
361
700
630
369
642
358
769
718
647
600
418
720
621
510
516
443
488
715
324
634
320
600
446
401
365
726
464
431
632
674
671
370
744
789
528
497
716
448
709
666
779
730
796
570
800
332
797
672
309
728
316
768
557
535
486
529
548
632
777
422
300
671
521
704
679
610
308
454
455
328
477
626
375
570
714
741
400
466
620
345
394
680
415
658
513
713
389
402
772
604
665
358
549
798
755
428
683
649
597
393
748
508
678
761
319
680
652
797
715
318
680
609
689
347
541
755
436
410
695
712
491
525
728
391
560
431
395
573
392
464
639
694
430
383
745
403
339
476
580
365
430
620
786
450
534
502
353
441
520
354
440
506
686
366
694
742
792
341
357
461
777
795
663
728
432
606
403
660
322
416
452
774
718
663
501
543
519
302
323
672
452
588
585
642
412
603
790
777
513
399
749
332
529
487
796
406
374
443
705
507
506
765
627
439
605
781
552
421
343
782
636
674
415
328
583
568
519
372
368
716
465
354
757
326
307
365
373
564
390
454
327
530
634
594
562
630
319
703
329
781
561
380
790
550
671
768
775
543
416
375
359
781
512
312
716
390
669
424
741
566
631
645
447
394
460
642
733
771
670
646
441
325
374
335
547
440
392
599
405
651
482
438
512
410
658
478
512
583
314
464
490
548
308
710
566
703
517
405
555
367
354
786
604
518
750
599
326
357
545
742
467
526
561
661
454
435
580
354
404
575
301
315
681
388
355
463
493
607
447
549
525
470
613
711
567
356
364
367
434
577
763
790
399
382
340
425
785
343
761
752
431
735
575
717
488
777
647
624
486
539
609
596
626
513
767
493
398
325
635
656
761
678
558
401
391
463
533
479
473
736
647
456
740
688
447
578
345
783
366
325
786
440
748
676
697
660
622
504
794
607
550
452
554
392
740
699
525
606
491
427
565
370
389
476
777
500
405
378
743
522
633
691
368
623
690
775
311
580
740
613
500
717
625
694
391
653
435
314
526
426
600
751
706
646
623
456
609
540
367
416
551
574
312
364
516
382
611
572
628
446
342
352
492
662
600
314
494
637
311
694
367
368
596
505
657
693
587
641
365
710
522
762
746
744
578
667
401
480
790
778
755
351
339
725
549
763
315
608
769
542
662
355
682
436
421
312
705
375
761
797
338
376
340
766
365
312
395
670
742
633
740
795
310
737
456
492
565
760
561
430
630
597
673
347
343
704
518
483
533
421
362
658
419
685
461
500
422
663
765
379
450
387
553
624
793
705
769
581
497
548
598
441
347
303
574
419
332
557
636
490
711
476
344
310
727
544
473
576
543
621
646
638
606
714
603
374
350
610
315
734
321
501
661
706
416
693
711
429
737
723
595
799
427
480
771
663
773
497
567
581
753
667
633
335
426
505
739
745
374
524
390
787
610
394
618
319
423
764
495
414
573
752
794
511
355
532
429
540
624
532
358
406
308
633
542
616
319
329
310
605
769
744
640
669
632
644
642
681
731
703
553
700
756
545
701
688
463
539
328
639
340
761
796
719
411
757
792
407
679
783
467
568
508
407
355
555
305
687
760
728
377
568
456
608
598
338
571
429
479
366
421
632
360
544
519
553
434
470
653
642
502
355
527
637
634
409
796
469
431
413
424
596
796
476
687
517
465
750
386
662
341
522
721
330
464
729
557
539
300
558
323
348
494
700
327
376
799
691
752
789
787
736
715
547
502
738
692
741
755
496
561
413
730
590
670
550
439
364
684
774
383
790
611
436
790
598
723
375
483
537
602
729
494
695
563
724
376
532
383
502
722
436
320
555
623
445
339
490
769
724
660
572
312
418
680
320
611
597
506
505
779
794
605
443
750
478
359
725
621
757
502
747
413
319
385
554
715
464
427
339
578
338
362
571
767
406
671
518
557
377
741
461
323
322
476
624
561
721
557
784
588
420
688
524
453
308
553
388
792
535
353
667
595
611
788
544
712
785
620
798
342
754
770
590
314
612
406
469
389
465
694
448
534
721
639
495
653
728
600
779
503
800
340
474
312
376
480
503
357
464
531
350
657
678
396
785
433
414
637
637
753
627
409
427
484
408
730
481
749
345
580
793
377
438
394
587
759
605
546
520
304
429
712
728
472
346
728
624
571
741
480
578
745
668
596
658
776
327
503
640
479
376
431
789
405
696
508
470
383
521
349
605
678
412
770
552
735
352
680
604
746
663
369
348
799
762
320
531
712
498
321
429
501
515
486
735
428
718
495
571
606
616
314
556
677
433
646
779
741
670
420
596
791
734
646
800
570
620
379
367
665
387
675
733
660
687
307
584
576
585
340
382
717
596
664
587
387
563
545
680
635
406
722
679
512
675
590
519
594
623
628
530
742
466
397
478
621
332
641
316
502
446
630
522
402
686
700
456
746
303
379
667
379
694
475
411
368
463
455
618
796
581
675
547
696
439
755
684
316
406
719
527
688
330
518
538
695
404
351
364
504
453
401
316
568
565
626
752
572
424
494
771
791
303
608
357
644
523
499
525
797
682
696
396
758
567
553
475
741
696
732
580
620
588
315
506
463
695
303
655
520
743
734
395
789
800
359
575
737
653
743
776
615
740
385
750
658
386
477
650
509
499
698
390
401
517
604
725
637
681
321
325
633
447
500
539
747
531
310
394
440
724
325
563
610
509
671
494
570
615
453
718
319
439
692
709
531
598
564
507
326
658
399
653
496
323
688
657
439
317
318
484
507
787
753
730
504
535
717
605
692
548
466
682
561
743
563
307
399
568
311
556
396
441
505
764
671
576
521
374
734
762
475
530
519
487
352
771
395
519
578
790
499
703
422
704
486
709
709
709
302
673
759
712
776
786
656
334
340
390
322
376
539
596
763
789
666
744
789
605
523
559
623
421
382
717
674
332
683
711
642
656
667
606
789
386
736
391
617
441
583
504
779
779
740
319
488
761
592
656
762
439
727
476
624
662
778
614
728
309
375
478
431
545
676
502
436
315
647
547
774
694
747
420
432
375
497
452
585
623
436
653
576
480
657
797
615
344
390
519
660
793
661
642
790
405
414
429
710
554
583
763
669
704
711
400
454
377
338
381
431
583
493
624
412
700
432
315
463
301
669
681
412
371
328
374
778
334
407
772
731
777
394
540
470
518
463
320
376
511
591
302
567
426
536
778
450
483
783
593
703
463
657
728
350
565
590
453
426
772
673
549
736
558
646
376
343
671
620
335
366
380
595
749
663
755
516
515
672
570
424
526
532
633
563
475
684
550
411
484
715
445
443
381
627
752
760
417
758
707
480
396
701
422
545
729
377
454
435
492
571
359
649
337
392
783
457
720
365
641
512
300
475
393
620
428
434
785
754
596
690
312
498
545
519
373
568
440
483
557
581
716
759
549
616
399
667
549
451
576
400
513
457
460
634
445
410
690
531
602
484
392
781
408
588
375
557
348
691
351
379
604
683
567
699
603
676
484
717
473
756
541
363
673
405
486
397
515
468
539
771
766
461
609
356
619
572
470
648
667
581
593
355
409
452
399
669
301
597
319
306
455
689
387
576
418
715
680
516
338
670
370
397
688
371
515
703
692
452
505
681
524
638
504
509
797
519
757
516
660
585
606
341
703
615
498
492
772
450
659
500
786
683
472
616
535
764
495
403
551
602
375
365
703
605
689
426
522
767
690
431
631
695
586
509
632
550
535
495
712
760
489
414
618
667
781
421
505
618
564
445
551
510
685
429
351
310
753
474
665
572
709
527
701
318
786
725
783
686
571
645
323
374
562
605
570
749
601
358
781
604
645
414
345
698
790
618
783
666
571
389
397
654
572
399
766
783
352
757
661
373
541
347
507
508
502
771
379
379
437
544
604
482
458
436
728
692
446
396
403
526
440
480
566
369
697
518
420
785
556
606
366
489
650
492
384
613
375
725
621
744
325
328
795
681
442
439
333
430
501
691
599
334
798
622
338
609
665
609
728
690
351
357
647
518
361
461
486
527
685
745
766
780
767
772
350
516
758
451
570
451
719
333
517
620
566
580
409
384
634
333
698
411
401
785
471
778
327
639
395
518
351
599
527
487
380
744
521
336
570
717
376
526
609
793
581
769
795
427
320
499
783
728
740
407
400
388
534
611
682
307
417
663
554
672
692
394
698
562
468
338
705
788
737
591
673
621
385
408
712
519
531
686
442
451
543
760
334
479
799
452
745
526
701
653
765
520
739
501
423
774
628
753
556
756
799
602
389
683
312
318
559
548
647
324
543
769
717
614
547
436
695
383
578
622
425
708
394
519
666
676
550
498
675
754
350
442
692
681
368
575
532
453
308
688
383
616
695
621
595
453
524
490
628
543
757
705
374
374
667
463
399
768
733
623
676
708
447
688
710
473
738
628
492
462
459
522
682
334
338
403
796
754
446
696
620
544
691
529
377
430
307
706
389
411
744
315
357
408
726
657
753
509
716
549
787
380
685
617
313
797
584
593
455
678
481
431
776
738
674
624
372
733
482
305
511
569
431
438
316
645
762
449
312
537
656
669
740
774
313
584
388
663
308
586
454
700
347
333
385
735
502
527
308
359
564
699
701
482
552
456
325
764
341
499
491
616
510
341
385
539
687
300
364
441
469
373
579
728
334
515
598
516
544
527
478
460
627
340
376
637
791
799
339
553
508
782
334
683
307
429
670
472
552
637
428
324
676
459
423
441
385
698
471
551
398
767
642
672
785
690
569
633
704
452
612
633
721
772
653
373
757
447
309
681
372
317
409
742
466
316
719
615
624
659
336
782
752
361
588
481
483
600
378
334
337
745
740
666
518
776
724
307
643
533
574
789
418
794
569
485
612
613
416
631
423
320
595
590
560
626
507
383
415
589
378
618
759
372
595
544
542
705
416
652
334
592
763
488
508
516
368
554
606
505
685
516
452
651
751
623
443
795
784
768
634
501
328
705
531
616
644
454
597
752
714
371
332
771
620
379
778
458
677
313
680
633
671
651
725
483
659
362
408
630
352
336
766
560
331
347
575
315
442
382
544
502
447
778
445
586
653
654
378
773
690
394
543
734
422
498
665
619
556
326
509
761
728
486
711
552
593
541
500
482
756
723
735
688
631
756
749
387
665
316
682
731
748
390
338
450
315
516
664
365
473
726
614
660
358
764
390
390
587
646
562
488
595
637
532
410
529
795
657
496
423
512
406
793
683
525
610
749
655
334
370
590
727
762
357
596
625
477
531
358
573
766
343
603
645
470
618
710
573
450
791
651
326
371
780
656
756
671
502
537
775
598
527
480
550
402
420
484
436
421
484
415
786
789
782
344
337
681
413
380
755
336
721
633
672
742
342
502
402
553
658
365
568
360
495
321
782
525
782
462
484
518
794
471
470
661
733
718
586
588
733
645
623
563
484
478
669
641
800
463
568
792
422
383
754
623
603
691
461
797
777
347
787
520
366
737
589
370
575
752
652
616
590
531
767
490
491
337
343
637
515
480
589
400
702
336
334
407
671
725
459
675
379
599
710
682
340
763
625
622
604
650
449
367
486
395
383
360
437
662
648
450
310
446
428
391
379
309
788
522
600
522
528
389
794
629
493
474
550
300
303
482
513
766
679
443
603
405
335
790
626
336
735
687
387
459
434
789
655
317
688
300
672
603
649
785
769
633
743
744
739
385
409
738
370
453
441
581
440
373
561
644
306
606
425
603
319
606
490
788
675
324
341
581
621
303
783
679
739
795
460
459
575
726
799
441
437
447
684
542
399
336
463
730
624
423
572
707
677
383
397
559
354
645
305
647
436
430
420
787
644
453
769
628
421
794
705
699
746
409
603
597
566
481
634
681
627
662
435
413
434
373
672
692
460
544
721
643
446
364
538
440
620
444
408
797
684
751
525
357
519
736
634
454
378
567
338
605
395
680
625
792
552
553
584
555
415
420
754
721
366
450
346
384
613
642
729
720
382
318
404
485
337
790
666
581
580
429
565
453
676
772
333
580
322
636
322
754
602
458
325
635
391
539
471
317
576
644
409
380
564
713
786
719
658
395
573
472
500
741
333
661
428
514
406
337
376
536
444
553
380
386
507
373
727
602
640
554
379
469
418
677
442
555
507
397
329
727
464
762
611
349
584
473
640
666
429
591
738
594
438
385
372
444
417
658
711
739
569
431
302
579
507
434
626
586
377
590
447
513
538
577
464
398
561
316
749
785
415
614
514
447
541
533
445
668
527
792
323
493
615
313
711
708
372
611
325
581
528
637
467
605
619
484
373
730
782
627
384
621
499
466
373
662
463
445
717
667
744
368
576
341
604
347
330
764
399
314
384
351
515
342
675
585
317
650
710
587
753
682
445
463
477
656
453
743
350
722
749
500
383
793
767
450
696
582
733
507
569
534
303
450
695
694
612
794
351
355
471
644
521
644
737
792
625
306
757
679
640
700
544
736
691
453
363
633
676
579
606
333
418
649
352
425
572
706
663
622
514
753
711
756
704
395
493
357
349
713
749
597
665
742
451
359
720
689
540
591
504
367
786
570
453
414
391
554
721
311
587
444
549
685
720
333
391
557
628
337
358
392
464
710
418
356
377
441
785
404
765
563
328
416
338
632
336
756
544
385
384
625
416
611
653
754
595
699
507
537
429
408
425
767
519
609
527
783
661
326
758
479
374
782
743
465
591
416
781
491
606
483
656
747
616
567
420
484
789
793
516
539
499
642
428
612
670
375
432
659
771
580
457
341
423
583
727
310
497
606
477
648
763
511
367
689
566
762
374
710
562
361
631
586
306
312
732
364
504
533
494
628
392
793
617
572
713
582
396
520
473
668
735
697
558
494
522
603
559
712
474
551
668
738
363
504
317
555
306
697
709
527
547
556
588
545
683
415
430
752
375
317
531
779
390
611
453
421
701
367
395
327
683
620
398
649
543
439
708
418
500
489
437
601
695
439
361
509
466
601
681
550
504
629
652
692
666
376
578
537
778
479
454
677
532
589
429
567
688
800
377
490
769
518
760
433
707
411
790
506
366
779
360
714
425
611
710
782
342
556
627
469
573
566
661
482
748
449
497
345
632
761
598
721
798
795
736
653
481
425
563
642
453
541
445
596
489
507
612
777
336
559
670
557
594
678
633
560
584
406
584
679
716
447
665
539
342
678
544
610
340
553
580
418
599
330
616
681
541
559
511
682
368
717
601
744
719
481
750
513
773
724
499
562
483
639
715
655
461
331
744
315
366
735
457
430
740
385
309
386
789
461
494
632
767
303
530
669
436
461
644
595
666
423
693
345
456
452
538
437
494
458
603
366
351
599
594
800
683
341
584
525
553
361
308
658
383
392
530
611
308
529
372
582
699
461
457
776
421
532
791
705
362
655
800
765
527
504
413
649
303
638
433
334
322
690
591
443
376
613
365
588
473
393
745
569
600
747
616
644
523
682
730
328
688
784
664
750
656
393
387
609
500
313
382
647
716
743
638
692
357
773
530
578
371
581
583
535
673
637
593
656
391
310
576
303
463
455
351
528
636
642
502
362
591
613
321
383
742
630
639
756
685
642
542
405
773
480
434
797
517
791
498
434
557
532
404
329
738
779
760
494
516
702
513
426
427
719
365
684
734
461
763
616
313
301
322
470
522
771
373
783
628
470
570
463
400
587
671
600
445
501
647
618
729
722
359
525
463
559
408
360
529
389
410
388
594
473
529
420
586
381
337
656
680
479
630
432
425
684
766
671
692
621
727
317
734
511
650
430
305
748
756
760
634
647
574
688
611
611
754
657
794
343
540
760
648
529
396
771
513
629
683
470
419
417
737
475
668
676
559
375
445
330
425
646
616
708
641
714
710
479
671
524
679
416
367
686
406
752
332
574
527
410
497
408
326
460
470
748
356
632
778
708
498
665
534
561
441
671
770
760
324
778
554
347
732
595
408
399
648
391
326
734
417
557
442
393
652
757
525
708
633
784
367
376
328
380
345
646
597
763
749
681
743
460
497
405
492
659
703
493
527
385
412
438
376
447
518
420
679
410
550
302
723
586
446
618
489
700
421
469
640
345
631
493
670
634
474
475
582
601
599
477
628
628
349
417
794
387
512
606
402
392
403
409
703
752
510
760
778
327
404
582
756
513
631
466
717
373
384
585
327
578
606
736
405
620
444
504
751
663
757
496
642
339
349
690
308
350
329
719
562
749
421
770
758
448
324
364
724
388
432
339
790
515
602
484
719
322
769
720
768
355
546
353
302
711
672
796
490
328
768
346
791
302
393
597
373
631
777
643
477
352
736
711
650
732
524
405
794
359
353
438
670
334
309
713
621
728
537
355
653
380
365
501
502
662
665
379
688
537
310
543
503
569
764
363
539
448
674
306
567
697
539
305
394
582
434
664
529
393
558
369
331
765
390
694
726
631
572
423
380
466
666
680
536
312
509
485
408
563
508
425
715
424
551
488
680
415
348
646
510
338
594
318
575
708
417
455
680
563
574
455
382
334
777
761
302
760
505
634
388
360
537
758
767
507
461
663
720
528
750
469
327
729
756
704
537
790
569
555
606
593
580
348
564
348
753
765
713
343
545
343
436
443
462
561
449
379
404
383
432
440
361
621
736
468
653
326
721
357
567
421
622
513
580
754
341
671
655
548
389
678
764
758
690
587
661
362
348
523
666
401
428
780
300
517
324
511
313
726
481
453
713
402
507
456
465
527
323
436
772
652
342
687
438
488
408
603
430
393
800
651
510
603
359
444
485
305
339
453
408
340
407
302
392
765
705
459
671
340
387
766
431
508
481
538
369
541
332
615
574
519
594
573
414
437
498
371
440
357
394
483
323
613
469
491
540
749
525
352
499
560
511
644
315
373
788
769
507
455
631
568
722
362
680
480
519
426
635
694
598
576
398
331
586
549
539
518
363
377
358
762
495
587
302
529
546
408
550
744
380
734
797
444
774
418
653
384
474
436
484
707
496
376
369
367
647
471
690
514
511
313
517
449
793
427
308
354
530
468
786
784
551
518
355
428
318
604
520
443
791
792
694
526
514
736
494
461
717
477
592
569
534
478
389
776
499
749
478
460
335
323
442
634
358
302
773
779
421
310
484
502
538
598
304
515
463
672
532
678
502
342
472
513
523
718
444
457
765
697
689
724
319
301
322
353
676
379
441
430
375
624
493
742
344
732
349
438
479
526
750
792
728
638
646
519
534
715
567
501
435
615
662
339
788
368
785
543
485
317
346
502
356
320
596
774
716
734
386
371
533
700
434
619
566
516
610
679
703
745
739
662
375
590
681
540
396
674
616
497
682
444
319
352
763
761
773
361
392
378
429
799
718
434
683
652
598
746
733
400
638
358
795
300
371
415
495
746
619
470
751
434
730
607
731
478
698
577
605
362
584
420
582
537
434
524
778
786
678
646
479
528
501
701
524
558
704
568
453
376
648
531
616
410
522
408
757
733
429
482
389
499
671
750
764
564
318
350
601
589
585
766
508
510
389
521
596
657
555
378
636
372
411
702
591
570
594
505
579
416
459
653
608
627
318
718
438
379
339
601
607
417
328
710
511
332
363
789
609
773
338
493
444
585
774
684
590
312
560
626
441
379
574
723
616
584
325
382
692
606
648
519
592
564
490
742
476
737
554
739
657
524
585
759
423
421
558
444
501
535
383
641
353
797
770
579
373
771
599
431
506
308
571
388
553
505
465
494
672
652
680
569
574
550
548
374
570
577
541
382
524
340
641
344
648
690
643
307
452
585
380
508
682
576
612
537
546
427
753
715
528
738
604
800
421
456
354
751
609
541
766
600
309
775
587
307
741
606
397
401
578
313
609
464
451
574
615
524
666
642
631
656
798
612
334
744
403
319
316
382
747
433
313
440
324
783
745
443
680
313
609
412
399
646
513
793
716
593
440
681
514
711
370
691
548
659
544
701
526
588
620
671
410
352
645
624
449
477
534
627
666
390
561
320
613
638
352
708
506
595
493
787
787
506
380
613
477
308
794
476
434
544
636
735
457
577
410
409
589
593
674
785
643
596
349
614
526
541
384
400
532
728
581
318
613
736
596
414
314
403
781
625
513
643
337
469
616
509
576
357
768
516
632
542
578
365
587
618
716
342
491
495
471
612
373
407
488
613
551
723
501
499
768
535
626
420
398
329
402
486
766
591
447
749
578
592
555
600
322
734
403
666
527
607
379
321
374
572
742
789
723
478
746
506
319
485
645
530
581
311
761
336
418
688
386
697
415
360
585
591
361
692
404
640
551
400
772
660
565
418
575
646
548
781
606
327
434
520
621
350
342
491
695
516
411
327
686
396
526
657
466
444
537
491
301
364
319
736
628
603
534
617
378
610
438
718
424
514
765
311
738
727
749
698
608
534
512
772
633
567
391
369
366
709
605
338
710
348
394
303
575
328
522
583
406
342
492
348
309
431
463
612
644
757
307
509
638
460
520
392
728
580
641
619
687
437
618
741
473
311
500
382
684
618
469
726
681
429
464
443
707
731
631
655
339
502
635
409
700
683
510
540
771
534
474
754
424
743
678
654
750
681
526
549
500
615
449
610
529
454
393
365
779
533
625
417
692
450
548
483
789
519
509
666
383
497
550
519
307
534
652
748
741
711
504
756
682
475
395
684
373
328
777
707
380
727
726
340
470
684
492
535
466
326
763
315
565
566
460
331
396
716
510
480
586
326
470
401
346
575
689
460
357
494
389
586
799
408
432
619
555
798
618
751
361
732
702
380
451
380
418
470
528
364
385
546
650
541
602
506
788
658
529
472
499
406
643
665
402
471
334
756
394
500
470
525
384
591
747
449
374
434
573
362
656
571
523
389
430
384
681
591
418
524
691
703
436
343
332
349
508
613
380
414
634
479
317
594
423
554
556
688
345
616
498
335
568
305
681
589
433
392
368
445
793
396
308
787
688
535
708
723
424
705
472
743
496
709
580
580
742
400
356
799
599
518
571
396
756
407
417
530
613
587
796
617
396
586
535
675
761
362
640
376
471
577
714
561
582
523
687
314
662
444
720
525
564
486
783
516
623
377
344
482
545
573
705
753
504
594
726
604
761
621
393
756
405
437
706
743
687
334
481
353
657
473
695
490
404
692
423
700
407
780
499
473
663
572
431
676
529
759
520
481
635
360
488
647
332
456
782
443
504
692
341
543
720
529
613
554
458
686
707
521
388
450
716
521
739
335
661
313
727
577
680
595
382
752
383
651
774
470
522
552
636
672
586
454
443
413
733
530
526
748
781
738
308
569
318
440
416
504
549
611
627
580
570
513
644
346
559
592
485
596
447
471
460
398
596
437
324
598
357
405
302
676
659
352
637
516
604
527
733
356
599
562
797
643
665
539
792
329
628
391
651
743
771
373
568
626
469
523
546
579
493
441
635
660
537
488
736
393
628
783
709
726
647
690
626
584
689
584
384
382
354
606
597
515
303
540
306
699
651
406
751
636
755
490
457
329
305
479
385
769
774
776
416
325
385
679
666
447
518
371
343
334
457
474
638
500
422
681
622
357
340
604
762
541
565
737
769
388
671
783
739
365
650
556
370
735
478
442
472
590
743
570
538
687
317
591
424
734
705
559
311
359
614
629
577
424
322
620
562
661
734
336
1
158
72
259
233
304
372
448
239
424
471
137
156
177
386
23
305
310
392
201
30
499
390
244
291
103
169
141
147
184
440
10
206
94
325
139
471
187
302
369
27
451
145
498
368
208
27
19
406
245
58
390
427
361
12
342
88
63
16
17
231
225
284
18
264
418
402
382
28
460
365
261
485
38
119
394
285
447
140
411
177
34
410
298
35
239
256
450
203
459
14
494
223
107
427
177
322
80
146
198
155
387
87
82
131
386
182
293
216
369
17
98
494
32
459
179
337
8
450
269
265
412
482
472
222
129
204
147
208
379
73
176
273
240
181
344
122
122
45
410
425
146
240
245
186
243
198
187
197
258
401
265
419
288
349
214
361
37
29
157
321
408
112
151
141
39
51
181
479
467
236
102
307
321
95
121
355
484
89
111
212
219
94
52
75
426
429
193
23
285
112
377
255
461
358
204
89
456
500
206
240
488
187
497
55
80
395
79
90
142
326
118
6
185
421
473
339
199
280
452
225
203
90
93
285
410
323
11
293
263
169
188
375
309
454
166
412
357
328
110
212
318
265
401
166
322
74
380
37
262
242
316
387
257
151
388
443
234
423
23
426
260
171
366
242
115
394
58
67
81
114
206
459
131
272
320
477
235
232
158
187
479
497
433
356
476
230
402
165
93
383
265
480
78
43
355
367
105
154
228
319
404
252
199
277
21
349
18
494
256
301
341
175
451
271
458
28
364
157
35
19
339
398
437
382
283
172
134
81
396
495
258
53
378
204
53
312
365
235
280
454
261
347
395
415
306
95
20
220
469
398
459
249
369
68
210
284
381
169
108
47
315
52
97
372
363
180
228
294
138
123
154
488
346
90
211
306
150
269
27
136
59
370
23
215
63
14
313
31
41
253
214
327
50
189
120
449
231
221
257
305
285
39
371
117
322
244
81
95
177
374
402
439
134
313
221
481
232
335
158
355
424
473
157
468
398
350
321
127
190
10
391
235
281
229
276
493
151
400
245
272
447
141
75
162
454
242
451
319
488
199
220
67
400
161
23
433
46
239
169
443
276
497
497
290
331
368
365
494
264
473
447
168
303
378
427
124
14
250
292
45
212
310
444
200
262
320
250
264
127
205
460
456
56
48
345
168
330
37
73
187
84
436
383
299
433
494
173
449
464
121
164
475
275
81
270
161
94
160
293
164
192
247
205
443
40
412
283
344
406
287
269
110
52
160
454
100
154
71
167
75
486
479
107
418
29
163
461
43
59
111
168
489
106
286
493
288
258
100
45
129
63
354
69
171
29
107
35
161
337
159
405
55
218
236
10
284
163
276
226
277
223
234
236
143
27
404
27
458
56
394
16
37
419
318
428
467
145
123
94
53
27
406
225
36
334
291
31
330
24
381
285
260
361
312
259
22
442
151
324
477
52
416
469
167
299
260
115
370
21
365
343
456
271
386
13
496
319
349
236
72
461
308
321
7
248
279
63
349
240
203
220
351
199
219
107
495
105
123
330
319
241
461
50
474
421
265
181
271
53
78
272
35
481
112
439
3
126
293
147
170
499
102
402
21
181
255
478
241
196
55
72
403
157
331
239
3
334
274
354
242
432
182
111
469
21
166
447
207
361
335
122
252
495
162
368
377
90
188
154
341
469
13
178
29
269
194
235
87
481
322
20
200
12
40
41
499
88
472
52
460
270
417
443
55
395
178
455
67
354
261
223
386
459
7
11
349
300
200
56
234
39
87
435
498
425
130
494
202
366
452
35
158
101
399
151
183
59
10
254
378
145
247
345
226
467
247
137
109
280
275
12
256
199
487
102
448
431
178
203
200
288
5
479
359
322
312
131
237
424
183
435
135
426
98
177
88
172
329
389
150
351
359
438
273
293
126
394
21
277
305
339
51
29
120
278
430
109
477
28
275
457
144
403
45
447
438
358
160
66
23
114
315
147
102
318
353
474
58
415
97
13
434
313
437
9
111
249
349
102
234
309
478
382
453
281
213
110
350
164
378
82
359
426
362
38
306
481
204
149
157
244
217
345
247
27
212
113
445
91
317
65
135
57
30
384
371
362
418
441
304
75
154
71
56
330
359
189
212
209
299
495
286
18
121
399
458
480
98
341
294
214
177
294
307
94
347
171
316
338
301
390
334
63
328
353
403
490
303
361
196
376
216
55
114
148
144
241
232
165
481
47
83
47
77
4
372
48
177
277
455
104
202
70
105
128
81
449
283
297
125
344
414
248
104
325
495
380
311
28
421
136
60
286
211
205
451
97
176
289
45
85
481
237
127
145
172
75
67
379
292
59
454
355
438
467
155
278
347
483
77
236
48
71
146
175
370
274
488
455
436
266
65
404
183
97
119
91
349
330
495
221
118
338
58
409
355
492
478
313
238
384
474
213
455
424
273
172
36
67
86
32
103
312
198
448
114
399
128
300
286
43
205
206
250
436
484
212
158
72
443
95
58
181
36
207
92
357
440
36
202
303
117
262
83
494
41
460
386
176
110
240
88
389
465
483
243
450
348
359
39
89
155
243
177
47
453
474
444
93
230
324
43
44
392
210
210
388
348
81
317
92
430
67
235
192
180
174
429
323
355
221
29
265
99
278
318
225
89
157
318
101
457
283
215
351
48
396
9
302
24
78
469
442
216
220
422
369
220
155
128
404
261
296
402
50
33
30
70
200
285
194
340
411
136
294
495
375
157
316
396
308
326
52
321
291
251
65
87
126
354
112
301
417
441
62
356
174
387
310
471
468
328
451
256
388
435
136
490
341
278
422
398
191
212
210
225
455
188
252
472
433
207
32
147
26
87
89
468
324
303
143
323
33
347
430
131
177
398
266
48
121
35
405
197
145
268
376
286
233
18
3
142
296
73
464
110
18
453
367
129
36
315
51
241
302
277
105
281
113
197
66
349
306
21
111
67
284
416
255
231
250
310
328
148
73
305
266
127
25
388
413
249
279
429
66
62
300
103
333
221
372
216
407
266
173
279
63
293
375
58
186
176
189
91
8
68
123
52
494
257
33
323
43
238
71
103
279
457
242
377
342
65
46
403
134
390
290
26
196
186
494
205
362
381
324
74
83
8
235
472
131
136
400
235
357
317
414
460
266
398
281
306
192
187
139
454
301
253
460
246
411
280
137
276
14
139
197
98
97
97
231
459
145
108
322
367
159
346
11
7
24
425
37
214
415
176
160
173
200
420
72
410
161
13
393
9
490
469
64
232
82
107
365
479
432
362
385
129
232
85
22
306
56
23
225
479
179
423
260
108
274
438
134
243
116
206
220
263
79
39
414
91
422
394
355
370
125
209
175
45
498
277
95
168
235
39
18
94
280
386
230
363
83
143
397
496
465
175
144
145
36
486
59
204
364
361
11
419
400
17
492
156
468
255
258
308
51
65
36
497
362
227
160
390
495
231
190
473
456
371
144
389
102
125
159
59
62
277
200
229
184
82
326
337
157
275
35
404
403
121
34
184
352
207
425
253
44
183
169
272
105
280
164
42
72
340
409
490
259
338
106
82
477
153
31
85
130
225
91
375
265
96
373
286
36
378
306
280
191
398
241
302
300
336
80
152
63
87
310
348
358
360
318
129
220
449
463
180
36
9
133
185
289
265
329
372
248
284
29
316
174
444
207
406
420
436
320
435
181
19
357
255
344
90
126
381
272
131
464
405
349
6
197
18
311
312
481
481
97
228
144
287
308
370
311
77
115
44
149
266
485
499
259
152
118
389
140
92
385
57
311
332
406
153
451
358
168
446
150
274
363
83
317
114
202
106
324
286
332
423
361
123
488
131
224
26
146
270
311
257
140
109
163
238
123
6
323
224
108
274
260
450
311
17
466
469
307
107
79
367
358
210
126
85
280
47
32
421
329
322
34
236
429
483
422
175
24
425
481
34
345
332
454
266
51
22
106
397
207
366
496
100
62
389
403
140
21
60
66
398
123
340
148
329
254
453
389
210
401
129
270
171
142
408
269
282
3
397
33
376
7
33
446
458
161
420
304
164
154
93
482
65
487
490
14
376
413
377
84
344
281
487
180
351
20
187
485
133
261
92
340
488
251
494
466
348
313
255
125
181
451
15
190
153
483
314
305
17
306
138
218
332
326
323
77
271
381
20
421
479
456
257
349
39
145
460
211
419
247
133
79
263
269
192
224
131
394
442
262
307
332
444
324
427
234
457
308
325
477
40
358
161
12
197
74
182
264
164
150
211
343
27
84
303
191
414
325
394
203
138
256
220
307
128
493
396
435
61
477
94
94
173
159
367
328
179
18
438
397
220
111
275
1
13
282
35
330
272
352
347
396
340
74
240
112
421
107
404
135
42
49
342
219
169
262
116
385
309
241
374
2
387
306
179
340
235
84
472
160
115
70
81
459
54
178
377
266
311
339
242
135
413
258
209
469
23
32
276
316
93
103
173
370
97
118
93
242
261
150
142
424
222
455
369
214
425
156
452
146
114
160
19
283
370
62
343
390
303
420
8
175
128
196
29
466
51
312
46
162
362
16
441
3
121
38
107
83
121
354
201
311
459
232
66
376
153
187
429
258
82
344
368
311
442
492
104
137
192
355
280
231
59
182
182
224
352
256
442
211
238
177
312
325
469
88
8
87
341
335
173
88
171
265
247
228
470
124
232
176
388
16
415
283
12
409
123
328
428
333
242
410
83
446
69
393
81
131
13
187
3
461
116
424
318
50
234
474
29
139
88
162
323
223
350
120
344
120
273
265
312
300
80
192
309
68
36
246
225
430
36
387
447
118
307
251
280
21
492
245
48
445
135
63
446
196
310
363
465
478
341
62
116
14
188
5
480
423
402
236
147
229
417
347
65
192
260
464
392
383
414
125
404
358
255
8
424
138
390
76
465
145
157
64
464
475
205
144
156
431
401
216
214
452
301
282
41
37
268
299
442
311
459
450
476
154
287
72
269
17
419
171
461
372
234
202
73
346
159
203
41
108
198
310
439
370
20
390
94
87
104
229
394
387
452
491
379
429
371
184
118
183
208
412
125
132
461
369
238
372
91
417
350
363
325
341
436
23
301
245
181
152
70
201
25
216
65
26
288
56
295
487
454
382
26
379
396
231
372
344
151
197
149
345
356
130
451
61
335
157
181
132
250
115
248
16
446
345
405
73
440
185
378
285
177
119
369
384
36
259
417
211
421
228
88
488
335
455
446
443
180
34
203
420
81
216
380
137
5
295
256
57
115
18
182
243
95
357
24
50
171
459
238
275
271
54
41
347
7
353
24
158
337
51
212
475
350
100
160
472
315
402
163
11
96
174
194
256
297
413
67
347
370
250
9
427
389
310
187
212
267
472
339
86
236
3
191
446
368
437
118
482
98
378
17
233
321
493
286
433
22
195
427
226
208
422
429
312
103
398
343
312
264
388
17
48
32
411
85
153
492
321
192
159
40
74
287
384
408
424
466
209
358
130
344
326
31
411
69
33
226
240
64
371
119
142
64
267
382
259
221
456
318
471
153
409
433
462
45
164
214
485
378
404
474
295
101
472
185
123
147
418
149
152
239
77
337
316
230
24
144
214
476
198
137
379
268
223
27
432
210
348
266
98
6
119
433
378
430
196
303
480
434
272
424
403
179
133
229
452
157
462
268
285
225
257
387
157
275
398
448
278
463
470
150
154
91
478
103
490
265
350
373
496
337
183
40
177
385
145
45
261
111
309
325
364
445
275
2
469
429
44
344
88
335
409
344
8
319
7
332
372
343
134
186
253
30
21
236
138
197
492
142
415
54
290
488
222
248
6
415
483
314
140
5
452
323
220
421
255
307
220
181
388
134
436
340
294
300
444
256
489
490
205
352
490
172
300
120
84
268
224
366
480
341
87
433
464
326
285
197
264
95
13
69
265
294
420
461
59
451
400
344
431
148
2
39
242
464
240
85
130
232
271
242
55
248
44
107
412
405
338
91
420
23
193
72
332
198
370
174
305
203
356
437
483
284
1
403
372
338
477
191
371
330
405
145
480
78
108
499
150
419
360
149
12
88
160
43
385
219
357
163
406
67
112
486
426
30
379
431
82
353
8
443
424
371
27
33
231
331
166
426
420
337
72
449
274
416
307
320
367
201
295
155
280
21
128
331
480
429
412
284
334
275
468
316
244
38
177
375
248
487
442
43
38
54
320
404
188
224
441
326
479
458
310
415
77
484
30
353
397
401
268
382
223
203
249
270
113
179
399
158
159
138
425
110
494
367
373
426
129
208
226
390
428
221
28
451
163
468
475
134
476
363
59
36
461
457
432
118
25
391
272
496
385
404
186
455
362
491
67
126
310
45
423
118
188
368
447
231
14
365
209
93
422
251
421
324
449
225
392
70
352
58
422
15
296
161
122
131
326
67
245
466
389
381
164
336
77
243
488
171
140
367
31
411
454
276
150
148
425
335
153
200
223
463
488
124
166
349
252
345
459
231
205
356
135
50
343
319
111
415
43
370
230
470
242
222
149
67
290
305
123
31
156
396
62
451
369
415
170
184
272
65
125
374
394
324
217
362
362
316
67
24
80
233
1
55
9
461
167
391
260
387
349
169
156
208
181
345
491
11
384
358
483
160
236
156
263
376
434
367
149
345
309
265
107
316
263
160
153
320
335
229
474
277
369
177
154
494
363
82
132
282
21
51
356
265
167
410
302
171
210
151
347
433
205
258
448
339
370
430
112
303
474
408
322
305
122
175
9
169
485
361
485
234
119
264
332
224
47
112
53
456
229
164
416
80
286
216
63
406
25
105
481
303
132
257
137
317
128
415
178
442
402
327
222
480
184
219
218
165
296
21
1
448
239
300
397
275
441
387
291
276
433
477
310
335
448
60
355
117
436
381
172
400
135
340
343
31
310
89
446
93
37
446
330
130
333
493
457
425
369
242
142
330
424
7
391
147
155
380
245
143
12
153
271
3
320
443
332
17
315
494
397
283
59
398
124
152
61
102
325
234
311
402
38
360
387
141
312
136
333
485
245
478
70
395
180
411
345
184
445
172
150
63
226
119
53
446
71
84
269
342
228
310
131
158
188
202
43
92
486
393
301
252
187
313
37
87
102
105
365
204
158
309
192
266
410
346
144
105
311
279
20
95
162
218
340
455
485
11
355
281
489
394
380
57
349
417
461
346
206
84
265
287
135
264
35
484
88
371
308
356
104
293
130
284
352
37
220
152
339
416
327
66
243
432
434
203
198
266
210
486
451
412
420
52
79
4
17
474
237
318
173
474
122
166
443
433
465
295
468
490
51
73
211
316
462
241
78
430
438
55
308
120
473
213
19
127
384
443
20
470
231
335
358
248
116
489
379
257
2
1
419
56
149
394
343
60
206
299
469
275
264
81
272
145
461
420
94
221
420
127
342
50
389
355
11
101
120
464
263
266
86
286
427
47
485
271
112
304
90
298
15
46
494
221
468
75
198
304
256
194
128
417
118
32
396
109
106
158
260
129
478
7
97
410
213
311
134
231
200
370
334
324
259
150
50
464
274
51
453
21
330
453
249
373
144
474
131
449
357
475
165
120
439
28
244
173
288
107
350
295
393
16
255
147
190
152
213
277
33
6
477
236
300
19
53
126
261
258
103
367
497
283
132
475
416
21
270
244
149
115
335
3
22
140
376
2
332
215
191
175
385
54
350
16
413
447
405
225
291
38
406
116
261
386
175
104
109
142
272
430
72
308
111
439
143
228
206
446
92
388
136
69
102
181
493
289
138
478
397
55
328
364
471
491
490
141
459
301
316
255
481
331
44
162
88
242
96
162
448
173
155
458
300
428
348
165
113
443
15
451
88
429
367
374
87
13
36
200
88
375
126
296
417
140
210
288
276
209
110
237
174
165
480
374
227
424
244
488
287
227
287
39
380
270
288
347
341
156
42
394
498
89
284
341
157
448
374
462
449
324
323
89
229
18
200
363
29
412
465
496
398
384
467
42
452
188
75
246
338
242
217
419
44
490
245
310
412
167
387
165
472
435
153
173
149
490
307
174
218
478
479
87
491
54
215
350
19
117
140
265
325
282
145
329
396
61
337
135
191
161
338
257
345
214
39
407
312
55
145
275
397
104
170
240
312
205
430
238
215
203
443
51
278
113
181
245
233
227
276
85
249
491
179
149
472
56
329
326
408
32
361
61
124
299
118
86
420
274
177
404
78
374
401
108
398
154
186
113
174
460
286
214
495
404
41
222
85
322
139
330
277
318
292
376
181
162
247
279
140
40
248
496
285
44
349
192
468
101
192
465
444
391
407
107
219
200
309
311
71
404
461
2
474
199
157
449
210
239
130
74
78
268
206
95
173
423
351
215
368
190
166
404
448
142
132
280
80
48
322
441
220
190
432
388
11
377
449
28
269
128
473
235
90
116
292
317
200
276
247
88
7
394
45
279
340
299
172
317
71
262
226
459
402
171
310
119
316
439
76
192
31
178
450
5
187
430
438
381
379
283
453
409
405
39
177
162
197
243
183
191
439
245
467
494
287
465
177
55
167
286
198
13
76
233
468
122
433
446
235
152
214
248
113
341
345
124
181
71
291
402
197
88
429
378
477
238
489
106
412
480
41
229
466
485
168
257
171
377
101
170
16
493
124
454
280
248
327
230
350
397
314
443
10
242
391
87
61
162
345
498
319
458
156
40
365
109
171
477
51
406
374
388
272
336
123
386
112
266
291
143
152
262
154
471
406
411
364
94
111
470
32
119
274
301
11
343
250
391
353
294
29
381
164
75
245
327
326
76
51
327
198
234
402
406
378
402
302
164
197
214
327
75
192
411
110
29
467
287
82
7
421
412
327
130
124
311
73
175
476
20
8
420
212
79
77
346
48
472
280
314
289
316
376
48
286
252
485
462
151
23
469
316
173
439
7
49
270
233
76
39
139
94
383
355
56
295
16
46
458
165
494
443
377
446
299
7
74
68
145
45
208
411
290
3
239
99
12
258
244
36
471
456
217
201
101
421
418
120
121
129
158
384
195
465
464
151
147
341
23
195
197
356
213
123
154
408
117
23
374
289
217
76
122
257
31
498
412
338
26
113
214
196
42
455
243
282
146
123
186
492
23
407
37
244
78
28
209
393
201
156
193
74
486
465
153
396
129
293
426
302
273
323
419
86
371
252
302
60
64
3
157
348
441
46
149
257
196
493
194
57
472
330
237
353
449
24
227
389
359
114
457
277
67
256
149
191
14
107
141
42
117
266
79
36
8
41
457
47
146
135
370
302
374
101
187
346
162
356
409
33
305
120
403
396
323
255
400
216
73
218
138
215
49
76
338
361
89
152
478
111
384
4
145
128
175
276
462
345
55
154
6
123
263
461
175
177
277
316
420
133
373
303
195
141
1
329
227
22
33
467
191
407
199
278
118
288
411
276
361
255
218
272
403
464
357
287
270
469
366
127
220
493
197
271
439
67
317
162
281
164
258
429
471
20
147
216
454
282
238
205
362
366
215
220
244
116
363
271
250
117
349
441
425
437
423
6
390
265
488
338
33
242
113
243
464
143
290
439
317
445
496
51
485
379
25
29
200
42
412
352
401
439
58
321
110
185
54
288
220
42
446
61
55
333
282
293
293
302
295
66
302
321
384
190
76
250
24
96
200
147
90
471
109
237
2
372
460
59
169
484
230
440
231
280
43
224
405
419
103
63
263
173
118
255
464
333
112
452
177
235
260
98
3
365
12
365
424
488
195
422
350
248
362
490
472
82
192
168
102
153
324
60
412
464
261
251
246
57
98
483
27
24
36
299
152
436
461
281
277
443
498
484
383
18
326
420
241
7
318
140
153
34
498
235
269
111
50
440
132
146
57
169
403
95
143
208
238
416
216
7
316
401
163
349
338
122
421
366
109
7
475
1
489
163
3
414
39
107
402
299
120
164
365
56
160
474
293
386
283
231
18
165
330
300
399
418
325
298
119
232
44
195
309
163
344
388
493
375
437
487
313
399
479
118
414
321
47
179
68
296
68
407
249
237
9
434
201
479
425
304
388
150
43
162
457
213
244
489
495
492
268
308
78
93
189
189
376
113
106
329
354
247
397
193
411
289
400
278
479
107
338
461
84
144
213
236
142
139
483
145
218
203
395
457
282
288
266
473
447
82
500
57
499
74
173
369
387
68
341
240
402
402
384
317
476
450
186
294
13
418
283
437
412
187
11
366
260
157
458
346
248
246
66
157
93
462
54
263
297
225
488
237
45
145
339
404
38
280
391
171
74
386
421
389
347
43
114
95
186
27
133
400
441
256
306
91
290
118
463
258
461
498
273
148
465
324
490
274
496
242
243
483
444
50
213
101
245
81
419
132
441
319
150
146
308
239
344
78
250
272
387
471
391
170
497
213
326
378
383
306
261
260
199
234
348
223
103
461
168
412
223
306
488
461
187
329
408
145
475
247
327
336
484
102
451
404
359
473
483
96
317
261
377
2
190
89
353
128
359
408
323
216
272
116
353
236
23
229
29
357
383
469
119
499
404
159
398
342
328
38
293
37
147
307
328
48
492
43
285
350
425
167
262
145
266
235
185
132
245
462
24
426
201
304
410
313
396
266
419
119
131
130
320
130
435
327
275
123
462
428
314
312
141
142
214
450
224
257
43
362
122
11
391
262
32
336
142
317
425
286
74
115
105
113
267
202
3
263
116
269
480
1
352
467
450
465
93
105
338
144
309
178
278
278
252
340
412
246
317
63
357
328
327
106
145
181
163
110
384
285
245
275
316
360
33
294
386
23
153
53
121
208
12
211
38
337
250
20
106
109
223
436
469
120
330
200
239
200
156
377
378
98
253
118
64
308
431
102
447
234
12
342
172
471
455
369
184
89
457
89
113
301
405
444
220
117
95
141
436
61
285
320
405
73
292
132
488
86
138
82
443
144
476
332
315
43
372
146
333
245
413
153
126
243
151
438
16
77
419
285
483
469
143
126
213
124
390
58
435
304
171
75
336
282
232
211
355
415
112
183
312
23
406
359
48
97
417
83
400
118
452
332
241
6
269
236
434
93
67
73
173
1
22
69
203
131
429
11
163
459
102
462
63
209
444
415
408
17
82
306
164
437
268
102
373
223
345
418
291
237
148
171
231
485
67
447
140
205
449
376
36
464
363
279
305
252
208
37
333
435
235
316
335
30
366
67
35
461
449
235
158
40
39
26
420
372
245
433
39
354
158
370
417
309
387
213
149
19
213
113
271
285
139
172
171
304
434
499
344
357
81
435
170
98
302
356
12
487
153
100
408
159
138
294
59
330
41
77
353
4
435
259
183
413
324
295
434
445
109
6
375
268
46
303
430
358
220
295
136
225
462
332
59
111
255
410
289
380
398
55
103
145
110
167
160
35
223
472
329
91
317
220
261
121
152
451
331
205
293
413
196
222
197
128
247
44
412
183
11
130
346
321
153
411
382
401
426
233
167
100
368
491
124
466
57
313
403
370
406
11
306
484
399
487
246
89
274
220
282
165
74
348
104
154
429
54
35
409
470
461
434
70
243
173
232
302
59
302
434
313
349
52
461
274
253
39
321
126
126
156
83
152
165
346
490
332
344
142
130
355
204
294
65
411
486
220
267
121
40
126
34
99
429
56
376
445
134
402
245
3
13
472
220
85
132
85
229
159
434
42
145
408
199
116
259
295
225
233
360
139
339
349
386
141
10
78
61
204
267
124
415
310
417
196
342
30
164
447
380
40
195
240
366
50
7
320
361
261
284
392
36
329
173
317
475
42
52
461
308
540
506
685
641
363
771
474
724
520
432
380
466
318
490
766
329
318
474
438
352
580
791
300
433
697
697
691
572
576
507
589
639
573
348
359
473
433
445
675
386
600
679
380
645
413
662
693
593
682
305
615
566
521
604
528
762
659
323
771
606
722
548
800
720
354
486
558
554
453
531
677
449
792
542
316
400
664
493
311
343
456
698
611
343
775
698
317
557
800
579
502
628
429
421
739
685
781
398
706
728
648
722
375
463
634
519
601
758
649
482
537
633
353
647
550
758
544
667
690
531
729
336
798
520
741
609
348
560
587
550
680
570
639
301
610
773
650
795
484
662
675
505
518
752
311
484
743
306
559
684
334
420
717
548
401
785
599
605
771
650
541
785
307
706
758
356
457
787
407
373
470
569
367
378
441
664
670
766
518
343
602
306
614
546
356
693
675
460
344
652
374
634
617
393
318
778
554
630
422
426
373
780
714
546
355
435
493
488
648
404
340
678
350
732
679
575
386
365
638
793
565
560
449
633
320
461
653
328
500
551
325
660
435
696
559
482
557
491
597
478
723
385
309
443
397
572
660
434
668
372
764
661
409
476
729
737
430
347
469
578
641
429
545
650
641
400
540
575
550
316
754
307
345
444
469
665
597
317
521
667
491
421
519
767
485
479
356
457
664
720
729
402
632
331
740
771
621
642
552
427
557
510
670
572
794
340
471
572
357
576
677
702
376
590
354
555
745
613
682
698
795
724
771
669
309
591
692
753
498
331
693
411
490
381
736
631
591
337
553
590
457
496
304
319
395
391
522
429
463
528
738
350
632
436
441
544
586
559
342
649
703
409
535
672
380
696
551
397
594
531
641
633
349
727
692
766
503
604
545
674
665
777
565
445
752
731
461
386
397
673
724
485
320
523
366
601
373
480
305
715
632
402
483
526
503
537
480
581
659
709
740
682
675
476
697
668
319
649
362
398
729
538
566
439
534
406
787
481
334
423
432
442
553
685
684
491
674
753
709
562
419
338
458
374
370
640
495
656
661
702
654
573
689
372
303
474
393
783
580
355
778
558
385
621
591
481
521
767
522
599
790
694
609
336
341
711
535
356
679
455
438
430
303
426
410
645
538
744
672
743
418
800
441
574
434
596
392
441
390
560
381
322
497
717
692
567
769
353
667
402
645
715
315
624
445
776
747
359
355
463
524
658
587
671
374
408
595
735
339
680
546
342
366
516
388
403
729
607
635
692
420
701
530
564
473
582
419
763
568
549
614
782
770
524
315
776
457
460
559
342
548
511
737
505
411
451
764
506
770
662
521
766
715
451
315
480
621
750
784
746
310
629
607
375
714
388
343
750
445
307
503
642
686
669
595
362
611
603
519
610
357
382
696
540
480
604
626
318
363
398
399
620
670
489
419
584
563
438
633
348
418
591
436
764
401
365
461
726
528
722
586
428
698
654
536
603
355
539
608
609
310
482
723
775
514
685
423
689
668
670
539
730
502
639
392
756
387
549
704
397
778
799
733
798
691
518
769
700
478
305
519
747
534
472
465
767
703
359
475
540
365
712
628
368
772
727
664
607
536
772
702
410
583
344
696
790
398
347
364
432
510
572
612
459
521
634
419
569
390
780
472
594
346
486
460
476
667
378
632
561
703
770
344
714
376
595
451
322
352
383
767
796
728
394
722
405
733
321
677
326
715
606
396
479
681
549
773
559
563
510
412
414
357
620
693
644
334
736
792
622
305
772
795
661
374
690
440
301
395
427
490
434
721
486
444
777
580
730
383
704
394
383
572
390
788
384
399
777
749
318
310
455
555
718
581
303
563
525
476
460
407
604
303
358
437
691
639
568
588
714
461
537
422
651
651
462
489
322
537
358
566
707
436
670
750
411
713
394
683
381
324
566
738
381
409
543
424
542
567
445
501
419
311
638
767
466
536
777
605
335
701
597
492
696
604
541
504
524
674
552
633
464
405
637
418
596
512
796
719
369
303
530
462
603
496
382
385
678
631
511
504
759
759
798
546
426
759
426
708
524
468
328
534
479
495
455
533
687
721
509
517
546
724
717
796
705
747
497
310
574
359
348
706
586
381
614
421
719
741
442
697
786
530
534
527
721
653
698
562
782
613
395
502
521
520
667
753
696
673
779
776
500
726
371
689
571
460
598
529
710
478
740
586
762
596
726
540
638
403
303
724
701
317
509
641
702
339
791
755
441
799
542
420
495
731
570
777
779
312
421
618
622
322
538
723
490
367
541
421
441
666
740
645
468
359
549
643
561
632
710
559
771
394
718
362
546
552
786
666
473
521
631
570
381
468
486
570
607
338
695
509
685
740
308
569
737
538
477
385
619
616
704
648
587
599
692
319
394
363
762
532
738
568
791
768
363
479
313
412
485
462
333
576
665
473
566
369
487
580
618
505
634
454
698
798
690
624
523
386
687
411
374
529
663
343
696
401
442
660
791
547
617
470
531
471
767
528
545
590
394
310
617
448
679
552
386
394
633
501
682
341
414
721
460
378
521
714
732
578
465
548
484
517
372
754
650
376
625
563
347
306
694
355
605
416
407
315
721
652
528
634
652
608
739
316
367
576
769
697
512
641
777
483
573
334
489
692
370
510
781
513
785
532
734
618
476
583
724
786
770
327
649
647
553
515
571
561
312
447
524
685
679
764
641
563
449
494
467
763
773
448
592
304
622
400
538
523
626
384
645
712
422
355
480
320
363
435
788
538
451
342
627
580
513
538
723
396
406
721
670
599
409
642
416
386
651
680
759
785
310
374
797
765
485
477
320
537
701
482
732
523
306
641
419
680
665
566
484
798
310
548
338
594
390
558
558
711
595
302
691
723
702
405
618
468
606
525
331
334
407
599
313
507
621
437
366
708
719
796
392
459
675
569
557
687
447
763
715
545
581
713
672
308
305
582
692
454
352
707
618
457
480
445
403
562
310
761
642
652
623
364
746
624
428
545
644
469
793
616
469
468
738
513
751
535
352
339
553
502
372
564
526
777
790
670
361
504
630
719
550
479
426
697
367
717
568
472
491
444
702
681
733
437
569
383
514
511
302
522
334
371
688
645
479
451
628
724
560
413
409
452
431
362
440
587
642
695
563
695
546
361
617
718
529
567
475
337
725
642
776
579
670
645
592
630
507
450
596
348
567
417
749
496
636
340
421
551
405
661
354
759
553
488
744
421
467
709
534
744
794
512
395
781
442
422
422
669
335
593
751
316
569
378
565
450
717
468
396
678
481
409
343
312
399
661
667
736
548
733
430
660
365
607
550
790
514
487
430
400
392
674
393
352
455
557
570
576
740
393
566
457
743
742
505
501
454
539
697
388
404
405
427
708
473
754
798
495
550
323
791
464
665
602
608
579
397
687
348
412
522
445
331
648
636
474
746
643
303
409
768
514
630
664
701
510
798
393
444
471
355
608
436
669
444
661
674
352
576
798
396
610
484
367
387
355
694
705
346
648
713
415
522
789
320
765
717
653
507
328
534
431
530
563
317
404
410
744
738
428
654
661
721
519
468
329
447
411
526
515
691
496
448
351
729
584
651
336
741
722
451
775
504
313
396
785
447
738
632
474
370
716
677
519
675
737
631
606
531
679
559
714
300
421
646
632
618
670
450
535
387
354
685
655
469
374
492
671
642
475
403
303
618
376
677
426
612
427
324
497
636
457
711
736
421
688
495
313
572
708
304
373
531
624
580
735
475
381
311
582
547
396
732
501
688
305
471
617
503
575
795
671
480
535
611
326
669
551
446
548
466
486
410
640
535
451
551
425
346
344
685
586
610
759
650
365
395
377
443
726
617
528
367
529
369
327
499
665
702
314
555
357
611
501
712
734
317
569
573
736
770
347
317
469
341
678
485
307
482
385
451
566
442
738
712
459
378
705
385
743
738
324
784
315
608
744
502
620
501
774
362
635
698
376
763
548
489
771
383
678
692
474
541
496
425
502
315
624
420
383
420
695
574
564
721
539
302
595
355
680
403
506
575
525
513
301
327
504
556
711
593
482
731
767
749
570
652
440
323
651
625
732
528
391
706
424
755
643
659
434
510
675
587
684
651
426
765
586
337
308
441
789
470
551
465
508
452
305
637
702
564
331
623
430
472
453
441
347
406
692
706
606
307
363
524
382
701
746
391
369
668
595
434
611
756
359
784
594
587
482
318
403
427
484
583
536
467
568
650
609
373
644
678
575
359
739
565
509
547
495
531
329
583
435
592
318
599
578
418
426
644
556
602
333
478
594
470
622
440
460
451
509
490
305
724
706
522
667
513
586
521
627
565
631
602
797
450
703
535
493
441
381
783
338
671
328
625
324
790
361
629
643
326
686
383
478
552
512
568
383
759
521
451
549
512
411
432
635
642
324
546
426
734
593
731
551
320
466
780
353
510
420
787
367
680
328
547
438
408
715
706
402
539
727
638
487
636
613
415
696
329
790
515
752
355
632
549
658
792
423
351
799
531
536
743
572
528
794
627
800
472
323
514
776
704
741
514
580
412
600
309
676
555
535
514
433
637
711
687
569
668
606
702
469
795
661
338
768
418
591
614
718
344
517
487
536
415
456
313
779
709
603
315
352
401
745
784
422
713
301
635
592
488
757
454
741
702
541
434
721
736
529
488
778
459
770
505
708
583
305
659
474
314
470
696
593
560
562
746
774
485
534
386
549
440
301
493
705
417
374
314
784
469
734
537
639
577
557
651
767
708
365
665
468
716
751
643
543
737
656
484
669
772
769
502
610
750
414
340
720
734
387
648
521
366
339
379
436
462
544
692
424
750
633
446
643
678
546
740
725
445
339
494
666
693
653
700
555
434
347
713
754
333
727
375
508
557
528
628
669
374
369
686
613
395
698
663
469
346
500
400
317
377
551
666
788
425
407
585
505
482
464
439
343
588
556
364
660
309
512
556
301
511
373
746
779
576
403
721
748
658
510
688
567
688
614
529
418
727
571
390
321
376
535
595
616
772
461
521
479
762
349
368
682
518
709
402
626
389
595
718
643
761
336
331
398
346
653
460
757
342
711
351
482
335
745
463
414
310
519
400
346
776
467
493
348
438
635
648
442
319
375
594
480
750
717
634
660
385
748
456
789
642
628
343
606
625
465
729
500
439
468
785
476
781
750
457
443
709
689
589
357
302
699
777
339
399
581
331
584
747
493
557
630
422
480
674
762
328
466
498
361
397
540
507
648
719
356
561
771
401
558
508
677
355
735
728
394
478
544
575
576
751
588
616
366
440
701
600
597
463
423
546
565
787
614
489
386
506
335
629
669
718
793
773
668
324
792
799
796
305
510
649
778
412
796
742
730
568
308
527
552
539
354
648
764
467
315
784
632
316
483
783
324
484
510
702
666
676
778
438
569
646
528
776
441
413
667
780
569
492
752
438
392
702
578
627
713
607
412
571
372
409
727
574
625
412
661
741
613
405
486
742
549
314
534
672
544
367
436
517
390
496
665
735
548
355
388
496
431
769
666
412
548
762
529
632
711
597
547
589
680
484
636
346
312
414
329
698
777
799
663
408
419
526
399
557
798
333
727
557
679
673
746
714
359
493
556
656
566
552
430
671
594
719
506
640
438
760
691
497
721
365
491
514
530
384
486
783
495
302
322
615
774
719
549
444
380
619
597
424
796
700
576
521
765
583
329
358
703
429
739
494
663
315
736
484
648
420
588
759
665
496
350
360
724
448
401
545
328
549
795
676
717
430
686
795
624
742
520
723
664
520
680
352
365
456
550
726
538
590
649
444
586
401
781
656
505
771
615
644
636
729
316
725
615
332
779
421
783
328
645
455
408
521
787
322
704
330
638
391
586
303
549
526
314
523
767
485
343
365
429
646
675
726
387
469
574
783
419
387
628
347
518
616
665
627
764
543
767
412
624
794
447
631
436
472
394
625
687
763
420
356
342
670
523
715
497
622
720
443
657
427
746
648
777
791
361
452
365
459
316
504
640
627
668
502
328
572
761
528
539
612
326
413
793
616
394
427
703
324
775
572
583
562
796
737
539
599
544
665
404
476
484
426
616
631
458
551
371
600
381
397
699
740
700
366
494
543
372
743
378
770
561
316
331
591
702
641
342
590
717
499
710
720
306
632
534
559
688
485
640
781
756
328
505
759
349
768
606
716
543
750
542
672
770
772
694
385
784
420
663
410
563
499
534
512
492
386
599
576
498
780
328
352
476
413
522
616
315
702
349
439
425
659
654
516
454
778
697
659
466
686
422
642
613
326
650
721
546
350
678
487
667
691
500
666
379
640
581
720
660
528
409
315
309
748
462
388
552
750
763
544
437
525
365
395
718
326
349
591
366
735
379
377
594
600
717
417
712
500
752
443
460
398
550
795
401
374
335
594
596
477
619
635
624
686
416
326
538
683
455
423
434
371
383
314
757
380
466
397
463
397
376
541
779
711
525
644
359
511
653
366
476
710
769
588
612
411
399
679
333
516
425
724
513
598
684
748
322
656
490
604
406
577
509
463
322
552
706
461
395
621
410
355
647
475
700
433
638
307
727
714
472
651
738
500
665
544
583
464
707
547
649
404
315
322
654
585
582
611
723
364
760
796
650
439
361
681
451
719
532
333
490
439
776
772
391
488
515
507
338
457
555
542
448
568
422
654
692
312
416
311
602
700
318
479
584
590
624
669
603
331
477
329
737
727
590
490
396
777
351
720
325
654
664
404
571
787
760
346
326
388
374
679
432
708
471
468
326
573
414
595
424
414
469
684
631
463
420
355
667
635
728
686
321
764
796
678
611
640
508
390
738
538
451
678
715
704
684
486
798
651
364
485
438
730
341
776
607
609
556
737
393
468
647
440
343
737
753
696
549
516
487
325
510
589
573
504
302
681
631
532
479
420
726
386
351
338
741
551
628
528
491
641
786
734
731
367
332
635
530
765
663
456
398
482
733
679
791
632
758
720
415
307
609
380
786
426
718
739
678
638
406
474
607
676
597
734
745
432
658
312
751
537
440
745
465
592
663
420
434
554
777
555
428
682
465
639
315
707
668
581
764
574
526
349
400
700
485
377
587
722
705
798
436
563
435
383
798
340
554
418
472
790
319
693
506
458
591
604
477
655
373
569
775
365
762
390
454
335
420
302
393
663
524
451
555
589
387
619
429
518
775
757
348
798
771
446
765
450
381
559
752
405
625
460
415
365
541
588
462
713
658
720
376
795
356
598
640
455
738
784
347
609
609
793
511
683
572
763
706
356
318
464
339
408
579
484
651
734
362
553
499
300
530
388
491
461
415
438
715
795
447
723
400
467
608
477
436
574
645
463
495
415
594
399
571
589
659
626
724
503
339
399
360
462
564
796
604
557
333
412
772
332
460
312
728
718
604
706
564
771
516
542
542
667
401
758
545
459
633
320
520
704
494
756
614
362
375
705
497
705
339
612
791
438
463
768
561
728
783
660
744
313
738
375
726
436
555
539
771
769
305
743
346
331
366
588
738
352
670
438
615
478
629
385
349
571
776
563
533
773
659
762
352
330
536
476
409
720
348
652
800
650
675
303
317
401
415
665
729
696
517
508
645
559
448
498
494
474
302
640
396
320
631
545
680
312
469
404
411
503
435
357
605
771
679
460
645
324
486
540
537
775
481
483
604
684
600
475
721
765
377
738
460
488
683
673
695
390
315
505
443
752
476
666
441
482
681
715
789
623
527
693
727
380
517
712
738
788
469
506
439
480
382
491
691
594
647
359
607
316
753
768
545
601
566
397
458
745
517
728
530
496
686
471
459
503
484
538
429
419
670
797
323
324
542
413
566
684
384
447
319
701
493
535
488
686
640
476
313
525
304
577
630
677
350
386
684
455
411
333
465
623
470
702
650
612
749
653
301
619
753
660
660
416
715
328
384
426
462
577
763
737
550
391
411
419
348
750
440
449
644
327
738
579
355
565
489
369
764
603
598
370
525
439
756
301
691
498
344
488
785
552
494
635
518
414
697
771
584
408
359
316
478
473
345
702
631
367
421
676
751
590
520
425
582
783
684
758
740
785
498
394
385
709
733
795
657
381
672
488
581
537
481
664
694
591
394
781
613
552
582
413
420
370
373
358
783
396
530
643
334
430
369
341
775
339
797
733
791
614
551
465
718
326
574
401
313
619
410
552
396
409
736
469
494
704
485
532
384
320
454
572
319
687
371
693
734
614
684
667
357
435
736
311
611
461
750
721
507
797
739
545
728
650
439
640
788
529
724
464
645
640
682
754
518
404
608
618
329
740
615
397
639
781
762
450
449
465
579
450
735
528
763
409
395
788
471
460
625
412
659
546
455
672
732
496
705
751
592
703
735
490
376
303
597
645
689
619
478
634
519
606
777
411
400
487
530
712
367
732
597
640
742
741
401
491
338
481
464
503
493
430
506
447
565
766
660
711
336
629
675
558
550
319
492
655
652
592
670
546
699
761
421
313
360
317
635
410
358
731
650
493
316
413
461
666
698
660
365
580
441
512
320
470
678
711
747
732
671
344
686
734
475
752
654
580
631
325
653
568
600
565
518
609
612
470
726
797
439
521
462
412
658
486
536
478
600
625
539
377
396
412
513
379
780
692
455
649
624
656
381
466
424
760
426
687
336
706
394
605
667
569
368
447
735
749
444
562
516
605
784
559
695
575
506
332
787
360
772
413
553
539
428
614
736
726
472
497
535
696
376
714
725
643
588
421
774
588
791
768
359
429
606
576
336
445
558
773
510
371
788
606
367
637
385
360
759
600
694
603
669
416
323
503
704
447
490
593
441
370
468
371
370
656
473
628
457
509
374
786
437
312
531
583
350
341
572
368
703
364
452
773
469
544
754
458
691
774
542
454
481
561
475
749
651
496
614
486
626
577
737
449
620
403
776
632
355
670
529
752
715
649
651
594
494
473
528
443
778
515
371
776
438
620
776
484
538
671
553
658
368
555
693
393
434
793
582
652
796
584
738
317
466
796
602
582
690
732
505
429
537
372
606
601
708
439
386
420
693
612
627
640
328
369
496
639
787
345
645
613
754
681
611
308
780
594
756
740
636
601
548
616
799
637
733
301
521
424
796
692
784
390
659
678
621
727
420
643
468
564
771
634
402
314
408
427
389
554
334
404
570
616
702
793
588
669
739
358
751
567
403
700
375
728
611
349
567
755
379
647
490
520
658
595
723
321
442
633
491
344
530
760
348
566
750
583
638
677
316
437
668
461
562
600
400
766
624
673
631
496
403
448
540
656
573
362
324
425
739
744
424
758
416
652
407
344
669
416
321
704
530
698
779
792
582
691
603
390
794
521
742
527
390
499
428
605
315
558
578
760
698
763
409
589
643
306
441
528
714
386
404
687
616
391
331
505
376
336
566
567
595
562
796
424
521
682
408
383
338
673
793
574
725
794
386
794
344
355
314
351
420
360
454
674
449
453
425
481
322
789
696
503
788
769
567
636
405
640
733
576
652
504
525
524
367
693
680
589
334
520
444
642
443
694
326
416
412
618
554
605
496
798
549
541
711
702
797
643
660
547
338
431
366
410
377
697
669
526
771
550
778
613
420
640
621
450
328
331
432
790
695
617
376
600
363
647
315
594
419
330
698
689
505
675
312
634
452
414
763
522
623
625
381
416
590
786
349
757
419
363
644
680
403
334
677
472
690
389
588
487
485
375
484
729
669
742
513
741
548
320
461
595
642
724
306
399
388
643
646
384
374
455
766
708
408
680
386
653
716
722
715
643
730
581
728
527
676
712
726
557
510
469
568
611
663
664
383
329
363
302
591
712
717
408
567
411
466
323
717
321
709
302
631
502
313
517
775
647
450
451
634
528
320
445
428
702
332
446
764
419
487
641
419
679
621
629
302
375
738
612
486
700
620
368
300
480
466
566
504
678
394
421
303
567
311
507
731
584
537
407
381
675
615
331
466
639
334
743
495
670
648
636
637
465
583
579
396
476
328
547
582
731
626
685
580
781
439
733
749
713
453
694
612
505
502
728
581
659
798
593
698
533
795
574
492
795
337
494
474
753
407
495
538
503
768
381
477
496
625
721
391
621
626
613
748
772
728
697
590
746
330
370
586
360
800
684
358
697
736
754
766
308
503
498
428
780
538
606
763
388
403
507
408
642
722
546
382
367
662
621
480
522
461
382
516
419
513
546
379
731
751
342
717
581
491
718
318
730
642
509
795
628
432
579
396
568
774
504
667
475
598
599
414
565
622
670
456
327
378
726
484
786
521
612
684
405
339
712
348
399
745
570
526
438
520
575
493
666
594
487
681
365
420
515
698
460
458
310
352
565
388
695
336
487
642
363
590
318
719
414
379
763
450
338
562
396
777
318
349
638
723
474
433
619
696
375
561
495
490
774
604
496
719
653
378
378
787
700
734
585
582
447
722
458
405
577
330
359
787
341
537
702
726
754
756
628
537
727
666
596
693
495
531
367
719
358
374
786
522
670
580
611
622
338
418
329
374
396
578
689
419
701
498
367
344
605
788
537
663
332
683
632
619
498
637
634
557
366
300
672
749
439
463
539
690
781
415
656
461
780
495
587
360
775
678
559
716
549
636
454
708
456
320
726
719
706
636
719
714
540
497
681
797
782
489
510
551
618
475
431
307
610
645
688
332
636
677
447
431
757
341
363
485
632
433
676
713
340
557
378
420
692
380
430
418
539
352
351
415
308
507
602
652
569
526
323
783
387
622
643
695
742
317
547
518
307
345
379
373
750
316
473
390
762
700
474
709
461
398
655
513
387
415
593
404
303
430
515
724
323
794
319
546
464
796
440
741
474
470
642
411
302
389
608
796
374
608
545
363
719
786
585
689
431
562
767
320
707
718
360
574
310
694
476
455
462
772
550
477
652
443
449
485
721
447
453
769
438
501
684
401
330
435
766
578
716
521
710
425
727
353
714
642
730
662
610
703
404
466
500
623
373
518
655
555
502
342
626
383
620
437
421
496
494
339
440
779
690
463
687
555
781
356
698
610
418
663
787
659
431
762
415
573
787
462
620
403
753
564
547
671
600
568
587
728
578
364
695
346
601
566
667
388
434
308
528
399
630
368
370
332
657
410
429
581
479
515
771
461
366
784
365
637
718
665
418
463
786
437
710
562
678
310
526
363
469
464
468
311
525
667
398
338
675
730
541
671
429
549
360
568
376
630
580
533
395
384
311
415
457
483
307
746
772
535
304
553
440
451
507
536
441
467
623
592
541
569
586
709
454
308
390
543
382
548
474
389
705
648
356
314
575
739
555
343
741
649
671
694
374
348
722
664
637
674
439
727
480
488
529
481
498
622
748
666
420
373
528
316
439
489
760
774
613
567
649
352
570
347
669
442
714
538
638
365
638
722
485
457
533
495
683
752
434
657
731
742
654
778
389
535
363
555
324
509
631
648
594
457
503
478
410
493
653
489
459
779
510
514
618
651
479
718
448
554
468
427
574
577
738
407
792
470
694
527
561
739
451
666
695
307
376
416
339
457
715
566
338
329
488
433
590
641
440
644
495
656
531
567
588
514
529
619
546
519
512
717
577
470
557
622
303
473
729
344
408
588
723
475
515
527
793
489
555
712
492
544
715
365
545
632
799
654
470
450
755
444
679
356
383
448
601
411
659
797
611
528
327
525
506
514
732
410
305
312
319
488
238
158
492
299
144
442
60
431
122
472
391
325
426
244
221
289
12
394
181
145
289
94
252
397
154
371
161
406
463
462
46
432
14
338
104
144
383
432
120
444
447
287
232
425
31
234
176
94
407
130
460
418
3
299
287
228
36
384
198
108
132
211
225
403
297
219
71
491
401
388
500
393
176
350
39
236
50
482
286
187
272
226
236
396
45
468
221
252
378
69
461
135
43
384
126
420
304
318
192
34
158
303
245
253
151
271
210
20
301
310
121
85
434
281
67
12
400
281
454
481
42
283
152
92
351
323
472
487
144
255
71
259
168
424
386
229
346
339
207
260
192
265
78
475
19
5
179
452
200
283
221
153
458
142
325
248
245
88
189
182
191
390
24
100
485
191
176
121
499
114
16
316
365
44
60
134
174
148
298
206
288
321
363
473
28
146
115
281
108
309
209
350
266
239
388
159
181
81
431
280
48
275
160
464
335
193
392
14
46
395
10
133
144
395
431
464
369
170
234
425
492
188
462
45
393
361
141
106
379
100
182
326
446
440
23
352
347
98
390
122
389
21
262
280
84
241
19
283
9
340
230
338
294
104
174
455
268
473
97
88
71
323
54
396
65
467
365
104
263
62
401
18
93
100
91
413
489
472
256
337
244
302
264
434
273
242
318
216
403
291
162
16
222
107
483
262
153
477
195
412
203
358
230
47
355
50
387
42
343
263
93
419
162
32
242
323
38
292
441
334
386
282
430
320
43
378
364
19
242
341
4
352
350
21
101
149
384
104
347
433
357
46
500
460
287
212
30
327
484
136
360
384
20
376
377
27
282
406
455
111
363
253
227
392
492
223
321
407
122
286
56
89
111
82
86
374
166
108
219
400
476
434
407
156
415
55
497
204
312
446
141
312
50
379
146
436
402
448
431
10
74
416
397
178
221
218
103
33
453
238
9
364
296
452
333
254
173
60
499
177
489
219
413
91
458
392
248
452
211
21
255
409
236
441
10
235
229
402
322
294
315
347
356
162
47
48
215
463
312
347
24
469
459
263
105
154
14
492
34
25
423
49
344
153
499
130
19
158
48
122
380
433
339
454
100
125
86
85
180
239
242
483
143
60
449
365
493
101
99
395
486
469
275
480
195
489
385
239
452
214
220
99
248
309
234
370
378
307
203
471
62
13
332
306
107
258
136
225
371
159
194
168
226
301
230
259
247
162
209
408
250
363
404
256
287
454
240
78
180
19
366
467
335
9
182
270
102
403
458
344
57
493
409
440
496
101
177
57
434
387
394
164
184
77
413
353
461
429
174
343
256
145
234
460
447
40
12
304
280
243
59
185
43
339
137
435
110
434
147
198
158
389
238
396
441
376
362
27
41
266
310
481
489
13
35
274
451
258
138
411
151
157
309
180
94
251
138
457
303
218
53
46
287
395
95
137
123
216
303
9
365
404
49
399
287
38
182
334
155
330
244
129
229
39
482
193
50
444
392
181
27
454
241
70
410
342
206
496
177
241
457
403
298
364
86
415
246
466
250
118
467
277
445
324
296
56
250
233
107
84
279
249
359
195
162
181
475
314
148
380
120
91
500
177
335
389
199
371
303
492
256
32
442
342
411
349
98
313
464
123
300
15
486
331
101
367
198
327
82
62
327
255
194
462
394
232
358
256
443
296
32
392
442
284
9
302
105
500
102
468
80
219
94
370
99
332
395
164
225
304
46
262
88
331
205
482
169
15
444
328
113
270
51
70
423
104
172
272
402
420
180
438
67
142
453
81
153
155
336
56
227
5
136
387
174
253
139
43
441
474
316
94
179
308
23
110
365
38
186
157
71
351
68
91
141
143
496
487
427
90
320
489
281
461
79
221
211
216
374
337
197
205
355
97
359
164
492
452
440
438
88
392
477
135
335
247
448
398
48
197
94
423
179
105
63
8
225
343
318
379
465
257
161
289
241
34
143
160
434
332
228
398
321
274
350
481
331
26
174
287
212
134
475
491
189
338
203
43
83
110
58
401
316
145
66
265
373
264
337
425
58
383
474
108
182
490
435
404
62
425
443
283
250
62
184
218
294
439
395
213
140
341
469
35
196
414
23
297
204
136
262
214
490
143
186
319
159
125
404
94
219
350
345
437
423
370
186
363
279
75
175
442
226
208
473
141
15
364
489
146
458
410
182
77
308
197
106
195
31
239
477
217
98
258
67
385
2
386
145
431
43
464
398
39
106
241
84
299
15
108
270
195
22
253
173
72
451
313
33
25
332
251
333
314
275
414
74
284
377
473
385
435
234
269
380
134
351
413
208
48
211
68
353
68
5
449
287
128
182
3
184
160
43
49
286
117
163
120
428
373
245
436
389
408
428
389
338
469
258
323
486
485
99
9
448
134
279
159
335
229
292
496
421
432
387
70
111
250
232
77
433
268
441
259
207
489
461
462
215
452
499
129
158
318
123
104
47
299
187
243
491
278
426
126
239
277
118
82
67
132
268
98
164
381
98
412
266
149
13
247
16
301
242
431
256
95
83
231
242
309
334
156
393
73
465
30
239
300
81
348
171
488
322
205
453
69
160
298
369
27
457
192
448
490
430
142
292
428
235
208
266
108
296
39
75
244
458
17
225
340
219
257
360
410
162
40
321
315
255
139
69
184
287
421
407
394
235
213
362
56
16
153
151
426
208
135
299
276
404
145
35
185
433
364
88
302
72
109
347
123
186
271
15
96
173
194
198
262
227
453
61
36
49
436
16
125
223
52
163
232
327
319
103
324
63
50
140
343
497
270
211
113
282
499
173
14
402
255
36
484
116
238
483
84
298
107
181
460
340
4
461
170
47
496
93
360
196
258
428
151
479
425
490
30
10
267
328
331
74
96
274
426
202
123
154
248
39
360
294
12
73
292
58
240
164
458
59
209
365
33
72
176
96
400
324
229
395
362
8
400
66
257
331
20
307
168
264
11
124
382
192
483
132
23
42
499
430
303
12
495
122
286
252
118
442
30
23
451
313
344
389
59
68
42
440
64
65
162
343
450
177
324
71
403
169
259
65
499
202
285
117
415
298
178
24
487
411
74
109
162
383
190
19
120
458
327
23
92
25
149
164
413
83
80
38
216
377
256
174
83
391
194
72
204
274
172
55
297
466
294
250
392
482
272
222
5
147
24
167
83
498
24
391
400
329
113
145
456
436
147
239
61
404
177
321
410
266
241
495
442
208
161
461
20
258
237
173
148
150
341
33
449
489
8
388
263
478
451
169
25
246
287
343
43
419
481
83
250
9
4
182
288
103
475
266
171
378
6
270
338
142
14
319
371
117
408
487
273
332
381
93
302
434
169
349
162
12
468
178
118
92
130
13
95
489
411
322
120
355
386
387
435
236
351
193
456
104
57
4
491
11
365
45
396
129
441
271
286
397
477
215
208
111
355
297
17
88
235
92
135
177
158
66
38
337
381
46
380
116
130
179
297
133
150
214
85
322
138
99
278
347
23
221
296
213
466
92
412
62
34
101
332
403
261
65
353
34
494
158
224
345
84
455
355
15
84
31
159
294
228
18
203
419
388
288
60
263
351
119
305
166
324
216
188
218
4
345
370
49
47
82
343
189
198
130
312
482
263
189
37
461
460
4
425
40
143
421
170
393
328
186
248
145
29
289
101
206
6
290
306
44
12
197
305
61
273
450
82
469
151
71
436
415
338
361
40
114
368
227
434
138
474
277
121
85
69
253
302
118
312
76
337
118
178
115
86
264
116
29
375
300
500
461
79
255
289
53
76
97
11
427
86
443
287
328
99
247
436
71
468
331
365
303
402
72
251
185
387
184
464
353
207
311
482
112
190
41
110
360
208
385
28
260
148
7
99
458
264
412
470
168
457
441
434
307
106
312
365
119
335
50
25
315
456
498
417
164
385
371
304
498
245
6
222
451
79
207
129
77
58
255
235
451
316
27
379
108
38
259
242
275
422
262
10
191
492
13
493
403
401
15
52
247
35
53
15
311
99
451
378
347
93
392
75
256
273
486
219
165
15
234
339
35
384
439
31
377
465
313
486
175
109
466
277
190
86
193
262
180
437
163
57
106
475
487
382
388
109
473
250
476
40
40
77
455
146
86
301
133
249
285
308
92
185
411
84
485
258
34
3
79
332
146
439
248
94
344
452
42
443
46
165
87
203
17
430
234
431
378
84
139
268
417
499
485
158
227
88
14
482
476
355
251
396
281
351
438
355
156
34
363
75
430
312
287
134
437
320
96
271
308
155
206
116
73
472
310
198
366
286
186
183
395
292
237
42
247
314
141
222
493
334
86
221
404
310
85
91
200
154
334
331
8
218
488
243
201
237
52
55
479
261
25
133
19
467
167
192
342
380
211
343
197
349
371
414
370
364
191
258
43
407
487
442
338
163
7
418
369
311
374
433
163
114
384
268
361
120
352
268
299
352
333
201
395
467
407
93
121
465
354
153
488
493
168
344
393
107
41
325
438
454
309
250
438
101
265
123
59
79
414
322
381
450
30
86
255
393
73
158
336
18
138
394
257
383
260
46
278
252
300
116
410
291
64
444
179
177
120
47
395
96
205
428
54
467
248
492
237
233
62
30
265
74
219
462
269
168
487
422
296
390
189
122
331
172
51
278
251
162
183
420
268
123
493
416
383
183
414
196
190
464
261
499
309
214
313
429
272
10
246
402
260
13
492
336
304
254
443
269
386
13
457
150
86
185
331
441
239
141
347
57
240
319
298
91
315
129
211
287
286
92
8
334
182
287
449
254
445
282
299
268
375
454
22
233
326
224
311
328
439
93
265
493
237
380
386
30
93
240
231
343
43
262
378
492
449
427
412
412
387
286
111
179
83
12
441
440
146
457
424
475
463
28
182
418
188
217
253
455
72
294
339
159
336
52
183
14
462
311
277
30
488
420
328
222
494
288
208
220
292
53
294
440
470
346
304
289
137
368
297
393
151
164
309
401
8
29
71
319
401
227
108
215
250
186
350
478
23
457
473
261
322
406
289
399
361
302
161
389
448
19
336
483
179
54
343
1
115
307
475
72
286
404
37
220
7
138
96
237
15
155
317
287
58
6
450
466
116
493
202
308
25
228
442
350
468
87
82
473
116
197
394
371
392
305
151
481
105
414
46
26
205
64
156
109
131
279
429
255
67
326
315
496
385
441
202
340
414
11
490
171
294
487
49
222
291
71
252
6
259
360
500
130
463
257
94
412
306
235
113
137
337
126
96
90
127
108
132
104
468
247
99
184
286
289
387
253
305
482
262
26
45
483
71
63
51
465
99
440
129
104
226
97
234
412
333
462
294
91
453
478
86
215
453
56
433
63
128
6
484
101
398
370
80
378
487
216
113
146
235
65
18
240
317
85
256
477
397
292
284
229
424
339
86
398
112
431
404
289
349
171
488
1
140
134
82
167
127
57
350
12
274
427
283
201
349
319
337
192
318
131
252
21
193
482
102
20
188
497
142
127
9
251
15
165
73
186
465
429
223
467
42
132
492
321
262
429
222
487
457
190
223
264
219
93
1
279
422
143
200
293
455
394
281
98
411
121
211
6
120
244
440
408
321
233
456
88
218
346
357
79
366
291
443
79
115
320
304
175
480
296
22
60
311
432
244
21
176
163
162
469
175
215
81
262
50
312
316
340
291
386
169
341
449
414
491
124
382
334
289
492
46
78
232
118
146
190
403
27
136
384
424
264
394
264
194
65
138
369
354
77
446
496
131
304
5
407
420
27
302
487
424
492
200
74
268
26
248
396
273
348
9
407
44
47
397
14
344
224
124
39
400
310
293
256
34
180
228
135
476
211
1
247
101
127
208
159
368
74
322
234
270
157
119
285
442
286
45
61
202
199
293
150
316
21
10
421
415
82
399
334
496
161
418
53
497
63
496
262
337
452
239
177
135
357
115
289
77
288
64
169
217
194
449
175
291
360
260
445
236
117
178
247
316
185
446
311
436
446
472
370
343
409
303
463
359
180
453
365
351
179
492
458
100
461
180
458
97
96
226
167
160
349
204
158
140
431
303
80
376
311
166
381
474
329
202
89
334
374
357
29
422
241
192
168
243
137
489
246
406
64
323
315
384
191
50
465
152
106
54
404
500
427
368
7
446
11
324
36
469
236
338
446
23
435
92
451
251
225
9
332
486
46
152
65
339
101
88
345
415
191
88
155
153
453
250
41
251
360
281
410
467
473
137
427
210
444
281
167
400
206
319
311
433
444
94
21
14
482
245
365
223
354
272
493
121
285
281
282
329
160
314
481
429
485
242
161
419
438
465
188
268
458
220
396
394
115
406
107
223
463
494
78
342
471
222
11
236
275
169
63
215
151
421
123
262
460
308
436
94
339
274
446
189
403
444
142
295
35
327
27
93
337
410
71
454
90
154
471
160
339
290
376
307
5
284
158
119
275
308
367
155
144
494
473
387
104
430
46
214
207
112
433
225
109
226
405
189
498
496
402
40
422
219
188
119
417
38
44
235
5
97
438
390
344
283
201
61
34
487
127
49
468
75
365
198
107
306
227
44
144
381
80
185
311
377
216
53
341
303
79
406
242
44
435
187
5
480
126
219
320
311
106
326
290
48
343
241
329
94
463
472
492
247
401
57
479
36
199
95
295
215
393
257
431
485
443
41
261
225
473
270
338
1
214
374
73
389
287
489
449
117
305
231
306
180
17
468
177
87
261
254
263
359
400
347
7
240
48
406
177
203
16
45
288
122
136
481
177
199
293
166
362
148
146
14
405
207
193
225
392
323
276
150
467
53
95
129
38
400
186
52
265
368
372
29
467
426
492
183
461
295
181
357
132
102
197
236
90
424
239
372
267
475
293
151
69
395
9
186
245
290
412
297
473
306
334
93
429
304
209
396
103
352
491
177
80
320
455
11
149
83
448
497
87
28
239
373
262
40
172
26
462
381
203
71
428
440
428
101
445
165
67
140
473
462
68
227
225
30
108
174
294
173
33
138
414
178
39
260
490
260
251
194
467
290
186
59
96
242
359
358
336
389
299
495
239
61
126
310
467
487
139
436
309
236
96
360
43
9
20
47
197
223
226
453
468
489
406
441
299
464
44
107
264
187
361
500
383
65
226
286
474
97
265
263
89
446
355
93
227
392
380
232
158
362
336
236
103
429
111
237
9
218
61
60
8
472
388
437
191
119
117
416
159
317
269
165
43
322
316
224
400
27
287
293
247
55
355
106
242
143
479
167
40
228
260
258
428
312
161
456
412
69
221
259
157
146
135
112
419
444
429
150
204
468
94
16
426
200
190
283
212
107
265
314
202
23
275
437
21
246
119
187
182
149
279
328
452
326
60
58
273
460
96
150
214
337
92
303
123
148
257
352
310
468
483
344
188
2
296
284
318
191
499
392
369
474
260
202
245
154
20
204
493
290
91
304
135
71
410
371
300
87
92
64
298
207
17
428
342
1
297
259
475
499
76
104
488
452
162
229
75
289
366
114
110
91
292
237
422
113
172
100
167
33
175
476
446
48
220
189
468
28
432
338
56
273
475
311
185
419
79
358
282
328
35
208
373
134
437
105
239
188
1
374
385
58
142
291
386
395
368
228
289
495
276
26
394
266
379
5
486
424
421
496
370
475
375
322
218
318
9
262
382
8
213
453
242
95
117
277
120
447
76
146
371
66
24
459
460
401
161
214
272
349
146
188
116
269
84
343
240
157
379
474
500
20
21
201
402
270
228
243
210
356
16
273
152
58
126
348
258
211
172
318
166
168
128
97
431
231
129
101
161
258
37
245
168
353
481
14
8
413
39
288
139
288
94
406
148
362
173
37
25
364
45
52
494
404
405
435
7
393
20
255
103
414
266
154
318
371
488
400
98
235
370
413
175
17
271
413
65
457
360
195
208
104
99
466
10
57
84
255
69
98
405
364
255
483
265
261
22
445
19
406
402
56
385
105
7
359
249
322
365
5
97
61
143
262
315
135
495
55
360
37
331
211
233
165
49
159
224
255
73
248
177
110
37
40
365
24
18
419
460
453
461
174
271
183
66
315
173
258
324
54
299
27
327
15
444
339
276
304
34
131
234
128
487
486
414
64
244
75
248
405
355
157
65
342
334
210
174
230
184
496
495
119
496
11
365
488
401
168
262
304
347
118
9
488
380
455
95
410
191
242
86
209
403
272
397
118
230
485
166
29
312
389
238
304
227
289
408
408
464
305
137
450
127
167
215
437
41
105
158
156
6
11
495
110
248
381
57
43
47
421
486
133
30
334
238
215
183
400
367
343
82
54
357
283
62
98
159
235
37
89
220
157
94
364
327
41
352
11
124
216
105
341
195
417
150
213
123
427
214
432
77
475
223
391
380
265
248
424
105
121
161
196
320
41
313
237
374
474
478
183
495
337
436
157
499
463
311
255
225
12
131
34
283
29
106
483
133
173
141
452
14
332
113
257
400
304
312
177
245
480
288
462
2
446
180
498
48
264
338
155
411
395
226
85
363
340
36
40
331
412
485
183
268
108
336
415
202
206
332
440
183
304
270
358
492
223
429
244
50
263
434
239
130
10
411
277
56
266
196
233
111
245
452
188
421
128
346
26
155
124
283
95
268
345
125
20
155
396
247
289
299
169
176
370
82
39
10
335
178
428
179
429
449
400
18
171
425
145
268
494
347
292
415
45
300
381
333
232
285
118
470
275
17
446
379
399
251
348
231
199
450
138
216
150
228
349
235
125
378
247
214
314
70
28
46
7
472
81
153
218
391
336
350
6
224
109
4
88
416
251
438
15
151
435
236
202
470
108
203
165
378
205
351
263
255
319
74
276
223
420
249
369
165
134
423
369
50
335
102
431
119
231
195
226
41
48
382
466
353
398
234
240
8
68
447
498
71
189
121
40
125
372
154
351
386
180
109
300
149
500
246
222
158
280
166
157
17
324
211
322
234
341
13
149
9
483
231
389
486
419
349
20
415
210
60
295
211
122
1
44
480
327
443
495
306
355
399
30
269
256
182
78
32
175
298
232
67
415
227
273
380
51
149
171
292
445
22
20
393
56
233
476
455
285
34
211
34
494
390
100
183
328
256
134
389
31
34
238
140
36
314
398
253
407
460
309
368
455
125
52
457
407
434
353
167
90
187
434
216
303
255
176
347
400
61
146
7
341
334
194
360
122
469
172
112
365
328
483
144
457
352
45
190
337
313
326
247
437
317
96
394
205
275
273
39
267
368
482
359
409
236
201
153
12
411
407
346
227
408
305
370
178
344
160
146
60
172
87
387
159
200
445
473
300
228
32
485
201
309
86
225
420
381
466
65
187
45
67
163
196
384
286
296
120
436
273
211
323
420
41
27
108
417
484
365
52
439
180
340
76
29
353
112
92
254
170
471
350
306
272
443
349
335
358
446
300
177
204
75
422
190
83
408
463
432
359
277
429
276
221
37
170
336
197
178
127
301
219
423
18
247
397
377
372
143
101
242
113
182
433
278
209
172
169
345
305
468
60
55
264
120
96
158
100
437
64
157
20
220
40
406
43
83
228
78
142
419
376
298
12
448
204
266
329
252
48
350
482
58
193
81
175
157
324
489
133
177
35
390
387
465
342
295
64
127
407
254
312
67
259
9
445
375
357
149
393
204
316
200
425
385
60
480
12
221
86
130
442
115
135
41
420
226
191
118
363
479
387
313
493
407
397
372
327
246
139
340
272
398
248
234
263
62
255
155
2
358
265
135
19
384
162
281
371
325
143
168
377
250
48
203
157
447
466
29
19
437
304
335
408
208
104
456
48
88
68
460
385
149
281
430
287
463
353
411
333
384
177
79
445
216
387
383
464
163
178
322
333
85
238
274
8
436
4
14
499
208
16
93
125
315
111
390
47
121
392
387
213
21
465
338
33
38
134
422
270
19
314
307
340
294
123
60
172
233
369
277
497
189
167
55
234
250
463
52
427
161
363
45
378
2
264
118
46
444
206
40
120
51
362
458
417
155
177
331
373
494
359
308
13
148
397
218
417
468
455
434
2
468
109
437
106
330
13
149
351
409
174
165
396
339
329
369
348
272
285
261
281
97
393
215
461
148
449
434
65
112
161
102
53
77
164
490
420
432
245
205
393
394
308
84
424
303
127
275
144
42
99
203
178
301
43
455
218
310
313
242
446
469
389
468
396
453
306
302
441
2
199
441
48
406
303
315
79
367
109
316
390
141
335
124
187
109
154
119
227
229
456
3
260
377
30
258
258
199
173
307
11
367
7
122
415
141
26
472
89
115
82
333
302
452
437
265
56
447
369
419
426
90
285
57
19
99
152
414
360
272
15
305
392
75
30
170
39
45
343
7
403
111
238
41
199
76
341
7
117
418
408
99
332
481
358
288
239
266
8
239
58
424
193
90
470
158
463
216
232
295
468
374
243
304
394
60
158
164
403
248
122
254
28
212
480
417
161
271
289
444
285
1
487
498
320
332
115
199
338
32
361
70
442
91
234
148
309
451
223
485
222
148
76
495
156
209
8
274
259
179
215
380
367
29
364
310
302
296
414
344
204
151
151
172
338
20
361
168
300
305
185
222
40
49
145
5
249
490
189
450
344
417
323
106
247
50
45
178
168
126
372
312
401
352
94
437
434
479
439
384
154
162
333
244
323
117
347
312
302
288
118
202
316
158
80
281
204
232
333
139
50
274
47
243
403
491
77
270
371
56
444
325
172
18
83
423
133
401
237
136
123
190
189
192
103
273
478
51
359
172
49
311
3
223
392
345
229
436
161
338
437
21
240
257
101
306
390
198
268
201
59
57
389
112
283
496
417
256
21
127
67
172
160
398
25
374
32
150
440
364
89
14
367
144
144
450
237
373
31
269
193
252
401
351
348
150
347
109
214
437
110
477
485
383
100
35
459
315
182
330
274
290
135
10
487
186
18
318
325
139
457
217
60
120
216
226
382
325
378
44
366
102
107
333
216
314
310
219
64
458
294
457
127
130
381
313
360
327
4
379
436
84
445
397
489
251
290
374
261
428
452
152
296
79
362
155
92
478
277
309
458
415
356
416
489
441
451
431
77
315
349
403
22
229
155
379
208
150
289
423
393
447
96
190
90
466
206
119
222
148
283
78
7
125
120
237
363
370
454
65
172
301
356
176
112
93
499
244
301
361
484
353
469
38
439
165
42
489
295
117
77
28
153
241
232
41
63
461
206
125
242
255
199
118
68
304
402
240
200
346
56
11
75
220
173
38
213
426
353
225
449
113
461
476
314
111
177
451
343
68
184
170
331
400
355
18
258
21
434
63
347
53
32
466
126
381
462
58
405
181
207
302
368
271
91
162
12
44
102
267
462
174
429
50
80
293
60
113
135
205
475
389
375
224
175
56
462
134
19
290
121
256
437
492
497
51
483
377
24
491
351
44
7
4
448
144
386
5
130
75
188
490
22
442
325
368
291
310
417
220
397
79
270
498
333
218
431
114
135
97
241
476
372
24
358
180
129
200
484
8
361
91
432
179
465
311
453
320
429
295
53
215
495
52
235
233
79
137
101
226
230
223
237
472
433
401
279
331
201
243
471
448
497
490
71
415
488
82
467
161
326
129
129
4
5
133
2
157
353
465
173
316
469
454
321
183
378
267
207
182
67
164
83
479
278
432
445
148
93
285
434
62
192
154
21
93
48
151
387
475
78
306
103
304
382
10
360
336
486
136
92
47
283
43
228
277
148
217
150
530
799
470
750
342
760
715
364
522
777
757
788
700
725
759
363
686
353
645
419
661
759
789
550
448
560
467
476
726
660
427
668
776
340
613
453
339
332
466
356
379
426
309
527
405
462
509
367
480
774
483
439
628
670
678
364
484
554
376
704
628
352
427
651
757
485
363
402
374
743
507
694
582
607
508
384
441
305
548
662
769
706
782
516
595
512
616
417
485
718
663
754
557
713
718
406
457
697
593
600
799
347
472
632
521
512
647
780
404
734
582
572
655
396
544
680
654
408
396
313
480
550
466
751
533
572
575
367
505
556
544
799
342
519
654
463
509
798
609
398
619
370
794
483
460
422
521
445
341
773
774
305
525
652
419
481
703
762
800
336
783
426
438
484
363
499
727
342
322
524
684
710
508
777
602
641
416
691
546
515
758
398
452
509
537
351
735
580
714
667
565
587
769
501
301
706
329
662
552
524
305
421
394
766
497
736
340
489
682
445
378
639
681
486
744
590
404
497
566
334
706
657
444
376
731
399
368
608
664
442
729
416
556
562
729
350
336
431
442
486
515
338
700
754
695
694
519
572
331
703
317
381
738
671
767
482
683
636
466
594
622
674
707
300
686
378
541
687
438
640
480
519
507
500
392
528
567
618
568
638
498
748
764
496
313
673
399
605
651
652
702
668
502
629
429
622
682
593
398
456
394
800
752
734
478
658
460
723
370
575
753
793
434
710
579
581
408
506
398
589
498
476
642
685
657
415
787
673
304
436
365
383
500
617
728
498
676
496
478
672
608
785
331
508
723
720
692
694
304
625
800
744
526
437
326
766
581
630
581
363
378
615
677
657
459
541
510
789
390
612
685
336
351
354
303
741
635
469
569
308
659
737
512
456
644
741
471
349
792
588
309
394
572
519
415
633
352
743
688
421
644
670
599
488
350
450
450
691
379
585
788
340
671
542
658
710
568
625
784
457
562
303
451
505
373
659
535
398
517
516
676
729
497
661
305
705
683
722
386
418
519
498
303
675
477
665
482
338
577
372
732
544
646
308
343
608
518
377
641
618
475
402
714
611
728
606
736
760
629
442
799
705
510
699
536
706
607
406
691
727
589
631
382
349
424
482
541
530
609
547
385
716
492
722
361
731
606
640
617
312
786
657
700
768
396
727
590
618
450
457
627
474
474
383
487
314
738
462
540
379
473
765
356
613
699
381
630
347
534
511
442
737
478
517
621
474
618
526
592
437
541
436
406
755
735
682
372
511
404
778
438
749
686
530
330
557
334
539
363
326
309
472
587
512
614
405
591
426
522
567
411
564
323
357
584
665
688
789
553
631
700
383
494
584
330
465
527
715
551
794
526
750
713
593
699
760
603
488
511
515
669
330
460
597
757
462
307
475
475
620
699
465
481
383
399
343
412
701
730
423
615
791
469
725
517
701
492
577
700
538
600
615
397
783
656
628
639
700
775
664
581
301
777
749
553
618
382
594
315
364
628
387
644
532
361
766
776
492
569
753
433
442
723
726
662
726
468
555
546
591
380
582
453
544
564
446
423
751
572
673
614
712
324
320
489
385
600
425
557
551
377
568
448
522
531
536
367
417
363
410
446
743
444
641
610
638
611
667
538
452
685
753
656
590
534
304
664
309
373
448
712
758
454
462
699
728
764
428
515
758
582
420
714
456
391
656
364
503
791
529
410
798
475
711
305
329
693
783
674
490
739
681
578
349
558
764
527
418
585
361
796
800
325
338
308
552
478
450
768
613
302
389
502
555
480
704
459
454
770
557
631
495
554
301
453
658
352
318
362
538
584
520
522
556
767
536
604
493
503
595
675
489
517
780
713
673
568
491
653
549
735
682
517
789
710
485
776
461
702
653
310
338
572
773
522
354
725
565
633
721
304
702
300
799
561
726
634
644
770
747
504
474
511
346
498
789
698
442
339
793
755
313
587
785
550
678
346
300
410
792
467
316
468
578
627
773
430
486
677
594
376
380
736
742
511
389
626
542
486
386
419
328
703
477
379
738
432
310
682
466
336
443
303
614
612
669
788
751
376
697
701
730
397
535
767
445
718
311
319
425
742
330
467
773
774
727
520
561
741
356
606
500
555
506
384
637
361
389
334
766
333
688
528
508
687
425
400
406
351
703
534
468
578
375
709
541
402
617
596
781
544
549
535
421
304
547
396
471
380
732
472
538
587
454
420
430
765
304
305
333
524
369
435
462
439
788
301
454
659
396
643
388
571
366
756
593
716
603
479
748
634
517
659
725
763
792
743
549
778
512
640
464
552
639
481
679
474
572
669
486
335
761
735
487
383
321
402
400
719
776
677
782
440
659
693
601
535
316
574
337
371
441
683
718
461
644
537
629
329
606
614
498
309
785
690
538
691
764
527
332
477
619
491
574
486
334
422
500
425
463
720
554
501
310
593
592
394
491
684
681
652
730
629
307
551
382
422
722
470
517
372
792
523
754
431
744
650
673
641
410
794
555
481
691
637
601
719
302
502
448
740
471
531
444
735
473
653
408
625
418
741
543
705
771
434
763
364
536
543
586
675
357
696
626
528
666
647
563
526
668
694
476
500
684
648
542
504
427
764
324
391
492
638
684
369
557
450
301
370
539
591
613
380
438
677
310
781
372
331
389
543
502
400
327
481
344
600
574
626
550
303
768
663
769
641
408
682
777
659
781
674
466
349
434
535
361
670
739
695
461
640
429
707
491
687
439
331
748
694
790
397
377
550
639
316
782
605
436
738
686
313
715
558
395
601
375
478
694
591
761
746
718
777
357
716
575
608
671
761
667
678
390
757
472
544
386
384
430
448
327
600
376
521
661
355
341
678
579
564
309
788
644
591
436
775
370
534
323
463
356
640
686
658
762
748
695
597
782
663
725
621
704
408
417
320
347
684
499
344
438
668
574
685
638
441
636
393
316
654
573
743
640
643
789
481
770
781
372
365
648
650
397
528
692
559
416
557
613
755
347
380
424
729
742
523
485
590
770
546
382
761
510
491
433
759
349
303
522
560
629
544
343
669
593
426
754
386
560
735
539
401
428
732
695
597
535
562
304
429
784
533
701
641
595
627
383
626
637
340
469
555
624
335
431
311
466
551
741
613
521
620
651
480
720
595
576
429
506
623
432
581
660
768
757
516
627
661
724
505
683
357
461
423
418
601
612
318
573
745
563
794
625
570
563
701
686
360
595
369
792
568
373
798
563
631
745
360
637
382
354
775
443
798
620
693
783
749
585
760
678
521
346
335
373
636
692
333
682
462
379
559
644
668
716
494
470
505
432
638
730
432
592
370
330
405
697
633
365
526
683
426
365
393
468
707
736
620
667
616
527
564
349
653
373
364
660
489
668
694
746
789
453
598
648
697
765
515
740
441
564
366
688
516
322
402
569
730
554
408
774
777
428
447
540
422
326
696
491
684
703
574
634
343
392
508
739
522
604
316
488
325
743
352
397
521
626
401
419
591
663
528
659
744
589
717
704
614
477
348
435
441
471
568
358
607
526
790
697
323
592
768
587
640
406
718
643
413
519
531
300
661
698
716
524
738
658
699
301
667
613
380
476
360
515
370
601
668
309
604
497
616
458
772
764
458
486
746
566
784
412
716
739
527
592
697
576
554
356
409
518
644
358
350
502
307
439
527
721
719
558
693
479
749
499
473
328
439
319
439
318
793
598
348
462
610
466
507
492
465
457
731
422
564
522
794
710
316
558
475
598
752
481
761
508
407
575
575
411
343
732
359
792
300
738
732
506
479
773
488
383
307
429
641
656
666
322
427
322
727
633
697
380
779
327
622
335
378
614
539
743
393
327
704
514
316
788
711
518
506
560
619
519
703
453
666
490
590
653
686
309
736
376
352
774
679
674
463
397
710
733
534
683
497
637
568
327
385
683
350
711
690
703
489
777
724
345
612
444
742
747
448
702
652
765
508
798
581
549
607
316
668
653
784
533
328
452
451
729
798
486
738
791
366
568
600
658
665
569
792
515
559
631
637
601
565
372
350
792
374
726
356
312
609
732
657
614
788
533
449
504
717
791
632
739
310
363
599
497
521
720
789
446
743
452
491
571
747
552
486
399
741
331
388
356
621
516
661
637
779
512
425
751
384
577
733
605
474
383
302
458
334
550
676
630
341
623
718
500
433
330
505
309
326
401
465
720
312
670
671
540
665
634
626
475
517
315
755
649
639
532
423
521
482
464
316
540
600
587
310
533
605
426
347
702
434
456
435
755
409
693
306
420
745
487
786
554
758
309
424
482
410
651
575
743
579
593
348
553
623
390
496
767
644
497
432
745
349
562
797
324
490
485
320
408
439
550
649
771
321
751
762
554
675
664
483
745
588
541
484
800
585
620
368
505
505
495
640
746
448
671
307
728
507
728
372
382
499
458
773
749
446
757
770
656
615
800
489
748
797
504
785
652
485
674
359
778
735
745
494
629
676
400
437
760
478
345
531
648
390
629
695
410
545
426
664
512
457
569
483
543
483
543
479
477
439
370
677
413
767
377
485
328
310
367
309
765
678
771
712
690
730
325
685
620
409
563
790
388
521
387
652
306
436
703
478
303
550
642
347
632
581
765
570
486
611
727
518
597
776
577
575
627
401
595
580
333
607
441
551
528
740
412
643
589
720
336
489
493
531
352
437
444
626
796
589
329
725
746
457
795
733
643
343
523
709
631
433
451
695
765
770
364
757
765
302
360
501
750
542
570
686
641
632
314
336
364
604
325
497
331
463
432
601
426
599
635
452
766
323
398
624
632
326
326
465
763
584
774
610
528
605
798
607
695
525
627
455
771
608
562
798
351
524
430
385
521
738
752
313
402
388
681
687
691
728
383
654
516
509
494
695
471
645
435
774
763
479
668
415
787
734
388
731
653
793
525
770
610
430
476
641
559
311
421
431
602
702
469
561
741
312
428
344
704
764
737
585
364
743
442
786
624
527
735
364
635
386
496
659
395
435
377
324
353
798
600
368
639
717
370
566
508
645
589
562
622
758
603
542
729
327
691
545
365
485
761
360
508
777
744
367
707
727
314
785
598
467
554
384
351
783
514
534
427
707
333
447
540
536
772
658
689
686
793
642
506
406
408
349
605
681
408
588
599
442
351
321
605
518
640
690
644
681
458
768
735
433
488
738
389
446
611
454
570
648
372
644
738
515
764
726
387
594
588
517
589
404
390
576
333
783
709
495
410
461
763
398
369
368
587
300
422
456
498
483
481
628
748
428
800
643
589
693
513
779
335
520
413
468
388
354
743
311
449
463
308
378
612
629
693
584
508
485
667
753
762
665
404
384
370
725
366
676
674
438
314
377
761
433
421
664
766
305
761
625
304
627
346
355
773
643
650
525
489
449
658
678
474
407
670
493
607
401
764
575
577
606
378
564
674
433
717
712
410
710
436
451
537
604
661
369
578
392
629
688
501
557
432
615
592
540
728
441
736
659
392
646
483
385
763
490
567
783
722
544
636
640
701
401
567
755
534
356
489
538
495
456
779
771
503
431
374
770
800
382
301
690
561
391
658
373
308
797
618
364
456
462
481
712
357
386
494
660
631
313
666
503
304
487
713
617
661
371
699
732
573
513
439
727
504
608
519
334
377
681
596
639
747
310
457
477
620
722
388
522
513
670
651
718
720
546
645
644
717
541
671
771
554
408
311
612
790
582
347
724
637
765
738
355
428
518
378
621
426
468
506
408
546
571
541
464
336
397
747
461
569
800
583
334
681
679
735
714
427
507
314
585
539
770
767
715
429
411
649
349
784
694
771
639
404
729
516
371
468
601
340
743
476
519
685
623
353
608
447
602
363
496
690
503
373
753
675
751
635
658
657
549
613
759
447
782
697
389
626
310
599
648
786
585
655
744
578
318
502
359
566
361
436
606
336
659
463
391
625
688
374
719
585
641
451
733
558
555
649
647
414
692
529
495
312
586
324
461
393
566
775
400
657
639
440
415
397
431
469
580
363
776
427
686
586
723
302
620
770
323
725
620
555
611
697
436
671
515
567
545
342
570
793
535
542
341
695
371
521
610
604
582
758
565
669
615
407
630
666
691
744
487
525
721
591
702
456
628
452
698
429
517
577
403
521
613
668
794
670
467
771
659
395
714
333
698
481
524
351
305
714
388
466
491
586
786
425
545
744
430
518
754
776
782
654
458
711
596
483
571
654
651
593
334
659
638
724
363
527
359
422
577
335
329
325
721
770
529
642
325
746
440
590
795
674
393
545
356
452
581
662
543
483
594
690
367
516
645
566
790
330
635
348
508
648
615
351
498
780
665
619
769
689
559
666
488
544
567
527
483
533
422
768
319
767
681
477
485
351
566
337
623
702
799
518
388
355
549
760
497
489
798
465
576
602
759
370
557
542
712
374
502
441
790
554
427
481
339
433
732
561
651
660
615
710
752
530
795
540
592
382
726
694
742
454
390
490
384
655
653
747
439
636
479
400
345
733
639
766
388
523
675
532
596
486
447
763
617
685
580
595
752
425
708
637
626
329
775
473
426
639
448
572
643
765
499
793
345
302
515
608
685
541
633
622
800
569
361
469
404
563
627
317
468
570
457
728
420
609
714
317
530
560
788
471
513
302
628
632
374
669
358
736
786
759
772
364
483
770
406
388
659
319
320
400
438
692
408
543
741
721
601
694
768
658
616
629
626
672
638
441
750
539
652
635
706
498
495
728
311
404
763
780
782
550
524
586
666
424
401
494
582
661
553
338
651
353
443
693
738
790
553
370
526
353
376
532
635
500
461
790
393
709
688
756
564
366
519
440
444
793
620
790
578
499
678
414
361
404
583
479
637
764
718
764
740
518
323
488
543
487
375
742
728
539
786
681
395
567
455
604
607
744
556
324
441
630
645
300
759
345
680
502
703
681
450
496
680
396
546
483
469
497
414
578
344
497
375
472
706
743
745
341
676
735
720
604
422
388
759
584
359
645
512
433
776
450
443
675
695
368
535
341
693
685
672
566
616
768
693
412
552
748
508
355
521
441
606
340
465
396
567
443
320
674
597
416
746
785
539
418
521
402
574
408
385
637
497
691
470
353
484
585
705
602
429
401
445
554
388
599
613
779
697
531
398
603
785
552
424
444
689
514
355
421
773
565
588
386
598
632
610
562
614
588
391
474
665
393
525
439
661
344
616
373
518
715
687
636
454
481
649
385
348
361
773
451
540
730
442
480
542
687
563
633
602
632
756
649
419
603
608
618
610
557
553
800
738
331
548
424
646
660
688
422
529
557
578
327
779
716
757
449
755
499
516
346
696
647
499
304
591
540
572
388
783
753
639
777
625
796
335
795
588
448
358
791
781
771
524
642
691
585
324
613
693
722
477
794
324
778
746
761
561
714
509
485
747
791
796
526
371
478
325
447
393
675
694
729
353
770
460
525
628
584
549
525
490
484
720
370
599
647
555
547
539
598
655
429
603
620
426
454
342
434
663
422
642
505
565
698
762
731
594
426
534
325
357
763
549
320
310
419
739
752
706
441
358
667
493
597
660
547
435
677
746
641
788
561
401
508
401
385
799
427
456
470
638
574
412
610
334
359
655
623
745
615
578
334
521
673
617
790
453
448
447
771
391
613
362
744
363
575
550
353
694
737
454
794
549
519
324
553
381
499
405
777
754
596
583
557
454
515
492
755
415
499
301
671
406
735
678
352
439
757
518
682
474
511
628
731
320
632
481
446
494
614
594
568
419
691
697
787
558
539
751
426
627
335
467
790
772
760
583
768
455
687
373
304
723
760
751
729
660
542
571
751
408
687
665
475
700
483
785
416
656
475
640
427
773
769
485
488
326
519
614
580
313
476
464
315
529
449
391
349
397
479
746
420
661
786
735
441
430
604
771
493
762
554
469
483
635
651
353
309
334
521
677
630
757
638
370
454
578
624
574
507
543
479
466
617
387
442
453
402
793
580
588
391
775
488
492
628
779
793
661
568
766
800
391
698
332
763
629
351
483
639
627
545
396
431
511
583
622
603
382
354
332
702
529
537
445
649
530
316
323
311
683
668
664
616
758
308
472
728
451
409
447
699
627
547
737
595
640
567
753
763
748
756
362
507
561
611
798
619
526
332
377
490
479
557
689
426
773
695
790
387
471
479
432
544
321
480
791
510
433
439
709
414
653
478
680
309
325
586
576
398
590
585
793
602
421
641
530
721
552
606
710
567
468
408
693
655
366
325
318
343
546
356
594
677
683
353
661
577
342
712
358
524
472
719
366
477
520
342
487
342
677
770
323
765
656
366
772
369
791
308
706
626
359
587
778
481
762
757
400
615
661
576
760
610
798
632
345
548
394
628
397
446
327
720
348
427
653
573
626
784
783
344
667
709
588
397
425
685
342
789
504
602
448
652
754
721
449
487
387
619
562
409
774
460
600
523
536
443
537
781
736
784
452
584
708
320
740
378
768
524
629
727
676
407
787
406
327
766
472
712
551
373
601
679
495
377
383
360
701
672
595
685
573
377
684
682
728
612
563
310
772
463
393
620
442
539
661
604
556
662
403
707
764
375
654
506
489
604
407
761
694
465
402
306
783
681
668
675
354
321
340
688
328
381
538
355
425
352
375
740
451
767
329
763
580
508
304
796
705
638
603
445
751
735
563
320
774
416
328
325
415
377
657
344
325
681
535
395
763
661
718
624
519
628
639
752
373
718
514
371
569
754
654
321
760
490
579
361
743
567
644
549
637
415
780
701
494
452
352
725
571
333
493
343
327
464
522
724
369
652
469
344
505
314
321
588
695
678
357
762
346
582
359
603
763
482
507
599
394
592
746
723
300
561
584
409
538
710
381
300
336
359
724
542
665
590
739
740
698
502
331
781
578
696
390
328
391
375
370
549
678
709
304
760
391
363
383
499
443
553
755
706
604
412
742
481
483
669
736
670
303
540
752
746
536
318
303
405
689
426
575
533
454
720
354
670
566
483
753
640
452
302
662
630
776
549
499
428
441
645
607
457
622
329
317
707
407
542
521
423
611
449
776
729
734
520
350
769
675
559
334
485
629
722
694
685
746
762
741
435
409
663
667
460
590
517
730
497
313
463
371
712
771
606
593
554
457
572
408
699
426
671
400
315
373
452
527
483
398
415
522
515
680
463
511
616
500
472
601
797
645
359
568
477
506
430
728
360
575
548
564
323
673
662
573
586
439
406
702
783
638
778
681
551
364
546
328
553
545
454
534
355
757
696
575
705
386
542
554
443
506
690
386
706
596
326
308
727
601
750
792
758
346
627
578
314
447
603
617
389
412
498
520
739
402
503
640
374
662
757
565
486
354
436
374
651
651
393
510
719
607
592
624
600
663
731
778
714
702
772
482
363
422
624
303
452
511
788
433
427
627
397
534
540
551
514
682
571
464
360
647
446
592
786
363
730
678
395
502
677
310
704
369
390
389
489
300
345
483
357
655
561
733
714
307
694
706
583
602
642
460
611
766
321
512
671
406
359
473
451
497
511
543
448
322
445
606
610
479
681
308
416
702
762
796
560
553
538
420
548
428
319
704
687
518
402
499
426
389
378
338
740
710
629
652
363
469
392
524
561
789
433
690
559
339
674
491
650
600
553
555
461
796
634
713
525
537
583
533
628
756
382
780
800
598
515
602
633
498
616
786
461
563
515
535
303
425
710
450
559
784
569
673
330
633
319
474
630
617
493
513
396
691
487
505
345
514
308
498
800
390
359
461
447
717
777
416
773
598
491
631
565
637
609
742
757
391
516
723
728
741
482
400
770
619
334
440
655
480
358
584
403
640
629
417
693
664
367
398
655
577
512
783
506
533
347
722
495
355
538
391
334
649
543
764
663
793
578
706
742
519
677
457
621
454
533
373
638
789
400
347
556
644
681
689
449
722
431
438
324
711
672
314
300
762
369
393
535
732
335
633
487
630
600
615
532
735
445
300
318
621
502
357
656
732
537
783
634
562
397
316
618
730
372
372
785
370
797
560
411
732
649
757
765
325
580
682
379
484
352
568
586
586
378
667
750
472
374
744
485
363
496
413
441
708
686
641
707
474
643
595
361
719
349
328
514
578
448
757
442
550
530
656
475
683
533
408
312
566
774
492
380
715
573
567
634
759
303
728
609
370
477
397
561
702
736
544
357
544
578
420
686
754
401
354
467
772
757
379
732
388
799
680
775
411
371
579
643
351
401
605
772
610
464
706
348
772
637
575
367
473
748
344
734
371
727
556
345
498
736
399
307
658
616
544
790
350
644
774
332
468
323
625
463
491
439
580
336
751
524
303
408
378
392
366
399
762
710
509
514
613
736
413
666
343
479
534
664
541
442
348
345
767
539
562
711
410
542
664
512
615
537
601
370
415
327
603
779
561
453
420
377
667
626
695
699
625
458
539
461
341
445
586
637
333
722
564
456
498
583
363
676
548
780
793
444
757
358
318
381
317
577
533
412
576
459
544
387
597
730
641
342
785
489
598
571
711
598
614
725
356
471
340
332
306
301
473
353
656
614
592
621
409
439
792
347
362
673
602
436
542
619
721
349
649
612
461
466
775
656
449
425
595
371
426
439
702
585
456
576
545
489
680
797
675
500
731
500
468
333
632
789
669
484
587
786
370
305
627
687
610
612
441
415
710
411
552
612
607
481
328
540
554
345
490
448
563
303
707
724
769
762
424
668
445
312
459
329
682
321
693
410
497
531
708
721
505
643
659
671
394
650
435
562
557
565
728
482
499
369
348
535
649
676
422
549
378
427
480
744
624
373
737
736
410
421
707
489
616
545
598
407
614
660
654
496
391
581
390
372
777
664
609
322
800
749
749
372
645
423
568
601
494
665
744
694
605
473
494
602
333
497
758
440
341
669
651
395
632
558
719
398
391
508
524
516
556
662
656
432
427
682
800
303
449
356
344
338
483
555
531
800
514
354
671
526
786
702
644
628
737
513
707
755
696
575
331
562
686
331
633
300
336
631
403
405
787
784
403
751
797
323
398
676
535
711
381
733
302
515
671
486
781
354
576
364
450
778
800
602
536
364
484
623
550
329
517
741
610
417
664
629
355
378
768
448
620
495
520
309
445
348
605
517
340
615
603
376
476
791
653
498
315
466
776
735
535
553
301
303
460
324
495
544
611
732
301
630
411
777
373
407
394
720
410
367
392
317
595
357
442
708
710
780
500
312
482
644
741
466
578
475
310
585
700
767
478
349
339
677
452
423
712
766
413
622
429
300
659
586
515
397
476
307
637
687
420
358
555
310
342
492
574
753
756
492
663
770
761
530
470
318
668
689
300
729
481
524
633
760
480
361
747
416
735
735
400
401
642
647
417
577
518
343
669
799
607
687
557
532
348
300
656
354
455
647
457
495
664
521
399
610
361
606
723
388
470
761
569
615
587
514
351
380
725
699
791
765
669
358
438
311
752
452
500
379
326
336
788
437
393
762
779
651
785
389
770
543
334
727
598
774
440
323
624
599
522
306
540
678
388
341
311
684
650
308
564
492
644
737
464
412
549
555
517
584
723
425
480
671
460
332
431
677
781
598
443
716
656
741
678
606
728
790
409
551
563
388
319
666
395
439
433
392
406
512
581
482
652
522
604
470
466
324
359
771
507
641
433
339
418
562
412
382
644
770
677
689
490
338
396
606
339
436
402
571
617
579
676
704
520
735
714
463
795
784
694
481
735
607
702
778
539
660
761
596
788
397
684
474
431
716
739
759
387
82
447
242
71
130
247
72
96
169
425
381
287
233
174
450
361
273
78
153
157
281
47
484
435
233
100
323
380
381
223
149
354
24
308
181
77
127
266
33
208
158
364
116
237
262
288
13
131
421
235
96
38
367
240
321
218
374
496
80
105
134
236
176
232
340
351
420
169
128
222
484
26
329
401
224
150
440
348
416
477
353
188
412
307
128
213
39
181
284
147
184
300
383
150
456
391
365
278
151
363
301
221
493
52
38
204
321
283
139
440
50
27
305
467
154
480
63
46
81
182
298
476
314
456
42
136
65
13
395
151
309
369
494
137
265
484
270
22
94
140
356
218
359
465
15
102
330
102
187
363
239
236
473
148
356
318
340
179
119
372
423
389
199
224
299
291
90
368
308
422
296
280
249
244
28
195
329
409
207
393
261
207
217
366
408
97
103
341
493
171
55
22
124
477
405
83
332
147
174
27
457
132
171
499
495
295
3
457
295
210
39
208
290
247
440
494
423
230
214
14
493
184
139
409
459
225
366
192
33
293
40
136
228
229
219
134
29
186
202
91
396
491
195
299
160
412
282
203
427
367
211
45
199
350
333
391
263
163
3
499
385
392
384
109
42
424
7
497
493
240
436
161
432
235
189
479
20
75
493
344
23
133
123
240
361
156
28
126
452
187
264
73
306
101
31
409
170
277
3
211
178
304
261
23
439
458
49
196
14
219
500
23
240
330
402
482
494
279
340
368
275
355
200
49
450
292
331
180
176
433
309
313
435
451
421
253
499
149
263
457
386
246
147
7
89
313
395
125
409
71
317
336
84
433
376
80
99
257
206
137
469
278
315
174
218
301
100
112
193
439
394
315
184
217
354
392
318
387
179
385
384
212
479
337
281
128
212
162
347
276
90
202
108
58
265
247
77
145
214
34
143
496
267
197
163
132
449
322
332
70
217
471
9
445
347
365
404
76
47
74
79
184
117
134
42
425
485
299
281
213
476
492
356
21
414
4
17
203
273
164
42
25
50
139
241
128
116
455
285
26
198
496
155
138
54
37
170
405
357
487
351
271
237
142
189
17
54
495
244
102
232
356
17
88
198
144
428
135
5
355
439
413
493
273
267
378
237
55
412
128
437
50
25
204
308
341
385
444
468
351
182
12
484
293
44
203
148
27
478
11
220
309
186
193
167
373
215
244
187
416
437
477
206
29
4
168
63
39
260
462
216
376
249
10
192
131
176
275
266
179
379
159
488
112
87
67
77
383
111
247
142
408
300
229
44
160
324
294
158
161
135
204
249
148
299
24
136
154
372
171
113
448
227
425
138
322
185
494
158
148
187
24
24
167
97
175
15
382
40
195
387
248
150
489
464
454
310
105
288
290
256
480
480
196
478
327
364
438
400
66
444
163
86
419
496
249
325
151
466
379
310
92
463
134
123
13
52
192
263
411
181
287
249
24
37
48
115
334
352
92
117
319
381
93
22
336
142
310
344
129
438
104
277
422
275
457
265
36
295
454
450
196
57
354
14
413
369
243
264
30
64
156
200
254
117
341
245
167
354
14
69
489
331
441
152
288
178
79
253
487
482
13
55
373
206
493
303
290
375
198
88
170
38
318
331
33
329
412
348
395
500
253
156
228
492
189
309
428
252
494
433
269
360
489
341
82
131
65
281
44
8
180
282
451
13
262
489
43
161
361
232
129
473
300
154
141
362
224
358
420
293
368
140
134
435
61
182
118
52
42
319
166
420
451
355
90
249
316
495
401
229
445
27
457
31
417
370
369
368
127
448
374
85
195
119
111
344
46
269
138
281
172
330
232
386
495
35
484
147
372
43
1
104
156
118
471
196
405
484
159
216
246
139
390
445
30
277
51
218
107
313
310
114
212
437
182
275
253
486
140
437
15
260
410
291
452
301
78
195
48
45
155
495
412
459
126
395
204
347
214
215
1
356
482
60
100
169
1
455
364
41
260
125
455
95
168
69
32
244
427
236
403
96
369
248
410
280
352
265
427
272
197
232
399
192
226
342
409
469
64
413
21
89
362
74
197
135
376
127
50
30
470
355
284
98
177
493
483
374
393
470
482
296
78
276
486
298
377
463
292
285
407
170
440
49
448
324
305
449
137
25
418
265
83
181
300
274
296
323
60
233
201
366
336
336
471
153
393
410
341
65
383
182
458
382
32
168
370
295
436
472
239
482
113
464
382
364
176
400
41
57
348
497
140
437
259
107
436
336
465
472
20
360
23
211
78
220
493
482
346
203
196
396
338
203
167
282
446
450
378
225
253
348
260
309
189
404
62
18
351
232
137
332
198
358
229
89
434
369
317
186
190
141
342
422
491
24
95
53
184
298
484
180
466
128
59
451
190
165
429
392
250
46
278
398
233
420
71
499
166
241
177
178
471
403
379
249
485
5
234
7
104
36
288
22
342
21
226
249
449
406
20
493
400
270
419
450
471
151
219
461
387
439
83
248
253
375
233
342
500
141
399
401
78
328
28
206
44
266
157
360
206
54
287
122
222
191
301
411
113
318
87
496
396
368
435
153
124
324
465
432
497
204
455
67
70
226
214
305
173
220
23
89
315
493
142
30
378
126
180
279
411
64
337
183
101
87
84
485
464
310
352
127
467
372
169
441
447
79
304
454
204
86
320
314
494
315
77
206
166
147
463
156
253
444
296
463
154
426
87
268
332
433
200
40
266
35
402
351
110
169
184
489
481
245
373
460
436
492
284
161
226
369
186
392
234
351
375
147
128
487
415
62
373
98
267
295
458
325
397
373
147
322
68
115
252
109
138
331
485
236
375
255
196
253
114
285
320
374
304
115
366
210
233
123
171
395
459
462
296
252
75
227
121
181
223
407
426
277
90
227
329
132
102
117
50
279
271
340
193
398
406
280
488
68
301
91
457
266
66
83
359
174
183
108
482
214
165
53
166
18
434
187
12
287
49
247
15
190
392
125
493
413
12
417
443
241
50
86
13
294
107
58
163
207
138
26
284
226
225
282
244
288
245
405
141
425
284
475
379
151
478
252
486
145
348
119
374
1
420
459
341
299
373
474
117
209
464
331
112
407
489
322
400
94
211
467
341
54
467
499
35
378
356
149
278
233
305
97
57
335
460
420
22
177
170
103
163
186
252
385
406
399
140
343
403
85
182
235
144
498
102
471
438
330
31
44
363
469
155
159
60
188
277
71
23
404
425
2
424
402
150
378
21
220
402
496
60
241
103
267
49
173
245
218
440
232
266
169
410
298
485
114
248
123
72
250
190
365
465
350
245
299
407
143
459
288
75
178
340
233
217
369
378
136
321
116
110
96
194
339
94
422
425
198
436
125
297
499
393
194
408
359
288
250
387
64
82
374
254
479
385
242
342
311
493
2
316
442
479
481
158
36
198
123
442
113
372
98
471
435
101
373
153
238
56
350
49
417
395
430
281
22
493
88
418
26
115
399
219
487
391
112
27
98
217
32
248
265
109
226
311
398
278
353
364
238
333
193
457
186
105
133
35
144
39
170
438
34
60
255
407
23
258
209
296
459
400
468
55
194
89
364
420
436
88
434
185
188
271
204
289
379
6
493
368
292
108
281
185
43
67
190
86
71
289
195
366
213
423
330
195
499
442
200
386
189
226
28
200
495
455
339
422
136
436
360
460
423
274
261
16
173
1
116
285
142
103
31
313
469
245
295
240
60
192
300
443
457
169
152
128
488
284
473
238
392
268
261
87
84
499
137
299
259
286
90
157
381
136
288
52
71
124
476
394
286
489
154
492
147
289
324
415
226
390
467
497
317
66
100
258
475
155
202
133
79
326
202
360
255
376
223
39
471
338
406
181
356
359
139
240
225
294
50
52
149
58
116
162
173
173
289
427
197
32
331
434
3
253
302
228
69
128
296
343
217
76
296
442
14
462
50
240
297
479
333
147
402
343
170
366
289
367
196
379
141
80
334
171
281
102
85
451
46
71
223
436
237
442
489
495
229
108
212
499
425
250
145
172
84
177
398
429
10
102
214
278
256
6
132
480
487
430
219
439
418
201
439
453
294
359
95
353
9
23
73
339
291
173
78
364
179
137
327
441
158
419
49
496
101
187
204
192
66
61
340
419
346
251
77
227
278
417
50
396
216
334
296
136
392
25
281
301
376
193
311
133
430
125
287
297
297
13
180
320
374
199
137
394
489
248
168
157
32
234
472
448
284
457
66
251
328
185
40
232
303
19
479
239
390
418
319
410
390
158
1
263
128
396
396
202
208
260
269
263
407
234
46
78
17
177
127
431
223
487
413
77
339
239
466
487
6
408
157
305
379
94
402
493
150
31
143
122
174
224
88
151
156
443
45
332
162
265
330
325
45
21
423
492
32
27
477
370
437
292
245
255
293
43
137
464
116
185
201
181
499
250
497
134
395
184
320
107
499
389
384
149
202
88
325
445
106
253
232
156
253
482
24
61
442
323
231
490
360
486
270
129
332
132
399
467
465
44
199
100
457
61
33
278
130
252
242
205
186
372
127
448
269
321
232
89
274
389
243
155
465
498
302
189
60
66
426
408
8
356
202
185
207
282
272
385
176
312
443
302
168
217
153
374
148
323
59
101
484
293
83
284
366
176
38
133
208
366
344
173
449
235
493
144
66
463
274
53
366
202
325
241
490
482
66
344
275
282
344
475
248
88
192
156
209
217
284
193
11
278
279
63
279
83
265
403
189
365
87
178
458
444
369
147
135
257
316
315
55
155
219
281
403
173
397
364
148
233
98
436
445
253
72
465
300
458
116
332
72
438
322
73
334
151
486
154
88
362
329
325
370
242
8
189
100
132
211
283
97
60
375
484
139
268
430
300
431
249
256
141
32
56
360
426
488
154
320
168
299
263
394
66
473
350
451
85
151
66
54
130
286
246
47
484
384
481
370
432
11
364
84
248
212
182
317
428
37
139
175
251
416
158
10
85
124
28
449
131
313
190
230
465
124
22
114
188
33
26
260
464
118
495
172
447
461
373
456
168
297
484
191
308
434
498
334
43
235
297
332
253
145
136
126
59
147
253
392
324
141
175
295
320
294
478
16
84
66
91
14
57
260
458
444
140
449
496
390
403
394
406
102
410
16
388
314
44
227
127
470
476
496
154
228
209
224
464
425
350
47
390
2
324
498
161
19
122
261
2
225
330
485
290
338
61
441
51
172
222
432
156
246
20
191
381
379
91
173
82
197
112
85
258
425
149
427
113
131
73
140
366
132
204
319
311
428
428
197
400
250
314
289
291
294
48
449
247
455
13
383
424
478
80
243
421
143
419
478
165
371
475
435
88
219
360
142
171
120
366
287
191
76
218
240
386
61
53
367
176
193
396
319
77
47
253
258
229
388
354
393
98
321
462
44
286
137
338
440
56
355
442
219
68
448
458
104
359
171
321
224
69
65
15
441
191
248
247
305
449
259
27
66
56
429
172
386
98
163
299
355
38
47
318
306
44
352
133
292
139
200
461
117
385
214
455
208
432
97
462
424
217
413
213
223
335
237
12
434
123
249
318
317
239
210
417
455
58
88
260
369
233
325
193
492
412
145
295
362
333
470
29
148
370
337
177
142
214
402
486
35
285
54
388
103
213
247
87
431
406
262
234
172
279
500
197
176
7
230
176
302
213
84
438
209
35
248
399
100
271
57
1
249
465
451
333
413
73
250
16
181
157
376
260
367
35
311
450
478
389
360
97
223
306
257
196
413
328
18
234
330
308
145
155
445
154
287
356
11
423
139
488
465
250
450
105
223
338
17
466
357
354
176
187
319
310
451
79
158
238
203
259
338
45
330
335
35
328
492
42
449
379
303
283
292
9
390
138
76
315
250
350
266
78
197
373
324
242
401
455
384
204
142
9
489
448
392
485
173
252
196
486
35
52
340
381
81
394
130
375
6
244
58
491
43
358
53
96
483
250
175
304
298
126
120
237
258
455
31
169
213
201
403
325
256
176
380
402
117
278
370
363
489
483
377
263
391
33
146
444
416
354
365
350
172
384
468
230
231
484
491
427
155
43
270
302
190
41
370
238
23
404
347
170
184
349
312
328
99
87
308
440
88
189
332
1
407
267
231
388
439
405
241
171
258
222
301
401
160
207
294
53
399
316
245
229
497
398
418
284
66
304
412
364
345
156
246
197
74
282
105
421
237
330
176
57
6
375
468
220
177
160
344
251
462
27
92
468
103
130
294
125
245
173
114
117
3
203
153
419
137
469
13
183
359
489
380
269
176
256
230
349
302
358
92
256
251
152
387
94
473
472
310
489
299
125
242
299
244
142
144
45
429
280
292
102
335
88
169
19
107
416
16
92
376
294
395
280
139
231
31
427
144
149
209
182
436
152
131
425
71
360
123
432
118
332
362
43
467
124
263
255
172
396
397
414
353
148
407
348
109
128
372
236
297
33
296
470
497
259
198
471
63
419
2
488
338
168
62
141
161
49
22
289
318
466
338
294
442
336
390
342
189
4
405
417
134
472
277
55
269
365
310
203
46
429
245
465
447
45
421
9
154
307
403
41
141
61
175
429
267
29
307
387
100
218
3
65
500
454
374
80
356
210
452
270
122
375
213
104
309
465
347
278
6
489
12
91
386
309
188
151
444
141
178
472
405
66
329
117
19
302
157
144
35
83
428
98
349
328
281
83
127
406
435
125
405
212
147
143
268
271
476
119
296
354
171
127
381
189
248
64
119
393
416
29
198
194
153
59
125
86
260
143
297
235
462
450
43
56
39
226
44
146
300
29
261
101
39
445
91
106
12
183
59
275
454
454
44
325
65
245
391
459
428
289
228
209
48
164
243
337
212
466
345
422
19
38
394
345
368
39
179
241
293
357
69
196
452
163
65
172
185
366
339
248
112
87
327
478
392
44
311
275
255
124
387
471
294
406
214
220
48
411
54
110
142
155
372
127
76
375
109
257
368
289
409
441
93
35
239
472
387
337
445
161
274
257
283
438
385
300
450
96
362
51
308
350
147
445
471
13
395
84
405
198
156
76
25
21
449
219
59
379
301
195
63
16
287
355
148
38
7
80
231
474
354
45
27
20
370
262
291
106
302
161
201
290
358
395
355
449
38
401
23
57
189
104
127
132
48
215
223
279
309
40
7
9
156
307
29
80
473
386
349
26
216
198
32
486
241
123
106
434
359
447
472
464
232
369
166
329
283
38
343
262
271
65
243
451
160
247
38
199
25
2
151
409
173
31
494
100
402
359
256
190
31
131
81
483
94
96
373
486
447
478
312
250
4
114
131
66
375
227
45
195
217
213
278
334
137
68
32
318
89
32
107
141
1
111
75
235
354
181
442
233
277
81
183
451
13
272
51
479
291
473
210
2
30
312
170
378
84
229
453
408
309
230
137
257
474
377
93
199
465
12
350
464
335
401
139
237
242
2
395
202
142
35
238
204
20
87
467
465
127
78
201
344
395
176
260
120
387
128
207
295
186
395
129
223
495
476
437
333
214
338
318
315
147
220
348
19
126
289
297
119
149
103
357
408
331
99
497
287
217
227
242
335
47
413
114
212
211
164
188
310
34
68
338
397
374
255
428
145
417
235
24
183
185
468
280
19
76
282
208
194
258
64
221
99
113
184
195
245
493
155
16
424
238
373
78
221
127
214
375
481
225
324
127
351
465
133
355
193
319
193
113
88
164
162
289
356
459
188
495
11
88
84
150
316
301
436
213
175
95
212
205
200
217
137
360
25
396
22
117
315
428
334
496
403
334
17
109
321
435
298
241
314
52
314
125
176
260
466
252
447
432
429
132
69
158
301
477
365
307
336
74
304
54
142
341
465
268
257
477
323
86
178
331
114
258
39
446
155
227
391
68
17
52
293
295
320
196
233
192
77
392
77
319
100
66
292
448
355
331
157
62
124
463
191
223
19
484
242
4
410
369
18
319
480
402
299
399
89
98
204
219
355
212
170
36
212
188
57
36
432
213
371
320
382
192
213
478
496
176
167
324
315
491
315
426
237
98
181
370
493
129
135
415
341
488
235
447
411
263
20
423
270
424
342
425
149
342
121
384
170
296
317
161
101
373
451
377
384
288
266
16
219
241
397
84
81
55
417
50
309
488
251
239
107
418
66
87
155
336
71
169
113
74
54
147
356
414
66
492
428
389
94
151
459
277
11
374
443
417
350
45
210
414
126
429
212
349
371
374
406
468
10
305
276
234
165
347
24
279
339
23
195
31
113
25
357
494
500
325
41
254
407
107
215
458
458
474
5
217
485
421
437
463
131
396
329
466
54
468
382
159
199
5
199
292
187
126
354
388
325
117
361
435
61
304
43
496
178
352
346
340
384
452
144
392
53
362
18
355
181
58
333
224
29
96
433
243
332
325
137
134
494
434
356
370
430
389
146
408
231
292
494
419
428
88
372
288
5
150
52
170
174
194
293
148
406
66
253
356
468
442
138
245
138
99
422
137
452
161
208
413
313
386
158
287
185
316
124
455
214
98
395
162
361
132
467
71
93
229
63
215
344
278
398
429
473
294
115
291
285
392
82
96
23
10
382
170
116
176
184
324
373
373
338
50
398
338
230
138
419
223
102
96
178
193
472
17
76
97
90
188
175
7
147
276
217
148
430
170
167
149
453
124
405
306
231
496
41
270
350
425
391
121
383
80
331
301
188
62
431
409
132
352
12
362
367
479
69
279
137
246
287
327
209
183
139
218
296
16
198
8
112
376
474
268
118
233
79
480
170
219
313
495
201
107
114
296
31
430
28
25
281
47
420
492
278
396
6
277
442
236
421
79
386
350
435
414
19
493
434
338
155
81
131
141
477
201
124
341
314
272
92
388
96
323
290
394
416
72
239
443
68
485
198
71
294
180
95
148
69
359
109
85
258
184
156
20
424
231
93
221
436
147
377
18
427
483
318
17
209
311
130
412
68
184
221
153
424
113
74
377
77
415
318
28
111
352
213
256
145
336
451
229
310
484
254
65
469
360
210
8
407
240
66
236
416
160
399
140
138
230
271
291
347
405
46
4
135
348
53
265
57
120
125
117
54
86
372
266
144
485
3
87
386
436
351
239
13
325
214
85
334
267
494
429
427
62
186
7
472
177
449
138
464
399
314
455
358
394
346
305
118
286
370
315
64
127
266
221
115
163
163
95
395
131
172
138
237
320
340
289
269
210
8
337
338
137
124
254
430
464
61
362
496
363
261
359
111
96
207
198
457
394
482
286
98
31
473
88
364
381
414
197
127
372
319
73
2
190
286
411
160
116
157
445
234
112
194
308
130
244
29
77
177
339
324
151
249
111
304
197
149
176
398
59
484
131
261
205
41
351
244
60
458
189
440
350
235
318
15
221
305
87
100
188
273
160
463
21
299
143
54
259
324
217
353
36
311
66
295
367
35
290
182
153
123
43
137
461
197
443
386
394
417
208
262
369
314
15
48
357
417
22
490
196
441
464
440
223
68
171
29
229
428
121
264
44
448
296
354
418
242
189
225
160
16
376
216
381
147
319
380
498
144
60
177
125
375
405
290
132
151
151
242
16
484
39
410
456
471
298
351
32
27
7
262
250
125
331
405
376
334
180
305
428
177
159
162
258
156
325
170
460
201
61
358
328
318
380
396
94
238
318
9
73
303
121
231
29
493
496
214
186
141
394
17
76
343
253
478
51
402
22
158
435
109
259
318
153
111
337
82
192
433
203
60
499
8
303
254
12
426
180
230
211
281
366
18
33
447
142
208
196
18
426
192
267
183
370
46
395
303
304
204
374
142
394
111
103
140
378
46
347
223
326
262
439
282
218
366
332
187
60
241
4
475
304
382
54
160
425
261
90
26
355
278
415
171
383
46
157
280
404
418
119
144
108
329
270
211
56
4
100
281
153
196
249
259
164
211
264
279
149
259
26
407
101
28
243
331
205
403
134
44
91
40
279
478
143
149
100
390
155
187
54
49
265
430
78
104
366
327
4
300
206
461
126
463
105
446
147
150
289
27
152
379
18
115
256
127
226
442
172
101
43
245
16
217
486
491
498
379
163
85
174
232
71
39
312
418
118
80
238
453
427
124
111
339
49
211
21
326
43
453
452
201
440
128
369
103
286
262
234
392
449
343
455
257
461
368
86
260
329
342
52
187
66
210
221
154
76
395
39
252
55
270
94
150
454
62
318
358
77
151
243
206
150
484
142
174
160
245
102
225
159
453
406
308
23
176
485
141
359
133
44
463
461
224
292
219
102
110
361
298
65
411
415
54
17
104
448
172
35
445
98
108
385
495
459
489
345
359
439
388
475
396
279
6
435
271
476
217
490
8
418
96
420
226
331
165
394
227
500
224
139
325
115
118
361
425
168
325
322
455
162
494
378
16
365
233
422
176
43
220
216
211
192
347
86
411
403
108
121
381
270
483
440
193
341
55
169
23
184
496
288
346
76
280
374
309
236
336
293
359
381
192
127
209
115
59
316
178
363
382
87
114
351
20
249
495
176
215
184
58
328
410
355
339
271
454
290
163
464
396
30
251
418
261
95
493
72
17
446
328
51
358
178
294
398
84
283
338
320
86
182
132
435
428
460
40
312
100
170
154
376
300
30
465
382
66
121
295
150
416
328
153
194
319
420
185
16
138
213
128
5
323
464
119
53
365
239
353
387
106
62
314
24
177
392
228
172
376
127
3
266
60
133
452
378
258
64
323
144
382
445
329
175
499
64
401
275
153
500
123
280
191
175
463
421
85
17
317
298
71
295
61
482
349
238
374
169
403
386
188
346
500
289
310
125
94
432
203
268
148
42
182
175
412
147
285
30
38
197
163
275
7
139
69
93
272
34
126
473
81
454
324
327
129
125
295
129
408
43
398
240
319
462
13
300
153
208
136
251
131
307
71
442
228
369
311
337
131
287
493
448
389
324
347
234
71
498
207
481
216
389
489
456
117
303
96
87
262
317
225
273
77
348
32
393
465
8
187
50
189
394
427
155
104
301
365
248
13
492
118
35
347
442
111
480
490
11
296
396
267
398
246
488
35
344
171
350
303
16
17
192
275
314
54
210
8
67
267
12
348
7
442
225
389
398
174
26
23
59
57
474
495
243
76
90
417
423
287
238
350
198
341
192
435
181
61
18
445
52
31
478
402
462
372
384
394
102
272
192
159
94
290
3
403
208
419
98
399
164
361
441
298
364
19
98
484
204
222
364
309
291
170
375
466
290
134
452
341
340
467
438
370
446
56
169
123
46
272
285
166
183
177
83
230
304
456
24
390
330
221
299
82
340
320
214
168
262
216
289
304
470
262
299
149
160
338
421
422
360
377
9
249
226
202
224
319
433
418
357
278
113
475
166
285
335
426
72
72
367
461
259
129
375
36
151
238
399
97
68
330
105
315
485
100
455
476
168
29
103
446
114
307
438
272
13
214
489
426
484
459
149
358
318
9
291
219
259
303
452
248
236
409
271
175
450
463
382
368
39
392
370
300
405
269
144
199
215
488
196
74
390
464
60
219
265
383
22
134
374
20
379
420
90
164
137
447
151
387
368
282
152
348
382
349
306
356
421
256
290
45
26
420
139
88
183
74
186
469
20
69
9
123
255
64
350
95
476
473
237
219
293
345
29
64
340
347
415
257
86
312
344
27
114
413
171
373
99
150
143
575
644
740
567
452
524
798
779
455
720
478
586
766
350
536
671
372
326
343
651
451
538
360
514
367
322
755
462
600
551
627
621
389
740
344
395
607
341
691
444
711
700
679
425
481
359
662
435
396
736
504
536
673
618
575
623
701
393
580
468
730
499
584
562
776
553
450
523
450
603
492
604
729
703
577
548
408
665
351
376
405
522
585
314
303
565
472
652
532
694
707
532
440
745
315
686
339
475
616
502
516
401
728
475
322
735
640
305
318
468
308
697
357
573
355
465
438
554
657
732
420
695
381
681
460
602
516
783
478
621
534
510
488
760
569
400
379
791
774
773
507
328
336
604
703
753
704
396
332
462
629
426
309
327
366
540
667
589
632
659
720
650
563
773
403
755
486
342
695
470
583
770
331
633
497
519
375
552
663
578
728
337
675
601
307
629
589
675
695
437
598
313
395
617
481
580
601
718
682
532
436
771
445
654
439
340
493
588
668
522
665
395
435
502
342
463
587
588
365
787
369
708
444
667
506
696
574
391
732
667
627
573
316
672
685
566
421
348
492
334
602
719
521
364
573
474
337
650
631
365
591
664
310
576
622
524
644
692
758
309
752
346
617
658
630
654
531
750
396
349
738
549
716
431
440
791
565
497
500
732
335
772
738
485
331
425
642
331
372
444
518
338
472
707
695
776
523
749
455
528
517
354
544
345
311
409
434
784
308
684
474
762
702
593
584
656
792
670
482
389
687
753
361
302
359
790
562
743
334
321
305
370
702
433
328
447
382
648
330
480
366
482
409
495
652
391
490
500
741
362
552
421
400
433
601
527
396
524
408
520
457
327
795
346
710
355
332
396
532
383
408
603
529
511
384
398
683
711
670
417
742
496
379
797
374
430
416
451
649
667
434
336
762
554
531
455
502
726
566
742
750
692
349
507
684
748
632
323
622
732
735
475
761
645
420
356
415
518
480
488
454
698
545
569
787
404
676
328
438
762
716
404
503
510
369
786
329
517
447
505
494
555
517
688
470
777
557
448
524
343
360
301
531
318
531
469
745
573
371
530
476
321
316
507
409
531
642
622
594
422
665
416
493
733
391
461
385
646
716
749
579
541
493
373
459
413
360
386
786
577
573
781
493
542
549
629
686
772
635
713
663
509
329
747
520
665
611
507
390
612
669
576
321
684
679
452
598
380
495
317
345
409
386
719
607
773
375
564
502
744
757
650
755
383
656
729
650
708
691
650
366
797
480
758
580
323
656
535
592
421
320
483
466
800
779
405
342
349
536
461
560
330
429
438
449
342
478
797
357
681
512
598
714
675
629
446
526
603
443
532
619
675
323
453
753
342
597
561
308
637
605
474
330
487
699
659
588
442
445
666
430
336
500
384
452
471
755
771
634
470
758
399
686
338
665
314
749
487
450
302
497
716
440
570
781
659
759
792
534
557
710
429
408
716
743
521
739
512
341
684
490
681
695
743
405
638
717
394
493
394
352
407
563
563
411
314
760
782
311
699
748
394
654
607
712
487
462
521
444
653
549
384
769
463
749
653
619
499
772
494
723
654
786
510
472
591
306
332
612
732
547
753
459
524
316
453
773
377
426
703
415
367
698
685
772
422
341
710
708
347
711
728
483
632
504
623
401
486
759
759
456
616
468
364
419
327
363
463
360
622
439
568
543
698
404
459
459
366
436
510
749
605
583
318
451
646
737
591
512
394
303
332
694
770
612
672
516
721
772
419
687
523
788
476
753
348
655
796
746
372
666
619
414
571
403
786
605
799
661
345
442
363
781
760
426
335
324
646
678
546
322
574
432
729
520
401
300
646
740
720
548
535
780
768
397
718
598
346
616
395
518
335
690
674
317
687
355
311
706
794
410
513
750
426
304
394
428
711
513
394
391
353
596
469
616
478
605
414
453
401
364
489
490
553
480
442
422
494
601
647
620
615
397
514
753
635
504
331
599
552
329
595
528
434
495
441
428
702
659
537
672
310
423
526
715
709
507
799
657
406
744
597
351
334
692
527
413
474
766
762
437
495
502
306
477
747
317
790
419
372
365
506
439
700
627
390
583
722
660
647
660
418
772
368
322
413
737
628
683
724
509
320
758
795
383
630
518
651
424
504
662
483
530
495
625
319
637
752
414
669
361
474
788
336
533
751
504
619
762
331
318
358
341
419
317
387
625
334
419
564
571
542
499
575
467
512
731
717
369
350
401
509
436
740
540
591
562
554
318
304
689
312
623
619
670
345
708
792
693
587
800
747
497
552
554
722
349
695
696
644
620
584
441
521
782
575
658
425
677
532
782
306
470
678
361
677
642
726
684
467
555
343
721
308
311
400
472
715
551
703
479
595
307
494
753
774
614
550
500
602
452
380
394
786
423
403
780
423
480
741
561
324
673
343
383
531
590
532
521
746
773
606
753
546
714
611
610
318
752
776
561
762
715
667
481
656
486
800
512
593
370
446
341
465
429
515
521
643
774
412
442
492
682
581
603
567
781
655
361
648
452
780
795
523
402
638
318
762
469
631
598
774
755
564
391
310
623
717
404
422
540
575
635
500
353
372
356
668
683
348
329
367
337
514
323
725
436
454
690
351
748
536
653
471
664
433
363
453
612
652
556
741
724
447
356
462
429
578
650
502
473
368
483
677
316
607
449
702
749
506
724
548
685
609
617
594
731
651
386
652
308
630
569
692
692
342
517
748
394
659
640
775
462
625
495
761
633
503
557
662
791
473
685
657
480
504
697
500
724
606
771
322
797
743
654
665
303
453
442
639
514
565
687
547
704
436
331
521
652
605
799
358
690
654
529
409
798
457
615
415
506
499
511
380
314
376
735
750
778
478
550
797
648
562
712
745
708
800
710
479
510
548
707
382
418
574
654
613
517
598
794
457
777
477
752
360
379
397
331
327
433
558
686
659
526
670
752
533
508
790
587
723
776
476
567
479
331
634
448
429
780
418
357
515
751
740
567
631
725
423
490
508
331
317
396
602
563
335
671
428
441
796
547
570
692
446
700
490
475
712
489
574
683
782
327
479
587
531
466
372
428
533
682
750
515
704
377
756
460
661
629
491
561
424
438
515
712
600
539
309
525
383
564
685
490
587
368
352
529
368
719
420
342
539
337
311
693
453
573
368
324
678
391
795
732
688
658
372
363
447
351
493
490
305
616
783
504
470
734
421
787
368
630
605
451
690
305
656
471
597
730
535
798
636
686
442
629
402
707
479
372
405
760
612
787
477
448
737
684
670
525
591
637
589
402
727
777
723
677
416
312
596
595
756
745
590
392
381
431
601
396
570
642
493
639
750
584
434
415
762
457
438
636
771
513
708
448
756
481
586
341
342
556
496
554
587
412
788
518
771
365
654
788
486
504
756
578
771
526
756
597
686
523
339
746
418
794
699
527
417
518
722
351
540
614
498
428
381
434
787
523
594
754
668
558
536
557
572
485
713
470
596
697
776
558
594
785
381
617
401
339
773
710
561
547
412
527
522
480
638
782
710
412
652
392
592
624
456
501
726
727
710
342
457
442
536
711
603
684
420
611
524
464
429
389
321
493
718
676
438
524
394
313
413
696
757
405
572
641
511
625
342
666
513
523
766
712
607
733
490
574
500
670
569
473
483
710
510
668
513
347
557
537
782
774
300
360
303
471
305
539
446
483
362
496
344
359
704
658
616
395
793
792
530
396
444
391
337
775
730
460
486
726
521
625
340
650
593
695
555
503
625
434
583
487
343
467
308
667
536
777
380
532
476
591
378
311
490
623
777
439
438
414
682
456
716
476
762
472
686
396
793
703
306
329
520
460
565
416
630
402
532
788
322
398
572
400
798
766
454
418
412
671
521
307
356
686
305
673
370
702
773
782
707
582
664
426
474
585
498
691
743
310
797
661
464
380
616
518
689
614
351
339
608
336
798
450
737
613
591
728
569
342
494
753
634
329
572
473
466
313
753
331
649
474
491
698
420
769
765
641
706
565
562
529
544
553
618
336
377
307
455
760
487
382
642
388
520
666
532
511
664
675
707
472
684
367
730
563
429
410
420
557
750
308
533
678
790
714
632
741
470
538
362
619
606
443
404
799
500
559
683
604
302
313
586
705
764
790
556
562
413
383
778
670
796
339
733
351
454
306
623
700
471
338
742
647
609
523
357
339
709
638
339
511
789
642
725
404
546
315
647
650
315
591
661
703
571
532
456
733
388
699
307
425
429
626
656
424
413
453
304
336
688
746
745
573
601
743
531
793
343
629
338
437
710
612
531
462
622
657
387
473
715
447
425
329
642
519
590
600
463
420
578
677
800
679
314
778
387
386
623
456
668
346
606
651
463
441
490
551
446
677
507
491
641
785
793
779
496
727
780
743
446
753
712
671
449
329
382
574
622
789
450
605
800
759
382
381
629
549
498
392
763
704
501
586
602
440
399
412
422
382
690
772
766
713
561
509
347
758
442
584
442
746
796
750
489
794
347
507
421
776
597
429
372
508
773
767
707
372
490
719
510
466
735
647
686
342
794
754
585
392
570
323
532
511
792
683
673
647
510
405
682
563
795
414
638
444
719
664
492
558
653
427
706
635
432
408
735
563
588
435
706
708
686
331
733
525
793
336
568
394
304
357
642
536
487
597
539
639
322
647
484
708
653
388
742
665
789
442
538
549
443
653
392
492
711
549
395
402
550
447
797
758
723
719
704
646
561
778
391
383
555
500
581
555
572
528
588
319
374
377
405
404
689
553
363
353
521
591
753
541
458
603
630
616
422
305
509
681
502
500
600
778
317
320
726
306
356
792
652
785
376
700
572
557
386
318
656
567
357
300
761
457
595
351
761
408
425
789
519
332
684
576
593
334
425
503
663
405
726
684
537
569
564
741
753
748
413
754
600
679
510
426
702
510
380
685
700
790
770
529
415
630
696
575
539
575
426
653
721
485
507
496
476
702
799
386
795
735
658
670
701
663
439
324
800
352
743
343
446
679
475
475
444
679
316
328
742
310
687
603
713
608
779
431
645
405
387
402
653
311
700
582
441
350
459
553
775
752
408
478
794
800
750
435
412
529
781
408
326
742
305
617
306
451
713
396
610
303
755
507
495
310
578
734
753
447
577
731
497
413
453
648
635
633
755
470
324
567
463
406
591
666
550
433
556
548
746
670
666
614
492
799
612
691
786
420
430
519
643
546
762
668
732
436
670
341
591
630
674
573
339
408
657
522
643
763
406
438
422
787
314
377
664
384
430
317
355
620
647
328
692
762
680
646
305
617
632
618
351
548
406
541
374
760
785
342
523
602
322
413
563
755
373
417
786
438
614
616
679
723
733
686
311
631
722
327
519
463
635
751
413
689
757
396
661
309
481
461
510
515
673
660
393
502
484
582
305
420
770
386
680
777
781
595
704
319
582
585
546
365
529
609
771
379
516
745
511
435
545
426
665
503
479
457
698
426
744
719
478
717
472
508
693
581
763
416
795
741
721
592
618
576
679
624
361
781
433
517
319
510
366
452
536
535
410
341
723
633
734
704
535
725
399
320
455
579
706
630
767
612
732
469
445
758
451
385
466
659
793
392
317
453
693
750
410
466
414
774
596
553
428
662
456
566
792
348
310
576
414
312
652
452
369
562
322
422
655
779
794
308
600
355
391
689
654
678
380
617
575
792
460
511
520
765
554
538
520
508
780
740
728
717
583
565
660
694
462
673
425
734
448
798
496
559
303
699
464
303
711
696
608
424
425
401
571
738
681
407
468
617
582
464
325
340
625
676
678
560
453
580
795
492
788
622
478
800
678
495
686
761
767
676
590
561
474
313
624
658
724
716
546
642
526
744
587
350
509
579
399
349
741
606
769
761
431
414
369
797
440
405
635
741
477
518
574
614
647
772
643
475
460
422
747
527
609
663
472
708
433
686
730
477
735
687
760
349
693
572
623
604
753
318
355
568
614
301
454
372
461
437
394
351
480
535
342
480
726
643
463
424
517
579
583
335
651
574
575
485
324
672
572
796
631
697
487
404
355
735
668
417
374
398
641
681
720
624
620
348
337
310
304
788
344
713
661
386
766
369
765
347
774
339
786
318
342
594
454
523
428
588
693
432
448
449
333
690
779
792
508
453
504
373
522
681
655
389
550
757
395
316
738
507
483
384
399
356
466
675
300
709
520
726
644
606
572
439
306
738
383
514
756
522
645
368
732
387
339
348
459
471
523
501
778
360
401
611
776
331
496
702
333
497
790
322
600
465
393
609
749
694
366
730
727
561
357
410
528
749
629
407
577
397
430
600
554
718
338
708
613
460
332
339
434
539
347
669
587
731
797
517
429
735
544
522
511
343
765
567
371
545
318
486
559
566
441
505
524
384
539
527
694
417
337
632
391
523
399
697
538
648
599
689
692
490
611
544
663
332
438
481
300
733
420
366
370
507
447
532
614
366
546
661
784
586
787
562
448
753
333
793
370
572
777
592
710
381
694
793
736
461
765
631
408
661
382
633
523
431
797
728
775
616
582
729
689
635
605
520
349
788
437
611
327
792
673
616
740
759
647
400
457
358
722
324
673
630
462
612
657
657
430
746
546
635
702
666
725
423
776
377
574
719
371
441
675
362
501
361
679
763
783
745
432
432
321
589
732
438
417
458
520
666
675
628
508
341
709
465
302
525
775
448
621
742
467
524
662
383
555
420
568
497
330
324
502
634
435
540
571
788
381
751
304
387
754
345
524
576
625
696
734
559
667
572
696
670
567
471
588
345
703
750
684
391
579
481
655
344
331
646
396
381
754
481
365
374
719
775
322
618
356
723
606
371
493
582
715
712
424
609
629
644
369
500
580
383
762
610
793
703
561
724
381
687
320
316
793
440
350
685
383
324
471
696
644
550
315
364
444
402
630
439
766
641
311
713
440
318
347
731
311
763
575
340
656
358
620
754
382
445
467
653
693
539
428
477
405
530
309
357
719
373
652
755
745
439
576
453
387
394
608
303
332
630
669
427
373
303
797
520
704
540
462
479
511
382
374
355
436
519
490
607
557
475
577
380
627
666
554
332
635
569
572
382
443
696
688
306
542
720
431
402
567
586
494
300
540
302
657
702
774
306
496
749
335
754
768
333
597
483
439
459
556
787
755
520
365
781
786
440
439
481
635
302
566
746
417
693
582
746
676
400
668
328
794
341
355
783
726
349
650
626
550
499
360
390
778
792
629
687
700
568
771
750
616
466
321
741
604
724
609
352
444
729
631
413
394
583
742
577
323
317
768
364
798
476
442
368
762
782
410
653
590
358
419
687
471
708
487
348
499
755
324
785
464
495
466
793
478
647
479
652
785
335
714
559
767
382
589
543
623
452
411
421
636
404
702
654
774
541
502
744
596
414
645
561
330
653
383
488
351
410
500
383
779
444
336
605
431
774
590
578
378
469
606
780
687
748
700
510
306
562
599
363
615
599
384
503
410
661
322
500
500
790
463
768
733
697
485
715
508
479
726
430
347
428
314
403
434
522
357
630
646
494
774
355
357
647
407
741
475
556
636
647
728
465
536
749
300
436
680
341
442
489
420
383
630
525
374
701
655
342
402
534
623
724
321
558
531
758
465
303
683
541
461
394
676
715
630
411
769
663
649
465
741
729
726
516
481
628
403
715
671
562
769
739
377
495
777
558
481
612
477
479
491
529
460
641
417
406
421
791
622
311
614
499
738
529
515
753
452
789
649
496
689
314
628
471
314
626
699
786
662
500
554
595
678
704
761
457
653
567
531
503
317
425
693
300
692
681
750
591
421
651
423
570
333
638
625
592
619
601
610
441
740
599
388
500
559
781
738
548
749
394
502
505
700
468
564
581
553
508
438
671
406
577
656
353
544
623
511
394
697
673
521
421
446
561
456
726
535
787
758
676
662
307
450
458
366
514
728
379
568
471
672
541
773
648
481
679
447
699
475
609
425
396
368
396
579
485
559
626
619
542
537
787
393
476
773
405
449
605
302
739
555
783
624
473
696
377
506
748
551
392
593
520
554
638
537
318
493
424
393
426
758
421
436
357
373
612
736
366
336
483
403
641
524
613
608
746
790
556
559
699
464
475
764
317
460
733
520
365
719
307
540
519
641
539
350
438
364
515
649
721
787
711
791
681
474
754
594
749
746
323
629
633
415
629
743
791
759
434
711
337
339
652
403
383
346
740
591
452
534
604
675
481
785
694
381
733
501
632
539
753
360
603
324
710
763
705
663
744
786
724
302
421
516
388
600
776
414
514
327
385
564
713
719
660
486
343
770
614
358
531
452
550
345
510
721
485
366
502
658
785
458
408
554
718
728
549
566
564
791
693
515
761
673
386
697
495
679
617
347
495
584
446
482
499
544
389
517
790
410
434
470
331
452
351
712
373
690
512
575
785
698
340
642
515
413
415
630
757
591
736
454
782
569
609
742
668
366
582
549
633
346
414
669
699
317
465
754
709
730
628
776
391
353
673
478
637
637
644
382
681
444
480
361
520
441
638
716
397
699
535
388
630
785
646
586
460
631
364
307
478
577
675
575
445
396
666
619
470
512
753
721
735
388
468
791
524
392
398
317
720
509
424
790
427
769
403
364
361
580
502
382
328
652
642
598
483
647
705
792
534
668
562
776
777
631
463
770
505
329
715
343
429
652
623
463
465
480
428
756
502
599
739
300
438
459
398
729
651
321
647
450
483
651
323
531
488
727
690
507
687
447
793
552
787
656
647
450
431
333
602
500
337
437
644
657
604
785
663
682
670
321
451
653
622
791
537
780
509
331
446
396
437
403
494
389
339
684
484
589
572
522
717
697
439
508
455
490
715
708
352
738
631
503
468
710
767
598
718
566
327
589
420
488
335
391
322
610
390
751
381
324
461
667
513
777
582
707
306
759
714
687
751
454
356
762
773
599
445
551
732
598
612
470
354
605
328
582
510
743
365
332
514
590
337
434
345
718
315
723
584
485
668
476
792
529
326
577
442
696
697
472
563
416
562
778
643
451
758
706
580
774
511
764
636
555
683
762
585
606
654
587
566
478
615
307
419
684
441
389
354
725
666
512
403
498
444
351
774
355
511
496
745
366
302
505
321
693
615
557
417
689
474
470
689
744
483
723
304
419
328
452
681
309
341
433
423
660
399
650
470
467
300
548
764
580
413
458
481
464
753
483
621
766
765
706
591
673
788
384
656
799
526
496
407
484
334
594
343
366
424
317
403
386
519
741
680
365
373
399
437
541
416
731
482
325
373
561
539
449
682
535
618
615
652
352
799
537
777
652
732
600
391
386
628
489
526
385
730
539
563
711
533
460
538
383
722
553
592
746
632
757
757
705
521
566
737
419
651
577
520
486
320
622
742
682
573
409
487
664
649
335
644
743
318
756
407
762
770
774
720
660
631
411
446
784
727
555
795
585
704
450
723
626
551
555
697
620
754
748
652
496
645
381
570
680
746
535
388
352
573
800
472
378
582
554
697
630
302
544
787
490
389
352
463
593
649
631
670
491
558
656
418
517
512
790
534
346
699
318
716
473
752
739
644
628
792
550
486
789
328
503
610
717
451
303
504
546
649
455
420
592
736
428
343
463
434
655
486
486
784
780
746
792
523
407
593
753
356
412
591
717
736
383
674
348
648
312
568
310
511
486
424
363
466
456
458
629
391
407
358
718
713
767
554
540
748
729
717
421
557
697
485
380
322
499
532
718
379
665
795
475
618
511
745
386
633
420
768
792
546
605
608
745
683
481
514
378
724
489
535
309
799
674
708
633
774
648
631
756
340
402
431
614
397
575
587
356
433
389
530
413
455
307
445
727
361
441
656
665
364
310
489
305
400
702
615
443
611
623
306
761
359
391
455
588
575
438
637
458
669
369
761
562
523
386
652
397
350
308
307
393
604
770
610
652
699
419
623
392
429
748
684
539
539
636
455
707
551
458
578
673
640
769
745
408
780
677
328
357
777
315
514
544
725
443
391
387
502
596
577
314
494
542
576
747
556
638
665
724
410
510
368
762
493
565
777
384
645
571
714
602
601
511
708
590
376
610
781
722
340
310
334
404
692
392
505
787
781
769
772
466
781
578
465
426
377
647
405
684
777
689
472
739
303
366
690
416
779
396
402
452
342
568
757
745
330
634
756
458
791
442
627
507
367
389
577
648
569
602
656
696
639
741
523
435
787
462
353
395
382
550
361
556
626
713
664
569
741
372
300
644
454
786
470
494
302
742
320
705
683
424
786
505
670
486
592
779
644
516
702
400
674
692
559
356
595
780
409
405
302
698
735
742
682
373
569
524
674
315
433
353
564
658
717
593
424
363
552
668
694
517
366
425
483
422
321
581
494
660
726
471
462
668
329
406
723
707
376
424
639
478
392
467
539
490
522
341
793
731
507
575
310
653
685
425
411
643
526
753
598
699
650
715
716
679
375
510
383
493
575
314
716
566
326
547
592
525
629
740
458
766
401
350
308
659
528
531
517
530
346
738
432
605
471
343
309
597
648
682
795
444
428
587
369
392
588
731
389
456
515
415
689
473
343
406
384
420
405
443
361
685
446
612
625
539
786
737
390
758
601
563
354
364
480
672
317
502
627
412
501
747
649
334
607
633
511
442
342
489
340
709
579
666
535
677
525
506
539
371
435
781
746
366
723
743
583
712
638
628
523
593
448
661
433
597
796
309
741
786
369
625
556
466
304
522
660
314
469
719
443
623
320
707
750
705
716
654
797
767
551
675
786
348
721
553
615
648
615
339
691
532
363
751
605
774
355
385
338
486
317
707
648
303
436
691
443
417
540
403
557
447
784
623
374
796
595
530
497
327
407
625
448
313
561
415
639
428
545
599
678
548
610
429
752
377
452
329
559
695
651
500
503
318
362
741
699
669
440
354
799
602
355
610
453
596
451
685
572
378
754
647
351
506
514
640
589
363
612
478
377
461
451
347
600
464
725
680
568
375
319
470
619
615
744
641
403
365
761
791
394
595
595
616
767
781
652
476
354
696
708
729
636
506
379
508
607
596
519
426
428
670
579
797
539
437
663
703
410
337
449
689
402
574
628
480
402
452
702
586
498
753
310
391
532
690
324
473
623
577
707
597
499
336
486
344
306
366
795
534
690
321
301
409
547
529
662
375
305
521
624
700
469
344
403
356
799
617
444
484
517
462
371
341
468
706
335
643
444
681
714
679
490
328
508
536
712
705
308
741
476
600
423
755
714
414
336
490
344
357
775
589
355
722
325
371
332
688
642
739
405
731
733
595
523
616
617
738
614
646
447
421
735
672
549
711
528
369
394
389
458
418
547
542
773
743
413
310
306
390
778
458
676
419
499
741
447
711
693
426
385
586
403
402
412
766
543
421
429
429
424
681
370
532
767
401
579
482
377
701
614
505
424
310
409
313
665
472
544
358
633
728
774
798
773
757
552
679
356
689
611
354
605
425
314
636
471
492
534
414
413
553
592
796
518
344
527
397
561
630
717
473
666
569
513
779
485
446
688
636
418
625
670
414
756
564
507
465
568
560
661
652
531
563
443
569
482
688
319
667
663
720
446
749
741
325
566
696
752
621
624
491
339
725
695
506
559
731
597
335
794
795
663
331
368
645
559
516
697
514
555
417
585
550
303
526
658
350
317
643
766
513
532
619
657
687
328
756
301
591
788
500
515
537
672
411
799
344
708
300
513
692
565
593
623
660
413
567
541
538
359
389
776
316
316
586
437
752
480
533
778
304
666
496
419
343
355
786
744
331
565
755
514
652
558
570
793
724
747
595
542
557
717
481
645
673
306
786
674
778
283
401
298
293
397
78
247
388
129
336
71
59
500
28
68
483
67
15
13
353
46
306
269
485
194
371
357
312
235
172
296
445
349
378
110
189
465
254
242
33
336
255
14
173
263
5
24
302
485
1
273
404
14
495
262
327
250
29
400
92
335
309
199
65
25
230
471
241
450
328
234
113
450
158
326
212
24
302
226
82
351
240
148
330
50
179
99
74
355
437
335
392
112
278
457
14
126
77
233
202
410
23
316
197
242
489
27
14
273
193
170
155
145
4
90
207
490
151
54
59
276
300
385
208
349
404
260
383
437
39
260
277
379
80
22
156
157
376
431
406
241
122
41
109
46
321
455
156
98
85
221
286
181
112
427
117
260
273
272
434
49
500
444
356
411
406
430
91
474
411
41
492
384
109
2
251
339
163
98
292
46
372
147
306
124
154
293
478
500
148
491
44
323
188
152
61
120
101
36
254
494
449
400
352
17
219
321
409
215
177
61
283
394
145
41
8
118
398
338
226
361
154
431
441
455
262
29
351
352
362
294
368
45
184
61
115
154
391
18
133
119
229
270
205
78
10
361
28
129
412
324
99
206
297
7
440
404
460
79
202
2
368
186
174
341
86
107
407
418
334
198
1
454
277
426
262
46
115
313
425
373
384
57
149
85
197
451
430
430
172
158
447
13
348
367
311
137
420
192
218
421
371
256
301
481
439
92
379
107
95
352
280
61
85
294
374
121
197
384
406
398
120
397
120
127
421
157
113
163
14
106
283
127
499
160
23
259
289
226
342
199
282
131
52
354
217
366
407
102
241
405
109
392
142
130
347
59
268
397
14
160
472
310
198
267
213
423
301
245
92
282
245
455
337
497
327
420
283
455
165
180
342
50
359
227
307
207
359
173
484
82
150
163
386
164
95
487
341
384
479
490
12
113
179
36
235
150
95
145
142
87
107
83
35
64
379
147
139
244
256
437
113
256
426
60
228
300
451
466
332
243
386
475
229
386
136
176
236
150
184
164
115
395
93
475
356
34
399
9
86
155
366
186
52
148
378
112
114
309
104
344
101
144
74
211
59
91
404
32
61
306
395
415
187
79
15
236
138
400
12
149
480
119
233
394
388
301
306
351
320
109
244
385
5
268
107
423
70
322
483
237
26
97
204
78
280
443
229
186
176
270
177
238
440
287
149
320
373
211
385
128
153
82
142
53
407
122
128
91
462
248
70
193
165
275
231
214
375
490
40
285
35
257
392
325
308
320
427
408
220
494
180
100
151
252
222
253
111
490
330
386
274
209
487
86
300
20
387
139
48
277
410
73
498
380
122
361
315
465
418
158
473
319
3
266
424
13
28
203
58
285
385
156
472
401
428
274
439
253
381
472
499
140
265
326
326
379
334
63
304
380
457
262
314
129
433
483
374
455
248
276
475
238
296
414
410
27
288
311
177
353
48
237
411
67
312
28
46
354
425
222
81
399
115
104
453
352
411
438
363
499
470
4
295
425
400
168
162
204
311
139
290
297
394
59
246
353
215
335
310
406
151
71
248
495
417
412
90
180
96
100
56
125
199
251
377
258
432
349
38
276
69
120
359
403
456
430
103
52
382
60
435
306
203
26
494
444
32
202
496
222
25
277
405
253
102
429
441
14
26
106
323
179
235
216
195
129
241
257
445
54
213
349
96
375
238
278
199
158
429
447
51
261
294
352
18
318
371
99
420
384
175
262
93
13
148
437
211
82
323
393
118
356
445
499
469
127
104
99
303
44
226
201
336
429
18
373
383
258
314
75
53
212
326
218
4
181
195
30
14
47
203
53
332
477
268
443
267
36
168
366
386
236
437
457
362
39
323
77
176
187
151
34
17
403
109
405
408
276
46
59
260
414
60
438
356
99
104
219
34
413
439
127
64
324
305
435
234
50
122
116
424
434
358
141
239
104
441
128
345
270
116
219
198
365
143
375
358
148
16
440
316
443
249
409
5
132
274
379
335
14
270
461
165
266
252
302
488
287
109
478
66
211
21
460
39
32
152
145
470
477
172
275
360
153
173
200
184
238
56
422
241
115
493
160
25
381
268
99
427
176
418
412
473
394
98
9
340
445
423
179
432
210
21
274
79
331
52
225
43
136
328
154
125
22
160
290
342
417
2
262
312
92
12
365
44
112
405
390
60
414
87
202
180
254
9
279
95
121
174
412
64
195
80
472
326
166
226
91
422
311
74
53
416
382
51
30
221
81
300
403
315
498
404
190
458
375
42
256
252
83
334
284
53
107
46
129
305
335
8
446
398
62
12
38
54
66
490
115
94
317
454
500
386
450
52
66
58
223
162
127
44
302
229
194
204
440
277
55
77
10
398
12
338
320
404
399
470
441
142
170
344
264
423
69
340
160
489
422
251
487
123
466
446
293
498
89
242
261
409
192
326
434
439
76
130
363
387
394
345
317
430
350
115
37
71
57
230
166
488
123
351
406
236
399
467
145
475
178
279
440
210
86
1
303
460
31
90
292
379
81
490
484
315
173
415
273
302
210
199
216
240
45
200
90
222
461
381
49
138
460
275
163
129
259
473
485
213
408
378
243
66
355
134
302
285
188
104
368
481
108
255
448
14
31
295
253
263
263
236
121
439
212
74
2
272
21
351
189
105
436
250
144
179
299
484
277
51
86
274
454
270
389
271
84
298
281
300
20
376
223
470
169
319
41
244
443
185
174
150
238
165
214
265
274
62
143
437
463
498
7
53
98
367
6
238
55
103
144
227
423
486
440
70
249
34
248
232
228
463
9
303
240
281
151
277
14
115
386
360
184
374
208
485
38
483
103
493
482
34
96
160
445
312
345
277
262
212
405
440
175
202
225
100
436
468
483
224
324
479
295
113
46
158
157
129
392
186
312
455
15
182
440
459
488
410
40
405
335
480
479
254
209
342
120
400
329
231
181
212
224
228
428
73
323
267
345
259
116
344
345
449
232
233
161
44
486
80
64
334
101
379
438
448
209
307
73
280
127
190
113
355
82
16
164
203
114
453
493
141
124
18
242
166
152
41
122
363
304
18
301
363
18
380
103
184
102
226
123
411
2
96
444
130
493
238
379
3
47
131
152
52
250
10
212
62
48
478
32
348
77
97
263
368
184
248
70
147
375
390
384
402
199
378
266
69
322
222
409
414
335
258
407
4
40
110
385
270
27
198
254
34
387
388
154
494
427
211
234
282
57
166
187
299
69
368
46
104
277
148
58
20
237
22
122
109
320
249
166
217
369
455
181
338
416
350
482
204
201
473
183
483
84
132
236
129
476
1
233
387
350
321
122
136
325
102
395
419
410
407
384
23
174
77
157
293
109
377
431
166
368
425
98
275
63
119
179
405
92
462
490
390
256
283
177
474
395
487
309
326
252
212
89
309
467
9
52
85
350
408
393
257
267
367
19
381
20
280
183
38
226
446
349
201
404
84
143
358
404
97
114
14
424
8
126
370
19
167
157
115
399
32
204
192
138
465
361
171
201
305
342
241
469
111
68
267
198
179
168
405
271
131
234
119
347
416
420
415
314
279
66
483
91
415
40
464
358
61
209
256
163
72
431
101
25
398
8
338
462
244
324
311
376
114
214
12
113
487
253
427
196
368
15
125
55
335
73
332
206
492
354
371
418
199
182
494
191
54
48
88
180
71
495
455
276
69
398
75
238
188
67
147
306
131
497
361
487
218
83
453
78
145
57
98
97
220
375
117
238
309
189
59
375
76
353
1
202
190
77
386
417
409
224
46
291
159
148
91
387
490
330
6
139
425
17
63
294
14
146
353
486
52
294
257
160
427
490
333
134
226
187
91
35
289
430
404
12
57
215
219
115
282
122
387
359
56
47
248
415
113
3
466
372
338
37
147
403
101
195
172
100
340
82
496
436
37
244
270
427
293
319
296
498
2
220
65
205
197
215
11
309
70
355
481
74
161
74
193
436
261
306
378
421
466
331
438
4
367
245
111
14
351
123
472
465
455
210
75
462
197
300
73
51
283
60
274
474
466
234
27
66
139
496
138
456
381
200
233
227
21
59
168
180
378
4
453
136
131
425
329
439
212
350
218
171
98
347
167
224
308
208
137
390
223
166
492
297
101
185
41
52
105
321
384
42
467
481
460
418
444
294
340
145
349
106
6
15
470
472
131
54
53
441
178
408
277
206
445
189
365
297
374
172
221
358
131
458
41
351
158
325
445
63
388
460
385
44
97
260
439
431
31
182
154
201
48
272
409
493
60
315
309
45
312
23
412
56
442
282
321
173
369
403
114
369
491
346
264
359
398
434
321
193
289
115
70
51
282
322
456
192
385
335
131
9
454
49
139
394
364
70
247
16
478
277
99
233
12
409
317
183
307
40
168
128
441
58
194
212
123
121
21
489
29
121
473
371
398
253
484
116
10
336
386
499
57
395
284
489
424
228
249
205
438
480
485
189
5
50
42
355
309
42
315
90
451
2
420
402
39
184
145
313
211
390
284
151
326
348
177
447
21
151
360
333
397
68
322
117
248
427
185
364
426
313
489
341
352
205
359
220
196
446
428
159
199
411
310
415
304
402
407
441
323
71
89
210
478
333
225
278
259
145
100
161
139
242
252
360
499
162
395
181
326
143
351
441
283
404
199
212
481
331
277
301
80
487
77
145
466
78
201
117
176
92
275
191
80
221
165
365
429
309
484
346
33
259
245
247
122
43
485
58
375
84
135
377
179
259
156
37
218
169
98
31
275
153
454
45
125
349
440
142
289
339
230
43
450
357
110
397
93
490
316
180
28
84
485
23
441
315
469
147
484
80
360
274
438
259
308
24
22
283
126
97
427
467
384
407
395
238
126
43
27
321
342
306
326
25
375
78
372
140
357
378
469
116
336
80
416
67
5
199
143
19
162
340
84
282
210
330
201
134
206
53
468
50
201
485
259
301
289
229
360
141
219
183
181
357
296
192
94
79
131
355
368
84
240
462
15
126
130
293
427
493
465
99
9
483
97
429
153
417
36
402
163
486
108
461
163
10
198
109
474
325
464
43
220
428
408
62
200
157
242
272
447
374
382
217
213
59
88
205
193
405
271
92
312
4
336
229
433
293
317
49
140
37
316
405
193
157
330
74
40
470
242
158
456
307
123
32
233
267
224
378
423
304
349
118
244
437
71
7
182
324
441
18
447
361
377
305
117
124
179
325
283
70
480
368
297
346
7
26
32
369
137
367
139
456
56
122
141
196
484
102
37
144
438
166
451
79
349
304
430
177
33
255
439
464
234
165
348
279
179
220
226
327
17
349
193
203
496
291
167
174
500
114
148
449
380
112
201
222
212
14
186
87
266
168
138
24
156
302
135
168
185
246
384
440
430
467
148
114
171
313
249
93
94
448
469
390
192
443
84
179
223
102
62
148
137
43
352
290
176
450
315
211
107
476
258
409
188
458
18
113
250
228
163
148
343
340
173
300
444
473
316
256
34
344
162
258
170
126
80
354
96
394
53
434
131
51
270
21
448
305
13
71
166
244
358
379
115
485
20
183
346
101
154
379
257
9
50
70
445
36
242
445
88
197
51
474
347
161
122
296
18
33
251
165
490
101
341
466
474
499
386
427
209
71
190
299
239
289
110
123
410
137
139
335
362
96
378
50
370
235
114
294
346
269
174
43
406
455
140
258
115
312
255
376
129
91
166
89
101
379
406
243
18
189
450
426
276
14
350
481
132
470
289
64
215
150
467
461
254
310
292
210
367
441
443
437
422
329
288
240
167
384
38
424
176
220
380
20
486
416
262
334
230
20
483
237
158
496
299
471
466
470
48
3
37
472
6
143
385
13
400
452
248
387
89
75
192
366
228
108
333
94
128
62
410
487
157
189
447
362
292
336
278
279
57
195
250
5
83
134
420
147
137
29
309
293
369
360
197
467
142
382
461
387
499
49
418
353
278
348
393
88
479
93
243
345
318
284
94
95
300
226
269
499
323
316
405
129
56
394
494
468
319
111
274
411
314
171
349
388
435
383
321
407
204
486
292
200
408
445
108
379
376
67
123
389
43
424
301
120
475
27
428
199
326
481
235
423
79
451
491
274
147
277
310
399
22
215
381
128
330
363
289
37
350
44
378
9
268
373
325
277
183
193
8
265
376
447
97
155
300
286
140
373
18
435
297
359
427
96
314
301
488
301
61
235
483
338
330
339
259
115
49
465
178
245
443
70
312
70
472
358
278
412
48
99
237
23
206
16
418
216
203
472
231
427
135
28
191
409
268
243
499
63
412
407
489
58
244
446
158
172
35
305
45
89
383
194
395
107
141
213
378
340
220
119
70
157
340
2
290
389
134
365
292
56
447
356
360
114
147
370
123
144
75
123
301
140
342
257
84
498
349
274
468
288
466
415
121
12
260
257
348
57
258
353
267
334
21
276
35
95
24
276
423
42
263
441
262
395
308
59
497
213
303
209
265
452
387
237
369
195
234
434
401
426
446
439
75
6
331
38
385
278
91
429
60
18
32
218
188
480
129
146
154
442
346
275
471
11
317
435
58
74
187
249
149
92
36
384
112
463
449
414
24
31
200
18
204
453
118
443
195
244
125
393
134
131
459
451
415
230
115
30
34
201
111
157
32
123
384
386
211
385
323
77
335
101
208
61
151
410
61
459
431
454
64
208
437
68
202
459
25
285
169
291
208
473
121
154
66
491
380
362
336
304
444
195
469
314
202
364
476
70
372
215
479
124
186
154
311
115
458
291
201
340
300
288
229
421
74
113
186
391
321
76
322
257
356
71
412
460
9
145
255
335
363
326
1
336
28
345
225
94
416
352
295
210
186
103
383
221
162
310
262
72
24
157
381
383
333
454
322
396
271
89
401
31
32
229
339
327
256
128
143
76
144
385
247
53
89
334
38
54
348
376
224
142
104
95
57
430
445
279
392
334
292
277
341
310
361
92
254
125
344
227
332
274
13
379
32
455
183
79
316
347
5
56
145
477
25
152
76
355
101
211
18
189
454
160
279
314
91
110
31
294
103
326
160
214
165
254
268
257
414
156
244
224
389
329
305
480
367
222
123
45
384
413
152
126
158
441
208
129
477
175
24
237
429
181
91
398
409
173
69
15
237
7
219
21
483
228
444
164
250
75
44
88
395
230
174
250
193
446
219
114
148
204
214
255
335
340
170
390
380
344
365
488
140
22
151
267
424
96
98
305
182
309
226
236
98
189
164
398
402
37
145
449
136
117
49
308
187
467
353
296
376
500
370
441
260
215
384
285
143
134
491
363
360
498
66
154
132
471
418
445
401
472
201
179
96
105
108
292
463
70
363
370
49
289
129
354
11
377
76
411
38
105
491
70
151
292
163
141
466
143
123
341
498
266
32
75
225
404
97
58
186
313
8
219
29
422
142
39
431
444
270
110
410
426
122
245
178
489
425
65
272
362
353
408
85
495
129
369
103
376
359
207
379
160
485
324
250
384
113
40
123
279
363
241
146
341
363
409
423
356
389
143
85
451
178
188
163
90
208
382
473
158
221
271
321
491
361
163
116
430
362
416
7
312
77
300
44
69
228
50
146
84
334
202
98
483
160
137
278
33
330
312
120
157
309
114
189
495
68
298
256
113
21
368
399
182
236
311
349
322
87
20
269
99
449
258
382
34
345
325
432
243
14
373
476
42
497
132
76
438
223
80
330
132
118
300
223
333
307
267
124
161
334
86
421
376
309
427
79
163
50
426
8
368
469
437
360
180
79
372
99
365
45
390
322
120
388
168
92
285
342
31
287
442
475
170
11
138
407
298
147
347
95
121
282
160
130
374
213
328
309
83
104
116
367
171
475
364
161
471
464
498
414
71
483
140
231
382
198
251
177
82
210
337
80
490
142
99
369
358
15
325
128
405
41
236
332
139
234
241
155
419
377
248
394
100
463
471
46
251
438
98
246
79
170
493
153
309
32
421
439
168
493
225
468
286
217
239
241
326
251
198
316
50
214
263
138
372
161
37
472
100
443
455
112
329
52
468
282
105
277
374
11
385
260
424
65
22
333
382
29
429
325
208
374
384
123
463
163
270
74
167
153
411
305
34
443
169
99
418
258
243
256
398
193
311
292
115
118
300
87
474
448
395
393
195
58
307
493
220
132
479
477
243
32
130
184
3
479
326
361
382
207
83
276
309
234
228
300
345
13
497
468
445
179
208
2
210
456
141
330
498
466
405
359
453
71
486
365
250
133
365
55
377
436
113
243
75
258
208
429
119
329
477
117
433
141
244
190
417
304
224
168
293
224
383
144
244
129
323
23
475
144
336
281
210
328
121
317
152
244
333
47
9
209
15
17
336
442
416
434
417
298
90
109
489
75
121
459
201
209
252
158
194
249
113
214
306
284
114
36
280
188
225
121
102
375
357
116
204
471
55
389
158
462
475
439
50
314
95
421
316
261
294
146
51
439
131
411
252
257
245
157
175
395
115
488
259
397
41
422
207
328
474
53
463
463
137
449
408
25
22
90
91
263
293
103
6
179
19
395
173
277
242
177
366
208
264
295
407
212
88
287
71
455
115
243
296
247
370
363
112
257
489
109
81
148
305
461
275
492
283
175
397
25
361
67
367
79
410
395
498
192
230
240
351
447
88
62
403
372
407
426
484
317
256
167
216
156
410
469
90
22
237
211
467
113
89
271
319
317
343
264
98
270
406
339
462
9
380
296
89
4
308
252
137
197
216
472
424
43
327
493
323
430
277
215
99
129
444
305
294
77
299
18
36
155
14
210
378
163
216
470
369
69
193
383
495
26
132
215
114
317
274
399
79
167
453
146
74
304
164
41
29
332
292
308
407
262
416
96
402
433
390
491
500
104
245
98
375
72
76
405
130
10
305
486
36
478
291
224
184
372
373
187
122
229
172
55
452
330
153
57
353
377
396
477
245
86
429
433
19
294
53
18
203
294
216
446
79
482
358
175
448
300
65
380
459
428
214
78
410
51
356
373
21
418
118
45
17
37
421
128
305
60
113
333
25
392
137
476
64
131
231
117
54
347
362
191
298
498
475
490
211
492
87
52
93
53
38
422
403
126
437
199
287
18
458
387
282
262
98
70
76
158
249
59
159
390
166
379
88
302
445
359
151
279
356
379
5
264
150
321
161
128
205
406
271
321
400
108
187
30
320
366
377
486
332
204
207
10
351
430
98
25
262
77
203
14
368
85
325
215
225
498
407
105
108
494
71
301
177
159
194
410
475
106
240
284
328
101
277
365
369
500
470
186
161
239
382
167
263
153
165
452
308
140
178
220
143
122
153
124
307
229
407
256
163
176
434
387
69
70
174
464
258
351
194
422
155
397
93
140
428
193
17
318
85
132
369
272
26
238
459
425
41
378
457
65
348
91
213
11
424
358
413
387
24
36
197
36
343
305
216
214
93
497
61
294
114
70
265
451
133
10
63
497
432
365
333
265
285
56
311
281
240
78
7
30
464
380
114
240
129
289
130
117
96
19
453
106
459
117
330
15
35
366
415
178
378
207
242
368
447
293
238
248
434
426
71
381
246
150
371
131
409
382
151
169
166
492
401
182
182
58
347
17
201
410
9
440
77
247
57
458
474
184
256
137
340
125
250
148
182
238
135
296
292
411
164
206
39
309
497
457
405
373
85
102
275
371
140
106
193
459
238
371
105
267
415
411
396
472
111
326
211
268
49
419
473
253
293
315
490
445
337
155
63
253
175
432
241
276
100
48
448
72
319
338
102
368
193
178
378
471
451
417
110
120
175
109
240
48
289
430
140
192
29
76
141
47
445
368
483
476
340
150
72
421
399
217
479
474
217
179
172
201
478
375
99
87
204
258
37
427
145
6
277
338
301
474
345
311
469
250
24
345
86
49
272
16
88
306
157
385
434
330
224
315
199
382
486
183
256
108
29
207
384
262
85
211
257
210
313
48
244
485
53
263
269
85
213
450
282
143
35
138
210
481
45
265
338
120
118
446
374
78
75
184
319
475
336
3
254
122
496
243
305
359
406
128
153
401
317
310
382
402
187
27
176
218
400
454
216
338
301
143
272
393
391
449
281
458
409
423
106
13
135
136
361
327
55
165
282
33
38
290
84
220
455
354
104
277
463
439
341
476
125
210
457
339
402
367
43
109
373
238
362
500
377
290
227
384
167
11
376
54
431
139
271
274
304
285
33
149
452
236
76
406
195
399
277
263
383
106
432
101
352
460
462
138
110
166
109
240
376
425
143
167
105
284
36
274
90
478
237
458
78
324
22
444
210
114
440
190
134
145
249
170
66
405
223
48
350
260
51
241
300
103
335
228
87
279
130
429
453
21
159
281
66
132
414
346
240
52
486
455
480
81
342
320
326
189
95
376
250
63
434
108
60
205
444
258
45
465
121
410
484
188
211
365
107
287
88
351
407
324
459
187
239
145
110
299
130
432
104
317
345
204
321
477
411
131
306
96
243
77
259
195
496
412
249
74
469
427
466
65
8
145
419
401
345
451
225
414
464
67
112
180
387
34
277
249
483
125
161
403
294
348
1
411
177
266
497
9
44
341
153
495
451
249
6
221
410
429
392
363
269
184
304
68
64
398
270
449
42
256
141
378
329
122
466
445
403
212
391
54
309
112
312
316
327
472
140
84
308
291
7
340
352
417
17
74
397
368
247
236
309
299
434
194
360
494
255
231
233
228
39
63
203
466
44
409
254
192
274
177
345
446
173
279
367
133
169
276
281
196
153
429
95
386
136
314
315
433
359
175
305
21
397
315
442
456
144
210
82
378
334
421
248
194
450
458
444
108
290
441
449
381
411
480
490
93
391
470
79
71
280
419
17
84
301
407
398
197
66
280
400
371
425
479
393
303
423
242
316
146
215
238
483
216
145
364
128
220
348
379
171
68
458
349
118
455
271
465
40
259
370
1
292
306
51
404
453
476
92
396
431
156
211
226
401
332
184
75
102
343
421
316
412
351
242
386
267
39
227
348
15
443
373
90
237
299
265
70
123
222
492
374
32
208
76
458
82
338
40
15
308
3
319
25
428
132
311
118
18
153
70
217
387
4
466
178
476
66
225
396
479
424
288
29
33
76
321
193
323
198
60
462
170
34
410
135
261
97
378
113
125
180
374
143
165
340
114
59
401
191
240
491
174
95
71
421
256
363
313
187
386
460
373
278
175
370
427
426
198
160
431
83
293
32
248
391
424
404
109
468
24
498
479
453
183
219
174
261
30
73
474
393
121
115
410
288
472
38
492
177
208
421
309
131
142
53
100
484
280
131
38
64
381
256
84
182
358
424
148
79
94
258
423
378
484
364
500
348
425
334
191
240
362
205
324
483
439
299
291
90
69
298
238
453
379
336
132
297
199
209
186
126
42
47
368
159
477
270
447
446
194
378
162
79
448
16
454
109
94
171
63
102
152
165
400
249
67
429
344
178
299
131
95
77
148
82
21
251
242
302
289
130
255
67
34
387
370
490
276
191
485
87
177
179
184
395
384
450
29
33
78
454
413
61
456
201
477
69
325
42
58
228
497
168
315
240
496
76
348
130
340
67
445
477
82
434
33
302
192
30
497
304
88
500
133
440
57
411
377
115
382
69
166
43
77
259
355
96
479
232
351
321
238
374
169
348
356
430
476
439
245
402
314
348
52
260
352
364
45
133
487
272
91
279
128
200
233
237
471
497
298
214
418
215
381
173
95
60
273
436
464
213
189
214
374
370
224
319
492
108
304
160
105
44
156
385
274
275
238
4
491
26
19
235
386
375
138
166
241
161
367
26
25
422
128
134
351
251
3
329
479
193
159
372
1
35
497
314
328
83
292
150
134
367
196
29
186
134
356
394
224
204
480
387
103
282
246
498
486
330
472
412
29
438
767
727
639
782
483
526
352
700
790
451
332
589
746
532
532
352
440
489
523
450
578
444
411
435
430
642
488
720
447
339
779
551
498
597
450
309
392
774
795
716
715
324
538
497
637
354
569
330
421
452
659
424
448
721
777
570
359
696
782
553
364
679
753
405
393
560
512
702
735
484
625
561
741
476
619
380
365
373
753
502
531
570
648
601
350
744
365
456
738
515
532
468
303
607
493
383
737
455
461
741
447
756
469
432
728
429
583
573
345
451
436
595
479
771
536
406
558
546
770
495
561
499
763
728
311
652
789
494
599
599
393
524
670
671
320
620
613
682
404
488
623
523
389
797
314
741
758
424
740
387
606
733
405
403
584
673
702
724
438
567
371
380
605
634
600
569
708
621
772
789
406
715
423
398
474
465
441
673
368
692
656
642
668
478
646
407
641
482
345
608
395
376
528
326
348
499
591
688
598
400
629
325
539
328
502
368
785
564
652
542
408
624
443
641
332
313
493
366
702
388
570
351
456
329
466
481
319
722
613
362
361
585
662
323
347
446
608
741
409
501
341
503
513
342
532
355
645
654
722
591
318
788
755
358
391
331
349
739
448
380
701
601
477
784
622
322
800
520
744
449
714
471
711
314
446
623
404
300
392
716
706
544
378
580
745
647
373
770
513
501
660
739
508
719
303
366
666
623
378
379
769
332
466
425
683
638
336
790
723
516
616
780
651
621
448
607
736
324
352
626
609
544
672
744
349
600
565
590
730
436
462
497
588
725
699
533
551
362
582
444
564
544
627
335
628
780
552
593
727
457
448
442
328
435
763
396
601
747
685
463
503
496
496
763
415
498
468
792
562
546
519
406
532
457
654
302
310
528
447
473
425
420
581
739
608
437
355
643
342
736
321
693
689
772
475
463
594
643
332
638
779
655
447
716
681
377
557
390
761
555
380
649
498
628
597
462
680
701
558
444
581
693
488
617
627
665
661
300
544
538
703
673
342
402
700
380
379
338
654
730
661
649
318
430
506
743
620
406
591
676
738
310
780
689
401
474
407
572
665
602
736
536
450
415
769
627
799
671
692
599
348
707
365
533
626
415
676
560
442
444
305
362
597
533
646
642
645
664
617
431
769
559
789
741
362
420
410
546
674
403
717
558
631
539
626
526
544
506
634
307
585
446
785
719
776
415
754
388
560
329
604
599
538
663
605
563
604
405
438
769
721
523
425
376
620
548
388
588
553
410
446
642
434
768
427
697
411
639
705
772
724
445
337
738
497
435
381
512
794
508
739
463
395
683
736
701
513
440
539
666
798
753
396
355
304
424
702
680
800
416
573
648
372
735
536
300
345
331
391
730
333
547
593
526
426
614
331
343
530
765
432
727
672
432
314
453
535
612
390
541
441
794
412
415
430
300
684
489
423
440
424
533
330
413
754
623
543
749
421
559
798
667
399
557
447
346
377
742
796
615
798
608
726
444
309
420
494
635
509
576
770
639
702
459
536
714
326
527
350
636
309
787
462
511
529
510
547
333
709
538
682
351
308
480
772
396
736
449
408
577
388
452
690
513
740
506
654
313
531
571
669
335
624
723
496
597
430
524
394
513
488
612
504
793
406
794
338
752
675
306
779
382
458
549
372
481
673
476
359
336
502
615
569
404
335
626
497
498
759
322
637
583
582
766
359
742
555
558
452
565
598
478
369
506
630
469
784
701
509
680
494
363
526
403
368
567
477
460
396
436
478
404
706
756
407
395
411
557
520
432
604
741
670
667
404
497
351
475
633
417
646
525
436
563
509
691
530
488
641
735
454
349
652
444
486
664
379
451
705
404
314
350
612
316
585
604
765
353
472
484
579
602
494
722
388
765
400
496
317
727
384
453
381
704
440
510
326
644
788
366
674
508
346
317
344
543
597
534
348
735
399
636
540
535
428
607
402
742
372
625
586
576
478
777
756
491
666
673
685
513
787
611
693
405
428
561
374
311
465
471
300
397
590
623
476
664
307
368
489
406
398
575
325
300
776
532
575
778
784
433
333
676
558
521
572
706
722
360
435
662
339
584
672
468
575
606
512
652
335
579
770
480
651
718
345
488
676
408
593
612
720
546
699
531
320
712
604
616
325
703
612
638
778
412
720
717
331
612
325
745
751
433
445
567
763
592
718
620
725
792
538
780
601
646
531
682
531
513
782
444
538
413
574
432
739
671
602
386
692
551
594
532
568
528
563
481
654
742
596
685
527
507
640
431
306
316
451
672
434
773
345
654
747
324
505
686
705
394
705
796
584
712
442
787
461
580
601
434
498
411
544
546
590
716
523
747
745
655
570
320
300
644
475
610
522
676
629
787
757
679
677
494
565
600
501
720
393
722
315
496
476
532
768
365
706
471
381
790
389
556
750
552
748
517
565
392
300
572
396
324
791
755
787
680
699
769
410
528
395
691
479
682
436
564
575
483
755
397
310
617
788
743
420
604
753
675
682
567
560
387
534
326
460
679
485
687
705
513
464
394
633
379
579
780
582
645
486
391
555
585
426
304
380
513
541
677
782
590
556
752
308
530
738
372
714
549
597
463
478
781
452
518
327
528
381
342
340
565
366
677
647
553
593
536
503
496
628
769
327
457
777
646
579
347
493
739
339
409
672
385
348
447
379
569
728
494
787
641
467
325
414
502
614
456
713
567
688
583
681
679
549
590
774
346
479
413
306
677
354
396
444
311
738
569
636
715
449
465
740
788
610
775
418
354
335
358
412
485
447
666
646
432
630
601
489
406
505
489
764
482
647
305
526
471
791
743
791
561
351
462
674
573
619
549
670
587
525
745
721
411
306
542
309
658
424
652
357
403
651
546
794
693
699
447
655
331
665
714
353
637
781
541
564
475
523
609
344
421
699
594
441
689
342
588
721
334
358
742
721
498
528
529
490
566
334
611
408
304
785
302
649
323
599
548
471
397
301
596
303
301
449
464
512
770
482
642
773
800
604
351
525
522
569
404
642
689
785
377
780
460
752
352
647
572
611
306
452
781
537
520
389
445
380
352
793
622
518
396
598
355
520
335
473
547
426
427
340
623
785
516
440
786
743
515
425
556
727
635
718
758
390
487
338
470
591
348
599
302
686
730
348
601
357
683
472
479
762
733
498
455
729
712
589
465
777
758
331
364
797
754
656
638
431
574
500
489
341
562
663
563
410
320
543
401
478
789
516
637
452
633
737
571
363
657
538
485
510
500
764
387
455
557
345
432
792
682
622
544
751
543
350
365
650
698
558
596
353
575
370
608
694
468
438
631
547
450
367
718
620
477
677
488
338
529
706
737
469
321
461
477
435
310
530
450
637
800
416
549
555
386
439
586
534
688
368
791
778
382
773
353
716
681
441
368
346
487
598
407
643
617
734
661
693
313
732
786
727
493
508
713
797
481
679
489
767
473
527
553
556
508
797
551
370
318
421
713
527
755
353
800
670
737
590
401
336
755
672
574
385
620
559
788
699
797
466
795
547
349
528
672
505
614
738
706
393
367
665
536
485
387
744
333
604
305
471
721
358
377
593
682
792
697
323
637
621
551
488
433
598
578
701
425
329
477
391
417
749
351
567
312
671
355
333
390
357
469
481
303
747
574
471
309
336
426
753
554
705
626
355
383
632
301
512
682
776
508
539
566
702
475
640
534
459
760
608
741
685
737
634
307
597
502
522
381
467
638
637
518
499
569
467
566
630
457
421
576
698
696
485
620
362
507
513
335
352
501
416
577
528
412
356
609
428
487
328
671
692
485
736
586
522
300
609
690
583
684
582
505
366
424
572
527
460
740
513
785
693
495
696
333
669
604
630
399
495
691
523
619
669
611
624
487
676
508
330
678
318
787
692
731
610
361
545
344
504
471
503
713
789
584
548
611
546
313
410
741
321
333
344
680
728
305
775
606
596
730
494
520
313
399
483
513
727
707
349
456
704
547
304
749
792
744
571
361
574
333
383
424
495
661
487
566
699
627
362
711
588
602
405
686
595
486
341
650
743
745
795
521
754
662
356
382
717
496
787
709
394
487
789
326
672
726
334
800
687
787
564
525
779
579
608
508
352
771
793
774
394
797
663
756
610
520
717
469
732
618
598
524
415
679
567
325
586
660
736
406
406
478
526
550
319
773
740
609
664
514
410
797
734
436
399
721
422
725
550
529
351
766
565
374
474
795
324
683
770
511
659
412
711
471
418
507
325
560
552
522
423
736
559
378
726
384
792
423
687
492
462
710
614
705
473
476
572
383
386
503
302
570
637
740
417
389
589
497
615
558
527
647
625
490
571
304
432
407
454
401
788
399
575
592
434
689
742
788
488
720
629
649
485
773
352
641
355
549
306
560
674
318
366
374
350
624
509
351
454
387
792
434
301
455
682
369
459
404
324
351
681
384
690
511
559
333
507
545
676
443
643
435
691
680
596
800
627
594
617
313
731
654
550
428
649
409
395
623
301
604
496
507
616
484
450
452
356
693
329
701
655
505
406
463
795
605
305
354
486
732
587
332
551
485
319
450
771
658
397
737
325
550
361
633
345
622
625
363
496
709
362
701
779
599
746
716
382
368
714
797
363
583
534
304
468
376
640
685
429
409
421
410
785
643
758
735
525
509
634
405
498
671
648
584
508
744
518
487
627
530
669
333
489
463
525
625
397
464
799
303
749
434
568
793
503
613
617
572
430
606
611
356
447
794
691
566
649
782
355
791
590
753
695
612
354
313
342
531
376
737
732
487
630
537
354
473
438
627
727
644
421
634
386
650
578
545
569
558
613
338
750
695
777
625
710
642
650
782
752
502
517
635
377
341
688
416
399
592
756
727
465
678
392
596
397
751
669
425
320
631
770
722
558
669
775
352
330
759
566
358
796
764
600
438
375
794
540
726
785
568
302
454
664
769
428
457
578
737
595
615
716
459
480
571
547
537
587
461
322
320
779
477
593
362
382
305
710
543
613
512
793
435
357
502
470
748
442
561
395
728
681
572
584
480
448
708
356
416
301
591
625
676
574
437
625
333
777
592
472
773
315
368
638
788
496
598
550
457
771
451
643
746
481
466
756
555
749
522
505
527
724
329
567
379
650
507
311
437
767
565
543
708
711
714
523
615
495
410
567
751
504
454
357
686
364
595
304
312
432
793
548
491
313
635
604
658
798
650
323
498
679
664
403
626
575
528
688
459
617
654
506
640
770
646
763
728
751
626
422
745
315
506
535
473
602
759
768
645
527
378
679
301
435
387
370
481
459
718
550
479
675
748
508
714
754
328
586
332
426
300
330
523
322
655
383
616
672
557
662
358
798
765
543
608
677
482
707
513
347
702
598
352
708
681
302
651
662
394
381
704
485
510
331
777
537
779
789
508
355
538
384
674
481
592
378
715
616
778
402
415
607
606
350
550
723
641
663
747
453
471
742
331
632
791
392
607
542
713
301
486
734
542
757
347
386
596
749
364
746
548
575
530
791
679
568
721
524
386
686
363
464
675
774
738
348
453
625
570
475
342
693
460
636
387
484
714
536
679
470
755
545
770
579
597
435
333
316
452
348
621
617
556
604
643
687
302
390
402
784
372
371
319
486
786
662
426
384
489
780
414
467
597
545
428
672
494
761
414
751
373
625
600
745
655
665
467
426
559
702
544
668
567
719
787
772
496
712
338
765
731
363
522
664
536
352
695
430
592
340
546
744
660
508
514
325
311
683
351
648
575
617
687
319
442
303
787
462
746
310
780
391
382
354
679
359
638
324
682
486
792
424
760
767
593
538
320
353
672
719
453
488
762
746
757
567
670
772
716
793
385
642
787
369
760
547
745
648
463
456
540
464
460
486
433
598
560
586
385
336
581
643
694
692
304
414
478
653
625
711
439
782
539
428
314
578
597
684
601
307
739
622
381
787
549
677
740
515
341
694
564
684
642
608
750
775
789
503
673
725
741
483
715
458
514
742
755
548
304
669
413
740
578
322
344
639
577
502
677
360
320
395
571
587
545
525
768
527
382
607
484
360
776
303
763
499
479
413
593
628
505
383
740
623
575
524
670
347
351
395
617
545
779
730
552
522
526
722
741
335
773
598
744
752
376
569
401
430
748
386
795
352
559
436
568
363
694
751
701
381
751
525
427
695
568
477
722
737
307
607
639
337
397
517
740
381
781
691
343
468
534
644
324
598
381
301
439
525
531
761
393
526
530
492
573
743
373
315
673
379
465
530
434
350
648
349
635
400
569
418
772
414
354
356
663
424
691
641
533
546
603
745
757
691
677
763
618
401
635
473
479
336
747
622
383
709
419
623
320
476
574
453
372
460
389
347
687
724
359
487
799
442
306
337
795
624
527
509
645
589
529
547
533
461
555
590
429
310
343
428
611
583
587
732
366
786
474
764
309
553
674
408
321
532
599
422
601
529
700
405
338
462
623
307
638
799
684
779
415
351
612
728
663
534
464
324
484
322
592
568
732
517
676
742
732
645
368
491
513
570
786
331
509
456
322
423
321
403
665
364
632
774
786
342
492
439
508
461
493
555
428
765
699
588
703
306
586
652
300
777
642
795
366
323
502
627
514
681
692
686
378
622
412
388
628
480
675
675
793
420
618
483
497
407
371
716
727
473
571
660
407
467
420
426
749
646
322
761
505
368
726
342
569
573
599
711
470
451
437
741
493
318
532
630
800
363
437
393
661
444
387
312
555
695
598
343
328
600
608
317
621
386
634
302
564
672
523
719
585
666
658
418
392
753
734
724
785
362
377
753
452
618
493
767
659
335
468
429
384
750
615
619
622
560
647
538
671
400
641
352
582
567
763
563
669
338
768
388
624
772
437
609
396
451
517
502
388
593
534
581
524
605
523
608
304
406
361
360
557
645
401
660
345
356
548
412
352
599
562
551
521
451
748
561
507
630
762
311
764
396
418
626
540
691
756
370
381
590
519
335
753
481
534
419
444
632
609
570
556
766
332
580
349
306
683
496
316
488
652
382
527
580
459
625
435
646
625
740
306
367
612
455
683
738
562
690
625
341
477
479
618
662
669
634
551
669
342
693
522
758
760
313
672
632
316
313
353
411
731
634
643
679
650
399
301
469
499
599
764
652
619
581
549
753
397
771
393
381
532
317
547
305
791
439
477
701
483
494
663
433
714
486
609
521
496
335
758
462
515
493
641
620
370
720
619
789
358
503
708
729
363
744
423
427
365
395
420
717
581
760
477
508
725
678
430
444
397
537
662
651
529
395
450
772
734
459
487
605
498
613
495
548
593
305
640
656
537
439
413
724
544
672
554
596
518
541
620
563
301
778
387
555
766
792
342
490
637
430
744
757
354
637
545
669
365
341
531
636
364
536
383
354
614
539
381
539
769
365
538
735
391
578
474
640
761
736
493
583
521
304
504
597
614
417
622
587
406
685
367
729
425
456
399
510
698
412
655
764
741
744
667
732
641
713
315
692
573
774
687
393
405
581
615
389
309
789
442
695
370
443
773
457
692
618
432
674
771
388
683
371
708
646
407
303
594
313
698
369
419
688
405
565
554
727
719
631
593
312
463
450
435
482
560
676
556
458
646
445
455
666
449
466
439
362
306
518
409
485
612
771
307
572
738
386
326
372
658
695
642
681
720
411
500
447
670
326
475
539
577
684
338
649
577
621
726
630
359
494
641
761
689
411
561
704
480
786
646
657
721
640
386
416
464
455
392
456
505
672
548
701
588
408
463
539
702
342
447
435
443
385
529
353
388
498
601
789
335
373
431
324
765
355
393
473
600
571
453
628
645
384
405
409
719
778
361
502
542
398
428
703
614
528
516
460
579
587
382
449
588
434
352
496
384
626
563
638
683
614
347
771
422
325
574
444
794
333
460
309
572
669
615
430
765
585
544
369
608
550
568
614
559
425
570
452
497
771
707
579
456
640
780
373
657
688
398
772
701
583
533
791
659
598
498
467
384
596
544
378
499
668
366
424
325
685
557
562
464
716
699
725
455
448
418
794
747
361
669
731
410
573
566
533
319
675
380
714
728
534
744
763
430
534
601
736
752
408
641
496
360
637
302
507
396
690
723
477
636
388
333
430
663
333
623
635
684
770
397
499
777
509
408
575
569
357
453
676
701
332
626
591
548
536
510
430
383
687
763
397
455
389
631
457
677
306
393
693
558
467
623
330
383
483
628
685
407
777
691
556
390
676
648
469
391
629
328
539
393
342
380
506
724
574
600
543
725
601
491
361
721
551
405
642
743
647
541
724
497
616
799
549
632
783
602
329
529
425
595
438
361
482
648
641
502
739
479
786
770
546
691
650
316
715
597
346
737
524
393
478
430
648
610
745
728
559
312
504
795
619
478
716
739
791
654
484
598
601
723
326
463
539
405
509
452
655
697
661
634
755
757
678
452
526
586
492
760
576
495
658
673
419
737
661
446
448
566
697
500
345
459
352
438
673
584
691
684
677
430
506
425
381
549
530
314
737
363
580
521
708
753
778
420
702
692
643
545
348
547
614
335
523
761
781
477
466
660
382
675
663
742
649
503
515
771
597
784
730
409
720
595
729
597
794
477
333
470
789
524
763
671
627
786
685
633
533
716
558
351
355
499
800
684
449
473
546
520
441
630
557
731
374
316
681
475
490
777
571
414
578
329
355
733
600
600
320
558
743
485
783
790
669
395
413
770
306
546
710
713
627
515
431
692
633
426
657
379
303
355
393
542
705
770
354
520
735
740
561
518
789
679
472
522
342
361
345
451
501
594
450
604
729
630
325
356
685
540
417
664
407
365
404
671
377
637
618
736
742
652
698
799
776
760
390
303
377
750
405
547
729
778
421
749
677
445
451
461
586
607
387
463
430
622
668
598
663
718
348
396
431
696
675
541
569
789
343
542
728
688
612
561
508
569
468
504
636
748
310
411
619
668
477
565
717
325
353
688
466
511
419
625
622
653
438
593
570
611
485
766
596
727
548
712
302
342
570
497
718
772
355
656
460
599
581
386
476
799
584
754
582
348
637
668
712
672
499
303
757
786
784
752
484
604
454
310
749
663
465
379
463
366
731
317
681
434
598
399
448
653
325
363
639
474
589
800
588
786
333
424
712
438
637
672
777
454
723
415
371
578
742
769
415
540
384
739
546
367
653
426
500
485
745
680
347
507
463
725
673
627
757
663
453
376
465
661
577
392
367
770
393
390
407
499
727
713
478
761
679
379
338
604
454
723
592
749
664
376
400
339
564
698
400
620
467
344
665
637
621
306
636
301
510
680
602
335
330
677
457
650
732
799
409
752
346
785
561
775
478
391
603
744
333
333
400
622
563
787
539
307
376
499
625
655
300
306
331
686
402
492
640
554
457
690
500
637
697
365
434
638
473
774
743
642
648
498
435
415
411
552
606
411
768
562
757
516
321
661
597
317
412
553
729
561
522
724
529
391
439
796
437
386
551
585
329
465
797
757
723
789
435
312
374
414
595
342
759
503
600
387
791
327
434
392
348
797
696
608
647
596
609
770
638
447
624
620
661
399
300
321
380
543
608
408
487
688
779
381
791
304
561
379
729
337
569
624
723
419
346
732
349
489
695
659
543
358
492
668
718
351
690
789
729
636
342
724
609
616
344
454
551
677
600
462
447
713
603
383
678
582
744
655
409
631
766
445
517
417
608
785
406
623
329
699
475
420
339
416
647
480
706
589
505
403
338
631
402
751
550
395
501
592
700
784
452
643
719
445
616
636
394
636
736
494
448
773
328
331
483
473
498
488
711
672
648
402
515
453
426
402
419
563
623
781
792
660
361
699
603
487
764
354
716
375
335
491
694
491
502
638
688
609
621
586
709
537
586
755
601
792
326
696
377
665
421
799
345
419
328
559
800
557
345
413
657
366
672
622
392
596
628
391
583
719
360
413
656
398
689
405
741
686
750
448
616
329
358
399
349
620
718
362
479
422
620
471
695
378
595
492
609
654
326
489
620
466
368
565
486
757
306
786
457
545
458
696
369
621
703
369
557
502
597
487
499
488
324
388
437
680
350
415
622
343
467
618
530
642
793
719
498
664
772
337
440
513
584
642
416
631
353
473
539
348
572
394
516
354
595
761
499
590
645
647
729
525
512
601
446
413
777
324
533
696
523
488
549
393
559
332
688
722
783
787
697
539
790
777
543
624
557
779
680
679
692
369
717
525
353
628
606
604
736
668
663
775
472
758
711
492
543
595
642
493
517
791
693
698
484
470
769
409
506
452
317
656
321
789
389
726
729
603
786
360
481
738
426
737
491
324
743
513
751
718
475
651
526
596
604
546
454
424
758
597
758
689
676
427
797
490
774
350
374
425
742
346
575
736
800
483
429
710
563
636
304
379
367
379
660
435
508
345
334
393
459
780
573
501
464
611
470
649
393
571
494
351
653
323
789
351
731
329
714
688
369
393
448
307
544
582
703
557
777
766
796
487
334
487
758
770
718
418
373
771
716
311
736
799
609
763
319
721
666
764
492
569
422
715
305
475
644
632
523
360
794
643
776
658
525
551
589
434
514
793
408
514
395
596
717
736
545
590
598
380
645
619
621
426
797
550
540
490
389
504
310
677
397
390
662
551
665
794
677
454
798
380
719
531
716
611
320
519
768
724
588
394
607
632
426
483
500
381
476
785
549
673
389
568
493
778
732
305
715
345
384
465
310
529
420
437
313
337
800
795
643
717
696
516
783
700
576
677
305
318
439
757
741
367
689
757
387
650
318
725
709
502
445
475
370
367
499
514
368
608
352
369
385
727
407
729
568
761
698
370
695
606
792
702
757
589
717
315
542
737
714
359
512
780
382
456
510
647
581
531
317
737
315
379
533
572
562
582
705
632
404
521
773
423
662
695
456
776
468
517
549
670
551
492
721
441
371
505
446
436
364
334
497
610
562
698
746
356
573
432
697
695
532
719
544
656
405
765
470
448
607
404
785
592
697
551
361
749
674
661
437
305
653
788
633
561
743
387
790
704
542
705
304
563
779
694
411
391
728
774
703
508
300
797
765
689
326
364
729
715
752
782
455
373
353
719
457
465
741
346
355
542
579
555
742
596
587
453
529
426
317
592
385
510
596
768
445
356
556
393
724
508
450
560
503
363
518
748
667
648
495
324
319
507
518
576
485
381
645
611
616
510
618
703
465
352
693
793
736
783
496
562
639
694
599
617
728
735
638
327
796
717
530
576
322
645
341
641
764
317
654
370
403
301
629
394
487
433
493
386
675
385
330
525
419
317
717
488
450
601
702
460
655
736
305
401
300
723
711
526
664
680
702
450
795
610
319
603
613
475
602
640
584
698
602
558
605
578
615
670
493
456
793
611
447
323
586
339
577
352
513
451
422
775
666
386
615
326
343
320
622
327
782
507
395
600
771
392
543
396
590
328
399
710
434
768
680
321
365
718
420
473
732
387
577
566
710
307
345
394
636
479
779
653
646
514
456
735
707
404
486
501
787
551
467
513
681
752
774
677
775
623
397
383
586
762
555
659
301
326
746
715
746
570
695
372
581
670
469
777
730
504
716
458
634
525
440
637
538
385
709
601
331
735
690
392
746
462
389
751
356
654
632
352
359
529
305
755
346
337
729
411
312
384
344
461
488
500
735
661
329
415
624
715
424
321
486
514
314
706
587
683
621
567
577
411
561
612
604
728
441
309
423
633
596
712
603
539
793
665
582
447
383
562
706
726
359
338
550
534
660
498
399
463
689
366
300
717
733
744
734
349
419
537
526
751
570
699
546
566
464
342
465
457
694
556
749
314
417
459
634
639
715
679
746
646
778
441
412
690
478
428
312
769
675
401
741
496
798
334
784
647
586
335
714
796
391
549
552
353
465
690
313
624
658
536
521
394
382
41
158
381
112
8
103
435
139
406
228
301
169
231
452
289
441
178
96
383
212
213
68
467
25
329
275
266
405
428
398
386
273
116
266
378
218
121
42
46
367
456
92
197
199
379
479
445
318
241
418
356
46
367
370
133
330
420
345
317
263
395
115
372
240
27
135
55
188
377
295
245
428
322
401
191
482
479
212
333
292
14
139
239
474
33
290
120
43
311
20
311
224
272
334
328
251
283
176
237
351
83
485
454
205
393
157
210
387
486
292
265
273
25
31
60
88
349
343
57
302
384
218
92
257
431
484
185
418
382
351
383
106
16
276
234
55
150
7
471
96
385
31
314
479
422
2
248
341
425
238
26
357
161
4
349
305
247
396
141
32
142
187
470
385
168
353
358
262
116
443
429
123
456
352
305
495
377
116
411
91
81
94
100
390
237
447
33
264
409
324
154
274
346
200
173
244
243
472
336
230
271
260
484
407
346
427
313
200
342
349
259
109
478
489
163
277
264
21
220
402
497
128
78
436
90
18
385
60
500
408
117
427
27
440
93
13
256
498
237
76
390
57
203
212
64
19
499
432
90
275
163
308
234
121
363
446
454
221
496
152
255
238
48
176
220
30
427
172
425
478
289
125
15
236
340
426
35
445
320
277
495
38
337
225
457
186
454
168
310
181
257
105
118
309
343
219
19
450
350
388
419
441
108
228
119
362
332
238
166
498
149
145
348
236
423
325
197
444
315
57
366
322
5
125
287
138
329
65
50
264
331
313
380
343
40
429
153
395
411
52
378
379
204
324
484
207
336
108
336
243
382
131
439
324
75
46
351
404
477
381
483
260
373
148
380
180
95
335
445
123
115
9
451
356
183
470
470
465
193
443
71
210
59
47
368
396
364
272
13
428
445
178
381
442
349
164
332
22
355
344
80
446
435
495
120
312
300
298
244
228
473
345
465
173
230
8
196
396
250
253
6
225
423
91
124
146
422
345
196
240
278
402
176
112
260
417
454
436
477
181
425
374
320
323
148
418
18
209
313
121
92
119
266
64
96
453
288
12
153
355
364
24
397
282
263
246
488
264
276
227
267
243
414
181
339
183
345
454
473
109
207
51
447
237
32
192
337
20
497
172
377
179
115
102
160
187
84
474
159
446
76
329
311
212
109
87
173
203
267
299
33
225
308
442
118
115
29
10
132
272
328
259
154
328
418
239
471
391
482
293
220
214
439
128
67
348
412
122
343
238
80
5
332
213
65
143
62
258
69
230
198
424
499
219
477
370
4
438
214
72
240
88
239
496
440
481
348
86
290
437
252
329
329
139
276
89
67
456
94
41
475
15
47
385
304
489
469
342
270
380
345
171
151
89
37
181
305
375
477
391
146
332
304
466
245
226
58
92
281
414
78
100
136
461
423
235
174
457
495
71
64
357
391
220
412
233
25
155
111
295
64
211
238
482
304
23
146
189
262
427
31
62
235
443
80
205
137
226
5
355
18
421
353
440
190
95
340
217
207
152
485
268
12
290
150
381
351
344
445
405
80
146
17
350
224
111
270
187
499
158
138
204
482
116
22
409
380
211
41
483
128
440
72
304
53
139
260
368
170
179
481
405
240
429
255
176
202
431
39
226
211
310
463
274
16
485
251
98
175
305
333
81
259
373
360
115
350
15
422
171
340
218
207
282
226
136
266
398
448
451
275
403
35
251
246
422
471
467
320
160
293
493
255
41
317
297
473
414
88
146
146
130
17
268
319
208
82
402
32
150
466
228
357
65
417
165
106
477
344
414
404
449
23
7
479
17
109
100
10
28
76
224
74
61
186
18
68
394
44
84
303
106
157
197
442
121
422
352
306
345
362
79
387
73
449
486
466
459
36
320
428
142
444
1
121
227
66
42
339
428
495
374
422
68
368
86
141
422
391
23
136
292
269
117
371
203
395
432
362
149
44
415
94
372
141
92
351
490
202
74
88
439
237
60
445
354
112
23
220
137
450
15
220
208
222
372
46
460
445
247
265
357
260
72
293
37
391
126
233
157
297
482
158
43
388
125
492
490
456
73
109
397
148
108
476
483
84
360
212
471
271
275
442
473
213
423
257
289
482
471
61
28
47
156
110
119
477
438
328
19
192
487
460
195
141
78
310
343
372
18
219
433
353
358
197
56
230
329
441
437
134
399
269
88
497
170
424
111
109
19
379
164
273
161
110
498
56
61
56
2
61
165
133
50
191
470
290
297
340
389
238
421
195
309
159
167
58
319
307
473
462
156
487
195
170
124
171
79
303
276
48
386
248
197
302
381
112
273
329
322
333
83
412
224
488
374
121
182
351
308
288
18
133
249
295
207
412
431
463
245
313
252
85
153
59
107
332
478
426
1
498
390
92
344
194
403
235
18
62
453
59
411
263
484
137
353
259
316
42
166
181
489
433
221
247
102
365
358
353
150
19
118
90
33
14
50
253
253
194
21
379
300
403
22
271
439
424
101
115
138
440
389
446
151
385
479
427
317
455
498
121
440
248
406
464
3
66
311
393
371
327
219
202
55
69
396
285
302
141
357
147
308
87
409
213
478
291
142
127
209
359
239
186
238
329
67
480
95
481
407
257
224
104
215
217
315
80
354
113
166
208
29
324
476
74
205
363
110
460
213
429
492
277
458
454
21
166
14
450
343
330
36
154
469
170
394
14
366
145
295
130
19
256
244
288
241
118
49
376
480
36
497
368
237
16
14
129
111
127
23
470
378
141
268
476
53
393
500
111
281
75
483
165
139
3
36
109
11
170
294
460
300
215
6
332
144
12
159
472
408
220
178
400
368
139
86
462
289
433
109
319
149
355
70
174
65
267
443
290
250
215
135
322
485
369
395
409
469
446
485
207
167
253
462
97
217
135
251
77
305
406
465
110
172
395
1
456
3
109
273
335
14
35
80
6
336
142
122
327
271
161
37
50
177
450
421
87
189
46
54
101
56
340
375
337
411
146
303
16
261
149
284
132
211
205
281
58
204
194
13
30
324
33
202
216
321
198
93
240
260
391
331
37
386
246
212
166
427
273
112
369
312
227
106
278
445
42
203
100
310
436
469
87
135
15
361
218
284
311
462
135
78
142
278
126
480
430
156
95
174
55
344
384
92
191
117
479
196
113
133
469
489
342
354
13
188
495
480
231
253
155
18
224
4
388
171
171
418
207
471
287
362
393
172
181
212
117
179
105
437
263
67
220
422
206
351
147
391
55
357
345
61
412
135
252
312
252
335
178
179
472
60
454
37
194
371
156
280
9
292
347
118
74
13
118
348
98
493
208
352
294
99
453
267
440
334
441
71
335
217
356
47
366
148
192
101
362
474
64
317
339
358
493
60
53
464
295
228
332
337
57
47
385
15
166
384
420
175
225
145
444
270
184
55
250
259
61
401
170
271
434
483
454
251
499
303
313
267
38
333
357
200
171
429
470
244
150
155
216
210
71
406
459
436
328
439
310
153
85
48
173
348
241
217
144
220
337
155
217
38
196
412
349
369
399
276
361
182
306
253
160
426
386
427
341
221
237
282
151
117
89
412
123
352
98
4
47
129
384
373
66
418
61
121
328
319
3
321
344
317
325
346
392
101
65
138
361
497
135
469
49
125
44
347
109
388
373
235
485
78
435
367
323
106
276
303
134
165
5
488
53
41
428
229
196
49
469
8
220
130
233
267
280
379
14
327
359
18
62
143
300
426
57
342
196
150
374
242
459
416
304
497
168
375
375
182
371
471
63
2
221
186
203
185
303
488
259
439
12
372
444
255
285
286
424
239
226
127
427
319
259
111
100
177
148
186
174
334
363
250
4
330
145
76
15
458
72
323
83
319
204
210
140
496
140
178
296
268
296
291
382
378
314
324
97
46
41
155
100
45
274
16
498
270
438
153
379
87
418
6
46
287
471
406
153
105
69
42
499
483
323
404
312
314
259
377
152
165
432
325
6
22
122
23
355
100
127
123
248
431
324
427
13
306
374
86
76
91
4
414
490
322
14
62
197
60
28
280
111
383
500
180
367
270
309
172
222
53
461
56
405
299
56
251
322
258
477
225
445
410
112
273
58
251
249
439
84
195
407
486
432
422
74
176
248
400
208
142
183
54
403
335
327
279
188
46
391
202
103
200
499
289
379
240
142
372
237
29
6
400
9
230
266
463
405
169
209
72
75
163
399
58
194
485
342
378
33
447
139
122
412
213
371
500
192
351
206
375
197
247
347
146
6
11
193
43
234
392
73
76
218
137
320
276
212
481
226
408
227
104
142
270
29
262
325
204
130
126
226
474
450
350
2
266
70
152
389
224
407
120
161
109
409
73
252
58
260
431
226
66
358
207
225
122
249
183
184
185
262
68
230
463
199
184
252
463
45
6
199
128
311
446
65
302
436
259
242
114
491
335
338
368
442
193
106
82
356
30
17
342
309
218
158
481
332
435
16
222
303
385
177
173
403
389
480
225
455
183
134
182
328
30
252
373
423
142
399
334
315
305
340
95
441
468
163
167
174
499
27
266
56
344
41
293
141
317
363
494
37
424
416
85
144
359
98
470
389
493
123
54
365
99
336
81
415
394
487
59
144
462
181
48
480
217
86
303
381
94
362
74
296
307
152
103
106
214
372
150
423
443
494
214
199
181
358
76
43
148
344
104
19
274
10
195
202
122
32
334
162
352
480
460
242
360
470
315
242
267
52
233
83
492
48
43
392
169
422
339
477
309
497
422
114
234
37
152
12
452
263
448
308
28
426
13
241
459
303
307
137
275
396
197
283
300
37
187
360
389
151
3
149
262
10
92
145
307
291
3
260
54
195
44
132
133
396
337
251
484
254
162
178
201
188
187
297
139
457
35
424
312
254
231
430
215
56
372
273
199
163
247
416
114
61
489
137
236
169
491
333
66
183
208
269
341
258
462
435
264
201
219
100
31
207
256
170
356
125
105
245
336
222
332
30
174
300
217
327
415
106
47
219
54
270
145
151
452
396
340
138
384
136
388
146
265
321
205
80
392
451
7
134
341
168
455
263
247
311
331
127
448
418
202
165
456
91
237
184
321
150
81
326
195
161
180
344
158
353
399
183
341
441
34
487
79
93
172
343
141
448
183
440
58
7
8
259
488
174
480
331
12
222
302
375
253
454
488
118
110
458
86
208
289
470
438
405
77
292
462
358
388
142
313
379
286
111
420
361
493
216
334
276
146
322
494
81
434
371
237
499
434
302
145
468
1
321
259
178
43
10
218
96
171
162
189
335
295
98
115
351
484
183
487
367
89
398
234
80
265
390
353
439
157
435
380
105
220
451
77
377
469
366
331
160
39
486
387
221
425
273
120
64
201
321
15
65
95
471
254
72
143
36
446
351
299
441
96
332
296
105
240
323
88
345
150
340
468
236
458
236
444
44
476
370
312
245
354
494
164
425
349
36
384
226
134
402
296
113
240
201
299
144
72
227
247
207
442
251
470
478
240
324
361
127
486
247
21
495
36
461
218
376
187
458
399
331
122
392
45
19
37
12
190
19
465
258
10
91
320
380
181
238
349
454
247
221
19
213
19
420
313
250
383
327
325
356
266
191
39
386
445
123
151
328
252
329
416
226
250
82
431
465
420
179
355
269
458
39
102
226
143
70
81
285
70
367
11
492
155
286
108
164
213
240
317
115
335
264
367
346
333
92
204
448
360
305
283
141
254
488
252
407
77
79
137
459
56
4
140
64
271
96
348
189
339
287
120
72
269
416
19
15
361
484
155
294
17
57
449
75
500
5
97
88
409
194
159
164
423
225
169
269
2
178
53
193
285
383
87
70
371
147
240
328
366
463
210
271
278
53
381
11
191
154
196
413
86
406
488
339
405
15
9
239
351
186
325
332
446
173
79
459
401
374
239
342
338
33
396
291
309
123
455
148
395
375
453
386
317
222
112
428
273
185
436
62
16
302
474
403
467
77
31
21
83
102
486
44
315
149
215
370
28
162
479
2
21
239
317
3
482
331
484
240
92
164
40
370
479
361
355
74
234
295
160
137
436
314
366
158
176
312
63
144
208
2
458
333
404
207
423
91
489
170
490
30
317
8
270
7
345
331
12
195
54
390
21
7
226
234
408
161
22
278
489
209
69
203
266
122
224
354
437
88
270
496
424
434
200
201
297
376
5
348
472
205
112
34
67
483
367
90
498
332
244
450
73
108
438
241
80
193
481
229
128
112
204
375
84
69
449
402
291
351
377
208
249
325
125
425
169
149
7
78
130
168
194
133
210
259
429
141
88
53
4
348
394
333
404
313
287
34
81
19
184
434
231
196
234
157
370
173
232
417
344
55
238
124
232
131
461
56
120
241
399
326
424
58
179
129
94
29
418
86
103
26
9
115
300
239
3
105
298
295
271
279
92
315
312
276
223
39
413
181
392
355
267
252
481
100
222
101
498
223
475
156
463
5
37
176
420
233
16
447
394
342
251
166
324
400
390
17
21
350
351
84
336
410
6
224
36
386
216
321
155
108
316
5
330
93
229
366
446
158
21
310
149
483
164
412
460
97
298
146
245
100
382
62
430
2
170
242
20
103
136
281
379
254
240
404
414
1
221
97
156
418
466
307
38
170
421
75
440
414
98
76
400
104
187
31
284
7
301
221
97
376
243
85
208
379
122
361
406
230
360
465
232
341
447
352
28
346
306
465
327
195
8
410
76
167
21
71
251
214
349
441
3
25
440
281
323
70
100
321
239
420
98
266
183
387
424
341
108
60
312
136
171
113
455
248
104
320
377
174
275
421
84
15
59
29
304
197
491
471
333
219
443
74
81
404
324
53
381
421
16
356
111
29
330
302
206
367
392
313
270
372
168
42
200
458
340
113
138
416
438
2
284
291
116
1
418
463
325
482
142
388
355
69
206
120
300
320
259
250
360
463
257
160
209
96
207
2
42
105
235
92
98
387
287
110
77
401
183
23
352
126
483
271
470
16
350
229
27
150
421
186
453
101
357
100
411
75
16
420
154
140
15
175
220
14
397
463
303
485
292
323
466
57
344
209
391
157
362
140
153
272
268
490
106
253
447
174
50
279
102
15
299
495
17
59
188
308
498
499
384
486
472
489
247
291
358
134
388
487
307
469
59
190
239
182
404
496
187
12
178
408
375
236
465
482
273
246
261
80
13
437
115
252
108
339
239
96
11
171
364
35
276
48
281
372
220
275
410
37
196
364
178
127
314
86
88
344
348
489
153
338
144
230
60
378
111
374
241
129
72
3
492
381
214
408
123
39
498
436
263
14
210
23
176
86
318
489
21
330
238
492
426
446
322
401
156
373
446
382
474
145
261
55
231
96
16
431
321
269
5
174
250
132
319
366
282
219
33
362
467
40
30
395
8
164
283
18
366
321
460
219
422
132
479
250
117
449
23
443
154
72
253
396
164
250
492
91
84
397
414
489
486
301
316
362
197
448
415
402
310
465
202
233
69
38
428
417
162
83
414
282
151
343
30
287
175
278
255
55
88
248
125
492
282
194
418
301
476
243
278
280
16
202
304
432
54
11
297
87
263
408
18
6
276
158
52
374
462
357
220
425
484
396
106
282
300
27
433
244
420
363
84
457
53
324
89
372
167
67
95
124
459
105
171
20
96
401
191
485
462
154
242
303
138
358
133
216
47
127
311
62
454
134
313
392
452
154
453
473
218
199
20
65
166
413
376
312
161
373
175
473
93
246
74
144
492
268
458
324
396
179
168
437
118
319
289
441
177
157
377
294
144
241
162
137
408
222
425
282
185
140
32
157
481
105
191
407
134
100
165
221
201
318
255
47
75
250
224
453
369
85
449
429
248
239
467
212
318
189
227
42
5
204
174
57
65
38
322
66
306
173
178
80
288
293
253
93
171
344
391
283
315
229
372
16
264
364
301
423
283
78
482
120
137
424
242
122
150
126
390
167
42
155
245
116
364
12
286
428
448
127
316
260
51
138
190
285
54
92
310
450
68
144
213
116
8
148
402
355
195
349
68
279
23
246
426
162
358
119
240
162
51
249
236
271
393
83
88
418
43
175
344
415
431
128
409
21
447
160
23
405
212
378
300
231
57
315
261
461
221
197
18
332
495
144
127
96
282
253
18
60
27
166
214
104
18
321
17
493
231
328
225
363
217
6
117
25
64
308
330
49
413
263
434
150
174
94
310
124
485
456
495
127
25
255
471
45
392
336
437
434
201
313
177
270
215
237
483
110
343
471
49
359
446
180
164
368
470
122
75
494
298
120
316
107
239
444
477
61
46
229
335
329
396
382
213
253
440
310
43
174
455
38
210
110
312
161
473
449
16
157
311
183
290
324
312
484
27
340
219
80
258
283
36
351
34
398
294
20
323
186
432
293
272
479
462
167
176
246
241
339
116
365
135
182
172
333
212
482
178
231
296
283
375
283
51
46
221
343
193
212
497
481
292
346
86
122
67
293
41
310
387
17
289
12
165
396
104
342
335
100
439
197
490
485
374
333
486
63
159
172
164
268
60
46
212
491
373
473
70
464
92
462
371
58
153
80
178
132
254
488
358
452
64
123
48
11
472
405
121
158
188
6
409
437
319
242
70
362
16
133
184
229
156
58
463
428
474
179
331
330
275
15
209
149
391
323
298
228
166
214
329
126
114
155
142
242
58
281
126
225
412
195
227
383
377
106
412
477
229
156
258
479
218
167
66
454
113
315
56
292
99
284
369
429
315
185
293
479
46
242
159
386
497
122
292
287
291
401
216
234
78
87
489
98
459
219
220
356
22
142
486
464
172
269
366
238
412
143
380
137
366
162
222
486
319
194
424
52
127
439
227
379
468
145
378
487
230
495
5
127
381
400
108
299
232
103
308
324
397
48
465
379
402
257
298
146
165
263
149
258
231
210
440
84
400
280
119
283
492
433
305
304
136
469
258
282
98
159
134
21
114
351
318
214
18
50
136
464
125
277
437
154
373
372
396
429
394
326
363
313
228
163
101
189
353
201
308
56
81
380
52
75
282
265
69
77
315
250
319
105
441
264
318
87
445
205
402
70
450
318
121
338
119
498
409
446
393
297
226
98
62
83
127
228
499
455
497
396
488
380
32
325
25
437
214
402
226
59
315
299
64
256
487
477
451
249
28
345
255
247
100
318
491
220
263
422
371
98
245
368
117
494
394
471
487
107
35
382
420
100
255
59
291
456
312
3
242
373
423
53
377
25
150
279
235
362
199
406
410
468
223
64
115
213
454
5
445
221
139
307
67
328
469
40
313
6
79
155
151
470
77
494
325
430
204
70
191
318
348
152
394
231
198
457
193
396
400
470
289
9
261
262
375
97
373
424
44
314
70
357
127
459
19
87
372
478
274
365
257
484
161
72
217
342
450
478
435
361
111
281
272
391
96
387
21
73
464
129
156
149
476
86
9
185
264
106
446
153
20
136
159
403
319
110
241
301
138
475
353
57
99
340
81
257
162
48
332
120
385
197
91
142
457
269
233
236
5
173
163
256
38
74
152
8
5
405
368
429
320
77
492
148
289
233
99
260
354
311
477
384
129
69
271
61
297
226
199
263
85
213
294
113
481
203
353
10
412
115
318
80
31
303
311
421
73
285
13
229
48
248
442
27
484
417
165
306
148
234
480
19
445
211
168
74
239
284
121
235
127
338
81
148
427
454
378
416
262
232
76
331
267
30
21
325
169
261
365
229
430
389
190
264
240
305
97
326
129
56
100
193
435
500
351
240
416
377
26
247
372
94
196
366
25
49
233
63
481
281
83
326
467
390
408
461
283
404
329
497
416
71
130
44
279
335
377
235
126
161
333
468
340
435
36
214
173
2
51
97
491
281
334
142
75
125
247
275
417
335
455
83
354
274
204
25
64
148
215
8
13
333
261
200
34
207
338
263
463
336
118
259
444
441
39
99
442
26
81
333
343
108
417
248
280
373
385
184
174
360
92
180
377
357
110
390
493
242
468
29
175
87
122
76
131
220
458
363
404
374
85
385
45
414
425
453
291
494
53
141
496
413
206
312
186
230
146
439
58
67
175
313
213
24
107
149
77
292
135
253
421
429
255
57
370
389
484
269
41
340
333
27
90
108
343
441
272
111
339
319
280
76
219
158
213
107
86
265
405
143
382
97
485
194
460
229
46
376
69
59
232
228
307
263
381
68
164
317
167
76
313
33
336
71
223
32
7
382
350
250
236
98
86
140
248
473
15
10
406
281
166
349
154
32
365
144
325
79
49
470
108
498
370
242
497
262
241
163
267
107
471
345
65
102
336
292
414
114
296
288
214
442
461
406
241
299
387
156
213
316
101
19
141
80
280
226
364
131
443
411
449
246
465
257
281
345
128
479
259
27
467
183
69
228
195
423
8
486
355
388
361
467
130
349
495
191
274
197
177
15
266
72
361
102
385
356
275
120
446
27
268
345
449
370
196
375
260
446
54
396
371
243
267
411
114
182
254
498
68
322
403
2
53
387
439
127
18
491
8
499
461
414
283
226
353
306
490
375
323
317
369
102
122
383
348
401
114
183
443
86
247
281
370
220
282
422
239
158
480
181
240
478
423
443
1
473
159
174
248
464
389
58
20
423
221
29
71
26
221
201
212
450
462
388
343
229
487
107
194
86
416
216
142
484
458
187
403
311
212
87
117
270
475
15
430
71
351
336
149
484
193
423
198
102
293
441
418
485
181
9
138
404
477
93
2
371
250
100
283
27
490
453
378
449
294
203
209
375
408
485
377
224
364
253
74
259
388
352
214
296
472
76
288
275
59
75
33
362
301
12
486
465
371
356
186
37
289
443
284
294
176
152
236
186
267
375
414
100
152
247
351
482
115
165
193
147
246
60
103
280
205
433
421
298
459
195
442
381
235
77
91
481
143
465
45
442
270
149
467
390
212
383
462
190
160
450
3
281
175
477
479
234
112
485
330
181
441
283
197
255
283
102
50
335
334
123
474
464
472
48
350
96
252
411
43
142
357
37
239
464
273
429
350
193
456
495
111
43
388
219
260
229
274
291
168
140
448
94
247
176
162
458
65
350
345
477
433
28
35
300
394
201
124
149
95
403
409
379
362
71
267
352
155
400
144
279
63
457
370
216
481
337
493
197
270
57
222
42
137
321
441
77
434
87
5
301
2
353
369
30
449
74
31
278
220
209
400
94
126
389
463
71
379
453
66
276
120
212
251
438
382
405
161
291
368
306
431
404
161
391
266
74
351
167
458
240
422
310
251
204
89
461
107
35
95
326
376
435
230
148
368
276
317
264
149
259
489
111
490
239
17
13
85
277
3
226
487
31
443
64
430
485
348
220
114
490
478
290
282
374
410
396
142
253
277
438
82
415
267
385
446
278
265
331
242
234
43
296
314
479
492
91
243
138
331
42
384
342
350
207
115
158
131
236
200
117
63
239
324
385
320
469
404
116
315
449
445
301
241
444
444
120
300
370
62
409
126
220
330
91
215
430
476
57
216
105
158
159
286
87
226
343
431
494
59
6
27
314
269
450
495
354
228
457
311
3
77
8
357
454
207
279
380
215
81
329
291
130
489
188
355
494
178
223
347
109
307
148
382
92
31
393
188
107
34
462
494
253
54
286
61
366
420
288
194
238
373
373
331
140
332
171
50
131
38
192
342
121
145
341
123
397
151
262
332
27
87
349
321
11
202
111
160
334
303
478
164
183
190
29
327
298
79
249
86
400
231
402
23
438
460
378
275
19
37
134
175
292
45
360
371
399
301
48
203
134
254
379
362
114
114
349
205
156
294
234
397
564
311
786
522
401
593
348
644
567
777
364
511
356
591
384
578
797
442
321
365
650
731
491
504
658
608
694
360
598
341
706
749
649
377
561
741
525
628
722
590
771
375
575
426
760
524
587
353
705
511
624
446
462
587
522
739
777
482
687
553
653
734
766
573
512
414
643
534
756
577
490
688
506
338
641
474
555
576
378
385
393
590
638
656
378
631
500
430
431
794
760
683
529
339
422
550
446
598
553
710
335
437
406
628
383
530
446
501
782
367
420
707
401
421
662
649
456
785
425
455
538
370
480
320
592
588
321
606
600
494
327
422
325
624
629
313
399
707
691
672
358
430
725
365
604
475
426
777
619
426
329
487
432
587
680
441
775
723
626
650
609
774
318
687
600
568
442
447
658
368
384
503
745
420
421
471
735
771
531
590
770
774
676
568
510
306
333
531
422
355
404
717
355
680
427
318
470
683
543
328
391
608
467
562
634
540
468
446
304
527
643
498
322
756
655
388
545
699
562
713
688
523
557
389
770
637
695
677
502
635
447
459
664
643
660
543
468
760
699
655
649
732
632
606
476
421
642
758
412
523
494
761
377
593
616
379
727
350
588
569
693
724
709
344
609
392
685
750
746
446
779
476
627
594
419
751
417
370
305
499
741
759
765
618
581
683
558
625
733
317
636
471
342
576
786
323
332
469
486
700
669
343
756
713
433
619
777
395
552
468
661
799
750
737
584
332
517
677
732
318
506
573
484
647
799
467
711
407
612
445
547
406
550
430
798
507
345
800
595
545
626
544
495
479
705
350
472
728
662
761
534
462
788
578
587
339
615
677
643
352
519
785
693
737
355
371
730
315
533
759
353
723
390
695
475
724
611
740
558
504
328
551
511
312
585
367
550
619
357
479
489
466
336
607
536
497
462
393
793
615
596
677
797
720
646
770
659
742
504
610
798
318
799
485
407
387
381
336
364
788
591
440
670
732
636
799
382
583
565
702
450
715
397
442
571
438
357
696
685
338
486
743
486
528
647
562
619
334
525
518
552
700
465
561
653
592
662
472
772
330
316
339
634
526
630
382
326
723
367
546
584
482
599
632
473
688
358
342
422
394
346
528
661
624
769
758
448
571
363
556
737
693
353
603
322
678
664
396
756
312
440
659
301
746
434
334
391
706
645
563
545
714
429
717
723
563
328
433
579
322
749
446
442
396
304
376
557
345
400
470
380
496
415
728
338
500
374
684
346
504
575
490
769
721
407
770
796
571
610
626
767
494
388
300
303
642
428
545
762
696
388
587
477
426
419
503
341
483
773
722
394
562
617
632
391
654
627
750
696
781
424
757
357
787
466
395
749
794
488
554
526
537
699
734
554
372
727
662
303
610
529
741
688
756
766
478
721
610
565
330
338
723
583
451
446
557
748
633
402
359
771
318
689
302
338
349
441
624
385
557
741
430
375
794
442
549
589
560
428
532
425
758
759
787
678
709
765
641
600
595
728
459
582
759
373
533
620
596
677
586
749
407
466
331
756
573
309
491
590
788
409
672
459
686
751
785
532
652
743
465
433
761
567
362
619
702
589
669
617
564
515
533
302
562
582
585
741
753
569
570
496
408
516
783
686
309
672
393
522
367
594
345
418
505
605
708
601
414
525
597
309
573
721
306
377
769
322
688
722
673
740
371
617
676
582
522
378
347
622
652
352
326
565
368
375
534
553
589
495
466
652
517
320
644
504
399
397
472
378
568
654
789
496
324
644
669
776
572
433
538
799
405
440
408
742
449
497
337
694
322
529
769
532
542
568
558
480
509
768
630
314
766
373
441
491
790
730
588
490
753
512
794
446
772
487
733
731
704
424
566
421
537
784
413
688
374
791
600
767
720
331
579
442
528
398
353
524
700
781
422
618
557
555
575
529
530
404
369
658
510
664
699
389
744
572
452
661
483
724
384
611
390
671
615
331
622
584
748
342
305
301
624
797
718
568
693
715
338
470
336
562
620
422
386
410
455
655
486
391
345
394
636
651
700
735
692
767
800
773
442
516
492
424
617
322
434
800
570
314
331
546
479
331
753
454
553
703
534
473
401
547
675
337
754
456
366
595
538
545
496
793
764
481
648
736
584
303
620
666
436
584
300
542
658
543
435
607
699
646
356
510
709
653
735
396
615
465
534
494
645
526
405
681
494
399
678
307
612
677
574
337
498
451
777
448
535
344
350
405
472
631
676
622
785
423
390
732
672
688
356
536
447
767
323
777
615
668
508
522
564
764
664
563
754
346
671
585
448
756
438
793
416
655
336
528
413
668
715
381
763
551
466
406
597
611
594
785
572
514
503
344
339
671
449
393
562
481
582
469
364
480
487
421
734
549
662
504
546
629
376
562
482
768
410
760
705
669
580
451
355
738
405
633
362
724
784
682
363
462
403
604
419
419
485
375
765
673
710
745
552
392
301
742
499
615
453
610
656
726
724
717
354
526
384
671
456
770
639
430
373
618
611
399
568
417
473
418
690
719
684
685
476
731
371
461
709
705
625
653
394
780
413
483
752
423
641
473
447
468
406
458
451
655
337
529
781
728
403
673
715
791
465
462
541
532
406
712
301
434
604
339
302
791
425
598
457
631
621
527
381
491
639
652
709
764
613
653
369
461
714
579
490
302
587
628
613
656
423
744
442
657
374
627
531
543
628
471
615
452
526
635
756
466
554
507
476
319
436
334
603
491
727
793
472
402
516
716
710
359
690
492
619
319
450
743
663
694
343
388
317
569
674
638
595
539
474
312
589
302
735
557
477
598
448
367
583
489
676
565
697
419
786
667
563
303
625
358
349
468
422
702
474
735
687
487
786
458
500
576
495
761
380
710
732
335
732
587
505
474
522
791
524
578
737
426
635
440
539
527
786
551
459
514
357
745
496
732
524
769
650
356
663
511
637
416
553
367
572
637
302
403
324
686
428
405
621
514
506
311
530
303
628
571
506
685
781
379
444
558
754
533
730
594
599
693
655
563
520
502
528
396
675
343
788
330
645
770
531
717
558
662
555
372
528
331
676
605
499
349
695
553
731
428
640
588
645
724
635
682
467
780
771
559
513
335
620
369
330
457
499
496
598
608
616
571
354
618
722
542
451
721
736
476
569
326
717
495
383
382
776
551
617
412
490
399
638
386
440
730
786
391
759
493
752
480
794
713
751
747
770
752
489
589
731
745
413
519
454
437
324
589
432
631
366
574
712
597
797
784
365
769
354
531
496
688
459
701
768
307
686
708
524
420
453
716
376
491
365
468
538
651
728
515
775
712
581
563
454
720
346
436
457
603
391
586
666
664
399
774
428
793
796
504
625
353
495
457
701
509
742
653
759
766
399
643
655
658
569
760
548
528
731
555
351
403
376
423
566
557
723
587
511
443
727
399
736
503
461
361
587
307
363
424
488
331
664
689
762
629
792
749
533
390
343
572
476
565
381
302
717
588
759
328
316
794
800
317
525
507
314
328
690
325
454
521
548
501
335
691
686
609
765
731
744
566
473
444
476
626
431
788
749
791
783
694
656
720
372
410
389
550
339
690
646
456
764
314
593
726
534
455
309
439
689
334
700
348
365
420
694
566
442
486
594
313
461
470
683
789
323
529
539
729
625
347
393
765
329
668
427
565
333
479
581
414
520
714
698
779
384
447
644
342
325
488
435
437
656
656
441
782
707
617
621
771
394
336
542
504
728
352
599
798
709
399
385
613
300
576
451
522
515
800
791
550
398
589
477
631
633
724
787
484
527
760
680
475
788
670
601
583
675
793
388
379
576
468
539
302
365
733
440
543
743
318
519
340
503
754
439
606
625
396
530
360
714
382
638
766
508
653
745
320
410
588
338
447
639
306
617
579
614
790
791
698
504
420
722
679
386
606
662
415
321
570
711
798
422
641
403
732
472
706
465
401
397
665
696
433
302
391
687
322
407
679
637
611
513
672
793
396
535
391
646
748
440
768
322
467
317
432
474
755
510
640
740
640
565
682
378
469
448
380
344
404
741
541
509
483
442
401
759
334
581
474
728
320
740
479
441
485
427
603
416
654
355
476
340
424
633
308
588
404
445
374
423
433
564
433
419
441
421
637
799
479
607
317
695
464
599
763
796
455
715
545
594
640
419
697
665
464
695
525
737
599
602
535
750
529
388
680
531
302
697
325
396
744
525
492
767
761
565
527
745
576
489
726
785
793
608
525
688
742
681
532
495
604
309
646
324
635
787
527
491
637
336
353
670
480
624
658
767
670
437
528
441
605
778
581
774
373
705
422
476
752
533
421
406
597
384
746
300
571
412
427
591
734
575
637
789
608
709
337
428
443
574
573
394
390
520
395
608
364
726
352
529
690
773
739
375
464
605
514
627
684
671
646
603
396
487
754
590
772
599
647
641
527
514
445
750
537
761
514
314
391
404
745
704
691
315
794
712
402
438
688
496
437
673
507
445
619
793
352
771
330
520
603
541
498
799
751
678
604
636
791
522
335
380
481
732
512
628
587
575
624
743
461
485
622
320
431
525
578
472
422
302
357
353
342
344
481
341
531
757
444
350
356
318
351
504
345
513
516
402
509
450
622
366
723
446
504
440
378
659
789
537
794
408
535
481
445
506
389
786
512
469
364
478
413
492
319
374
506
585
595
587
672
523
531
741
495
355
595
551
346
651
792
591
509
496
514
796
667
603
582
644
640
660
619
731
571
524
439
440
662
556
397
411
470
360
537
636
439
723
351
651
497
470
796
564
684
663
666
783
514
307
651
651
740
638
506
570
698
435
793
638
775
721
759
544
303
470
650
393
359
623
507
662
359
345
560
727
470
692
579
752
490
598
363
445
727
736
552
753
344
685
496
338
441
418
401
713
536
659
480
570
740
577
575
665
396
434
502
376
525
315
648
411
689
543
697
432
673
495
536
762
660
639
372
793
337
305
367
718
332
554
698
563
779
327
483
495
420
668
559
308
340
746
731
351
538
306
323
477
689
584
603
647
648
311
439
404
353
361
485
694
766
379
709
387
493
674
390
656
594
665
468
714
545
738
582
579
409
525
417
788
406
312
719
479
637
507
652
523
732
326
754
710
535
678
729
717
524
466
623
341
785
596
387
333
605
630
379
499
615
372
417
377
760
414
466
785
628
665
503
539
692
620
337
633
455
774
644
787
529
415
312
765
792
603
626
333
466
460
538
696
787
723
609
473
413
651
434
766
321
617
343
762
310
428
686
371
319
429
482
582
790
567
358
615
370
383
702
419
364
782
342
637
630
568
404
730
699
677
453
791
795
595
564
334
354
536
513
331
758
774
405
629
396
563
648
316
664
636
310
388
569
560
648
690
300
724
458
411
441
506
393
671
606
583
755
449
402
568
674
521
495
358
596
582
640
358
324
643
683
652
347
723
301
776
602
320
688
312
471
635
584
718
605
688
782
455
733
347
406
480
631
612
592
793
646
656
732
431
550
646
674
747
572
589
336
609
748
604
788
539
588
797
414
768
384
681
506
723
544
593
530
716
323
421
583
753
344
347
505
485
341
714
557
364
355
380
496
311
596
633
501
737
712
611
368
531
344
356
669
789
556
684
702
599
384
586
372
790
717
774
659
383
625
420
737
747
310
683
640
430
350
532
760
458
427
784
671
475
329
449
380
316
322
382
425
643
754
624
730
785
460
785
754
300
409
489
729
560
734
774
754
729
609
613
600
331
613
316
545
789
702
567
603
364
501
419
308
370
377
756
329
698
635
427
754
653
365
325
423
308
718
771
523
672
432
602
531
724
621
724
783
409
686
634
721
647
303
395
620
507
577
319
388
448
498
710
562
454
313
427
421
445
560
612
793
640
694
303
371
646
666
568
349
729
348
315
750
514
508
567
771
475
493
682
341
624
357
734
350
722
629
300
733
564
307
649
751
447
759
788
389
502
777
718
394
480
618
745
748
367
753
335
357
496
447
548
351
542
541
553
372
301
764
571
551
748
651
570
718
330
686
316
393
798
477
659
762
301
697
489
561
760
371
351
642
731
620
454
621
386
397
481
360
498
714
569
675
768
450
729
706
770
547
507
624
450
754
751
662
690
762
336
581
682
526
340
552
303
414
697
307
482
688
348
367
375
345
604
706
435
800
743
310
742
490
731
602
559
750
544
605
679
315
310
322
798
653
797
633
586
641
714
443
356
712
414
702
336
441
742
427
786
794
539
347
579
680
551
301
793
780
594
488
382
307
504
472
590
655
376
553
638
599
327
502
700
363
563
317
421
553
741
698
703
552
413
628
509
726
314
745
729
535
770
689
533
658
384
555
752
444
658
771
412
774
517
449
615
419
583
522
589
612
504
534
604
437
763
697
547
489
587
675
527
374
573
569
595
595
691
317
430
732
653
508
328
664
782
429
789
719
492
432
492
358
685
688
302
557
621
690
569
640
512
676
353
561
753
752
417
582
530
450
511
404
615
661
398
704
496
483
659
610
746
718
735
482
329
438
708
445
341
687
731
584
443
344
374
329
359
517
689
587
564
537
745
642
392
494
463
360
401
347
784
540
684
571
357
369
633
610
425
756
324
685
331
627
557
432
479
635
385
751
679
457
677
375
385
642
313
529
717
536
567
549
446
404
623
535
324
556
526
560
724
674
413
787
504
770
728
770
595
511
592
770
554
361
445
471
718
573
378
485
356
397
756
358
711
770
710
487
472
528
348
658
633
331
577
779
640
766
612
408
730
589
664
673
445
591
596
697
556
392
463
364
519
552
480
758
475
387
661
501
727
471
352
700
406
658
519
694
329
504
760
579
594
724
303
586
381
682
548
613
663
367
589
391
326
348
731
789
460
312
489
641
763
642
305
598
380
771
310
717
581
710
703
315
702
301
652
431
435
672
660
671
608
753
731
576
745
545
661
397
447
568
397
357
696
664
420
492
671
791
441
358
565
685
544
688
575
623
665
595
498
374
307
392
568
401
637
382
780
376
395
661
469
415
407
579
467
461
379
383
563
446
413
477
584
617
522
700
656
512
773
346
547
332
698
372
588
506
482
763
491
697
363
532
479
661
374
385
503
608
435
687
691
596
518
793
620
469
343
753
550
711
791
418
497
776
736
532
473
316
762
554
362
301
695
697
479
596
774
638
560
569
367
576
675
800
366
771
333
388
486
562
534
496
367
375
557
742
387
707
692
722
787
500
696
796
416
430
634
435
607
463
620
363
491
728
315
303
605
477
388
710
769
393
356
376
614
331
699
732
353
704
638
537
397
372
422
435
460
379
335
410
576
421
448
600
552
600
728
568
438
574
492
745
389
738
546
729
613
478
597
506
474
484
430
689
783
474
630
727
730
787
511
366
384
764
466
709
413
396
791
724
782
534
760
397
474
786
539
764
549
746
428
670
453
767
786
596
790
724
793
511
715
629
370
503
549
648
521
763
358
534
773
310
474
731
761
327
359
378
794
687
477
484
440
405
300
798
440
675
570
661
457
318
414
775
657
370
360
448
486
792
699
789
799
443
662
758
695
442
636
753
498
690
498
536
329
731
633
539
660
309
454
738
369
669
567
476
586
498
316
499
498
650
778
482
714
520
703
622
716
403
636
482
479
401
751
327
640
673
643
476
786
712
689
314
594
455
680
662
780
310
730
708
777
639
473
320
554
595
503
676
366
774
749
484
742
639
644
624
514
702
446
660
631
469
651
439
767
483
387
329
644
410
566
332
332
422
645
759
429
547
386
649
724
607
383
480
424
622
616
784
677
595
615
577
381
730
649
544
403
563
318
718
768
621
690
624
509
454
303
564
477
667
376
696
594
736
756
758
666
788
591
421
777
539
565
506
386
365
714
475
537
586
327
572
697
678
582
666
668
728
467
621
490
556
523
772
688
486
607
396
380
501
556
577
719
678
384
464
432
725
760
661
684
593
474
456
799
440
743
304
445
476
534
664
399
648
391
793
359
306
711
778
423
396
766
555
599
409
531
651
412
390
677
374
673
331
619
675
734
463
553
765
656
498
793
322
392
586
357
366
316
639
593
569
438
376
574
756
643
611
701
694
468
767
313
377
731
349
510
438
488
605
549
380
511
664
473
527
376
710
520
784
638
384
521
765
338
712
680
678
733
351
572
418
544
679
694
654
732
775
474
676
791
769
700
500
769
779
682
741
378
642
718
636
504
402
692
671
465
585
701
415
678
563
731
446
667
543
784
542
447
648
650
607
598
655
574
768
650
676
367
596
509
737
418
636
767
359
743
685
636
707
717
326
599
689
463
488
343
562
309
702
453
716
513
675
687
394
738
303
723
612
448
545
335
368
406
596
715
331
642
313
623
625
342
707
552
527
467
796
506
733
360
461
532
745
468
487
579
450
584
527
531
425
441
451
624
370
640
613
659
782
454
711
499
630
780
349
740
560
460
786
769
613
517
758
742
562
766
664
331
423
619
655
447
754
502
444
468
518
394
623
491
526
718
694
693
339
425
662
746
730
689
530
487
687
800
497
474
616
667
400
651
322
427
527
542
713
752
448
502
673
584
717
552
329
432
306
404
622
433
383
583
715
314
480
662
709
368
684
428
495
498
682
614
543
357
418
377
701
727
739
567
744
343
543
723
751
438
575
468
452
349
356
784
365
745
520
374
666
568
777
350
762
418
760
469
789
631
405
360
623
369
670
408
547
566
712
331
583
625
592
322
626
425
418
531
663
554
765
312
700
687
300
631
696
332
495
565
677
417
457
775
507
677
677
579
464
687
312
766
599
324
543
703
379
529
597
599
611
631
427
313
661
333
418
714
368
532
450
328
585
330
355
329
535
597
709
678
769
670
427
423
355
725
783
674
380
478
652
594
354
380
702
552
365
547
538
624
644
453
632
382
408
655
320
667
449
345
408
474
760
759
491
602
781
508
628
374
634
468
699
711
498
662
455
700
492
477
595
506
742
685
723
709
778
478
475
643
667
504
758
404
790
662
662
737
618
512
694
637
723
664
666
593
685
577
403
468
431
593
404
327
480
594
444
720
744
570
760
795
721
735
703
707
360
764
786
569
637
598
690
518
771
403
573
443
567
422
664
411
759
690
663
568
333
442
689
347
395
395
436
597
693
308
745
653
374
746
373
673
697
545
537
755
438
570
664
448
325
783
487
355
675
422
770
578
668
615
510
567
675
642
788
404
708
499
764
709
437
781
409
649
302
656
396
353
414
535
354
750
329
547
618
564
317
389
325
432
300
607
632
414
416
370
432
667
417
525
798
745
562
588
439
695
306
642
562
351
440
311
770
732
334
779
619
793
551
507
434
698
469
625
577
694
548
696
300
348
314
386
337
711
703
346
742
579
602
458
746
489
328
524
619
312
318
309
558
346
596
678
403
696
653
400
584
711
796
321
490
370
516
455
523
606
662
691
493
725
658
680
732
520
756
569
394
585
617
626
383
754
424
718
793
422
508
426
585
638
514
360
785
736
632
503
407
384
579
593
562
754
336
327
422
448
562
599
403
458
433
781
682
437
711
631
614
714
704
652
776
461
309
774
795
460
595
471
336
441
569
310
781
330
578
467
734
660
322
717
407
652
418
583
414
781
331
356
561
593
610
779
483
771
515
572
546
656
611
394
417
773
665
455
590
727
313
533
684
733
655
452
784
664
602
794
451
433
396
634
719
581
589
363
357
648
463
651
618
436
787
626
603
696
418
685
648
731
512
665
777
600
344
746
620
365
649
622
647
483
577
561
775
449
473
452
631
415
616
389
800
717
620
671
587
539
546
440
342
478
481
746
346
462
405
690
767
583
495
711
468
644
495
800
436
443
326
542
693
427
469
622
522
598
698
326
609
350
759
598
516
637
528
763
468
498
476
764
600
769
763
709
603
574
629
471
646
445
410
606
492
538
361
636
787
630
499
462
531
566
622
687
553
532
613
306
556
583
436
616
501
427
582
525
686
415
779
675
705
364
461
369
479
577
513
776
659
673
634
314
338
764
332
472
479
365
659
405
516
585
800
795
518
655
444
461
725
755
576
739
470
679
635
736
402
497
729
344
465
629
720
687
422
555
301
630
645
371
556
551
632
625
606
559
537
637
708
513
649
786
539
536
723
761
522
664
650
547
358
338
350
769
662
446
533
344
383
799
426
556
325
490
711
458
619
640
333
532
370
303
553
387
659
338
577
324
362
688
405
349
626
502
508
690
345
619
751
485
696
442
525
409
531
478
728
788
460
790
420
596
768
686
322
430
553
466
332
649
534
424
376
532
506
714
520
357
468
314
625
526
796
369
754
665
785
338
743
698
339
575
522
636
780
719
452
474
614
446
609
684
500
704
620
477
700
643
636
303
541
517
363
620
449
799
695
793
774
677
792
561
479
455
326
469
438
331
730
450
540
776
691
695
575
427
611
642
661
583
400
610
534
405
664
537
788
327
357
797
654
444
329
767
362
576
637
503
592
324
645
477
304
376
371
511
603
314
472
769
474
716
476
336
665
591
595
568
546
459
415
742
444
371
357
698
427
375
777
776
438
350
635
689
756
462
778
584
445
379
682
366
770
331
563
749
626
592
619
524
424
776
473
332
778
525
395
768
346
385
418
376
610
722
562
420
695
319
465
661
682
527
684
624
768
773
513
434
416
508
432
668
770
661
675
729
656
486
624
463
492
614
393
340
401
662
300
397
322
747
698
470
336
400
480
339
599
759
532
762
612
662
437
451
431
442
555
645
595
380
337
460
496
620
704
657
775
687
762
575
627
679
776
567
564
334
369
507
722
749
593
734
531
454
768
441
397
564
753
452
749
551
368
468
481
394
489
519
525
406
562
432
440
674
800
689
371
560
684
697
667
638
425
393
304
681
715
322
598
424
720
329
645
319
308
403
411
711
694
417
475
427
392
446
405
415
724
744
301
775
410
331
595
769
730
655
323
792
445
581
765
522
551
623
445
405
668
554
346
538
714
490
559
735
721
520
361
503
355
335
403
711
308
485
440
788
444
700
395
660
638
731
699
737
775
799
310
653
620
588
786
641
475
476
445
630
500
328
684
773
623
403
659
309
670
379
389
529
748
504
741
495
381
528
596
669
536
576
512
708
673
502
500
758
752
640
318
399
708
367
713
436
564
394
682
410
318
358
391
768
386
705
453
789
518
445
770
404
512
413
680
482
415
702
364
491
650
566
682
576
361
424
703
737
577
581
658
780
506
562
556
501
456
615
794
414
741
612
438
795
443
431
519
794
451
533
474
735
603
704
551
646
377
776
594
652
612
637
782
652
792
622
317
590
768
301
716
730
373
579
424
658
382
677
695
334
666
652
763
578
758
756
464
345
662
509
793
632
434
609
679
636
335
735
724
435
672
327
728
355
683
735
383
548
338
580
649
546
402
395
373
767
650
786
596
439
300
621
527
396
776
398
368
372
401
575
761
758
464
789
708
466
578
321
486
399
404
497
363
314
743
441
566
364
500
491
432
548
460
692
472
732
325
648
391
532
540
303
535
676
763
530
575
466
651
369
352
475
719
460
311
353
710
751
367
730
558
387
348
737
406
623
690
384
373
372
537
585
476
660
488
620
690
663
420
472
566
457
437
510
457
503
800
364
784
315
756
712
312
670
442
385
731
700
589
689
760
511
722
432
666
674
501
302
540
741
471
672
518
397
703
328
415
430
582
403
386
376
560
617
492
517
555
576
681
427
720
780
754
722
439
764
339
683
754
784
774
754
543
707
611
742
681
455
582
438
549
547
384
515
444
684
461
777
528
774
713
749
797
304
746
580
653
563
678
742
460
573
448
523
305
461
737
725
389
704
343
668
456
487
607
429
590
590
619
629
659
735
660
498
341
470
596
526
735
573
496
337
652
351
185
340
241
337
257
497
403
312
480
391
63
149
380
262
203
353
467
86
284
234
254
226
440
306
95
177
190
345
20
16
202
292
59
442
486
287
107
417
58
103
483
354
474
322
5
264
44
22
452
306
49
340
76
74
446
386
5
131
453
183
327
15
432
350
77
394
145
259
224
362
128
253
124
352
234
447
450
325
336
450
85
438
388
303
467
206
444
199
243
197
454
42
137
278
287
466
222
479
237
121
482
177
491
390
176
59
451
275
149
60
476
27
281
297
129
427
24
1
251
329
197
243
291
348
294
146
240
84
303
109
436
363
244
398
13
162
430
197
256
98
285
70
78
251
349
23
292
199
327
325
461
120
412
326
494
94
337
383
365
288
474
484
7
46
293
101
101
393
418
450
338
249
178
399
476
476
228
153
356
47
304
256
24
496
47
305
500
147
20
229
428
258
34
385
154
325
359
306
295
340
25
344
161
372
247
62
41
124
423
401
146
176
139
291
270
201
478
92
288
476
329
8
56
266
416
127
456
34
296
428
263
293
370
473
176
474
398
357
381
33
281
229
281
62
400
242
269
131
6
412
3
244
330
259
369
112
131
298
26
437
237
140
86
173
290
228
464
491
425
50
328
473
446
133
99
160
210
160
264
178
35
115
245
245
121
335
123
396
324
46
415
351
362
370
95
116
496
286
68
336
161
466
38
150
475
215
285
310
439
74
195
95
83
475
229
127
391
76
123
286
26
336
132
231
99
62
445
274
480
49
114
365
234
229
271
174
179
177
98
446
394
80
67
52
273
144
84
399
460
134
147
418
313
307
1
30
76
223
358
184
339
27
59
365
8
306
212
311
263
134
272
365
366
98
466
110
322
272
162
372
212
396
333
441
370
31
446
164
261
142
125
252
248
96
294
429
47
31
448
16
410
375
424
1
296
300
362
142
172
393
430
103
259
243
496
393
156
169
266
360
262
131
139
279
8
26
365
84
167
490
251
132
404
115
369
454
80
237
198
386
398
478
29
136
161
107
480
435
132
20
225
6
295
290
410
374
442
459
141
15
232
120
497
273
238
410
280
256
499
347
42
71
117
260
371
282
210
420
413
447
29
272
337
435
423
207
71
327
162
138
73
189
226
112
462
282
123
32
209
333
491
392
202
38
92
302
439
334
66
217
247
34
31
89
476
207
432
121
295
256
41
183
427
371
196
4
258
419
492
57
484
72
441
156
302
389
444
20
134
163
440
260
222
66
207
472
359
125
188
321
341
331
287
443
164
413
68
266
162
312
176
102
156
239
124
465
307
258
152
378
132
309
93
31
359
204
404
324
129
161
308
263
209
406
394
213
303
297
104
299
417
113
243
438
341
306
110
281
115
339
400
237
268
50
398
459
37
69
231
461
195
1
368
163
235
431
296
205
274
430
109
427
466
345
422
294
149
286
62
473
460
430
33
487
199
155
121
180
272
443
111
272
473
398
397
313
144
236
421
12
402
286
300
369
15
106
456
385
314
162
107
137
261
157
202
175
84
338
295
61
432
224
128
224
490
71
137
36
170
19
228
337
38
49
207
87
163
383
422
243
461
339
167
269
246
346
52
422
401
35
48
455
481
102
335
117
343
377
17
349
367
282
377
428
459
444
347
471
19
448
215
16
217
425
64
184
419
260
226
382
424
114
296
154
35
495
107
275
308
443
408
56
421
359
337
441
385
387
180
58
441
425
443
452
419
495
491
360
200
90
244
434
173
385
343
482
187
93
409
263
100
387
92
272
286
40
179
397
443
109
277
216
115
155
307
80
411
138
273
19
118
10
147
278
69
191
101
35
232
238
104
56
16
325
344
219
418
140
204
398
258
47
284
188
84
248
270
219
284
421
92
105
4
375
434
167
64
174
126
168
129
40
436
498
88
278
43
495
23
215
250
187
298
480
48
187
488
405
221
114
419
104
281
152
410
48
142
267
190
390
309
374
16
125
446
382
343
13
55
421
350
268
100
29
30
157
116
193
263
238
35
267
352
313
52
122
176
63
30
133
306
460
388
201
485
48
350
291
322
391
422
157
244
469
264
18
247
225
426
322
57
279
108
48
406
5
456
97
50
123
259
150
281
51
69
469
230
108
374
273
345
32
485
406
200
341
86
317
345
21
56
438
410
312
109
497
302
263
475
98
184
16
267
432
242
92
161
233
412
139
152
128
443
355
368
30
377
464
366
130
419
236
215
220
167
130
198
196
415
368
500
264
478
242
349
2
318
483
229
379
236
464
492
377
433
128
36
351
353
318
237
138
466
499
348
349
3
223
57
239
275
243
130
78
281
345
70
328
21
35
247
385
185
351
449
47
171
92
71
318
420
23
99
432
66
1
469
237
1
196
396
385
264
102
479
319
196
441
356
374
491
153
344
444
183
248
203
122
20
295
469
6
272
19
270
456
390
167
275
172
439
446
259
90
246
241
173
192
119
434
83
369
439
240
372
271
114
382
327
34
81
448
8
441
63
494
93
446
419
388
386
66
357
43
269
471
362
401
277
273
454
500
426
92
378
109
323
360
358
107
432
260
165
496
475
89
227
68
353
135
369
225
453
206
5
164
222
175
484
421
115
325
317
19
445
176
215
207
188
129
244
330
190
495
238
110
34
491
30
353
312
82
235
250
202
169
472
166
259
298
344
458
48
234
13
35
421
71
43
198
145
315
14
451
346
104
101
47
284
303
87
473
294
403
346
242
92
87
331
279
143
173
341
196
170
78
164
88
149
179
366
420
349
109
158
310
284
477
497
318
326
416
290
424
281
403
121
325
414
371
481
289
363
422
244
82
37
346
212
2
153
403
447
19
387
37
11
251
50
188
408
484
57
312
139
486
232
249
10
420
106
295
182
326
98
499
384
244
95
142
248
377
46
256
191
343
49
433
405
106
291
348
259
316
319
133
455
419
296
73
462
319
490
377
266
352
156
64
155
488
163
65
88
149
24
297
474
253
117
310
112
331
76
186
249
119
289
32
497
212
151
299
52
337
499
74
481
253
314
399
126
467
220
496
128
95
325
122
231
272
408
212
368
379
239
461
448
476
215
88
168
427
385
452
14
183
269
182
440
335
495
154
492
447
364
256
84
253
332
279
499
37
38
291
398
144
159
245
189
64
57
75
242
493
101
191
193
68
360
96
477
165
243
468
367
236
57
462
405
352
102
345
134
360
191
278
368
283
73
410
143
279
295
459
90
182
435
420
209
165
204
214
266
366
479
150
268
201
353
161
437
448
185
19
3
496
119
459
292
84
352
169
252
280
361
421
161
495
323
236
321
157
121
114
58
124
11
163
302
467
202
16
10
362
404
177
323
493
326
128
117
355
325
4
477
259
54
221
201
30
183
446
74
65
379
477
369
278
422
367
330
281
293
362
63
32
44
203
222
20
4
53
151
37
419
250
97
421
44
94
319
117
8
410
487
476
414
262
275
76
364
90
396
140
478
72
396
284
348
426
247
145
188
72
87
456
382
312
201
74
482
486
164
166
220
176
417
219
277
459
241
278
133
320
15
248
225
329
470
228
453
277
119
75
224
91
59
125
87
252
17
305
147
343
11
194
390
437
224
349
118
166
133
415
390
306
257
103
254
423
467
154
410
316
482
18
298
267
493
477
261
101
352
307
40
342
252
274
399
500
459
319
479
156
253
441
423
423
7
336
13
356
265
200
443
460
67
152
175
144
444
82
453
179
140
487
21
47
363
444
234
361
159
257
338
473
400
143
147
228
240
177
169
49
70
260
53
296
339
334
76
282
431
313
162
211
290
470
398
69
237
298
275
292
452
277
345
156
158
5
2
408
166
222
56
230
96
108
463
48
402
159
415
420
252
359
168
287
45
51
100
333
104
487
55
306
270
374
421
247
367
315
196
399
445
464
424
323
70
486
438
460
499
244
121
152
95
46
268
78
447
487
496
44
46
254
374
210
136
370
350
284
71
181
66
401
119
51
155
99
485
92
253
405
371
52
254
220
338
488
170
325
144
217
129
347
109
373
222
21
58
454
224
216
282
351
268
226
350
190
479
200
163
124
224
242
497
144
90
328
491
439
72
114
486
54
358
241
367
271
270
373
478
425
39
210
241
477
121
119
6
261
45
212
233
393
428
255
162
83
29
338
364
165
132
312
123
193
27
244
380
415
263
108
486
187
138
136
287
331
173
483
329
38
165
360
364
431
308
101
386
211
446
300
111
389
350
19
23
171
315
262
186
131
327
17
10
289
275
276
264
133
233
119
101
498
143
363
199
325
201
479
289
368
483
200
311
174
433
11
288
368
232
193
262
410
289
397
140
411
441
327
316
424
324
13
354
459
175
350
262
225
394
297
434
91
70
124
440
6
309
485
168
307
108
453
413
436
50
207
190
400
483
73
27
26
442
459
226
409
53
202
265
262
288
487
30
312
249
140
151
408
279
240
95
188
236
432
366
232
425
163
412
257
494
102
178
244
440
205
103
339
181
221
124
68
201
54
16
322
426
14
206
391
298
425
414
216
340
168
100
24
143
365
316
425
223
89
195
370
81
41
405
286
486
111
436
395
340
457
437
293
258
12
343
113
438
106
473
271
116
154
345
479
55
450
312
13
220
179
112
129
242
225
325
182
54
282
68
423
178
304
253
174
402
407
45
337
72
313
308
228
88
210
193
109
297
313
456
193
346
376
476
99
210
36
403
393
447
340
395
484
437
64
420
121
456
235
428
35
47
197
58
159
32
92
494
54
482
378
18
7
473
144
451
353
370
318
283
42
367
418
7
30
217
83
205
121
300
24
40
275
328
279
160
385
384
63
62
22
373
269
396
326
101
110
393
296
169
400
492
59
476
300
219
389
253
39
13
247
420
133
289
189
274
442
214
110
140
313
407
169
151
195
258
348
98
424
58
138
159
365
31
96
27
174
392
281
153
488
147
246
7
343
211
304
294
326
295
465
259
164
343
375
307
419
437
145
371
380
471
396
281
481
132
254
304
427
260
106
254
492
84
431
17
366
183
382
135
323
332
323
211
96
101
164
129
1
393
278
370
35
350
135
238
1
438
249
11
32
273
416
251
357
240
329
301
366
324
374
289
154
184
479
202
211
37
428
170
34
178
423
49
440
477
449
378
355
450
104
480
157
237
419
44
139
486
245
341
126
177
500
445
418
472
50
74
147
39
332
153
329
23
391
374
477
375
368
182
261
147
467
119
238
474
427
174
56
71
342
347
300
104
429
198
151
220
388
265
301
224
130
255
418
281
254
191
456
488
139
90
259
6
175
495
258
187
112
5
390
231
117
136
358
393
71
312
433
452
59
204
441
187
263
287
41
488
10
381
358
304
489
120
471
67
124
86
195
80
431
407
72
113
357
93
89
26
207
240
37
83
258
103
27
43
159
253
207
223
400
381
43
456
16
131
155
42
185
86
279
342
242
195
262
226
139
476
128
25
57
98
422
342
11
194
374
118
91
494
387
299
78
293
410
282
338
472
98
158
303
313
315
483
98
494
177
330
459
118
93
348
477
380
384
168
266
113
228
179
441
369
433
447
128
6
480
244
53
473
85
360
353
37
462
197
227
78
492
368
252
147
210
465
159
249
144
494
96
372
27
379
66
419
426
76
17
451
346
93
340
138
247
391
464
299
186
399
446
282
55
309
438
118
328
131
11
366
437
152
273
386
120
164
159
175
352
138
174
186
25
281
459
109
408
124
79
451
465
13
301
139
118
397
226
361
239
390
134
381
399
218
444
185
338
175
34
338
258
101
287
298
140
92
421
449
464
327
131
345
356
183
498
488
82
307
328
135
26
342
178
370
103
187
497
79
166
445
148
398
333
144
170
486
114
11
88
191
235
491
327
85
243
465
15
246
370
424
471
411
471
112
304
383
327
67
81
54
253
25
18
206
71
163
270
268
418
496
143
293
114
81
28
127
417
319
46
172
187
240
159
99
200
398
409
351
449
28
384
488
33
403
386
251
211
276
373
18
33
17
142
379
240
341
34
295
203
62
125
34
479
318
190
405
62
286
171
227
157
348
461
78
254
455
278
343
249
205
459
474
115
433
293
427
418
135
36
53
318
377
490
69
192
107
489
90
376
207
60
261
373
224
285
148
390
354
56
486
297
411
61
422
155
116
308
396
467
494
258
284
11
380
423
40
241
443
11
7
148
145
246
45
327
135
155
214
3
474
426
159
392
45
15
463
75
258
135
35
91
86
261
274
121
207
126
448
59
365
277
470
192
420
499
346
270
10
352
180
230
389
271
418
413
260
56
497
137
339
170
406
462
153
361
193
119
246
37
428
100
70
470
384
97
29
429
264
378
453
407
454
139
413
454
248
100
84
476
188
2
340
33
273
264
417
321
14
144
281
458
60
14
321
32
345
339
6
254
19
324
119
305
416
258
296
201
436
274
352
476
8
269
259
140
99
322
150
145
57
189
301
348
73
89
204
371
180
25
441
372
65
379
9
42
30
38
314
27
499
170
209
500
145
28
142
79
132
339
178
178
407
242
365
311
27
247
184
308
83
149
177
313
291
411
55
296
215
80
337
124
164
496
219
195
46
117
296
486
180
36
419
100
426
306
264
54
80
382
112
38
437
21
54
235
339
397
12
394
325
52
34
275
71
497
229
42
497
137
129
281
181
451
133
250
198
215
172
259
166
177
78
198
217
310
340
152
112
8
225
446
122
314
430
134
237
455
164
216
400
80
365
236
196
258
58
217
253
279
265
177
97
120
419
352
88
372
495
467
211
12
174
304
143
182
131
28
269
208
456
214
357
354
137
276
139
481
71
180
358
475
481
32
244
268
470
191
55
366
296
416
235
65
246
437
412
7
255
73
291
320
16
303
298
410
215
87
437
334
279
260
325
318
429
188
487
232
221
379
64
429
474
290
136
500
350
317
297
342
33
77
196
485
349
404
380
249
397
134
295
399
416
212
161
478
350
209
438
124
365
481
336
277
364
7
127
208
45
27
110
419
378
44
28
381
275
184
155
7
342
74
140
43
207
149
140
169
243
243
287
133
205
329
51
162
184
458
44
225
73
292
255
361
36
470
157
163
185
196
315
12
474
457
165
158
216
439
416
456
204
445
415
90
351
270
353
76
109
355
209
467
139
315
268
418
205
479
150
320
40
355
32
147
261
64
220
1
90
277
158
111
313
342
496
79
276
265
122
82
76
414
52
499
162
188
53
276
267
419
488
139
284
278
238
314
75
152
176
455
338
403
134
138
138
203
357
296
467
489
134
362
291
179
241
212
116
77
361
140
196
38
273
156
76
313
20
159
489
347
498
380
423
342
104
116
199
477
359
282
17
327
380
233
320
74
347
447
490
151
118
298
99
64
225
239
333
75
108
54
18
295
153
53
375
469
172
246
381
236
417
256
486
478
498
134
265
171
290
262
88
65
190
301
352
181
486
484
379
272
469
233
193
354
110
280
452
254
90
324
211
172
332
142
85
327
410
36
196
406
163
243
157
264
303
287
139
445
463
360
53
181
442
75
100
402
175
463
310
250
78
398
405
57
334
232
195
129
194
206
204
291
389
325
294
459
247
442
133
4
81
162
452
486
340
19
202
277
91
274
298
195
96
79
203
455
334
39
292
293
192
209
205
294
393
397
134
164
383
191
172
54
258
311
47
286
488
406
396
297
91
95
156
57
315
129
229
102
302
46
207
498
353
265
432
31
326
310
378
47
495
210
234
44
86
14
255
286
320
51
276
300
486
212
200
387
65
378
51
279
154
38
25
389
429
34
15
238
44
424
26
117
175
102
214
428
256
67
384
409
425
104
356
116
201
220
1
394
324
3
6
312
202
85
122
274
340
259
208
127
236
175
78
1
267
76
276
119
376
134
362
224
495
283
438
60
495
188
15
441
117
23
128
258
115
57
213
136
142
97
398
246
317
452
425
164
99
464
388
170
263
495
476
258
218
345
332
408
388
335
152
85
329
188
239
474
265
433
251
155
179
192
1
352
108
161
411
178
458
150
459
19
180
479
467
180
285
486
333
495
257
313
230
37
210
456
98
418
398
50
68
96
319
344
465
359
92
257
494
466
470
398
11
423
499
85
38
349
82
174
46
495
389
450
326
54
369
368
453
184
420
446
15
499
337
425
242
344
49
133
252
421
305
67
222
131
161
254
130
198
248
456
269
23
177
410
491
363
430
140
217
162
51
291
261
387
479
330
465
364
180
211
466
174
149
46
179
165
109
48
147
482
218
14
280
15
44
94
114
461
433
255
384
105
374
409
286
281
219
292
460
137
432
370
339
241
404
275
170
339
64
449
409
306
438
130
157
83
474
473
83
207
277
103
360
194
77
290
365
280
3
355
397
496
490
30
436
400
395
22
231
315
381
373
207
426
306
353
286
103
480
464
385
418
220
178
119
164
249
396
15
304
181
139
231
458
317
32
117
448
162
102
370
479
453
78
121
121
187
130
86
23
1
122
49
278
285
353
239
54
365
402
36
239
278
247
338
333
397
454
37
468
101
169
220
38
26
46
201
87
209
282
305
198
62
247
391
246
135
303
171
330
130
89
199
46
50
112
282
431
179
443
37
185
200
421
48
319
383
388
161
361
384
154
119
266
154
439
82
470
83
150
403
418
211
64
185
496
389
58
380
462
86
24
465
206
119
443
197
380
77
136
282
263
296
395
181
171
229
266
287
12
190
368
292
380
476
275
125
391
355
317
306
408
67
471
16
256
14
426
149
487
283
455
27
464
277
432
362
191
364
405
118
161
34
394
92
367
218
378
341
115
496
285
278
199
153
119
271
114
260
148
303
214
102
488
29
76
263
408
113
35
31
167
10
371
468
20
461
62
45
281
127
241
76
81
499
177
132
376
154
82
311
443
124
368
336
483
72
421
393
258
24
355
96
409
308
298
320
17
302
303
295
229
291
244
458
386
365
345
361
226
68
296
209
288
26
329
164
384
291
16
389
379
62
403
285
381
232
25
298
19
435
233
478
397
390
137
308
340
48
46
335
34
126
289
296
471
459
465
335
424
99
384
1
11
260
499
254
409
293
221
162
104
316
344
82
46
120
300
168
423
428
462
423
399
144
341
198
127
77
359
68
366
100
142
335
161
452
139
238
453
356
381
95
109
113
348
54
294
93
340
23
82
146
412
392
202
229
311
180
313
134
473
204
251
137
161
57
359
164
64
57
163
89
430
383
50
299
321
122
475
176
449
314
307
188
220
43
345
490
483
334
478
273
58
142
457
187
298
164
443
362
372
304
13
151
39
9
42
300
310
446
365
181
176
467
296
4
257
99
358
187
186
52
451
283
210
210
194
474
404
452
370
284
100
274
118
239
229
40
210
150
437
208
234
486
213
239
114
317
233
500
320
299
164
10
119
326
233
361
473
41
349
225
224
261
29
139
190
365
39
141
126
156
161
97
264
333
191
90
200
283
215
455
408
131
40
192
401
75
267
18
103
141
133
323
480
189
469
420
18
28
262
425
294
70
302
43
14
495
383
476
160
330
195
483
377
258
311
54
320
103
156
254
222
77
9
90
331
261
25
473
205
385
206
226
74
429
284
357
480
171
224
420
464
43
389
424
439
382
208
283
353
301
264
188
300
423
488
234
22
151
482
464
363
159
390
17
425
239
408
300
191
6
39
428
81
228
485
51
394
280
220
461
488
5
179
496
377
281
259
314
370
489
70
87
9
292
274
206
20
82
68
31
202
436
383
231
259
143
423
327
155
343
390
202
64
371
125
235
415
127
42
252
182
2
311
110
393
89
307
405
211
316
189
107
465
448
145
80
493
27
419
477
209
121
423
168
198
287
355
456
404
50
56
258
24
2
83
332
205
321
321
345
458
407
455
438
61
379
152
320
208
112
317
312
52
423
158
441
319
390
359
12
119
214
318
106
6
381
420
269
429
86
431
468
133
390
126
335
96
85
297
60
101
202
149
201
96
377
484
70
489
466
486
242
321
19
11
410
366
295
177
38
107
205
398
341
319
365
466
96
472
370
279
214
9
37
467
147
434
494
24
239
492
169
8
498
132
392
75
399
64
120
241
170
473
181
193
123
341
41
480
61
461
161
439
467
11
418
327
382
245
334
43
360
206
318
425
89
242
370
484
141
38
393
194
242
238
15
101
196
287
484
370
342
353
498
117
175
313
148
45
199
61
135
477
221
341
85
166
98
435
364
415
276
394
317
79
413
231
259
361
34
168
132
325
176
222
343
380
114
393
386
126
441
63
91
401
18
366
106
189
382
405
423
439
96
93
368
15
335
11
217
178
10
466
468
342
347
395
418
388
264
321
26
32
257
138
235
19
350
241
10
79
312
242
11
329
221
195
390
72
85
330
184
363
476
455
292
243
229
157
23
294
29
1
68
40
138
418
134
12
139
441
111
337
253
153
96
452
30
352
419
181
406
460
389
13
32
496
272
257
317
199
124
38
140
431
130
454
36
340
37
144
355
300
139
305
59
450
109
129
249
479
331
314
311
69
211
263
374
177
324
401
156
1
402
363
19
161
57
327
416
122
80
362
436
484
477
265
389
282
251
355
24
6
15
258
419
134
11
170
474
65
388
121
420
371
60
490
148
216
66
5
121
70
382
287
248
274
121
343
416
232
277
380
69
3
33
487
190
322
441
225
396
98
477
307
240
154
316
98
56
80
464
278
384
348
229
42
444
294
119
353
163
148
428
12
34
6
295
496
285
322
252
497
35
146
302
441
173
392
191
468
128
305
491
252
56
74
226
476
220
151
279
445
227
303
136
148
412
349
176
421
3
49
201
462
257
130
215
217
282
240
477
451
54
339
119
36
73
342
236
132
52
366
194
137
150
336
132
232
355
402
388
126
257
151
132
495
44
69
188
74
444
187
113
172
435
417
416
431
348
459
297
111
100
447
439
300
255
455
225
115
223
18
416
439
198
76
232
316
198
13
69
119
30
303
496
170
387
436
278
495
188
261
29
12
32
182
385
133
287
144
31
329
424
289
434
228
378
344
190
446
305
460
342
182
109
459
210
330
282
276
226
130
146
189
106
288
16
467
62
50
121
480
430
91
350
95
152
293
10
88
42
149
406
35
292
354
171
135
190
287
88
160
363
399
301
358
66
122
187
237
345
130
326
434
365
161
217
28
133
154
405
351
67
112
469
318
226
54
27
88
497
494
376
174
456
257
362
228
113
163
379
458
107
452
241
342
276
10
260
11
244
44
220
434
414
336
374
445
67
440
182
332
278
38
44
256
275
450
311
452
477
339
322
247
306
390
54
380
173
363
77
73
92
89
434
219
347
480
5
127
397
35
226
198
490
28
438
207
396
309
319
357
324
432
22
419
336
183
270
277
38
471
171
186
106
462
412
288
441
273
498
457
100
59
107
227
217
140
72
466
377
389
135
331
334
21
101
61
47
67
132
200
231
3
237
257
143
331
236
161
221
394
41
171
386
220
260
377
135
321
16
163
335
344
165
398
125
336
208
120
89
354
128
325
58
54
324
24
36
292
441
232
3
312
145
325
352
406
229
451
371
67
235
28
367
389
377
399
382
102
247
37
481
136
283
81
401
497
172
205
479
330
472
435
102
74
212
170
263
304
155
365
86
243
269
82
292
44
382
157
4
166
390
80
240
257
325
71
268
283
205
469
46
15
20
293
475
293
100
371
146
52
121
431
371
473
95
389
250
396
192
308
33
68
433
81
626
692
706
757
537
406
358
578
561
785
382
390
407
355
748
710
540
682
406
352
437
486
470
589
573
677
649
580
777
799
630
509
553
747
747
737
622
578
392
787
325
395
379
652
643
800
362
716
603
570
349
506
332
771
450
385
368
302
697
377
399
672
788
313
402
604
609
634
519
772
429
782
716
400
710
790
654
415
750
322
755
609
517
464
303
666
524
556
414
395
641
738
469
642
535
517
617
511
678
311
354
509
388
740
661
515
301
685
775
745
678
563
700
454
536
326
480
732
630
476
300
744
598
481
613
300
508
525
749
304
429
671
564
779
695
463
657
745
620
594
754
395
408
570
783
308
393
741
691
355
612
638
704
755
574
492
771
532
338
461
484
321
646
429
535
764
408
560
598
590
465
445
641
661
353
766
390
425
585
478
483
615
581
459
770
404
500
613
687
613
422
514
789
485
377
554
384
557
506
661
641
510
399
341
501
390
337
380
482
342
550
515
602
616
325
753
604
479
748
308
528
647
613
682
526
754
544
779
317
455
556
390
444
733
479
432
620
504
365
467
702
783
319
750
401
772
596
667
690
484
451
479
305
409
673
316
445
488
770
772
706
485
512
605
709
303
366
698
786
730
469
761
406
569
466
691
701
606
626
538
674
370
584
788
452
525
692
338
670
679
345
635
431
512
401
360
331
750
743
363
582
728
799
775
762
657
479
753
322
704
334
490
572
661
349
669
440
340
769
734
535
342
432
314
730
331
425
436
602
463
356
505
480
739
573
725
481
470
448
596
354
471
776
678
345
640
549
315
555
336
364
467
665
304
389
337
305
338
385
325
774
715
353
483
445
311
744
712
415
347
708
520
555
759
445
514
397
452
783
617
718
752
459
683
685
367
610
445
669
445
598
751
445
394
510
364
376
589
548
740
513
517
746
652
753
570
408
321
689
768
376
565
694
760
374
583
639
604
708
588
771
303
572
681
772
613
760
665
766
400
754
458
624
714
593
717
389
381
749
706
545
354
655
617
614
313
389
575
313
588
479
783
591
535
683
644
527
775
351
544
710
677
544
528
471
327
749
579
562
511
596
575
535
705
397
776
639
365
512
359
502
468
702
583
540
787
420
474
487
546
551
617
401
452
622
424
415
400
529
635
684
413
738
677
573
580
423
379
425
693
324
529
676
470
711
442
311
494
564
657
384
516
485
686
460
605
403
649
393
691
513
443
676
477
525
767
611
365
623
611
732
362
470
357
627
505
587
414
782
778
435
588
487
751
515
611
738
515
727
608
427
352
631
758
757
738
402
763
763
581
338
691
590
329
449
620
716
709
578
499
629
772
632
443
695
571
783
590
737
682
383
655
788
371
339
755
506
641
454
572
529
702
700
332
594
377
572
320
377
334
680
581
495
559
550
721
795
683
505
310
479
500
665
549
731
416
465
660
314
439
340
643
495
649
554
596
540
747
714
478
731
323
654
512
347
341
623
336
473
552
444
799
739
515
732
567
392
450
385
618
578
381
749
663
564
321
627
773
648
305
494
546
426
481
740
526
679
682
386
709
489
648
648
366
744
563
482
566
749
722
598
666
759
317
717
784
711
572
502
413
639
686
746
662
358
335
547
337
618
721
743
640
599
645
338
506
489
411
538
656
487
792
398
467
726
561
736
690
752
437
582
636
444
715
631
536
377
585
371
756
614
756
798
385
645
520
595
380
741
774
437
337
455
417
702
635
468
695
741
463
393
603
620
571
680
544
340
376
606
745
475
791
591
774
639
566
650
601
414
519
678
583
437
525
753
512
706
344
554
372
596
316
544
610
505
600
326
333
687
755
491
388
499
764
387
572
471
759
313
503
333
369
729
618
586
758
657
429
718
759
728
798
495
580
397
759
345
724
666
388
739
481
724
319
627
608
648
367
655
425
536
783
673
535
775
418
582
787
710
308
797
748
501
484
598
334
540
316
552
479
380
334
401
416
416
581
623
513
794
751
363
510
323
463
577
609
309
536
435
383
591
550
593
695
398
422
314
541
566
385
484
725
700
516
492
565
357
691
351
441
670
323
412
653
469
784
709
485
729
316
447
506
459
555
719
799
681
766
365
562
757
328
580
719
453
678
798
585
788
669
434
501
517
746
427
542
640
571
706
728
544
795
668
685
556
352
335
761
708
700
462
694
693
598
323
612
657
600
363
345
529
543
398
717
633
428
458
649
719
338
556
679
736
337
725
506
506
503
516
703
568
565
494
326
746
650
428
427
504
783
501
621
348
427
455
370
616
630
416
605
549
504
506
393
332
419
638
602
405
640
340
443
314
404
385
360
743
737
360
466
671
353
561
615
691
562
747
515
520
499
463
680
700
574
350
529
799
404
723
700
356
765
747
542
728
543
435
764
728
777
565
733
486
745
382
632
652
410
757
316
352
453
734
460
381
468
516
328
430
681
486
684
791
724
350
698
447
321
543
630
441
644
311
760
436
326
786
517
314
748
446
788
770
546
743
577
367
549
797
572
602
584
631
496
467
382
561
380
356
347
731
644
343
749
731
705
306
624
745
551
322
781
499
353
558
411
623
394
577
530
376
351
707
648
780
759
779
769
393
602
607
436
505
765
650
531
454
588
345
439
575
358
318
513
589
359
583
449
329
523
421
618
724
312
475
411
567
770
733
679
583
661
395
555
787
572
408
786
462
583
616
301
587
485
627
428
752
343
566
333
638
511
790
502
799
499
505
549
717
449
489
691
619
772
599
684
418
377
552
616
773
661
380
626
474
768
794
351
771
786
504
745
625
383
572
353
657
628
637
544
697
404
555
702
367
680
451
472
730
434
780
471
362
570
377
391
681
374
618
434
662
369
476
468
449
599
561
655
305
724
311
459
405
723
309
358
364
386
330
513
735
704
403
350
402
389
646
790
760
381
551
555
678
724
320
431
350
352
629
793
751
722
518
723
662
615
691
475
665
633
533
460
308
703
511
766
486
689
770
446
441
501
574
572
421
667
698
604
454
565
559
484
795
624
721
785
712
776
426
637
364
493
724
493
548
660
611
456
674
516
389
789
725
625
465
519
450
664
537
619
555
424
634
468
754
662
640
529
327
619
711
785
482
703
590
603
605
776
323
311
512
707
396
523
637
512
770
385
531
345
590
731
439
672
384
531
438
761
738
312
394
468
663
465
451
637
415
770
695
492
588
781
419
566
387
768
546
781
407
340
356
422
407
735
705
402
584
788
550
723
569
744
594
357
733
323
741
480
626
674
328
409
636
555
729
346
310
519
638
302
530
313
662
704
635
769
341
604
674
550
604
526
609
590
325
568
378
508
359
309
758
308
720
451
721
430
640
607
368
542
690
387
712
484
561
748
773
532
576
747
681
702
498
532
409
713
749
512
718
598
459
417
372
645
412
676
415
452
583
603
601
329
750
661
397
401
540
345
450
380
509
321
782
682
370
583
506
335
515
581
680
374
587
453
411
689
600
572
606
763
706
580
751
768
386
687
720
760
666
694
469
404
454
463
418
686
600
527
389
336
662
619
362
437
781
634
515
561
657
769
593
460
308
332
537
332
333
786
545
548
679
340
339
311
353
497
515
746
344
606
739
686
688
355
704
385
563
510
731
506
334
727
618
663
626
429
458
737
684
639
392
366
339
348
556
302
401
328
745
539
475
510
724
576
523
706
528
304
538
509
746
419
465
341
769
599
586
435
775
416
763
800
320
340
391
478
674
559
484
509
682
555
797
336
798
752
451
781
708
408
372
579
713
782
300
521
795
640
386
560
766
657
786
755
717
493
507
589
575
410
582
395
485
499
650
452
578
783
656
772
713
652
393
586
369
392
618
430
524
347
550
318
640
336
432
388
793
678
394
309
319
624
724
741
706
570
587
720
711
490
739
541
715
781
309
329
508
726
453
476
513
735
584
589
505
310
721
488
700
491
593
419
408
667
668
350
637
433
394
426
316
361
616
323
636
613
794
545
721
615
363
678
732
552
324
450
710
634
564
444
657
730
454
514
654
537
389
454
552
602
438
566
438
609
600
667
733
743
727
778
761
542
566
554
509
493
653
425
779
727
328
683
649
594
323
365
686
347
529
643
449
533
644
559
563
456
394
453
352
740
483
751
666
517
590
626
503
455
400
721
701
341
616
577
668
683
611
323
356
726
410
726
464
324
499
571
620
580
773
417
522
739
705
595
746
307
316
705
435
740
617
661
538
710
791
344
775
467
615
422
745
451
756
455
798
658
723
550
346
506
651
756
424
569
321
586
617
488
534
303
626
757
548
599
689
535
711
649
670
326
449
517
550
432
740
667
515
603
461
349
602
686
603
721
702
491
547
728
309
394
382
529
742
694
689
514
686
640
737
464
371
554
491
601
407
400
733
735
658
415
626
535
301
787
518
303
681
481
424
616
423
334
560
412
379
472
326
613
639
437
401
380
646
681
439
711
485
445
361
499
465
404
774
578
543
628
729
420
385
648
303
611
645
735
408
446
611
358
403
344
757
604
657
664
783
748
599
473
588
796
795
752
375
353
371
717
395
597
729
414
508
646
374
571
770
310
517
544
353
397
614
411
473
561
743
530
625
690
592
731
774
397
575
668
690
485
622
672
323
713
391
332
401
760
644
397
616
373
483
470
464
499
580
475
411
363
642
649
455
372
754
595
439
511
416
792
482
444
656
336
784
441
783
756
749
745
466
616
674
717
640
459
383
591
494
593
722
455
421
373
621
750
686
542
720
618
344
511
423
656
527
776
511
598
729
638
564
544
768
791
651
344
476
521
781
679
598
584
489
573
652
718
787
712
310
453
320
317
488
569
608
370
342
461
664
310
451
491
348
549
300
461
772
548
767
707
747
702
657
648
753
478
456
760
644
506
525
469
433
310
748
775
797
377
443
580
680
320
720
795
530
731
384
672
691
346
393
313
472
345
726
648
625
631
638
347
789
629
615
742
581
598
388
794
665
402
475
308
746
526
585
509
632
536
655
515
433
718
372
525
476
343
420
670
765
662
456
707
775
762
798
522
527
530
696
636
458
647
479
683
730
443
614
313
429
452
522
536
701
754
576
792
326
509
766
456
427
548
450
586
330
719
736
675
400
590
627
719
647
561
652
409
480
368
465
704
337
306
694
614
683
326
420
581
676
526
503
411
650
348
441
582
797
407
719
486
599
479
727
353
505
455
632
790
563
459
716
306
332
473
614
498
509
426
460
408
507
690
509
442
479
382
565
745
671
799
532
662
688
734
304
324
431
616
670
573
649
543
761
312
513
596
481
798
433
517
762
741
709
669
655
638
369
446
729
590
406
440
752
619
310
366
382
666
699
792
363
440
315
799
482
366
791
700
688
365
686
323
624
419
620
717
773
305
616
513
374
425
314
439
514
482
324
799
634
502
440
375
504
653
745
710
747
577
674
567
311
417
779
366
604
446
394
408
329
792
685
444
380
315
709
532
640
619
751
327
618
316
792
493
481
332
627
621
407
500
665
771
322
511
749
446
665
793
590
316
709
473
327
444
541
596
677
579
541
587
409
597
748
590
332
794
589
409
657
310
631
463
554
696
577
537
354
363
560
352
310
731
423
478
402
528
701
326
555
677
733
692
376
407
542
579
620
374
331
690
764
685
490
635
526
723
477
561
687
334
406
626
605
529
468
359
660
703
670
730
570
682
574
657
377
733
613
461
542
414
677
634
685
714
398
683
684
436
739
417
511
674
468
325
386
649
584
500
745
721
579
360
419
364
667
408
763
351
459
645
789
442
549
692
515
519
514
425
380
435
309
664
767
380
378
436
371
419
655
691
461
755
516
758
744
464
465
755
400
682
723
417
597
581
494
389
606
679
768
308
482
725
338
544
540
508
322
475
556
730
560
726
712
384
597
800
592
612
547
379
666
467
500
794
407
653
627
472
433
684
373
638
423
666
619
543
695
450
649
700
674
365
594
641
703
541
550
331
481
442
339
783
596
436
624
405
762
511
716
525
565
379
674
404
704
783
559
720
733
748
723
500
484
378
643
745
322
489
506
466
463
533
754
747
642
546
518
385
382
753
305
428
606
544
739
328
659
383
581
376
310
565
681
508
507
654
661
777
320
778
548
663
533
796
539
760
568
460
483
527
494
639
499
769
497
471
315
767
686
747
375
736
481
428
677
617
601
742
651
356
616
718
709
741
318
711
775
734
733
595
589
421
548
661
499
589
769
657
504
343
523
425
526
496
595
655
538
503
506
395
691
574
415
339
745
408
330
501
351
644
744
685
738
394
475
800
330
370
664
766
536
438
658
580
753
596
440
767
428
771
451
632
728
363
741
629
595
726
743
653
595
751
731
377
314
657
320
683
561
308
468
697
311
390
363
451
549
389
763
365
630
633
725
480
671
754
732
715
343
362
782
353
343
477
786
356
794
517
672
710
451
344
453
668
500
320
599
336
653
786
537
746
622
434
343
779
468
421
365
630
668
737
571
555
443
594
722
775
664
536
449
781
608
500
528
431
658
409
725
476
436
514
634
440
770
477
420
377
524
387
718
745
774
491
639
720
460
600
795
665
554
768
499
777
315
712
511
457
684
312
426
453
369
385
485
783
531
704
593
409
576
463
621
770
760
597
628
377
536
653
713
454
672
675
310
638
630
452
600
793
771
507
657
713
404
425
357
397
310
385
455
469
681
633
385
706
557
755
397
417
475
666
363
437
735
397
764
692
632
615
706
619
436
539
503
383
666
734
669
435
318
469
778
603
377
678
391
583
760
737
578
453
700
735
582
606
655
427
771
570
451
450
505
734
329
708
396
457
610
475
655
772
325
406
725
714
735
726
501
426
484
485
790
373
726
473
650
672
763
384
437
380
462
467
355
742
345
632
434
514
457
375
301
679
659
640
611
757
348
552
373
501
708
640
796
477
491
416
315
479
765
740
367
470
731
452
405
405
749
523
320
314
306
556
412
447
368
566
416
370
403
304
306
755
572
361
565
343
687
359
544
594
480
576
491
706
638
406
576
475
413
324
681
671
598
633
664
512
627
429
337
309
748
728
502
587
676
556
558
479
452
733
317
759
351
594
786
329
772
599
768
651
503
571
466
468
470
680
313
509
780
672
576
775
524
553
355
785
362
657
608
716
332
670
629
313
416
399
530
558
473
329
643
556
556
603
760
674
444
429
394
598
415
715
455
579
534
416
403
303
710
557
329
415
353
393
796
711
630
501
424
564
662
513
412
561
779
760
386
526
552
344
799
694
307
454
477
446
423
653
339
698
536
579
596
616
326
755
715
754
602
635
761
420
314
741
693
389
669
426
477
701
743
694
607
740
637
692
502
382
363
637
396
393
593
639
309
300
555
609
687
426
683
780
486
663
714
417
611
581
442
549
534
411
518
731
319
625
568
763
326
725
541
780
800
384
303
408
734
313
514
578
429
691
730
752
756
336
625
632
738
699
724
769
739
726
586
613
556
400
398
606
404
720
385
756
355
754
658
663
591
404
660
685
415
630
482
719
676
645
719
582
503
440
560
508
484
577
464
461
425
634
771
563
749
526
383
694
604
381
656
691
787
448
739
591
632
311
593
315
527
362
411
730
473
471
459
696
419
756
659
639
619
310
720
551
392
782
602
587
352
450
682
569
336
760
716
458
449
758
775
706
670
318
757
304
315
648
487
432
711
544
764
660
401
379
551
774
620
587
311
378
509
650
395
772
698
340
703
694
373
359
366
690
435
392
435
493
667
500
638
787
553
644
600
597
594
604
755
548
456
517
313
317
341
716
328
426
306
487
509
534
421
656
490
769
435
616
590
483
406
304
767
545
676
471
325
338
711
535
327
639
433
340
617
722
508
366
742
611
755
322
426
772
667
335
666
554
632
752
508
717
596
454
573
594
566
716
593
601
316
550
565
734
643
754
337
740
477
335
411
563
678
681
654
333
332
300
730
340
313
737
357
728
353
687
590
488
726
313
622
577
781
782
521
425
753
311
660
797
785
321
484
429
301
673
461
752
608
510
465
512
334
627
329
435
569
537
776
676
600
426
606
523
559
578
724
579
641
639
317
532
401
784
455
705
422
604
729
715
775
342
320
404
482
608
303
798
639
461
577
392
566
795
542
787
559
626
773
437
448
582
591
420
684
615
478
414
551
578
726
772
755
755
536
719
406
557
657
389
733
428
369
448
613
639
379
770
796
614
465
413
718
646
344
631
682
712
336
745
766
699
769
634
762
717
412
655
404
390
626
352
607
402
602
488
532
421
331
529
415
773
779
322
772
346
607
562
534
647
430
469
690
446
619
614
608
423
460
345
505
473
787
792
453
319
337
330
579
400
522
392
723
744
661
555
400
385
631
389
741
478
485
511
701
412
521
400
607
308
668
754
414
319
348
752
766
453
713
565
420
564
798
389
338
304
408
470
745
479
302
768
746
448
490
573
524
732
458
498
393
310
467
621
530
322
575
428
773
504
333
724
482
578
625
742
626
676
599
701
797
488
744
304
402
513
630
399
790
575
556
722
340
451
740
380
304
339
748
686
624
340
571
451
400
634
378
415
707
435
642
698
579
472
791
686
501
314
427
384
728
375
471
641
391
663
326
387
654
484
537
559
653
746
540
527
358
545
733
445
300
765
334
665
669
536
406
572
454
454
386
776
328
358
403
561
724
446
564
341
756
567
627
597
616
754
490
592
734
517
476
378
612
317
329
509
439
371
442
395
748
732
355
476
635
532
605
678
607
751
300
529
381
748
527
381
546
772
605
502
688
657
602
687
541
625
336
417
357
314
377
433
324
654
376
474
527
522
773
319
562
445
726
516
341
304
377
439
319
577
762
659
532
370
646
584
492
671
746
679
516
347
633
782
744
412
772
334
588
592
662
591
486
771
658
414
726
386
689
306
800
528
391
421
308
571
515
303
684
750
721
429
489
388
362
346
758
430
435
593
772
746
346
580
317
358
391
587
800
374
347
485
748
453
580
509
614
452
316
761
601
715
721
610
394
763
580
748
675
328
408
441
354
300
716
505
684
522
761
680
635
741
765
555
309
755
773
526
425
366
685
707
451
516
516
345
782
466
756
720
368
454
617
592
454
765
345
645
307
583
773
344
419
749
564
683
457
648
718
416
397
520
590
491
505
412
586
800
746
597
498
708
594
370
654
413
609
432
368
491
421
707
440
550
523
662
674
545
568
656
504
571
411
729
684
590
656
436
782
453
614
352
452
691
704
384
755
486
364
559
456
408
693
562
694
563
459
777
698
361
445
722
585
639
615
546
590
723
423
540
401
346
333
666
547
685
654
780
527
709
476
746
316
749
386
719
725
515
612
492
682
379
456
585
406
671
430
673
738
480
399
765
489
738
457
432
700
757
660
603
371
555
611
624
787
778
303
625
441
670
623
684
669
461
634
771
786
547
593
493
393
327
365
555
300
505
326
636
360
687
656
402
710
389
639
542
706
525
701
558
584
513
797
364
635
610
389
334
357
440
622
381
769
323
637
391
513
704
590
512
533
669
421
759
601
417
671
531
638
671
749
422
697
754
378
660
498
600
423
488
546
566
340
661
505
487
324
784
341
342
431
653
375
651
687
518
419
707
741
516
588
660
697
772
528
718
385
560
481
320
510
711
598
483
335
553
550
394
539
580
651
327
631
413
516
682
751
597
704
361
431
574
612
307
610
656
766
602
555
499
522
691
758
517
404
664
701
315
396
388
553
665
712
405
582
718
724
708
525
707
798
734
641
673
397
407
525
718
478
374
592
691
616
799
687
433
356
652
707
341
665
786
644
465
728
497
387
692
781
332
324
398
397
796
590
714
747
327
697
361
370
323
779
558
633
376
571
642
748
427
552
680
372
715
634
321
473
761
431
435
701
770
392
553
663
317
429
550
523
586
534
398
741
697
383
424
569
480
593
594
759
664
508
338
495
424
366
427
741
328
758
375
410
551
616
683
728
702
350
323
495
462
342
539
773
534
702
775
595
776
752
521
651
675
366
689
737
727
627
666
374
535
684
526
774
392
508
654
535
353
300
764
425
532
768
594
513
577
367
795
702
751
338
677
354
492
598
408
572
429
523
471
348
512
721
537
594
331
364
503
786
721
690
542
759
530
549
546
438
354
558
489
439
550
423
734
516
650
517
327
518
628
764
356
726
571
723
687
427
755
702
425
495
614
713
367
331
619
474
307
465
610
741
558
756
505
409
396
649
342
407
772
691
517
701
461
376
459
352
406
390
463
353
557
434
473
666
630
452
734
654
349
781
687
525
355
650
508
309
415
784
781
689
551
779
773
466
782
593
361
778
487
799
637
603
741
351
627
368
759
716
343
462
543
381
433
326
618
451
582
669
342
466
683
750
719
376
478
671
644
441
305
678
326
764
567
483
569
657
761
324
676
689
772
339
324
696
365
646
526
654
310
638
663
476
720
352
477
454
648
672
626
545
312
465
602
645
780
612
377
608
643
762
665
621
715
491
370
621
617
642
762
390
453
700
684
662
332
442
332
655
721
640
480
337
431
340
495
700
458
429
553
691
787
381
613
731
774
445
339
433
326
571
680
669
693
611
541
512
496
529
418
784
714
733
740
727
301
567
333
352
739
730
525
771
390
768
677
528
468
762
324
370
633
538
708
544
772
665
455
330
627
485
305
597
596
524
574
770
318
558
789
642
308
348
325
449
699
739
789
509
771
594
694
526
330
352
355
301
793
713
625
372
432
642
479
786
522
594
335
720
332
686
726
786
364
648
335
679
408
336
366
546
581
675
593
735
627
426
469
781
689
756
368
632
631
315
309
741
582
322
614
618
467
669
631
467
637
649
607
559
720
308
597
734
513
368
348
500
304
567
586
763
521
789
625
306
652
647
691
553
397
598
718
735
711
667
694
422
538
454
584
688
699
445
434
648
607
679
795
382
504
777
777
464
780
457
480
411
674
603
420
521
485
778
667
557
370
720
436
546
589
584
442
418
796
403
668
788
337
568
723
455
420
473
609
613
730
477
305
603
397
526
485
621
713
767
614
379
315
620
774
306
760
602
328
651
405
406
702
737
569
698
544
732
326
706
569
368
496
362
391
613
433
628
615
789
505
618
772
695
560
389
361
367
305
388
420
579
590
673
403
696
311
774
792
647
800
523
633
331
724
668
485
678
648
532
470
367
436
483
527
696
407
711
636
332
538
719
445
686
347
463
408
769
663
564
347
491
522
371
538
400
699
800
778
792
363
470
338
637
797
601
575
552
437
691
624
436
332
490
720
695
536
377
767
390
769
718
514
430
506
385
425
699
561
556
328
483
560
558
761
505
778
659
446
311
523
566
696
322
575
737
436
548
349
725
788
696
537
570
553
720
666
688
735
382
738
785
702
659
641
736
362
787
410
625
331
588
470
524
618
548
601
301
697
792
691
705
693
576
323
465
315
487
332
338
689
483
435
487
477
461
719
764
389
629
363
773
569
612
673
449
761
423
546
555
800
541
365
624
764
438
365
561
609
730
312
321
513
411
374
782
787
704
460
633
463
790
495
390
399
304
643
766
372
315
729
526
545
322
407
660
775
612
741
423
385
621
687
409
782
709
343
360
456
568
447
303
509
563
755
435
382
498
576
503
507
305
664
794
744
492
707
462
419
474
753
335
656
533
390
547
741
754
724
510
409
627
368
588
680
540
595
396
606
644
755
669
783
541
370
323
539
307
566
505
525
489
629
652
525
373
514
646
477
451
593
374
684
618
686
607
429
787
502
543
525
442
759
597
512
702
314
331
674
543
784
536
777
695
424
365
398
368
418
380
612
340
796
581
724
575
429
416
356
600
495
471
382
460
526
609
690
402
384
526
308
783
635
537
701
356
667
728
577
442
539
647
552
739
355
552
517
424
683
445
694
667
534
462
477
632
427
417
363
35
230
254
153
25
348
13
431
318
159
307
66
120
49
424
153
461
35
314
61
136
123
219
139
365
457
451
461
477
336
31
82
227
186
18
152
469
324
366
476
351
331
31
303
23
223
185
471
48
410
143
214
377
94
25
373
183
449
370
109
435
438
199
6
83
21
53
20
419
455
61
143
28
399
419
412
13
14
209
489
318
314
82
399
162
51
75
446
20
279
172
487
326
22
464
339
259
498
148
370
196
233
215
324
222
95
329
215
62
392
180
351
441
366
183
35
223
140
97
300
420
337
98
365
275
456
243
373
43
218
263
186
270
227
135
483
328
106
447
489
10
95
35
115
258
395
469
416
288
342
264
418
354
166
486
476
396
344
339
249
450
116
86
460
491
307
398
69
388
49
318
210
314
361
329
159
88
500
342
228
306
145
383
52
191
96
417
451
194
42
124
302
89
493
101
243
382
414
174
61
363
183
102
65
424
352
342
110
429
297
440
260
43
278
70
403
251
143
75
104
170
299
459
453
467
281
344
185
27
28
382
183
240
29
487
332
478
283
115
73
298
428
164
147
277
247
430
170
73
360
360
445
127
269
475
52
161
359
151
128
306
30
431
456
17
22
265
85
191
441
240
183
270
78
99
63
58
493
475
413
90
251
372
215
213
285
305
421
335
223
58
345
364
154
191
318
191
443
40
297
247
92
28
192
111
198
147
426
424
145
348
397
174
351
163
334
420
331
376
379
28
70
44
91
243
42
218
188
113
159
451
267
246
127
343
404
90
166
277
21
35
385
49
16
256
168
284
121
36
460
448
191
37
196
411
240
201
344
379
343
449
51
348
217
461
386
197
324
154
230
217
396
141
371
146
232
345
379
125
34
190
42
162
131
98
332
369
438
129
201
362
377
268
158
249
85
18
261
455
358
236
87
463
386
191
277
44
29
277
292
40
75
176
498
289
173
443
223
359
234
211
206
168
49
169
397
372
400
231
60
137
441
152
168
182
297
430
117
499
377
179
214
198
465
232
197
34
405
251
488
26
283
339
305
484
443
434
204
351
130
331
174
438
350
349
390
8
463
353
205
169
230
136
90
352
95
441
457
296
305
46
396
28
43
21
364
454
215
148
302
119
306
34
249
462
399
400
293
387
489
88
159
349
107
395
447
412
335
291
412
131
111
474
254
50
412
474
458
423
126
166
195
424
6
312
392
98
227
321
104
289
90
463
409
92
85
370
94
287
267
14
360
268
34
405
119
256
123
76
122
423
31
353
228
354
80
45
203
9
310
359
287
132
464
202
325
400
450
255
294
189
392
111
147
78
219
427
122
293
100
421
98
488
327
233
129
117
189
438
438
403
116
203
367
442
353
365
442
301
280
182
488
498
446
28
495
50
404
110
264
227
339
444
5
220
92
497
361
473
308
1
341
65
290
453
236
153
142
453
95
462
127
28
435
302
89
119
70
271
31
348
472
37
167
21
238
115
244
78
164
402
279
208
169
142
371
456
329
30
91
476
278
79
477
217
16
176
120
343
474
61
199
101
239
138
469
297
243
400
442
280
72
387
308
82
8
423
156
281
363
477
115
176
430
88
364
33
287
458
100
304
109
5
309
343
356
232
161
214
279
87
339
438
274
254
92
459
367
403
127
32
249
126
192
352
11
191
115
315
155
254
349
90
94
150
168
60
284
297
407
246
50
473
398
453
488
485
39
483
150
138
494
448
500
265
360
304
360
13
50
424
368
486
315
481
492
293
280
212
83
438
87
359
159
317
351
389
486
470
441
123
345
409
333
278
459
393
260
333
283
32
246
439
195
332
153
278
329
41
489
97
104
24
80
147
76
416
22
277
492
227
213
69
101
352
390
450
59
100
303
493
383
223
78
461
196
41
436
235
180
55
472
273
267
357
23
377
92
445
287
286
116
485
288
363
68
289
19
275
311
492
47
322
104
139
110
222
130
109
73
66
373
362
268
324
134
18
140
317
11
456
311
56
197
484
406
436
135
370
23
122
472
99
474
295
430
399
227
74
85
469
445
66
264
166
161
407
206
123
11
336
409
498
362
434
133
496
171
308
370
475
470
451
201
395
297
128
253
15
292
308
171
434
379
139
396
416
324
222
53
195
247
456
214
366
50
85
128
369
414
275
262
427
161
261
283
377
280
109
85
224
73
93
461
479
117
5
131
123
175
365
343
220
161
211
154
57
357
405
359
363
65
9
113
442
59
129
490
58
299
454
30
114
378
480
13
207
165
9
320
35
268
271
287
65
341
336
433
146
226
253
173
194
210
411
329
473
28
338
117
96
37
271
176
351
308
254
335
98
217
293
303
469
111
225
318
157
15
263
459
497
445
382
15
313
186
407
224
343
385
397
460
60
143
269
283
245
182
479
218
11
81
211
288
437
474
458
227
202
195
160
172
363
303
255
101
214
212
155
468
316
196
354
352
378
333
147
279
332
64
202
439
108
247
262
159
433
219
280
315
498
420
63
313
423
118
250
450
207
386
354
379
421
455
313
453
9
271
120
425
479
130
248
58
287
345
434
280
283
157
180
113
98
359
465
232
106
313
484
467
378
274
204
287
298
406
377
102
255
213
278
171
462
465
17
85
25
208
335
43
179
153
325
26
214
64
288
110
439
441
464
355
121
73
366
74
266
427
295
111
303
350
329
394
374
16
484
219
139
412
446
300
128
338
369
138
54
155
210
399
294
64
68
158
393
127
374
342
193
336
106
174
448
179
215
62
334
72
190
474
315
25
145
484
414
212
13
84
338
87
386
396
312
249
225
266
46
135
62
314
399
128
63
228
55
180
34
92
259
451
447
182
386
46
286
165
298
43
180
240
314
329
60
111
216
240
175
296
392
486
172
393
417
12
110
371
337
204
76
82
355
107
126
116
444
180
356
212
227
172
376
143
102
437
488
89
107
373
413
11
335
333
38
377
415
215
451
427
336
473
155
129
289
347
500
44
288
375
427
69
458
93
186
149
170
75
39
375
200
45
432
136
379
85
155
165
51
285
453
376
121
1
258
130
479
80
349
377
72
323
251
153
314
265
93
493
5
47
199
459
283
335
83
182
223
101
151
277
480
370
365
128
272
265
413
419
105
401
488
11
479
192
140
350
171
481
35
387
33
364
486
402
289
332
203
498
421
192
83
312
479
379
198
274
5
205
84
34
99
482
326
127
432
169
234
285
82
71
489
312
76
123
387
413
358
18
488
407
267
417
249
384
202
342
129
56
312
20
372
213
102
191
247
17
361
71
74
375
398
126
282
252
11
140
2
210
184
103
445
347
219
169
191
268
181
86
326
322
349
84
19
82
202
196
2
204
340
134
243
346
316
378
291
458
375
355
443
499
65
151
43
350
79
72
224
140
110
208
124
229
247
479
431
15
26
138
212
185
422
54
261
275
67
284
468
87
250
332
114
222
445
432
194
41
176
173
228
384
344
134
4
40
268
286
403
150
286
356
93
183
456
266
68
255
103
194
192
194
21
266
104
77
199
360
470
308
290
417
291
336
396
47
246
92
262
380
195
445
210
187
404
359
348
31
52
332
5
127
68
492
440
70
251
103
199
138
302
298
89
241
401
192
36
171
385
353
259
315
43
466
391
130
90
328
63
349
1
216
120
488
80
96
78
244
385
143
58
162
434
179
261
115
51
148
164
270
18
442
225
433
288
124
1
29
414
303
208
420
212
305
189
31
303
367
281
63
437
127
227
473
248
4
394
399
331
280
291
49
145
212
177
123
164
358
295
216
197
79
5
12
76
209
383
227
126
276
352
389
171
418
202
158
426
297
220
403
443
264
201
475
489
414
355
417
341
6
21
167
307
201
309
260
176
459
387
72
265
444
410
456
236
488
48
125
405
117
235
193
138
376
155
337
103
152
39
206
82
343
411
291
48
473
404
357
438
6
207
238
47
295
353
197
382
104
25
195
368
461
54
322
40
369
200
149
315
348
101
328
451
113
7
263
487
238
349
155
414
68
102
490
345
268
203
24
475
452
275
134
24
152
331
358
105
253
248
73
256
207
473
57
384
47
318
88
257
268
449
490
214
100
45
223
15
115
365
196
237
155
233
72
113
351
16
160
474
353
464
145
367
100
427
454
377
111
14
20
125
68
185
218
471
213
22
122
40
141
64
303
458
437
24
369
214
293
370
282
297
429
83
107
200
24
194
47
115
476
126
13
336
82
355
378
202
189
157
345
389
194
34
47
489
390
246
495
232
239
337
202
200
34
490
413
458
470
68
399
176
186
75
467
298
169
428
71
50
167
253
278
257
433
404
165
478
230
295
412
270
116
54
449
454
346
408
82
42
364
283
111
186
109
180
352
407
42
472
257
175
287
30
365
454
54
269
56
270
401
357
155
242
317
371
91
251
426
258
6
271
154
237
223
132
353
321
202
90
448
31
119
281
305
233
300
242
51
367
418
387
259
263
421
366
282
216
19
375
59
443
190
467
281
132
439
442
138
459
264
136
447
121
355
288
325
173
257
233
461
497
161
407
440
98
248
162
493
471
163
434
399
487
377
356
144
109
403
8
484
226
466
16
9
98
227
125
78
91
371
56
275
375
206
193
380
76
130
112
469
291
117
141
179
399
95
98
152
8
146
191
95
100
457
183
251
125
436
54
138
357
170
495
58
144
97
77
203
77
439
121
192
464
281
447
364
494
313
378
97
57
441
9
411
195
452
137
180
164
366
325
288
350
395
130
149
374
489
11
209
27
241
368
98
253
361
23
192
96
101
56
498
364
84
500
60
123
11
113
41
21
292
337
104
200
221
336
69
359
428
203
42
21
142
387
269
52
199
7
401
290
61
56
259
53
155
95
479
435
455
8
473
370
415
426
398
439
228
378
249
208
324
318
310
468
101
483
498
19
297
438
70
104
401
145
162
75
138
442
170
127
78
162
142
269
260
148
39
355
420
323
375
177
134
46
109
86
131
92
43
403
13
297
238
96
331
472
424
76
460
285
154
124
159
230
120
63
488
107
21
37
434
108
47
250
145
97
332
67
414
425
40
12
395
14
467
28
121
120
15
242
170
268
239
289
235
269
384
432
294
208
213
445
297
201
422
119
55
462
321
133
176
51
40
294
345
7
495
376
54
182
271
251
424
188
278
399
55
111
413
260
53
173
55
409
194
26
95
240
246
157
277
195
249
253
188
125
253
386
164
483
103
314
19
85
478
444
209
345
244
135
420
419
52
324
431
368
259
450
479
217
267
370
157
154
239
348
491
17
36
9
229
469
155
324
496
281
343
127
385
355
370
150
473
461
432
268
109
315
438
162
474
389
474
250
467
248
216
20
458
222
30
387
382
107
362
227
45
272
468
179
183
2
495
464
227
282
401
425
74
348
74
221
279
454
498
43
152
169
83
297
252
292
95
289
166
8
432
223
35
244
61
404
281
409
485
268
94
489
310
336
352
279
472
296
151
399
385
379
281
176
212
418
290
330
414
257
303
97
246
178
318
398
198
292
400
100
87
399
92
40
120
115
384
334
318
279
389
359
273
397
228
89
232
436
483
406
117
173
168
21
266
38
460
13
370
392
297
68
157
373
214
337
500
104
367
324
190
29
345
291
323
373
499
65
218
354
184
154
238
267
309
108
279
260
208
83
467
321
10
405
388
149
330
250
183
437
451
254
180
203
236
119
59
195
152
179
430
261
389
99
5
145
82
467
418
151
232
87
303
334
77
322
415
412
468
125
268
480
422
158
82
413
326
348
284
479
165
199
417
277
453
202
264
54
323
165
29
332
148
184
475
359
401
179
410
486
471
95
446
440
22
56
378
6
194
500
383
482
101
2
106
217
220
381
421
458
140
427
259
23
121
16
262
144
273
140
37
358
276
120
340
362
408
346
307
199
393
467
137
114
159
268
265
222
271
269
38
65
333
184
388
391
455
101
58
345
111
358
373
453
182
152
83
228
401
231
146
12
447
335
11
201
389
59
154
340
46
86
28
360
434
109
248
117
141
312
345
46
98
81
189
46
246
23
491
92
28
112
281
57
294
131
48
430
477
445
138
18
404
391
382
126
99
204
412
333
267
426
408
368
433
360
109
191
280
489
219
200
496
123
174
296
285
127
382
305
5
446
340
221
430
314
63
86
488
360
139
278
31
413
183
301
194
19
74
77
266
422
281
206
459
132
284
436
146
382
291
91
480
77
76
453
247
6
38
94
257
386
130
165
346
222
486
283
444
463
470
263
183
401
243
373
279
38
272
243
153
394
261
402
426
74
402
33
319
74
256
265
2
148
35
278
122
461
496
253
15
131
188
331
85
84
474
217
18
477
369
206
207
169
436
52
459
194
107
302
116
280
281
220
203
30
296
76
483
497
414
395
186
351
333
10
452
357
237
147
123
74
227
309
176
112
146
279
470
212
374
168
403
134
80
29
213
103
309
276
152
76
464
402
275
44
151
395
41
145
482
125
450
64
382
307
295
299
337
329
245
409
167
434
411
189
327
66
410
283
232
286
178
365
422
344
381
173
89
108
216
241
51
97
230
151
195
309
264
191
210
489
331
472
215
177
173
194
348
297
199
371
187
433
41
483
103
311
248
495
191
110
8
135
277
434
369
32
109
59
472
254
53
103
456
257
341
345
488
379
92
392
153
190
13
382
375
428
412
74
172
53
437
280
326
324
384
180
242
170
240
44
231
468
274
196
124
321
9
349
458
265
483
418
274
224
402
396
343
454
258
356
337
63
188
412
445
224
456
487
121
426
173
381
84
75
44
142
35
287
215
50
147
264
308
407
39
278
223
497
111
322
470
80
271
326
387
91
425
95
384
383
250
27
194
374
72
130
268
175
425
156
276
120
364
167
36
312
169
152
307
350
391
92
151
275
10
246
243
52
480
484
121
252
101
378
241
278
234
397
34
250
266
151
391
94
125
216
163
267
266
80
414
374
276
133
367
406
474
377
370
92
115
89
319
15
22
78
374
314
199
379
38
247
350
432
233
417
377
382
341
454
192
340
381
11
478
474
464
214
439
309
394
231
325
113
422
391
29
279
163
141
178
209
176
366
289
276
364
413
108
140
242
116
469
340
146
462
240
198
392
34
333
254
178
124
399
7
238
327
286
34
114
232
344
120
275
43
380
210
186
157
327
16
53
85
295
335
227
407
226
496
447
217
164
63
311
28
236
212
18
121
61
142
494
59
444
418
236
375
141
99
62
370
110
36
192
445
156
413
68
417
489
412
327
325
349
272
460
47
82
221
75
333
446
364
108
382
227
456
459
172
389
314
324
411
76
93
73
164
202
399
371
309
433
337
30
158
298
366
241
8
161
492
89
393
385
131
459
36
140
82
292
288
148
391
349
297
342
399
136
366
143
208
74
54
77
405
253
410
260
160
310
160
186
250
175
399
430
307
171
250
432
308
302
458
170
107
324
172
195
142
171
368
449
497
260
169
282
246
312
430
123
223
264
291
60
223
71
445
45
61
300
179
47
498
331
378
240
373
33
448
431
202
464
1
495
445
178
494
179
206
407
395
324
338
354
169
120
59
187
93
230
192
51
288
48
328
365
224
84
70
425
48
84
251
180
257
301
36
295
136
101
363
233
472
273
433
124
220
46
58
44
246
122
52
270
301
359
209
380
37
15
421
103
321
363
229
27
220
42
327
379
233
475
362
359
73
372
89
362
423
477
356
406
400
483
182
20
33
217
339
82
323
438
46
159
258
127
388
297
206
296
265
210
370
106
439
61
482
299
101
65
464
62
276
348
231
82
298
158
170
346
468
233
84
379
150
261
384
166
27
493
7
2
35
5
350
181
274
91
219
411
201
12
100
76
8
440
240
72
475
358
397
253
486
355
75
336
405
398
247
224
484
445
140
252
452
226
327
277
135
273
301
81
258
375
359
255
18
444
417
435
149
191
45
175
127
250
452
343
301
25
227
434
69
279
83
318
108
280
73
106
86
198
10
363
188
475
140
32
167
433
268
496
460
121
76
419
144
250
139
122
108
462
207
383
171
107
138
188
196
200
102
483
6
159
124
259
106
455
128
391
300
91
408
348
357
1
198
190
13
53
464
131
90
250
7
492
379
167
32
101
375
468
108
448
101
104
406
392
284
239
283
331
123
53
109
41
452
450
165
367
338
361
168
256
294
195
69
429
247
461
309
187
286
59
188
382
293
53
148
337
402
331
256
433
385
200
91
237
284
296
331
211
295
215
141
104
380
143
471
389
16
66
10
153
104
25
113
385
444
277
186
260
493
248
332
160
486
40
239
374
225
103
485
485
384
239
409
230
129
434
94
8
434
86
257
319
37
74
140
412
212
145
405
123
89
257
86
337
422
285
119
358
164
204
210
42
53
425
471
36
452
266
241
232
29
269
344
226
106
419
117
155
94
469
215
284
321
434
332
420
221
19
337
391
12
114
427
473
390
76
183
269
158
369
93
478
320
478
130
60
326
67
123
235
234
333
490
214
205
344
20
460
378
225
132
311
345
65
264
243
242
141
482
72
293
127
250
212
409
419
67
14
474
199
171
452
188
313
153
217
286
274
190
233
63
276
52
85
72
125
160
311
203
260
254
327
280
398
399
346
391
122
467
36
253
317
85
33
148
324
20
16
75
40
323
432
318
208
97
272
176
155
452
110
203
349
21
385
361
300
449
63
481
392
134
210
192
99
180
443
118
31
79
133
184
310
31
316
113
345
119
414
158
278
187
400
347
491
241
210
328
140
4
220
396
288
72
184
442
277
329
389
106
454
34
243
310
293
266
282
162
62
83
62
269
99
219
328
3
128
228
394
81
202
231
312
477
200
486
3
11
233
435
40
359
65
402
474
168
332
107
426
394
253
7
500
466
188
286
18
407
50
261
245
221
131
407
428
66
286
38
21
492
65
332
403
323
63
277
222
319
239
10
191
469
20
309
199
211
415
208
272
11
434
232
195
440
182
408
7
488
251
54
7
332
112
30
339
396
254
397
367
498
163
9
254
160
40
64
225
127
80
90
383
119
291
162
428
220
407
377
346
335
118
237
158
195
266
469
348
395
192
425
361
485
302
54
490
44
132
188
261
7
221
76
281
323
51
333
272
360
318
47
353
35
409
128
352
106
272
250
213
429
434
33
48
185
219
462
439
272
426
430
51
226
108
6
282
135
500
43
275
441
372
177
343
196
374
373
362
460
377
417
270
472
75
97
80
94
411
408
187
487
452
220
147
113
136
87
49
454
435
43
489
465
192
93
52
433
42
441
173
190
177
374
128
213
57
2
249
218
476
469
51
5
3
8
385
318
113
264
455
198
392
21
86
452
114
5
225
400
61
353
195
111
93
56
103
40
278
354
211
443
309
417
494
121
270
188
113
348
308
453
159
297
398
37
330
140
7
469
474
483
111
480
282
424
295
440
326
445
147
403
498
141
498
411
273
225
283
462
183
32
268
361
54
177
255
255
29
260
486
482
214
76
207
406
244
488
285
193
405
36
455
328
346
395
355
97
175
223
236
345
419
369
165
197
95
136
37
316
363
353
183
116
373
125
426
371
79
11
199
17
441
92
4
213
480
45
137
480
98
480
214
161
89
356
59
144
459
63
277
58
320
269
410
331
120
311
76
35
437
458
3
441
298
251
108
62
358
308
367
443
398
273
213
283
389
440
243
431
422
222
219
387
157
4
452
438
123
247
29
327
100
220
315
152
471
231
392
87
65
123
477
156
152
160
497
293
155
357
96
370
99
237
398
190
336
409
176
186
181
299
1
461
103
102
326
264
325
266
428
449
181
467
276
243
315
210
461
421
123
488
171
136
206
376
299
47
178
16
182
198
19
404
363
159
309
439
37
202
71
110
400
303
443
243
63
354
216
399
127
134
418
260
490
467
440
31
334
438
228
409
271
388
172
37
68
48
104
103
395
289
414
180
467
152
365
139
166
359
35
158
489
484
142
406
79
56
321
33
343
444
164
214
446
53
481
268
32
44
359
107
56
126
141
420
414
86
29
120
166
486
411
417
295
247
88
229
169
414
304
224
290
295
247
500
351
32
417
304
223
419
226
498
440
421
269
370
125
128
417
177
145
209
413
359
295
347
420
317
301
267
5
114
198
125
66
89
166
215
481
172
300
473
317
41
56
86
153
278
12
439
66
366
245
377
204
47
499
225
251
471
437
388
9
489
304
157
335
472
252
175
173
234
332
211
391
95
82
272
246
100
327
1
325
400
354
321
276
215
104
135
303
18
11
248
176
155
244
335
132
94
12
307
31
268
375
472
46
484
261
447
207
468
201
84
160
43
338
259
163
5
114
303
174
403
75
112
421
245
254
27
379
494
486
320
366
320
317
216
57
305
242
413
477
250
387
483
193
430
419
108
226
50
285
4
122
161
47
460
73
147
405
237
30
48
70
466
176
156
326
95
464
73
303
24
92
97
429
409
162
325
80
252
343
483
236
38
200
316
257
179
327
97
411
394
331
445
317
244
45
205
189
253
423
129
111
132
423
455
275
109
233
484
234
182
478
242
145
5
81
369
132
202
244
347
110
220
160
145
214
259
302
71
39
210
94
452
206
255
254
278
468
4
121
492
495
183
275
4
378
246
367
183
389
169
491
253
323
257
328
18
342
399
407
266
4
398
93
162
36
399
115
455
393
483
169
393
493
159
156
184
139
103
348
451
110
15
313
383
385
372
46
87
451
316
367
134
336
470
240
412
466
8
39
494
338
67
343
310
176
413
500
284
482
446
379
184
141
53
25
137
402
329
36
321
387
81
215
434
78
125
259
313
171
292
292
60
167
154
110
271
242
242
497
159
493
306
467
486
53
363
400
146
440
292
177
66
169
474
326
212
472
27
478
334
268
145
242
163
460
270
466
337
41
253
203
209
298
183
46
94
223
140
210
187
424
386
9
449
270
489
245
343
116
148
242
134
179
459
304
223
352
366
274
59
32
55
371
473
174
357
274
68
114
5
46
225
82
189
367
375
405
480
91
494
391
272
301
205
238
196
115
174
364
142
156
153
12
228
224
32
308
88
89
490
482
98
336
298
441
143
241
267
314
183
289
83
396
3
292
452
265
114
438
487
204
19
43
264
255
164
315
95
339
397
338
358
159
358
417
63
30
183
334
170
317
160
26
232
17
378
375
443
434
493
246
282
172
363
395
475
183
78
360
72
98
286
309
200
202
130
465
380
366
341
462
415
339
469
423
174
432
368
15
84
443
403
442
26
299
40
8
27
71
207
378
84
94
125
142
363
62
98
263
477
106
317
121
442
226
498
487
229
402
9
422
65
179
137
443
465
367
157
150
463
416
174
350
323
347
281
188
147
87
213
275
182
297
332
15
448
245
209
483
241
330
253
493
50
358
194
68
469
82
225
493
95
361
116
323
85
157
138
53
105
138
84
35
231
70
484
460
164
377
435
142
466
362
500
1
158
21
40
30
139
357
227
149
160
150
165
150
198
167
220
172
220
473
262
260
236
284
395
212
79
436
259
361
212
72
206
36
497
27
272
233
419
119
288
486
362
87
316
154
490
438
324
241
424
18
48
73
284
132
316
263
288
481
171
76
318
357
80
156
220
488
70
168
257
222
269
268
479
113
362
3
152
386
128
276
290
45
286
103
441
30
207
153
491
228
440
102
318
253
480
275
94
217
93
179
393
68
463
335
309
315
411
143
162
343
262
409
390
324
436
145
193
121
488
10
361
418
382
451
99
284
76
26
192
480
474
119
79
450
380
423
168
109
7
484
246
244
85
484
258
165
173
288
190
422
367
254
53
189
52
76
472
185
407
142
389
127
100
464
279
252
234
300
375
303
265
474
166
67
93
185
157
303
174
67
478
22
381
178
56
160
199
329
246
381
129
226
93
54
292
489
357
213
244
451
6
254
33
294
208
410
430
500
396
31
130
416
126
474
156
336
365
336
374
257
238
260
94
89
469
447
66
443
40
302
27
278
274
53
421
3
793
418
629
498
782
448
312
623
534
321
635
692
413
422
315
332
416
481
553
499
720
353
694
761
637
703
484
642
336
785
792
766
735
673
416
437
312
317
735
403
659
590
485
719
342
383
685
458
493
771
756
624
424
613
797
638
350
560
656
338
683
754
798
656
391
337
306
438
355
425
561
547
433
460
739
554
788
623
345
497
539
511
451
497
360
705
747
654
625
665
343
650
531
557
391
473
337
673
738
574
699
658
504
648
464
368
379
363
554
530
440
367
428
707
709
380
412
590
753
485
706
462
744
394
719
458
361
562
464
425
738
664
444
761
791
672
734
582
743
625
532
636
597
488
780
349
486
370
462
584
554
607
683
504
670
351
484
684
699
422
771
760
784
385
312
487
735
392
515
673
623
660
685
319
343
582
450
778
461
544
645
613
509
486
686
581
316
447
729
756
687
624
676
358
762
731
719
780
470
604
474
666
640
776
453
303
322
526
556
759
769
469
601
323
390
664
531
635
589
339
692
458
399
668
712
761
368
614
619
317
738
329
305
451
437
345
599
357
451
701
748
621
749
707
377
652
784
303
772
751
373
781
424
543
431
349
489
587
370
518
627
642
785
795
550
379
406
695
496
538
627
678
756
365
325
644
632
483
448
418
418
366
583
352
712
539
520
537
780
521
795
345
454
629
353
628
688
656
741
496
336
616
426
620
452
550
704
360
463
758
309
543
323
607
404
491
560
329
659
729
644
437
707
781
305
523
308
347
669
367
755
684
778
312
316
781
659
414
390
557
796
678
370
323
512
327
332
627
613
323
620
538
405
518
722
357
623
589
546
535
727
335
307
369
551
458
332
728
733
313
561
504
395
629
786
583
625
527
385
617
603
640
688
422
430
776
318
544
315
579
315
355
359
354
463
303
432
465
584
659
418
320
765
328
679
427
597
787
614
721
368
796
786
393
315
363
764
566
626
776
789
552
344
477
615
747
770
321
759
473
444
676
431
452
677
307
659
786
626
731
508
432
326
310
647
736
510
548
792
741
787
777
721
756
345
572
535
568
768
577
756
558
537
427
616
784
501
748
454
358
784
376
443
640
787
595
549
759
607
468
785
313
538
545
676
383
587
517
399
341
636
784
404
616
691
451
523
689
363
615
644
520
535
421
777
364
669
595
453
400
541
542
722
514
612
408
418
381
355
632
639
485
546
485
422
301
469
356
619
722
388
527
716
444
526
774
457
688
773
403
310
690
763
415
720
327
610
466
591
610
462
622
778
506
656
560
723
416
351
765
376
631
770
726
610
433
382
493
462
414
681
411
765
788
396
527
500
448
693
626
338
591
672
588
332
367
336
547
519
303
775
533
499
508
749
403
340
557
649
369
515
424
700
571
557
584
780
586
750
719
747
783
526
600
388
463
697
651
493
428
422
501
591
508
575
309
356
778
728
770
407
523
366
414
742
737
450
589
508
573
459
713
617
779
684
314
781
762
505
624
660
468
392
359
605
589
533
785
552
764
690
600
555
595
588
349
514
318
393
412
631
416
445
586
554
346
526
343
429
795
755
602
438
551
699
425
797
513
586
505
647
650
678
319
720
724
693
748
622
525
695
748
553
686
339
781
751
535
710
548
395
654
353
731
667
560
529
564
378
506
726
321
347
607
623
431
384
368
523
488
467
702
403
476
372
704
755
778
327
597
409
757
553
673
460
555
472
717
531
566
752
375
684
397
581
461
313
639
367
401
462
669
355
703
765
497
675
426
438
706
400
410
618
738
615
423
502
480
309
521
551
754
345
725
448
695
478
308
794
375
759
327
395
748
370
393
317
713
754
497
569
713
373
576
792
344
420
431
737
330
355
365
555
578
336
354
739
528
622
617
388
327
479
479
520
475
695
451
345
460
787
559
334
485
790
564
460
672
633
674
714
757
387
756
472
476
465
551
585
800
669
456
303
515
793
632
394
362
714
760
738
342
688
512
358
510
398
535
420
372
757
779
556
473
550
460
499
672
304
307
790
579
509
425
330
358
441
325
333
714
578
363
663
800
430
508
430
474
574
697
649
729
758
544
391
656
587
505
800
549
325
657
541
622
594
489
375
316
469
589
548
649
536
526
691
545
763
642
596
437
675
346
560
650
532
651
584
617
453
628
684
681
404
722
427
702
490
507
348
743
426
406
370
730
458
596
699
466
691
648
525
609
723
714
733
417
494
393
644
661
395
793
432
678
665
358
783
387
348
402
621
323
530
318
486
308
412
725
738
464
312
521
766
669
572
710
458
598
708
426
416
712
428
672
584
469
752
779
507
412
415
547
598
735
439
752
762
737
412
378
692
704
438
650
495
440
391
751
537
725
701
494
435
624
776
697
632
628
415
490
439
467
650
518
357
390
728
753
539
552
721
732
630
793
564
385
434
354
354
459
621
631
528
673
610
523
676
581
691
387
560
496
677
571
385
584
399
372
474
708
565
752
325
568
467
417
625
615
747
502
420
727
322
794
539
350
520
309
697
403
301
460
587
309
488
389
646
562
728
502
586
682
377
559
728
599
550
374
342
768
608
500
317
636
380
609
395
722
303
715
390
655
462
787
438
687
424
383
453
386
773
305
688
536
560
788
640
761
321
574
375
318
504
450
606
726
540
649
507
527
695
758
451
608
314
585
455
482
487
384
799
559
400
385
525
631
476
443
753
702
403
669
566
495
445
424
719
405
555
358
792
790
612
501
487
658
552
350
450
454
505
502
641
597
536
447
672
311
613
402
663
485
487
430
437
722
413
319
550
428
616
492
522
568
651
710
778
712
695
378
303
396
363
492
785
542
334
700
505
517
645
345
620
470
430
739
352
750
735
499
795
783
403
730
532
429
379
326
402
308
637
503
548
787
378
667
527
757
483
453
507
372
373
533
432
692
376
317
641
565
685
791
321
377
583
799
302
474
563
584
335
317
547
357
742
744
544
520
484
556
571
789
772
417
365
797
437
392
363
328
390
689
731
490
564
662
647
499
311
787
683
662
443
313
524
596
781
448
464
421
635
323
575
734
662
346
493
408
397
556
420
735
456
529
569
794
680
533
740
503
348
738
331
778
687
567
365
405
318
701
606
755
549
755
641
470
627
349
422
652
692
606
668
740
395
380
510
423
718
416
795
562
320
416
473
549
461
717
349
444
320
407
748
630
636
552
764
553
425
733
712
764
681
600
442
515
348
698
651
438
597
648
409
719
468
445
558
777
647
520
612
348
727
672
529
789
752
532
745
428
785
398
645
599
394
571
342
766
374
303
424
534
796
542
552
696
417
411
467
521
572
325
562
404
557
374
657
579
377
661
309
433
669
311
447
379
613
633
376
797
450
344
671
476
371
716
729
781
584
683
629
586
400
604
620
542
545
316
486
628
409
488
499
382
541
634
417
713
795
750
507
707
451
669
591
787
453
400
762
630
642
600
637
795
452
691
748
508
511
367
509
351
717
311
462
608
421
576
494
662
375
479
772
310
544
504
708
588
784
471
512
350
659
770
349
441
706
368
312
322
536
669
451
372
375
686
780
591
493
371
752
589
665
658
338
433
773
519
469
427
768
485
446
444
494
546
734
522
453
382
737
692
549
353
545
311
394
680
431
560
483
535
762
315
658
554
366
469
360
662
376
752
554
694
438
589
641
796
648
632
415
563
729
470
791
304
638
714
597
487
568
659
579
704
713
531
382
696
547
511
680
434
724
635
370
526
377
505
569
631
415
650
499
616
548
547
653
446
749
361
516
537
407
357
646
522
586
550
434
707
719
534
433
431
375
388
399
351
531
644
749
704
323
343
778
774
369
783
401
570
461
730
706
697
675
661
687
624
367
789
325
539
411
395
752
774
670
698
390
650
467
738
464
416
391
775
335
645
392
655
781
424
737
542
300
456
689
313
671
615
581
611
744
690
431
346
775
613
583
351
604
778
712
669
536
476
359
591
602
368
591
671
473
380
352
515
720
509
478
323
549
457
309
632
355
618
405
433
369
741
529
789
699
590
490
692
555
359
659
632
562
758
457
748
499
563
472
422
671
521
563
443
639
323
335
640
322
619
635
596
357
526
694
712
709
430
678
706
316
351
338
694
431
500
589
353
419
334
615
602
513
794
495
765
484
347
497
730
573
631
353
684
609
742
726
777
481
732
598
687
766
539
788
330
483
563
310
389
486
506
517
302
658
641
308
738
557
372
657
312
539
792
334
679
658
663
715
358
454
458
550
345
351
344
357
325
565
690
652
570
607
369
604
704
367
654
761
561
683
312
654
573
671
636
404
551
690
590
539
360
618
447
395
755
446
508
787
699
788
589
563
772
770
481
630
763
329
660
455
516
321
784
615
564
635
568
536
356
775
651
740
657
587
315
395
438
384
378
550
380
636
706
524
663
516
760
695
769
346
585
521
625
307
603
485
490
578
709
350
460
500
495
521
519
616
518
352
655
566
405
499
423
768
456
381
528
606
564
644
469
333
774
404
317
709
780
423
379
787
785
458
479
336
794
780
451
696
721
505
672
469
421
657
635
733
767
306
409
518
644
350
610
452
426
489
372
394
394
689
450
432
637
461
377
655
376
501
764
373
340
492
457
431
393
595
749
367
351
530
641
620
751
420
598
730
527
574
627
459
475
613
617
722
763
529
769
738
657
688
313
372
388
526
649
374
714
664
744
619
790
659
476
418
654
723
317
630
625
667
730
353
761
560
688
599
471
407
368
662
729
412
709
727
473
680
659
761
685
355
744
786
577
761
630
765
592
629
788
605
358
638
394
401
674
770
440
650
603
475
418
448
719
375
432
436
612
620
566
535
319
745
529
719
481
585
633
337
322
324
509
559
321
712
441
736
736
632
651
513
590
502
486
347
571
646
709
610
473
695
649
787
591
787
384
388
389
742
601
366
652
314
399
321
699
800
370
647
675
361
512
765
571
458
756
358
595
591
757
709
635
469
444
342
469
509
337
710
446
788
577
394
559
519
388
521
733
652
439
592
687
632
738
573
367
742
697
646
431
766
552
710
304
632
469
435
420
758
439
450
680
795
303
471
772
794
373
747
423
645
525
603
692
331
549
799
510
512
458
454
309
764
728
380
575
321
430
710
711
597
472
656
670
542
779
456
715
309
600
316
371
361
776
636
726
774
621
622
370
653
650
403
673
488
474
496
571
603
384
332
402
765
676
430
450
467
530
724
642
607
619
359
314
304
499
533
303
546
646
642
350
328
350
800
646
664
571
404
451
355
629
473
655
545
415
451
740
705
662
456
416
469
680
508
306
655
377
717
458
569
365
714
657
722
738
792
605
756
711
775
784
773
772
590
719
441
623
345
599
409
340
624
695
787
724
386
616
428
637
448
724
776
449
530
406
561
734
334
549
629
642
715
489
352
549
365
749
744
644
327
701
443
596
518
762
444
783
473
737
406
588
610
539
757
366
448
332
618
474
736
664
365
400
311
716
674
318
432
799
425
403
670
780
788
551
769
552
693
732
505
649
473
572
794
382
519
358
786
511
727
566
487
589
582
347
775
489
446
562
523
626
679
712
436
424
360
700
375
534
591
733
761
405
490
557
379
786
740
611
630
738
756
435
453
432
396
781
538
312
606
788
373
708
521
626
575
314
303
606
473
543
392
727
620
490
549
390
714
340
350
320
619
423
396
425
337
737
390
618
423
779
667
710
330
779
532
701
487
301
650
693
643
498
744
407
519
523
788
670
766
601
377
467
729
627
373
519
759
427
727
418
541
653
611
336
455
600
431
331
477
421
746
426
417
530
372
479
432
692
324
327
365
723
366
428
766
596
466
545
599
472
512
699
515
703
559
305
569
517
535
686
680
513
536
334
366
519
799
648
735
562
755
532
680
476
560
337
658
467
477
509
723
495
328
573
389
495
721
408
308
463
789
513
370
516
351
413
606
543
553
409
596
604
766
569
548
515
664
553
657
718
733
662
687
663
478
746
412
451
608
598
367
521
685
791
735
355
321
405
650
473
661
779
524
583
559
793
745
774
363
324
362
769
557
446
612
724
664
536
500
365
302
429
508
441
515
452
525
799
765
435
664
738
622
618
667
462
410
318
658
372
667
593
414
591
522
430
789
315
660
757
771
430
478
504
735
436
500
537
702
608
731
511
342
481
454
630
766
365
760
759
626
618
517
743
723
482
395
590
410
714
609
615
334
466
464
322
513
718
742
343
435
685
761
419
666
399
423
706
377
576
467
717
435
542
727
734
412
312
402
386
325
574
624
769
364
692
569
411
389
532
584
786
605
501
800
695
533
708
603
682
499
367
574
328
476
552
421
428
769
465
407
647
398
367
466
607
410
649
483
585
652
703
520
762
389
528
569
753
798
791
404
691
456
568
485
547
547
306
309
303
650
755
681
744
653
573
542
685
771
455
372
767
409
680
516
703
385
710
352
357
377
720
406
472
436
753
435
740
373
532
731
611
443
509
319
357
531
784
512
653
347
702
356
417
683
300
634
664
303
407
743
738
325
757
395
458
537
661
574
518
700
510
745
671
431
397
753
491
383
352
655
592
570
411
659
511
691
386
302
318
669
431
528
517
449
401
486
613
740
718
378
631
639
497
516
612
469
677
657
616
648
679
395
590
518
678
373
421
400
718
678
743
646
494
587
349
376
713
680
788
352
798
432
347
596
637
514
478
354
675
711
792
472
553
306
697
401
344
452
800
728
398
620
378
582
780
372
325
694
435
515
573
407
619
487
658
679
464
467
324
726
447
516
413
751
384
300
415
471
585
508
632
318
593
748
784
677
698
424
584
775
626
647
435
766
566
708
679
699
465
394
650
386
423
570
712
405
470
787
543
542
582
355
301
436
620
651
526
646
470
735
464
675
355
771
308
429
450
642
676
646
461
670
305
467
444
448
597
555
671
729
544
445
574
632
563
416
452
399
646
725
669
378
599
461
623
731
785
583
428
652
524
779
781
623
764
465
355
519
766
421
626
488
551
578
747
641
796
551
319
470
518
711
337
740
554
380
400
475
696
539
596
582
499
664
780
444
371
363
439
365
676
396
360
530
617
674
498
528
619
445
455
453
762
553
314
765
415
443
600
684
316
717
776
602
559
322
385
389
684
438
396
498
501
575
436
389
372
619
307
437
346
353
688
471
301
738
396
567
397
349
682
744
503
497
425
307
689
619
757
746
303
574
711
770
461
690
764
303
403
525
734
735
778
771
713
581
733
766
430
780
686
340
693
665
620
628
791
755
712
458
439
649
796
564
527
333
408
568
672
567
555
589
477
725
546
431
674
398
596
606
751
792
527
617
427
311
720
731
662
745
696
508
661
374
600
656
678
798
500
671
676
320
472
442
363
683
612
593
431
731
695
548
587
473
540
719
534
614
485
361
618
526
559
468
357
489
780
567
726
441
403
445
487
559
768
565
635
379
779
505
403
408
573
753
513
779
320
447
751
571
661
719
364
771
526
356
604
493
770
524
632
337
585
749
705
795
473
679
635
411
359
392
590
363
792
454
634
585
719
751
575
473
547
351
348
704
541
611
519
304
453
750
716
339
612
570
521
753
592
693
586
538
356
599
403
699
352
375
583
417
434
412
795
702
657
772
680
773
757
689
301
482
480
485
740
686
319
370
612
671
442
387
742
329
559
773
455
722
437
517
479
406
535
683
489
700
501
591
333
686
496
503
783
304
682
694
517
729
462
415
536
630
368
663
628
531
660
729
636
464
537
689
462
632
525
751
625
573
528
554
677
528
569
324
594
575
480
318
402
790
491
752
784
772
695
742
425
301
510
556
648
449
642
400
440
710
379
617
361
582
382
325
520
494
748
557
582
797
606
728
567
369
587
429
649
775
611
730
425
367
650
436
348
405
576
748
642
736
322
318
716
495
653
453
741
405
393
715
600
569
608
689
647
524
525
366
453
721
509
609
384
302
511
464
775
503
650
646
666
753
334
593
697
392
637
571
402
395
499
749
563
581
656
770
407
539
574
452
603
481
499
327
695
777
376
378
746
538
688
337
551
570
465
579
510
766
340
763
770
603
337
620
367
363
353
339
580
321
477
794
773
717
399
581
483
365
719
362
374
376
393
461
614
590
789
510
515
354
533
447
491
548
313
686
549
364
649
415
673
551
468
706
623
413
643
712
471
354
612
710
696
346
586
418
312
742
458
420
759
772
749
659
709
739
418
582
366
783
725
645
440
574
605
341
438
312
420
773
551
357
503
314
419
396
766
315
595
436
411
587
478
374
364
579
365
485
378
471
309
751
464
390
392
311
643
325
543
317
705
449
649
447
763
556
542
457
302
645
566
628
388
519
706
667
375
507
624
458
391
462
556
735
695
431
654
375
496
762
367
575
559
697
477
308
409
455
629
564
697
613
619
362
655
639
589
664
730
791
540
401
348
428
389
561
737
792
374
729
452
742
300
304
303
434
387
428
331
529
425
670
509
422
365
479
737
542
306
358
627
468
578
389
359
529
493
419
454
641
761
554
761
503
455
509
693
724
606
564
423
399
622
737
539
680
319
782
366
431
461
594
620
630
632
732
758
583
769
448
401
635
380
649
454
577
452
706
744
755
529
729
741
320
723
515
718
557
357
331
730
388
793
556
677
690
365
649
705
650
504
600
458
779
358
789
540
305
381
799
317
563
462
732
551
507
582
346
520
795
676
518
648
573
647
423
559
449
602
599
724
746
310
563
794
742
606
375
447
643
519
463
558
326
365
710
417
596
752
644
516
704
798
455
535
501
757
628
394
769
758
653
351
488
678
698
324
457
399
529
562
570
733
648
641
595
300
471
679
419
532
431
766
547
558
423
337
744
766
303
323
800
556
751
729
383
537
570
787
412
767
743
309
742
642
372
603
645
682
337
458
440
571
769
590
621
387
393
485
734
584
786
588
323
591
503
800
559
428
443
751
729
502
468
531
322
446
628
463
492
425
556
307
690
656
509
378
505
580
318
780
468
722
363
454
642
603
374
707
586
712
684
531
675
691
507
676
759
798
334
475
542
414
678
637
661
324
434
603
748
633
550
621
306
443
302
314
345
407
674
522
319
600
323
529
736
376
341
564
485
546
635
366
404
375
786
541
451
411
476
570
702
519
484
634
708
699
601
362
353
522
677
704
543
743
550
725
339
514
538
653
597
322
734
491
557
567
436
409
342
651
576
626
587
568
349
338
534
569
317
488
619
418
773
627
346
646
373
350
670
777
542
442
434
714
379
472
725
621
433
668
655
737
343
374
669
783
470
545
783
755
336
462
322
764
552
335
633
628
426
455
368
675
592
342
399
774
324
478
323
463
330
303
765
670
655
591
664
496
688
773
407
366
712
576
480
511
357
369
548
374
749
428
565
775
522
438
660
655
709
771
642
366
522
549
397
560
768
400
787
471
476
343
314
448
726
627
328
491
310
570
557
498
666
363
313
715
386
466
612
553
697
367
313
332
527
569
605
501
620
369
764
328
480
566
446
600
754
320
590
336
309
701
455
495
643
694
364
595
784
435
458
535
736
741
788
632
657
318
507
358
417
675
718
704
522
557
776
800
594
741
511
431
713
563
518
678
778
615
311
651
725
490
568
654
337
368
353
408
610
410
712
637
397
621
537
448
740
406
403
354
359
306
564
692
534
397
577
742
481
546
593
783
687
374
440
737
763
313
397
425
672
643
494
789
379
775
373
311
715
498
325
792
332
497
387
579
555
560
741
595
300
663
632
409
473
389
438
424
438
688
476
392
643
535
433
330
727
706
362
682
484
645
514
601
377
575
401
495
711
486
310
797
456
656
555
646
777
497
631
663
794
360
598
446
332
542
783
389
380
540
463
547
791
659
464
458
337
330
425
647
610
376
793
498
731
616
316
567
786
643
438
415
327
320
591
441
542
758
535
339
780
681
800
787
452
471
540
784
705
313
452
531
620
747
667
524
615
604
377
795
728
686
587
356
349
526
691
390
618
788
517
587
593
570
591
390
744
425
761
768
544
358
438
393
570
401
707
702
763
378
586
409
722
361
388
527
438
405
692
738
741
405
384
461
623
348
352
792
382
651
414
756
702
328
486
799
756
519
565
787
748
552
325
471
568
568
353
698
338
359
306
528
790
338
673
504
735
575
684
634
517
586
615
331
743
409
550
712
596
702
679
445
346
378
362
304
601
436
575
486
329
640
644
619
685
326
490
363
724
352
800
622
599
329
414
758
439
365
795
645
540
581
423
556
620
758
730
456
715
726
742
647
502
507
330
362
550
363
501
594
717
749
458
323
738
413
620
647
732
358
708
574
670
673
582
788
555
341
310
624
719
755
659
625
791
496
539
764
377
657
334
529
503
368
571
550
676
639
419
458
492
469
375
716
302
562
322
326
722
377
437
529
596
429
641
544
402
472
660
624
491
309
756
347
643
735
726
711
536
323
454
458
510
785
763
508
757
758
767
553
518
393
460
751
606
751
671
707
492
529
351
695
758
441
769
701
751
569
688
710
401
384
714
562
796
425
657
743
629
711
753
384
634
359
333
499
302
479
671
753
499
437
772
522
623
540
498
774
334
379
743
570
421
319
606
611
311
667
364
395
519
466
477
358
413
711
645
621
356
749
300
608
716
456
653
587
365
537
474
681
797
440
553
400
537
770
622
492
321
482
562
348
463
703
616
331
400
349
694
529
587
571
621
582
526
397
340
359
451
793
720
502
450
582
622
530
444
758
656
520
657
669
423
330
605
464
759
451
526
484
489
609
519
355
513
510
626
592
403
659
588
368
483
436
778
377
493
751
439
715
691
358
319
425
614
463
315
743
610
476
506
468
321
554
401
739
479
784
666
597
703
689
630
425
770
372
632
652
568
754
732
701
365
697
779
726
613
305
514
492
743
361
610
469
478
447
780
464
707
691
374
556
550
604
701
438
518
509
712
364
409
393
687
450
680
756
351
684
609
506
508
771
370
482
647
627
531
486
745
604
497
629
325
799
578
531
403
755
341
422
493
550
667
411
508
797
575
537
793
687
726
687
483
309
695
337
574
561
308
482
748
517
462
376
493
335
429
597
747
718
388
724
387
696
481
736
568
458
385
625
669
768
608
434
507
697
463
391
320
367
651
737
598
700
342
759
666
350
663
412
403
431
533
607
412
624
500
477
491
728
440
754
492
525
546
522
478
488
412
654
478
706
343
711
767
358
331
615
634
607
496
592
454
786
693
504
545
300
660
521
339
458
766
675
623
754
734
781
541
456
402
404
471
599
629
556
642
604
788
638
514
569
743
449
454
398
456
641
370
700
796
321
569
503
452
544
664
622
561
644
468
491
665
658
329
374
347
676
308
404
690
527
587
434
604
479
480
327
607
698
640
567
765
488
582
449
613
356
404
338
786
594
788
392
772
501
450
552
685
437
557
371
735
541
775
427
388
528
493
409
429
365
388
475
420
390
549
527
523
377
731
590
739
593
546
583
699
694
710
591
541
379
416
344
417
318
379
717
599
749
707
418
451
753
686
545
593
534
596
584
318
666
593
466
416
603
395
432
375
625
554
625
761
584
386
538
534
374
702
581
454
498
508
327
449
701
484
719
664
429
725
490
655
558
703
682
352
366
555
791
310
548
456
530
477
538
478
707
635
373
435
490
744
503
367
381
609
436
345
666
394
506
375
593
676
757
767
502
616
765
547
339
717
670
343
493
561
422
692
693
644
797
687
415
404
728
574
544
759
649
479
783
605
521
728
591
406
619
453
749
618
706
599
434
470
732
392
417
465
631
798
433
479
411
784
535
419
774
459
721
464
375
428
542
359
757
378
762
754
336
425
476
764
577
325
762
539
519
301
301
387
704
548
357
301
639
671
701
679
446
427
401
459
606
590
320
363
337
397
28
58
427
151
442
288
199
190
55
437
96
159
449
83
416
291
349
90
39
274
219
265
446
120
224
309
231
341
19
233
242
69
234
475
337
401
383
110
390
405
84
435
185
463
458
458
5
485
475
287
384
451
239
66
258
236
26
381
88
447
120
477
5
289
1
433
342
290
28
295
268
82
286
275
46
175
329
381
399
1
219
147
129
362
178
497
76
39
373
402
250
79
268
204
207
403
279
7
153
179
49
271
278
365
80
457
243
364
132
297
1
124
220
69
383
393
158
345
54
178
179
354
126
393
84
249
158
368
104
391
340
86
58
123
222
197
195
477
340
240
81
221
327
390
307
175
219
10
428
494
246
252
120
487
312
389
94
305
372
439
429
143
161
117
178
343
355
78
330
494
232
469
366
205
362
350
331
171
67
323
5
24
116
290
355
291
324
147
460
95
224
142
29
457
129
367
127
430
406
78
206
278
476
53
133
266
129
297
365
426
67
378
495
444
42
408
121
135
69
35
480
260
483
490
333
315
155
160
496
184
297
31
431
432
492
350
88
207
228
290
4
105
157
6
132
358
486
145
125
35
240
382
268
159
124
438
325
54
480
156
25
29
27
330
12
307
24
475
433
37
291
367
237
230
199
192
370
153
323
134
224
467
242
82
499
328
419
255
368
226
21
195
394
234
60
474
225
292
455
449
334
187
107
126
179
442
266
98
199
477
474
55
365
135
424
61
68
152
52
365
458
215
275
310
3
35
337
488
499
136
254
102
389
325
143
387
355
180
202
13
69
31
217
255
33
18
417
166
145
390
380
191
101
397
81
119
252
431
72
100
134
109
217
96
349
176
19
115
104
82
298
274
130
350
210
271
331
230
407
29
457
218
30
366
350
367
126
452
350
90
39
453
93
40
80
345
2
171
304
42
443
431
144
472
488
314
412
159
420
262
132
454
440
329
390
458
39
139
273
348
23
425
338
380
449
481
43
411
467
19
461
224
87
139
82
311
221
184
140
78
276
21
150
270
417
247
156
246
464
480
39
379
40
35
92
185
265
24
309
389
386
399
346
76
189
113
457
155
320
267
381
485
266
112
437
355
382
238
417
75
12
313
432
57
429
120
396
359
210
473
279
3
98
279
315
323
181
322
153
352
272
412
51
372
142
332
359
135
234
260
428
457
404
207
479
23
338
353
377
107
495
367
165
242
175
360
69
276
330
43
381
271
139
186
198
374
201
423
66
5
81
33
441
491
147
127
142
335
227
217
308
336
361
88
19
448
429
229
235
344
164
394
6
351
20
474
55
76
267
310
315
113
75
408
133
150
442
475
151
383
365
125
295
480
459
123
312
71
364
55
189
55
89
468
320
15
351
462
481
126
175
53
118
335
272
425
47
414
428
88
235
282
378
36
197
317
450
251
98
293
436
137
431
161
442
485
59
361
148
13
72
195
397
464
459
140
432
381
83
86
438
446
122
372
167
447
150
183
313
373
403
432
37
348
382
313
85
5
259
296
338
80
289
272
315
151
197
406
235
271
334
351
240
109
371
337
389
13
95
127
129
106
79
87
359
375
85
412
222
316
19
161
339
154
154
312
14
277
390
43
269
24
482
9
285
225
451
253
430
2
471
209
262
372
72
467
150
58
445
489
212
210
292
390
50
40
237
413
260
492
332
390
138
15
461
267
209
429
475
113
256
163
218
489
455
264
80
298
90
234
108
301
420
250
430
273
467
260
238
60
173
330
335
475
342
76
243
138
465
3
84
276
17
159
481
418
164
214
17
118
467
58
476
104
253
338
73
488
214
85
171
316
372
85
229
22
369
212
350
57
373
418
265
45
371
458
486
309
470
42
485
109
121
6
229
9
368
188
221
149
171
240
438
239
206
91
124
87
375
458
268
258
360
493
392
286
336
69
372
113
169
355
16
301
76
187
457
41
140
334
165
419
246
156
359
374
275
241
169
466
464
299
104
66
46
205
39
199
10
4
272
280
240
271
276
277
108
32
430
108
450
130
254
430
19
130
36
128
241
7
272
28
204
394
151
440
36
343
300
486
431
293
119
67
108
465
75
41
297
470
51
301
158
377
460
335
402
33
283
379
91
449
49
148
356
383
15
442
406
109
319
388
453
439
150
293
256
64
246
194
200
48
8
57
22
411
223
448
412
73
483
320
227
271
243
202
278
19
130
309
231
336
262
14
263
315
25
272
452
58
233
370
171
59
266
368
205
196
414
143
251
371
108
210
313
121
484
234
87
450
387
89
388
348
407
219
296
199
10
65
34
209
448
475
15
58
40
333
393
444
318
459
268
82
379
299
14
291
102
292
272
70
411
237
464
357
491
286
270
251
55
343
479
378
178
492
5
329
26
229
438
383
435
76
407
319
315
28
362
197
234
88
127
325
49
234
408
290
114
325
452
485
295
375
106
497
20
441
355
61
408
304
249
109
393
322
256
137
248
116
228
426
95
235
117
483
149
191
343
41
280
204
34
483
210
337
253
6
418
450
167
445
63
385
6
177
92
205
424
24
170
432
184
308
279
340
55
155
407
205
66
145
432
441
23
49
233
72
440
297
172
379
59
102
302
237
20
281
11
410
305
381
282
184
60
341
188
31
147
293
148
88
153
325
104
106
309
198
430
442
464
266
442
469
272
279
109
376
216
219
231
167
200
427
191
295
29
410
475
452
367
486
287
83
450
26
2
461
151
395
144
228
256
261
239
314
427
468
65
149
329
105
136
18
358
435
349
423
109
156
23
131
241
265
264
279
240
125
194
416
365
42
212
413
241
157
304
148
247
150
465
465
96
157
162
318
457
296
253
337
184
125
46
468
171
178
456
448
221
236
342
482
451
186
104
23
271
424
377
278
367
360
369
284
328
436
304
135
303
470
118
192
25
178
170
132
500
170
277
82
169
300
44
219
341
484
263
386
369
497
2
128
185
423
161
365
478
314
243
281
266
194
468
78
165
339
472
409
223
316
46
4
125
37
349
100
127
362
133
224
335
275
206
310
83
470
334
433
33
87
487
437
368
51
423
299
295
436
168
337
362
185
232
30
45
475
301
171
113
4
499
343
158
59
50
164
147
69
115
167
402
327
244
317
495
138
120
145
428
484
306
43
151
236
440
206
76
166
464
66
347
337
219
451
266
345
178
111
400
233
488
408
276
58
294
231
113
34
182
462
176
177
301
219
456
402
167
86
227
10
134
11
125
365
339
298
106
397
330
358
233
145
410
356
4
44
108
214
165
387
161
402
346
1
326
105
56
262
281
303
377
434
26
208
327
432
91
74
47
47
286
161
272
270
304
19
14
344
451
426
150
230
434
451
158
226
153
66
247
344
192
64
387
404
5
96
430
244
270
387
32
475
137
256
460
271
14
64
4
428
191
219
122
335
435
379
129
494
294
396
373
465
434
46
124
62
175
24
236
202
267
499
186
385
68
491
141
164
276
68
157
346
240
353
72
280
114
302
314
11
281
5
205
304
446
369
105
446
475
30
194
120
457
236
264
345
499
18
363
486
259
258
383
283
149
53
19
415
147
421
482
427
169
120
185
170
360
408
369
366
439
420
340
189
45
6
391
374
386
389
322
489
306
119
411
408
392
301
29
344
240
308
145
3
423
145
284
238
385
396
433
235
393
336
214
378
285
363
158
402
404
233
290
259
417
27
468
391
295
127
17
378
295
155
462
195
151
64
174
240
408
356
492
301
438
316
201
274
40
344
214
171
159
349
366
350
229
210
74
493
107
274
99
297
300
457
154
403
204
254
355
425
477
238
279
64
314
451
451
374
262
376
290
407
497
109
328
258
209
331
102
202
67
474
231
110
285
347
192
350
464
265
399
112
316
8
225
476
372
437
86
112
236
53
291
428
55
129
95
242
133
139
148
254
369
495
184
156
464
25
409
366
429
335
322
133
162
466
351
357
129
219
364
471
469
316
173
247
332
21
240
146
257
165
207
244
159
494
112
287
480
154
456
202
368
455
368
201
430
22
73
335
289
327
486
452
205
181
107
188
166
198
429
115
326
62
220
178
194
289
2
484
45
359
201
13
197
133
273
364
316
217
402
429
108
23
125
470
85
3
361
43
287
326
95
68
219
398
66
255
421
206
222
83
432
367
182
361
84
457
349
261
321
430
46
85
138
206
471
454
331
431
372
364
464
63
242
53
104
200
394
94
474
168
160
50
496
92
81
276
228
179
325
336
148
483
50
105
494
52
426
170
126
316
440
235
192
28
34
471
413
497
471
200
351
175
136
228
169
167
210
111
14
199
23
166
437
61
354
298
378
477
152
421
411
55
4
68
301
389
171
26
211
161
298
122
437
479
23
114
336
395
130
490
450
178
448
150
428
188
317
5
132
141
367
384
387
276
212
102
329
470
137
232
221
395
279
386
228
85
43
306
99
250
212
393
256
455
356
448
494
431
332
36
96
352
290
354
291
475
86
207
301
299
145
231
375
176
245
373
280
467
113
499
68
129
493
456
407
470
27
357
10
247
102
224
128
235
144
416
7
183
11
493
477
33
153
431
58
96
172
3
332
339
269
86
215
367
25
87
236
63
230
204
448
455
140
305
2
185
119
61
205
49
466
289
165
170
270
271
445
342
209
320
394
4
43
410
398
253
311
262
263
146
383
298
197
264
301
207
7
442
206
453
487
280
212
260
84
148
45
59
484
251
360
412
444
462
315
432
227
111
391
377
252
291
155
302
268
314
74
454
159
210
77
421
84
169
192
48
255
18
80
280
156
383
408
466
470
177
262
31
413
117
270
427
239
43
335
440
121
381
314
101
106
21
171
316
324
220
367
458
494
412
192
381
243
261
253
368
50
373
94
331
245
446
28
358
191
201
205
261
376
136
382
30
155
167
470
379
104
208
192
418
25
299
446
71
275
214
212
97
370
382
340
165
125
394
480
236
437
125
107
96
346
180
77
195
343
469
53
433
266
198
397
367
144
389
468
57
272
414
285
276
207
465
45
260
435
55
487
226
77
215
463
398
102
332
364
274
422
461
360
290
345
82
126
339
314
84
56
183
68
144
311
418
85
293
47
105
479
35
288
113
459
299
271
30
68
473
358
61
444
421
259
263
262
96
340
313
56
490
260
474
97
309
23
92
480
146
199
443
231
347
247
415
434
365
129
269
92
15
104
117
413
252
462
423
195
431
298
356
414
185
154
109
446
297
372
44
431
180
274
207
325
190
126
389
404
238
67
462
395
421
2
314
180
174
341
487
191
491
133
302
420
400
77
457
468
83
403
47
328
351
66
3
204
497
406
195
303
96
56
45
496
452
487
148
58
256
56
298
94
450
333
445
489
100
80
113
17
192
47
345
301
59
173
26
145
484
210
484
308
53
283
239
224
252
104
323
175
60
415
160
193
130
481
135
111
243
337
69
243
99
77
82
463
357
278
233
206
54
444
102
370
368
62
79
145
364
476
175
215
492
214
102
410
247
354
290
316
66
447
390
414
402
164
222
121
80
56
70
49
8
356
316
471
257
288
369
285
205
283
200
121
235
141
136
19
295
307
255
388
422
357
91
384
202
413
448
468
467
445
421
422
214
31
309
165
248
92
250
59
351
434
33
299
465
328
356
304
56
392
82
321
374
149
157
255
490
92
374
81
192
115
317
31
175
60
151
421
150
492
370
404
373
481
184
499
138
59
336
392
322
303
91
245
262
466
407
222
176
76
262
186
355
280
406
274
212
180
20
123
285
79
467
215
308
491
11
462
254
218
208
38
355
393
326
205
354
16
373
62
13
365
302
115
330
443
377
494
389
83
377
214
307
413
268
276
320
461
312
227
253
6
95
321
336
297
230
425
282
163
452
125
284
496
24
98
162
127
177
359
461
432
75
195
275
254
134
315
88
238
241
88
92
337
69
206
316
92
461
305
67
51
380
189
171
229
345
105
84
370
42
270
165
407
204
371
109
198
387
289
97
375
67
359
338
216
67
199
289
89
381
209
460
263
279
241
295
427
309
189
283
315
489
474
468
9
113
391
13
393
122
236
443
104
390
53
94
291
88
31
196
402
344
36
100
201
331
66
131
326
360
298
263
130
37
475
332
94
490
258
328
419
156
479
449
387
134
201
466
419
336
186
429
291
188
495
417
272
124
247
345
87
114
416
284
251
11
130
59
1
410
115
332
100
360
123
100
43
83
249
274
486
404
157
159
409
342
138
450
76
457
100
414
178
47
218
154
258
126
109
29
27
419
297
295
424
383
230
132
82
21
391
328
170
100
383
347
135
143
412
328
313
498
153
101
450
259
385
102
303
451
498
355
487
16
29
380
135
148
211
384
384
268
20
165
265
206
128
197
290
141
183
293
240
428
351
187
196
282
413
294
374
393
33
177
182
120
371
371
305
91
54
461
446
227
284
354
157
56
245
144
434
393
189
167
179
138
233
488
303
167
302
348
331
172
104
383
135
205
370
332
318
401
192
23
288
164
399
242
80
310
408
165
282
270
403
76
307
384
355
179
428
176
3
315
170
173
241
356
143
49
355
323
74
157
116
105
253
9
260
281
268
215
412
39
118
478
269
142
28
215
58
25
414
243
414
31
427
463
352
21
357
53
487
348
273
496
66
36
117
48
476
11
255
279
370
343
472
128
374
228
362
483
268
446
454
141
493
184
218
362
407
393
214
489
4
324
103
25
186
491
182
463
87
400
127
255
171
9
81
56
119
182
57
462
247
137
272
475
449
186
327
419
428
485
194
457
326
406
473
153
385
275
429
227
317
437
478
442
360
241
391
329
464
73
230
150
275
200
103
367
493
26
374
230
350
273
443
113
351
210
33
426
494
296
412
112
50
464
22
9
57
426
426
216
173
279
339
151
426
56
311
486
423
218
383
334
417
109
328
381
301
132
100
83
373
82
315
262
245
235
150
483
404
124
337
366
490
158
157
200
498
420
429
260
157
92
466
287
290
252
319
9
277
152
331
161
447
120
129
373
135
297
377
148
167
221
41
333
402
449
405
153
54
66
1
168
104
263
188
457
28
439
296
17
303
110
68
14
198
351
67
153
44
6
437
77
37
59
433
26
247
52
377
111
439
98
146
248
188
351
171
425
291
33
116
304
330
39
468
50
120
186
436
113
396
318
209
249
110
259
378
53
47
11
206
97
208
173
428
355
256
297
480
419
471
399
143
336
336
394
148
460
417
366
345
87
106
206
61
273
203
204
480
226
342
50
57
228
117
415
332
196
42
191
24
78
245
265
160
131
19
471
326
332
251
11
186
145
403
500
253
44
298
451
293
321
254
374
340
139
382
32
414
421
260
379
449
402
480
10
488
186
412
130
332
7
216
193
222
101
67
214
469
338
394
84
396
402
237
481
37
106
164
31
393
232
59
423
380
119
140
391
14
221
367
315
80
148
140
19
125
257
82
399
468
160
304
122
59
344
280
377
70
406
97
489
478
246
198
85
350
146
250
132
63
225
63
306
176
227
445
477
116
114
132
167
36
169
482
210
430
73
419
349
401
238
460
214
332
192
395
368
345
3
73
268
158
492
361
288
226
317
429
89
143
176
304
342
232
106
387
356
470
495
418
457
321
335
434
17
220
384
340
77
391
397
429
100
12
19
153
443
132
386
475
77
17
303
67
404
236
462
183
415
39
208
212
221
297
428
401
419
349
363
478
90
110
40
226
44
244
221
3
221
405
328
483
146
238
483
229
341
312
481
323
164
240
102
463
425
395
197
52
15
224
192
309
205
84
133
53
499
343
324
215
217
180
169
498
479
443
16
22
386
253
56
9
115
122
314
425
382
334
339
395
447
328
365
264
340
151
303
321
302
468
407
20
375
395
461
287
29
56
250
133
290
145
82
255
475
280
264
466
347
125
113
254
249
298
389
241
53
341
138
394
121
52
401
344
327
225
223
178
400
492
469
344
57
269
172
465
409
318
220
184
99
258
48
66
29
166
164
166
231
449
139
473
211
187
468
389
30
414
247
348
259
216
424
277
67
373
493
258
125
362
138
233
140
176
439
94
268
111
449
20
278
2
409
424
117
456
374
7
446
49
258
363
291
327
281
256
28
169
374
469
170
125
398
263
214
51
6
223
34
81
213
187
151
62
453
353
47
111
220
188
121
284
103
273
84
226
146
203
300
209
217
449
261
133
112
135
43
219
122
296
491
13
37
18
416
368
194
488
432
489
463
414
262
150
115
414
205
344
164
264
288
446
93
379
170
162
271
236
116
167
179
88
358
419
23
470
111
267
228
431
165
418
169
222
9
115
133
500
67
250
455
81
243
298
335
85
272
104
117
305
182
97
7
90
331
186
436
7
399
289
484
496
222
217
223
144
398
107
437
293
478
487
412
264
449
426
418
30
436
169
104
281
312
160
236
447
268
486
400
21
339
309
246
11
202
98
244
220
234
90
232
192
165
28
433
381
22
47
127
150
458
276
38
161
10
496
14
373
367
248
99
76
38
287
324
426
222
46
10
397
191
240
113
314
269
144
74
454
370
359
180
250
21
247
449
65
240
41
204
291
65
32
301
167
193
119
484
387
17
97
424
480
275
265
161
294
137
24
285
397
285
315
384
121
134
14
142
372
406
371
266
458
293
25
50
252
421
409
422
225
289
266
230
97
173
65
331
164
127
84
221
331
104
56
476
207
68
174
245
460
196
78
385
492
192
204
105
253
91
337
53
120
71
302
403
84
408
444
323
12
189
79
462
336
17
276
119
437
185
355
462
319
83
91
152
495
58
184
460
410
18
319
449
97
442
48
232
113
431
366
490
270
239
321
87
480
230
61
430
358
406
180
445
166
482
448
239
238
298
406
121
37
289
151
379
219
248
189
278
123
459
151
219
435
18
27
357
274
322
73
108
238
82
489
106
81
365
246
127
74
294
270
138
112
190
93
310
86
378
345
243
295
417
180
175
98
82
141
121
479
69
322
389
173
199
175
400
395
52
333
376
362
243
82
113
360
197
401
203
475
148
194
340
437
478
423
197
488
287
474
309
19
359
62
162
455
374
254
313
318
175
117
44
206
124
221
315
241
388
427
25
424
189
215
433
61
429
393
205
300
404
231
494
486
361
71
310
449
306
313
347
376
490
219
9
62
243
45
312
15
25
391
148
175
142
386
250
318
62
362
80
241
82
439
32
240
249
296
54
431
417
493
184
81
474
457
483
99
384
286
312
369
482
405
25
348
254
11
115
366
441
351
229
426
232
379
27
408
485
80
276
175
168
341
26
451
485
164
225
355
165
137
419
28
317
170
391
25
490
159
100
71
22
498
393
472
412
158
327
355
240
177
407
327
446
166
22
133
33
333
255
321
440
106
409
460
225
384
307
324
434
122
344
109
265
480
487
257
239
285
432
49
78
70
321
254
229
483
489
262
69
254
314
270
237
480
254
473
390
312
408
124
17
87
149
186
359
274
367
112
200
351
250
138
435
383
354
276
42
389
481
463
253
180
265
340
430
355
129
467
320
434
106
286
432
182
438
28
63
222
98
42
481
137
152
481
372
28
302
50
108
267
190
280
30
272
361
230
465
272
320
369
128
379
410
64
311
233
30
193
424
82
492
129
103
50
288
483
435
192
454
414
152
70
78
48
2
28
133
124
374
359
289
60
352
257
23
32
314
441
102
183
469
332
391
499
381
135
284
48
430
201
18
343
442
434
32
404
475
362
201
463
66
251
430
112
302
77
326
234
316
28
250
42
311
466
285
191
180
396
61
76
388
270
361
202
105
218
24
141
255
428
26
154
281
149
401
201
329
448
78
344
449
350
483
172
431
486
310
330
444
152
295
119
129
447
51
437
26
438
421
176
160
176
443
469
127
316
351
166
341
432
263
32
411
118
75
431
485
90
433
243
480
27
175
244
305
136
377
487
49
159
261
196
373
245
369
140
483
457
248
432
46
327
102
5
156
105
354
300
218
352
326
98
265
486
419
264
252
285
242
496
149
185
82
196
435
470
139
48
42
127
460
351
65
439
350
316
476
354
350
327
117
210
178
379
147
21
184
3
347
418
150
149
231
119
261
195
360
261
145
272
216
99
171
351
344
494
268
147
57
62
106
356
374
131
24
119
422
387
341
485
56
275
438
236
39
57
203
362
93
465
184
92
308
92
249
120
149
150
487
176
353
21
270
58
273
79
484
193
421
344
32
273
405
92
93
135
80
464
46
393
203
405
79
53
131
347
466
1
203
277
175
43
212
45
405
414
402
41
75
409
156
186
184
268
133
453
324
474
483
272
67
471
297
23
427
346
384
140
209
315
222
450
213
358
376
449
317
108
330
331
405
343
125
118
436
359
8
319
158
432
400
460
354
318
331
126
115
167
256
230
232
130
174
56
480
123
47
347
96
240
307
244
408
100
390
50
458
231
150
384
291
289
250
381
470
224
249
190
372
168
159
141
425
126
95
73
25
121
105
271
443
437
439
12
267
59
195
62
256
135
192
153
80
29
422
134
341
86
163
235
272
106
129
282
357
263
42
500
215
448
448
358
154
209
433
151
63
176
82
242
163
409
4
362
113
416
384
60
438
403
494
136
278
268
101
101
373
224
261
5
271
129
1
8
418
454
261
101
366
440
177
4
296
206
172
4
36
459
31
114
224
389
336
15
451
302
372
81
451
370
246
451
408
403
483
192
204
33
495
317
16
46
120
131
37
426
419
497
467
421
392
233
405
302
11
375
485
437
173
106
484
77
428
116
494
434
68
199
303
9
15
101
275
190
445
377
499
213
337
370
302
442
399
413
243
79
246
448
112
79
117
298
276
176
107
195
150
191
417
340
446
472
42
284
378
9
361
450
210
203
422
88
200
467
127
129
167
484
245
142
431
218
480
490
179
229
488
296
155
96
2
167
485
288
483
246
414
429
323
287
481
71
2
33
85
95
69
437
297
277
41
325
162
462
149
484
324
154
277
427
209
299
46
118
403
270
457
292
341
412
433
319
190
2
234
234
170
370
296
190
129
33
228
321
314
413
301
308
401
436
100
116
1
436
362
366
434
182
82
112
387
214
372
191
200
400
377
356
122
457
325
8
123
185
284
411
498
97
148
285
189
3
435
27
127
377
297
354
416
247
450
499
442
333
100
227
346
169
306
133
482
139
464
198
39
177
171
153
326
366
414
324
327
362
464
320
409
384
249
280
299
115
347
349
377
375
440
198
10
236
287
59
368
320
9
488
401
321
327
140
475
150
326
397
380
414
122
171
333
317
447
304
177
264
174
266
349
463
57
437
154
442
239
269
67
200
239
207
153
232
27
444
89
107
448
314
225
392
137
132
375
414
298
387
347
223
472
366
400
106
422
451
47
487
175
438
329
431
95
127
274
208
95
85
126
344
122
418
492
341
258
223
390
157
80
368
137
23
364
458
134
114
9
32
61
75
405
328
34
118
300
199
498
291
144
196
369
153
186
431
338
260
479
216
346
397
182
392
435
466
430
292
81
177
83
370
132
321
143
369
478
149
39
364
411
374
40
147
455
123
276
321
155
472
94
264
428
402
331
275
17
382
402
193
144
430
231
58
116
119
19
219
222
54
116
341
419
488
465
339
138
85
146
273
71
136
442
253
427
285
428
160
71
40
176
237
136
202
455
7
361
151
127
205
306
315
147
199
108
131
398
489
273
427
258
183
450
25
411
472
452
193
137
175
204
364
444
477
451
68
140
90
451
422
202
423
432
191
331
109
347
277
251
131
209
165
352
134
47
167
101
333
330
126
394
321
410
294
51
419
269
472
73
110
186
435
273
192
467
442
272
120
488
191
60
90
173
232
46
178
4
461
52
221
217
184
42
210
419
145
320
33
141
230
124
496
29
36
338
162
304
281
176
694
410
586
535
668
727
375
436
663
625
435
590
732
454
697
511
527
421
683
464
600
343
390
411
374
766
341
592
481
305
771
499
762
556
374
586
503
607
500
555
621
518
655
743
543
622
744
467
445
436
483
369
658
585
788
766
793
568
572
374
492
419
726
798
332
406
595
391
524
414
748
705
457
632
672
496
687
582
763
473
379
539
599
655
745
500
300
322
519
396
634
600
656
576
643
386
511
768
675
710
637
610
731
710
772
396
358
645
597
778
554
558
358
723
488
425
774
317
779
536
508
667
561
666
458
567
527
674
477
309
352
432
567
793
318
613
552
713
668
490
443
401
375
632
356
728
551
436
545
373
306
666
475
306
396
379
498
561
399
585
372
569
371
609
345
479
387
512
761
537
707
483
797
692
714
627
350
593
711
569
545
671
752
604
785
683
423
497
353
753
364
646
304
691
441
795
679
583
413
754
789
317
325
323
460
790
426
677
329
493
505
422
436
647
716
362
787
482
389
764
419
610
384
401
387
777
529
791
585
428
319
379
471
746
570
376
371
561
414
443
600
498
609
391
628
379
317
645
500
430
730
400
625
678
643
569
355
468
630
702
439
742
453
480
488
592
427
574
628
523
724
743
535
636
650
618
793
480
376
602
549
712
589
546
352
791
629
799
721
626
391
686
769
646
799
521
317
590
410
621
367
740
381
327
394
356
670
655
737
388
417
669
648
449
553
654
505
536
779
376
537
505
475
718
685
395
534
560
574
693
450
444
779
779
652
455
324
557
406
787
449
406
619
316
579
394
418
621
787
632
630
308
414
523
517
578
342
377
387
736
645
600
637
428
688
679
573
359
420
756
706
786
488
612
536
404
772
438
462
326
341
616
507
360
670
515
790
599
304
318
793
609
494
416
468
655
302
471
361
538
737
343
506
341
576
754
538
451
331
586
737
692
650
630
707
453
470
344
763
357
636
555
347
529
711
570
517
697
499
680
392
405
353
458
464
443
768
540
521
479
441
732
335
636
746
524
753
777
356
501
606
685
677
721
600
617
746
630
319
624
797
661
777
763
636
447
631
361
576
653
571
564
691
409
461
796
466
361
371
503
757
550
562
570
556
509
606
523
433
379
415
360
635
414
742
684
791
720
300
425
430
646
433
677
551
600
717
644
528
675
560
748
400
307
778
631
364
615
325
526
403
530
390
469
543
737
418
667
393
405
378
596
576
585
391
486
523
754
689
376
353
404
582
565
455
632
766
532
576
727
795
691
526
683
564
304
636
571
370
450
700
679
674
346
318
580
729
480
674
366
752
461
744
604
604
756
312
443
327
413
390
722
388
610
772
705
419
334
778
717
555
629
399
629
756
597
465
518
611
776
589
541
420
433
309
544
488
697
602
341
560
530
546
665
595
416
363
346
684
589
535
506
545
672
715
551
675
669
585
725
503
473
482
326
676
336
747
607
476
427
600
723
389
431
333
470
652
686
551
757
392
515
305
310
640
470
633
518
782
617
494
576
311
759
473
557
334
471
590
571
540
598
392
493
415
307
561
409
410
335
718
504
377
470
500
761
530
561
753
640
651
758
558
519
529
756
738
476
379
486
350
432
336
614
391
750
730
405
722
772
606
384
598
496
725
634
393
570
575
634
789
356
359
356
695
302
619
374
371
589
363
535
370
624
380
639
362
352
634
614
387
357
572
765
793
391
382
762
518
329
388
679
404
405
617
526
465
616
635
698
579
573
509
791
532
778
306
330
602
682
528
592
754
387
619
461
472
435
780
413
743
355
539
445
724
565
489
745
360
453
343
570
386
640
356
516
731
611
570
414
321
796
688
590
465
744
378
443
302
758
581
488
647
555
317
302
415
599
746
628
428
600
609
756
628
737
407
763
683
369
758
727
440
303
518
307
313
357
769
699
579
358
690
736
544
592
617
637
713
465
531
796
335
632
456
778
449
427
784
574
720
665
356
622
629
321
633
442
463
457
457
308
376
580
381
349
588
793
348
411
483
460
670
481
540
514
470
344
406
375
617
621
712
333
344
354
701
450
434
524
318
708
452
604
342
705
478
511
789
368
511
744
769
400
537
528
621
720
336
696
753
739
506
571
455
701
515
523
790
584
308
691
396
684
659
626
543
605
611
519
305
638
542
437
594
726
581
330
494
453
734
528
344
428
658
629
428
640
628
546
379
455
751
512
612
516
589
424
705
490
522
383
700
566
796
504
767
647
637
693
533
629
363
620
763
793
363
342
540
753
510
684
343
787
647
478
553
602
537
647
742
436
495
487
709
761
313
376
440
455
409
631
545
466
308
756
537
394
664
540
737
366
521
565
359
679
742
562
683
508
376
478
438
562
790
726
698
585
739
628
652
637
490
569
445
597
564
362
557
720
583
552
320
638
450
549
321
342
740
685
758
656
628
351
666
444
456
461
674
727
761
657
399
653
549
505
757
769
391
693
381
724
311
321
420
497
524
577
390
341
614
755
440
728
601
535
517
430
429
451
443
352
447
581
679
756
561
564
315
323
567
467
708
315
723
551
412
677
363
585
773
390
764
367
647
608
316
483
687
483
716
597
347
720
607
373
313
483
429
504
318
528
727
579
736
452
562
462
723
577
532
449
397
434
686
306
544
773
520
785
558
625
391
656
656
661
557
710
740
442
686
633
300
406
619
733
724
624
716
356
338
737
549
460
341
563
694
747
572
465
469
669
789
433
444
781
515
745
658
549
594
760
588
669
707
451
409
421
396
721
451
321
469
631
726
591
353
415
659
468
323
586
551
335
566
641
633
535
560
309
504
673
499
344
480
759
668
578
428
566
330
322
687
422
418
575
730
303
423
657
331
784
505
634
431
586
633
782
748
468
315
698
622
718
639
535
373
435
351
436
724
745
413
560
734
332
301
685
479
625
444
494
651
736
718
564
532
800
743
691
361
418
317
319
592
420
571
566
517
492
773
765
794
623
795
690
614
704
536
500
750
786
377
510
402
770
301
473
542
692
371
795
465
616
716
725
684
581
794
713
411
560
420
543
603
656
670
494
794
455
667
333
366
612
562
476
593
637
560
720
525
432
360
766
372
306
595
449
381
515
546
442
611
560
356
476
324
792
796
364
781
561
429
601
368
740
772
790
456
790
494
345
757
526
319
471
502
377
586
402
703
712
648
523
669
651
375
519
338
457
325
477
636
505
678
357
737
332
367
640
402
800
430
678
716
330
703
767
421
767
389
777
642
488
546
399
402
782
386
722
454
723
648
419
565
723
543
784
603
360
754
769
595
448
672
511
533
316
660
592
511
399
592
476
425
580
393
505
797
736
612
635
399
590
538
620
458
746
721
425
549
644
649
726
500
633
535
701
332
709
554
683
668
366
439
351
612
765
608
609
477
544
742
763
526
657
305
511
506
795
712
354
358
457
672
462
761
440
653
580
309
647
488
554
604
421
612
416
533
382
714
339
562
640
669
349
790
645
762
739
499
330
443
597
600
391
494
434
354
521
678
558
417
709
770
359
444
434
704
650
569
416
631
735
332
352
673
435
689
597
433
333
462
337
638
713
675
529
796
787
549
404
734
525
561
446
386
529
410
683
743
767
500
451
784
737
571
690
463
774
728
652
347
719
729
520
507
398
729
386
794
788
372
349
788
447
391
554
643
793
316
610
634
335
473
455
384
456
651
423
609
499
343
764
556
637
325
771
460
782
478
400
329
589
403
376
754
760
616
789
343
692
405
641
633
594
513
698
542
626
337
727
384
433
367
472
479
438
585
507
415
685
412
445
781
513
578
353
762
465
414
505
347
518
473
485
783
617
419
460
558
329
608
616
748
594
426
636
502
799
541
575
340
340
434
397
510
663
308
516
695
518
589
733
458
733
599
756
591
457
444
656
790
418
627
684
679
633
633
718
642
755
796
757
660
602
604
730
413
766
613
771
598
408
355
351
420
546
668
543
699
364
382
493
423
452
780
652
731
723
737
784
683
468
443
315
403
587
590
631
488
643
329
430
630
559
351
773
733
736
491
594
777
478
399
796
613
579
621
705
380
346
798
529
673
540
716
690
432
321
446
425
777
390
307
534
631
634
779
516
593
367
724
414
407
346
309
605
753
440
594
658
368
317
576
790
389
528
405
459
716
318
359
790
795
425
459
530
471
438
546
792
404
798
373
737
714
436
325
442
606
509
428
367
338
430
438
350
370
559
534
682
383
635
745
459
605
517
792
578
793
722
762
683
404
761
362
429
697
470
503
375
588
712
334
773
437
609
719
449
710
606
550
786
592
648
529
545
369
666
524
727
758
315
469
625
607
775
429
743
599
464
428
464
646
734
352
416
522
416
395
335
655
635
504
586
704
556
791
542
305
471
449
666
700
451
777
740
630
659
585
761
701
395
568
536
548
601
485
319
522
322
411
308
465
656
774
579
454
300
353
729
377
586
644
411
533
614
451
670
577
309
401
437
418
529
645
320
504
686
772
365
677
337
598
517
567
385
752
629
768
781
723
758
349
455
402
780
314
363
390
316
800
369
607
602
567
654
664
657
473
767
363
527
443
650
479
510
482
587
332
414
749
698
474
601
621
587
777
532
795
448
594
550
451
420
800
519
665
474
451
366
765
748
304
610
753
388
422
556
553
512
634
306
346
689
725
742
674
609
588
602
403
347
747
340
730
791
388
687
681
379
605
624
612
670
572
322
475
343
451
447
664
745
740
467
443
374
605
671
502
677
304
448
459
652
553
351
592
658
470
453
306
405
457
785
781
404
543
636
682
387
359
320
315
678
435
642
615
411
756
399
698
325
623
526
304
580
413
691
681
501
678
588
682
562
714
701
628
624
513
449
404
308
524
724
382
402
728
676
568
713
341
558
771
479
439
616
436
353
389
664
748
341
672
449
376
602
329
513
723
693
602
537
433
316
753
728
750
422
596
469
485
449
366
451
604
399
749
762
533
484
734
640
512
363
661
604
334
391
555
648
661
377
477
358
359
549
332
456
667
352
781
681
578
458
726
723
641
523
694
342
501
358
467
447
523
312
512
761
342
506
766
794
683
439
474
324
411
400
616
473
671
640
780
566
508
642
321
513
722
503
572
479
665
792
781
380
700
490
409
702
422
394
417
385
729
797
522
470
506
419
793
336
749
545
445
611
537
337
665
684
661
624
673
589
716
351
699
707
398
306
643
507
787
788
795
492
578
348
712
323
394
763
725
737
346
639
726
553
309
646
786
789
439
698
389
515
558
396
617
588
386
711
379
762
707
658
655
761
644
590
432
687
492
435
465
559
345
548
764
656
589
465
637
376
431
557
396
327
423
410
559
708
343
604
342
342
677
441
634
503
625
643
646
364
300
645
562
527
624
745
688
406
631
771
310
526
710
531
310
665
377
516
591
322
769
424
486
650
743
576
576
583
795
594
482
770
772
634
305
535
591
553
708
461
771
560
477
745
388
796
725
758
571
575
687
789
440
485
321
439
412
734
607
452
644
489
458
796
760
679
793
793
585
476
679
744
389
341
405
561
587
424
437
758
679
681
744
479
759
442
486
599
446
703
629
489
692
378
775
746
683
772
650
670
458
717
714
579
609
488
707
729
371
330
566
759
306
751
313
715
382
531
431
510
470
675
353
730
628
778
509
313
497
741
320
354
789
533
518
688
589
663
644
666
604
403
617
571
324
524
728
304
763
695
422
382
511
651
683
641
367
413
359
634
636
309
300
455
785
543
515
495
565
607
691
730
526
785
417
734
433
388
706
351
478
459
604
654
320
573
661
566
689
669
785
593
527
586
401
664
308
591
706
541
760
754
369
715
452
601
768
531
419
386
571
706
713
729
631
595
634
530
574
441
554
791
460
496
321
738
702
624
597
343
551
456
500
436
611
459
514
333
703
711
631
767
729
390
763
538
658
523
455
414
539
435
754
765
625
734
421
336
570
359
595
665
352
535
731
683
665
415
461
616
481
499
362
746
496
673
464
516
328
691
549
726
525
611
460
770
481
790
764
682
352
631
751
750
411
618
736
371
484
567
787
456
673
535
527
558
430
401
639
792
410
790
685
520
396
515
627
515
760
523
626
492
371
641
650
526
412
610
472
686
436
332
407
389
478
360
425
693
540
452
464
592
710
380
610
750
327
536
313
637
575
533
425
348
359
656
384
798
369
746
411
720
502
315
662
503
393
349
572
457
453
447
602
306
318
686
767
797
530
702
319
756
439
767
340
774
426
713
498
442
757
545
468
612
768
508
633
441
609
669
650
462
751
327
509
478
426
562
472
610
603
717
761
601
557
527
622
774
504
485
671
566
474
733
667
565
433
366
487
534
506
424
458
660
759
485
762
796
471
340
359
539
660
714
467
516
579
664
488
792
532
774
488
480
513
623
434
427
359
355
711
375
394
615
556
568
453
696
301
450
331
581
789
784
626
490
305
792
336
669
741
375
644
376
416
630
683
440
614
654
602
576
324
535
333
508
363
585
408
376
443
539
374
448
505
537
782
714
318
399
777
506
443
741
593
334
651
355
528
373
337
795
528
647
712
730
688
557
440
693
542
441
323
337
799
782
762
487
475
593
568
538
440
534
798
575
413
561
668
333
337
579
647
646
647
640
491
631
786
523
768
746
419
414
340
332
560
739
457
514
345
539
758
304
580
697
629
446
355
342
372
365
335
371
717
429
512
797
723
617
573
356
438
690
628
668
780
655
610
661
478
501
463
780
339
475
344
558
536
742
754
497
452
611
683
426
305
623
617
535
638
410
327
305
575
597
672
434
472
768
730
760
305
602
729
719
648
648
360
327
647
695
718
615
618
622
717
602
587
566
343
723
490
439
645
527
437
369
725
433
586
541
398
781
325
333
669
499
735
710
614
762
580
431
483
735
760
629
699
332
439
721
390
525
647
539
754
662
519
762
379
747
475
341
761
723
661
660
530
553
517
710
492
541
463
390
583
342
490
596
575
373
632
454
532
740
585
419
309
697
541
601
506
594
682
514
406
544
703
651
744
379
623
542
608
534
430
704
699
308
629
754
504
326
451
752
359
728
342
695
797
744
701
788
372
600
691
612
470
419
414
618
427
519
769
770
564
760
685
518
548
392
568
474
365
576
731
671
563
557
395
430
408
391
337
748
364
692
401
528
306
494
316
328
552
550
631
773
734
758
758
736
484
702
547
557
567
727
592
466
480
506
750
790
771
473
353
459
705
500
318
648
482
683
543
431
350
483
715
788
704
673
368
684
370
447
344
354
574
705
793
507
449
548
429
397
656
380
503
377
797
656
432
358
337
453
522
507
391
480
720
780
789
457
727
510
421
399
383
386
478
619
329
562
363
656
697
312
793
304
490
459
556
560
633
592
635
428
499
544
695
704
681
675
666
575
414
446
548
424
704
705
538
756
383
656
610
365
680
507
648
554
674
577
351
315
523
773
746
706
719
516
469
693
313
702
346
544
458
569
692
698
414
778
781
376
512
795
664
409
458
414
323
759
315
799
708
404
763
735
706
501
394
452
636
693
670
358
519
496
508
460
409
493
464
417
800
621
697
478
558
343
310
485
665
409
694
546
616
484
325
556
791
510
600
553
505
723
490
675
710
336
714
562
443
645
656
401
379
473
620
638
303
763
700
603
499
562
496
595
580
687
537
419
457
586
491
569
724
598
343
424
614
394
391
462
796
619
737
686
306
587
313
558
386
485
635
695
303
576
612
512
800
332
763
310
573
652
651
728
614
444
742
593
680
690
713
629
773
482
731
569
753
399
795
754
747
606
521
491
791
321
683
634
328
353
640
530
492
422
784
653
553
415
792
798
653
687
413
543
558
457
592
661
375
640
790
586
327
496
669
756
411
637
788
482
356
367
706
322
416
339
531
630
489
671
789
485
628
653
485
329
734
431
594
326
461
602
721
542
595
417
518
347
485
518
660
766
497
518
315
513
397
602
371
545
737
519
643
781
780
791
440
735
349
516
550
691
779
572
786
301
385
369
761
543
583
554
785
770
423
420
724
778
308
629
696
482
678
598
718
422
635
690
530
386
422
301
777
588
750
763
782
711
730
764
703
455
701
330
765
356
508
381
420
464
496
647
392
465
720
730
737
333
759
796
789
659
743
681
371
617
577
413
788
510
753
329
756
684
732
613
335
355
329
745
654
741
411
433
649
601
664
536
408
498
464
737
789
512
363
623
485
600
435
378
564
728
538
382
437
562
487
729
630
546
678
471
487
559
373
686
527
642
607
485
326
495
464
386
478
507
645
503
418
397
338
654
359
376
328
785
489
658
714
712
365
305
411
390
719
722
378
333
711
665
477
717
321
612
548
796
705
510
479
634
713
436
625
388
391
506
438
549
484
355
477
674
498
326
330
667
400
743
481
423
568
466
353
777
381
318
669
610
579
559
563
347
563
764
342
563
738
576
758
370
589
695
506
438
330
508
643
668
707
311
744
474
366
537
673
656
776
336
336
605
308
465
612
549
715
604
739
413
440
462
462
540
307
785
628
619
580
429
447
334
612
793
794
412
795
503
485
449
690
608
661
705
575
529
373
556
687
460
414
540
472
482
562
559
601
738
715
489
376
717
571
665
478
613
370
474
668
678
327
593
367
312
437
373
398
510
580
402
753
419
594
494
425
358
413
623
758
666
714
551
501
523
402
729
407
392
552
416
409
541
646
503
510
529
663
485
315
466
454
460
467
548
532
789
609
415
568
561
400
460
645
622
786
397
335
548
774
488
696
714
717
599
614
724
643
743
561
315
512
353
615
722
447
470
553
433
318
471
332
631
742
371
459
623
778
485
479
481
513
791
544
311
793
687
701
771
545
714
561
527
536
717
604
444
733
520
493
321
752
716
667
552
446
618
652
422
522
662
714
493
341
391
312
365
697
619
437
499
602
681
538
512
464
422
781
461
632
368
736
696
659
800
531
351
774
570
418
581
393
716
488
410
740
789
444
549
570
561
654
366
492
467
468
706
409
718
543
312
384
451
679
727
593
374
353
474
576
432
603
671
548
739
515
604
358
471
591
309
461
723
400
507
536
377
650
569
710
553
506
567
331
602
795
611
660
369
666
464
549
778
456
513
655
535
412
610
700
755
754
466
740
540
379
453
387
774
562
491
709
311
691
479
639
763
353
318
598
471
365
628
625
311
374
466
750
772
768
694
449
524
398
788
435
435
790
641
638
688
776
612
499
720
426
556
774
658
750
629
638
570
404
301
589
491
774
651
377
628
390
629
600
473
503
604
353
791
418
585
509
370
525
348
730
686
551
472
305
755
765
531
432
685
353
580
351
374
648
709
621
681
728
361
732
739
571
683
616
784
419
338
459
332
330
559
621
354
523
409
446
727
388
422
745
572
637
409
698
349
513
752
381
561
747
702
571
302
306
637
529
402
327
603
617
384
771
684
320
301
627
730
662
710
601
682
744
351
385
642
433
541
556
363
319
323
439
372
702
518
776
324
325
332
762
643
659
393
300
499
435
462
319
567
765
492
469
520
521
794
495
443
500
644
404
517
800
602
584
561
570
403
713
328
756
800
609
596
478
774
492
363
431
699
665
752
607
332
457
497
742
366
760
671
762
420
607
559
483
726
359
624
400
343
600
622
568
500
397
572
322
455
550
583
463
325
669
435
491
679
512
512
752
451
466
606
502
612
729
601
689
614
460
773
611
759
353
585
536
744
426
422
719
336
519
516
528
324
700
757
411
733
408
744
328
596
609
407
315
533
431
486
388
636
320
650
433
472
786
489
441
456
781
784
602
490
736
524
340
729
569
484
782
467
612
569
390
643
514
655
504
564
370
411
470
502
343
662
527
530
696
783
558
624
405
793
748
542
497
442
768
692
423
697
498
707
369
398
572
405
348
385
331
336
614
362
411
372
504
446
773
444
465
369
604
344
799
582
647
608
484
379
502
774
322
417
482
685
361
523
300
762
315
463
306
311
639
475
679
735
663
316
332
699
553
444
707
336
495
426
711
394
616
547
513
345
360
570
556
623
784
626
713
727
429
672
305
555
303
451
559
499
536
377
377
375
482
794
562
791
683
458
373
587
684
659
754
760
486
374
793
581
788
770
560
486
784
418
730
654
438
387
746
400
638
357
353
304
715
695
380
442
625
748
301
656
405
608
411
635
605
794
710
570
591
343
744
669
377
644
777
334
651
417
300
556
344
361
634
603
789
749
508
735
439
466
765
474
788
739
623
371
638
713
696
406
403
714
307
543
657
605
452
450
486
784
648
618
459
568
721
720
589
311
361
674
444
423
337
582
606
351
776
313
368
381
507
365
570
325
559
480
672
351
718
706
567
457
468
339
370
385
352
370
375
377
493
579
616
656
776
761
481
595
506
403
469
358
497
549
767
539
673
324
399
322
649
719
583
424
575
719
497
795
380
491
693
556
762
476
357
435
699
508
574
576
779
686
601
714
451
329
416
631
403
545
690
660
692
348
772
786
729
538
303
605
323
322
543
737
376
657
633
798
753
593
360
347
418
342
671
713
622
486
397
553
775
539
417
385
708
585
473
789
674
773
345
704
441
752
434
604
775
379
394
486
779
477
531
620
722
576
658
568
372
670
708
340
646
458
443
503
353
700
694
643
600
369
659
702
452
569
706
350
383
487
660
450
461
332
466
605
525
491
636
352
782
319
728
301
747
692
587
523
503
505
492
781
351
401
661
557
328
695
715
486
481
416
356
712
778
435
352
349
598
608
553
523
343
644
623
347
600
388
631
644
752
329
627
647
790
341
657
353
687
323
794
342
431
363
570
574
387
394
352
399
495
629
498
588
402
577
629
568
629
367
593
325
471
347
781
703
405
437
586
577
761
589
345
657
492
619
317
444
568
749
684
757
732
544
741
386
407
536
748
493
681
800
782
552
438
665
759
437
600
766
409
759
508
327
688
633
547
764
710
714
628
667
486
645
667
784
447
529
405
628
761
600
509
574
340
480
762
739
326
586
702
338
705
382
762
396
781
313
372
322
404
800
337
762
604
321
474
689
489
681
376
719
711
469
355
419
404
788
401
521
719
395
396
646
423
688
762
355
726
436
588
528
706
724
585
741
679
446
789
530
380
760
775
634
444
716
790
671
407
368
453
501
302
794
412
496
346
449
514
416
387
327
653
771
665
587
323
446
619
484
720
607
566
476
693
757
592
562
647
339
779
761
310
425
699
411
363
573
433
650
763
534
529
574
528
411
367
596
713
701
638
695
541
620
356
547
703
543
645
687
458
570
577
425
566
410
480
463
581
517
669
668
520
755
574
453
397
555
464
501
590
583
700
630
722
396
454
746
590
587
684
458
731
379
718
742
306
528
653
737
363
716
507
324
493
464
632
615
544
399
379
308
348
471
510
488
657
650
371
372
526
450
483
705
728
795
674
599
395
729
436
487
736
640
578
701
547
370
422
353
563
336
747
659
652
785
404
440
476
542
425
567
342
743
523
605
331
531
725
724
633
544
797
629
334
622
500
337
585
407
429
550
433
352
314
505
583
743
549
363
319
329
429
532
517
473
583
385
691
307
729
343
417
585
341
349
581
431
444
412
432
391
455
476
460
417
300
427
358
558
536
509
422
551
390
612
536
660
536
627
410
462
663
586
548
566
661
560
735
311
311
339
654
794
687
305
332
471
459
755
712
433
546
584
668
529
450
529
431
457
458
368
554
691
430
708
744
657
308
466
721
792
399
582
401
556
386
435
751
599
381
328
385
444
388
543
460
686
575
711
697
788
693
577
443
596
490
573
579
356
723
500
337
452
443
638
401
527
599
555
489
572
702
577
489
502
365
747
313
656
472
302
411
744
479
439
712
357
665
450
637
664
790
632
496
521
662
722
489
665
489
748
495
347
614
735
515
460
538
631
503
729
771
733
705
507
770
728
497
341
393
188
211
497
370
381
436
338
413
385
486
222
104
481
353
329
204
344
405
409
403
110
21
258
103
60
291
352
438
221
495
54
196
221
125
460
248
337
286
392
35
440
55
385
20
418
332
436
233
102
432
128
327
173
70
353
140
126
121
58
345
448
406
356
188
301
354
415
492
89
179
413
156
170
164
245
3
340
233
470
28
436
193
109
59
311
294
493
172
189
434
374
56
299
245
92
452
382
196
247
101
226
193
392
189
355
334
119
483
236
182
397
366
21
459
448
362
75
223
169
292
20
86
162
491
121
402
398
208
353
369
406
106
306
360
14
13
15
184
49
458
129
361
319
335
439
88
313
11
102
63
142
32
409
421
236
358
178
340
49
405
34
485
198
345
280
246
43
438
218
104
97
234
35
398
76
69
277
418
152
484
31
329
376
423
27
266
434
390
343
416
218
75
165
394
282
73
405
149
403
444
231
324
198
281
227
275
390
335
190
462
402
328
326
218
78
434
273
62
47
309
303
204
393
389
318
222
126
122
327
352
401
180
248
21
420
10
348
322
223
363
39
316
185
335
64
453
465
24
237
21
88
132
478
291
97
276
1
94
474
379
486
316
166
126
211
118
312
344
283
470
323
257
241
431
311
192
120
66
129
114
1
214
91
123
65
361
271
179
130
46
114
198
233
59
21
449
33
193
88
337
487
427
4
10
194
189
315
365
474
45
73
7
458
251
26
454
231
414
139
343
192
78
71
202
252
327
463
249
227
4
358
364
404
86
300
306
427
124
357
25
139
323
94
96
209
174
203
374
201
171
180
275
5
386
335
263
108
208
300
143
167
388
185
277
15
342
407
416
260
85
145
176
367
131
256
132
428
452
204
205
230
355
219
292
119
341
228
265
412
328
260
419
142
333
449
263
412
447
146
33
333
175
435
478
241
49
338
132
324
244
24
80
415
71
248
298
48
448
445
204
176
361
486
348
440
451
194
184
337
366
369
452
118
404
244
207
477
365
437
291
357
296
15
484
171
409
494
476
398
251
86
112
173
398
299
163
389
449
308
171
445
273
80
249
238
378
283
231
179
72
481
238
490
218
438
195
302
187
430
90
250
421
223
429
274
431
82
95
304
184
155
480
381
267
258
438
459
58
275
454
396
193
361
353
321
103
155
287
281
376
431
85
204
76
393
495
468
373
104
265
467
472
40
163
299
45
432
280
351
296
386
72
60
340
222
403
477
415
296
314
243
313
119
88
132
402
238
174
390
103
37
448
245
37
214
124
10
417
121
90
428
191
267
429
466
82
11
472
245
154
388
322
344
489
199
180
82
144
356
378
33
225
188
193
41
50
273
343
451
333
271
161
340
89
183
406
322
170
450
297
235
227
443
133
205
436
254
101
442
10
70
148
228
56
322
499
356
273
393
172
145
80
200
324
100
368
308
461
412
208
445
22
445
427
89
125
434
490
262
278
423
231
92
446
47
150
227
311
355
24
306
95
421
103
248
401
481
453
440
63
457
384
148
106
484
2
410
244
109
388
220
352
323
492
2
253
183
177
446
72
100
72
320
132
442
204
292
436
61
3
286
476
293
403
180
466
344
296
130
256
200
500
351
350
176
66
393
77
391
329
36
335
208
240
24
248
28
310
452
410
421
120
370
488
119
72
69
25
413
449
266
212
363
257
224
233
488
18
459
319
175
372
357
44
55
378
180
325
440
497
3
230
388
138
20
72
287
183
303
464
455
440
9
239
249
384
387
180
93
279
258
441
368
40
220
110
457
8
70
204
117
322
171
293
300
326
356
466
270
13
429
358
326
46
283
283
346
7
20
432
356
307
225
348
358
76
130
425
350
231
113
81
364
488
81
263
264
44
270
380
19
260
492
480
306
307
292
83
251
213
366
244
149
292
339
385
323
45
287
202
53
327
437
228
248
159
476
455
339
79
223
148
62
203
347
285
463
387
16
15
363
214
162
397
460
396
167
370
362
58
310
9
480
327
138
374
149
127
430
258
243
413
45
347
380
191
187
6
96
261
331
486
31
479
11
298
285
31
390
408
152
23
360
393
370
165
317
345
300
125
164
451
430
156
490
86
312
106
16
190
139
390
298
82
470
215
498
48
204
35
169
456
35
200
401
423
174
287
381
134
216
28
33
266
278
457
229
99
119
322
445
494
358
162
36
298
60
326
395
118
241
50
141
380
39
334
268
150
173
478
457
410
378
20
254
181
161
100
135
344
256
114
315
310
74
489
28
46
490
460
13
417
296
97
237
6
126
479
290
154
388
481
371
319
173
186
495
465
316
104
178
279
100
267
242
461
436
451
348
46
127
382
153
25
120
272
317
333
439
282
43
145
369
198
394
427
441
265
15
269
323
430
499
206
146
307
66
475
62
111
160
486
112
195
83
73
127
391
45
92
379
128
178
376
85
387
451
144
467
449
175
194
498
479
59
384
158
117
282
185
413
382
254
458
452
131
78
93
311
321
41
149
48
199
424
54
148
225
392
296
442
322
435
319
261
432
85
112
237
53
58
291
81
40
311
330
396
191
143
102
233
240
277
10
42
470
360
293
170
180
486
29
7
157
166
261
227
124
477
392
334
240
440
400
122
105
80
282
270
105
326
208
261
2
490
445
407
33
127
341
111
56
182
361
77
149
217
231
110
277
395
395
449
37
486
404
31
372
412
278
81
192
326
454
408
272
2
357
102
429
37
251
126
60
359
158
192
398
48
475
453
161
99
16
311
432
101
257
246
311
327
370
386
137
164
393
336
209
399
378
44
256
490
86
185
189
285
74
449
349
338
225
415
138
290
333
292
330
352
100
469
200
9
454
475
474
304
336
17
378
424
51
63
281
477
359
90
79
448
396
7
212
40
418
5
276
86
453
66
333
164
487
210
488
238
287
80
430
117
484
61
124
209
438
51
129
3
58
275
378
184
220
239
446
106
334
100
245
9
216
491
3
465
358
275
150
30
247
88
21
396
492
259
33
47
182
451
282
239
14
258
437
498
373
432
24
139
400
410
467
302
418
187
496
410
161
402
156
270
455
131
227
241
305
403
445
192
459
311
487
283
195
60
321
213
161
155
308
392
304
352
271
257
71
337
470
488
66
9
488
13
135
486
1
331
482
392
458
46
21
316
152
220
98
133
339
280
231
211
20
481
107
194
149
326
167
345
87
34
200
181
127
78
240
348
414
331
496
500
430
420
64
141
125
133
415
413
480
253
335
368
151
129
65
272
305
493
14
96
122
350
497
458
328
443
468
161
379
197
318
113
30
350
80
418
27
256
41
464
55
227
29
327
170
413
85
374
166
379
152
441
228
42
77
336
29
404
436
174
118
432
273
4
226
124
201
248
61
134
473
170
150
451
116
439
139
308
396
487
221
399
433
477
144
118
453
59
324
315
57
159
9
469
181
485
34
2
303
206
472
82
134
55
163
31
366
4
165
387
417
89
394
64
125
103
18
48
452
414
242
457
9
394
319
163
229
144
49
24
178
197
146
85
241
335
248
237
46
187
304
246
477
422
281
136
476
19
178
85
71
27
443
87
74
21
169
119
25
117
68
103
150
468
345
115
61
137
133
135
64
268
409
301
415
320
462
414
118
302
456
200
42
208
191
56
258
156
186
313
266
88
343
182
463
192
96
67
191
471
412
271
76
329
231
19
384
181
8
291
115
83
317
23
236
307
477
268
379
134
290
101
216
473
482
52
113
44
48
290
246
211
339
476
162
152
454
301
387
86
380
217
315
31
36
307
230
2
250
147
343
203
61
434
430
332
224
239
249
216
192
412
255
118
115
238
210
25
447
50
313
455
38
362
438
213
38
92
407
210
258
405
92
400
52
109
181
428
271
223
477
449
360
168
465
333
172
242
73
91
144
324
205
397
90
125
61
241
338
285
167
436
329
119
221
428
69
257
256
295
429
398
74
438
424
235
225
326
442
110
225
154
283
464
492
473
7
173
206
208
272
363
472
414
435
491
337
316
203
391
143
55
223
414
156
411
65
97
55
426
428
232
403
207
488
113
286
326
471
9
314
198
56
257
359
429
191
391
286
131
131
23
36
421
116
297
160
433
466
233
142
389
19
27
95
429
93
405
138
83
76
194
170
349
166
52
83
456
66
370
103
361
419
301
216
58
290
313
432
172
59
288
50
6
343
407
193
25
476
433
388
476
302
5
372
91
163
180
177
425
8
308
43
283
242
164
438
8
347
405
170
6
252
298
276
151
68
124
430
438
376
416
97
432
251
267
193
460
222
37
388
267
113
429
196
156
448
312
216
120
316
369
372
490
2
362
332
467
154
458
304
236
374
115
477
41
361
230
498
367
112
266
437
29
268
54
369
429
110
307
2
34
173
169
107
145
424
25
381
477
324
442
332
192
488
326
463
469
70
460
45
492
339
444
303
485
170
129
190
473
203
311
205
74
29
74
480
325
102
43
32
67
215
90
475
177
268
392
84
186
56
56
284
364
77
282
128
333
95
220
207
364
19
137
472
351
177
490
53
166
381
63
404
467
95
40
103
496
130
62
59
354
59
122
305
322
221
141
400
367
431
110
348
215
22
228
360
423
298
419
444
22
444
434
445
450
36
415
1
88
184
324
105
346
85
299
438
170
24
5
160
229
242
491
213
417
381
129
377
101
189
104
200
84
399
296
117
309
269
7
74
169
228
361
469
78
300
53
129
361
305
117
24
228
131
415
42
367
91
208
226
484
445
153
220
53
242
132
377
166
460
408
64
448
309
455
80
18
457
22
228
478
440
434
183
300
119
442
15
100
276
124
443
277
109
414
298
47
214
311
100
78
195
271
97
276
216
499
201
54
340
89
74
122
133
32
241
173
206
52
264
36
433
274
105
289
276
4
344
286
350
232
24
40
486
278
23
266
79
268
17
89
29
106
2
224
261
182
247
331
320
198
237
156
440
146
484
214
183
53
168
328
462
169
193
450
455
431
92
397
420
84
39
113
99
189
238
61
55
181
285
325
248
7
106
375
244
59
51
493
326
463
249
460
335
267
436
343
76
245
275
350
83
203
256
212
343
114
289
472
191
309
298
1
436
407
287
206
166
298
99
322
420
353
435
227
180
433
64
235
242
376
211
68
426
54
31
160
313
457
323
205
237
169
235
10
42
326
152
264
64
499
263
161
359
243
193
167
161
481
434
481
145
288
74
251
115
161
97
199
441
39
159
61
302
182
219
127
290
72
1
210
21
205
88
158
337
469
357
240
382
172
374
406
437
13
323
171
493
208
278
163
242
203
187
491
281
344
431
473
398
494
135
443
249
145
217
292
239
179
406
301
148
405
451
227
194
252
217
178
168
378
361
218
430
457
246
428
419
342
90
89
288
2
164
27
72
287
71
489
136
122
76
286
334
462
129
466
63
155
442
21
37
372
75
165
311
281
232
250
206
497
129
97
166
454
149
371
95
334
241
488
102
456
99
24
420
144
413
204
421
64
189
410
107
254
135
68
414
131
429
280
4
389
467
134
118
169
66
22
341
23
280
72
339
359
435
462
99
414
323
409
452
314
282
108
22
291
193
103
230
479
393
428
296
181
89
272
184
363
340
92
99
61
355
150
460
150
376
136
189
34
6
177
495
165
369
184
275
312
194
313
93
254
232
390
315
318
463
391
330
128
261
38
235
258
3
155
193
269
346
183
484
5
147
388
264
373
378
121
320
497
294
160
113
130
234
242
207
324
463
103
174
176
383
363
107
87
284
125
494
368
221
462
84
454
341
418
177
107
97
432
200
297
96
363
367
169
483
241
314
178
144
87
221
260
240
32
234
27
201
281
422
308
289
410
475
370
177
470
123
153
54
168
132
53
473
37
31
486
27
83
340
277
448
109
15
226
345
100
145
340
266
223
126
415
490
206
459
53
338
374
22
305
316
45
434
12
420
332
408
289
386
443
447
193
439
500
124
456
215
76
59
151
328
211
202
95
148
227
500
274
301
32
425
406
114
264
260
455
166
94
488
247
464
141
473
257
255
491
311
301
461
423
148
28
43
480
198
15
167
256
88
142
17
454
126
260
409
88
25
334
222
208
145
402
450
13
433
38
325
291
425
241
178
53
8
330
370
400
49
271
184
481
425
117
227
378
391
315
446
29
266
109
409
294
416
352
414
333
352
159
383
269
494
376
140
75
464
34
45
30
13
447
181
307
314
303
314
73
152
40
9
32
477
191
159
132
101
96
197
214
216
437
89
231
278
135
41
304
474
411
42
301
268
355
303
245
171
227
143
159
491
353
38
261
417
141
419
62
175
149
363
258
459
84
418
314
65
225
35
405
5
2
2
307
187
448
390
159
305
285
290
264
311
472
73
350
214
286
429
88
55
2
13
8
381
116
47
262
294
41
337
385
50
367
56
222
457
337
303
74
215
7
494
80
347
364
498
302
53
111
378
366
409
160
37
37
428
476
31
167
370
229
322
108
127
149
361
63
224
169
376
54
237
55
267
47
296
45
262
278
401
404
206
8
117
248
268
216
126
69
243
100
485
196
328
387
11
126
184
134
342
114
462
201
283
89
18
437
310
95
99
476
234
448
492
45
483
455
127
465
470
62
46
3
59
170
494
273
458
135
458
195
336
404
398
142
370
218
127
65
500
238
234
176
376
273
104
139
150
267
12
449
8
192
377
223
171
28
128
431
453
279
310
470
46
41
462
266
185
362
149
145
35
198
175
452
464
128
207
16
363
62
233
155
37
431
471
255
406
104
262
60
103
88
230
79
491
14
360
55
353
189
213
79
428
100
155
59
469
80
253
473
226
331
456
200
444
27
385
136
208
372
96
456
452
147
262
162
153
60
154
277
124
446
134
401
412
199
144
238
15
47
277
219
123
318
363
275
113
443
183
423
333
119
469
68
348
207
295
278
114
98
150
146
232
438
449
481
78
31
220
7
495
13
272
144
25
184
44
137
217
263
192
398
165
417
19
483
24
345
40
93
159
16
302
425
112
249
201
144
85
112
373
426
32
172
417
461
406
39
401
69
291
221
392
110
443
410
489
230
83
113
494
93
251
126
20
231
381
130
331
110
484
258
485
2
190
102
277
322
408
197
25
331
67
463
20
411
76
242
43
136
405
434
29
132
300
60
383
222
349
118
450
339
316
33
226
11
177
276
339
134
252
253
487
308
461
206
452
309
236
46
437
169
143
329
56
112
360
338
158
62
478
164
255
243
177
38
310
357
350
189
128
235
101
31
173
323
318
181
359
64
95
180
79
78
447
162
140
202
32
249
443
437
220
314
9
354
394
492
463
109
64
134
383
328
129
251
254
452
197
209
386
76
416
218
358
214
292
48
400
174
240
267
97
486
261
226
389
232
493
250
419
55
123
43
109
152
486
317
5
116
234
270
152
148
216
143
152
158
463
232
257
436
91
14
284
350
495
448
342
288
208
414
405
362
20
119
486
125
101
385
380
463
25
347
333
322
19
239
466
25
450
438
334
340
291
341
495
95
89
445
289
428
420
332
372
478
381
247
409
425
14
440
270
179
491
477
199
284
69
250
40
223
352
429
203
126
334
344
140
273
99
169
174
454
380
490
358
360
305
74
22
41
276
1
63
42
283
216
351
20
158
265
194
189
349
46
422
290
33
140
486
323
314
184
428
35
374
341
394
475
393
246
362
38
372
248
39
60
393
367
60
108
149
482
189
387
269
4
216
199
232
23
429
333
45
333
435
288
376
422
403
487
239
289
9
446
335
461
134
332
214
407
87
429
119
411
19
119
29
469
228
171
278
175
133
448
264
221
336
63
315
72
223
125
406
411
18
122
62
304
171
266
465
300
131
19
340
335
137
367
172
183
124
348
444
135
274
411
20
419
255
413
459
171
349
117
2
45
418
170
228
293
112
363
54
249
146
218
232
210
439
175
431
134
340
156
30
323
396
74
252
452
423
406
16
439
121
125
107
59
56
145
52
277
380
298
9
379
428
490
475
92
402
434
328
19
253
329
416
35
167
42
296
360
81
118
65
12
247
179
438
365
200
217
217
302
151
484
47
53
438
15
400
197
464
440
157
146
438
280
334
75
211
18
324
166
180
216
387
267
283
231
126
286
416
253
232
126
278
260
415
349
284
305
28
66
471
366
17
231
344
61
199
475
116
199
141
447
401
242
290
122
265
484
271
231
337
328
449
36
207
138
261
237
189
407
179
342
117
411
393
41
311
324
348
296
390
460
98
7
175
15
74
151
281
410
18
68
98
256
379
148
3
363
186
273
65
227
208
136
176
184
424
229
114
457
261
457
37
406
311
281
431
238
495
109
379
202
346
416
128
475
467
371
10
318
21
222
441
467
341
66
210
152
194
10
134
364
466
353
321
396
332
75
288
436
216
124
211
75
295
272
374
22
398
395
356
364
182
256
233
212
68
167
253
415
123
330
306
253
283
266
171
490
230
150
271
234
262
364
273
382
110
123
122
361
469
154
65
464
9
407
352
75
238
40
267
66
80
278
458
87
211
144
45
21
292
325
27
318
457
193
437
94
385
378
4
440
159
303
46
299
123
390
438
70
175
371
186
112
483
353
23
492
399
65
408
284
251
6
213
453
69
476
355
351
326
341
173
19
191
317
149
147
471
182
317
322
226
430
121
117
447
1
429
318
347
102
424
211
201
233
89
211
33
71
175
106
337
463
272
110
108
175
495
335
245
114
18
235
197
251
407
350
33
267
311
54
62
452
330
347
472
168
370
364
382
404
129
90
52
162
254
97
431
142
276
388
82
76
236
457
410
276
214
223
335
22
186
213
286
258
400
176
167
77
496
52
12
298
470
211
45
447
83
264
388
43
269
240
185
229
100
51
398
348
149
107
92
259
161
57
165
264
447
493
271
476
360
34
451
421
92
330
299
105
42
94
322
247
28
15
86
340
225
463
36
256
116
462
276
246
461
199
20
306
40
18
370
215
394
148
355
350
44
259
99
366
468
409
271
124
351
152
69
171
329
484
194
190
374
488
352
3
10
443
279
280
325
127
90
468
117
437
319
203
279
49
299
263
140
195
473
180
248
415
491
27
240
33
326
284
405
386
423
309
158
348
169
451
60
453
255
455
250
376
272
326
47
4
217
71
6
129
349
298
301
477
263
423
55
220
233
176
364
436
297
104
384
432
492
289
351
364
147
201
488
34
458
353
77
277
197
59
252
200
263
474
432
109
325
456
485
267
283
364
11
1
422
386
218
254
478
396
256
106
4
254
380
232
21
234
190
279
477
291
363
18
46
1
303
135
338
450
275
243
219
59
62
333
459
493
464
325
84
63
477
186
453
22
477
320
440
468
360
438
23
254
377
32
163
429
12
436
156
448
193
24
199
201
69
208
483
393
131
463
185
362
144
401
299
256
180
167
436
60
113
327
426
209
234
278
338
120
145
379
141
432
146
430
465
482
484
124
142
156
407
366
39
413
316
325
437
97
116
169
449
336
415
21
179
84
310
31
63
381
217
193
229
135
114
245
198
391
287
6
461
212
167
32
404
457
124
330
466
281
362
262
291
278
292
37
428
386
299
297
34
416
351
469
298
188
262
297
150
103
298
452
374
182
136
391
433
232
202
311
493
3
233
54
242
176
254
146
379
52
96
103
354
105
473
52
158
109
330
34
156
41
369
309
304
61
321
340
166
164
389
20
471
20
178
272
413
284
191
472
160
478
51
224
169
444
226
465
156
218
481
455
289
7
500
10
456
82
434
255
439
316
25
17
486
255
500
222
17
405
426
264
257
23
28
422
228
21
58
20
485
57
248
42
477
48
372
378
20
48
421
468
67
188
465
271
481
257
220
498
422
235
86
57
276
16
68
307
166
245
420
170
444
268
226
93
172
197
375
93
179
269
359
455
423
44
55
190
69
254
118
438
408
219
89
144
280
5
319
464
406
219
358
334
453
143
312
194
282
392
246
300
185
483
291
131
195
172
450
265
440
150
469
396
210
319
394
44
233
121
228
258
151
203
247
213
264
484
301
163
354
31
49
182
142
386
322
342
335
177
306
316
208
140
205
133
174
217
357
98
140
9
263
391
142
185
311
150
238
61
214
281
265
180
261
260
143
336
31
234
450
461
23
364
201
9
28
65
466
308
169
77
132
493
245
156
191
93
366
257
466
454
2
276
271
293
464
413
115
314
215
105
329
246
389
176
481
376
439
176
127
219
340
345
145
12
150
137
486
99
376
351
144
289
18
12
8
29
331
494
43
323
265
37
444
51
356
240
178
258
32
298
124
449
113
427
360
3
413
489
82
28
385
351
256
247
14
273
4
112
67
390
173
233
171
215
219
492
140
97
331
115
435
347
391
363
372
418
320
397
135
86
460
298
409
326
359
175
13
451
250
171
6
473
303
9
245
328
498
377
157
262
308
302
323
335
310
306
393
178
261
215
319
291
212
383
316
75
416
271
251
442
119
440
253
36
68
99
212
142
240
375
155
12
482
12
153
78
446
387
228
440
379
73
142
135
350
242
110
190
87
316
305
369
43
417
85
38
385
302
220
266
66
128
254
146
176
193
176
439
74
217
29
399
307
191
351
92
486
159
147
8
273
286
471
2
57
261
36
267
213
235
340
155
120
130
146
409
374
325
105
160
84
19
116
208
63
56
155
484
3
43
163
92
461
108
444
419
91
296
20
16
172
85
304
379
6
172
55
112
497
435
95
479
106
359
429
150
238
497
57
348
138
288
31
407
35
439
344
170
59
486
11
281
314
225
357
481
264
70
97
451
47
83
491
49
257
125
76
202
29
57
386
432
439
220
325
20
311
358
244
161
374
79
211
124
120
391
343
177
29
340
217
63
14
271
73
327
145
187
209
219
114
78
9
52
302
410
122
143
110
159
40
353
112
487
147
400
332
35
429
74
198
294
297
199
106
277
471
11
62
467
52
193
300
189
3
384
238
349
218
465
55
15
179
58
220
243
82
354
21
448
400
281
51
125
74
419
421
313
352
466
219
319
405
213
371
349
396
296
53
116
150
57
150
105
178
336
204
430
278
484
292
335
139
243
344
280
317
220
129
257
238
40
78
237
209
470
96
488
123
488
213
440
212
20
380
47
140
387
50
340
202
14
419
287
331
314
8
398
340
270
21
211
421
160
181
204
62
325
458
279
208
60
130
106
429
369
343
294
234
263
115
13
130
250
117
189
259
363
24
117
368
24
258
131
258
480
360
88
325
177
109
181
304
499
378
15
94
104
270
197
95
351
474
261
33
179
198
321
64
498
288
173
154
26
271
191
249
499
265
225
323
338
9
215
307
135
71
237
497
262
98
226
412
441
269
240
225
410
267
206
97
303
264
168
460
400
132
201
265
384
254
336
402
361
303
185
128
302
43
406
104
294
53
246
121
463
366
343
85
409
435
457
495
70
76
199
104
307
433
17
43
477
212
447
287
421
162
198
192
53
159
465
117
213
490
276
484
151
18
80
381
20
342
102
238
187
179
383
132
331
447
377
82
136
375
428
211
195
162
11
106
4
158
310
250
430
65
330
196
187
485
65
485
81
492
113
389
5
142
259
306
70
480
246
219
218
243
250
40
14
108
204
483
132
123
126
329
10
86
353
487
68
262
409
201
35
246
177
8
234
337
78
232
95
71
147
141
451
339
157
187
142
463
385
138
467
493
367
312
100
750
794
619
761
498
324
671
388
638
766
519
319
403
716
455
375
347
501
525
796
523
578
691
647
750
709
542
779
331
510
743
744
406
439
301
484
499
344
557
705
785
782
459
360
613
442
639
733
541
527
423
754
709
585
695
538
426
782
448
599
476
351
428
648
668
591
484
581
762
786
775
406
738
472
681
382
415
552
330
634
609
306
362
614
408
571
490
771
334
398
699
630
533
556
427
328
719
424
614
574
359
537
648
384
493
771
472
693
596
395
629
305
691
579
502
560
354
566
321
478
636
325
444
799
751
627
670
673
331
323
665
427
494
661
511
362
684
417
691
304
475
764
412
702
586
747
397
740
390
411
412
413
729
443
424
483
592
411
750
760
692
747
736
582
794
588
336
690
800
737
566
447
567
466
340
531
667
638
670
603
415
756
571
746
557
352
746
602
540
464
543
431
632
319
311
717
411
329
319
781
630
532
548
367
617
387
384
576
751
559
693
721
685
617
330
554
705
426
538
598
364
384
407
786
448
727
666
574
575
306
340
587
790
686
752
676
580
790
478
717
599
698
454
528
655
676
731
443
369
398
759
497
393
799
346
625
378
564
705
728
468
498
411
736
702
622
679
507
474
579
692
511
427
309
688
798
667
389
467
332
648
588
330
356
697
789
477
556
634
474
412
700
307
422
729
671
415
726
543
685
461
356
565
437
759
759
655
510
423
310
388
378
682
431
697
529
605
470
730
570
637
779
773
496
460
457
709
464
399
632
356
462
776
407
685
731
534
572
730
757
335
745
591
591
357
674
474
583
323
307
608
503
776
371
777
742
562
499
644
407
659
469
643
552
385
468
665
624
583
393
627
744
632
361
418
779
625
323
504
768
663
514
408
501
377
589
409
515
654
669
575
501
570
461
650
434
479
720
644
424
601
405
661
342
599
647
505
749
640
565
751
672
617
476
783
582
456
397
470
485
800
421
552
716
797
760
428
467
488
768
412
749
473
410
425
505
593
553
756
553
733
658
370
367
524
768
719
466
422
492
374
769
755
400
354
674
426
601
438
571
396
343
576
340
622
405
486
462
401
485
362
476
487
773
595
797
375
664
642
776
559
506
534
368
354
461
584
592
438
465
500
632
316
563
591
306
689
786
741
537
658
512
498
374
635
605
551
392
675
781
700
483
725
631
734
788
694
697
496
385
382
321
762
301
671
567
330
667
727
554
322
488
603
617
307
435
302
666
671
659
440
416
370
713
565
306
315
489
763
370
431
302
659
584
555
726
322
508
792
346
770
425
636
486
636
718
315
335
333
588
746
513
788
302
787
563
449
630
624
556
436
626
731
705
726
440
463
682
576
695
792
721
634
653
445
338
479
707
653
574
448
347
324
318
365
320
639
544
419
305
516
648
353
568
786
387
439
640
564
663
415
539
613
593
569
518
610
642
341
499
418
655
510
536
791
711
663
572
770
756
359
778
345
711
659
387
794
534
562
630
388
583
331
430
354
735
704
551
360
636
506
635
633
498
346
529
767
318
650
474
621
434
698
479
306
704
688
370
630
726
399
422
759
709
364
668
460
356
797
647
478
511
629
349
337
433
682
685
420
569
761
677
344
771
540
719
476
568
693
686
730
585
609
306
660
439
528
300
754
403
527
684
740
682
462
728
479
651
396
737
635
380
780
493
552
317
366
407
481
748
557
303
543
434
618
778
684
600
451
557
361
514
395
758
555
704
546
554
768
506
633
685
328
401
510
706
704
415
398
739
343
430
301
446
507
408
764
575
774
545
596
404
663
301
341
694
352
738
332
529
780
540
715
361
343
681
358
325
385
747
551
675
461
588
537
442
363
531
490
443
567
780
501
441
373
564
759
672
397
349
518
636
500
325
690
542
552
629
467
497
478
354
763
370
775
503
521
331
447
498
783
482
489
675
578
467
644
314
494
350
617
620
554
410
434
304
416
460
480
650
753
638
725
563
433
417
318
316
601
369
381
706
426
726
737
661
680
574
556
473
712
403
618
360
369
351
357
433
534
603
418
791
749
418
692
392
763
788
684
334
556
569
448
703
733
585
520
525
482
460
380
649
492
523
439
355
534
471
647
324
478
427
545
366
594
525
338
331
403
590
397
630
300
625
366
646
595
479
636
457
371
507
730
338
329
566
515
495
631
515
754
462
608
608
545
568
321
730
554
622
798
772
452
588
489
352
786
444
517
599
592
437
674
548
734
679
332
733
367
653
777
771
497
387
653
697
738
514
569
513
732
648
313
626
736
793
756
788
641
650
468
626
590
351
363
440
333
646
579
565
749
737
676
614
776
481
783
565
669
631
563
744
333
595
559
507
387
366
560
545
489
516
715
312
750
726
618
309
373
312
682
520
547
444
770
348
563
694
455
763
540
624
532
636
779
711
767
353
534
356
461
321
721
581
465
774
460
691
608
358
559
536
501
359
597
477
422
520
602
644
408
666
766
574
658
304
757
324
594
652
727
357
490
443
747
412
497
627
757
784
640
567
445
450
332
601
776
706
731
579
365
653
697
775
656
646
427
565
422
485
737
490
714
447
668
509
533
614
616
370
789
518
772
754
318
419
465
300
507
516
338
723
470
389
355
545
750
374
553
590
742
344
474
513
473
547
648
613
404
756
322
598
314
518
530
495
325
756
746
615
314
644
392
339
360
487
353
413
717
599
771
314
445
668
500
730
525
395
531
421
422
316
571
434
561
664
614
656
526
658
739
504
482
640
503
654
703
719
426
313
469
451
469
453
434
583
730
504
783
712
497
784
516
774
727
588
329
584
444
305
426
710
405
655
313
642
597
713
769
675
469
382
566
505
700
754
517
459
359
347
702
652
639
741
477
760
649
594
498
632
435
461
683
529
620
573
750
476
508
561
313
516
785
441
300
744
491
357
327
785
395
425
416
774
625
554
691
568
666
447
744
455
377
495
308
776
713
392
783
562
475
533
439
433
650
399
376
653
330
670
356
411
462
632
466
515
791
616
442
727
720
679
679
578
306
596
774
788
611
348
780
441
633
708
412
716
488
677
751
651
437
581
407
534
563
569
744
676
327
410
781
472
656
787
440
538
445
655
370
328
724
486
348
573
403
489
542
769
349
553
300
659
683
419
404
576
391
400
300
440
378
329
657
470
387
397
710
319
407
717
730
498
448
749
330
755
367
616
429
488
789
547
667
491
582
783
643
535
304
351
336
603
759
304
367
476
750
524
687
592
726
334
341
681
678
323
613
319
309
519
580
592
478
446
442
375
663
360
609
478
619
304
580
642
310
542
321
505
468
548
721
691
630
749
465
728
655
387
325
477
477
387
384
531
538
399
742
559
664
346
532
760
351
562
592
473
642
304
302
672
558
791
428
480
409
477
585
400
349
316
562
641
519
797
441
648
316
395
404
558
612
376
728
387
727
700
716
779
758
590
593
521
326
572
426
418
524
717
455
523
420
307
542
661
638
579
755
633
382
531
576
458
466
549
440
618
645
358
696
797
543
551
574
317
341
609
602
484
788
668
722
698
700
751
769
587
670
502
782
498
500
466
632
391
663
445
721
418
707
586
667
425
699
600
711
555
723
640
719
606
559
658
387
442
537
469
362
780
377
403
364
588
526
363
559
538
454
532
534
450
396
395
624
539
462
759
484
668
415
406
547
663
767
441
565
384
367
718
676
798
429
427
469
588
316
303
584
317
663
523
446
663
335
609
709
623
309
412
715
748
517
330
365
498
666
318
623
418
674
334
323
463
588
711
613
381
800
425
322
606
483
618
748
611
480
450
738
604
466
328
372
648
609
580
711
774
458
652
347
630
430
598
705
376
307
388
322
590
303
527
433
394
667
742
677
681
339
370
559
756
368
572
712
416
394
588
497
564
622
702
735
436
413
768
497
350
594
329
514
737
549
669
735
471
556
384
579
308
658
407
650
570
673
461
437
569
305
395
409
541
354
644
554
784
520
344
379
370
482
437
444
350
668
448
384
524
719
428
662
526
390
792
785
442
507
372
442
439
446
524
399
663
744
634
577
756
414
476
433
671
533
674
536
680
341
327
736
800
668
606
442
317
591
788
692
800
754
381
571
412
764
652
686
440
788
775
775
525
477
359
572
317
727
650
575
615
769
587
764
430
722
422
772
561
649
575
798
564
531
474
692
433
774
522
391
730
386
437
706
708
323
784
642
712
567
697
505
440
718
353
440
785
428
720
333
467
667
590
676
311
782
351
558
686
783
465
681
577
451
448
385
301
334
655
521
321
389
733
567
583
666
759
663
761
364
458
690
650
397
426
386
767
759
573
737
778
425
634
499
581
742
628
324
797
800
439
418
316
364
388
338
413
777
401
613
610
524
622
311
441
644
690
716
739
627
505
545
342
668
328
355
609
516
735
303
346
325
328
418
470
678
416
594
788
713
465
692
441
589
366
669
587
680
386
584
363
472
646
604
666
654
318
440
477
482
705
570
380
318
540
455
686
691
596
562
675
551
630
400
506
741
772
533
413
623
561
617
597
421
736
602
726
757
740
767
503
768
578
529
507
510
634
569
303
508
694
748
746
742
622
752
654
655
342
614
402
334
444
590
726
658
745
426
740
717
481
685
538
689
727
342
389
560
701
540
769
783
650
674
564
720
585
413
342
776
615
373
477
797
324
586
617
324
657
564
387
751
404
389
583
328
510
783
382
426
311
609
340
422
585
660
722
776
567
378
309
745
510
462
690
757
728
742
787
551
615
308
543
492
560
317
438
605
478
474
633
347
337
798
433
546
793
538
335
604
607
354
793
389
554
571
639
553
552
479
388
367
621
483
424
632
733
774
395
450
741
673
759
560
531
791
689
574
762
424
511
336
649
428
407
626
566
378
766
785
499
315
329
511
610
792
762
422
465
466
707
445
668
416
648
394
739
490
741
568
458
619
621
509
584
710
324
614
489
464
640
353
710
397
543
595
799
598
632
614
675
750
641
594
745
444
396
621
613
308
686
746
419
619
326
539
622
517
638
647
458
771
628
618
474
388
359
448
688
633
798
505
522
790
532
776
470
782
369
635
712
661
491
432
557
500
430
347
757
505
725
757
441
541
311
693
611
559
305
537
327
631
487
435
334
697
424
349
715
543
594
417
585
714
377
723
791
620
695
522
613
345
346
533
431
600
750
559
692
746
766
574
717
366
654
363
788
792
447
446
350
431
357
342
517
556
610
345
637
742
505
349
334
626
712
477
448
536
526
375
440
761
300
719
509
403
686
681
421
385
309
642
309
716
322
490
767
641
546
694
645
461
732
668
390
775
789
744
567
531
397
564
702
638
315
694
568
460
362
339
633
416
763
344
476
622
609
323
662
382
324
348
537
534
459
564
412
701
344
699
547
592
439
346
607
385
441
754
583
515
732
701
518
614
678
777
455
472
676
350
733
310
308
490
409
537
409
650
446
491
449
390
443
626
559
347
561
544
443
581
307
516
508
462
676
494
602
455
433
725
643
674
703
603
681
571
422
669
727
442
484
791
755
789
337
742
536
586
398
738
647
501
567
326
369
316
381
674
671
765
704
792
396
508
753
403
777
363
308
607
698
791
407
746
431
727
316
595
639
571
397
307
620
407
433
536
790
421
477
728
496
500
736
486
431
591
393
575
346
532
334
570
598
714
475
647
685
333
555
710
527
303
440
674
357
755
385
505
776
349
591
372
677
756
688
720
435
323
361
446
522
333
357
608
479
481
470
372
397
443
643
626
504
327
788
536
771
736
408
510
382
629
608
734
773
342
692
386
626
769
389
484
489
557
575
399
548
605
626
528
348
474
516
749
517
477
746
553
610
540
329
645
624
719
480
368
642
729
355
458
343
667
722
769
610
625
628
770
534
394
703
400
580
531
394
523
557
686
691
351
761
566
302
550
414
603
743
429
766
526
528
523
359
304
518
336
722
692
386
700
619
583
403
587
328
528
577
321
509
434
777
764
425
686
336
673
675
584
404
310
428
790
772
553
482
637
522
316
441
622
603
573
604
306
612
711
353
451
706
645
659
566
692
664
445
470
691
346
694
643
303
690
608
315
368
333
346
749
342
513
594
482
474
386
399
683
508
303
574
465
437
312
703
478
386
526
520
731
308
363
676
308
555
303
511
769
508
649
775
607
487
712
418
663
336
743
749
431
533
765
369
367
309
678
334
402
579
304
532
759
397
689
529
314
720
355
547
572
520
618
552
634
307
673
407
528
799
511
782
651
674
500
678
405
500
592
384
357
759
561
568
630
514
614
351
748
337
428
454
611
300
541
537
308
401
415
653
401
679
555
780
350
375
640
752
441
310
688
792
399
451
674
752
470
559
800
634
780
681
517
611
447
781
632
429
370
696
397
346
378
719
611
546
643
781
663
482
709
771
598
349
548
706
769
539
777
536
307
433
591
582
573
486
612
310
789
614
759
739
460
767
459
555
731
734
480
599
628
359
703
493
776
542
553
661
739
340
439
719
471
784
658
515
399
308
634
624
727
700
439
646
719
423
480
690
631
511
738
531
558
753
366
604
510
656
303
755
501
329
597
302
512
510
491
773
585
344
437
688
656
334
461
309
454
714
409
551
612
700
632
586
405
349
455
721
517
763
306
317
320
595
409
514
773
346
452
340
525
409
676
398
319
481
388
463
424
455
667
491
382
747
747
704
694
392
434
485
489
679
337
547
634
473
690
661
429
432
306
650
728
726
475
421
593
511
465
518
699
703
563
357
676
663
606
523
491
322
779
381
724
556
683
345
700
728
703
662
315
596
318
789
469
784
593
602
676
442
412
527
421
411
751
567
324
323
626
445
559
735
583
393
700
487
751
321
468
403
544
772
476
545
615
569
708
525
736
541
319
534
450
397
323
664
320
457
586
439
613
608
555
752
318
400
507
696
554
615
550
540
474
755
342
584
592
551
393
547
319
480
724
784
711
736
677
507
390
638
673
669
402
641
706
663
644
460
429
773
316
676
661
789
308
306
628
472
307
699
492
634
332
352
653
495
629
708
510
538
340
666
328
665
759
585
754
769
385
302
426
482
680
354
401
411
764
623
607
588
692
720
679
529
451
410
736
537
449
769
729
666
300
404
548
458
697
346
623
498
774
457
494
607
308
428
510
420
379
489
601
713
738
787
477
572
737
498
739
646
490
633
529
351
516
754
396
594
326
314
388
704
390
361
426
391
571
443
455
345
363
772
591
618
776
712
344
790
316
642
522
422
760
418
470
508
489
792
445
314
559
521
681
499
635
336
473
494
394
764
513
417
796
408
330
301
693
727
433
396
409
327
496
651
322
494
566
648
749
567
548
477
644
690
654
500
334
793
362
796
419
680
425
332
492
343
518
731
513
487
794
459
594
303
707
767
797
737
547
421
607
515
773
329
575
594
391
640
435
326
751
740
344
447
526
741
463
666
528
532
667
427
529
472
674
581
465
676
310
547
395
435
329
532
374
467
754
572
647
386
584
514
795
741
580
676
473
521
799
452
680
661
366
337
359
637
507
742
581
483
373
723
537
681
301
461
700
660
347
571
723
730
744
613
615
647
561
620
691
533
405
338
796
754
442
530
418
761
457
385
652
773
448
600
577
495
572
678
405
624
624
596
731
395
748
470
656
781
638
304
670
694
654
762
337
763
741
496
676
366
561
432
476
362
661
588
685
395
677
382
560
659
735
718
730
799
627
311
432
503
388
367
467
742
623
728
788
461
516
396
384
691
304
555
724
568
762
429
756
449
314
474
330
463
470
722
453
693
603
768
419
390
745
674
568
337
780
437
658
520
642
536
611
387
620
443
511
440
429
355
735
752
560
636
322
591
697
799
494
607
619
512
609
649
528
656
705
350
731
475
456
453
537
682
556
596
741
725
744
791
345
762
487
690
698
502
723
320
581
400
511
699
557
376
389
424
321
707
783
486
424
616
769
354
439
608
736
740
532
705
592
659
617
478
540
329
307
771
373
408
663
630
647
410
715
370
411
339
486
774
524
360
668
676
344
558
360
733
415
446
668
770
733
587
710
325
399
329
757
676
374
525
510
787
530
537
470
639
497
403
529
761
686
644
349
718
790
522
420
478
411
411
300
601
503
344
474
545
492
479
684
636
625
314
738
704
671
332
472
556
537
435
349
378
782
407
725
342
463
431
361
502
401
413
572
561
787
671
442
456
662
758
356
769
412
638
549
502
443
551
752
586
694
594
332
312
369
790
644
797
526
781
660
367
618
788
351
629
326
762
478
797
545
768
326
333
657
433
464
359
528
521
381
698
556
659
355
327
574
374
625
433
695
639
609
586
532
743
332
768
765
758
424
513
512
707
410
776
487
771
768
723
621
373
529
334
406
679
599
707
703
643
340
482
379
673
710
379
661
442
344
349
628
714
613
463
745
458
491
717
446
507
405
777
621
365
333
699
630
633
301
597
571
364
440
425
533
331
570
529
638
416
792
732
523
592
628
622
348
439
658
548
535
423
622
334
365
798
395
792
787
447
798
721
681
310
334
697
642
318
584
715
646
469
536
420
756
465
675
645
376
603
623
456
653
664
518
776
793
556
625
579
548
771
499
738
636
701
524
709
654
453
385
701
369
419
669
386
474
761
452
715
630
447
527
544
338
684
371
379
695
494
443
386
541
356
452
445
359
678
642
476
323
566
581
474
791
622
479
691
672
465
646
505
634
396
492
419
453
755
360
447
381
430
308
402
340
458
786
415
311
774
559
549
748
546
479
757
534
785
789
532
473
346
390
643
357
734
306
344
639
453
559
592
432
506
636
428
568
342
735
455
312
420
443
566
540
423
392
487
781
799
770
346
586
656
394
311
383
626
389
610
464
495
598
565
619
632
796
495
690
795
611
744
550
423
378
343
462
586
673
630
742
697
347
356
472
358
505
342
583
682
609
745
353
508
312
728
639
321
719
469
643
495
795
317
712
777
453
349
709
561
549
494
707
792
357
374
446
319
685
478
710
412
384
672
708
434
331
584
316
593
345
501
412
406
687
452
312
644
631
716
381
401
446
613
373
704
770
333
782
769
452
323
770
429
657
692
305
358
681
460
570
515
455
511
688
761
448
408
396
438
356
604
597
639
656
367
800
635
424
585
701
744
469
741
800
788
640
703
392
716
749
455
619
326
560
474
740
317
687
339
687
349
469
650
579
632
428
721
590
693
350
395
633
559
340
712
431
360
656
472
798
426
328
591
717
691
691
769
595
723
423
780
577
693
796
513
614
432
707
644
484
511
317
470
379
715
301
587
617
566
554
637
755
661
539
718
586
525
732
557
693
639
522
568
363
708
595
455
472
547
761
666
675
434
738
678
775
384
641
608
617
387
435
773
740
535
749
583
663
731
684
485
606
706
396
596
549
430
422
572
729
766
708
385
501
704
558
574
755
305
497
527
668
522
703
431
736
420
437
703
800
476
706
442
727
311
670
494
633
530
328
533
513
354
481
589
423
477
466
331
428
516
395
516
669
785
440
507
581
714
303
629
496
388
556
331
514
661
368
638
739
687
767
730
674
787
359
580
576
621
642
493
302
483
656
671
543
410
598
569
683
429
785
505
335
798
610
439
468
412
318
589
464
470
777
443
397
642
758
632
362
562
535
385
522
593
528
565
591
354
764
501
576
301
346
554
515
403
507
584
420
389
581
613
316
747
676
394
449
513
549
629
407
398
681
363
732
770
729
374
552
759
749
632
636
676
420
558
496
718
358
317
514
798
579
391
393
305
768
326
393
339
653
589
759
619
328
437
743
710
421
565
671
641
501
432
332
648
625
788
547
703
618
416
557
575
766
780
366
323
545
477
419
485
412
380
733
780
321
486
556
745
630
675
412
514
316
669
431
787
626
721
646
428
482
463
524
751
497
793
735
753
657
330
677
510
721
326
721
567
323
392
669
307
328
613
479
725
663
642
711
323
521
374
771
418
467
433
427
624
686
374
367
549
629
751
695
686
456
729
433
330
512
459
516
316
701
329
733
721
784
642
614
428
639
740
574
515
766
373
386
763
647
636
578
607
625
653
783
686
404
304
328
703
635
782
439
611
611
761
627
799
404
466
480
444
585
311
648
695
791
343
501
560
497
636
739
509
657
790
588
304
491
530
467
731
549
391
778
338
452
373
587
767
482
424
392
495
730
466
463
660
462
696
458
330
755
370
388
716
616
605
568
553
501
645
349
599
601
614
754
646
754
497
369
592
312
399
614
771
656
698
635
590
476
635
464
752
696
334
694
614
509
688
638
566
626
329
361
590
475
437
466
787
628
512
383
713
406
381
432
666
585
671
369
712
796
586
352
575
438
758
363
725
520
769
767
398
456
759
512
635
689
584
435
572
486
555
502
586
758
322
559
396
509
440
476
510
360
349
558
684
569
674
670
521
726
369
439
593
336
390
505
363
744
631
752
728
344
341
554
405
346
722
698
697
512
416
313
507
300
606
527
677
696
667
416
418
454
446
612
666
420
302
591
518
466
797
534
570
417
758
337
794
562
523
654
481
355
537
301
461
584
645
451
301
540
459
545
366
783
457
521
360
314
310
526
307
733
791
739
618
771
335
545
668
585
468
370
600
450
460
640
566
700
479
722
384
756
412
419
610
365
429
493
300
681
408
794
426
632
578
522
525
779
448
474
348
464
557
785
553
376
653
798
638
755
439
698
662
747
613
460
563
736
435
579
692
431
678
458
751
796
722
703
417
645
445
634
310
394
689
309
574
784
783
482
544
619
620
682
560
715
656
783
594
399
330
714
656
369
793
488
434
365
360
788
566
701
472
645
434
425
404
665
379
330
515
661
556
461
350
483
399
733
722
643
418
386
640
719
339
455
536
497
692
660
520
346
493
326
478
796
679
633
322
338
556
499
607
755
536
605
739
435
307
753
623
610
413
632
473
775
716
733
356
702
738
723
344
687
619
317
458
622
475
470
431
627
633
725
638
663
486
534
727
718
767
432
410
601
543
535
565
539
350
381
694
787
426
580
626
645
368
436
560
653
542
599
306
337
772
370
794
722
682
689
760
663
410
386
398
622
442
346
358
729
639
474
384
477
494
361
512
410
558
411
710
435
691
606
441
522
640
785
571
479
719
429
442
644
699
729
799
600
606
768
723
796
768
546
555
795
799
376
757
740
501
303
633
458
532
497
511
662
405
464
749
389
574
543
305
364
570
322
503
448
519
600
429
380
609
669
325
755
409
324
671
672
643
403
341
637
685
546
499
636
679
763
515
361
385
401
558
306
495
559
724
708
361
596
560
581
383
310
797
739
684
464
598
663
654
448
548
666
634
685
753
352
300
739
422
690
484
423
473
571
484
337
300
679
666
640
643
498
485
712
580
585
685
380
333
455
303
630
536
422
596
750
622
456
345
538
445
361
355
464
500
563
521
589
325
393
534
619
463
357
557
799
587
572
350
499
593
365
307
675
454
543
762
498
345
673
723
659
370
738
407
697
721
402
693
740
478
530
588
607
627
379
776
353
402
651
506
430
651
564
445
696
579
757
573
520
720
738
728
521
330
612
657
469
585
384
734
464
403
465
461
772
789
779
594
727
631
546
356
562
533
532
640
671
485
629
622
385
752
462
708
401
610
400
676
402
746
665
537
387
310
766
515
567
630
705
695
545
345
610
346
730
401
738
589
630
464
605
316
434
396
624
654
413
404
684
506
690
347
514
789
587
610
788
607
393
741
589
439
745
510
315
753
399
703
757
325
732
300
448
674
597
495
526
694
626
553
426
343
408
493
772
387
777
520
735
591
329
536
454
486
576
755
477
601
663
546
347
336
601
336
458
402
553
798
336
732
721
505
751
378
511
398
647
422
516
709
330
351
312
540
582
679
410
606
624
614
748
338
491
383
491
642
354
348
698
691
377
741
782
752
403
450
360
690
709
717
675
664
691
325
619
464
415
597
307
596
275
475
404
416
257
132
132
12
215
207
216
472
415
318
287
400
264
138
408
144
153
282
171
330
471
193
289
200
294
301
249
141
73
105
10
16
318
154
453
264
182
478
53
230
114
173
450
359
378
437
358
73
259
58
243
115
485
192
374
431
360
242
445
228
180
163
93
148
367
158
391
90
36
274
448
393
31
44
160
399
110
143
15
45
380
327
344
344
269
178
423
488
65
124
338
473
342
285
249
4
72
197
78
192
348
475
456
458
217
67
124
38
12
375
163
247
131
41
103
343
101
159
328
373
461
164
263
448
284
451
214
277
82
146
243
340
13
425
135
400
496
213
44
113
147
144
226
348
341
479
375
62
487
348
429
273
228
477
277
344
1
90
232
322
8
370
14
183
346
329
92
207
81
251
213
388
436
201
352
447
4
358
197
282
445
112
59
449
159
373
496
67
427
424
146
380
106
181
118
401
332
226
51
80
155
205
149
19
371
271
301
492
146
346
244
95
137
70
44
288
445
54
198
387
4
283
226
358
145
175
156
38
167
60
271
123
82
174
220
14
428
123
385
488
390
90
318
329
259
212
1
118
171
96
170
302
225
282
27
392
3
211
63
186
494
439
262
406
139
7
445
285
126
394
192
354
65
415
499
216
345
282
107
192
479
188
6
450
78
393
81
63
223
162
111
401
235
283
271
267
461
35
289
195
26
82
66
391
333
121
252
372
365
114
80
38
75
402
122
88
419
444
476
463
246
451
102
99
308
17
366
30
72
404
227
110
412
429
167
62
120
7
101
77
440
170
466
426
66
302
323
12
439
356
113
158
446
27
273
408
98
91
19
258
184
367
216
269
280
458
103
475
78
242
345
494
458
124
419
451
85
159
365
314
151
455
294
195
45
74
375
295
425
259
406
491
206
279
67
183
162
437
474
147
329
453
28
361
447
66
89
382
343
414
431
402
7
143
52
119
30
319
153
486
32
380
379
102
392
154
185
249
329
267
340
349
295
38
355
148
6
83
410
85
428
406
13
76
439
263
159
212
42
343
134
227
401
478
282
486
449
165
377
140
462
486
473
334
87
115
6
365
344
67
384
99
128
373
444
71
54
435
111
169
235
354
40
271
38
165
255
192
474
272
436
446
49
248
197
69
42
108
492
274
169
58
81
333
348
176
184
437
366
3
208
227
496
71
95
431
112
37
142
251
65
426
125
308
10
223
441
218
322
30
433
28
241
249
431
446
495
490
316
453
393
423
459
185
273
63
360
85
434
179
255
227
241
451
49
258
496
421
171
210
309
333
355
407
224
138
9
415
17
153
393
10
136
344
114
484
299
430
110
246
286
138
171
153
398
333
372
84
360
29
228
380
59
21
47
247
105
295
90
195
466
242
98
409
438
48
402
363
481
179
198
318
34
9
416
384
385
490
177
57
318
20
5
205
46
69
32
180
305
211
100
178
451
168
184
242
93
353
224
298
159
323
400
76
95
234
155
49
489
75
216
295
354
448
76
36
188
14
211
266
112
262
206
285
59
488
62
158
483
34
394
298
289
146
95
198
393
224
244
7
14
275
2
73
192
403
162
34
440
143
275
232
306
80
128
51
394
130
149
267
153
371
169
234
472
43
195
83
159
240
396
106
360
359
251
218
247
275
356
177
470
265
254
72
54
270
481
261
65
90
48
154
83
153
242
183
75
295
442
446
179
484
417
155
44
339
150
331
500
370
472
180
171
116
272
408
497
218
299
110
431
399
324
66
36
442
387
412
35
206
149
25
75
470
300
133
425
487
388
5
51
315
264
104
130
455
398
466
363
386
269
470
64
357
445
429
154
140
30
357
362
323
290
250
44
45
146
269
115
450
412
130
188
458
274
260
407
155
443
436
456
261
207
298
172
334
202
2
79
269
197
303
90
175
5
222
481
132
265
170
447
36
338
23
251
180
332
333
215
252
460
335
492
255
213
121
476
236
267
8
184
467
62
421
142
290
93
413
56
342
51
96
344
487
296
152
431
371
148
153
289
474
389
187
250
472
427
284
399
199
485
301
252
121
352
32
219
287
71
76
267
284
150
104
214
469
416
165
261
241
352
303
333
268
309
380
463
248
9
362
157
41
76
419
153
140
162
483
199
235
74
361
7
319
408
477
469
266
318
354
53
249
479
196
99
82
416
350
243
380
87
299
183
240
187
55
133
258
234
326
60
393
179
404
16
48
427
32
474
228
335
67
174
290
100
259
336
94
87
233
226
270
337
456
128
464
210
286
421
457
479
482
310
335
442
87
169
485
141
300
44
129
22
463
114
127
301
137
223
146
54
309
15
212
199
117
296
55
2
94
153
363
28
106
175
262
129
385
480
44
92
493
43
221
284
424
43
169
49
189
324
399
352
154
231
437
241
484
231
379
495
368
232
318
71
207
389
397
343
305
371
28
42
404
384
458
208
40
226
437
8
467
139
208
458
83
231
153
495
119
306
148
380
448
448
149
411
56
295
390
66
269
463
341
378
268
362
454
71
57
95
156
61
380
357
378
119
10
112
352
274
158
244
220
94
421
111
460
336
405
165
306
402
423
188
28
143
270
397
425
221
5
1
385
258
147
409
333
304
237
141
103
196
48
13
37
36
345
82
316
282
35
100
336
356
201
209
151
339
177
73
69
257
289
46
219
226
128
487
28
120
169
380
260
366
437
265
23
187
211
97
251
64
421
263
378
444
457
231
212
465
98
211
391
499
113
432
269
361
204
48
100
112
50
75
313
260
302
369
64
178
466
219
71
224
384
462
305
89
204
258
162
5
312
258
418
12
337
287
84
431
471
91
216
231
340
187
53
95
466
300
77
114
452
77
286
157
187
382
184
56
482
278
345
155
3
10
232
100
13
181
389
212
339
20
274
222
47
59
176
277
157
295
37
459
147
115
322
231
195
434
453
276
471
271
1
174
400
39
282
154
125
137
153
168
215
75
40
53
47
498
98
171
272
64
282
412
204
385
418
190
218
466
85
45
427
380
138
356
498
358
100
311
156
142
454
147
52
105
418
35
436
451
71
354
99
69
221
169
367
431
467
226
459
462
107
229
434
354
300
448
269
494
353
214
32
29
402
341
256
149
366
160
90
467
460
236
324
149
182
187
473
8
175
359
99
115
24
421
107
57
484
46
398
451
334
256
68
382
196
466
71
215
185
217
220
270
443
71
449
417
296
17
131
489
16
114
53
168
84
32
376
453
337
406
388
26
130
388
499
204
128
430
83
332
458
66
492
292
162
377
462
156
296
481
88
214
260
225
246
317
442
23
471
198
43
56
368
62
103
187
78
137
251
145
247
123
71
66
20
356
472
400
438
334
377
204
223
211
301
33
208
178
435
149
422
111
158
348
97
359
286
452
189
79
163
88
304
364
13
89
398
23
289
394
165
327
328
464
228
384
354
386
10
184
43
180
479
17
482
438
80
374
378
356
33
343
118
297
420
415
176
92
396
85
214
333
208
292
393
21
318
252
483
472
489
174
53
16
83
388
363
115
84
477
441
127
476
140
354
329
439
393
87
87
435
130
461
496
70
360
176
182
323
12
233
236
84
121
30
422
318
136
2
369
209
194
456
484
439
284
253
204
232
49
23
357
343
441
4
126
96
39
188
344
361
408
226
164
364
455
426
121
312
188
445
93
124
53
238
259
277
313
402
491
475
447
215
315
84
136
109
33
117
65
402
314
254
16
448
421
408
326
200
206
257
65
306
131
476
24
256
9
52
412
298
348
365
16
348
28
406
317
330
48
77
331
221
465
56
487
326
464
320
309
177
89
337
55
448
159
198
209
2
478
463
325
107
4
225
411
278
425
125
173
242
374
73
152
330
56
84
262
420
127
65
289
261
249
184
110
487
458
225
479
20
237
1
171
159
136
183
184
5
149
384
203
301
57
164
464
145
464
214
333
26
311
170
52
147
359
277
178
391
122
405
311
193
290
476
80
344
234
56
59
276
337
181
425
136
76
379
64
345
448
78
144
440
341
312
113
136
238
430
326
377
372
379
204
485
298
398
438
304
84
243
493
220
61
327
465
397
323
177
219
327
253
72
170
359
455
470
277
496
262
9
211
440
281
146
422
34
413
357
222
378
316
185
65
128
191
233
468
218
58
30
381
103
430
112
341
237
239
444
93
18
436
100
97
15
411
403
357
154
290
287
464
374
428
421
451
417
250
468
466
114
225
19
418
105
88
313
303
340
179
315
362
127
380
309
52
56
287
65
157
442
454
433
423
13
226
324
264
275
172
392
391
49
268
247
95
360
347
365
69
267
109
354
463
347
313
253
419
66
346
172
443
345
300
319
252
445
388
432
174
209
449
30
258
335
251
71
163
36
30
62
42
430
240
30
197
153
124
188
187
258
142
109
470
476
101
185
419
488
297
148
75
152
338
92
344
212
478
498
278
7
381
354
408
341
411
18
291
334
228
170
4
166
229
371
495
339
424
251
124
373
492
341
3
244
107
203
181
153
269
344
249
223
425
83
325
460
436
342
273
345
494
67
294
331
285
299
380
57
38
148
179
491
51
270
300
412
35
330
101
288
272
26
127
224
34
354
190
244
82
339
11
472
386
451
445
310
236
392
407
259
118
274
63
177
221
460
456
169
363
363
487
323
303
495
224
292
103
243
111
216
168
44
469
480
467
230
468
470
249
259
176
73
69
456
410
492
101
85
67
75
82
41
132
217
314
460
120
397
325
258
392
240
268
498
484
176
49
11
380
83
35
238
5
222
483
245
14
5
61
476
139
453
289
31
208
354
129
156
300
39
327
39
288
92
221
84
383
58
277
376
293
109
480
308
432
179
191
322
459
73
160
218
98
128
119
363
83
482
216
108
279
236
58
470
252
308
107
174
463
27
410
7
339
16
67
10
108
472
253
340
143
307
218
382
259
172
97
111
105
230
432
122
417
38
221
439
432
240
14
217
286
230
153
197
193
441
79
22
185
344
298
153
388
90
111
341
486
4
122
276
377
208
39
241
350
465
237
29
84
440
281
276
378
329
334
451
489
87
122
392
160
388
298
254
223
4
195
222
116
265
55
323
60
286
462
362
183
358
85
230
295
109
394
16
371
437
200
163
381
225
39
355
312
451
288
55
100
129
289
497
136
447
367
110
14
279
461
328
243
85
414
148
474
238
180
284
171
285
160
14
246
417
358
495
177
391
284
296
367
403
87
399
446
37
111
26
3
351
429
380
227
98
51
484
446
171
271
493
144
363
213
212
383
34
303
461
192
134
236
177
239
184
84
43
210
220
122
291
59
498
424
28
37
120
77
455
272
28
371
301
457
476
308
469
202
81
254
432
404
144
113
297
173
390
380
102
473
144
41
68
385
352
480
195
495
480
336
287
467
469
136
339
294
247
296
216
317
480
90
496
61
50
117
286
441
351
448
203
254
152
48
383
54
330
179
306
444
2
323
149
1
399
194
428
88
61
461
315
113
33
485
482
27
264
296
382
51
406
470
230
337
417
46
287
314
431
118
328
433
409
106
317
480
488
58
319
410
18
149
297
386
134
374
30
295
286
425
191
19
131
411
480
315
407
395
219
40
494
142
46
89
310
122
71
134
346
154
341
88
433
406
45
95
53
321
139
364
311
269
463
40
82
135
144
379
177
276
381
414
461
457
419
420
340
59
163
219
116
47
240
371
279
100
216
385
489
27
401
290
64
304
143
71
180
274
335
129
168
289
443
442
327
473
247
402
72
60
88
477
314
389
431
37
392
272
151
436
430
318
300
305
116
153
332
196
184
184
28
425
231
405
386
337
309
13
423
12
158
166
172
474
188
412
319
41
212
125
468
268
293
83
161
218
468
488
176
403
457
354
271
236
31
213
338
55
257
12
466
321
422
36
341
123
426
393
211
240
382
256
156
377
244
390
144
68
396
274
220
351
161
454
497
309
308
272
79
243
321
484
409
353
131
335
237
100
185
154
124
483
290
112
491
230
241
103
463
435
132
230
439
162
395
289
97
228
106
299
85
427
376
424
74
4
181
474
194
401
259
304
241
375
26
394
5
41
227
130
289
372
71
69
475
322
384
479
252
34
344
481
124
137
441
467
40
203
258
313
377
225
338
400
466
36
160
242
286
248
138
111
471
414
426
247
311
23
314
413
281
189
135
47
60
298
406
159
489
413
200
350
414
109
137
304
392
196
300
103
417
335
202
203
47
13
384
227
94
231
162
469
101
356
274
280
97
373
51
115
325
62
348
435
497
89
264
13
374
345
27
186
456
192
59
188
276
177
178
225
110
212
81
345
35
176
126
493
82
416
342
483
196
55
297
372
394
1
284
380
157
206
393
370
250
469
494
243
63
459
252
3
129
156
102
391
491
387
203
129
13
25
197
23
91
79
188
250
497
129
339
411
252
211
362
311
146
487
189
381
487
94
393
98
177
305
185
73
197
276
153
141
76
209
382
258
458
330
237
240
210
172
91
304
143
421
349
231
229
322
282
80
89
266
262
300
432
123
302
289
359
443
427
440
268
304
499
66
116
200
59
191
1
231
6
253
27
63
463
299
112
402
308
270
412
452
87
225
267
184
182
429
294
116
393
67
494
109
415
390
121
306
147
95
313
386
354
112
299
189
104
489
141
82
279
493
245
183
199
164
146
26
235
435
428
324
369
194
160
158
318
114
106
351
173
383
88
109
330
120
396
211
187
281
129
232
7
407
322
427
387
194
453
206
91
49
296
250
465
232
3
365
205
342
182
35
57
451
268
31
107
164
437
218
101
351
328
146
317
74
322
444
459
70
480
148
272
414
403
487
282
242
331
19
482
130
61
19
102
124
254
469
127
434
90
153
286
281
38
417
447
204
426
19
342
217
194
240
112
413
300
133
491
239
292
335
215
458
184
210
452
234
470
323
27
449
428
16
265
130
463
132
199
163
424
259
9
3
261
49
35
264
220
54
301
43
25
19
130
471
286
496
61
140
25
417
396
372
38
316
455
68
86
197
304
197
288
160
492
367
360
356
255
94
466
389
108
435
376
73
121
251
104
301
438
275
301
439
361
113
313
151
179
211
169
406
262
420
281
167
74
329
442
325
1
279
174
463
435
55
211
322
359
163
73
290
402
422
122
448
370
499
216
460
314
436
390
256
497
314
87
271
408
350
232
288
318
358
221
411
211
202
376
498
53
191
17
486
63
22
74
337
95
446
263
16
180
27
171
414
105
50
431
312
418
181
331
464
73
469
202
37
388
85
157
461
1
119
37
301
18
210
316
322
176
54
39
213
169
275
250
258
55
408
364
486
387
107
153
499
401
299
173
297
377
467
352
302
129
379
273
71
59
123
372
423
202
434
15
206
28
392
184
238
217
435
398
274
112
324
419
79
412
4
331
419
111
209
231
286
35
296
275
205
65
12
265
439
212
468
372
55
106
375
45
203
185
197
46
447
461
171
89
317
270
112
140
40
342
23
255
357
229
68
17
338
493
402
165
44
49
15
9
16
266
404
93
401
438
5
407
53
33
301
235
232
389
183
379
476
473
99
392
391
194
80
283
399
99
56
338
388
127
127
207
362
45
26
468
344
500
387
426
348
25
289
269
