306
306
306
306
306
305
305
305
303
302
301
301
300
301
301
301
301
302
302
302
302
303
301
299
299
299
299
300
301
301
301
301
301
302
303
303
304
304
305
305
306
306
307
314
313
308
312
312
313
316
317
323
324
327
326
325
323
321
320
316
311
309
308
307
307
309
309
309
311
311
311
311
311
310
312
313
314
315
315
315
317
322
322
322
322
322
318
318
319
320
323
324
325
330
333
334
337
337
336
336
335
334
333
333
333
334
334
335
342
347
350
358
363
368
370
371
373
373
373
371
371
371
371
372
373
376
379
380
376
376
375
375
367
361
365
369
371
374
374
375
378
379
384
387
389
391
392
396
398
400
400
403
398
398
397
392
391
391
391
391
390
389
382
381
380
378
377
376
375
375
375
376
376
377
379
380
382
385
388
392
397
399
401
402
402
399
397
386
386
389
395
390
390
402
404
408
411
411
406
402
399
399
399
399
399
399
396
396
396
395
394
382
381
380
376
374
373
373
374
375
375
366
364
357
359
360
359
364
364
364
364
364
363
360
358
358
359
359
359
360
360
361
363
363
364
363
361
361
362
362
364
361
363
366
367
365
365
365
367
367
366
366
366
367
367
367
368
368
368
369
373
372
371
365
365
365
365
366
366
367
369
369
370
371
372
374
374
374
374
373
374
375
376
380
383
384
385
387
387
387
388
388
387
388
389
389
389
390
391
392
391
391
391
392
394
393
393
393
395
397
402
403
407
418
423
436
436
436
436
436
442
446
449
457
468
473
483
489
494
497
498
501
503
505
510
512
515
517
517
517
519
521
523
527
534
539
548
552
550
548
548
547
544
545
550
547
549
551
557
557
559
560
560
560
557
555
556
561
563
566
570
570
564
561
554
543
538
534
531
529
527
525
521
518
516
517
515
510
515
522
526
536
540
543
549
557
560
562
565
567
569
580
581
582
583
587
588
587
587
587
587
587
587
584
580
566
557
552
551
551
550
550
540
526
524
524
526
522
520
514
501
497
495
494
493
493
488
486
486
486
486
484
484
484
484
484
485
484
480
480
480
480
480
480
480
480
480
480
481
481
482
482
488
490
491
490
489
488
488
490
490
491
494
494
512
513
520
528
537
542
550
555
568
573
577
581
582
586
601
609
621
623
625
626
626
624
623
633
638
641
644
647
648
649
657
661
663
663
669
676
681
687
689
690
693
694
694
697
698
695
689
687
683
669
667
668
669
671
670
669
673
675
677
683
682
682
686
690
693
694
698
699
699
699
699
700
700
701
703
704
707
707
714
717
719
720
720
721
721
722
722
722
722
722
722
722
724
727
733
738
744
747
749
751
751
752
753
753
751
748
748
744
743
747
747
744
744
744
742
740
736
734
733
718
717
718
725
730
735
737
739
741
742
743
743
737
722
720
721
725
709
711
683
688
689
685
679
675
670
663
670
670
668
666
662
659
656
657
647
645
645
650
654
655
656
658
658
658
658
658
657
655
655
655
656
656
657
651
649
649
649
649
648
647
643
637
636
628
626
621
619
618
617
617
617
616
616
616
616
616
617
617
618
620
622
623
623
623
624
626
624
621
620
620
619
619
620
620
621
618
619
621
623
625
629
630
627
627
632
635
631
632
632
632
629
623
622
623
623
624
625
627
627
625
625
625
625
626
628
632
635
638
639
641
642
647
652
655
659
661
665
668
670
670
671
672
672
672
672
672
672
671
670
666
658
652
648
639
634
630
626
617
612
604
598
598
598
598
598
598
598
598
598
598
597
597
597
597
600
604
606
607
611
614
617
620
620
620
621
622
624
627
630
635
639
644
648
654
658
660
661
662
663
666
668
669
672
673
675
675
675
675
675
674
674
674
674
674
675
677
678
679
678
676
678
679
676
673
667
661
660
660
657
655
647
647
645
644
643
643
644
644
644
644
644
644
645
645
647
650
651
654
658
660
659
658
657
649
640
637
622
615
613
611
607
603
601
600
608
584
590
598
597
594
591
590
589
589
589
589
589
589
589
589
589
588
588
588
588
593
595
596
601
633
636
634
623
614
614
614
622
640
637
634
649
654
668
669
671
669
673
677
676
685
693
697
693
688
689
699
708
703
700
709
719
724
728
735
747
748
743
744
746
741
741
739
737
741
742
744
745
747
747
748
748
750
752
753
753
753
753
753
754
754
754
758
764
771
768
773
777
781
782
784
784
788
793
795
792
796
798
804
822
822
825
822
832
835
840
846
850
853
855
859
864
876
875
878
881
880
880
882
885
888
890
896
898
898
899
899
900
902
902
900
907
915
921
926
929
931
936
939
985
986
991
1005
1011
1010
1010
1004
1004
1001
1009
1012
1012
1021
1028
1027
1027
1030
1039
1052
1056
1058
1058
1055
1059
1061
1064
1068
1073
1076
1079
1081
1095
1097
1102
1102
1103
1105
1108
1108
1112
1117
1120
1123
1123
1123
1123
1123
1123
1127
1132
1135
1138
1139
1140
1140
1142
1145
1149
1151
1153
1154
1154
1151
1150
1149
1159
1168
1168
1167
1169
1170
1171
1172
1173
1176
1180
1184
1189
1195
1198
1202
1205
1207
1210
1210
1210
1210
1210
1210
1210
1210
1210
1210
1210
1210
1210
1210
1210
1210
1210
1210
1210
1210
1210
1210
1210
1210
1210
1206
1197
1189
1174
1160
1145
1135
1135
1134
1133
1127
1125
1127
1117
1115
1109
1122
1110
1109
1107
1072
1056
1037
1037
1037
1037
1037
1037
1037
1038
1038
1019
1013
1013
1013
1013
1016
1026
1034
1038
1038
1037
1036
1025
1012
1011
1015
1011
1010
1005
999
998
1000
995
988
985
982
975
969
968
967
964
960
956
957
949
946
945
944
943
941
941
940
939
937
926
917
916
916
916
912
910
910
910
906
895
886
882
881
881
882
884
885
885
885
885
885
885
885
885
886
887
889
891
891
891
891
889
887
884
882
879
879
879
879
879
879
879
879
879
879
879
878
878
878
878
877
876
875
875
875
875
875
875
875
876
877
878
879
883
885
887
891
894
898
902
902
901
909
910
911
914
916
917
917
919
920
922
926
929
932
936
940
944
947
947
948
951
957
956
956
956
956
964
974
970
973
978
977
978
981
983
983
982
981
977
975
977
978
980
988
984
984
984
991
992
992
992
993
995
997
1000
1002
1007
1006
993
991
992
992
993
991
992
992
986
992
991
991
991
987
983
953
950
945
942
928
924
926
910
889
873
858
864
863
843
841
835
809
805
812
813
813
811
812
813
813
814
815
817
817
815
813
809
812
812
809
808
810
811
812
814
814
815
816
817
817
817
817
817
817
818
822
827
824
812
809
809
811
816
823
824
825
820
815
804
781
774
765
755
739
736
738
740
740
744
749
754
752
756
760
766
771
771
773
777
781
783
785
789
792
790
785
783
780
774
768
760
758
756
753
753
748
741
737
736
735
735
731
728
727
726
723
720
715
712
709
708
707
707
708
711
716
720
720
720
718
713
711
712
711
714
713
717
716
711
716
714
709
706
703
698
694
692
689
680
680
674
672
656
656
657
657
657
657
657
657
657
657
659
661
662
663
665
667
670
674
681
689
692
697
702
705
709
713
717
721
724
726
729
732
736
742
745
747
748
754
758
761
761
759
754
751
749
734
739
740
738
736
736
736
737
738
739
744
745
747
747
747
747
747
749
752
754
756
760
764
767
770
772
773
774
774
775
775
773
763
761
754
754
740
728
726
726
726
726
726
726
726
726
728
731
735
740
744
746
747
746
750
756
756
753
752
752
752
752
754
759
760
762
769
773
775
776
776
774
774
772
772
771
760
747
743
730
726
722
721
705
697
687
678
678
683
688
689
688
686
685
686
676
676
674
678
680
674
670
673
657
651
655
652
651
650
649
649
649
648
647
647
644
642
641
640
639
638
639
639
640
638
633
632
637
630
617
605
601
600
600
600
601
605
613
613
609
610
610
610
610
611
614
623
626
627
620
622
624
630
632
633
633
632
633
643
644
650
655
660
665
665
663
662
662
662
668
668
667
667
667
668
669
671
676
681
685
691
697
699
705
710
714
716
716
716
715
713
712
717
722
729
739
742
745
751
760
761
760
760
760
763
767
767
771
778
779
781
783
785
789
794
797
799
803
807
814
816
817
817
817
819
820
822
825
823
823
822
822
822
822
822
822
822
822
822
822
822
822
822
823
825
824
824
824
823
822
822
822
821
819
819
820
820
820
820
820
820
820
822
814
814
811
810
809
817
822
824
827
828
831
833
836
839
842
844
846
848
850
849
848
848
848
848
849
849
849
849
849
849
850
850
850
849
849
849
848
848
846
844
842
840
839
838
837
837
837
838
838
838
839
841
844
846
847
849
850
849
849
848
848
848
848
848
848
848
848
849
850
852
854
847
843
843
843
840
842
840
835
818
808
813
810
810
810
805
800
798
799
805
802
800
798
793
791
791
791
790
795
796
796
796
796
796
796
796
796
796
796
796
797
796
796
796
794
797
802
802
795
788
786
786
786
787
787
785
784
783
774
773
771
770
770
770
770
769
769
768
767
768
768
769
770
769
769
768
767
766
766
767
770
770
766
763
763
763
763
764
764
767
766
766
764
764
763
763
763
763
763
763
763
765
768
768
768
767
762
760
763
765
766
765
769
765
770
768
768
767
769
769
767
762
759
758
757
757
757
757
755
753
749
751
752
754
755
755
755
755
755
754
753
748
741
737
739
740
742
747
751
753
752
752
750
747
746
746
746
746
746
746
747
749
749
752
752
749
747
739
732
731
734
735
737
727
726
712
708
708
708
710
710
711
712
713
713
712
711
710
710
710
710
710
710
710
710
710
710
710
710
710
711
712
712
712
713
714
716
715
715
715
712
710
709
713
716
720
717
717
717
717
717
717
717
717
713
710
706
705
699
698
698
700
703
704
705
708
711
716
724
731
734
738
741
741
743
744
745
745
747
749
751
751
755
762
767
770
772
775
776
775
770
762
760
769
774
774
776
776
768
763
762
758
761
761
761
761
758
759
759
759
760
760
760
760
751
752
756
759
760
762
769
776
776
776
772
775
778
785
788
791
798
757
741
684
681
675
674
672
671
668
650
641
628
642
637
614
619
624
629
600
613
586
588
590
591
588
587
586
586
585
584
584
580
579
575
561
561
556
531
525
517
510
504
499
495
488
479
479
479
479
479
479
480
481
482
484
499
498
496
502
497
487
484
484
482
481
481
480
475
472
469
469
466
466
465
465
465
464
464
464
464
463
463
463
463
463
463
463
463
463
463
463
463
464
464
465
465
465
465
467
466
471
481
486
488
492
492
492
492
492
492
492
492
492
495
495
497
497
497
498
498
500
502
503
507
512
516
522
527
530
531
532
533
537
540
543
544
544
547
551
555
558
558
561
566
576
581
581
581
581
582
583
586
587
591
599
605
606
608
609
612
615
619
623
630
634
637
637
643
651
658
664
668
670
674
677
678
679
679
680
681
682
682
682
682
683
683
667
659
655
651
650
651
650
650
649
652
652
650
649
649
649
649
649
649
650
652
655
655
654
652
652
652
650
650
650
650
649
648
647
645
640
638
638
638
638
635
635
635
635
634
633
632
632
632
632
632
630
625
625
628
634
639
642
646
644
642
643
645
649
654
657
661
665
666
667
669
668
667
666
665
663
662
660
660
660
660
655
655
656
659
663
666
669
673
676
680
682
683
683
683
683
682
680
680
680
685
686
687
684
684
683
682
684
685
685
683
683
683
682
682
682
681
674
670
661
645
643
639
635
630
622
617
614
612
611
605
605
599
596
600
601
591
587
587
589
589
590
596
600
605
606
609
613
613
613
613
614
614
617
620
622
624
628
631
634
635
635
637
637
638
639
638
629
612
604
594
582
576
574
573
564
562
555
551
550
550
546
542
540
539
539
538
538
540
541
536
533
533
536
537
539
529
520
519
519
515
514
516
518
523
523
523
523
523
514
516
519
511
525
512
512
518
497
498
502
510
523
511
514
528
533
524
524
529
533
526
526
538
543
552
555
581
591
611
609
614
630
639
658
660
647
642
612
617
603
605
576
573
560
561
561
562
566
573
569
593
589
593
598
601
608
612
619
625
625
625
630
632
629
628
629
632
634
637
640
655
654
651
637
637
636
623
617
610
600
586
569
562
550
547
538
529
523
520
521
521
516
516
515
513
512
509
509
507
509
501
492
492
492
494
497
499
508
521
526
531
534
541
541
546
549
549
548
548
548
546
540
539
529
527
528
529
527
520
513
497
492
492
493
496
499
502
505
506
504
502
500
497
496
496
497
495
494
494
493
488
488
487
487
485
485
483
487
487
486
489
492
493
499
505
518
515
509
504
500
499
496
492
486
481
479
479
480
483
456
448
440
436
424
417
411
410
410
416
421
426
426
430
435
436
437
438
443
447
449
455
464
464
465
469
472
476
481
481
483
483
470
457
460
461
468
469
465
459
454
445
444
451
456
464
470
474
466
451
445
440
434
422
413
411
406
403
402
403
404
401
398
398
398
406
418
421
422
423
421
420
414
414
408
402
403
403
404
403
378
367
361
360
359
358
359
364
372
375
377
378
375
366
365
364
363
362
357
342
338
338
337
334
340
340
340
347
338
336
336
335
331
332
332
332
333
335
338
336
342
341
341
341
342
341
339
326
317
307
303
307
308
309
317
318
320
326
351
359
359
358
351
350
351
348
349
350
347
334
318
303
290
290
288
281
278
280
281
273
275
288
287
305
310
312
331
335
336
338
346
352
346
342
340
343
348
353
354
354
366
370
375
377
376
375
379
375
373
363
357
336
324
308
305
300
297
297
290
290
295
291
288
287
287
292
293
293
295
298
299
299
298
299
299
300
307
308
308
308
291
289
288
286
283
280
277
278
292
296
300
304
305
310
325
328
332
333
334
332
328
328
330
328
322
299
285
266
269
266
256
237
227
223
222
220
219
217
214
212
209
202
188
183
172
172
170
169
169
169
169
182
186
192
196
199
196
195
191
188
160
159
156
152
143
140
135
134
133
133
130
127
121
120
117
116
116
116
117
117
118
119
129
129
128
116
115
115
115
115
115
115
114
114
114
115
115
113
114
115
114
113
113
113
113
113
113
113