156
156
157
160
163
163
166
166
166
166
165
165
165
165
164
164
164
171
171
168
168
168
167
163
163
155
155
155
155
155
154
154
154
154
154
155
155
155
155
155
155
155
155
153
153
153
151
151
151
154
155
156
156
156
156
156
156
156
153
153
154
154
154
158
154
151
151
151
154
154
154
150
150
150
154
154
155
155
155
159
159
159
159
159
157
163
163
163
163
162
162
162
162
162
162
163
163
164
165
165
162
162
162
162
162
162
162
162
155
155
155
155
154
154
153
155
157
158
163
162
161
160
160
160
160
160
160
160
160
160
161
162
163
163
164
165
167
167
167
168
169
169
170
171
173
173
175
177
178
179
179
179
182
188
190
195
199
201
202
202
203
204
207
207
212
212
214
217
220
220
228
233
235
237
240
240
237
236
234
233
231
234
236
237
239
242
243
244
245
265
265
270
282
299
300
300
301
305
333
338
338
346
357
362
364
366
368
370
381
388
389
389
403
398
387
373
373
359
334
333
331
329
328
325
323
321
321
324
324
324
324
324
323
323
322
321
319
313
313
313
313
313
316
317
317
317
317
318
319
324
325
330
331
336
338
339
341
342
344
342
341
339
339
339
339
339
339
339
339
339
339
339
340
341
341
341
345
348
349
349
353
354
356
361
367
368
372
376
377
378
378
378
378
374
374
374
373
373
373
373
373
373
373
373
373
372
372
368
366
365
363
359
356
356
357
357
357
359
363
363
364
364
364
364
366
366
366
366
367
368
369
370
394
394
407
410
431
431
436
447
452
453
454
455
456
457
457
461
462
464
466
467
468
469
471
471
472
474
476
478
485
488
489
488
488
487
486
485
484
482
482
481
479
478
477
466
460
456
454
453
453
451
450
449
448
446
445
441
438
433
410
407
406
406
405
405
409
413
413
412
411
411
411
410
410
409
409
408
408
408
408
408
409
409
409
410
410
410
412
415
420
420
420
423
429
434
443
449
448
445
443
443
443
443
443
442
438
437
437
437
437
438
438
439
439
440
440
441
441
440
439
439
439
439
440
443
446
449
457
462
469
469
469
469
470
470
470
477
478
479
480
480
481
483
481
480
479
486
492
492
486
496
501
506
503
501
499
498
499
500
505
516
519
519
522
523
525
528
530
531
533
528
521
523
523
524
525
526
529
531
532
532
535
535
544
545
546
552
552
559
560
562
568
584
586
607
607
641
647
656
658
661
664
667
670
678
679
680
681
682
684
686
688
692
694
695
697
697
699
700
703
704
704
704
706
706
706
714
714
718
719
719
721
726
727
728
729
732
735
735
743
748
753
755
758
760
765
766
772
772
776
778
780
785
787
789
790
792
792
794
794
795
796
796
797
797
798
799
799
799
800
804
805
807
807
808
809
816
818
839
843
851
855
857
857
861
861
862
864
865
866
868
869
870
871
871
872
872
872
873
874
874
875
875
875
877
878
878
879
879
879
879
880
880
880
880
880
880
880
880
880
880
879
876
874
873
872
869
869
868
868
868
868
868
868
868
867
867
867
867
867
866
865
864
861
860
860
859
859
853
853
846
845
843
828
825
823
821
821
819
816
814
811
809
807
805
803
791
789
789
789
789
787
786
784
782
780
777
773
747
746
745
743
741
735
729
724
719
713
710
710
710
709
706
702
694
693
693
691
688
686
684
682
681
677
677
677
677
677
677
678
678
677
676
675
674
673
659
657
657
656
650
648
646
644
642
641
633
634
635
637
637
634
633
632
631
631
630
629
628
626
626
619
619
616
612
607
604
603
602
601
594
596
597
584
580
579
580
584
585
583
582
582
581
580
579
578
577
576
575
574
574
573
570
569
568
567
566
565
564
556
556
555
551
549
532
532
525
517
509
506
505
501
501
500
497
496
494
492
490
489
483
477
474
474
474
472
466
457
455
453
451
446
437
433
427
421
418
416
414
415
415
409
406
406
404
396
391
389
388
389
392
388
379
377
375
372
369
367
362
353
344
344
322
311
309
308
307
306
306
306
306
305
300
299
298
296
288
284
281
281
276
275
273
267
265
259
256
250
248
247
245
245
242
234
233
228
227
225
219
217
217
216
213
213
211
210
210
210
210
210
210
209
209
207
207
197
197
193
191
191
191
191
191
191
191
189
189
188
187
187
187
187
188
188
188
187
187
187
187
187
187
187
187
187
187
187
187
187
186
186
185
185
185
184
184
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
185
186
186
180
180
175
166
158
158
158
158
158
158
158
157
157
156
148
148
145
146
149
149
152
152
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
154
158
158
158
158
158
154
150
150
143
143
143
145
145
145
145
145
145
145
146
146
150
150
155
160
162
163
163
163
159
159
159
159
159
159
158
158
158
158
158
158
158
158
161
161
161
162
162
162
162
158
158
158
158
158
158
158
159
162
162
162
163
163
163
164
164
165
167
167
167
167
168
168
169
173
173
173
172
172
172
172
172
172
173
173
173
173
174
176
178
180
180
181
182
183
185
185
185
188
188
188
187
187
187
187
183
182
182
180
179
177
175
174
173
171
169
169
166
166
165
165
165
165
165
165
165
165
165
166
167
167
167
168
168
168
168
168
169
169
169
169
169
169
169
169
169
169
168
167
167
166
166
166
166
165
164
163
163
162
162
160
159
159
159
159
158
157
156
155
155
152
150
150
150
148
148
147
145
145
141
139
139
139
139
139
142
145
152
155
156
151
151
150
135
135
135
135
133
132
129
127
127
125
125
125
125
125
124
123
123
122
122
122
122
122
122
122
122
123
124
125
125
126
126
126
126
126
126
125
125
125
124
124
124
124
123
123
123
123
123
123
122
121
121
121
121
121
121
126
126
126
126
126
126
122
122
116
116
116
116
116
116
117
117
118
119
119
119
117
117
116
116
117
119
120
120
121
122
122
126
127
127
127
127
127
127
126
126
125
125
124
124
123
122
122
121
121
121
121
122
122
123
123
124
125
129
130
132
133
134
135
137
143
145
149
151
152
152
150
150
143
143
130
130
128
128
128
127
122
122
121
120
119
118
119
119
119
119
119
119
119
119
119
120
128
128
130
130
130
129
129
128
128
128
128
128
128
127
127
127
126
126
126
126
125
125
125
124
124
124
124
123
123
122
122
122
122
122
122
122
121
121
121
121
121
121
121
121
128
128
128
128
126
124
123
123
122
121
120
120
120
121
120
120
120
121
121
122
123
124
124
124
125
126
126
127
127
127
127
127
125
125
130
130
131
130
137
137
137
137
137
135
137
137
145
148
152
152
153
154
154
155
157
160
161
165
166
167
169
171
172
173
175
177
178
179
180
181
183
184
184
184
185
186
187
188
190
193
195
197
199
201
205
206
213
213
212
212
212
207
206
204
203
202
200
199
198
198
197
196
196
196
195
194
193
193
193
192
189
188
187
185
184
184
183
182
182
181
180
179
178
172
171
169
168
168
166
165
165
164
158
158
157
157
156
155
154
153
153
152
152
151
150
147
147
146
146
145
145
145
143
143
143
143
141
141
141
136
134
134
135
136
139
139
139
139
136
133
132
131
130
128
127
127
127
126
126
126
125
125
125
125
125
124
124
124
124
124
126
126
126
126
126
127
127
127
130
130
133
133
134
134
138
138
138
137
137
134
132
131
132
132
131
129
128
128
128
128
128
128
128
128
128
128
128
128
128
129
130
129
130
127
127
127
128
128
129
130
130
132
133
134
137
138
139
141
141
141
141
141
141
141
142
141
140
136
135
133
133
133
133
133
133
133
133
133
133
132
131
130
128
127
128
129
129
129
129
129
130
131
133
134
133
133
131
130
130
130
130
134
135
135
135
135
134
134
133
133
133
133
133
132
132
131
131
130
129
129
129
129
129
129
129
129
130
131
131
131
131
131
131
131
131
131
131
132
132
132
133
134
134
135
136
136
137
137
137
137
137
137
137
137
136
136
136
134
134
134
134
134
134
134
134
133
133
133
133
133
133
133
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
133
133
133
133
133
133
132
131
131
132
132
133
134
134
134
134
133
133
133
135
136
136
137
139
139
139
138
138
138
138
138
138
138
138
138
138
138
139
139
139
139
139
139
139
139
139
140
141
142
143
144
145
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
149
150
151
151
151
151
151
151
151
151
151
152
153
152
152
152
152
152
156
156
156
156
156
155
155
155
155
155
155
155
156
157
157
158
158
157
156
156
156
156
156
156
156
157
157
157
157
157
158
159
159
160
161
163
163
164
164
165
165
163
162
161
161
161
161
161
161
161
161
161
161
162
162
162
162
163
163
163
164
168
169
172
173
173
174
174
174
174
172
172
172
173
173
173
175
175
176
178
178
178
179
180
181
182
183
183
183
183
183
183
184
184
184
184
184
184
184
184
185
186
186
186
186
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
188
188
188
191
196
196
196
197
198
198
198
201
203
204
205
205
206
206
209
211
218
225
231
232
232
233
234
234
235
238
240
241
247
247
250
250
250
251
254
257
261
264
264
264
264
264
264
256
246
245
244
243
239
238
238
238
238
238
238
238
238
239
241
244
244
244
245
246
245
245
244
244
244
244
244
244
245
245
245
245
245
245
245
245
243
242
240
239
239
240
240
240
240
240
240
240
239
239
239
239
239
238
238
238
238
238
238
238
240
240
240
241
241
241
242
243
243
244
245
245
248
251
252
255
255
256
256
259
261
262
263
264
266
267
267
267
267
268
268
268
268
268
267
266
266
266
267
267
271
271
272
273
275
278
279
283
283
287
289
289
289
289
289
289
289
289
289
290
291
292
293
293
293
293
293
294
294
295
295
295
295
296
298
299
300
307
309
309
318
320
324
325
326
329
330
330
331
332
333
335
345
346
350
357
358
368
370
371
372
373
374
374
375
375
378
378
382
382
382
385
394
399
400
402
408
409
410
411
414
415
416
416
419
421
422
426
426
430
430
431
432
434
434
436
436
438
440
442
443
446
447
449
451
457
457
462
464
466
470
475
480
481
482
484
486
488
493
494
496
498
503
509
514
514
515
519
525
532
534
548
550
552
556
557
557
558
559
559
561
562
562
562
562
562
565
567
569
571
573
573
575
581
583
591
592
593
599
602
607
612
619
624
632
632
633
633
634
634
635
664
669
671
674
675
677
679
680
685
689
690
691
692
692
694
696
700
700
703
705
713
715
719
723
725
727
728
734
736
737
739
742
742
742
742
745
748
750
749
749
749
749
749
749
749
749
743
739
738
735
735
719
718
718
719
736
737
738
740
740
740
740
741
741
741
741
741
742
743
730
730
730
731
731
731
732
733
735
736
745
746
748
748
748
748
748
748
748
748
748
749
750
751
752
752
752
754
757
759
760
760
756
756
755
754
753
752
748
749
749
750
754
755
755
755
755
757
758
758
758
756
756
756
756
755
755
755
754
754
753
753
753
751
750
749
748
747
747
747
747
746
746
746
746
746
736
731
718
718
717
717
716
715
715
711
709
707
704
701
698
695
693
689
689
680
670
657
654
651
650
649
647
646
645
644
640
638
636
633
631
630
626
626
622
616
613
607
602
599
591
591
586
575
571
570
569
568
566
565
565
565
567
569
569
569
570
570
571
571
572
572
572
574
574
577
577
578
579
580
585
586
587
597
601
603
606
609
611
613
618
618
619
623
624
626
627
629
626
624
622
619
612
610
609
589
589
583
577
573
569
574
579
581
585
587
586
577
567
566
566
563
561
557
552
535
530
527
525
523
521
518
516
512
510
506
502
502
501
500
499
499
498
498
498
498
498
497
494
485
483
483
483
476
467
467
466
465
465
463
455
452
447
447
438
437
436
435
434
433
431
430
430
430
430
430
430
430
430
429
428
424
424
420
419
418
417
415
414
412
412
402
400
398
397
397
396
395
394
394
392
391
391
391
390
390
390
390
388
388
388
386
384
383
382
382
382
382
382
382
382
382
382
380
380
379
378
378
379
379
380
381
382
382
382
381
380
377
376
373
373
372
372
371
371
370
370
370
370
367
364
364
363
362
362
361
361
362
362
363
363
363
363
364
364
364
363
362
362
362
362
362
362
363
364
368
368
371
391
391
391
390
390
390
389
389
389
388
387
387
384
384
384
384
384
384
384
384
384
384
385
385
387
391
391
390
390
390
387
388
388
389
390
380
378
375
373
369
368
372
372
372
371
370
369
369
366
366
365
361
361
357
357
356
356
355
353
352
352
351
350
348
348
348
346
346
343
340
337
331
328
313
312
311
311
289
287
278
276
276
275
274
273
268
265
261
257
256
255
255
254
253
252
251
251
250
249
247
245
244
244
244
243
242
242
242
242
242
242
242
242
242
242
241
241
241
240
240
239
239
239
239
239
238
237
237
238
239
240
242
242
243
243
244
246
247
248
241
236
233
232
231
231
232
234
235
236
236
236
236
236
236
236
235
233
233
233
230
229
229
227
227
226
224
223
223
222
222
222
222
222
222
223
221
221
221
220
219
217
215
214
214
214
213
213
214
215
216
217
218
217
216
216
214
211
207
205
205
202
202
203
203
204
205
202
199
197
196
193
190
190
190
190
189
189
188
187
187
186
186
186
186
185
185
184
184
183
181
181
180
178
178
178
178
178
179
180
181
182
181
179
178
174
173
171
170
169
167
166
166
166
166
166
166
165
164
164
164
164
164
163
163
163
162
162
162
162
162
162
162
162
162
162
161
160
160
160
160
160
159
159
159
159
159
159
159
159
158
158
158
157
157
156
156
156
158
158
158
158
159
160
160
160
161
161
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
164
165
166
168
171
174
175
176
177
182
185
190
193
194
195
198
199
199
200
201
202
204
204
205
206
206
207
208
208
210
210
208
208
207
206
205
204
203
201
199
197
195
194
193
189
188
187
182
179
175
174
172
169
169
168
168
165
165
164
161
161
160
160
160
160
160
160
160
160
160
160
160
159
158
157
157
159
160
161
161
161
162
163
164
164
165
172
172
183
183
183
183
183
183
183
183
182
182
182
182
183
183
185
185
185
185
185
185
185
186
204
204
204
204
204
204
205
205
205
205
204
203
202
201
200
198
194
194
194
193
193
193
192
192
191
186
182
182
177
176
176
175
175
174
174
173
173
172
172
171
168
168
167
166
166
166
165
160
159
159
159
159
159
159
158
158
156
156
154
153
153
152
147
147
147
146
146
146
145
145
145
145
145
146
146
147
147
147
147
145
144
143
143
143
143
143
143
143
143
143
143
143
143
143
143
142
142
142
140
140
140
139
139
139
139
139
139
140
140
140
140
139
139
139
139
139
139
138
137
135
135
134
134
135
133
134
135
136
136
137
136
135
135
135
135
135
135
146
145
143
142
139
137
135
134
129
128
128
128
132
132
134
135
135
128
128
128
127
126
125
125
125
125
125
125
124
125
126
126
126
126
126
126
126
126
126
126
126
126
125
124
124
124
124
124
124
124
124
125
125
125
125
125
125
125
125
125
125
125
125
125
125
126
128
128
128
128
129
129
130
130
131
131
133
133
133
133
133
133
133
133
133
133
132
132
132
130
129
128
127
130
129
129
129
128
128
127
127
126
126
126
127
127
131
130
130
130
130
130
129
128
127
127
125
125
125
127
128
128
129
129
129
129
129
129
131
131
131
131
132
131
134
134
133
133
133
133
137
143
144
143
142
142
142
142
142
142
142
142
142
143
145
145
148
148
144
142
139
139
138
137
137
133
131
131
131
131
131
131
131
131
129
129
129
129
129
129
129
130
130
131
132
132
132
133
133
133
135
135
135
135
134
133
133
133
132
132
133
134
135
135
135
134
133
133
133
132
132
132
132
132
132
139
139
140
142
144
145
147
147
148
148
148
150
152
150
150
149
149
149
149
149
149
149
148
148
147
147
147
146
145
145
145
144
143
142
141
141
140
138
137
136
136
135
140
140
140
141
141
143
144
145
145
145
146
148
148
149
149
149
149
151
151
151
152
152
152
152
153
153
153
153
153
153
154
154
154
154
154
154
153
153
153
153
152
152
152
152
152
152
152
152
152
152
152
152
152
152
152
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
155
155
155