318
317
315
312
312
311
311
311
310
310
309
308
307
306
305
305
304
303
301
298
298
297
297
298
299
298
297
294
294
294
294
294
294
294
294
294
294
294
294
295
295
296
296
296
296
296
296
296
296
295
295
294
294
294
294
294
295
296
296
296
296
296
295
292
292
286
286
285
285
285
285
285
285
285
285
285
285
284
284
284
284
283
283
284
284
284
284
283
285
289
289
287
288
288
289
289
289
290
291
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
292
293
293
293
293
295
294
295
295
296
296
296
296
296
295
294
294
294
294
294
294
293
293
292
292
292
292
292
291
291
291
291
291
291
291
291
291
291
291
291
291
290
290
290
290
290
290
289
289
289
289
289
290
290
289
289
288
287
287
287
289
289
289
290
290
290
290
290
289
289
289
289
289
290
292
293
293
293
294
294
294
295
295
295
297
298
299
299
299
299
298
297
295
293
290
290
291
291
291
291
291
291
291
294
295
295
295
297
298
298
297
297
297
297
296
296
304
305
305
305
305
306
308
308
308
308
308
308
309
309
309
307
307
307
310
310
309
309
308
308
308
308
308
308
308
308
308
308
308
309
309
312
312
313
314
315
315
316
316
316
316
316
316
316
316
317
331
331
333
335
336
337
339
347
347
348
349
349
349
350
350
351
351
352
352
352
352
352
351
351
350
350
350
349
346
344
342
337
334
330
326
324
324
321
317
317
317
317
319
319
318
317
317
316
316
317
318
318
318
317
316
315
315
315
315
315
315
316
316
316
316
316
316
316
316
317
318
318
318
318
318
318
318
318
318
318
318
318
317
316
316
316
316
316
315
315
314
314
314
314
316
316
316
316
316
316
317
317
317
318
314
312
312
312
313
313
312
312
311
311
311
311
311
311
311
311
311
311
311
311
311
311
312
314
314
313
312
312
312
312
311
310
310
310
312
315
318
325
326
329
328
328
328
328
327
328
328
329
328
328
328
329
329
328
328
328
328
327
325
320
317
318
319
319
319
319
319
319
319
319
318
317
317
317
316
316
315
315
313
312
311
311
311
311
311
311
311
312
312
312
310
310
310
308
308
306
305
305
305
305
306
306
306
306
306
305
306
306
306
306
306
307
308
309
311
312
312
314
314
313
313
312
311
307
314
314
317
318
322
326
318
316
319
321
322
322
324
328
331
333
336
336
336
336
337
337
337
337
337
337
337
338
338
338
338
338
336
336
336
336
336
335
335
335
336
336
337
337
337
341
341
339
339
339
339
339
339
339
336
341
341
342
346
353
357
359
360
360
360
361
358
358
358
357
357
356
355
355
355
355
354
354
353
352
351
346
339
336
330
326
320
319
318
315
314
312
312
312
311
311
311
311
311
311
311
311
311
312
312
312
312
312
312
313
313
313
313
313
313
313
311
311
311
310
310
310
310
310
310
310
310
310
310
310
310
310
310
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
310
310
310
310
309
309
309
312
312
315
311
309
311
312
313
313
313
313
313
313
313
314
314
314
314
315
315
316
317
317
317
316
315
315
315
315
315
315
315
315
315
314
314
314
313
313
313
313
313
313
314
314
314
315
315
316
316
317
318
318
319
319
319
319
319
319
323
320
317
315
315
315
315
315
315
315
314
314
314
314
313
312
312
312
312
312
312
312
312
312
312
312
312
312
313
313
313
313
314
314
314
314
314
314
314
314
314
314
315
315
315
316
316
316
316
316
316
315
315
315
315
315
315
315
315
312
316
317
319
320
320
321
321
321
323
322
322
322
321
321
313
313
314
314
314
315
315
315
316
316
317
317
317
318
318
318
320
320
320
320
319
319
319
318
319
322
324
326
327
328
330
332
333
334
334
337
337
337
337
337
337
336
336
336
336
337
337
337
335
334
331
331
331
331
331
331
331
331
330
328
327
326
326
324
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
323
325
325
326
327
329
331
331
332
333
333
334
335
338
343
344
346
346
346
346
348
348
348
349
349
349
349
350
350
350
350
350
351
352
353
354
354
356
356
356
356
356
356
357
358
358
359
358
365
367
367
367
366
366
366
366
365
365
365
365
365
365
365
365
366
368
369
368
368
368
369
371
371
372
372
372
372
374
375
378
382
387
393
395
395
394
392
389
389
389
392
395
402
403
403
406
408
408
410
410
410
410
410
410
410
414
416
426
432
435
437
441
444
447
448
453
455
460
462
466
467
469
471
472
473
475
476
477
479
481
483
486
490
493
495
496
497
498
498
497
497
498
505
506
506
507
508
510
511
512
515
517
518
519
520
523
524
525
525
528
530
530
531
532
534
536
538
541
544
544
544
545
545
546
547
550
552
553
554
556
559
560
563
565
566
570
573
577
584
591
598
600
603
607
616
622
627
632
636
639
642
647
650
651
652
654
656
658
666
671
675
678
679
679
678
677
677
676
675
674
674
672
672
672
672
672
672
672
672
673
680
682
683
686
690
696
695
695
695
696
697
697
697
693
691
688
688
688
687
687
689
681
680
678
676
673
669
665
656
656
660
664
667
663
659
659
659
662
669
670
675
676
681
684
685
684
685
689
691
692
687
681
675
672
671
669
665
662
661
660
659
658
658
657
655
654
650
646
644
644
644
644
644
645
646
649
652
653
654
655
657
660
661
662
662
662
662
661
660
660
661
662
662
663
667
670
674
676
680
683
692
702
707
716
722
726
728
731
732
732
733
733
738
741
742
744
747
752
763
767
774
774
774
776
777
779
777
773
762
760
749
748
748
748
750
751
753
755
756
759
762
764
767
767
763
756
756
758
760
761
762
762
763
766
767
767
768
769
769
770
770
770
770
770
770
769
769
769
769
769
769
772
772
774
775
777
778
780
783
784
784
783
783
782
782
782
783
784
785
788
792
794
796
799
800
800
800
800
799
797
800
803
809
811
812
813
813
813
812
812
812
811
811
812
813
815
818
822
827
833
845
847
850
850
853
855
863
872
868
860
859
858
858
856
854
850
848
844
835
833
832
831
831
831
831
832
833
834
835
835
837
840
841
842
842
844
845
849
850
856
859
859
859
858
858
857
858
860
861
862
862
864
866
866
869
870
872
873
875
875
876
877
878
879
880
880
881
881
882
882
883
884
893
895
898
900
901
902
902
903
906
908
909
910
910
909
907
905
902
901
900
900
900
900
900
900
900
900
901
902
902
902
902
902
902
902
902
910
910
910
912
913
916
917
919
919
919
919
919
917
917
917
916
915
915
915
915
916
919
924
926
933
938
953
958
958
957
957
959
964
964
971
973
974
974
970
970
970
970
970
969
969
969
969
969
968
968
968
968
967
966
965
965
965
964
964
964
965
966
967
968
969
969
969
970
972
974
974
976
977
978
979
982
985
993
995
998
1000
1002
1005
1005
1004
998
996
996
996
996
996
996
996
1009
1013
1014
1014
1014
1014
1013
1014
1014
1014
1017
1018
1020
1028
1034
1030
1030
1031
1033
1032
1030
1029
1026
1026
1026
1025
1025
1024
1010
1010
1003
1001
1000
990
985
983
981
979
974
973
970
969
968
968
967
966
965
962
958
958
958
958
955
953
950
945
942
941
941
939
938
936
935
935
933
933
933
933
933
933
933
933
935
936
938
938
938
939
940
938
936
936
938
939
939
940
937
936
935
925
924
920
920
920
926
927
928
930
931
932
935
934
933
932
927
927
926
925
925
923
919
918
913
910
909
909
909
909
910
912
910
909
909
905
905
906
908
910
909
908
905
905
904
903
901
900
898
893
892
891
889
887
886
882
879
877
876
877
879
879
880
881
878
874
874
874
876
876
877
878
875
874
874
877
878
878
877
875
873
872
872
871
871
878
883
883
883
883
883
884
884
884
884
884
884
884
885
890
891
893
894
894
894
894
895
896
897
896
894
892
889
885
883
883
884
885
887
887
887
888
889
889
889
889
889
890
891
892
896
897
898
901
902
905
907
897
896
895
894
893
892
891
890
890
890
890
890
888
887
886
883
883
882
877
877
876
876
875
875
873
870
870
870
870
870
870
871
873
873
873
873
875
877
877
879
879
880
881
882
885
887
887
887
887
887
886
885
884
881
881
880
880
881
881
882
882
882
882
882
882
882
881
881
880
880
880
881
881
881
881
881
880
880
880
880
880
880
880
881
881
881
881
877
876
874
870
865
864
862
860
858
857
846
833
829
814
808
807
804
802
799
794
787
784
781
778
777
776
775
773
773
772
772
769
769
769
767
766
766
766
765
765
765
764
763
760
759
758
757
755
750
749
748
748
749
750
753
753
753
745
742
742
733
729
727
723
722
721
718
717
716
715
713
711
711
712
712
713
715
716
716
715
709
707
703
699
699
699
699
701
701
701
702
702
702
703
704
704
708
709
720
724
725
726
727
729
724
721
720
720
719
718
717
715
708
707
703
700
699
695
694
693
693
692
690
689
688
685
685
685
685
685
685
685
685
685
691
695
698
701
702
702
702
697
690
686
686
685
685
683
683
686
692
692
694
694
693
691
690
689
688
687
682
680
676
675
673
669
664
665
668
667
665
664
661
657
653
654
656
657
657
657
657
658
658
660
663
662
661
660
658
657
657
655
654
654
654
652
651
649
648
647
646
642
639
638
637
636
636
636
636
635
635
635
635
635
636
639
642
643
645
642
641
640
637
635
633
632
631
630
629
627
626
626
626
626
626
625
624
623
623
623
623
623
623
623
624
627
629
630
633
636
639
641
639
636
635
634
632
631
631
630
624
623
622
622
622
622
625
626
627
629
632
635
637
642
642
642
642
641
638
637
632
619
618
617
609
610
612
613
614
615
617
622
624
623
623
621
620
614
612
610
609
609
608
607
607
606
607
611
611
610
608
607
606
604
604
605
606
607
608
610
610
611
614
613
612
610
608
607
607
607
609
611
613
614
615
616
618
619
619
620
621
623
625
622
621
620
619
619
620
621
622
627
628
626
623
627
628
626
622
621
621
622
622
622
619
617
616
613
608
607
607
606
604
604
602
602
599
599
598
598
597
596
595
594
594
594
594
593
593
593
594
597
598
590
585
581
580
580
580
579
579
579
579
579
580
580
579
579
577
576
575
574
574
573
578
579
584
587
588
587
586
582
580
579
578
578
577
575
575
574
571
570
569
568
568
567
567
566
569
576
577
577
577
577
577
577
577
577
577
576
575
575
575
575
574
574
574
574
573
573
572
571
571
571
574
574
575
576
576
577
578
575
570
568
567
565
564
563
562
568
571
570
567
566
566
565
562
560
559
557
557
555
554
551
546
540
538
538
535
535
536
539
539
540
541
541
541
542
542
542
542
541
540
538
535
533
532
531
528
526
524
523
521
520
518
517
515
511
511
510
508
505
501
499
498
496
495
493
492
491
491
491
492
492
488
486
485
480
478
476
474
473
471
468
465
462
462
461
462
462
463
464
466
466
466
466
466
466
466
466
466
466
465
464
462
459
457
456
454
453
451
449
449
448
448
448
447
448
451
452
454
456
459
464
464
464
464
464
466
467
472
473
476
477
479
479
480
481
481
483
484
484
484
485
488
489
492
496
501
503
509
510
512
514
515
517
520
520
523
524
527
527
528
529
531
534
536
539
541
548
549
552
557
558
559
560
562
563
566
568
573
576
578
580
592
601
601
602
602
603
604
605
605
607
612
613
615
620
621
621
624
628
633
637
639
639
641
642
642
641
641
641
639
638
638
637
637
637
637
637
638
638
638
638
638
638
638
638
638
638
638
639
639
639
640
640
640
640
640
640
640
640
640
641
642
645
648
651
652
653
653
653
654
655
655
656
657
657
657
657
657
657
657
657
657
657
657
657
657
657
657
657
656
655
655
654
653
652
653
655
656
657
662
667
670
676
679
681
681
681
682
683
684
685
688
689
689
690
690
691
692
692
693
693
693
695
697
700
704
705
712
712
713
713
715
715
718
721
722
724
725
729
732
735
740
741
742
744
745
746
747
747
747
748
748
748
749
749
751
751
753
753
753
752
752
752
752
752
752
753
760
762
765
767
767
767
767
768
768
768
767
766
765
764
764
764
765
765
765
765
760
752
751
748
744
744
741
740
739
737
735
732
726
722
716
715
710
709
707
707
706
701
701
699
699
700
700
701
701
701
700
699
699
696
695
694
692
691
690
690
691
692
693
694
695
696
697
697
698
697
691
679
676
673
670
663
659
669
674
677
680
682
682
681
675
675
675
675
676
677
677
677
673
673
673
665
661
660
660
656
649
645
645
643
641
640
639
637
636
634
634
633
633
632
631
628
627
625
624
618
617
615
614
613
612
611
610
603
599
599
597
595
593
592
591
590
589
587
585
584
582
581
581
580
580
578
576
570
565
562
556
554
550
549
547
546
544
543
542
540
539
537
535
534
532
532
530
523
521
516
512
508
504
501
500
499
498
498
498
498
497
497
496
496
495
495
495
495
496
496
497
498
498
499
504
504
505
510
512
514
515
516
519
521
523
524
523
523
522
521
520
516
515
514
513
514
513
513
512
512
511
511
510
510
510
510
509
507
507
507
507
507
507
507
506
506
506
502
495
492
483
482
481
477
470
469
468
467
467
467
467
465
463
461
460
459
457
458
459
460
461
465
466
467
468
471
485
488
488
489
489
491
494
498
502
501
500
500
500
501
501
502
502
501
500
500
500
498
498
498
495
495
494
493
493
493
493
493
493
495
496
496
497
497
497
497
498
498
498
498
499
499
501
506
511
515
521
524
524
526
526
528
529
533
534
535
537
546
546
547
551
551
553
553
554
554
555
556
558
559
563
564
564
566
566
564
563
558
552
548
547
547
547
547
545
545
545
544
544
542
541
541
538
537
532
532
532
532
533
533
533
534
535
535
534
534
531
526
524
524
522
522
522
521
521
520
520
522
522
524
525
523
522
521
520
519
514
511
511
510
508
508
507
504
504
499
493
492
491
491
490
488
487
485
481
477
476
475
474
472
471
472
472
472
473
474
474
474
474
474
473
472
472
472
472
471
470
469
467
464
461
460
459
458
458
453
451
443
434
427
427
426
425
425
424
424
424
421
419
418
418
417
415
412
410
406
405
404
403
402
400
394
392
390
389
387
386
386
384
383
379
378
376
376
374
372
370
369
368
366
365
364
359
355
355
350
349
347
345
341
340
340
339
338
336
333
332
329
328
327
324
324
308
307
305
303
303
303
303
302
302
302
301
301
300
300
300
299
299
299
299
299
298
298
298
297
296
296
295
295
294
294
294
293
293
293
292
292
292
292
292
292
292
292
292
291
291
291
291
291
291
291
291
291
291
292
292
292
292
292
292
292
292
294
296
296
296
296
296
296
296
296
296
295
295
295
295
294
294
293
293
293
293
293
293
293
292
292
292
292
292
292
292
292
292
292
292
292
292
292
291
290
289
288
288
287
287
287
290
290
290
290
290
290
290
290
290
289
289
285
283
284
284
284
283
283
283
283
284
284
284
285
285
285
285
285
285
287
287
287
287
287
287
287
287
287
286
286
287
288
290
291
292
292
293
293
293
294
294
294
294
294
295
295
295
296
296
297
297
297
297
296
294
293
293
294
295
295
295
295
295
295
295
294
293
293
293
294
294
294
294
295
296
297
298
298
298
297
296
296
296
297
297
297
298
299
297
297
297
298
298
298
298
298
301
303
304
304
305
306
307
308
309
310
310
310
311
311
311
311
311
313
314
316
316
316
316
316
317
317
317