50
50
51
51
52
52
53
54
54
55
55
55
55
55
55
55
55
55
55
55
55
55
56
56
56
56
56
56
56
56
56
56
56
56
55
55
55
55
55
55
55
55
54
54
54
54
54
53
53
53
53
52
52
52
52
52
52
52
52
52
53
53
53
54
54
54
54
54
54
54
54
54
54
54
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
52
52
51
51
51
51
52
53
54
55
56
57
58
59
60
60
60
60
61
61
61
61
61
61
61
61
60
60
60
59
59
59
59
59
59
59
59
59
59
59
60
60
60
60
61
61
62
62
62
62
62
62
62
62
62
62
63
63
64
64
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
66
66
66
66
67
67
67
67
67
67
67
67
66
66
66
66
65
65
65
65
64
64
64
64
64
64
64
64
64
64
64
65
65
65
66
66
66
66
66
66
66
66
66
66
66
65
65
65
65
64
64
64
64
64
64
64
64
64
64
64
64
64
64
65
65
66
66
67
68
68
69
71
71
72
72
73
73
73
73
74
74
74
74
74
76
77
78
79
80
81
82
83
84
85
86
87
88
88
89
90
91
92
92
93
93
94
94
95
96
96
97
98
99
100
101
101
102
103
104
106
108
109
111
112
114
115
117
118
120
121
123
125
127
129
130
132
134
135
136
137
138
140
141
142
143
144
144
143
142
141
141
140
139
138
138
138
139
140
141
142
143
144
145
146
146
146
146
146
146
146
146
146
146
147
148
149
151
152
153
155
157
158
159
159
159
160
160
160
161
161
161
163
164
166
168
170
171
173
175
176
176
176
175
175
174
174
173
173
173
174
175
176
177
178
179
180
182
183
184
186
187
189
190
192
193
194
195
195
194
194
194
193
193
192
192
192
194
195
197
199
201
203
205
207
209
210
212
214
215
217
218
220
221
223
223
223
224
224
225
225
226
226
226
226
226
225
225
224
224
223
223
223
224
226
228
230
232
234
237
239
240
240
239
238
237
236
235
234
233
233
234
235
236
237
238
239
241
242
243
245
248
250
252
254
256
258
260
262
262
262
262
262
262
262
262
262
262
265
267
269
272
274
276
278
281
280
279
277
275
274
272
271
269
268
267
269
270
272
274
276
277
279
281
283
285
287
289
291
293
295
297
299
300
299
299
298
297
296
296
295
294
294
294
295
295
296
297
297
298
299
299
300
300
300
300
300
300
300
300
300
301
302
304
305
307
308
310
311
312
314
316
317
319
321
322
324
325
327
328
328
329
329
330
330
330
331
331
332
333
334
335
336
337
338
340
341
342
342
343
344
345
346
347
348
349
350
352
353
355
356
357
359
360
362
362
362
362
362
363
363
363
363
364
367
369
371
374
376
378
381
383
384
383
382
381
381
380
379
378
377
377
378
379
380
381
381
382
383
384
386
387
389
390
391
393
394
396
397
398
399
400
401
402
403
404
405
406
407
409
411
412
414
416
417
419
420
422
423
424
426
427
428
430
431
433
434
435
435
436
437
438
438
439
439
650
651
652
652
653
654
654
655
656
658
659
660
661
662
663
664
665
666
667
667
668
669
670
670
671
672
673
674
675
676
677
677
678
679
679
679
679
679
679
679
679
679
679
679
679
679
679
679
679
679
679
678
678
678
677
677
677
676
676
676
676
676
677
677
678
678
679
679
679
679
679
678
678
678
678
678
679
680
681
682
683
685
686
686
686
685
685
684
683
683
683
683
684
685
686
687
688
689
690
690
690
690
690
690
690
690
690
691
691
692
693
693
694
694
695
696
696
696
695
695
694
694
693
693
693
693
694
694
695
695
696
696
696
695
694
693
692
691
690
689
689
689
689
689
690
690
690
690
691
692
693
693
694
695
696
696
696
697
697
698
698
698
698
698
698
698
697
697
697
697
697
696
696
695
695
694
694
694
694
695
697
698
700
701
702
703
703
703
702
701
701
700
700
699
699
700
701
703
704
705
707
708
708
707
706
704
703
702
701
699
698
698
698
698
698
698
698
698
698
699
699
699
700
700
700
701
701
702
703
704
705
706
707
708
709
710
710
710
711
711
711
712
712
712
714
716
718
719
721
723
724
726
728
729
730
731
732
732
733
734
735
736
737
738
740
741
742
744
745
746
748
749
749
749
749
749
750
750
750
750
751
752
753
755
756
757
758
759
760
762
762
763
764
764
765
765
766
767
767
768
768
768
768
769
769
769
769
769
770
770
770
770
770
770
770
770
770
770
770
771
771
771
772
772
773
774
776
777
779
780
782
783
785
786
787
787
788
788
789
789
789
790
790
790
790
790
789
789
788
788
787
787
669
669
668
668
668
667
667
667
666
665
664
664
663
662
661
660
659
659
659
658
658
657
657
657
656
656
656
655
655
654
654
653
653
652
652
652
652
652
652
652
652
652
651
651
651
651
651
650
650
650
650
650
649
648
647
646
645
644
643
642
641
640
640
640
640
639
639
639
639
639
638
638
638
638
638
637
637
637
637
637
637
637
637
637
637
637
637
637
638
638
638
638
639
639
639
639
639
639
639
639
639
639
638
638
638
638
638
638
638
638
638
639
639
639
639
639
640
640
640
640
640
640
640
640
640
641
641
641
641
641
641
641
641
641
641
642
642
643
644
644
645
646
647
647
648
648
648
648
649
649
649
649
649
650
651
652
652
653
654
655
655
656
657
657
658
658
658
659
659
660
660
661
661
661
661
661
661
661
661
661
660
659
658
658
657
656
655
655
654
653
653
653
653
652
652
652
652
652
652
653
654
655
655
656
657
658
659
659
659
658
657
656
655
654
653
653
652
651
650
649
648
647
646
645
644
644
644
644
644
644
644
644
644
644
645
645
646
647
648
648
649
650
651
651
652
652
653
653
654
654
654
655
655
656
656
657
657
658
658
659
660
660
661
661
662
663
663
664
665
665
666
667
668
668
669
670
671
671
672
673
673
673
673
672
672
672
671
671
671
671
671
671
671
672
672
672
672
672
673
673
673
673
674
674
674
674
674
674
673
673
672
672
671
671
670
670
669
669
669
669
668
668
668
669
670
671
672
672
673
674
675
676
677
679
680
681
683
684
686
687
688
688
688
688
688
688
688
688
688
688
689
690
692
694
695
697
698
699
701
702
704
705
707
709
710
712
713
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
732
733
734
734
734
735
735
735
736
736
737
737
738
739
739
740
740
741
742
742
742
742
742
742
742
742
742
742
742
741
741
740
740
740
740
740
740
740
740
740
740
740
740
739
739
739
738
738
737
737
737
737
736
736
736
735
735
734
734
733
733
732
732
732
732
731
731
731
730
730
730
730
730
730
729
729
728
727
726
726
725
724
723
723
722
721
720
720
719
718
717
717
716
715
715
714
714
713
713
712
711
711
711
711
711
711
711
711
711
711
711
711
710
710
710
710
710
710
710
710
710
711
711
711
712
712
712
713
713
714
714
714
715
715
715
716
716
716
716
717
717
717
717
718
718
718
718
718
718
718
718
718
718
718
718
718
717
717
717
717
717
717
717
717
718
718
718
718
718
719
719
719
719
719
719
719
719
719
718
718
718
717
717
706
708
708
708
708
708
708
707
707
707
707
706
706
706
706
706
706
706
706
705
705
704
704
704
703
703
702
702
702
701
701
700
700
699
699
699
699
699
699
699
699
699
700
700
700
700
701
701
701
701
701
701
701
701
701
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
700
701
701
701
701
702
702
702
702
702
702
702
702
702
703
703
703
703
703
703
703
703
702
702
702
702
702
701
701
701
701
701
701
701
701
701
701
701
701
702
702
702
702
702
702
702
703
703
703
703
703
703
703
703
704
704
704
705
705
705
706
706
706
707
707
707
708
708
709
709
710
710
710
710
710
710
710
710
710
710
710
709
708
708
707
706
706
705
705
705
704
704
704
703
703
702
702
701
700
700
699
698
697
696
695
694
693
693
693
692
692
692
692
692
692
692
692
692
693
693
693
694
694
694
694
694
694
694
693
693
692
692
692
691
691
691
691
691
691
691
691
690
689
689
688
687
686
686
685
685
684
684
683
683
682
682
681
681
680
680
680
680
680
680
680
680
680
680
680
680
680
680
679
679
679
679
679
679
679
679
679
679
679
679
679
679
679
679
680
680
680
680
680
680
680
680
680
680
680
680
680
680
680
680
680
680
680
680
680
680
680
680
680
680
680
679
679
679
679
679
678
678
678
678
678
678
678
678
678
678
678
678
678
677
677
676
676
675
674
674
673
673
672
672
671
671
670
669
669
669
668
668
668
667
666
665
663
662
661
659
658
656
654
652
650
649
647
645
643
641
641
640
640
639
639
639
638
638
637
636
634
633
632
631
630
629
627
626
624
623
622
620
619
617
615
613
611
609
607
605
603
603
602
601
600
600
599
598
598
597
596
596
595
594
594
593
592
592
591
591
590
589
589
588
587
586
585
584
583
581
580
580
579
579
578
578
578
577
577
576
575
574
574
573
572
571
571
570
570
570
570
569
569
569
569
568
566
564
563
561
559
557
555
554
553
552
550
549
548
547
546
546
546
546
546
546
546
546
545
544
543
542
541
540
539
538
537
536
534
533
532
531
530
528
527
526
526
526
526
526
526
526
526
525
524
523
522
521
520
519
518
519
520
521
523
524
525
527
528
526
523
520
517
514
511
511
510
508
507
507
506
505
504
503
502
501
500
498
497
496
494
493
491
489
487
485
484
482
481
482
482
483
484
484
485
486
486
486
486
485
485
485
484
484
483
481
478
475
473
471
468
465
464
465
466
467
468
469
470
471
470
467
464
461
457
454
451
448
447
447
446
446
446
445
445
445
443
441
440
438
436
434
432
430
426
421
417
413
409
405
401
397
396
394
392
391
389
388
386
385
383
382
381
380
379
378
377
376
376
378
379
381
383
384
386
388
389
390
389
388
387
386
385
383
382
381
380
379
377
376
374
373
372
370
368
367
367
367
367
367
367
367
367
366
366
366
365
365
365
364
364
364
363
363
362
361
361
360
360
359
358
356
354
352
349
347
345
343
341
338
338
338
339
340
341
342
342
343
343
341
340
338
336
335
333
331
330
329
329
330
330
331
331
332
332
332
330
327
324
321
318
315
311
308
306
306
307
307
308
308
309
309
309
308
308
307
306
306
305
305
302
299
297
294
291
288
285
282
281
280
278
277
276
274
273
274
276
278
280
282
284
286
288
288
288
287
286
286
285
285
284
283
283
283
283
283
282
282
282
282
280
278
276
274
272
270
268
266
264
263
261
260
258
256
255
253
252
251
253
256
258
260
262
264
266
268
268
267
266
265
264
263
261
260
259
258
257
256
254
253
252
251
250
247
246
244
243
241
240
238
237
237
237
237
237
237
237
237
235
233
231
229
227
225
224
222
221
220
220
219
218
217
216
215
215
215
215
215
214
214
214
214
211
209
207
204
202
200
197
195
194
194
194
194
193
193
193
193
193
193
193
193
193
194
194
194
194
194
195
195
196
197
197
198
198
199
199
199
199
199
198
198
198
197
197
196
194
191
189
186
184
181
179
177
175
174
174
174
173
173
173
172
172
171
171
170
169
169
168
167
167
166
165
164
163
162
160
159
158
157
156
155
156
158
159
161
162
164
166
167
168
167
165
164
162
161
159
158
157
156
156
156
157
157
158
158
159
159
159
158
157
156
155
153
152
151
150
150
150
151
151
151
152
152
153
153
153
153
152
152
152
151
150
148
147
146
145
145
145
145
146
146
146
147
147
147
147
147
147
147
146
145
144
143
142
142
142
142
142
142
141
139
138
136
134
133
132
131
131
130
130
130
129
129
129
128
127
127
126
125
125
124
124
123
123
123
123
122
122
122
122
121
121
121
121
121
121
121
121
120
119
118
118
117
117
116
115
114
113
112
111
111
110
109
109
108
107
106
105
104
103
103
102
101
101
101
100
100
99
99
98
97
97
96
95
95
94
94
94
94
94
93
92
91
91
90
89
89
88
88
87
85
84
83
82
81
80
79
78
77
77
77
77
77
77
77
77
76
76
76
76
76
76
76
76
76
75
75
75
75
75
74
74
73
73
72
72
72
71
70
70
69
69
69
68
67
66
66
65
64
63
63
63
62
62
62
62
62
62
62
62
62
62
61
61
60
60
59
58
58
57
56
55
54
54
54
54
54
54
53
53
52
52
51
50
50
50
50
50
50
50
50
50
51
51
51
52
52
52
52
52
52
52
52
52
52
51
51
51
51
51
51
51
51
51
51
51
51
52
52
52
52
53
53
53
53
53
53
53
53
53
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
51
51
51
51
51
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
51
51
51
51
51
51
51
51
51
51
51
51
52
52
52
52
53
53
53
53
53
53
53
53
53
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
51
51
51
51
51
50
50
50
50
49
49
48
48
47
47
46
46
45
45
45
44
44
44
43
43
42
42
42
42
41
41
41
41
41
41
41
41
41
42
42
42
43
43
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
45
45
45
45
45
45
45
45
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
47
47
47
47
47
47
47
47
47
46
46
46
46
45
45
45
45
45
45
45
45
45
45
45
45
45
45
46
46
46
46
46
46
46
46
46
47
47
48
48
49
49
50
50
50
50
50
49
49
48
48
47
47
46
46
46
46
45
45
45
45
45
45
46
46
47
47
48
48
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
50
50
50
50
51
51
51
51
52
52
52
52
52
52
52
52
52
52
52
52
53
53
53
53
54
54
54
54
54
54
54
54
54
54
54
54
54
53
53
53
53
53
53
53
53
54
54
54
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
54
54
54
54
54
54
54
54
54
53
53
53
53
53
53
53
53
53
52
52
51
51
51
50
50
50
49