158
158
159
159
158
158
158
159
160
160
160
161
161
165
163
163
163
163
164
164
161
160
160
160
160
160
160
160
158
158
158
158
157
157
157
157
157
156
156
155
155
156
159
159
159
159
158
158
158
157
157
157
159
158
156
156
156
156
155
155
157
157
160
160
160
160
157
156
156
156
156
156
156
155
155
154
154
153
153
153
154
156
157
159
159
159
160
160
159
159
156
156
155
153
153
151
147
147
147
148
148
150
153
155
155
155
156
157
156
154
155
155
155
155
155
158
157
157
158
158
158
158
156
156
156
156
156
157
160
162
164
166
168
169
170
170
170
170
170
170
169
169
168
165
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
160
160
160
160
159
159
158
158
158
158
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
160
160
160
161
161
161
161
160
160
160
160
160
160
160
160
160
160
160
161
164
165
165
169
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
169
167
166
165
165
166
167
168
169
170
170
170
170
170
170
170
170
170
170
170
170
170
169
168
166
165
165
165
165
167
168
169
170
170
170
170
170
170
170
170
173
175
175
176
178
180
180
180
180
180
180
179
176
169
168
164
162
167
172
173
174
177
179
180
180
180
179
179
179
179
180
180
180
179
179
178
177
180
180
180
180
180
180
180
180
180
180
180
180
180
181
186
187
192
191
188
188
187
187
188
188
191
193
194
192
190
189
189
189
189
189
190
192
196
199
200
200
200
200
200
200
201
203
204
205
206
207
208
208
209
209
209
209
209
209
208
208
208
208
208
208
207
207
207
207
207
207
207
207
209
212
216
223
225
226
226
229
234
235
235
235
235
236
236
237
238
238
240
241
244
245
245
245
245
244
245
247
251
253
257
259
262
268
274
276
279
285
288
289
290
292
293
295
297
300
305
306
311
316
320
327
334
336
335
334
335
341
345
347
351
370
378
395
403
410
414
414
415
417
424
437
452
455
487
517
519
522
523
525
527
529
531
533
537
540
542
544
546
550
552
555
557
567
572
577
580
581
582
583
590
600
603
605
607
609
612
617
617
617
617
617
618
618
618
618
618
617
616
615
616
617
617
618
619
619
620
620
620
620
620
620
620
620
622
624
626
629
631
633
636
640
642
649
652
656
661
663
665
669
671
672
675
678
682
683
686
688
689
688
687
687
687
687
689
692
694
695
699
703
706
703
703
703
703
703
703
703
710
717
725
729
734
734
733
726
724
725
738
735
734
746
747
748
749
750
770
779
783
804
811
813
809
803
789
784
773
772
773
776
777
778
780
782
784
784
784
784
785
793
795
796
796
797
797
798
800
802
804
805
805
804
804
803
803
801
803
810
813
815
822
828
834
838
841
844
845
845
847
847
847
848
848
849
850
853
856
858
861
869
876
889
892
896
901
901
901
902
903
904
905
905
906
907
910
913
914
915
921
926
925
923
914
909
909
917
922
932
938
937
936
934
933
939
943
946
950
953
961
966
968
974
980
1010
1017
1021
1021
1022
1024
1026
1028
1030
1031
1033
1035
1039
1042
1046
1049
1051
1052
1049
1047
1046
1035
1034
1031
1028
1026
1025
1024
1021
1019
1019
1018
1016
1015
1015
1015
1014
1014
1013
1013
1013
1013
1013
1014
1015
1015
1014
1010
1006
1000
997
980
970
964
962
961
958
952
944
944
944
944
944
944
944
949
960
964
973
971
970
971
971
973
973
975
977
979
982
988
988
989
989
989
989
992
994
995
992
981
978
975
975
974
981
992
1004
1017
1024
1026
1035
1040
1045
1045
1044
1042
1041
1040
1040
1039
1039
1039
1041
1040
1021
1013
1003
1001
993
990
988
990
990
994
995
998
1001
1002
1005
1006
1006
1006
1006
1004
1001
995
988
975
950
935
926
919
916
916
918
919
923
928
941
941
940
938
934
931
929
927
918
914
913
908
906
913
916
920
923
925
936
942
946
947
948
958
960
962
966
972
978
983
989
994
994
994
998
1000
1000
997
996
995
995
995
995
995
995
996
998
1000
1005
1009
1010
1009
1005
1002
1001
999
990
987
984
983
985
983
982
981
981
980
980
980
980
976
973
973
974
977
977
977
978
979
981
988
988
988
987
982
976
972
967
958
951
941
953
957
963
971
977
976
976
975
975
979
986
987
986
981
975
957
953
954
960
969
971
974
979
979
978
974
969
957
954
959
959
959
959
959
960
960
960
960
960
959
958
953
952
951
950
949
946
945
944
944
943
940
938
934
931
920
921
922
923
927
922
918
909
908
906
903
894
893
889
889
889
893
899
901
910
916
916
916
916
914
912
909
905
904
902
902
902
901
897
895
882
881
878
878
878
878
878
878
879
882
884
887
893
894
896
904
906
907
908
909
908
911
911
911
911
910
909
909
909
911
916
919
922
931
935
937
938
938
937
936
936
936
937
937
938
939
940
941
941
941
940
940
940
940
940
940
940
940
940
940
940
940
940
940
940
940
940
940
940
940
940
940
940
940
940
938
936
931
932
939
939
939
940
940
940
940
940
940
940
940
943
953
956
959
959
960
963
964
966
964
964
963
962
961
960
959
958
957
955
950
946
942
935
937
937
938
938
937
932
932
932
931
930
928
927
926
926
923
918
915
913
903
901
895
889
887
884
881
878
877
876
872
871
871
870
868
868
867
866
860
860
861
863
864
864
863
863
862
862
862
864
865
867
869
873
874
875
875
877
881
882
880
879
875
868
863
863
864
864
864
864
871
872
871
868
865
863
859
848
832
824
822
820
820
817
815
813
812
809
807
807
805
807
807
810
815
818
821
825
827
829
830
830
829
829
831
832
832
828
824
816
811
803
789
787
786
788
790
796
797
799
801
801
803
803
805
805
804
804
803
803
803
803
805
809
810
813
815
821
830
832
833
836
836
836
836
836
836
835
833
834
834
837
844
848
851
851
838
834
831
835
839
840
845
845
845
845
849
844
843
843
844
847
849
847
846
842
840
838
838
837
837
834
827
827
826
824
820
814
810
805
790
783
775
762
756
748
727
714
700
692
692
692
694
696
697
704
709
710
708
712
709
707
699
692
687
690
693
692
691
693
692
659
622
634
636
650
648
645
641
636
633
635
637
653
658
654
643
640
642
645
654
657
652
652
654
655
649
642
635
638
639
691
689
689
679
667
630
625
618
615
610
612
620
624
623
620
619
618
625
630
638
645
655
651
637
614
602
586
577
575
574
573
569
568
567
566
565
565
564
562
560
552
546
540
540
540
539
539
538
539
543
542
541
542
543
543
546
549
551
553
552
549
543
530
521
520
518
518
519
520
522
525
527
526
531
537
539
541
542
542
541
541
540
538
537
539
542
539
533
532
535
542
542
534
539
544
556
564
574
584
592
580
565
554
552
549
546
550
555
558
560
555
547
544
553
576
580
578
578
579
579
583
587
588
590
591
591
592
608
614
620
624
625
629
639
645
648
673
676
678
685
684
683
683
683
683
685
687
687
689
699
693
679
674
670
663
658
645
633
628
623
619
617
616
607
592
586
577
568
564
552
531
528
527
527
525
522
519
516
511
507
505
505
505
505
505
505
505
505
504
503
501
497
494
487
484
482
471
458
455
454
453
452
451
450
449
448
448
447
447
448
448