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
50
50
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
50
51
51
52
52
52
51
51
51
51
51
51
51
51
51
52
53
53
53
52
52
52
53
53
54
54
55
56
55
55
56
57
57
58
59
59
59
59
57
57
58
59
58
58
58
58
59
59
59
59
59
60
62
63
63
63
63
63
63
63
63
63
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
65
65
65
65
66
66
66
66
67
67
68
68
68
68
68
68
69
69
69
69
69
69
69
69
69
69
69
69
69
69
70
70
70
70
70
70
70
70
70
71
71
71
71
71
71
71
71
72
72
72
72
72
72
73
73
73
74
74
74
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
76
76
76
76
76
76
76
77
77
77
78
79
79
79
79
79
79
79
80
80
81
82
82
82
82
83
83
83
84
84
84
84
84
84
84
84
85
85
86
86
86
86
86
86
86
86
85
85
85
85
85
85
85
85
85
85
85
86
86
86
87
87
87
88
88
89
89
90
90
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
92
92
92
93
94
94
95
95
95
95
95
95
94
94
94
93
93
93
93
94
96
96
96
96
96
96
96
97
97
98
98
99
100
101
101
101
101
102
103
103
103
103
104
104
104
104
104
104
104
104
104
104
104
104
105
105
105
105
106
106
106
107
107
107
108
108
108
108
108
108
109
109
109
109
110
110
110
111
111
111
111
111
111
112
112
112
112
112
112
112
112
112
113
113
114
114
114
114
115
116
116
117
117
117
117
117
117
117
118
118
118
119
120
121
122
122
123
123
123
123
122
122
122
122
122
122
122
122
122
122
122
122
123
123
123
123
123
124
124
124
124
124
124
124
124
124
124
125
125
125
125
125
125
125
124
124
124
124
124
124
125
125
126
126
127
128
129
129
129
129
129
130
130
130
130
130
130
130
130
130
130
130
130
130
130
131
131
132
132
132
132
132
133
133
133
133
134
134
134
134
135
135
135
135
135
135
135
135
135
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
138
138
138
138
139
139
139
139
140
140
141
141
142
142
143
143
144
144
145
145
145
145
145
146
146
146
147
147
148
148
148
148
148
148
148
148
148
148
148
148
148
149
150
151
151
151
151
151
151
151
151
151
151
152
152
153
154
154
154
155
156
157
157
156
156
156
156
156
157
158
159
159
159
160
160
160
160
160
160
160
160
161
161
161
162
162
163
164
164
165
166
167
168
169
170
171
171
170
169
169
169
169
170
170
170
171
172
174
174
174
174
175
176
177
177
177
177
178
179
179
179
179
179
180
180
180
181
181
182
182
182
182
182
183
184
185
186
186
187
187
187
187
188
188
188
189
189
189
189
189
189
189
189
189
190
191
191
191
192
192
193
193
195
196
197
197
198
199
199
199
199
199
199
199
200
201
201
201
202
203
204
206
206
206
206
206
207
207
207
207
208
208
209
210
211
212
212
213
215
216
218
220
220
220
221
221
221
219
219
219
219
219
220
221
222
223
223
223
222
221
221
221
222
222
222
221
220
218
217
216
217
219
220
221
223
224
225
227
229
232
234
237
240
241
242
243
243
243
243
242
241
241
242
244
246
247
247
248
248
248
249
249
249
250
250
250
250
250
250
250
250
250
252
259
263
268
272
273
273
274
274
274
275
275
275
280
285
289
289
290
296
299
301
302
306
310
313
314
316
317
319
322
325
328
331
333
335
337
337
340
342
344
348
351
353
355
360
364
367
368
370
372
375
377
378
380
381
381
382
383
383
382
381
380
377
376
374
374
373
371
370
369
367
366
365
361
355
352
350
348
347
345
344
342
341
340
341
342
344
350
354
360
365
370
373
376
375
373
372
370
368
366
364
362
360
354
352
352
350
348
346
345
346
347
349
350
352
353
354
356
362
364
364
365
365
366
366
367
367
367
371
372
375
379
383
388
389
390
390
391
391
392
392
392
394
395
395
396
396
397
394
389
382
379
371
370
369
367
364
360
358
357
356
352
351
349
348
347
345
343
342
340
339
336
335
335
337
340
344
345
345
346
346
346
347
347
347
347
347
347
347
347
347
348
350
352
353
354
354
356
356
357
358
358
357
356
356
355
354
354
353
353
352
351
351
350
350
348
347
346
345
344
341
340
338
336
335
334
334
335
338
340
341
344
347
352
357
362
366
369
372
375
377
381
384
386
388
390
393
394
397
400
405
409
415
422
429
435
436
438
441
442
444
453
458
464
465
465
465
466
466
466
466
466
466
466
467
467
467
467
467
468
472
473
479
486
492
499
501
508
517
526
529
535
538
541
545
548
550
552
559
569
580
592
591
590
589
588
589
591
592
593
595
596
598
600
602
606
610
615
620
623
624
629
634
636
642
650
659
670
674
682
684
685
688
693
695
698
706
716
723
731
735
740
743
741
739
737
738
739
740
740
740
740
740
740
740
740
740
728
727
726
724
723
721
720
719
719
721
722
725
728
729
729
730
730
729
728
729
733
740
746
752
757
760
762
769
772
778
781
787
803
806
803
803
803
805
806
808
811
821
827
822
804
811
816
821
823
824
829
835
863
865
866
867
868
869
870
873
875
876
878
881
885
888
895
900
907
913
916
919
921
923
923
924
924
924
923
923
922
921
921
920
918
917
915
914
913
912
911
910
908
907
906
905
903
893
881
879
876
872
868
865
863
862
864
866
868
870
872
874
876
879
880
882
884
885
884
884
883
882
881
881
880
880
876
872
866
862
857
847
834
830
825
815
807
803
798
794
791
790
790
789
789
788
788
787
786
784
783
782
778
777
775
772
769
767
767
766
766
766
766
765
764
761
758
755
745
742
737
736
735
734
732
730
684
679
678
678
676
675
674
671
668
667
670
715
715
720
722
727
730
734
739
743
756
759
761
765
769
774
779
782
755
748
741
737
734
730
728
728
729
729
730
730
731
732
732
733
733
735
733
731
730
729
727
725
724
722
721
719
718
716
715
709
707
704
701
698
695
693
691
689
685
684
682
681
679
678
676
674
673
671
669
667
665
663
662
662
661
661
660
660
659
659
658
658
658
657
657
656
655
654
654
653
653
652
651
650
650
649
648
647
643
639
637
632
631
628
625
614
606
600
596
591
588
585
583
580
576
577
578
580
581
582
583
584
585
586
587
588
589
591
587
584
581
579
577
576
571
569
567
563
561
559
559
558
555
554
553
553
552
552
551
495
496
498
498
498
498
498
497
496
495
493
490
489
488
487
485
483
481
480
479
476
474
473
472
471
471
469
467
467
467
467
466
466
465
465
464
464
464
464
465
466
467
462
458
453
450
445
441
436
432
429
426
424
422
419
419
419
419
419
419
416
411
406
403
402
400
397
397
399
400
400
396
393
390
387
383
380
381
383
385
388
390
391
394
397
395
397
400
404
405
406
406
406
406
406
405
405
405
405
405
405
405
405
405
405
405
405
405
406
406
406
406
407
408
410
418
426
428
428
429
430
430
431
431
432
432
432
431
430
434
439
438
436
434
432
430
435
444
448
450
452
455
459
463
463
463
463
464
468
472
478
483
486
488
492
495
503
510
518
525
529
533
535
539
542
545
548
552
556
559
565
570
575
582
585
588
589
590
591
593
596
600
603
608
611
617
620
628
634
636
639
646
648
650
652
654
655
658
659
661
664
668
670
673
675
678
686
690
695
697
699
703
707
711
716
737
741
745
748
751
752
753
754
754
756
758
761
762
762
761
758
757
752
738
735
733
729
726
723
721
717
714
713
710
709
706
705
702
700
698
697
695
693
692
690
688
687
686
685
684
679
678
676
674
673
672
665
661
659
655
651
648
646
632
626
626
626
626
626
624
622
615
611
609
607
602
601
599
599
595
589
585
588
591
595
596
598
596
594
590
589
589
589
590
590
590
594
598
602
616
617
621
627
631
635
640
643
644
646
650
651
653
656
657
658
660
669
678
683
690
694
695
698
704
708
712
719
723
728
734
740
746
747
749
753
754
756
758
749
744
755
759
766
769
771
772
780
786
791
794
798
802
804
808
811
815
819
825
830
838
846
852
848
844
840
841
842
844
845
849
852
855
858
863
868
871
874
877
878
878
879
879
880
882
889
897
904
911
916
919
921
925
930
924
922
920
917
914
912
911
908
906
905
903
900
898
898
897
896
896
895
894
893
893
892
892
891
891
890
890
887
886
884
883
882
881
877
873
878
881
883
994
1002
1011
1011
1011
1011
1011
1008
1007
1005
1004
1000
997
994
992
993
995
995
994
993
993
992
992
993
994
995
997
998
1000
1002
1004
1006
1008
1008
1009
1010
1010
1011
1011
1011
1010
1010
1009
1009
1009
1009
1008
1008
1008
1008
1008