130
129
129
128
124
124
122
120
120
120
120
119
119
119
119
117
117
117
117
118
118
118
119
120
120
120
121
121
122
122
123
123
124
124
124
124
125
125
126
133
137
139
140
142
143
143
143
143
143
143
144
145
145
147
149
149
149
149
150
150
150
151
153
154
154
155
155
155
156
156
161
162
162
163
163
164
164
171
172
173
173
173
174
174
176
183
187
192
194
195
196
198
199
198
198
198
197
197
196
196
196
196
195
195
193
192
192
190
189
187
186
185
185
184
184
183
182
180
179
177
177
176
175
175
175
174
176
177
178
181
182
183
184
185
194
195
196
196
199
201
201
202
203
205
206
205
204
203
200
199
199
199
198
198
198
198
198
197
197
197
197
197
196
196
196
194
190
178
172
166
157
155
153
149
145
145
144
144
143
143
142
142
142
141
141
140
140
140
139
139
138
138
138
137
137
136
136
135
135
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
135
135
136
136
136
137
137
137
138
138
138
139
140
141
141
144
144
146
146
148
148
148
150
150
151
151
152
152
152
153
159
162
162
163
164
165
167
169
169
172
170
170
168
166
165
164
163
162
161
157
156
151
145
142
141
140
138
138
137
137
136
136
136
148
149
149
151
155
156
156
157
157
159
160
160
161
161
161
162
164
164
168
169
169
172
175
177
183
185
188
188
189
189
190
190
191
192
193
193
195
195
195
195
198
198
200
201
202
203
205
206
206
207
207
208
208
209
209
210
211
212
212
214
214
213
213
213
213
213
213
212
212
212
212
211
210
209
208
204
204
203
202
202
201
200
199
199
197
196
195
194
193
193
194
194
195
196
199
200
201
203
207
208
209
211
214
217
218
219
220
221
222
223
224
224
225
225
227
227
228
232
233
234
235
236
238
239
240
240
241
242
242
244
246
247
248
248
248
249
250
252
254
254
254
255
256
257
257
257
258
259
259
260
261
261
263
263
266
268
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
271
272
273
281
286
291
293
294
300
301
302
302
302
301
301
300
300
299
299
297
297
297
296
295
295
295
293
293
293
292
292
291
291
286
285
284
284
283
280
279
278
277
277
275
275
271
270
269
269
268
267
264
262
260
259
257
252
252
251
250
250
250
250
248
247
247
246
246
246
245
245
245
244
244
244
244
243
243
242
232
230
227
226
225
224
223
222
221
220
214
213
213
212
213
213
213
214
217
217
218
219
222
222
222
222
222
222
222
221
221
220
220
220
220
220
219
217
216
216
216
216
215
215
215
215
215
214
214
213
211
209
209
208
209
210
213
214
214
216
218
231
232
234
235
236
236
237
241
247
248
251
252
254
255
257
259
260
261
261
260
260
259
259
258
257
255
255
254
254
253
253
252
252
250
249
248
248
247
247
246
246
246
245
245
245
244
244
244
244
244
244
244
243
243
242
242
242
241
241
241
241
241
240
240
240
240
239
239
239
239
238
238
238
238
237
237
237
237
235
233
233
231
230
229
228
226
225
224
223
221
219
218
217
216
215
214
213
213
213
213
213
213
214
214
215
215
217
217
217
218
218
220
220
221
221
222
223
223
224
228
234
235
236
236
243
244
245
246
246
247
247
248
250
251
252
252
253
254
255
256
257
258
258
259
260
267
269
270
271
272
274
275
279
280
281
282
283
291
292
292
295
295
297
300
301
301
304
309
313
313
314
316
318
319
321
322
335
351
355
358
360
363
370
376
395
400
412
415
419
419
420
420
420
421
422
422
422
422
424
427
430
432
434
436
437
439
442
447
448
449
455
455
455
455
455
455
455
454
454
454
454
454
453
453
453
452
452
452
452
452
452
452
453
453
454
454
455
461
461
462
462
463
464
465
466
467
469
470
471
472
474
476
476
477
478
479
480
481
482
484
485
487
487
487
488
488
490
491
491
493
494
494
495
496
496
497
500
500
501
506
507
508
509
510
512
513
518
519
521
528
529
530
532
535
536
537
539
541
542
542
543
543
546
546
547
547
552
553
558
560
560
561
562
563
566
568
569
570
574
575
579
581
582
584
586
592
593
594
595
597
598
601
605
610
614
615
620
629
629
629
627
626
625
624
623
622
620
618
618
614
613
613
611
608
606
604
598
596
617
628
630
632
632
633
634
634
635
637
638
639
640
646
646
646
646
647
648
649
649
650
650
650
652
652
654
654
654
654
654
654
651
648
647
646
645
644
644
643
642
642
641
641
640
635
634
633
632
631
630
629
627
627
626
625
624
624
623
621
621
618
617
614
613
612
611
611
610
610
608
607
606
603
601
597
596
594
593
592
591
590
590
589
589
588
587
585
584
581
581
581
582
582
583
585
586
586
587
588
588
589
589
589
591
591
592
594
595
596
596
597
597
598
598
598
599
599
601
604
605
606
607
607
612
615
616
619
619
623
623
624
625
626
635
636
638
640
641
641
642
643
643
645
646
646
648
652
653
655
656
656
657
657
659
659
661
661
662
662
663
663
664
665
667
667
669
670
671
671
673
674
674
675
677
679
680
681
682
682
683
683
684
685
685
685
685
688
688
690
690
691
691
693
693
694
695
696
696
697
698
699
701
702
702
704
705
715
716
717
717
719
720
720
721
722
725
726
727
727
728
729
729
730
731
732
733
733
734
734
733
733
733
732
732
732
731
730
728
728
727
727
726
725
724
724
723
723
722
722
721
721
721
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
720
722
724
727
727
728
729
729
732
732
733
733
734
734
735
736
737
737
739
739
740
740
754
754
754
754
754
754
754
754
750
747
746
743
738
727
725
724
723
722
721
719
718
717
715
715
713
712
711
710
709
707
706
704
702
701
697
690
689
676
673
671
669
668
665
664
655
653
652
650
650
647
646
645
641
640
640
639
638
638
637
636
635
631
629
627
625
621
620
619
618
616
610
609
608
607
603
602
600
598
596
588
583
582
581
581
579
576
576
576
575
575
574
574
573
572
569
567
566
565
564
562
561
560
558
557
553
552
550
546
546
546
545
542
541
540
540
540
539
539
539
539
539
539
539
539
540
541
541
541
541
541
541
541
541
542
543
544
545
548
551
552
554
556
557
560
562
564
565
567
569
569
570
571
573
575
575
576
576
578
581
581
581
581
581
581
581
581
580
580
580
580
580
580
580
580
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
579
580
580
580
580
580
580
580
580
583
587
589
590
591
592
593
594
596
598
600
600
601
602
604
605
610
613
613
613
613
613
613
613
613
613
612
612
611
610
609
609
608
608
607
606
604
604
603
603
602
602
602
602
601
601
601
601
601
601
600
599
599
598
594
594
593
592
591
589
578
578
578
578
577
577
577
573
571
571
568
568
567
566
564
564
560
559
557
557
557
557
557
557
557
557
557
557
557
557
557
557
556
556
556
555
555
555
554
554
553
552
552
552
550
550
550
549
548
543
538
537
537
535
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
534
528
526
525
521
517
515
515
514
513
512
512
511
510
510
510
510
510
509
509
509
508
507
506
504
502
501
501
501
499
499
499
499
499
499
499
499
499
499
498
498
498
497
495
495
495
494
494
494
493
493
493
493
493
493
492
492
492
492
491
491
489
490
490
490
490
490
490
490
490
490
490
490
490
490
490
489
489
489
489
488
488
488
488
488
488
488
488
488
488
488
488
489
489
491
493
493
493
493
493
493
496
497
497
497
497
497
497
497
498
498
498
498
499
499
499
500
500
501
501
501
501
501
502
502
501
501
501
499
497
497
496
496
495
494
494
493
492
491
491
490
487
486
485
485
485
485
485
485
485
485
485
484
484
484
481
481
481
481
481
480
480
480
480
480
480
475
475
474
474
474
474
474
474
474
474
472
471
470
470
470
470
470
470
471
471
471
471
471
471
471
473
473
473
472
478
479
480
449
459
460
460
459
457
456
455
454
453
453
453
453
450
450
450
457
457
461
463
463
463
464
464
464
468
469
470
470
473
473
473
474
474
474
474
474
481
483
485
491
492
496
498
500
501
502
503
504
505
507
508
508
508
508
509
509
510
511
512
512
512
512
513
513
514
516
517
517
522
524
524
525
526
528
529
537
538
538
538
539
544
546
547
547
547
547
547
547
547
547
547
547
547
546
546
545
544
544
544
544
544
544
544
544
539
530
528
524
523
522
520
518
517
515
513
512
509
508
507
506
506
509
509
509
509
510
510
512
513
513
513
514
514
515
519
520
521
522
525
529
530
530
530
531
531
532
533
533
533
533
532
531
531
530
529
529
527
526
524
523
523
522
522
520
519
519
519
516
515
515
515
516
516
517
517
518
518
518
520
520
521
521
522
522
524
524
525
526
526
526
527
527
527
527
530
531
531
532
534
538
543
545
547
548
548
547
546
541
540
539
537
537
536
536
536
536
535
535
534
533
533
537
540
542
544
546
552
555
555
555
555
555
554
554
554
554
554
553
551
550
550
550
550
549
547
547
547
545
545
544
542
541
541
542
543
544
544
548
549
549
551
553
554
556
558
559
561
562
564
565
566
566
567
568
568
570
573
573
574
575
580
594
595
598
601
602
603
604
601
600
598
597
595
590
588
583
581
569
570
570
571
572
572
574
577
577
577
577
577
584
586
590
593
597
599
600
600
601
602
618
619
620
620
620
623
624
626
630
634
634
635
635
635
636
637
637
637
638
638
643
645
649
653
658
664
681
686
695
698
701
704
708
717
721
726
731
729
728
727
726
725
726
735
740
745
752
755
758
764
767
769
773
783
785
788
792
792
795
796
797
798
799
799
801
802
803
803
804
804
805
806
806
807
807
807
809
810
815
835
841
844
847
849
851
854
868
870
872
876
876
875
875
875
874
874
874
873
873
872
872
871
871
870
872
873
876
877
878
879
879
879
880
881
882
882
882
882
882
883
884
884
885
886
886
887
887
888
888
889
890
891
892
893
893
893
893
893
891
890
887
886
886
885
884
883
883
882
879
878
878
878
877
874
874
874
873
873
870
870
869
868
867
866
864
863
862
862
861
861
860
860
859
858
855
855
855
855
857
858
859
861
861
863
864
866
866
867
867
868
868
870
870
873
873
873
874
874
875
875
875
876
877
877
878
879
880
882
882
883
883
884
884
884
884
885
885
885
886
886
886
887
887
887
887
888
888
888
888
889
889
889
890
890
891
891
891
891
891
892
893
893
894
894
894
895
895
896
896
896
897
897
897
897
897
898
898
898
898
898
899
899
900
900
900
900
900
900
901
901
901
901
901
901
902
902
902
902
902
903
903
903
903
903
904
904
904
904
903
902
902
901
901
900
900
900
898
898
898
897
897
897
896
895
894
894
892
891
890
890
890
889
889
888
887
887
886
884
883
883
884
885
885
887
888
889
890
891
891
891
892
893
894
894
895
896
896
898
898
902
902
903
903
905
905
903
901
901
900
898
898
898
897
896
896
895
894
894
894
893
891
890
888
885
882
879
879
877
877
877
875
874
872
872
873
875
876
876
877
878
878
879
879
880
880
881
881
883
885
887
888
889
891
891
892
892
893
893
893
893
892
892
891
891
890
889
888
888
888
887
887
887
886
886
886
887
888
889
889
891
892
893
893
895
896
897
898
899
899
900
900
901
902
903
904
905
905
907
908
910
911
912
913
913
914
915
915
916
917
917
918
919
919
919
921
926
926
927
928
932
933
935
935
937
937
936
935
934
934
934
933
932
931
929
928
928
927
926
926
924
924
924
923
920
919
918
916
916
916
915
915
914
914
914
914
914
913
913
913
913
912
912
912
911
911
911
910
910
910
909
909
908
908
907
907
905
904
903
903
903
903
902
901
901
900
899
897
897
896
895
894
893
892
891
890
888
887
886
884
883
882
881
881
880
873
871
868
867
865
862
858
857
855
853
852
850
846
845
844
843
842
840
838
836
835
834
829
828
827
826
824
823
822
821
820
820
819
816
815
813
812
811
811
809
809
808
807
806
805
805
804
803
802
799
795
794
794
794
793
793
789
783
782
782
781
780
776
773
772
770
769
768
767
765
763
759
759
758
758
757
756
756
755
754
752
751
749
748
748
747
746
744
744
744
744
743
743
742
741
740
740
739
739
738
738
737
737
737
736
735
735
734
734
733
733
732
732
731
731
732
733
733
733
733
733
734
735
736
737
737
739
740
741
742
743
744
745
746
747
747
749
749
750
750
750
750
750
750
750
750
750
750
750
750
749
749
749
749
749
749
749
749
749
750
751
752
753
755
755
756
757
759
759
760
761
761
762
762
762
762
764
765
766
767
768
770
771
772
772
773
774
774
776
777
778
778
778
780
783
784
785
785
785
785
785
785
785
785
785
784
783
782
781
780
779
778
778
777
776
775
775
774
773
771
771
770
769
766
766
768
773
777
779
783
784
785
789
796
800
801
801
805
808
819
821
824
826
830
836
841
843
845
846
848
854
862
865
866
866
867
867
867
869
870
870
871
871
872
873
873
874
875
876
876
876
877
878
879
879
879
879
881
883
884
884
885
885
885
886
886
886
886
886
886
887
887
888
888
888
889
889
889
889
889
889
889
889
889
889
889
889
889
888
888
888
888
888
888
888
888
888
888
886
884
882
881
880
879
877
877
876
873
873
872
872
872
872
873
873
874
875
876
877
878
879
879
880
881
883
884
887
890
890
896
898
901
904
907
914
917
919
923
926
928
931
936
943
946
947
948
949
952
956
958
963
968
973
976
976
975
973
972
972
972
971
970
969
968
967
966
966
965
965
964
963
963
962
960
958
956
953
950
948
942
940
935
931
927
924
921
919
916
913
911
909
909
907
906
905
904
903
898
897
894
892
891
890
889
888
888
887
887
886
886
884
884
883
883
882
879
878
877
876
875
874
874
874
875
876
876
877
877
877
878
879
879
879
880
880
881
880
877
874
872
851
848
846
844
843
840
836
827
823
817
808
806
803
802
800
795
794
785
782
782
782
782
782
782
782
782
782
782
782
782
782
782
782
783
783
786
786
786
787
787
787
787
787
787
787
787
787
787
798
800
800
803
804
805
806
806
807
811
811
811
811
811
811
811
811
811
811
811
811
811
811
811
811
810
810
810
809
808
808
808
808
807
806
805
800
800
801
801
801
801
802
802
802
802
802
803
804
804
806
807
808
809
811
811
812
813
814
815
816
817
818
820
825
827
830
830
831
831
831
832
832
832
833
833
835
836
838
840
840
841
841
841
841
841
841
840
840
840
839
839
839
838
837
837
837
836
836
835
834
834
834
833
833
833
833
840
849
849
850
851
851
851
852
852
852
852
852
852
852
853
853
853
854
854
854
855
856
858
860
861
861
861
862
863
864
864
865
865
865
866
866
866
874
875
876
876
877
878
878
881
884
886
887
888
895
897
898
899
900
902
907
909
908
908
905
904
903
902
902
901
901
900
900
900
899
899
898
898
897
896
895
894
893
892
890
889
887
886
885
889
891
898
900
901
904
906
908
909
909
911
911
912
912
912
913
913
912
911
909
908
908
907
905
902
901
901
901
900
899
899
897
896
896
894
894
893
893
893
893
893
893
893
894
894
894
896
897
898
899
899
900
901
902
902
902
903
903
904
904
905
906
906
906
907
907
907
909
910
911
912
914
915
916
916
917
919
920
920
921
923
924
924
925
926
926
927
927
928
929
929
930
936
937
938
938
939
941
941
941
941
941
941
941
941
941
941
941
941
941
941
941
941
942
943
943
945
946
947
948
950
950
951
952
952
953
954
956
957
957
957
956
956
956
956
956
955
954
954
954
954
954
954
954
954
954
954
954
954
975
976
978
980
983
988
991
991
991
992
995
995
996
997
998
998
999
1000
1001
1001
1001
999
994
992
992
993
994
994
995
995
995
996
996
996
997
997
998
999
1000
1003
1004
1006
1007
1012
1013
1014
1017
1017
1018
1019
1020
1021
1021
1022
1023
1028
1029
1029
1030
1030
1031
1032
1034
1036
1037
1041
1042
1043
1044
1048
1048
1050
1056
1059
1066
1068
1070
1071
1071
1071
1071
1071
1070
1070
1070
1070
1070
1069
1068
1068
1067
1067
1067
1067
1067
1067
1066
1066
1066
1066
1065
1065
1065
1065
1068
1069
1070
1071
1076
1077
1078
1083
1083
1084
1084
1085
1085
1086
1086
1086
1088
1088
1089
1090
1092
1093
1094
1099
1101
1101
1102
1103
1103
1104
1107
1108
1109
1112
1114
1115
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1130
1132
1137
1139
1144
1145
1146
1153
1155
1156
1159
1160
1160
1160
1160
1161
1162
1163
1163
1163
1163
1164
1164
1165
1166
1166
1167
1168
1168
1169
1169
1169
1168
1167
1167
1167
1167
1166
1166
1165
1165
1165
1165
1165
1164
1164
1164
1163
1163
1163
1163
1163
1162
1162
1162
1162
1161
1161
1161
1161
1161
1160
1160
1159
1158
1157
1157
1155
1154
1153
1153
1151
1151
1150
1150
1150
1150
1149
1149
1148
1149
1151
1153
1155
1160
1166
1169
1172
1180
1181
1182
1184
1185
1186
1188
1190
1194
1198
1202
1206
1211
1214
1216
1219
1220
1222
1227
1228
1230
1231
1232
1233
1235
1240
1241
1242
1244
1245
1252
1256
1259
1264
1268
1270
1271
1272
1275
1277
1278
1280
1287
1294
1297
1299
1301
1309
1311
1313
1315
1317
1319
1321
1332
1332
1332
1332
1332
1332
1333
1333
1333
1334
1334
1334
1334
1334
1335
1335
1337
1340
1345
1347
1348
1351
1352
1354
1355
1357
1364
1366
1367
1369
1375
1376
1376
1377
1377
1378
1378
1378
1379
1380
1381
1382
1382
1382
1383
1385
1385
1385
1386
1386
1388
1389
1391
1393
1394
1395
1396
1397
1402
1403
1405
1406
1408
1410
1412
1414
1416
1429
1432
1436
1439
1441
1444
1446
1449
1452
1453
1460
1462
1463
1464
1466
1468
1470
1471
1472
1475
1484
1485
1493
1497
1499
1502
1503
1506
1507
1508
1510
1513
1514
1514
1515
1516
1516
1517
1517
1515
1515
1511
1508
1506
1505
1503
1500
1496
1491
1488
1487
1486
1484
1483
1482
1476
1468
1463
1461
1459
1457
1453
1432
1415
1411
1408
1404
1394
1387
1378
1369
1359
1348
1340
1325
1314
1304
1292
1279
1275
1273
1273
1272
1271
1270
1269
1268
1262
1260
1259
1258
1258
1259
1259
1261
1262
1263
1265
1270
1271
1271
1268
1267
1266
1263
1258
1255
1254
1253
1250
1249
1248
1246
1237
1229
1225
1223
1216
1213
1210
1206
1193
1189
1183
1183
1183
1183
1183
1183
1183
1183
1183
1183
1182
1181
1181
1180
1179
1178
1177
1176
1174
1172
1168
1165
1163
1162
1160
1159
1157
1155
1152
1140
1139
1138
1137
1136
1135
1132
1130
1128
1126
1124
1123
1122
1120
1119
1118
1116
1110
1108
1106
1102
1101
1099
1096
1081
1077
1075
1070
1066
1056
1050
1046
1038
1035
1032
1015
1011
1003
993
986
984
981
978
974
969
961
955
933
921
898
887
838
809
776
753
746
745
744
744
743
742
742
742
741
741
741
741
739
737
737
736
735
734
734
733
733
732
731
731
730
730
729
729
727
727
726
726
726
725
724
723
722
719
718
716
715
711
708
706
705
704
701
699
698
696
695
694
694
693
691
689
688
687
685
685
684
683
681
679
677
676
674
671
671
670
671
671
671
672
672
672
673
673
674
674
676
676
676
677
675
673
669
663
658
657
655
636
634
632
617
613
611
606
606
604
602
601
600
599
597
596
595
594
594
593
593
593
592
592
591
590
589
586
585
580
578
577
576
575
574
573
572
571
568
568
568
568
568
569
569
569
571
571
571
572
572
573
573
573
574
574
574
574
573
569
566
564
561
559
557
556
550
548
546
542
540
539
535
534
533
532
531
530
528
526
526
527
528
528
529
530
531
531
532
534
536
538
539
540
540
541
541
542
543
544
544
541
540
538
537
536
534
533
532
528
526
525
524
524
522
519
518
516
513
511
510
508
508
507
506
507
508
511
512
514
514
515
515
516
516
517
518
519
520
521
523
522
521
520
518
517
516
515
511
510
510
507
505
504
503
502
501
500
499
497
496
495
494
492
488
487
486
485
482
481
480
479
477
475
473
472
471
469
466
465
465
464
464
463
462
461
461
460
458
457
457
456
455
455
454
453
453
453
451
449
448
447
446
444
443
443
442
440
438
437
436
435
435
434
433
431
430
428
427
428
429
429
430
431
432
433
434
436
438
439
440
440
441
441
442
442
440
439
437
432
428
427
426
425
424
423
420
419
418
417
417
416
415
412
411
409
406
402
398
396
395
394
393
391
390
387
386
385
384
382
378
378
377
376
375
373
372
372
367
366
364
363
362
362
361
360
359
357
357
355
354
354
355
356
357
358
359
359
360
360
361
361
360
359
359
358
358
357
356
356
354
354
353
352
350
350
348
347
344
344
343
341
341
340
339
339
338
338
337
337
336
335
334
334
334
333
333
332
331
331
331
331
330
329
328
328
327
326
325
325
324
324
322
322
321
321
320
320
319
318
318
317
317
316
316
315
314
314
313
312
312
311
310
309
309
309
307
304
302
302
301
300
300
298
298
296
296
295
294
293
293
292
292
292
291
291
291
291
291
291
291
291
290
290
290
289
289
289
288
288
288
286
285
281
279
279
279
278
277
277
277
277
277
276
276
275
274
274
273
272
272
272
271
271
271
271
270
270
268
267
266
265
265
263
263
263
262
261
260
259
257
254
253
253
253
254
254
255
255
256
257
257
257
257
258
259
259
259
259
259
259
259
258
257
257
257
257
256
256
255
254
253
251
250
248
248
247
242
240
237
232
231
231
230
229
228
228
227
226
225
224
224
223
222
220
219
219
219
219
219
219
219
219
219
219
220
220
220
220
220
220
220
219
219
219
218
218
218
218
217
217
217
217
217
217
216
215
214
213
212
209
208
207
207
206
206
205
205
205
205
205
205
204
204
204
204
204
203
203
202
202
202
201
201
200
200
199
199
196
195
194
192
192
192
192
189
188
185
185
184
183
182
181
181
180
179
178
178
176
174
173
172
170
161
161
160
159
159
159
159
159
159
160
160
161
161
161
161
161
161
162
162
162
163
163
164
164
164
164
164
164
164
164
164
163
163
163
162
162
162
162
162
162
162
162
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
160
158
158
157
156
155
155
154
154
153
152
152
150
149
148
148
148
147
147
147
147
147
147
147
147
147
147
147
147
147
146
146
146
146
146
146
146
146
146
146
146
146
141
141
140
139
139
138
138
138
138
137
137
135
133
132
132
132
132
132
132
132
132
132
128
123
122
121
121
121
121
121
121
120
119
119
119
117
116
115
114
113
112
111
111
110
110
109
109
109
108
108
107
105
105
104
104
103
102
102
102
102
102
102
102
102
102
102
102
102
102
103
103
103
103
103
103
103
103
103
103
103
103
103
103
102
101
101
101
100
100
100
99
99
98
98
98
98
98
97
97
96
96
95
94
94
93
92
91
90
90
90
89
89
89
88
87
87
85
85
85
84
84
83
82
82
81
81
80
79
79
78
77
77
77
77
77
78
78
78
78
78
79
79
79
79
79
79
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
81
81
81
81
81
81
81
81
81
81
81
81
81
81
80
80
79
79
78
78
77
77
77
77
77
76
75
75
75
74
74
74
73
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
72
72
72
72
73
73
73
73
74
74
74
76
76
79
79
79
79
79
79
79
78
78
78
78
78
78
78
78
77
75
74
73
73
73
73
73
73
73
73
72
72
72
72
71
71
71
70
70
68
67
67
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
65
65
65
65
65
64
64
64
64
64
63
62
62
60
60
59
59
59
58
58
58
57
57
56
56
56
56
56
56
55
55
54
54
54
54
54
54
54
54
54
53
52
51
50
49
49
48
47
47
45
43
43
43
42
41
40
40
40
39
39
39
43
43
43
43
42
42
42
42
42
42
41
41
41
41
40
40
40
41
42
42
46
50
54
55
55
55
55
55
55
55
55
54
52
51
51
51
51
51
51
51
51
51
51
51
51
49
47
46
46
43
42
40
39
38
37
33
28
26
24
23
21
20
19
16
16
16
16
15
15
15
15
15
15
15
15
15
15
15
14
14
14
14
14
14
14
13
12
12
12
12
11
11
11
10
10
10
10
10
10
10
10
9
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
7
7
6
6
6
5
5
5
5
6
6
6
6
6
7
8
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
16
16
16
16
16
16
16
16
16
16
15
13
13
13
13
13
12
12
12
11
11
11
11
11
11
11
10
10
9
9
9
9
9
8
8
8
8
8
8
8
8
8
8
8
8
6
5
5
4
4
3
3
3
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
3
3
3
3
3
3
3
3
2
2
1
1
1
1
1
1
1
1
1
2
2
2
3
3
3
3
3
3
6
7
8
10
10
10
10
10
11
11
11
12
12
14
16
17
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
17
15
15
15
15
14
14
14
14
12
9
9
9
8
8
6
5
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
2
2
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
4
5
5
5
5
5
4
4
4
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
2
2
2
2
2
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
2
2
2
2
2
3
3
5
7
9
11
11
13
13
16
16
14
12
12
12
11
10
9
8
3
2
2
3
3
3
3
4
4
4
5
5
5
5
5
5
5
6
6
10
10
12
12
13
13
13
13
18
21
21
22
22
23
23
24
24
25
26
27
27
28
29
30
33
38
39
40
40
41
42
43
44
45
45
45
45
46
46
46
47
47
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
47
46
46
45
44
43
43
42
42
41
38
37
35
35
36
36
36
36
37
37
37
37
38
38
39
39
39
40
40
40
40
40
39
38
37
36
35
35
32
32
31
27
26
25
22
19
17
15
12
6
2
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
4
4
2
2
2
1
1
1
1
1
0
0
0
0
1
3
3
4
4
4
4
2
2
1
1
1
1
1
1
0
1
2
2
3
5
9
9
8
7
6
5
4
3
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
1
1
1
1
2
2
2
2
2
2
2
1
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
1
1
2
2
2
2
2
2
3
3
3
3
4
4
5
6
7
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
8
8
7
6
6
4
4
4
3
3
3
3
3
3
3
3
3
3
2
2
2
2
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
4
4
4
4
4
4
4
4
4
4
4
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
2
2
2
2
3
5
5
5
5
5
5
5
3
3
3
3
3
3
4
4
4
5
5
6
6
6
7
8
9
9
9
9
9
9
9
9
9
9
8
7
6
6
6
5
5
5
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
4
3
3
3
3
3
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
2
2
2
2
2
2
2
2
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
3
3
4
4
4
4
3
5
6
7
7
8
9
10
11
13
14
14
14
14
15
15
15
16
17
17
18
18
18
18
18
18
18
18
18
18
18
18
19
19
19
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
19
19
20
20
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
20
19
18
17
16
14
13
11
10
10
9
9
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
8
7
7
7
7
6
5
5
5
5
5
5
5
6
6
6
6
6
6
5
5
3
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
2
2
2
2
2
2
2
2
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
2
1
1
2
2
2
2
2
2
2
2
3
3
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
7
7
7
7
8
8
9
9
10
10
10
10
10
11
11
11
11
12
12
12
12
12
13
13
13
14
14
14
14
14
15
15
15
15
15
16
16
16
16
16
16
16
16
16
17
17
17
17
13
12
12
12
12
11
11
10
9
8
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
10
10
11
11
11
11
11
11
11
11
12
12
12
12
12
14
14
14
14
14
14
14
14
14
14
14
13
13
12
12
12
12
11
11
11
11
11
10
10
10
9
9
9
9
9
9
8
8
8
7
7
6
6
3
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
2
2
2
2
2
2
2
2
2
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
2
2
2
2
2
1
0
0
0
0
0
0
0
0
1
1
1
2
3
5
6
6
8
8
11
11
12
13
13
13
14
15
15
17
18
20
22
22
22
22
22
23
21
21
20
19
19
18
15
14
11
10
10
11
12
12
12
12
13
14
16
18
18
19
19
19
20
20
21
21
19
18
18
17
17
17
17
16
16
15
15
12
9
8
7
7
6
5
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
2
1
1
1
1
1
1
1
1
1
1
1
1
1
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
0
0
0
0
0
1
1
1
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
2
2
2
2
2
2
2
2
2
2
2
1
1
1
1
1
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
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
2
3
5
9
9
8
8
6
4
3
2
1
0
0
0
0
0
0
1
1
1
1
1
1
2
2
2
2
2
2
3
3
3
3
3
4
4
4
4
4
4
4
5
5
6
6
7
7
7
7
7
8
8
9
9
10
10
10
9
8
8
8
7
6
5
5
4
4
4
3
3
2
2
2
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
2
2
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
6
7
8
8
10
10
10
8
7
7
6
6
5
5
4
4
3
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
2
1
2
3
4
4
4
5
5
6
6
6
6
6
6
7
7
7
8
8
8
8
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
10
10
10
10
10
10
10
10
10
10
10
10
10
10
9
8
7
7
3
3
3
2
2
2
2
2
2
2
2
1
0
0
0
0
0
0
0
0
0
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
5
6
6
6
6
6
6
7
8
8
8
9
8
8
7
7
7
7
7
7
6
6
5
5
4
3
3
3
3
3
3
3
2
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
2
2
2
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
2
2
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
4
3
3
3
2
2
2
1
1
1
1
1
1
1
1
1
1
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
1
1
1
1
1
1
1
1
1
1
1
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
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
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
1
1
1
1
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
5
5
6
6
6
7
7
7
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
8
8
7
7
7
6
6
6
5
5
5
5
5
5
5
5
6
7
7
7
7
7
7
7
6
6
6
6
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
6
6
6
6
6
6
6
6
6
6
6
6
8
8
8
8
8
9
9
9
9
9
9
10
10
10
10
10
10
10
10
11
11
11
11
11
12
12
12
13
13
13
13
12
12
12
12
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
13
14
14
15
18
18
17
17
17
15
15
14
14
14
14
14
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
15
15
15
15
14
13
13
12
12
11
11
11
11
11
11
11
11
12
12
12
12
12
12
11
11
11
11
11
11
11
13
14
15
15
15
14
13
12
11
12
13
16
16
16
16
17
17
17
17
17
16
15
14
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
14
16
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
18
18
18
18
18
17
17
17
17
17
17
16
16
15
14
14
14
14
14
14
15
15
15
15
15
15
15
16
17
18
19
21
24
24
26
26
26
26
26
26
26
26
26
27
27
27
27
28
28
28
28
28
28
28
28
28
27
26
24
23
21
19
19
19
19
20
20
20
20
20
20
20
20
20
20
21
21
21
21
23
23
24
25
25
25
25
26
26
26
26
27
27
27
27
27
27
28
28
29
29
29
30
30
30
31
31
31
34
35
35
36
37
39
41
42
44
48
50
51
54
53
51
51
49
48
47
45
43
41
39
37
36
34
32
30
29
29
29
37
38
41
42
43
44
45
44
43
42
41
40
39
38
37
35
34
34
34
33
33
32
32
32
34
35
36
38
39
40
41
41
42
42
37
36
36
35
35
35
34
34
34
33
33
32
21
19
19
19
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
18
18
19
19
19
19
19
19
19
20
20
20
21
21
21
21
21
21
21
21
21
21
21
21
21
21
20
20
20
20
20
20
20
20
20
19
19
19
18
18
18
18
18
18
18
18
19
20
20
21
22
23
24
24
24
24
24
26
26
26
26
26
26
26
26
26
26
26
26
26
26
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
26
26
26
26
26
27
28
28
29
29
29
29
29
28
28
28
28
28
28
28
28
28
30
32
34
35
36
37
39
40
41
41
43
44
45
45
47
47
50
50
51
52
52
52
52
51
51
50
50
48
47
46
46
44
44
42
42
41
41
38
38
37
36
36
36
36
35
35
35
34
33
33
33
33
33
33
34
35
35
35
35
36
36
37
37
37
37
36
35
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
32
32
32
32
32
32
32
32
31
30
30
30
30
30
30
30
30
30
30
30
30
30
31
31
31
31
31
31
31
31
31
31
31
31
32
32
32
32
32
32
32
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
32
32
32
32
32
32
32
32
32
32
32
32
32
33
35
36
36
36
36
36
37
37
37
37
38
38
39
39
39
39
39
39
39
39
39
40
40
40
40
41
41
41
41
41
41
41
41
41
41
42
42
42
42
42
42
43
43
43
44
44
44
44
44
44
44
44
45
45
45
45
45
45
45
45
46
48
50
51
52
53
53
54
56
57
58
60
62
65
66
69
72
72
73
73
73
73
73
74
74
75
76
82
82
82
82
82
82
83
84
85
86
87
88
90
90
90
90
91
91
91
91
91
92
92
95
96
96
96
96
96
96
97
97
98
98
98
99
99
99
99
99
99
99
99
99
99
99
98
98
98
98
96
96
96
96
95
95
95
94
93
93
94
96
98
102
104
106
106
106
107
107
107
107
109
115
118
119
120
124
124
125
125
126
126
126
126
126
126
126
126
126
126
127
128
128
128
129
129
130
130
131
131
133
134
135
138
138
139
140
141
143
144
144
146
147
148
149
152
152
153
153
154
161
161
161
161
161
161
161
165
165
166
169
169
174
175
176
180
180
181
184
184
186
187
188
189
189
189
190
191
193
193
195
195
195
198
198
199
199
199
199
200
200
200
201
201
201
201
201
201
201
205
209
211
213
215
216
216
217
217
219
220
225
226
226
229
230
230
230
231
231
232
232
232
236
236
237
239
241
241
243
244
248
249
253
254
259
260
261
267
274
275
277
278
280
280
281
281
283
283
285
285
287
288
290
294
294
298
299
301
302
302
304
304
305
305
306
306
308
308
308
310
310
310
319
320
323
329
336
339
340
342
343
344
347
348
351
356
357
359
361
362
364
370
372
373
375
379
380
381
382
383
383
385
389
392
395
396
399
401
402
404
404
406
407
407
408
409
411
413
414
415
416
417
417
417
419
420
420
420
420
420
421
421
421
422
423
423
424
424
424
424
425
425
425
424
424
424
423
423
423
423
423
422
422
422
422
422
422
421
421
421
420
420
420
420
420
420
420
420
421
422
422
422
423
425
425
426
427
428
430
433
434
434
435
436
437
440
440
441
442
443
445
446
446
447
448
448
449
451
452
459
460
460
461
463
465
466
467
468
471
473
473
475
476
477
477
478
480
481
483
484
484
485
485
487
489
490
490
491
492
492
496
498
499
500
504
505
506
507
508
510
513
514
519
520
528
533
539
541
542
545
546
547
555
558
562
563
563
564
566
569
572
580
583
584
585
585
586
586
587
588
590
590
591
591
592
593
594
594
595
599
599
600
602
604
605
606
607
607
608
610
612
612
613
614
616
618
619
622
623
626
626
627
628
628
629
633
634
635
635
636
638
640
641
644
646
647
650
654
656
657
658
659
660
662
663
664
665
665
667
668
671
672
673
680
681
682
684
687
691
691
692
692
693
695
696
698
699
702
704
706
709
715
717
718
721
723
726
729
732
744
747
750
753
756
757
759
761
762
763
767
769
778
784
791
793
796
799
802
804
806
812
817
825
827
828
830
841
844
847
849
852
854
857
858
859
863
864
865
865
866
867
868
877
877
878
879
880
882
888
891
892
893
894
895
896
897
897
899
899
900
901
902
903
905
905
909
910
913
916
925
926
926
928
928
929
931
932
939
944
946
947
949
951
954
957
959
962
970
972
973
974
976
978
980
982
983
989
990
992
994
996
1003
1006
1016
1028
1029
1030
1032
1034
1041
1044
1050
1051
1056
1059
1062
1063
1065
1069
1073
1075
1078
1083
1088
1092
1093
1095
1096
1099
1100
1102
1103
1104
1105
1106
1107
1109
1110
1111
1112
1113
1116
1118
1119
1122
1124
1128
1130
1131
1134
1134
1136
1138
1140
1141
1142
1143
1153
1155
1163
1167
1170
1171
1172
1174
1175
1178
1181
1190
1197
1205
1211
1214
1217
1219
1233
1235
1240
1247
1249
1261
1264
1268
1277
1278
1281
1284
1285
1287
1289
1290
1291
1292
1293
1294
1304
1309
1311
1312
1313
1313
1314
1317
1320
1321
1321
1322
1323
1323
1324
1324
1325
1326
1330
1332
1332
1334
1336
1340
1340
1344
1345
1346
1346
1347
1349
1350
1350
1350
1350
1351
1351
1353
1353
1354
1355
1356
1358
1359
1360
1361
1362
1363
1364
1366
1367
1369
1371
1374
1378
1380
1382
1383
1385
1387
1388
1389
1392
1393
1393
1394
1394
1395
1395
1395
1396
1398
1399
1402
1402
1403
1403
1405
1405
1406
1406
1406
1407
1408
1413
1417
1417
1418
1418
1419
1420
1425
1430
1432
1433
1434
1435
1437
1442
1443
1444
1449
1452
1453
1456
1459
1461
1462
1462
1465
1466
1468
1469
1476
1478
1482
1487
1491
1493
1494
1495
1495
1496
1496
1496
1497
1498
1499
1505
1510
1513
1517
1520
1526
1531
1533
1538
1540
1541
1545
1547
1552
1555
1559
1563
1567
1569
1570
1571
1572
1575
1576
1579
1583
1587
1590
1597
1601
1605
1606
1608
1610
1611
1613
1614
1618
1622
1631
1639
1646
1648
1650
1653
1655
1658
1661
1668
1669
1670
1671
1672
1678
1680
1683
1688
1692
1696
1701
1703
1705
1708
1714
1720
1722
1723
1723
1724
1724
1725
1727
1729
1731
1736
1740
1744
1748
1751
1756
1763
1766
1771
1774
1775
1779
1785
1787
1789
1790
1800
1802
1804
1805
1807
1808
1809
1809
1809
1810
1813
1816
1817
1817
1818
1821
1822
1823
1824
1825
1826
1827
1828
1828
1829
1830
1836
1841
1841
1842
1843
1844
1844
1849
1850
1853
1854
1859
1862
1864
1866
1867
1872
1877
1878
1879
1879
1880
1885
1885
1887
1890
1892
1891
1890
1887
1873
1872
1869
1848
1844
1843
1841
1839
1837
1835
1810
1808
1806
1804
1801
1798
1794
1794
1789
1786
1783
1780
1776
1772
1769
1766
1762
1760
1758
1757
1755
1753
1748
1747
1746
1745
1745
1744
1743
1742
1728
1727
1725
1723
1721
1719
1718
1716
1714
1713
1703
1700
1697
1695
1689
1674
1670
1667
1664
1652
1642
1633
1630
1624
1623
1622
1620
1617
1611
1610
1609
1607
1604
1602
1601
1600
1598
1595
1591
1589
1588
1585
1584
1582
1581
1580
1579
1569
1564
1560
1557
1554
1551
1547
1543
1540
1536
1533
1529
1527
1525
1519
1518
1518
1517
1516
1514
1512
1508
1503
1502
1501
1500
1499
1498
1493
1491
1490
1488
1487
1487
1486
1486
1485
1484
1484
1473
1468
1467
1466
1461
1459
1458
1453
1451
1450
1448
1447
1445
1444
1443
1443
1441
1439
1436
1428
1424
1417
1416
1415
1415
1414
1413
1413
1412
1412
1405
1403
1401
1393
1392
1392
1392
1392
1393
1394
1394
1396
1398
1399
1400
1400
1402
1403
1403
1404
1404
1405
1406
1408
1408
1407
1406
1406
1404
1404
1403
1403
1401
1401
1401
1401
1401
1401
1401
1399
1399
1399
1398
1398
1397
1397
1397
1397
1397
1397
1397
1396
1396
1396
1396
1396
1394
1393
1392
1390
1389
1387
1386
1385
1385
1384
1383
1382
1382
1382
1381
1379
1378
1377
1377
1377
1376
1374
1373
1368
1367
1365
1365
1365
1365
1364
1364
1362
1362
1361
1361
1360
1360
1360
1360
1359
1354
1354
1354
1353
1353
1352
1351
1350
1349
1344
1343
1341
1339
1338
1337
1336
1335
1334
1332
1331
1328
1328
1327
1325
1324
1320
1319
1319
1318
1318
1317
1316
1314
1312
1311
1310
1308
1306
1306
1305
1305
1305
1305
1305
1305
1304
1304
1304
1303
1303
1303
1302
1301
1301
1301
1300
1300
1300
1300
1299
1299
1299
1298
1298
1297
1297
1296
1296
1296
1295
1295
1295
1295
1294
1294
1294
1293
1292
1292
1291
1291
1291
1291
1291
1291
1291
1291
1290
1290
1290
1290
1290
1290
1290
1289
1289
1289
1289
1289
1289
1289
1289
1289
1289
1288
1287
1283
1281
1279
1277
1276
1275
1269
1267
1266
1265
1264
1262
1257
1256
1251
1250
1247
1243
1237
1230
1227
1222
1218
1217
1216
1215
1215
1215
1214
1214
1213
1212
1212
1211
1210
1209
1208
1208
1207
1207
1206
1206
1206
1206
1205
1204
1203
1203
1202
1202
1202
1201
1200
1200
1199
1198
1198
1197
1195
1194
1193
1192
1192
1191
1188
1188
1188
1187
1186
1186
1186
1185
1185
1175
1174
1173
1170
1169
1169
1169
1167
1165
1163
1162
1161
1159
1157
1155
1151
1150
1150
1149
1148
1142
1140
1140
1139
1137
1136
1130
1124
1122
1121
1121
1120
1112
1109
1107
1105
1102
1100
1097
1095
1094
1093
1092
1086
1086
1085
1085
1084
1084
1083
1083
1082
1082
1080
1079
1077
1075
1073
1072
1071
1069
1065
1062
1060
1059
1056
1054
1051
1050
1048
1046
1043
1040
1038
1036
1030
1028
1027
1027
1026
1026
1025
1025
1023
1021
1018
1017
1015
1014
1014
1013
1013
1013
1012
1012
1008
999
998
996
992
990
987
979
976
972
971
969
966
965
963
960
959
957
953
950
947
943
941
939
937
934
928
925
921
918
916
913
906
905
904
902
897
896
890
889
889
887
886
886
885
883
876
875
874
874
873
872
871
870
869
868
866
866
866
865
865
864
861
856
855
853
853
849
848
848
847
847
846
845
844
844
843
840
840
839
839
838
836
836
835
835
831
830
828
827
827
825
824
824
823
822
821
821
820
819
816
814
812
809
809
808
808
808
807
805
805
804
804
804
803
801
796
794
794
792
789
783
782
782
781
780
778
776
772
766
761
760
759
757
754
752
744
741
739
733
732
732
731
730
728
725
724
722
720
717
717
717
717
717
716
716
716
716
716
715
714
712
711
710
709
709
708
707
702
702
701
701
700
704
709
710
710
710
711
711
711
717
722
723
724
735
735
740
741
741
742
743
743
743
744
744