551
550
549
549
549
549
549
548
547
547
546
546
545
545
543
540
539
537
536
534
531
529
529
529
529
529
529
529
529
529
529
529
532
535
537
535
534
533
532
531
528
526
524
522
521
521
519
518
517
512
511
506
505
504
504
503
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
501
501
502
504
504
504
504
504
504
504
503
502
501
501
500
499
499
499
499
501
503
505
506
506
506
506
506
506
506
506
505
505
504
504
504
503
502
501
502
507
511
512
512
511
510
507
503
503
503
506
509
511
510
509
509
509
509
509
509
508
508
508
507
507
507
507
506
505
505
505
505
504
504
504
504
504
504
505
505
505
505
505
505
505
505
505
506
506
507
507
508
508
508
508
508
508
508
508
508
509
509
509
509
509
509
510
510
509
509
509
509
509
510
512
512
512
513
513
513
513
513
513
514
514
514
514
514
516
516
516
516
516
517
517
518
518
518
518
519
519
519
519
521
523
524
525
529
535
535
534
534
533
532
531
530
529
537
539
540
541
543
545
548
548
547
547
545
545
545
546
547
547
548
549
550
551
551
552
552
553
554
554
554
555
556
557
558
558
558
559
559
559
560
560
560
560
561
561
561
561
562
562
563
563
563
564
564
564
564
564
563
563
563
563
563
563
562
562
561
561
561
561
561
561
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
562
563
563
564
564
565
565
566
567
568
569
569
569
569
568
571
573
572
571
571
570
568
568
568
568
568
568
568
568
568
568
568
569
570
570
570
571
571
571
572
573
573
573
574
574
573
573
573
573
572
572
572
571
570
569
565
565
561
560
560
559
559
559
559
559
559
559
559
559
559
558
558
558
558
558
558
563
564
566
566
567
572
573
574
574
582
586
587
588
590
591
592
591
592
593
594
596
599
600
602
604
607
608
608
608
609
609
609
609
609
609
609
609
609
610
611
614
622
621
620
620
620
620
623
628
628
629
629
629
629
629
629
630
632
636
641
642
642
642
643
643
643
644
645
645
646
646
646
648
649
650
650
651
652
653
653
654
654
654
655
655
655
655
659
660
661
662
663
664
664
664
664
664
664
664
664
664
664
665
665
666
668
669
670
671
672
672
673
676
677
678
679
680
682
682
682
681
680
680
682
683
684
684
686
688
688
688
691
692
693
694
694
695
695
696
696
696
696
696
696
696
696
697
705
711
712
719
727
728
731
730
729
729
728
726
724
721
720
719
719
722
722
723
724
725
726
726
725
722
722
720
719
719
719
719
720
721
723
724
724
725
725
726
727
728
728
729
732
734
735
733
733
732
727
725
724
723
721
718
717
716
713
709
705
705
706
706
707
708
710
710
711
711
711
711
711
711
711
711
713
714
717
720
720
721
721
721
721
720
720
719
719
719
719
721
723
725
727
728
728
730
730
730
731
732
734
735
735
736
737
737
737
737
738
738
738
739
739
739
740
740
741
741
741
741
739
736
734
734
733
731
729
728
726
723
722
720
718
715
716
717
720
722
722
723
724
725
725
725
725
725
725
724
724
722
720
715
714
714
714
715
716
718
721
723
727
729
730
731
732
733
734
735
735
736
737
737
737
737
736
736
736
735
734
734
734
734
734
734
734
735
738
738
738
738
737
736
733
732
732
732
732
732
732
733
735
737
739
740
740
735
735
735
735
734
733
733
733
733
732
730
729
729
728
728
727
726
724
723
721
720
718
717
710
709
708
708
707
707
706
705
705
702
702
701
700
701
703
704
705
706
707
709
710
710
713
714
717
718
718
723
724
725
725
725
725
725
728
728
728
728
729
729
729
729
730
730
730
731
731
730
732
733
736
738
739
746
746
747
748
750
751
751
752
752
752
752
752
751
751
751
751
751
751
751
751
751
750
750
750
750
750
750
750
750
750
750
750
750
750
750
750
750
752
753
754
757
757
758
758
759
760
765
766
768
769
775
775
775
775
775
775
775
775
775
775
776
776
776
776
776
775
775
775
781
783
785
789
794
798
798
799
800
800
800
800
800
800
800
800
800
800
800
801
801
802
802
807
809
819
820
821
822
822
822
822
822
822
822
822
822
822
822
822
822
825
825
826
826
827
827
828
829
837
839
842
842
842
843
843
845
845
846
850
851
853
856
856
858
858
858
858
858
858
858
858
860
861
862
863
867
868
869
870
871
872
873
873
873
874
874
874
876
878
880
884
885
886
887
890
892
893
896
897
899
899
899
899
899
899
899
899
899
899
899
899
899
899
899
899
899
899
899
899
899
899
899
899
899
899
899
899
899
899
899
899
899
899
899
899
899
899
899
899
899
899
899
900
900
900
900
900
900
900
900
900
900
900
901
903
904
905
906
909
912
917
917
921
922
924
926
927
928
929
930
931
932
933
935
935
949
953
954
957
958
959
970
970
972
973
973
973
973
973
973
973
973
973
973
973
973
972
970
967
965
963
959
958
956
958
959
959
960
962
962
965
965
966
967
968
969
970
971
973
979
983
985
988
993
995
997
998
1001
1009
1011
1012
1013
1013
1014
1018
1019
1021
1025
1027
1029
1029
1031
1034
1035
1036
1036
1036
1036
1037
1037
1038
1039
1039
1040
1040
1040
1040
1039
1044
1045
1046
1047
1048
1049
1050
1052
1054
1059
1064
1065
1068
1070
1070
1071
1072
1075
1076
1077
1077
1078
1078
1079
1080
1081
1084
1089
1090
1094
1096
1097
1103
1105
1106
1107
1107
1107
1108
1109
1110
1110
1112
1113
1115
1115
1116
1116
1119
1122
1125
1128
1134
1134
1141
1148
1156
1156
1156
1156
1156
1156
1156
1156
1156
1156
1156
1156
1155
1152
1149
1147
1146
1144
1142
1141
1142
1144
1147
1149
1150
1153
1154
1155
1156
1155
1153
1151
1150
1149
1148
1146
1144
1144
1143
1142
1141
1139
1139
1139
1138
1138
1138
1138
1138
1138
1138
1137
1134
1133
1131
1130
1129
1127
1127
1122
1117
1110
1106
1104
1103
1102
1100
1099
1097
1097
1097
1095
1091
1090
1088
1086
1085
1084
1074
1075
1076
1079
1077
1066
1061
1061
1061
1062
1062
1062
1062
1062
1059
1056
1053
1051
1026
1019
1012
1003
1000
997
992
991
989
988
987
986
985
983
982
978
974
966
964
963
959
959
959
959
959
959
959
959
959
955
954
953
952
949
947
942
927
923
902
896
892
841
836
823
811
795
795
794
794
791
787
783
773
755
754
752
750
744
735
727
727
715
712
704
682
676
675
673
665
663
663
662
660
660
658
657
654
652
651
647
638
637
634
633
632
630
628
621
621
620
620
614
611
611
615
619
623
620
617
614
612
608
600
600
600
601
601
601
602
603
607
608
607
606
604
603
602
600
597
595
593
590
590
590
589
589
589
589
589
589
589
590
590
592
587
585
582
581
580
579
574
573
572
572
571
570
569
567
567
567
566
566
566
565
564
563
558
557
553
551
549
547
546
545
542
541
539
536
536
536
536
536
536
535
534
533
530
523
521
520
520
520
520
520
520
520
520
520
520
520
520
524
534
536
538
546
546
546
545
545
545
546
547
547
549
549
551
551
549
549
548
547
546
546
543
542
538
528
523
516
509
506
503
498
498
496
494
492
486
484
483
481
482
486
491
497
503
505
505
504
502
501
500
489
489
471
467
464
456
454
448
443
440
429
429
432
434
435
437
440
440
440
442
444
449
450
451
451
451
450
450
449
449
449
450
451
452
452
453
454
455
455
456
457
458
458
458
458
457
457
456
456
455
455
454
454
453
453
453
453
453
453
453
452
451
451
450
449
449
447
444
443
442
442
442
442
441
441
441
441
441
441
441
440
440
440
440
440
440
439
439
438
438
437
436
434
430
428
425
422
419
415
414
414
413
411
407
406
403
402
401
395
394
389
383
380
378
376
374
370
370
370
370
370
370
370
370
370
370
370
370
369
369
369
369
369
369
369
369
369
369
369
368
366
366
366
365
365
365
365
365
365
364
364
364
363
363
363
363
363
364
365
366
368
369
369
368
368
367
367
367
366
366
366
366
366
366
363
363
362
361
361
361
362
362
362
362
362
365
366
370
370
369
368
365
365
367
368
370
360
357
358
358
359
360
362
362
364
364
368
368
369
370
370
371
373
374
375
376
376
371
361
355
355
356
356
358
361
360
358
357
357
355
367
366
359
355
354
357
357
351
347
344
344
344
344
346
347
348
349
349
350
351
352
352
352
352
352
351
351
350
342
341
339
338
338
342
344
345
347
348
350
350
350
349
348
348
348
349
349
349
351
351
351
352
352
352
352
352
352
352
352
353
353
352
352
352
352
351
351
351
349
348
348
347
344
344
344
344
344
346
346
345
345
343
342
342
341
341
341
341
341
342
342
343
343
343
344
344
344
345
346
346
346
347
347
348
349
351
351
353
354
356
357
360
366
368
371
375
378
376
375
375
374
374
375
375
375
375
377
378
380
382
386
383
381
379
376
375
373
372
372
373
373
374
374
376
377
380
379
379
379
379
378
378
377
376
376
375
374
373
371
370
369
375
377
377
378
380
381
381
381
381
382
382
382
382
383
383
383
385
386
387
389
390
393
394
396
398
399
400
400
402
408
410
412
413
414
414
416
415
414
413
413
410
410
409
408
406
405
403
402
401
398
397
393
390
389
388
388
387
384
382
380
365
355
346
339
331
326
329
332
333
334
333
332
331
329
329
328
328
328
328
328
328
328
328
329
330
330
330
330
330
330
337
342
344
345
346
347
348
348
348
349
353
356
356
356
357
358
357
356
356
356
356
356
361
361
361
358
356
355
354
354
353
353
351
351
350
349
350
349
346
345
344
341
340
338
337
334
334
333
332
331
330
330
329
327
327
326
326
325
325
325
325
325
326
327
318
313
301
295
286
286
287
288
290
291
292
293
294
296
296
295
294
293
292
286
286
285
283
283
281
277
274
274
273
271
269
268
268
268
268
268
268
268
268
268
266
264
262
261
257
255
251
250
250
249
249
248
248
248
249
249
251
252
253
253
253
252
251
249
249
248
248
248
247
247
246
246
246
246
245
243
243
242
242
241
240
239
238
238
238
238
238
238
238
238
238
237
237
237
236
235
235
234
234
233
233
232
232
231
228
227
219
216
216
216
216
217
217
217
217
216
214
213
212
211
210
209
209
209
209
209
209
208
207
206
206
205
204
203
203
203
203
203
203
203
203
203
203
203
202
201
201
201
200
200
200
200
201
202
203
204
205
206
206
206
206
206
207
209
209
209
210
210
211
212
212
213
214
215
218
219
221
222
223
223
224
225
225
228
229
232
236
238
240
244
248
255
260
263
265
267
269
273
280
283
286
290
292
297
299
300
301
301
305
308
311
313
317
319
326
330
331
332
333
334
336
337
339
342
347
350
353
358
366
367
379
380
382
383
386
387
388
394
398
400
403
412
418
419
421
422
425
426
428
429
430
430
431
431
429
427
428
429
431
432
434
441
446
450
462
465
466
473
475
481
484
487
491
494
496
498
500
504
508
510
512
514
515
517
522
525
527
535
540
541
542
548
552
559
561
561
565
570
574
576
580
588
590
593
597
598
599
600
601
607
609
611
615
619
620
622
624
628
629
632
635
638
640
645
659
660
664
665
666
669
673
675
677
677
677
678
678
679
679
679
679
679
679
679
681
686
687
687
688
689
690
692
693
693
693
693
693
693
693
694
704
705
707
709
710
710
719
723
723
724
724
726
734
734
735
736
739
740
741
745
747
754
755
757
757
760
762
764
775
779
782
784
785
787
787
789
792
793
794
795
796
797
799
816
817
820
823
825
828
830
832
838
839
840
847
851
857
858
864
866
871
872
873
874
876
881
883
886
890
892
893
898
902
907
909
913
915
917
918
923
925
927
928
930
932
935
937
939
940
943
949
950
950
956
957
961
963
963
965
969
993
999
1001
1002
1005
1009
1013
1014
1014
1016
1016
1017
1018
1018
1018
1019
1021
1024
1025
1027
1030
1033
1037
1038
1041
1042
1043
1043
1044
1044
1046
1047
1048
1049
1053
1054
1055
1056
1058
1063
1068
1073
1077
1081
1083
1085
1089
1093
1097
1099
1100
1101
1106
1110
1113
1114
1116
1120
1122
1124
1125
1126
1126
1127
1128
1129
1131
1131
1133
1135
1137
1138
1139
1140
1140
1141
1141
1142
1143
1143
1144
1145
1146
1148
1149
1150
1151
1151
1152
1152
1153
1154
1155
1155
1155
1154
1154
1152
1151
1151
1146
1143
1143
1142
1142
1140
1139
1138
1138
1136
1131
1128
1126
1123
1122
1121
1118
1116
1115
1112
1110
1110
1110
1108
1105
1104
1104
1104
1104
1104
1104
1104
1104
1104
1105
1105
1105
1105
1106
1106
1106
1107
1107
1108
1108
1108
1108
1108
1108
1108
1108
1108
1108
1108
1108
1107
1106
1104
1103
1102
1100
1099
1096
1091
1089
1087
1084
1080
1077
1076
1076
1076
1076
1076
1076
1075
1074
1073
1073
1072
1071
1071
1070
1068
1062
1059
1057
1053
1050
1047
1046
1045
1044
1043
1040
1038
1037
1035
1034
1032
1031
1030
1030
1030
1029
1027
1026
1025
1024
1023
1022
1022
1021
1013
1011
1006
1000
997
991
991
990
990
990
990
989
989
989
988
988
987
985
985
984
983
981
980
978
976
974
971
969
969
969
968
968
962
957
962
963
963
963
967
968
968
967
966
966
965
965
965
964
960
959
955
954
953
953
953
950
948
943
938
933
933
932
932
930
927
924
921
919
917
916
915
914
913
912
912
911
911
910
910
910
909
907
903
901
900
899
896
894
893
889
888
885
883
880
876
873
871
869
861
861
861
861
861
861
861
861
860
856
855
855
854
852
850
848
847
846
844
840
834
833
832
830
829
828
826
828
830
833
834
835
835
836
840
837
837
836
833
832
831
829
828
826
823
822
820
820
816
814
813
813
811
811
810
808
808
807
807
806
806
806
804
803
802
802
801
799
795
792
787
786
783
783
776
771
770
769
765
762
760
758
755
748
747
745
744
744
744
742
741
740
739
737
736
735
730
729
725
724
720
719
718
716
712
710
710
710
710
710
710
711
711
711
711
711
712
712
713
714
715
717
717
718
719
720
720
720
718
716
713
711
708
707
706
705
698
692
687
684
681
677
675
668
664
662
660
655
651
651
653
653
653
654
654
655
655
657
658
659
660
660
660
659
657
656
654
651
650
647
646
650
652
654
665
667
668
672
674
675
676
677
677
678
679
679
680
678
677
676
675
674
672
670
669
662
661
661
661
661
661
661
661
661
661
661
661
661
661
661
661
661
661
661
661
658
656
655
655
654
653
653
652
651
649
648
647
646
645
644
644
644
645
648
652
654
655
657
657
656
655
653
652
652
652
652
654
655
657
660
667
670
675
676
676
677
678
679
679
681
682
685
686
686
686
686
686
686
685
685
685
685
685
685
686
689
692
693
697
698
699
696
695
694
692
689
688
687
684
683
683
681
681
681
680
680
679
679
679
678
678
677
677
676
675
673
673
672
671
671
671
670
669
668
667
667
666
665
663
663
662
662
661
658
658
658
658
658
657
657
657
657
657
656
654
653
645
645
644
643
637
636
636
635
635
634
634
631
624
623
622
621
617
617
618
620
621
623
623
624
625
625
625
622
620
618
616
613
607
606
605
604
603
601
600
599
598
596
595
593
588
585
581
574
574
574
574
574
574
574
573
572
571
566
565
563
561
558
557
552
550
548
539
538
536
536
536
535
533
533
533
532
532
531
530
529
528
528
528
528
527
527
531
532
536
537
538
541
545
547
550
550
552
553
554
555
556
559
559
562
562
562
563
564
564
564
563
563
562
562
561
562
563
564
567
570
571
571
571
571
571
570
570
569
565
556
558
558
559
559
564
565
569
571
573
574
576
579
580
581
581
581
582
581
581
579
579
578
578
577
578
579
579
581
582
585
586
587
588
588
589
590
590
590
590
591
591
592
595
596
597
597
597
597
597
597
597
597
598
599
600
600
600
599
599
598
598
597
596
596
597
597
598
600
602
603
603
603
603
604
604
605
605
604
604
604
604
603
603
602
602
602
601
601
601
601
600
600
600
600
606
607
608
609
609
607
605
605
604
602
598
598
599
600
602
604
605
605
606
607
605
603
602
600
594
594
594
594
594
594
594
594
594
594
594
592
591
590
589
588
587
586
585
585
584
583
583
584
584
585
585
587
588
589
592
593
594
594
595
596
597
600
600
600
600
601
601
601
602
602
603
603
604
605
606
608
609
610
610
610
611
611
612
614
615
615
615
615
615
615
615
615
615
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
614
615
615
616
616
616
616
616
617
617
617
617
618
618
618
619
620
620
620
620
620
619
619
618
618
619
620
621
623
624
632
635
638
638
638
638
638
638
638
638
639
639
639
639
639
639
639
640
640
641
641
641
641
642
642
642
642
640
636
636
635
633
633
633
633
634
634
634
634
635
636
640
643
645
647
645
644
643
640
636
636
636
636
636
636
636
636
636
636
636
638
642
648
650
650
652
653
654
656
657
658
659
660
663
664
665
666
667
668
670
670
674
675
675
675
675
675
675
674
676
677
681
682
683
683
684
686
689
692
693
694
696
699
700
700
700
700
700
700
700
700
699
699
699
699
699
700
700
701
701
701
702
702
702
702
702
700
698
696
695
694
693
691
689
688
688
687
686
686
688
690
690
691
693
694
696
697
699
700
702
703
703
704
706
707
708
710
711
711
712
712
712
713
714
714
714
714
715
715
716
717
717
721
721
721
723
723
723
723
723
722
722
722
722
722
722
723
723
724
724
723
723
723
722
722
722
722
722
721
721
721
721
721
722
722
723
723
723
724
724
724
725
725
725
725
726
726
726
726
726
726
726
726
724
724
723
722
721
720
718
715
714
712
711
708
706
705
703
701
696
695
694
689
686
682
679
672
671
671
665
662
660
657
644
643
643
642
641
641
639
637
636
634
629
627
626
617
616
615
614
614
612
606
600
598
595
593
593
592
592
592
591
590
590
590
583
572
570
569
568
567
567
565
562
562
561
561
560
559
558
554
553
552
548
548
546
538
535
523
517
516
516
515
515
515
512
510
508
508
508
507
507
506
498
497
496
494
493
484
481
480
479
478
476
475
475
475
474
473
472
472
471
471
470
469
469
468
468
466
466
466
465
465
464
457
453
452
447
441
435
431
424
423
420
418
417
415
415
415
414
414
414
410
408
406
405
403
401
400
399
398
397
397
396
395
395
394
393
393
392
391
390
385
383
382
383
384
385
385
386
385
380
377
376
373
372
371
371
371
371
370
370
370
369
365
357
355
354
353
353
353
352
352
352
352
349
349
348
344
344
343
342
339
337
335
334
333
332
329
328
326
325
323
320
319
317
316
312
310
308
304
301
293
293
294
294
296
296
295
295
291
290
290
291
292
294
294
294
295
296
296
296
296
295
295
293
292
290
289
287
281
279
276
274
271
264
258
257
252
250
250
249
248
242
237
235
233
232
230
229
226
223
222
219
217
216
214
212
201
199
199
196
196
197
197
201
202
203
203
202
202
201
200
200
199
197
195
191
183
178
176
169
166
163
162
160
157
161
162
165
166
165
165
164
163
161
160
160
160
160
160
160
160
160
160
160
160
160
160
160
161
161
161
161
163
165
167
168
170
173
176
179
181
179
178
177
177
173
172
164
162
161
151
148
148
148
147
147
146
145
142
133
130
130
131
131
131
133
135
136
137
137
138
142
144
148
150
150
150
150
150
149
147
142
141
139
137
136
135
135
134
133
131
130
124
119
116
113
109
106
105
104
102
98
96
96
92
90
86
84
80
79
75
74
72
70
68
65
62
61
58
56
56
55
55
54
54
54
54
54
53
53
52
52
51
50
50
50
50
50
50
51
50
50
47
47
48
48
48
48
47
47
47
47
48
48
48
48
48
48
48
48
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
48
48
48
48
48
49
49
49
49
48
48
48
48
48
48
47
47
46
46
47
47
47
48
48
47
47
47
48
50
50
50
49
48
47
47
45
45
43
43
43
43
43
44
44
43
43
44
44
44
44
45
46
46
46
46
46
46
45
45
45
46
45
45
44
43
43
42
41
40
38
38
37
34
34
34
33
32
32
31
30
30
29
28
28
27
27
27
27
27
27
26
26
25
25
25
26
26
26
27
27
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
25
25
25
25
25
25
25
27
27
31
31
32
33
34
34
35
35
35
35
35
35
35
35
35
35
35
33
31
30
30
30
28
27
25
25
25
24
24
24
24
24
23
23
23
23
23
24
24
24
24
24
24
24
24
24
24
24
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
22
21
21
21
20
20
20
20
20
20
20
20
20
20
21
20
19
19
19
19
19
19
19
19
19
19
19
18
18
18
18
17
16
15
16
17
14
14
15
14
14
15
15
12
11
11
9
9
9
9
9
8
8
8
8
8
8
9
9
8
9
8
8
8
8
8
8
8
8
8
7
7
7
7
7
7
7
6
6
6
6
6
6
6
6
6
6
4
4
5
5
6
7
7
6
6
7
7
7
6
6
4
4
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
4
3
2
2
2
3
4
4
4
4
5
5
5
5
5
4
4
4
4
3
2
2
2
2
2
1
4
5
6
6
4
2
2
2
2
2
2
3
4
4
4
4
4
4
3
3
3
3
4
6
8
8
6
4
3
2
2
2
2
0
1
0
0
0
0
0
3
3
3
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
3
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0