48
48
49
52
53
53
53
53
53
52
52
52
51
51
51
51
50
50
50
51
55
56
57
60
61
66
66
66
66
66
66
66
66
66
65
65
65
68
68
68
68
68
68
68
68
69
71
71
72
72
72
71
69
68
68
68
69
69
69
69
70
70
72
71
71
72
72
72
72
73
73
74
75
76
76
74
72
72
73
74
79
82
87
88
102
103
137
159
166
167
168
170
171
173
217
218
232
232
233
233
245
252
258
260
263
263
262
262
262
264
265
267
269
267
264
263
260
259
258
258
258
252
250
247
241
239
236
236
235
232
226
226
225
222
222
221
221
220
217
215
212
209
208
204
188
186
177
176
175
170
168
164
162
160
157
156
152
147
144
143
143
141
141
140
139
137
136
132
132
125
122
117
114
112
105
99
95
93
92
91
90
90
88
88
86
86
85
84
84
81
76
77
77
78
79
76
76
73
73
73
72
71
67
66
64
62
58
60
62
62
63
63
63
64
64
65
65
68
69
69
69
69
69
69
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
69
69
67
66
66
66
66
66
65
65
65
66
66
67
68
68
68
67
67
65
65
65
65
65
65
66
67
67
67
66
64
64
64
64
64
64
64
65
65
66
66
66
66
66
66
66
66
67
67
67
68
68
69
69
70
70
72
72
72
72
72
72
72
72
70
70
69
68
68
68
68
66
66
66
66
66
66
66
66
67
67
67
67
67
68
68
69
70
70
70
70
71
71
72
72
72
69
69
69
69
69
70
70
71
71
71
71
72
72
73
73
73
74
74
74
74
74
76
77
78
79
79
79
85
88
93
95
97
103
105
107
108
108
106
113
134
138
143
152
164
166
167
168
170
172
178
179
180
190
193
197
201
205
206
206
210
214
219
221
225
226
229
231
232
237
245
250
258
264
272
272
271
270
270
272
278
279
279
279
279
278
277
276
275
274
274
272
269
264
263
262
261
260
260
259
258
257
256
255
251
243
223
216
215
212
211
205
194
181
177
172
169
165
148
145
130
124
122
119
118
117
114
113
110
110
109
108
108
106
104
103
102
102
102
103
105
105
106
106
107
107
108
110
112
117
118
123
124
127
129
129
129
129
130
130
130
130
131
132
132
132
133
134
136
139
140
141
142
144
145
148
150
152
155
157
157
157
158
166
172
174
194
205
207
208
209
210
211
213
214
217
217
218
219
221
222
223
223
226
227
228
233
233
233
233
234
236
236
241
241
241
243
248
252
251
250
250
249
249
250
252
254
255
256
257
257
258
255
254
252
249
248
244
243
241
239
238
238
238
238
238
238
238
238
238
238
238
238
238
237
236
234
234
233
232
230
229
229
229
230
231
233
234
236
237
237
237
237
237
238
244
245
250
251
252
252
254
255
256
264
267
269
270
273
278
281
284
306
310
317
319
325
326
328
329
330
333
335
339
341
347
350
351
355
356
360
364
366
367
367
368
364
370
380
396
409
410
410
416
425
427
430
427
424
423
424
428
432
434
436
438
445
450
452
454
455
456
463
473
477
483
484
488
495
500
504
509
512
516
518
519
520
523
523
524
524
525
525
525
524
523
521
508
507
504
502
502
500
499
502
502
503
499
497
493
488
484
481
478
476
473
469
465
460
459
466
471
471
470
466
465
466
467
465
460
456
463
464
465
466
466
465
464
464
462
462
460
468
480
493
483
479
466
454
433
425
424
421
420
419
418
416
414
412
408
408
412
417
417
417
416
416
416
418
419
420
420
423
426
434
435
438
454
460
480
495
503
511
519
522
527
530
530
532
539
542
544
546
547
549
552
556
558
560
561
560
558
556
549
539
533
526
520
516
509
503
496
488
479
475
469
467
466
466
463
460
458
456
455
454
453
440
438
437
437
437
437
437
435
434
433
433
435
437
438
443
444
449
450
452
453
454
455
455
457
457
459
465
466
467
468
469
470
476
481
479
478
477
474
474
474
475
475
475
473
471
469
468
468
473
474
475
477
481
483
488
489
489
488
498
499
504
503
503
504
504
506
508
511
515
521
524
525
525
525
525
529
530
530
536
541
542
547
548
549
550
551
552
553
553
554
555
556
558
559
574
578
578
579
579
580
582
585
587
588
596
601
602
604
611
611
611
611
611
611
611
613
613
616
618
618
619
620
620
621
622
622
623
624
626
627
630
636
639
642
646
647
650
651
652
654
657
661
670
672
676
678
680
681
684
686
689
692
693
694
697
701
704
707
707
707
708
708
708
708
708
709
714
719
724
726
726
728
729
742
750
766
768
768
768
765
761
761
761
761
761
761
761
764
764
766
766
779
787
788
792
795
801
801
802
804
805
807
809
811
813
815
816
818
820
827
832
840
843
847
849
850
852
857
858
861
868
870
875
885
896
899
901
905
909
911
914
914
920
925
929
934
938
943
949
954
949
943
924
910
901
897
895
892
891
890
890
891
892
892
893
894
894
896
905
907
907
907
907
908
909
913
915
916
919
919
919
919
919
919
920
920
920
920
920
917
917
916
915
913
909
907
904
904
903
902
902
901
901
902
902
905
906
907
907
905
905
903
903
901
901
900
899
899
898
897
897
897
897
897
897
898
898
898
898
898
898
898
898
898
898
898
898
896
895
893
891
889
888
885
882
880
877
876
873
868
865
861
860
857
855
852
852
849
846
845
842
842
844
846
849
850
852
853
854
855
856
857
857
857
859
860
861
861
863
867
869
870
872
875
876
878
879
880
880
882
883
884
884
885
886
887
888
890
892
893
894
895
896
897
897
899
901
901
903
904
904
904
904
905
906
908
909
911
912
914
915
917
918
919
920
921
922
924
925
925
926
927
929
931
933
934
934
936
938
938
939
940
941
942
942
942
938
920
917
912
909
908
905
904
898
894
892
892
892
893
895
896
896
894
892
888
887
879
879
877
875
874
871
868
863
860
858
856
854
853
852
850
849
847
844
843
840
835
826
819
818
818
818
815
813
809
796
795
796
797
800
800
802
804
805
806
812
813
814
816
818
819
820
823
828
830
833
834
835
838
839
843
848
848
848
849
851
852
853
854
855
856
860
861
862
863
864
866
868
869
871
873
873
874
875
877
878
879
884
889
890
896
898
899
902
903
905
908
912
913
915
917
917
920
922
923
926
930
933
936
938
939
939
940
941
941
947
949
950
950
951
951
952
954
958
963
966
969
972
976
979
980
996
1043
1057
1090
1130
1126
1126
1126
1126
1129
1137
1139
1140
1140
1141
1141
1142
1142
1140
1138
1138
1135
1131
1127
1123
1122
1120
1116
1115
1114
1112
1110
1105
1101
1097
1094
1090
1085
1083
1081
1081
1081
1074
1069
1065
1065
1065
1065
1065
1065
1065
1066
1073
1080
1084
1088
1092
1096
1102
1106
1109
1111
1114
1115
1118
1119
1121
1125
1129
1135
1146
1146
1146
1145
1145
1137
1135
1125
1118
1107
1099
1097
1097
1097
1099
1101
1102
1102
1101
1082
1077
1075
1071
1066
1062
1062
1062
1061
1060
1061
1062
1063
1064
1063
1061
1060
1058
1057
1056
1055
1054
1053
1052
1052
1052
1051
1050
1050
1048
1047
1047
1047
1047
1047
1047
1047
1047
1045
1044
1042
1040
1034
1031
1029
1025
1022
1018
1013
1012
1016
1019
1027
1032
1037
1043
1046
1053
1093
1117
1146
1167
1205
1205
1204
1203
1202
1200
1196
1193
1190
1189
1187
1187
1187
1187
1187
1187
1187
1187
1187
1186
1185
1183
1181
1180
1179
1178
1176
1173
1171
1168
1166
1165
1163
1162
1161
1159
1158
1157
1156
1155
1153
1152
1151
1149
1147
1144
1139
1137
1136
1135
1135
1134
1133
1131
1130
1129
1128
1127
1126
1125
1123
1123
1123
1123
1123
1123
1122
1120
1116
1114
1112
1110
1108
1106
1104
1104
1103
1103
1103
1101
1089
1089
1083
1074
1067
1062
1060
1059
1057
1054
1054
1053
1051
1049
1046
1044
1043
1042
1042
1041
1040
1038
1038
1038
1038
1038
1039
1039
1039
1040
1040
1040
1038
1035
1032
1028
1020
1016
1014
1009
1006
1000
999
996
995
990
988
986
984
981
976
971
969
969
970
970
970
971
971
971
971
971
971
971
970
969
968
967
965
963
961
959
957
955
953
951
949
946
945
944
943
943
942
941
941
940
938
938
938
938
937
934
932
930
924
923
922
920
916
912
912
913
913
912
912
911
911
907
905
901
900
900
899
898
898
897
897
897
897
898
900
900
901
902
903
903
903
903
903
903
902
902
902
902
902
902
902
902
902
902
902
902
902
903
903
903
903
904
907
908
911
915
916
917
919
920
922
924
926
928
929
930
932
933
935
935
938
945
949
949
953
956
957
961
965
966
968
970
973
976
979
982
983
984
986
987
989
994
997
1000
1002
1005
1010
1012
1014
1017
1018
1020
1023
1029
1031
1034
1039
1040
1040
1040
1041
1041
1041
1041
1041
1041
1040
1040
1039
1039
1039
1039
1039
1039
1039
1039
1039
1039
1038
1036
1034
1032
1032
1040
1052
1060
1067
1069
1074
1077
1076
1070
1069
1068
1065
1058
1057
1057
1056
1056
1056
1056
1056
1056
1055
1055
1055
1053
1044
1039
1029
1022
1006
1001
988
985
982
978
976
975
974
971
967
960
954
950
947
943
940
934
930
929
928
924
921
917
914
908
907
905
904
903
901
901
900
897
897
895
895
895
895
895
895
894
894
893
893
893
893
892
892
891
891
891
888
886
884
883
882
880
880
880
880
884
887
888
892
893
894
895
896
896
897
899
900
900
903
904
904
905
905
907
908
908
909
909
909
910
910
910
910
910
910
910
910
911
912
912
914
915
915
916
917
918
919
921
922
924
925
926
931
932
933
944
946
947
952
954
958
959
961
962
967
972
978
983
989
995
1001
1005
1006
1010
1022
1024
1029
1030
1032
1039
1040
1041
1041
1042
1042
1045
1046
1049
1051
1050
1050
1050
1049
1045
1045
1044
1043
1041
1038
1037
1036
1032
1029
1029
1028
1027
1025
1020
1018
1017
1014
1012
1008
1006
1003
1002
1002
1001
1002
1003
999
993
978
974
972
969
966
960
955
951
947
944
940
935
932
926
922
920
916
910
908
907
905
904
902
901
897
895
893
891
889
888
887
886
885
878
873
865
859
852
847
845
844
843
842
840
838
836
829
828
824
822
821
821
819
817
815
813
811
809
800
793
788
786
784
783
782
781
780
780
780
780
780
780
780
780
779
778
773
772
772
769
768
765
764
763
762
761
760
757
754
752
743
741
737
737
736
735
734
732
732
730
729
727
726
725
718
716
710
706
703
702
700
700
698
697
697
700
701
703
707
708
708
709
709
711
711
706
702
699
696
695
694
689
686
683
681
679
678
677
676
675
673
671
670
669
665
663
661
655
653
651
650
647
645
643
643
642
641
641
640
639
637
637
636
636
636
634
633
631
630
628
623
620
618
614
611
604
602
595
581
572
569
565
563
559
557
554
553
544
538
535
525
523
518
518
518
517
513
509
508
505
497
497
497
497
497
497
497
497
496
487
485
482
480
478
476
475
474
473
472
471
470
468
468
468
467
467
465
465
462
461
459
457
455
454
453
451
449
448
448
447
446
445
442
441
437
434
432
428
425
424
422
418
417
408
405
405
400
398
396
396
396
396
396
396
396
395
395
395
395
395
395
397
399
400
398
397
395
391
390
388
386
382
377
376
373
364
361
357
356
355
352
350
345
344
343
343
343
343
343
341
334
334
333
332
330
328
327
327
327
327
327
330
336
338
339
340
341
342
342
345
346
348
350
350
350
350
350
351
351
351
351
351
351
351
351
351
351
351
349
348
347
345
342
339
333
325
323
322
320
320
321
321
321
322
322
323
324
326
328
327
327
326
326
325
324
318
317
317
317
317
317
319
320
322
326
325
324
323
320
319
316
311
312
313
315
326
328
332
332
332
332
331
330
324
322
321
320
319
317
317
313
312
311
310
309
308
307
299
302
303
312
312
311
311
309
307
301
300
295
295
295
294
294
291
289
289
287
287
287
287
286
285
284
282
282
282
283
283
283
282
282
283
285
285
285
286
286
286
286
286
286
286
286
286
286
286
287
287
282
280
280
279
279
279
279
278
276
275
274
274
273
271
271
271
271
269
268
267
267
266
264
263
263
263
262
258
257
254
255
257
257
260
255
255
255
255
252
252
252
252
249
247
245
243
240
237
236
234
233
233
233
232
232
231
231
226
221
221
222
222
222
222
223
223
223
224
224
225
226
229
229
231
232
234
237
239
241
242
242
244
244
244
245
247
248
250
252
254
255
260
266
266
273
276
280
282
283
285
287
289
291
293
295
297
298
300
309
312
316
320
324
324
325
326
326
326
324
323
321
321
320
318
317
316
315
313
316
317
323
327
329
333
334
334
337
339
342
346
351
353
355
363
370
374
378
383
387
396
399
404
405
406
415
420
428
431
435
437
438
439
441
443
444
446
447
451
452
455
457
458
459
461
462
465
466
467
468
469
469
469
469
469
469
469
470
470
470
470
470
470
470
469
468
467
466
463
464
466
470
472
476
477
479
481
484
487
488
490
491
499
501
502
503
510
515
517
519
520
520
521
521
522
522
524
525
526
527
528
530
531
533
536
539
542
543
546
548
550
553
559
560
561
564
566
567
569
569
572
569
567
566
565
561
561
559
558
557
556
555
555
554
553
553
552
550
547
546
545
540
537
535
534
533
530
529
528
528
531
537
538
539
541
542
543
545
551
553
555
562
563
565
568
569
569
571
573
577
579
582
588
593
598
602
605
608
610
611
612
613
613
613
611
611
610
608
607
605
605
602
598
597
587
584
580
570
562
556
551
545
536
533
527
526
524
517
507
500
499
497
496
495
494
494
492
490
485
483
479
475
465
455
450
439
427
424
420
416
414
408
406
406
404
403
401
394
391
388
383
381
380
379
379
381
382
384
386
388
391
395
396
397
398
401
403
405
406
407
409
413
416
417
418
424
425
428
431
432
440
440
443
444
447
453
454
455
457
459
460
462
464
465
465
465
465
465
465
466
469
460
453
451
450
448
447
446
446
445
444
443
441
441
437
434
433
427
426
423
420
418
416
415
415
414
414
413
411
411
408
406
405
405
402
402
402
402
405
407
408
411
412
422
429
433
435
437
448
448
448
448
448
448
449
450
451
454
455
456
461
466
468
469
474
486
490
497
506
508
512
515
517
524
531
534
539
540
541
542
544
545
549
551
553
555
556
559
565
566
569
574
577
579
581
582
584
586
587
590
593
595
600
603
605
608
610
611
612
614
614
618
619
619
621
623
626
629
632
636
639
641
643
644
645
647
649
649
649
649
646
641
639
637
618
616
615
612
610
608
608
602
599
594
592
590
589
585
585
585
585
585
585
585
585
585
585
585
585
586
586
586
587
588
589
589
590
591
591
594
594
597
597
597
597
597
597
597
596
593
595
598
599
601
601
600
599
599
598
597
596
595
594
593
592
591
588
587
586
584
583
581
577
571
567
563
559
555
553
552
550
549
541
539
538
538
538
538
539
540
541
541
542
542
543
545
542
541
539
539
538
534
533
532
530
529
526
524
524
522
522
521
521
521
521
520
518
516
515
513
511
510
508
504
502
497
496
495
477
461
460
457
455
452
449
447
446
443
440
439
438
436
436
427
423
420
418
415
414
412
412
411
410
402
401
400
398
389
383
377
375
372
371
370
369
369
365
363
360
359
358
357
357
356
355
353
351
348
340
338
337
335
335
335
335
341
353
359
361
366
367
367
366
365
365
366
368
368
368
367
367
367
369
369
372
374
374
374
374
375
376
379
381
383
384
386
388
388
388
388
388
388
388
388
395
398
406
409
409
410
411
411
412
413
415
416
417
418
419
420
421
423
425
426
428
429
431
432
443
449
455
457
456
456
455
454
454
455
455
457
460
461
463
479
480
481
483
484
486
487
488
490
490
492
493
495
496
496
497
499
500
500
501
501
502
506
508
510
511
513
522
523
536
538
539
540
541
542
542
543
544
544
546
547
551
556
556
556
555
555
559
563
568
569
569
570
577
583
587
589
592
594
595
597
600
601
601
602
603
605
607
608
611
612
614
615
617
619
623
624
624
625
630
631
632
633
635
638
640
641
642
641
639
637
637
637
638
639
640
640
640
642
644
648
654
655
657
659
662
665
667
669
672
673
674
675
676
677
678
678
678
678
679
679
680
680
680
680
679
679
678
678
677
676
674
672
671
669
665
663
662
662
662
659
657
655
654
652
649
649
649
649
649
648
645
645
644
643
643
642
641
641
640
638
637
634
632
629
622
620
619
617
616
614
613
613
613
608
606
604
604
604
604
604
605
609
609
609
609
608
608
608
608
608
608
608
609
610
610
610
609
608
607
604
600
598
597
598
600
600
599
591
591
591
591
591
591
589
586
581
577
575
574
572
570
569
568
563
558
555
550
547
545
542
535
529
525
522
521
519
518
514
511
506
500
499
496
494
491
488
484
482
480
477
476
474
472
469
467
465
464
462
456
455
452
451
449
447
445
444
442
441
436
434
432
428
427
422
421
419
418
416
415
413
411
408
403
401
400
398
396
396
395
395
394
394
394
394
393
391
386
385
383
376
375
364
362
361
360
356
355
352
341
338
331
329
327
326
324
322
319
316
312
307
306
302
300
299
296
292
291
282
281
278
277
277
276
274
271
269
268
265
265
266
267
268
268
269
269
265
258
252
245
236
227
219
211
207
198
196
191
189
185
181
179
172
171
170
168
168
166
165
165
164
162
162
162
161
161
161
161
161
161
162
164
165
164
163
163
162
162
160
158
155
152
144
143
134
132
130
125
122
120
119
119
119
118
117
117
112
109
107
105
101
96
91
87
87
74
74
73
71
71
70
68
68
68
69
69
69
69
68
67
67
65
65
66
65
65
65
65
66
67
66
62
63
63
63
63
62
61
61
60
60
58
55
55
55
55
53
53
53
53
52
51
50
47
47
47
48
49
49
50
51
51
51
51
51
50
49
48
48
47
47
47
47
46
46
46
45
45
45
45
45
45
45
46
46
46
46
46
46
46
47
47
47
47
50
50
50
50
50
50
50
50
49
49
48
48
48
48
48
48
48
48
48
49
49
49
49
49