148
147
146
145
145
144
144
144
143
143
142
142
142
142
142
142
142
142
142
143
143
144
144
144
144
144
144
142
142
142
142
141
141
141
142
144
145
145
146
147
147
147
147
148
148
149
149
150
150
150
153
157
159
161
162
163
164
169
170
171
172
173
177
176
176
174
174
173
170
168
166
164
164
160
160
159
159
158
157
156
155
155
153
151
149
149
149
149
149
149
149
148
144
142
137
137
137
137
136
136
136
136
135
135
136
137
137
138
139
140
140
143
143
145
145
145
145
145
145
145
144
144
144
144
144
144
144
144
144
143
143
143
143
142
142
142
142
142
141
140
140
138
138
137
135
135
135
135
135
135
135
135
135
136
137
137
137
138
138
139
139
139
139
139
139
138
138
138
138
138
139
139
139
139
139
139
139
139
139
139
138
138
138
138
140
142
142
142
142
141
141
141
140
132
132
132
133
136
137
139
139
139
136
135
135
134
134
134
134
133
133
133
133
133
133
133
133
133
133
134
134
134
134
134
133
133
133
133
133
133
133
133
133
134
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
138
138
139
139
139
140
140
140
140
140
140
140
140
140
140
141
141
142
142
142
142
143
146
147
153
154
154
154
158
159
159
159
159
159
159
159
157
155
155
155
155
155
154
153
152
152
151
149
149
149
147
146
144
144
144
146
148
148
148
148
148
149
149
149
149
149
149
149
149
149
148
148
148
148
148
148
148
148
149
149
149
149
149
150
150
150
150
150
151
151
151
151
151
151
150
149
149
148
148
148
149
151
153
155
157
159
159
155
155
155
155
155
155
154
154
153
153
153
155
155
155
155
155
156
156
153
154
154
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
156
156
157
158
158
158
158
158
157
157
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
156
156
161
163
167
168
169
170
170
170
170
171
172
172
173
173
173
169
175
176
176
177
177
178
178
178
178
178
178
178
178
178
175
174
169
169
169
169
166
165
164
164
164
164
164
165
166
166
166
165
165
165
165
165
165
165
165
164
164
164
164
163
163
162
162
162
162
161
161
161
161
162
167
167
167
167
168
168
168
171
172
175
177
177
178
179
179
180
181
182
183
184
186
190
191
192
193
193
193
194
197
198
202
206
209
200
195
193
191
191
190
191
193
193
194
195
196
196
189
187
186
186
186
186
186
187
187
187
189
190
191
192
194
194
195
197
204
205
206
206
207
208
208
208
208
214
218
221
223
225
226
228
229
233
234
235
235
236
239
241
241
241
242
242
242
243
245
245
245
245
246
246
246
247
247
247
247
247
247
247
250
253
254
255
262
288
291
292
293
296
301
302
304
307
308
309
310
311
313
315
317
319
324
325
326
327
327
327
327
327
327
327
327
327
328
329
333
335
336
337
339
341
345
349
350
358
362
366
366
375
379
384
386
392
393
397
403
405
413
417
421
425
429
433
435
441
449
458
461
471
475
479
483
485
488
493
498
503
503
507
514
519
523
525
527
530
533
534
536
537
538
540
546
549
551
555
557
559
563
567
575
577
580
588
591
596
604
610
615
618
620
621
622
625
627
629
631
633
637
638
639
647
649
651
652
654
656
657
660
663
665
667
669
670
671
674
677
677
679
684
688
690
692
692
691
691
691
691
690
690
689
689
688
681
678
677
673
669
668
666
664
661
660
656
653
652
651
649
649
647
646
640
638
635
633
628
626
623
618
615
614
612
608
604
600
594
589
586
578
575
573
565
559
553
550
546
542
541
539
536
535
535
534
534
533
532
530
528
528
523
516
506
498
494
487
483
482
481
481
479
478
476
474
472
469
467
459
456
447
439
434
432
428
423
419
415
411
403
401
395
389
389
384
381
378
374
370
369
369
368
367
362
360
357
352
349
346
343
337
332
328
324
321
319
318
316
314
312
307
304
303
302
301
300
299
296
295
293
293
292
291
291
290
289
289
288
287
285
284
283
278
276
272
270
267
266
265
264
264
263
262
262
260
253
252
251
251
251
251
245
241
236
229
222
218
218
217
216
216
216
217
217
219
219
219
220
220
221
222
223
224
225
225
226
226
226
226
226
225
225
224
224
224
225
226
226
227
227
226
226
226
225
224
223
222
222
222
222
221
221
221
221
222
223
224
225
225
225
226
226
227
227
230
234
235
231
228
243
244
244
244
242
241
241
239
239
239
239
237
236
236
236
236
236
236
237
237
238
239
239
240
235
234
230
228
227
225
224
224
224
224
223
223
222
222
222
222
223
223
223
223
224
224
225
225
225
225
225
223
218
217
216
215
212
211
210
210
211
212
213
213
214
217
218
218
219
219
219
219
219
219
219
219
219
218
219
220
220
220
220
221
221
221
221
220
220
219
219
219
221
221
225
229
235
240
242
244
244
244
244
244
244
245
245
246
244
244
244
244
243
241
239
239
239
237
237
237
237
237
237
236
236
236
236
230
230
230
230
230
230
230
230
231
231
231
231
231
231
231
234
236
237
237
236
235
232
232
231
231
230
230
230
230
230
231
232
232
233
233
233
233
233
233
234
234
235
236
236
236
236
237
239
238
237
237
236
236
236
235
234
229
221
222
224
224
224
224
224
224
224
223
223
223
223
223
223
225
226
226
228
230
231
234
236
236
238
240
242
243
243
244
247
248
249
251
251
253
254
255
258
261
262
262
262
263
263
260
251
246
242
236
236
235
234
234
233
233
232
230
229
228
227
227
226
225
225
225
225
226
228
229
232
237
240
249
251
251
251
252
252
252
252
252
252
252
252
252
253
254
254
255
256
257
258
260
260
260
261
261
262
263
264
264
267
266
262
261
262
262
262
263
263
264
264
266
267
267
270
271
271
272
273
272
271
270
270
270
270
271
271
271
271
271
271
271
271
271
271
271
271
272
272
272
273
273
273
273
273
273
273
273
272
269
268
268
268
268
269
269
269
269
269
270
270
270
270
270
270
273
273
273
274
274
275
275
277
278
279
279
279
279
279
279
279
279
279
279
279
278
278
278
277
277
277
277
276
275
275
276
278
279
285
285
285
286
286
291
291
306
305
304
303
295
294
291
291
291
291
291
291
291
292
292
293
293
293
293
293
294
295
297
298
299
299
301
301
302
303
304
304
305
306
306
307
307
308
308
310
312
312
313
315
317
318
323
325
327
329
330
331
332
334
342
344
344
345
347
349
351
355
356
358
370
372
375
377
380
382
383
383
383
383
383
385
389
394
399
401
402
403
405
405
404
403
402
402
402
403
404
404
405
405
406
406
406
407
420
421
422
426
432
432
433
434
435
436
436
437
437
438
439
440
440
441
445
446
447
448
449
451
452
454
455
457
458
461
465
465
466
466
467
468
469
471
474
475
476
477
478
478
479
480
483
484
484
485
488
492
496
501
504
508
508
516
522
531
534
536
540
543
545
550
551
552
553
554
554
555
556
556
560
561
562
566
567
568
569
572
573
574
577
578
579
581
582
583
584
585
586
586
588
588
589
589
590
591
592
593
594
596
597
598
601
604
605
608
609
618
621
622
623
626
628
629
633
635
636
637
638
638
639
639
639
639
640
643
644
645
647
648
649
650
653
653
654
654
654
655
661
671
675
678
680
685
689
692
701
707
710
711
718
721
723
724
727
729
731
733
736
738
741
751
754
754
755
755
756
756
755
753
751
750
749
748
745
735
731
729
728
726
725
724
723
720
718
717
716
711
710
706
704
702
700
698
695
687
687
682
679
676
671
670
667
665
661
655
654
650
646
640
637
631
630
629
628
627
626
621
617
612
610
606
597
593
592
586
576
574
569
568
564
562
557
555
553
546
541
540
537
533
532
525
522
520
517
515
514
513
512
512
509
509
507
507
506
506
505
501
500
499
498
498
497
497
496
496
495
494
493
491
489
487
485
483
483
483
482
481
479
479
479
479
480
480
480
480
480
480
477
476
475
475
471
470
467
465
464
462
461
460
459
458
456
455
454
453
449
446
445
444
443
441
440
434
432
431
428
428
426
425
422
421
419
418
416
414
411
408
408
407
407
407
406
404
403
401
400
399
398
396
394
391
389
384
381
380
379
377
376
375
374
373
372
370
369
369
372
372
374
374
372
371
370
367
365
362
364
367
368
370
371
376
379
379
379
377
372
369
367
366
364
358
358
358
358
358
358
358
358
360
360
360
360
361
362
363
364
365
365
366
367
367
368
368
368
368
369
369
369
369
369
371
372
374
374
375
379
380
381
389
393
395
396
397
398
399
401
402
403
404
405
406
407
408
411
414
416
420
425
429
434
440
442
444
445
448
450
451
453
454
455
459
459
460
467
472
475
480
486
491
498
501
504
514
518
521
521
521
521
522
528
532
537
536
535
534
533
531
530
528
524
517
513
509
506
504
501
499
495
493
492
491
485
481
479
477
472
470
468
467
466
465
463
459
457
452
450
448
446
438
437
436
434
433
433
431
431
429
429
433
434
435
447
450
453
454
455
456
456
459
459
460
463
467
468
468
472
472
473
476
477
477
479
479
479
480
481
481
482
482
482
481
481
477
476
475
474
473
472
472
472
472
472
472
472
472
472
472
472
472
472
473
473
472
465
456
456
458
459
460
463
464
464
464
465
465
466
466
466
472
478
478
474
474
472
471
471
469
467
464
460
458
453
453
451
449
431
429
427
426
422
422
421
420
420
419
419
411
410
409
409
409
407
406
404
397
397
396
396
395
395
394
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
392
392
391
391
391
391
390
390
390
389
389
390
391
392
395
395
396
396
396
396
397
397
398
399
399
404
404
404
418
420
424
426
428
429
429
430
430
427
426
425
425
423
421
418
418
415
411
411
410
409
409
407
407
405
404
402
402
400
399
398
397
397
397
395
394
394
393
393
394
395
395
396
397
397
398
398
399
400
400
401
401
402
402
402
402
402
402
402
402
402
402
402
385
382
379
377
370
365
360
351
345
340
330
325
316
308
302
297
296
295
292
291
291
291
291
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
289
287
286
285
284
284
284
284
284
284
284
285
285
285
286
286
286
287
287
292
293
294
295
297
297
300
302
303
304
309
310
313
314
316
317
318
319
319
319
319
320
321
321
322
325
329
330
331
335
359
363
384
387
387
386
383
379
374
371
368
364
364
364
364
364
364
364
364
364
364
364
364
364
364
364
363
362
361
360
359
358
353
349
348
345
340
339
338
336
334
333
332
332
332
330
329
326
321
320
319
316
315
314
313
311
309
309
308
308
308
308
308
308
308
308
308
308
308
307
307
307
307
306
306
306
306
307
307
307
309
312
313
314
316
318
327
327
327
328
333
334
334
335
335
336
337
338
340
340
341
342
342
342
341
340
335
334
332
331
326
330
332
334
333
330
327
324
318
316
314
314
314
313
313
313
312
312
312
312
309
309
309
308
308
307
307
306
306
305
311
312
313
311
311
310
310
309
306
305
305
305
306
306
307
308
309
310
311
310
310
309
308
308
308
307
307
307
307
307
306
305
305
304
304
304
300
299
297
297
296
295
295
294
294
293
291
287
287
287
287
285
281
279
278
277
276
276
275
275
275
274
274
273
273
273
273
273
273
274
274
274
274
274
274
274
274
274
274
274
274
273
272
272
272
271
271
270
270
270
270
270
270
271
271
271
272
274
275
275
275
272
270
266
261
253
252
252
250
250
250
251
251
252
254
254
255
255
255
255
255
255
255
255
255
255
255
255
255
255
256
256
256
256
257
257
258
259
259
259
259
259
260
260
260
260
261
261
261
261
262
262
262
263
263
264
264
265
266
266
267
267
268
274
281
281
284
289
290
291
291
291
291
291
291
291
291
294
295
297
297
297
297
296
296
296
295
295
294
294
293
293
292
292
292
291
291
290
289
288
287
287
285
286
286
287
287
287
287
287
288
288
288
289
290
292
293
293
293
293
293
294
294
294
295
295
295
295
295
295
295
298
298
299
302
302
303
303
304
304
304
304
304
305
305
305
305
305
305
306
306
306
307
307
307
308
308
308
309
309
309
310
313
314
321
331
337
344
345
345
347
349
350
350
351
352
356
356
357
358
359
366
368
390
398
399
409
420
426
426
426
426
426
427
427
427
428
431
432
433
435
435
438
440
441
444
446
447
449
451
450
447
445
440
438
430
422
419
418
415
413
410
410
410
410
410
410
410
410
410
410
410
410
410
412
414
415
416
417
414
413
412
412
410
408
408
406
405
404
404
403
402
399
397
396
395
394
391
390
386
385
384
382
379
378
378
377
376
375
365
360
359
358
356
341
339
338
337
337
337
338
339
339
340
340
342
343
343
343
344
344
344
345
346
346
346
346
346
346
347
348
348
347
347
347
347
346
346
345
344
342
341
341
340
340
339
339
339
338
338
337
337
337
335
335
335
334
334
334
334
334
334
334
334
334
334
334
332
331
328
327
328
330
330
334
337
339
341
343
353
355
357
358
360
360
360
359
359
358
358
358
358
359
361
361
362
362
363
364
366
362
360
358
355
353
351
346
345
342
339
337
332
330
326
328
329
330
330
331
331
330
329
328
327
326
324
316
308
305
305
304
304
304
306
307
307
308
308
309
310
311
312
313
316
317
317
320
324
325
326
327
328
329
334
358
361
362
362
363
364
365
366
366
371
371
372
372
372
371
366
364
363
360
360
357
354
352
350
350
348
348
347
348
349
350
351
352
351
350
349
349
348
348
348
348
347
344
340
339
334
330
327
319
317
314
312
311
310
308
300
297
296
291
289
280
276
274
273
269
266
262
257
254
247
243
242
241
233
233
228
226
224
223
222
221
218
218
217
216
211
209
208
208
207
207
207
207
207
207
206
206
205
204
204
204
204
204
204
204
203
202
200
200
200
200
200
200
200
200
200
201
200
199
199
197
197
197
194
194
193
192
192
190
187
187
186
185
185
185
185
184
184
183
183
182
181
180
180
180
180
180
180
180
179
178
178
178
178
178
178
178
178
179
179
179
180
180
180
180
181
182
182
183
184
184
184
184
184
184
184
184
184
184
183
183
180
180
180
180
180
181
181
182
182
183
183
183
183
184
185
186
187
188
188
188
188
188
186
186
186
181
180
178
177
176
176
175
174
174
174
173
173
172
171
171
171
171
170
170
170
169
169
169
169
169
168
168
168
168
168
168
168
168
169
169
169
170
170
170
172
172
172
172
172
173
173
173
173
174
174
174
174
174
173
173
171
171
171
171
171
171
171
171
168
168
168
165
165
164
162
162
162
163
163
159
157
155
152
151
147
147
146
142
142
141
141
139
138
138
136
132
132
131
131
131
130
130
130
130
130
130
130
130
129
125
125
125
125
125
125
125
124
124
124
124
124
124
124
124
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
123
124
125
125
125
123
123
123
123
123
124
128
129
128
127
126
126
126
126
126
126
126
126
129
129
129
129
129
127
127
127
127
125
123
123
123
123
123
123
123
123
123
123
123
123
122
121
119
119
119
119
119
119
120
120
120
120
121
121
121
121
121
121
121
121
122
122
122
122
122
122
122
122
122
122
120
119
119
119
119
119
118
118
120
120
120
120
120
120
119
118
118
118
118
118
118
119
119
119
118
118
117
117
117
118
118
118
118
119
119
119
119
119
119
119
120
123
122
122
122
122
121
121
120
120
120
120
120
120
120
119
119
119
119
119
119
119
119
120
122
122
123
123
125
126
127
127
123
124
125
126
127
128
128
128
128
129
129
129
129
129
129
129
128
128
128
128
127
127
127
127
127
127
127
126
126
126
125
125
125
125
125
125
125
125
125
126
126
127
127
127
129
131
135
136
138
138
139
140
141
141
143
149
155
156
158
158
161
162
162
163
163
162
158
157
152
147
147
147
147
145
143
142
142
142
142
142
142
143
145
146
146
146
145
148
151
149
149
146
142
139
137
137
137
136
136
136
136
136
135
134
134
134
133
133
132
132
132
132
132
132
132
132
132
132
132
132
132
132
130
130
131
131
131
127
124
122
120
118
116
112
112
112
111
110
110
109
108
108
109
110
110
112
112
112
111
111
111
110
110
111
111
111
112
112
112
112
111
111
109
109
108
108
107
106
106
105
104
106
106
106
105
105
105
105
104
104
104
104
104
104
104
105
105
105
105
105
105
106
106
106
106
105
105
105
104
103
102
103
112
112
110
111
110
110
109
106
104
102
101
101
99
99
99
99
99
100
100
101
101
101
100
99
98
98
98
98
99
99
100
100
100
99
98
97
97
97
97
98
98
98
98
98
98
98
98
98
98
98
96
95
95
95
95
95
95
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
96
96
96
96
96
96
96
96
96
96
96
93
93
93
93
97
99
99
100
100
100
101
101
104
106
105
105
102
102
102
102
102
102
102
102
102
102
101
101
101
101
101
101
101
101
101
98
97
102
103
103
104
104
105
107
105
105
105
106
106
106
106
105
101
101
99
97
97
97
97
98
99
100
100
102
102
102
102
102
102
103
103
103
103
102
101
100
101
101
101
102
102
103
105
105
106
106
106
106
105
105
105
103
104
105
108
108
106
105
100
99
102
105
107
107
107
107
108
108
108
109
111
112
112
115
117
122
123
123
126
126
127
130
130
130
130
129
129
126
126
125
124
113
111
110
109
109
109
110
110
110
110
110
110
110
109
109
109
109
109
109
110
109
109
110
110
110
110
110
111
111
111
114
114
114
114
112
112
112
112
112
112
113
113
113
113
113
113
113
113
113
115
117
121
121
121
122
124
124
124
123
120
120
120
120
119
119
119
119
119
119
119
119
118
118
118
118
118
117
117
117
116
116
116
116
116
116
116
116
116
116
116
116
116
117
119
120
120
120
122
123
126
127
127
128
128
128
128
130
130
131
131
133
133
133
134
134
135
135
136
137
137
138
138
129
128
127
127
127
127
127
127
129
129
129
131
136
137
137
138
142
142
143
143
143
143
143
143
143
143
143
143
143
143
144
149
150
151
151
151
152
152
152
152
154
159
159
159
159
159
159
159
159
160
160
160
160
159
160
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
160
160
160
160
160
160
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
160
160
159
159
158
155
155
155
155
155
155
155
159
160
160
160
162
162
163
163
164
164
164
164
165
165
165
166
166
167
167
167
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
170
170
171
172
172
170
170
170
170
170
170
169
166
168
168
168
168
169
170
170
170
170
170
171
171
172
172
173
173
174
174
175
175
177
176
176
175
175
176
177
177
176
175
174
174
173
172
171
170
169
166
165
163
162
161
159
159
158
157
156
155
155
155
154
154
154
154
154
155
155
155
155
155
155
155
153
154
155
155
156
156
155
155
155
155
156
156
156
156
156
155
155
155
154
154
154
154
155
157
160
161
161
156
155
155
155
155
155
155
155
154
154
153
153
153
153
154
154
155
155
155
155
155
155
155
155
155
155
156
156
157
157
157
158
158
158
159
159
159
159
160
166
167
168
168
168
168
167
167
167
167
167
167
167
166
163
163
163
163
163
164
164
164
164
164
165
165
166
166
166
166
166
162
159
158
157
155
154
156
156
156
156
156
157
157
157
157
158
158
159
159
161
162
162
162
163
163
164
164
164
164
164
165
165
165
165
165
165
165
160
157
157
156
156
155
155
155
155
155
155
155
155
155
155
156
156
155
150
150
147
147
145
145
145
145
145
145
146
146
146
147
147
147
147
147
147
148
148
147
147
147
147
147
147
147
147