50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
48
48
48
48
48
48
47
47
47
47
48
48
49
50
50
50
50
50
50
50
50
49
48
48
48
47
47
47
47
47
47
46
46
46
46
46
46
46
45
45
45
46
47
47
47
47
46
46
46
46
46
46
46
46
47
47
47
47
47
47
48
48
49
49
50
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
53
53
53
53
53
52
52
52
52
52
53
54
55
55
55
55
54
54
54
54
54
54
54
54
55
55
55
56
56
56
56
56
56
56
56
56
57
57
58
58
58
59
59
59
59
60
60
60
60
60
61
61
61
61
62
62
62
62
61
61
60
60
60
60
60
60
60
61
61
61
61
61
61
62
62
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
62
62
62
62
63
63
64
64
65
65
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
67
67
67
67
67
67
66
65
65
65
65
65
65
65
65
65
65
65
65
66
66
66
66
67
67
67
68
68
68
68
68
68
68
68
69
69
69
69
69
70
70
70
70
70
70
70
70
70
70
70
70
70
70
71
71
71
71
71
71
71
72
72
72
72
72
72
72
72
72
72
72
73
73
73
73
73
73
73
73
74
74
74
74
74
74
74
74
74
74
76
78
81
82
81
80
80
80
80
79
79
78
78
78
79
79
78
77
77
78
79
79
79
79
79
79
79
79
80
80
80
80
80
80
81
82
83
82
82
82
82
82
82
82
82
83
83
84
84
85
85
85
86
86
87
87
87
88
88
89
89
89
90
90
91
91
91
91
91
92
93
93
94
95
95
95
95
94
94
94
95
97
97
97
97
97
98
98
99
100
101
101
101
101
101
102
103
103
104
104
104
104
106
107
107
107
108
108
109
109
110
110
110
110
111
112
112
113
113
113
114
114
115
116
118
119
119
119
119
120
120
120
121
121
121
122
122
122
122
122
122
122
123
124
125
125
125
126
126
126
127
128
130
131
132
132
132
132
132
132
132
133
135
136
137
137
138
138
138
138
139
140
141
142
143
144
144
144
144
144
144
145
145
145
145
145
145
145
145
146
146
146
146
145
145
145
146
146
146
148
149
150
150
150
149
148
148
148
148
148
148
148
148
148
148
148
148
149
149
150
150
150
150
151
151
151
151
151
152
152
152
152
153
154
155
155
155
156
156
157
157
158
158
159
160
160
160
161
161
161
160
160
159
158
158
158
158
158
158
158
158
158
157
157
157
157
157
158
159
162
165
169
173
174
175
176
178
180
182
184
187
189
193
196
199
199
200
202
205
207
211
215
220
226
230
233
236
242
248
252
258
259
258
257
258
260
262
264
268
271
272
273
273
273
273
273
273
274
274
274
274
275
275
275
275
277
278
279
282
283
284
289
292
293
295
297
300
301
302
304
305
305
306
307
307
308
311
311
311
311
311
311
311
311
311
311
311
311
311
313
315
317
319
322
325
326
329
331
332
333
334
335
339
341
344
344
345
346
349
353
356
356
357
358
359
360
363
365
367
369
370
372
374
375
377
380
381
383
385
387
389
390
389
387
385
383
381
380
379
378
378
376
374
373
372
371
368
368
367
364
364
363
362
362
361
361
360
358
357
354
353
352
352
352
354
354
356
359
362
367
370
375
381
385
390
393
395
396
399
402
405
414
418
423
427
429
432
436
440
442
445
447
449
449
450
450
451
451
453
456
458
459
462
464
466
467
469
471
473
474
475
476
477
478
478
478
479
483
486
489
491
493
494
495
495
496
496
496
498
500
505
510
514
527
531
534
536
538
540
540
540
540
540
540
539
539
539
538
538
538
537
537
533
533
532
532
531
531
531
532
532
532
533
533
533
534
534
534
535
535
535
535
535
535
535
535
534
534
534
534
534
534
533
533
533
533
535
537
538
540
542
545
547
548
548
549
550
553
553
554
554
557
558
561
563
564
566
569
572
576
577
579
581
583
585
587
589
592
595
598
602
604
610
615
620
626
631
638
643
645
651
654
658
662
671
673
675
676
677
677
678
679
679
678
677
677
676
674
672
670
669
669
669
671
672
673
675
678
681
685
688
690
694
695
696
697
698
700
701
703
704
704
702
700
698
695
693
693
692
691
691
690
688
687
686
686
685
684
683
681
679
676
674
673
673
673
672
670
668
667
666
664
661
654
652
650
650
649
649
649
658
664
670
678
682
691
695
698
687
677
666
659
652
647
646
644
642
639
636
633
630
630
630
630
630
631
632
634
634
635
638
640
643
646
650
653
654
660
663
667
669
676
678
681
683
684
686
690
691
691
691
691
691
690
690
690
690
690
690
690
689
689
688
688
689
690
688
685
684
683
681
681
681
681
681
681
681
681
681
681
681
681
682
684
690
693
698
704
705
706
707
708
708
707
706
705
704
703
702
701
700
697
694
691
686
683
682
681
680
680
679
679
678
677
677
676
675
675
675
675
675
675
675
675
675
675
675
676
676
676
676
676
676
676
676
678
683
687
687
686
685
681
678
675
672
671
670
667
666
665
664
663
663
647
645
644
642
641
637
635
633
633
633
634
635
638
641
644
646
648
649
650
650
650
649
648
646
643
640
638
634
631
628
626
624
621
615
613
611
610
609
607
606
605
603
602
602
601
600
599
597
597
578
575
560
558
557
557
555
553
549
548
546
546
546
546
546
546
546
547
547
547
547
547
547
547
546
546
546
544
543
542
542
541
541
540
539
537
534
533
530
527
525
523
521
521
519
519
519
519
519
519
517
516
514
513
508
506
505
501
497
495
489
487
483
482
481
480
480
479
478
478
477
476
471
468
467
465
464
462
461
460
457
456
454
450
447
445
443
441
439
438
435
433
430
428
425
423
421
419
416
413
407
404
402
400
396
392
391
390
388
387
383
382
381
380
379
380
381
367
365
363
362
360
359
358
356
354
352
315
311
306
304
302
301
300
300
299
299
299
299
299
299
300
303
305
307
308
310
311
314
315
317
318
320
320
319
318
318
319
320
320
319
319
319
319
320
321
321
321
321
320
319
318
317
315
314
314
315
315
316
317
318
318
320
320
319
318
317
317
317
317
318
319
320
320
321
321
321
321
320
319
321
325
328
327
325
323
322
321
322
323
324
324
323
323
324
325
327
328
332
336
340
345
348
350
353
354
354
355
355
355
353
350
348
345
345
345
345
345
345
348
353
357
362
366
368
373
383
392
400
408
413
418
425
425
424
420
418
420
422
425
427
429
432
433
434
435
434
433
430
427
422
419
416
411
410
406
402
398
397
395
394
391
389
387
384
381
371
363
356
353
352
352
351
349
350
352
354
355
355
355
355
355
357
359
360
360
359
360
362
364
364
364
364
364
364
364
367
372
374
374
374
374
374
375
377
376
375
376
378
382
387
389
387
385
382
385
387
387
388
389
390
391
392
392
393
395
397
400
402
403
401
400
401
402
403
404
404
403
402
402
402
402
402
403
405
406
407
411
417
424
429
434
436
437
438
438
438
440
442
444
444
442
439
438
443
448
444
438
437
431
427
428
432
435
438
443
448
452
455
458
460
461
461
462
463
464
466
468
470
471
471
472
474
477
479
480
482
484
490
497
504
509
514
516
517
519
521
523
524
525
525
528
531
533
554
563
576
578
579
580
581
581
582
584
585
587
589
592
596
600
602
605
608
611
614
618
620
622
623
625
626
628
630
633
635
637
639
642
649
660
666
672
679
687
689
692
695
697
700
701
704
706
715
723
733
741
751
765
767
764
759
748
748
748
748
748
747
747
747
746
746
744
743
741
741
742
742
743
744
744
745
745
746
747
747
748
748
747
747
745
745
745
756
758
764
768
774
777
790
807
836
834
832
831
831
834
838
842
846
850
854
872
873
874
876
877
878
879
880
881
882
885
889
895
901
905
909
914
924
935
944
957
973
996
1006
1014
1021
1031
1026
1018
1013
1007
1001
994
987
983
981
981
980
980
983
986
990
995
995
995
995
996
998
999
1000
1003
1005
1008
1010
1010
1011
1013
1016
1019
1023
1027
1032
1036
1039
1045
1047
1049
1051
1053
1059
1063
1064
1066
1069
1071
1075
1078
1081
1089
1091
1093
1094
1096
1098
1098
1098
1097
1097
1097
1099
1099
1099
1099
1099
1099
1098
1098
1098
1098
1098
1097
1097
1097
1097
1097
1097
1097
1097
1097
1097
1098
1098
1098
1098
1098
1099
1099
1099
1099
1099
1100
1100
1100
1100
1100
1100
1100
1100
1100
1100
1100
1100
1100
1100
1100
1100
1100
1100
1100
1100
1099
1099
1098
1098
1098
1098
1097
1097
1097
1096
1096
1095
1093
1092
1090
1088
1087
1086
1085
1083
1082
1079
1076
1060
1058
1055
1052
1048
1038
1027
1024
1020
1018
1016
1014
1011
1005
1000
997
994
989
987
985
984
983
984
985
987
990
992
989
984
979
987
994
1001
1003
1006
1008
1010
1011
1014
1021
1026
1027
1027
1027
1027
1026
1026
1024
1022
1021
1021
1021
1022
1022
1022
1023
1023
1023
1024
1025
1026
1027
1028
1028
1026
1024
1022
1022
1023
1024
1023
1018
1015
1015
1017
1019
1021
1023
1025
1028
1030
1031
1029
1027
1024
1020
1015
1012
1012
1012
1010
1008
1007
1007
1007
1007
1006
1006
1008
1011
1011
1011
1010
1010
1012
1015
1017
1018
1019
1020
1022
1023
1022
1021
1023
1026
1026
1022
1020
1024
1028
1032
1037
1044
1048
1048
1048
1048
1048
1048
1048
1049
1050
1052
1056
1060
1064
1065
1066
1067
1069
1069
1071
1073
1075
1076
1078
1080
1082
1083
1084
1085
1087
1087
1087
1087
1087
1086
1086
1086
1086
1086
1086
1086
1086
1086
1087
1087
1088
1088
1086
1084
1082
1080
1077
1076
1076
1076
1076
1075
1073
1070
1068
1065
1064
1063
1063
1063
1063
1063
1062
1061
1060
1059
1058
1057
1057
1057
1057
1057
1059
1060
1062
1064
1067
1071
1074
1074
1075
1076
1078
1080
1081
1083
1082
1081
1080
1078
1077
1076
1075
1074
1074
1074
1074
1074
1074
1074
1074
1074
1074
1074
1074
1075
1078
1081
1083
1085
1086
1086
1086
1086
1086
1088
1091
1093
1095
1095
1095
1095
1095
1097
1098
1099
1101
1104
1107
1108
1111
1113
1114
1117
1119
1121
1122
1122
1122
1122
1122
1122
1122
1122
1122
1122
1122
1122
1122
1122
1123
1126
1129
1133
1135
1139
1141
1142
1144
1147
1151
1155
1158
1162
1174
1174
1175
1175
1175
1175
1175
1175
1174
1174
1174
1174
1175
1176
1180
1183
1185
1186
1187
1188
1189
1189
1190
1190
1190
1191
1192
1192
1193
1193
1191
1189
1187
1186
1185
1184
1181
1178
1176
1174
1171
1166
1162
1159
1155
1150
1145
1141
1137
1136
1134
1133
1131
1131
1131
1131
1130
1125
1124
1123
1123
1122
1121
1120
1119
1117
1114
1114
1112
1112
1111
1107
1104
1102
1099
1095
1093
1091
1086
1085
1079
1079
1077
1076
1075
1073
1072
1071
1069
1061
1056
1054
1052
1051
1049
1047
1046
1044
1043
1037
1035
1033
1031
1029
1027
1025
1023
1022
1022
1022
1022
1022
1021
1022
1024
1025
1026
1027
1028
1028
1028
1028
1028
1028
1028
1028
1028
1028
1027
1026
1025
1024
1023
1022
1021
1021
1020
1019
1015
1013
1013
1012
1011
1008
1003
999
996
995
992
988
985
982
980
978
976
974
972
971
962
951
945
947
948
951
951
951
951
951
947
943
938
935
933
929
926
922
920
919
917
916
915
915
915
916
916
917
917
917
917
917
917
917
917
917
917
917
917
917
917
918
919
919
920
922
923
925
926
926
925
924
923
920
915
913
912
911
908
905
902
899
897
893
890
887
884
881
879
876
872
869
865
861
856
857
858
860
861
861
858
854
851
846
841
837
834
831
828
825
821
818
812
811
811
811
811
809
808
806
803
799
795
793
792
790
788
783
781
778
774
770
767
763
761
759
756
754
753
752
749
748
746
746
745
745
744
746
747
748
749
750
753
758
763
768
771
773
779
785
791
794
797
800
808
815
824
832
840
849
885
889
886
884
883
882
881
879
878
878
877
876
49
49