233
232
232
232
232
232
232
231
231
231
231
230
229
229
229
229
229
229
229
228
228
228
228
228
227
227
227
227
226
226
226
226
226
225
225
225
225
223
223
222
222
222
223
223
223
223
223
223
223
224
224
224
224
224
224
224
226
229
229
230
230
230
230
229
229
228
228
228
228
229
229
230
230
231
233
234
234
234
235
235
235
235
235
236
237
237
237
237
237
237
237
236
236
236
238
238
239
239
241
241
241
241
241
241
240
239
238
238
237
237
237
236
236
236
236
236
237
236
234
232
230
230
230
230
230
230
230
231
231
232
232
232
232
230
230
230
230
230
230
230
230
230
230
230
230
230
229
229
229
229
228
228
228
228
229
229
229
230
231
231
231
233
235
235
235
235
235
235
236
236
236
237
237
238
237
237
237
237
237
237
237
237
237
237
237
237
237
238
238
239
239
239
242
247
248
249
249
251
251
251
251
251
251
251
252
252
252
253
253
253
253
253
253
253
253
254
254
254
255
256
257
257
257
257
258
258
258
259
260
261
261
261
262
264
264
266
266
266
266
267
267
268
268
268
268
268
269
269
269
272
272
272
273
273
273
274
275
275
275
275
275
274
272
271
271
271
271
271
271
272
272
272
272
272
273
273
273
273
274
274
274
274
274
275
275
276
276
276
276
277
277
277
277
277
277
279
279
279
281
281
281
282
283
283
284
284
285
285
288
288
289
290
291
292
292
293
293
293
294
294
295
295
295
298
298
299
302
304
304
304
304
305
305
306
307
308
309
309
309
310
312
313
313
315
315
316
317
317
317
317
318
318
318
318
318
318
318
319
320
321
321
322
325
327
330
330
331
331
333
334
335
336
336
337
337
337
338
339
339
339
339
339
339
339
339
339
340
342
343
343
343
344
346
348
349
349
350
350
351
351
352
354
354
354
356
360
365
365
369
370
372
372
372
373
373
373
374
374
374
374
375
375
377
377
379
379
387
393
394
395
395
396
396
396
396
396
397
397
397
398
398
398
398
398
398
398
398
398
399
399
399
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
406
422
428
432
439
442
437
434
422
421
410
414
417
417
417
421
421
421
421
421
421
421
422
423
424
425
430
433
439
440
440
445
447
448
450
453
458
459
460
461
462
463
463
463
464
465
469
471
476
486
489
492
493
494
494
500
512
514
514
518
523
537
543
548
546
544
544
543
543
542
540
539
537
538
539
540
540
545
549
550
551
552
552
553
553
554
555
554
553
552
552
551
550
551
555
562
565
567
569
571
572
573
576
578
579
579
584
586
588
589
593
593
593
593
594
594
595
597
599
609
613
616
619
621
622
632
653
657
658
659
669
678
683
686
691
692
693
694
695
695
695
695
698
699
700
706
710
713
714
715
716
717
718
718
720
722
725
727
730
733
733
734
738
739
740
740
741
741
742
744
745
750
752
753
755
756
758
758
758
758
758
757
757
756
755
754
754
753
753
755
756
757
757
763
765
768
772
773
774
775
776
779
783
786
793
795
800
802
803
803
801
799
798
795
794
791
789
788
787
785
784
784
784
784
789
804
807
810
812
814
815
816
818
820
824
825
826
827
827
826
823
818
816
814
813
813
813
813
813
813
815
816
818
819
820
822
823
827
828
828
827
826
824
823
820
817
811
807
804
804
805
806
807
809
810
811
813
816
817
819
820
824
825
826
824
823
821
820
818
818
817
814
815
816
818
819
820
821
827
829
830
834
843
846
847
849
862
864
864
865
865
866
866
869
870
871
872
880
883
886
889
888
887
886
885
884
884
884
885
888
889
889
890
890
891
891
890
887
879
877
875
874
873
874
875
878
882
883
884
884
884
884
884
884
884
885
888
890
892
894
900
900
900
900
898
898
895
893
889
890
891
896
897
899
900
901
901
902
904
905
905
906
906
906
906
906
906
906
905
905
905
907
908
911
913
915
916
917
917
918
918
919
919
919
919
919
919
919
919
920
920
920
920
920
920
920
920
939
944
946
947
949
952
953
952
945
943
942
940
939
936
935
935
934
934
932
931
931
930
930
931
931
932
940
940
940
940
940
939
938
938
937
938
939
940
940
940
940
940
940
940
940
941
942
944
946
948
951
952
953
956
957
958
958
958
958
958
958
959
967
970
975
977
981
984
990
992
992
992
992
997
1002
1005
1006
1006
1006
1006
1006
1008
1010
1011
1013
1017
1017
1016
1010
1002
1001
1000
1000
1000
999
999
998
998
998
1000
1001
1001
1001
1000
1000
1001
1003
1005
1005
1005
1006
1007
1009
1011
1015
1017
1020
1025
1026
1027
1028
1030
1032
1032
1035
1036
1038
1035
1033
1032
1029
1025
1025
1024
1024
1023
1023
1023
1025
1040
1056
1074
1074
1076
1078
1075
1073
1069
1065
1061
1055
1055
1056
1060
1060
1079
1080
1080
1080
1080
1080
1080
1080
1082
1083
1084
1087
1092
1094
1092
1091
1091
1089
1086
1082
1080
1080
1079
1073
1059
1055
1052
1048
1045
1036
1034
1027
1020
1014
1014
1014
1013
1013
1013
1012
1011
1008
1008
1008
1010
1013
1013
1014
1013
1012
1011
1010
1007
1005
1004
1004
1004
1009
1010
1012
1013
1013
1013
1014
1014
1011
1009
1004
998
993
990
986
984
978
978
973
969
966
964
964
962
961
959
954
953
950
946
941
939
939
938
936
934
935
936
935
933
931
930
928
928
927
926
926
926
926
926
926
926
926
926
926
926
926
926
926
924
924
922
921
921
921
921
921
921
921
921
921
920
920
919
919
918
916
916
914
912
910
910
908
907
906
906
903
901
900
899
898
898
897
896
895
894
893
892
891
889
889
888
887
886
886
886
884
884
883
883
882
881
881
879
878
875
874
878
880
878
868
868
868
868
866
862
860
858
858
858
857
857
856
855
854
852
848
846
841
823
817
812
817
825
829
826
824
823
819
787
785
780
780
779
778
778
777
777
777
777
777
777
777
777
777
777
777
776
777
777
778
779
779
781
781
779
777
776
770
757
754
754
755
755
756
756
757
760
769
774
774
774
775
775
775
775
771
765
759
748
748
748
747
749
747
749
750
746
739
739
738
738
738
737
737
737
737
738
740
744
744
739
737
738
740
743
744
744
741
738
734
735
735
736
737
740
745
744
739
735
734
733
733
734
735
740
742
737
733
729
728
730
737
738
738
738
743
745
743
739
735
731
728
726
725
727
728
730
732
732
731
731
726
723
725
728
729
732
737
739
742
743
744
743
741
741
736
730
727
721
717
717
717
718
720
721
721
721
721
721
718
715
715
713
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
712
716
717
719
720
721
723
725
726
729
737
740
745
749
747
746
746
746
746
744
744
743
743
742
742
742
741
734
731
727
722
722
722
722
718
716
714
712
709
703
699
699
699
700
701
701
701
701
702
703
705
706
706
706
705
701
700
700
696
692
688
681
681
680
680
680
679
679
678
678
678
678
678
678
678
678
678
678
678
678
678
678
678
677
674
674
675
676
676
676
676
676
676
676
676
679
680
682
688
691
692
692
693
694
695
700
702
703
702
702
702
702
701
700
699
697
697
697
697
697
696
695
692
689
689
687
685
684
682
680
679
679
678
678
678
678
678
678
678
678
678
678
678
678
678
677
677
676
676
675
674
674
673
673
673
674
674
674
674
674
674
674
674
674
674
676
677
677
677
677
677
676
676
678
678
678
679
679
682
684
684
684
683
683
683
682
682
682
681
677
677
676
676
675
675
675
675
675
675
676
677
677
677
678
678
678
678
678
678
678
679
679
679
679
679
679
679
679
679
679
680
681
683
681
680
680
679
679
679
680
680
680
680
680
680
680
680
681
680
673
672
672
672
672
672
672
672
673
674
674
676
678
679
682
684
686
692
694
696
700
707
718
720
724
727
728
728
729
728
728
727
726
725
719
715
714
713
713
713
713
713
713
711
710
709
709
708
708
708
708
708
706
705
704
705
709
708
697
687
674
670
670
670
670
670
670
670
670
670
670
670
670
669
669
668
668
668
668
668
668
668
668
668
668
667
667
668
668
668
668
667
667
667
667
667
667
668
668
668
667
667
667
667
667
668
668
672
680
685
687
687
687
677
660
660
660
660
660
660
660
660
660
660
660
659
659
659
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
658
659
659
659
659
659
660
662
662
663
665
665
667
669
669
669
669
669
669
668
665
664
663
656
656
656
656
656
656
656
656
656
656
657
658
658
658
658
658
658
658
658
658
658
658
658
658
659
659
659
659
659
659
659
659
659
665
672
673
673
673
673
668
661
661
663
663
663
664
665
665
669
669
671
671
671
671
672
673
673
673
673
673
673
673
671
671
670
670
669
669
668
668
668
668
667
667
667
666
666
666
665
665
664
664
664
663
662
658
657
655
655
654
654
653
653
654
657
659
661
662
663
664
664
665
665
665
660
661
661
661
660
658
655
653
653
653
656
657
658
658
658
658
659
659
659
659
659
659
658
658
657
657
656
656
656
655
654
654
654
654
654
654
654
654
654
655
655
656
656
656
657
657
657
657
657
657
658
661
663
665
664
662
661
659
657
656
656
656
656
655
655
655
655
655
655
655
655
655
655
655
656
656
656
656
659
662
662
661
661
660
659
658
658
658
657
657
657
657
657
657
657
657
657
657
657
657
658
659
659
659
675
679
681
685
688
692
693
694
694
693
687
684
681
681
680
679
676
664
658
660
660
674
691
677
665
681
686
687
668
658
656
652
649
648
647
647
647
647
647
647
647
648
650
649
649
649
648
647
647
647
647
647
646
646
645
645
645
644
644
643
643
643
643
643
643
643
643
643
643
643
643
643
644
644
645
646
646
647
648
649
650
650
650
649
649
649
649
649
649
649
649
648
648
648
648
648
648
647
647
647
647
647
645
644
642
641
641
642
642
642
643
643
643
643
643
643
643
644
644
649
649
645
639
639
639
639
639
639
639
639
639
639
640
640
640
640
640
640
641
642
641
641
641
641
641
640
640
640
639
638
638
637
636
636
636
636
636
637
638
638
638
638
638
638
638
638
639
639
639
639
642
643
643
644
645
652
655
658
674
668
668
660
647
646
646
641
637
635
635
635
635
637
639
642
644
646
646
641
640
640
641
644
648
647
652
655
657
662
665
667
667
669
672
676
678
686
686
683
679
675
668
664
661
660
660
660
660
660
660
660
660
663
664
663
661
660
661
663
664
667
666
662
660
661
661
663
666
668
671
673
675
676
678
679
679
679
680
680
680
680
680
680
680
680
680
680
680
680
680
680
680
680
680
680
680
681
683
685
687
683
680
677
675
673
672
671
667
665
664
663
662
660
659
658
657
657
659
662
664
665
667
669
669
667
664
662
660
657
646
641
639
636
630
626
622
622
622
623
623
624
625
628
630
630
627
626
624
622
621
621
621
622
622
622
623
623
623
624
624
625
628
628
626
628
630
631
631
631
632
632
635
637
644
654
658
671
678
685
690
692
693
694
695
697
698
698
699
699
699
700
701
702
700
694
692
685
684
682
693
699
701
703
706
713
717
720
728
728
729
730
731
731
731
730
730
730
744
747
752
755
758
759
760
761
761
761
761
762
762
762
762
762
762
762
762
764
772
773
770
770
762
762
763
764
764
765
765
766
766
766
767
767
766
765
763
762
761
759
759
757
756
752
751
750
747
739
734
730
717
716
714
713
711
710
709
708
708
709
712
712
713
714
713
710
705
703
700
699
697
695
693
696
698
699
701
697
670
643
644
647
649
651
651
649
646
638
637
637
637
638
638
638
638
638
639
633
632
630
630
629
628
627
625
620
619
617
614
613
611
609
607
607
609
609
609
609
609
609
609
609
609
609
610
611
611
612
613
614
617
619
622
627
638
645
652
654
655
659
663
664
663
656
650
652
655
659
671
673
676
681
681
681
681
681
681
680
679
678
678
677
677
680
685
686
687
687
689
690
696
698
699
700
702
705
704
702
702
706
708
714
715
720
726
731
737
738
739
740
741
741
741
742
744
746
748
750
752
757
755
754
754
754
755
755
756
757
757
758
758
758
759
759
759
760
761
763
767
768
769
774
775
777
779
782
783
784
785
786
786
786
786
787
789
790
791
791
791
790
790
782
784
785
787
789
793
792
790
792
793
795
797
797
798
800
799
798
797
794
792
791
789
788
787
786
785
785
784
783
783
782
782
782
782
782
782
782
781
779
774
768
766
762
761
760
758
757
755
754
753
752
750
749
747
744
742
741
740
738
737
736
736
738
737
736
735
734
734
731
731
730
728
722
721
721
720
720
719
718
717
717
715
714
713
712
710
711
712
713
713
714
716
717
717
718
720
720
719
719
715
714
713
711
710
710
710
710
710
707
702
702
701
700
699
698
698
698
697
697
697
698
698
699
699
699
699
699
698
698
698
698
698
698
699
700
701
703
703
703
703
703
703
703
702
701
690
690
690
690
690
689
689
689
687
686
686
685
682
681
680
680
680
680
680
680
680
680
679
677
675
673
666
665
662
661
660
660
660
660
660
660
660
660
660
660
660
660
661
661
662
663
664
665
665
665
665
665
666
666
667
667
667
668
668
666
664
663
661
660
660
660
660
661
662
664
665
669
670
671
673
675
677
677
678
678
680
680
680
680
680
680
680
680
677
676
675
675
675
676
677
677
677
677
677
677
677
676
676
676
673
671
668
668
668
667
667
666
666
666
663
662
660
659
658
658
655
652
649
647
646
644
644
644
643
642
641
640
637
636
635
634
630
625
623
620
620
620
620
620
620
620
620
620
619
619
619
619
608
603
600
600
600
600
600
599
599
598
595
594
594
593
593
592
592
591
590
590
589
588
588
583
584
584
585
587
590
590
589
588
584
581
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
581
582
584
587
594
595
597
598
603
607
609
614
616
618
620
620
620
620
620
620
620
620
620
620
621
623
628
632
634
635
637
637
638
638
639
640
640
641
642
642
644
644
644
645
645
645
645
644
642
641
640
639
638
638
638
638
637
631
628
625
623
619
615
614
614
614
614
614
614
614
612
610
608
606
606
605
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
603
600
596
588
587
586
586
585
585
585
585
585
587
590
591
591
593
593
591
591
589
587
585
585
590
593
593
592
591
588
583
581
581
581
581
581
581
581
581
581
582
582
580
580
579
579
576
576
575
569
564
558
555
553
552
551
551
549
549
545
543
542
539
536
529
525
524
523
522
519
518
516
511
501
500
499
498
498