382
382
386
389
389
390
389
388
381
378
373
368
367
364
361
379
381
389
390
391
390
378
374
365
372
374
381
383
390
390
389
388
388
387
382
382
382
390
388
390
392
397
393
394
394
394
398
399
398
397
397
402
409
409
414
411
413
416
427
429
431
439
441
448
450
446
443
439
437
435
415
412
404
402
404
397
396
378
376
375
378
390
389
389
398
402
404
403
401
395
384
377
376
377
377
376
381
381
381
383
393
396
396
396
396
396
396
399
402
410
411
420
423
426
428
426
425
428
431
429
420
420
418
416
411
406
407
412
417
428
429
438
439
441
441
450
452
453
451
472
476
481
482
487
487
487
493
494
495
496
500
501
501
505
510
510
509
507
502
501
499
499
498
498
497
496
490
488
490
495
504
503
497
497
511
512
516
520
525
529
536
546
545
542
545
544
543
539
535
532
529
523
514
512
512
512
507
502
495
475
475
472
465
457
449
435
434
434
423
411
406
394
386
383
379
380
381
381
366
360
356
345
338
332
323
320
314
314
310
308
308
308
311
328
327
326
327
326
324
321
318
318
290
289
288
288
296
298
312
307
305
303
303
305
305
306
309
310
310
311
313
314
315
317
318
327
327
327
329
336
338
344
347
347
359
360
362
363
364
367
380
385
382
383
379
384
383
374
373
371
379
380
381
384
396
395
396
390
386
386
388
389
392
395
397
399
397
397
397
397
402
403
404
404
404
406
406
406
407
408
410
416
416
416
418
418
418
420
421
420
415
413
415
415
414
412
412
412
408
415
416
420
423
429
445
455
459
463
463
463
461
462
470
471
475
476
471
474
475
477
489
493
506
507
507
508
509
509
512
540
544
548
550
551
555
556
557
572
572
572
571
571
571
570
523
520
509
475
468
470
470
470
477
482
498
498
497
496
496
497
497
488
484
484
483
481
480
476
473
473
467
468
470
466
461
458
461
462
463
463
463
465
467
474
480
484
484
483
482
482
481
480
481
491
495
496
496
500
508
510
514
512
512
513
516
517
518
519
519
520
522
523
536
538
538
543
544
552
553
558
559
565
573
577
597
603
605
581
576
572
572
572
567
559
550
549
547
545
543
533
531
529
530
536
541
546
553
559
548
550
549
550
554
554
554
554
558
556
556
552
549
550
546
546
545
539
539
530
530
530
526
524
521
518
516
515
514
510
508
506
506
512
512
512
512
512
511
510
509
504
505
506
502
501
499
497
495
490
489
485
486
487
494
494
494
487
479
477
474
471
474
474
474
474
474
494
494
480
480
480
473
468
466
459
458
463
465
466
465
465
451
454
454
447
449
448
448
448
448
447
446
445
444
443
442
445
446
445
438
440
439
438
439
439
439
439
439
438
434
434
431
432
432
427
425
427
427
427
426
426
428
436
424
424
425
427
427
440
437
435
431
430
429
427
425
419
419
419
419
400
385
383
376
373
377
374
369
367
364
360
356
359
358
356
353
355
357
360
360
359
357
354
351
352
355
357
358
358
357
357
359
362
360
354
351
353
356
357
352
351
351
341
338
338
337
337
337
334
332
332
330
329
329
327
323
320
324
331
336
342
343
345
348
350
365
368
356
356
356
355
354
353
353
353
357
356
355
362
368
370
371
376
379
380
380
380
387
389
400
415
419
425
429
431
436
440
440
442
449
457
457
458
459
459
459
464
463
469
471
472
471
471
471
471
472
473
474
471
472
473
481
479
480
480
481
494
493
492
500
509
510
511
510
507
507
507
507
492
485
483
479
473
473
467
467
467
466
461
453
451
445
442
442
439
447
451
451
455
457
477
483
484
485
485
493
504
506
500
497
498
500
506
509
510
511
521
526
530
540
539
538
526
538
520
524
510
510
512
523
525
525
529
529
529
530
531
529
525
516
516
517
517
519
524
524
522
526
528
529
528
531
530
514
497
496
498
502
505
508
510
510
534
536
537
537
540
543
541
540
543
546
551
557
554
543
546
548
538
527
525
492
474
466
466
465
456
456
456
454
451
450
442
441
440
429
427
425
423
423
416
410
419
419
420
420
420
409
408
408
408
408
407
409
409
414
419
415
413
408
405
403
405
410
411
411
413
415
419
430
442
446
443
441
443
444
448
461
483
490
506
519
519
518
515
511
504
501
498
496
494
496
496
493
489
495
485
478
474
466
461
457
451
430
432
434
430
426
425
425
426
427
428
437
438
454
455
456
458
461
469
470
481
480
477
473
480
481
482
483
483
483
492
495
496
496
495
491
488
485
482
478
472
461
453
455
457
454
450
447
447
446
451
459
460
461
459
459
457
455
448
449
452
459
461
461
461
461
460
460
459
481
484
483
481
479
477
474
471
470
466
464
466
468
470
471
467
467
466
465
465
464
459
457
457
457
453
452
450
424
422
421
420
417
408
407
407
406
401
401
404
407
408
409
405
405
421
430
430
442
443
441
439
439
439
442
442
445
453
469
469
469
475
474
479
482
484
486
488
492
492
498
504
505
507
508
508
512
519
517
515
512
509
505
498
493
488
485
484
483
483
482
471
470
470
469
468
466
449
432
429
430
432
434
438
439
440
438
437
435
431
429
423
393
367
369
370
372
371
367
365
359
345
340
337
336
334
331
330
333
338
344
346
346
341
341
345
346
347
347
348
349
355
362
368
370
370
370
374
377
378
383
386
387
388
401
406
405
407
411
415
416
414
410
410
410
409
407
398
397
383
384
384
381
379
377
376
374
372
370
369
367
377
378
380
381
402
406
408
409
410
411
405
399
400
405
404
404
399
399
397
393
390
392
392
387
386
386
386
386
390
391
393
394
395
395
395
389
388
387
385
379
374
374
374
373
336
327
326
325
322
318
320
324
326
327
331
344
347
352
358
361
365
373
382
384
362
355
353
349
355
363
368
333
343
349
351
360
361
363
366
368
369
368
369
370
371
373
409
411
410
408
420
429
428
427
426
427
427
430
431
430
430
433
433
433
441
440
437
439
442
442
443
445
447
440
441
444
445
444
445
446
426
421
422
432
436
441
447
453
456
460
464
464
463
451
451
452
453
459
462
465
473
473
475
483
484
483
483
482
484
484
483
475
476
477
482
478
477
470
468
469
469
467
459
467
467
461
462
462
464
466
474
474
474
468
463
464
469
465
455
443
440
435
439
440
442
439
436
436
436
437
438
444
442
442
442
452
451
451
455
458
455
455
452
450
447
444
443
435
436
438
442
443
452
457
457
455
456
456
458
458
457
457
452
455
455
453
452
452
451
449
444
439
436
435
434
433
432
426
423
414
408
407
402
401
399
399
399
417
418
415
413
410
408
407
407
405
406
408
408
407
408
408
403
397
385
381
378
368
371
368
364
349
341
339
337
333
327
329
329
329
332
335
346
357
359
367
386
386
386
385
385
385
385
381
356
360
360
342
333
332
346
358
370
378
380
413
407
406
403
412
431
431
425
423
404
408
409
390
391
389
386
386
388
390
388
386
385
380
375
381
388
392
385
376
375
376
378
380
380
380
379
379
377
388
400
392
414
404
406
396
390
389
372
371
370
369
375
377
388
390
393
406
406
417
418
419
421
450
450
451
452
470
470
468
464
470
451
453
454
451
447
445
443
444
442
408
404
404
403
403
402
384
381
385
366
366
371
371
371
386
384
384
369
368
368
370
365
373
369
370
375
376
373
370
375
369
374
392
381
384
392
392
388
385
386
368
367
377
376
374
372
366
363
380
370
371
376
376
375
371
370
372
372
369
369
369
369
369
368
369
374
378
383
387
390
392
417
418
416
414
411
403
390
388
384
379
377
374
372
370
369
368
365
369
373
375
375
375
373
368
366
367
369
369
369
370
372
374
375
376
381
382
383
388
389
390
396
396
398
401
405
420
422
421
419
422
424
428
434
437
449
452
456
456
457
457
444
436
432
434
434
431
424
425
433
439
443
443
444
445
450
448
447
447
446
441
441
441
441
441
442
446
446
446
446
445
445
445
445
445
444
437
439
441
408
408
411
412
413
413
414
408
415
431
431
427
428
434
433
433
437
438
440
443
443
440
435
433
434
439
443
445
454
457
466
469
479
518
525
537
537
538
543
544
545
553
553
554
556
557
557
560
560
559
556
555
555
554
554
555
557
559
561
565
566
566
566
567
569
569
570
564
564
568
570
572
574
576
577
578
578
578
586
585
577
570
570
570
573
569
562
562
562
563
566
572
573
573
575
583
585
590
593
607
607
609
612
615
615
612
610
605
604
604
611
612
611
610
614
615
614
613
612
612
619
618
618
618
614
607
601
597
594
592
591
590
595
579
579
578
578
578
577
574
581
583
588
589
590
591
599
602
604
607
609
612
596
585
589
592
597
599
592
583
581
581
574
571
564
563
564
565
567
568
568
566
565
563
561
555
541
541
539
536
532
531
531
530
523
518
517
515
513
511
508
508
493
493
493
493
492
488
486
486
481
477
473
468
469
470
468
466
461
462
462
461
461
460
460
461
462
461
463
465
466
470
468
476
480
486
493
496
497
500
506
518
522
528
531
531
530
530
531
533
536
531
535
533
534
541
547
555
554
554
554
555
557
560
570
569
571
572
574
577
586
596
598
599
600
600
595
603
606
613
620
619
619
616
613
611
613
618
630
633
634
627
630
633
640
647
648
652
652
654
658
662
660
668
673
686
690
690
690
689
688
697
702
740
740
740
743
757
758
748
750
753
757
759
762
762
762
761
768
774
780
780
780
779
779
778
778
792
803
811
812
810
808
794
785
778
778
778
778
757
755
752
749
751
750
747
746
744
743
740
736
731
723
721
718
715
714
715
716
716
715
713
712
710
704
701
703
703
692
688
683
676
673
669
671
673
673
671
669
668
668
668
667
665
660
652
651
650
649
641
640
623
622
626
624
623
616
621
623
625
625
623
630
633
638
642
645
643
648
652
653
653
652
650
654
663
663
663
664
666
669
672
676
676
677
677
676
680
682
682
681
683
689
694
698
698
703
704
703
704
699
697
703
698
698
707
697
697
695
692
686
686
686
687
687
688
689
686
680
680
678
679
680
674
668
664
652
649
649
649
650
653
653
653
652
649
636
628
627
623
615
609
593
592
590
587
587
587
581
579
581
574
574
574
574
574
574
573
571
571
571
571
568
565
566
559
557
554
552
543
541
544
537
532
530
530
525
521
513
513
513
509
506
514
515
517
523
531
534
534
538
541
545
544
547
549
550
552
557
561
562
565
567
568
576
581
585
579
571
567
569
570
570
571
576
577
578
584
585
585
587
598
605
612
620
624
626
632
632
632
631
629
628
634
632
630
634
639
648
672
679
678
676
654
650
646
645
644
642
629
635
634
640
641
640
643
644
647
656
658
657
660
660
670
674
677
685
687
690
693
695
696
698
699
700
703
705
709
713
712
711
710
709
707
705
701
697
693
699
704
700
695
693
691
685
679
674
674
676
695
679
672
670
669
673
677
682
675
674
699
703
706
670
667
666
651
648
647
644
642
639
640
638
634
632
629
624
621
608
608
607
590
585
579
574
551
545
542
541
529
526
524
522
522
461
465
471
478
491
489
487
486
484
484
484
484
488
490
493
495
501
500
500
500
499
497
495
491
483
479
477
475
472
471
471
469
466
461
458
456
456
460
463
468
468
462
459
459
460
460
462
466
467
477
481
481
480
483
482
482
477
476
453
451
450
449
442
441
443
443
442
423
407
406
407
409
409
413
414
413
411
410
409
436
461
463
465
470
464
463
463
463
462
462
461
461
472
472
472
472
469
467
463
456
453
444
440
432
430
426
425
420
415
411
411
409
406
410
408
403
404
384
386
385
386
384
378
374
375
378
382
388
372
362
359
357
358
360
362
361
358
359
360
362
362
363
360
360
360
366
366
366
366
366
366
366
366
367
367
366
368
368
367
370
370
371
371
373
375
376
377
377
376
376
376
376
376
374
373
375
375
375
375
375
371
371
371
371
371
371
371
373
373
374
375
371
371
371
371
371
370
369
370
372
372
372
372
373
373
371
372
373
383
407
406
407
410
411
412
412
412
404
426
427
426
426
421
419
417
426
434
434
434
435
419
418
418
425
429
431
432
433
435
439
445
445
446
455
462
462
461
462
464
467
474
475
478
495
500
503
505
523
527
528
527
527
530
532
536
551
554
557
558
557
552
551
551
552
553
551
553
554
556
568
580
589
588
587
599
596
596
596
597
602
612
615
620
631
634
634
635
636
648
650
650
648
647
639
638
638
638
638
638
637
636
634
632
630
629
631
632
634
629
628
629
629
627
615
611
604
609
609
609
609
609
609
610
608
606
606
614
617
618
617
619
623
624
625
626
628
624
621
628
631
634
636
645
646
646
647
649
656
658
660
660
661
664
670
677
681
682
684
690
692
693
693
699
701
702
702
702
702
710
712
717
721
725
728
725
729
742
744
733
729
744
739
737
733
725
715
717
713
710
713
714
717
721
722
722
723
720
718
716
714
706
706
705
704
704
701
699
696
689
691
693
714
714
712
737
751
751
751
752
752
752
752
754
756
759
762
771
778
781
791
802
807
812
819
831
839
842
842
847
849
860
867
867
867
868
872
880
885
884
881
862
866
847
844
843
832
808
796
813
815
792
792
792
792
786
784
776
775
777
777
776
774
773
773
773
776
777
780
778
780
781
782
765
761
754
747
744
743
733
728
726
726
726
726
727
729
732
732
732
719
718
705
704
703
697
683
669
667
665
662
660
660
660
660
656
654
650
655
656
659
658
659
660
662
665
667
670
672
677
678
681
682
681
674
678
676
661
658
654
635
633
637
640
641
638
627
626
625
612
634
632
629
625
626
632
630
623
623
623
623
626
627
625
622
623
622
632
636
637
638
638
638
638
644
640
637
636
639
641
643
644
645
645
646
656
659
659
660
660
665
669
669
672
673
676
687
689
697
702
704
707
719
725
725
725
726
733
749
757
757
759
762
763
782
789
792
796
797
797
797
798
798
808
814
818
821
821
821
822
826
832
844
845
845
844
842
837
835
835
832
828
816
814
803
801
797
796
795
787
785
776
776
774
772
771
771
768
769
771
772
772
773
779
779
780
780
784
793
796
803
809
814
821
826
825
824
824
829
841
847
851
875
871
872
873
873
867
866
852
844
836
834
833
826
820
822
811
810
810
809
809
809
809
807
806
803
800
800
800
802
807
810
811
807
806
813
812
811
810
800
794
792
793
795
797
797
798
799
797
790
790
788
788
788
788
790
790
791
790
789
790
794
796
789
789
789
795
792
783
780
777
777
765
748
739
731
716
714
713
707
705
696
694
693
681
680
680
680
676
681
677
658
654
650
650
650
642
634
640
644
643
642
642
642
642
643
646
647
651
654
658
659
662
666
673
679
683
683
684
686
691
696
700
701
701
703
705
707
708
709
710
716
717
720
723
726
729
731
731
732
734
734
733
724
717
715
711
707
705
705
704
703
701
705
708
717
719
719
716
712
708
700
698
690
683
682
680
672
671
669
667
665
663
661
656
653
652
649
643
634
629
627
620
620
619
618
618
618
611
608
605
600
600
583
582
581
581
581
581
580
579
578
578
578
577
577
576
575
573
572
569
567
567
568
565
566
557
551
550
550
551
550
548
548
548
549
549
549
546
546
547
548
528
528
527
527
526
524
516
518
518
515
516
513
510
510
507
503
500
493
500
501
499
498
493
490
497
500
496
490
483
481
481
487
489
489
487
484
479
480
478
471
469
466
465
463
458
462
460
462
462
462
463
464
464
468
466
466
469
474
475
475
474
474
475
475
475
475
476
479
482
482
487
486
486
483
480
481
483
485
485
485
485
489
497
500
500
500
501
506
509
508
514
516
516
516
517
523
537
537
538
538
538
538
538
538
542
542
542
545
548
548
548
548
551
551
550
551
554
553
555
555
555
555
555
555
556
556
563
564
564
564
570
568
567
567
577
583
583
582
582
582
584
585
585
594
598
602
605
609
609
609
610
615
619
621
623
623
625
626
628
631
639
638
639
641
640
643
645
646
645
649
649
649
649
648
648
649
650
650
650
649
648
646
645
644
644
644
646
645
638
637
640
643
646
647
644
644
644
646
648
655
661
670
671
671
672
672
674
674
674
673
673
672
671
671
670
670
678
678
669
671
672
671
671
670
669
669
668
666
666
667
666
666
667
669
670
670
670
669
667
666
665
665
667
663
661
658
662
657
657
657
657
657
658
657
654
651
656
661
662
668
666
666
665
665
665
665
665
665
666
664
660
662
654
659
660
658
655
655
653
655
655
654
656
654
654
655
656
656
657
655
653
651
650
650
649
648
652
652
652
654
655
656
656
657
657
657
657
657
656
657
657
657
657
656
655