31
31
31
31
31
31
31
31
31
31
31
32
32
32
32
32
32
32
31
31
31
31
31
31
32
36
36
37
37
41
41
41
41
41
41
41
41
41
41
41
41
41
40
40
40
42
43
44
44
44
45
45
45
45
46
46
46
46
46
46
46
46
46
47
47
48
48
48
48
48
48
48
48
48
48
48
48
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
52
53
54
56
56
54
54
60
61
62
66
69
69
70
71
76
77
77
78
79
79
79
80
80
80
82
83
86
90
91
91
92
94
96
97
98
99
99
99
99
99
98
97
96
95
95
95
96
96
97
99
100
102
103
103
105
101
99
99
99
100
101
102
109
112
113
113
113
113
113
112
112
112
112
112
112
112
112
115
117
118
119
120
121
122
123
123
121
121
120
119
119
118
118
116
116
117
118
118
119
120
120
121
123
123
125
128
130
131
131
134
137
139
140
143
143
143
143
143
143
142
142
142
141
141
141
142
143
143
144
145
145
146
147
150
152
156
156
154
153
152
152
152
152
152
153
153
154
154
157
160
171
171
171
171
172
174
171
168
172
177
178
181
183
186
182
182
181
178
180
181
182
183
187
187
188
189
190
191
193
194
195
197
198
199
200
201
202
212
215
217
217
217
216
216
216
216
216
216
215
215
214
213
210
208
205
203
202
201
201
201
201
202
202
203
203
203
203
203
202
201
201
201
201
201
202
202
202
204
204
204
205
207
207
209
209
209
209
209
212
213
214
217
218
219
220
221
221
221
221
221
221
221
222
222
223
223
227
227
228
228
228
228
228
229
233
235
240
241
242
243
243
244
245
252
252
254
255
256
256
256
256
256
256
256
255
255
254
254
254
253
253
251
251
251
251
251
251
252
253
253
253
254
254
254
255
255
255
256
256
257
257
259
259
260
260
261
263
264
271
270
269
265
271
273
275
279
281
284
287
291
290
288
286
284
283
281
280
278
277
276
276
277
277
278
278
280
280
282
284
286
287
294
293
292
291
291
290
292
296
310
311
314
323
325
330
330
330
330
330
330
330
330
330
330
330
330
330
329
329
328
328
328
327
327
327
326
325
322
318
315
313
308
305
304
304
303
302
302
302
302
304
305
307
308
310
312
314
317
319
319
319
319
319
318
318
318
318
318
319
320
321
326
328
329
329
329
329
329
329
329
329
330
331
332
336
338
338
339
341
343
344
346
349
350
355
356
357
358
359
360
361
361
362
363
364
365
366
366
367
367
368
368
369
369
370
373
374
376
378
379
381
381
381
381
381
381
381
381
381
381
381
381
382
382
383
383
383
384
386
387
389
393
394
396
398
403
404
411
412
413
413
414
414
414
416
416
416
416
414
413
412
412
410
409
408
407
407
407
407
407
407
407
407
414
417
426
427
430
430
433
434
438
438
439
440
441
442
443
447
448
453
454
453
452
452
451
450
449
448
447
446
445
445
444
445
445
445
442
440
438
435
428
426
431
433
440
442
444
445
446
447
448
449
449
450
451
452
452
453
453
453
453
453
453
453
453
453
453
453
453
456
463
464
465
466
481
483
484
489
490
492
492
492
491
491
491
490
490
490
489
489
489
489
489
491
507
508
509
520
525
533
531
530
529
528
528
527
527
526
522
521
521
522
522
522
522
523
523
523
524
524
524
525
526
526
526
526
526
526
526
526
526
526
526
526
527
529
529
530
530
530
530
531
531
532
534
536
538
541
542
545
550
552
560
561
563
564
569
568
561
558
557
555
553
552
548
553
554
557
557
559
560
562
563
564
565
566
569
571
574
575
576
577
578
579
582
586
588
588
586
586
583
582
579
578
578
575
575
575
576
576
577
577
577
578
578
579
580
580
581
581
582
582
583
583
584
585
586
586
587
589
589
589
590
590
590
590
604
606
612
614
615
625
625
627
628
628
629
629
631
632
633
633
635
637
637
638
642
642
643
644
646
647
648
649
650
651
652
656
657
658
664
664
665
665
665
665
665
665
665
665
666
666
666
666
666
666
666
666
666
666
665
664
664
663
662
661
660
660
659
659
659
659
660
661
661
664
664
665
666
667
667
670
671
673
674
675
679
681
685
687
690
691
692
693
695
696
701
702
704
707
708
709
711
715
722
724
728
740
745
750
752
756
757
758
757
752
751
745
744
744
744
745
745
746
747
748
749
753
754
754
757
759
762
771
773
775
777
805
807
809
822
821
821
819
817
812
812
811
811
807
806
805
804
804
803
801
801
801
802
802
804
805
805
808
809
816
816
817
817
820
820
821
822
823
823
824
825
825
826
827
828
828
829
831
832
832
833
833
834
835
835
836
837
838
839
840
841
842
843
844
845
848
849
850
850
852
853
853
854
855
855
856
857
857
857
858
858
858
859
859
859
860
860
860
860
861
861
861
862
862
862
863
863
863
863
863
863
863
863
862
862
862
862
861
861
861
860
860
860
860
860
861
862
864
865
865
865
866
866
867
867
868
868
869
869
870
870
871
871
871
873
876
877
878
879
880
881
884
885
885
886
895
896
897
898
899
900
900
900
900
900
901
901
901
902
903
903
904
904
904
904
904
904
903
902
902
902
901
899
899
898
898
897
895
894
894
892
890
890
892
893
897
899
900
903
911
914
915
920
922
923
927
929
931
936
937
943
944
947
947
949
951
952
953
954
957
958
959
960
961
961
963
964
966
967
967
966
966
966
965
965
964
964
964
964
963
963
963
963
962
962
962
962
965
970
975
977
979
980
983
984
987
988
991
995
999
998
995
994
990
987
983
981
979
978
977
975
974
969
967
962
953
949
948
945
943
942
942
941
939
938
935
934
933
929
929
928
925
924
923
920
919
918
918
917
917
916
915
915
914
913
913
910
909
908
908
908
907
906
906
905
905
904
903
903
900
899
898
897
895
891
890
889
887
882
881
879
878
875
869
868
861
857
855
852
849
845
832
829
828
827
827
827
827
827
827
827
828
828
828
828
828
829
830
831
831
832
833
834
837
837
835
833
826
809
807
796
793
791
788
781
780
778
776
774
770
763
759
758
755
754
751
747
746
745
740
738
736
736
738
740
751
753
755
757
760
763
766
768
774
777
779
784
785
785
784
783
781
781
780
779
778
778
776
775
775
774
773
772
771
771
766
764
761
759
757
755
753
751
748
745
741
738
736
730
727
725
722
719
708
707
706
703
701
699
698
695
692
691
690
689
688
687
686
685
676
671
664
652
636
630
625
619
614
607
601
598
594
588
586
583
580
575
573
571
568
562
560
557
540
529
522
517
511
508
499
480
477
473
464
461
458
456
454
451
448
446
443
437
433
432
430
429
427
425
425
425
425
426
426
426
427
427
427
425
414
407
403
401
397
393
387
385
383
382
380
378
376
374
371
370
369
363
362
360
359
358
353
352
351
350
349
348
346
345
344
343
342
341
339
338
337
335
334
334
333
333
332
332
332
331
331
330
330
329
328
328
327
326
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
323
320
319
317
316
303
300
298
297
297
297
297
297
297
297
297
296
296
296
296
296
295
294
292
291
290
289
287
286
285
284
283
283
282
281
280
276
275
274
274
273
271
271
270
269
269
268
268
268
268
269
271
274
276
278
280
281
282
282
279
276
274
264
258
256
256
260
263
264
270
273
267
259
258
253
260
261
266
268
270
274
277
283
280
274
266
260
254
251
249
243
241
240
237
235
230
228
227
226
223
222
220
219
217
207
206
206
205
203
202
200
198
197
196
195
200
202
204
208
215
217
219
219
219
219
219
217
216
215
214
211
210
209
207
204
203
197
196
191
191
191
191
191
190
190
190
191
193
197
199
200
207
211
215
208
202
184
180
178
172
168
163
163
163
162
162
160
160
157
155
154
150
149
149
150
151
155
157
158
158
158
158
160
160
160
160
158
157
156
156
156
155
155
154
154
154
153
153
152
152
151
150
149
149
149
148
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
146
145
144
144
143
143
142
142
142
142
142
142
141
141
140
140
140
139
139
138
138
138
138
137
137
140
142
141
140
135
134
134
133
132
131
131
129
129
133
135
136
137
140
141
141
142
143
144
145
146
147
146
143
133
127
127
127
127
127
127
127
128
130
131
132
132
133
134
135
134
134
134
132
131
130
128
127
127
126
125
125
125
125
125
125
125
125
124
124
118
117
116
114
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
112
111
111
111
111
111
109
109
108
108
107
107
107
106
105
105
105
105
105
105
105
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
105
105
105
105
105
105
105
105
105
105
105
105
104
104
104
103
103
103
102
102
101
101
100
98
98
98
98
99
99
99
99
99
97
96
97
97
97
97
96
96
96
95
95
95
95
95
94
94
93
92
91
90
90
89
89
89
88
88
87
87
87
87
87
87
87
87
87
87
88
88
88
88
88
88
88
88
88
88
88
88
88
90
91
93
93
94
94
95
95
96
100
103
105
106
106
106
107
108
108
108
111
113
115
117
118
119
125
126
126
127
128
126
125
124
123
122
119
110
108
107
106
103
103
103
102
101
101
101
100
100
100
100
100
100
100
100
100
100
100
100
99
99
99
98
98
99
99
100
104
106
109
110
111
112
113
115
116
117
119
122
129
132
132
132
133
134
135
137
137
138
138
138
139
139
143
145
145
147
148
151
153
153
152
151
150
150
148
148
146
144
142
141
140
139
137
134
129
127
126
125
123
119
119
118
118
116
116
115
114
112
112
111
110
109
109
109
108
107
106
106
105
105
104
104
104
104
103
103
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
103
105
106
106
107
108
109
109
107
103
103
102
102
102
102
102
103
104
104
105
106
106
106
107
107
108
108
108
109
110
110
110
111
111
111
112
113
114
114
114
114
113
113
113
112
111
111
111
111
111
111
112
113
117
117
123
123
123
121
117
116
115
113
113
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
112
111
111
111
111
111
111
111
111
111
111
111
111
112
113
114
115
115
116
116
116
116
115
115
115
114
114
114
114
114
114
114
113
113
113
113
112
112
111
111
111
110
110
109
109
108
108
108
108
110
111
112
112
113
113
114
120
122
124
124
126
126
127
131
133
137
142
149
163
163
164
167
169
170
171
172
173
174
175
176
177
179
181
182
183
183
177
174
172
170
163
158
156
153
150
148
145
140
139
137
136
135
134
131
126
125
124
123
122
121
119
119
119
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
120
120
120
120
121
121
121
121
121
122
124
124
124
125
126
127
127
127
126
126
124
123
122
122
121
120
119
119
120
120
120
121
123
123
123
123
123
123
123
123
123
123
122
122
122
122
122
122
120
120
120
120
120
121
121
121
121
121
121
121
121
122
122
122
123
123
124
124
124
124
125
125
125
125
125
125
126
127
127
128
128
129
129
129
129
129
129
130
132
134
139
143
148
152
159
163
164
165
166
168
169
169
170
171
172
175
176
177
178
179
179
180
182
182
185
185
186
187
191
192
192
193
195
196
201
202
204
207
209
210
211
213
216
218
219
221
227
228
229
229
231
231
233
233
234
235
236
236
237
238
240
240
243
244
246
247
252
253
254
256
256
256
256
256
255
255
255
255
256
256
257
258
258
259
259
260
261
261
265
267
267
268
268
268
273
273
274
270
269
267
267
267
267
269
276
278
293
295
296
298
303
314
319
321
323
324
326
337
335
327
325
324
320
318
312
309
307
305
304
299
300
303
307
311
318
325
327
330
339
342
343
344
345
345
346
346
346
347
347
347
349
349
350
351
351
351
347
347
347
346
346
340
340
339
341
343
343
344
345
346
346
347
347
347
347
347
347
347
347
356
359
362
366
370
372
374
386
363
354
349
347
344
342
340
341
342
343
345
346
347
349
350
357
358
359
360
361
362
364
372
373
374
374
374
375
376
376
378
379
380
380
392
393
397
399
401
405
407
415
418
423
426
442
444
446
447
449
452
457
457
456
456
455
454
453
459
461
462
466
477
484
486
487
489
505
507
509
510
513
515
507
506
505
505
504
503
508
510
512
514
517
519
521
525
529
533
535
536
537
546
548
551
553
555
561
563
567
571
574
576
577
579
582
583
585
588
588
588
589
590
590
591
592
594
595
596
600
601
603
604
606
606
607
608
609
610
614
615
617
623
627
628
632
634
636
639
659
663
681
687
691
694
699
702
703
703
704
705
705
705
705
705
705
705
704
704
704
704
706
707
708
709
710
711
711
712
713
714
715
716
717
718
721
721
722
724
726
727
729
729
730
731
732
732
733
735
736
736
737
737
738
739
740
740
741
741
742
743
744
741
741
740
728
727
722
721
720
720
719
719
719
718
717
714
715
716
717
718
719
719
719
720
719
718
697
692
689
688
678
676
675
684
703
705
705
705
705
705
705
705
703
700
698
697
696
696
698
699
700
700
701
699
697
696
692
691
688
688
683
682
680
677
674
673
672
669
668
666
661
661
662
662
663
663
664
664
665
666
667
668
669
671
672
675
675
677
679
680
679
678
677
677
675
675
674
673
672
669
661
658
657
655
652
651
646
645
646
647
647
648
649
649
650
650
650
649
649
648
648
647
647
647
647
648
649
649
650
650
650
650
650
650
651
653
658
671
672
672
673
673
674
674
675
677
679
681
684
686
689
691
690
689
685
684
683
682
682
681
679
678
676
656
653
651
650
648
647
644
641
638
635
633
634
635
637
639
641
645
646
646
647
648
648
652
654
655
656
657
658
659
660
660
665
665
666
667
668
668
669
670
671
672
673
674
675
676
677
677
672
672
669
668
668
666
663
661
660
659
658
655
654
653
652
651
650
649
648
647
645
644
643
643
642
638
637
636
633
632
629
627
625
623
622
621
619
619
618
617
617
615
614
613
612
612
611
610
609
609
608
607
606
605
602
601
600
599
599
598
594
593
593
592
591
590
590
589
587
587
586
582
580
576
573
571
569
567
566
563
561
559
558
558
557
557
555
554
554
554
553
553
550
546
545
543
543
541
533
530
529
527
526
525
524
518
516
514
513
510
510
509
509
509
510
510
510
511
511
511
511
512
512
512
512
512
504
500
496
494
491
488
485
484
483
482
481
480
479
477
477
476
475
471
470
469
469
469
469
469
469
469
469
469
469
469
466
465
462
456
456
452
449
444
437
429
426
418
416
415
414
412
409
401
401
401
401
401
401
401
402
402
402
402
402
402
400
396
392
388
384
379
377
376
373
371
367
365
363
362
360
359
357
357
356
355
354
353
352
351
351
351
352
353
353
353
355
355
355
356
355
354
353
352
352
351
348
348
346
346
345
344
344
343
342
342
341
338
337
336
335
335
333
334
338
338
338
337
334
333
333
332
331
331
330
330
330
330
332
332
335
336
338
339
341
342
342
343
343
344
345
346
346
346
344
342
339
338
335
334
333
331
329
322
314
313
313
312
311
308
308
308
307
305
305
301
301
302
302
302
303
303
306
308
309
311
311
311
312
312
312
312
312
313
313
313
313
314
315
319
320
321
322
323
323
325
330
331
333
333
333
333
333
333
333
335
337
341
343
344
345
345
347
348
351
351
352
352
353
353
354
354
355
356
359
360
360
361
361
362
363
366
367
367
368
371
373
375
379
380
382
385
385
386
386
388
389
389
390
391
392
395
397
399
406
409
414
422
426
426
426
426
426
426
426
426
426
426
426
426
426
428
429
432
433
433
434
435
436
437
437
440
440
441
443
443
445
445
445
445
445
445
445
444
444
444
443
442
442
441
441
440
439
439
438
438
437
435
433
428
426
423
417
409
405
403
402
397
396
395
395
395
395
395
396
396
396
397
394
392
389
386
384
376
374
373
372
371
368
367
366
366
367
367
367
366
366
366
365
360
356
352
343
335
333
331
329
328
326
325
322
322
320
319
319
319
318
318
318
318
317
316
315
314
312
305
305
305
304
304
304
303
301
300
299
295
291
280
280
281
282
283
284
284
284
288
288
288
288
288
287
287
287
287
287
287
285
282
275
273
270
266
264
256
252
250
247
241
238
235
234
229
227
223
223
217
217
217
216
216
218
220
223
226
234
238
240
241
242
243
244
254
256
258
262
263
266
269
269
269
269
267
267
267
267
266
266
266
266
266
265
265
265
265
265
265
265
265
265
265
265
261
258
251
249
248
246
244
244
245
245
248
249
250
251
252
253
254
255
256
257
259
260
261
262
262
264
262
258
257
255
254
253
251
251
250
250
250
249
249
249
249
249
249
249
249
249
250
250
250
243
243
242
241
241
241
240
239
238
237
236
233
231
230
228
225
224
221
217
214
212
211
211
211
211
212
212
212
212
212
213
213
213
212
212
211
211
211
211
210
210
210
210
210
212
212
213
214
214
215
216
216
217
218
218
219
223
227
228
229
231
232
236
237
238
240
241
241
241
242
243
243
244
244
244
244
245
245
245
246
247
248
248
249
252
255
258
262
266
271
271
271
270
270
270
270
271
271
271
272
273
274
276
277
278
279
286
288
290
293
295
297
300
303
305
311
314
320
322
325
325
324
323
321
321
321
321
321
322
323
325
326
327
329
330
332
333
331
331
330
330
330
330
329
327
326
325
322
320
316
310
309
308
307
306
304
300
298
297
292
287
280
267
262
258
255
255
255
256
256
257
257
257
257
257
257
256
256
255
254
254
254
264
267
270
274
282
286
289
290
296
298
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
299
298
298
298
297
296
296
295
295
295
294
294
294
294
294
294
294
294
294
294
294
295
295
295
295
295
295
295
295
296
296
296
296
296
296
296
296
296
296
296
295
295
295
295
295
295
295
298
302
306
310
314
317
319
320
322
323
324
324
325
325
325
326
326
326
326
327
327
327
325
322
319
313
313
308
306
304
303
302
302
298
296
295
294
297
299
299
299
300
300
300
299
298
297
296
294
294
293
292
291
290
289
289
289
290
290
290
290
291
291
291
291
291
293
294
294
297
298
299
301
301
301
302
303
304
305
306
307
308
308
309
310
315
316
318
322
321
319
318
317
316
314
312
310
307
306
305
306
310
311
314
316
317
321
317
316
313
311
310
306
304
300
298
297
295
293
290
287
286
282
278
273
275
278
281
283
289
296
300
302
306
309
310
307
305
304
303
301
300
299
297
296
294
291
288
285
285
285
286
287
287
288
289
289
286
284
282
277
274
273
272
270
269
267
271
277
279
282
286
288
288
284
276
272
262
260
259
256
252
250
247
242
236
231
223
220
216
212
209
207
205
203
201
200
199
196
193
190
189
195
198
198
200
202
203
205
208
214
217
223
227
246
251
250
250
246
245
244
246
250
253
255
258
262
264
271
274
272
269
259
255
247
233
232
233
235
236
239
240
242
244
246
247
247
248
248
250
251
250
249
241
240
237
233
231
230
229
228
226
225
223
221
219
217
214
208
201
198
195
190
187
186
186
186
186
186
187
187
188
188
188
187
185
184
183
182
181
177
175
173
173
173
173
173
173
173
173
173
175
178
178
177
176
175
175
175
174
174
174
172
171
171
171
171
171
171
170
168
171
175
179
180
182
183
183
183
183
182
181
180
175
174
171
171
172
173
174
175
178
182
184
183
183
182
180
179
178
177
176
173
171
170
172
177
179
176
174
169
167
165
163
163
163
163
164
164
165
166
176
178
181
183
189
193
196
199
202
209
211
216
219
219
220
222
223
227
228
229
231
237
238
246
248
252
253
255
257
260
261
263
263
263
262
261
261
261
260
259
258
258
256
255
255
253
253
253
253
253
253
253
253
254
254
254
255
255
251
247
244
238
235
233
229
227
224
220
216
212
208
203
203
200
200
199
199
199
200
201
202
203
203
202
198
192
188
185
180
178
170
163
162
160
159
157
156
154
152
151
153
154
155
155
156
157
159
161
164
164
163
162
161
160
160
159
159
158
158
158
158
157
157
156
156
156
156
156
156
160
160
160
161
162
161
159
159
157
157
157
157
157
157
157
157
158
159
160
161
162
163
164
166
167
169
171
171
172
173
174
175
176
177
178
177
169
167
164
162
160
159
157
157
156
156
156
155
155
155
155
154
154
154
149
149
149
148
148
147
147
145
145
145
145
145
145
145
144
144
144
143
143
143
143
143
143
144
145
146
147
147
147
147
147
147
147
146
146
146
146
146
146
146
146
146
146
146
146
146
145
145
146
146
147
148
151
152
152
153
153
154
158
158
159
160
160
161
162
164
167
173
176
180
182
180
177
175
171
170
169
168
166
164
162
161
161
161
161
161
161
161
161
161
161
161
161
161
162
163
163
164
165
166
167
167
167
167
167
167
167
166
166
165
163
161
161
160
156
156
157
158
163
164
165
173
176
177
178
179
182
184
186
188
190
192
193
197
198
199
200
202
204
204
205
207
208
210
212
212
211
210
210
210
209
209
209
209
210
211
212
212
212
213
213
219
225
230
236
238
239
241
242
244
245
247
248
252
253
256
258
264
267
270
276
282
288
287
286
286
286
285
285
284
284
284
284
283
283
283
283
285
286
287
289
291
292
293
292
291
290
289
287
284
283
282
281
280
280
280
280
281
285
286
287
287
289
289
288
287
287
286
285
281
280
279
279
273
272
271
269
268
267
267
266
266
269
270
275
276
277
277
278
278
279
281
281
281
281
280
279
279
279
278
273
271
274
274
274
274
275
275
276
276
276
289
296
299
304
295
292
290
280
277
276
276
276
275
273
272
270
269
267
266
262
259
257
255
225
215
213
212
209
208
200
197
195
194
193
192
191
192
192
192
193
196
196
197
197
200
200
202
203
205
207
217
226
225
225
224
221
220
217
215
214
212
209
205
200
198
197
195
194
188
183
181
180
179
178
176
173
172
170
168
159
159
170
171
172
172
181
178
175
173
172
171
170
169
168
167
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
165
163
162
161
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
161
162
163
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
165
165
164
165
165
166
167
167
167
167
167
167
167
167
167
167
168
169
169
170
171
171
171
171
170
170
169
169
169
169
169
170
171
172
173
173
173
173
173
173
174
174
174
174
174
174
174
174
176
176
178
178
178
177
177
176
177
178
178
178
177
177
176
176
176
176
176
177
178
179
180
177
176
176
176
176
176
176
177
177
177
177
177
177
177
177
177
177
177
177
177
178
178
178
178
179
179
179
179
179
178
178
178
178
178
178
178
178
179
183
184
185
189
191
193
195
198
199
211
215
216
219
220
220
220
220
220
220
220
220
220
219
219
219
219
220
222
227
229
230
232
233
234
234
235
235
236
236
236
237
237
238
238
239
239
239
239
239
239
238
238
238
237
237
237
236
236
236
236
236
236
236
236
237
238
238
239
240
240
240
241
243
244
245
247
250
252
253
255
257
258
259
259
260
260
263
263
263
262
260
258
257
257
259
262
267
269
270
276
278
277
275
273
272
270
268
267
265
264
259
259
261
265
266
268
270
271
276
277
278
278
279
279
279
279
280
280
280
280
280
280
280
280
280
280
280
280
280
280
283
285
292
302
304
314
315
315
316
317
319
319
320
322
323
323
325
326
329
330
331
332
335
337
338
338
340
340
341
341
341
342
342
342
343
343
343
343
343
344
344
344
344
344
344
343
343
343
343
343
343
342
342
342
342
342
342
343
343
343
343
344
344
344
344
344
344
343
343
343
341
340
340
340
340
340
341
341
341
341
341
340
340
340
340
345
347
349
350
350
351
348
346
344
344
344
344
344
343
343
343
342
340
338
336
336
339
341
342
343
344
345
346
346
347
353
356
357
358
360
361
361
362
362
362
362
362
363
365
368
369
366
360
355
337
336
335
335
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
335
335
335
335
335
335
335
335
335
335
334
332
331
328
325
318
314
313
312
312
312
311
311
310
309
305
304
304
303
302
301
300
298
295
294
292
291
290
290
288
287
286
284
278
277
276
276
275
275
273
273
272
272
270
269
268
268
268
267
267
267
267
267
268
269
269
270
270
271
277
277
281
282
283
284
285
286
286
286
288
288
287
286
277
272
271
270
268
268
265
265
264
264
264
263
263
262
261
260
258
257
257
255
252
251
250
249
248
245
243
243
241
240
239
240
240
240
241
241
241
242
243
243
243
242
238
236
229
224
223
222
222
221
221
225
232
236
237
237
237
237
233
232
231
230
227
226
219
217
214
210
209
208
206
205
205
203
202
202
200
200
199
197
197
196
196
196
195
195
195
195
194
194
194
193
192
191
191
198
200
199
198
200
202
208
208
209
209
209
209
210
210
213
216
217
218
220
222
223
221
222
220
220
219
217
216
215
212
211
212
214
217
218
220
220
219
214
213
210
210
210
211
212
212
212
215
215
217
218
218
220
221
221
221
222
222
223
224
225
223
221
218
210
208
207
204
203
202
200
196
192
192
191
191
191
191
191
193
193
194
194
195
196
197
198
191
189
187
186
185
183
182
182
181
181
180
180
180
179
177
177
177
176
175
175
175
175
175
175
175
175
175
173
170
166
165
164
163
163
164
166
167
167
167
167
167
167
165
164
167
167
167
167
167
167
167
166
162
160
158
155
152
149
147
145
143
142
142
142
142
142
142
142
142
142
142
141
141
141
141
141
141
141
141
141
141
141
136
136
136
135
135
135
134
133
132
132
133
133
134
134
135
135
135
135
132
131
130
129
126
124
122
121
123
124
127
129
131
132
133
135
136
123
120
116
116
117
118
119
119
119
119
119
118
118
117
116
114
111
111
110
110
109
109
109
109
109
108
108
108
108
108
108
108
108
108
108
108
107
107
105
106
107
114
117
119
120
122
123
125
126
125
123
122
121
120
118
114
112
110
110
112
113
114
117
118
118
119
118
115
112
111
106
105
103
101
100
99
99
98
98
97
96
96
96
96
97
97
100
102
102
102
101
100
100
99
98
94
94
94
94
94
94
94
94
94
94
94
94
94
94
93
93
100
123
122
117
114
111
110
108
107
105
104
103
102
102
101
101
100
99
98
98
98
98
98
98
98
99
99
99
99
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
97
98
98
99
104
104
104
104
104
104
103
103
103
103
104
106
110
112
113
116
119
119
118
118
117
128
128
128
128
128
132
139
144
151
153
155
157
168
171
173
179
182
186
188
200
202
203
207
208
212
213
227
235
236
237
240
246
248
262
269
270
273
275
277
280
281
283
284
285
287
288
288
289
289
291
292
294
294
295
295
296
296
297
298
298
299
299
299
300
300
300
300
299
299
298
297
296
294
292
291
291
290
289
288
288
287
286
286
285
284
284
286
286
287
288
289
290
291
292
293
293
293
293
293
293
292
292
291
291
289
289
288
287
286
285
284
284
284
283
283
282
282
281
281
278
275
271
270
266
265
264
264
264
264
265
265
267
268
269
269
269
269
270
270
270
271
271
271
272
273
279
280
282
291
292
294
297
300
303
304
305
305
306
308
309
309
314
317
324
326
329
333
336
338
339
345
348
349
349
349
349
350
350
350
350
350
359
379
383
391
404
404
405
406
406
407
409
409
409
410
416
418
421
427
430
430
449
451
455
457
458
454
454
452
452
449
448
446
443
442
441
440
439
435
435
434
433
432
432
429
428
427
426
425
424
423
420
420
420
420
422
427
429
430
431
434
437
438
439
440
442
447
448
448
451
456
457
458
459
462
464
466
466
468
468
468
464
463
462
461
458
458
462
463
467
468
468
468
468
468
469
469
469
469
469
470
471
471
474
474
481
483
485
486
486
488
489
490
491
491
493
493
495
497
499
501
503
504
506
515
520
521
522
523
524
526
527
528
532
532
534
534
535
536
538
538
539
542
542
543
544
543
536
533
531
529
526
525
524
521
515
513
512
512
510
510
509
508
508
507
506
506
505
504
504
503
502
500
498
496
493
492
491
490
488
487
485
482
481
478
474
472
469
468
462
458
453
442
441
437
433
427
421
412
410
405
403
396
393
391
390
388
386
384
384
384
384
384
384
384
384
384
384
384
384
383
382
381
381
379
378
378
377
377
375
368
365
361
359
353
328
322
322
320
319
318
314
312
309
307
306
305
303
301
300
292
292
293
293
293
294
294
295
293
291
289
284
283
282
280
280
279
278
277
277
276
275
274
273
273
273
272
271
267
264
261
257
254
253
252
252
252
251
250
249
249
248
248
248
249
249
249
249
246
244
242
239
236
235
231
229
228
227
226
224
223
223
222
221
219
217
214
211
208
206
198
195
193
192
190
188
184
178
177
176
174
172
171
171
171
171
170
169
169
169
169
169
169
169
169
165
165
164
163
162
159
157
149
153
153
154
158
171
172
174
175
177
178
180
181
182
184
186
187
190
193
195
196
197
199
199
200
201
209
210
211
213
214
216
218
220
220
221
221
221
222
230
231
232
232
233
241
243
247
249
250
255
257
258
259
263
266
275
276
277
278
279
280
283
285
287
288
289
291
295
295
295
296
296
296
297
297
297
297
297
298
298
298
299
299
299
299
299
300
300
300
300
307
308
310
311
313
314
319
322
324
334
338
342
344
348
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
351
352
353
354
356
357
358
359
359
360
362
363
363
364
365
365
377
378
379
380
403
419
421
429
432
434
435
436
439
441
447
448
449
450
450
454
457
457
457
458
459
459
459
461
462
462
463
463
469
470
476
478
479
481
483
484
485
486
487
488
490
499
501
503
504
507
508
509
510
510
511
515
515
516
517
518
518
518
519
519
520
521
521
521
522
522
523
524
525
525
526
526
527
528
522
517
512
504
501
499
496
490
488
472
467
464
461
457
455
452
449
446
445
444
440
437
433
430
427
422
419
415
413
410
409
400
398
396
394
388
384
380
379
377
374
370
370
369
369
369
368
368
367
363
362
362
362
361
361
359
358
358
357
353
351
347
341
340
340
339
339
339
338
336
331
330
327
325
323
319
318
315
315
314
314
313
312
310
308
305
304
304
304
303
303
302
302
302
301
299
298
297
297
294
293
291
290
289
288
285
282
281
276
275
274
274
273
273
272
271
270
269
268
266
265
265
265
264
262
260
258
257
256
254
249
248
247
242
241
241
240
239
239
239
238
236
235
235
234
234
233
233
233
232
232
231
230
229
229
228
227
226
225
224
223
220
217
211
210
209
208
207
204
203
196
191
190
189
188
188
186
185
184
182
181
180
178
178
177
176
175
168
166
164
163
159
159
158
156
156
153
150
150
149
148
147
147
147
146
145
145
144
143
142
142
141
140
139
137
136
135
134
133
133
133
131
131
131
130
129
127
126
126
125
124
124
124
123
123
122
120
119
118
118
116
115
115
109
104
103
101
98
96
91
90
90
90
90
90
89
89
89
88
88
88
88
88
87
87
86
86
86
84
83
79
79
79
81
81
81
81
81
81
79
76
75
65
65
66
66
66
66
66
66
66
66
66
66
66
66
66
65
65
65
65
64
63
63
62
61
61
60
60
59
59
59
59
58
58
58
59
59
59
60
60
60
59
59
59
59
58
58
58
58
57
57
57
57
56
56
56
56
56
54
54
55
56
56
56
57
57
57
58
58
58
58
57
57
57
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
55
55
61
63
66
64
62
60
58
56
55
54
54
53
53
52
52
52
52
52
52
52
52
53
53
62
64
74
74
75
76
77
78
80
80
81
84
84
84
84
84
83
82
76
75
74
73
65
64
63
63
62
61
61
60
60
60
59
59
59
58
58
57
56
56
55
55
54
53
52
52
52
52
53
54
55
56
56
56
58
78
78
78
78
78
79
80
81
83
91
92
93
94
93
92
91
89
85
84
82
74
69
67
64
63
62
62
61
67
80
83
86
85
85
84
83
83
83
83
83
83
83
83
82
82
79
79
78
77
76
75
74
68
62
57
54
52
50
49
47
45
43
42
41
38
38
38
38
38
39
39
40
41
45
47
55
62
59
56
57
60
62
63
64
66
70
78
80
83
86
89
91
97
102
103
103
104
106
116
120
125
156
158
167
172
174
177
185
188
191
191
191
191
191
191
190
190
194
197
199
206
209
211
217
219
220
222
225
226
227
239
242
244
244
244
244
244
243
242
242
242
241
241
241
240
240
240
239
239
238
238
238
237
235
233
233
232
230
228
226
226
226
226
225
221
218
213
210
207
172
169
162
157
155
153
147
144
139
136
134
135
138
133
131
129
127
125
120
117
110
108
107
106
99
98
96
89
89
89
86
85
84
82
81
77
75
74
68
65
64
62
61
58
50
42
38
33
27
27
26
26
26
24
24
24
24
24
24
24
24
24
24
24
24
24
23
14
13
13
14
14
14