108
108
108
108
108
108
108
109
110
110
111
112
113
114
114
114
114
114
114
114
114
114
114
113
113
113
112
112
112
112
112
112
112
112
112
112
112
112
112
112
111
111
111
111
111
111
111
111
111
112
112
112
112
112
112
112
112
113
115
115
116
116
117
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
117
117
116
115
115
115
115
115
115
115
115
116
116
117
117
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
119
121
122
123
124
127
128
128
128
128
128
128
128
128
128
128
129
130
132
132
133
133
134
134
134
134
134
134
135
136
137
138
139
139
138
137
136
135
133
133
132
132
132
134
135
134
130
126
126
127
127
127
127
126
126
126
126
126
126
127
127
127
127
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
129
129
129
130
130
130
130
130
130
130
130
130
130
130
130
131
131
131
132
132
133
133
134
134
135
135
136
136
136
137
137
137
137
137
137
137
137
139
140
141
142
144
144
144
144
144
144
144
143
143
143
143
143
143
143
143
144
144
145
145
146
146
147
147
148
148
149
149
150
150
151
151
151
152
152
152
152
152
152
151
151
150
150
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
148
148
147
147
146
146
145
145
145
146
146
146
147
147
147
148
148
148
149
149
149
149
149
149
150
151
151
152
152
153
153
153
153
153
153
153
153
153
152
152
152
152
152
153
153
153
154
154
154
155
155
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
157
157
157
158
159
159
160
161
162
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
162
162
161
160
160
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
160
160
160
161
161
162
162
162
162
162
161
161
160
160
160
160
160
160
160
160
161
161
161
162
162
162
162
162
162
162
162
162
162
162
163
163
164
164
164
165
165
166
167
168
168
167
166
165
164
164
165
166
167
167
167
167
167
167
167
167
167
167
167
167
166
166
166
166
166
166
166
166
166
167
167
167
168
168
168
169
170
170
171
172
172
173
174
174
174
174
174
174
174
174
174
175
175
176
176
176
177
177
176
175
173
172
172
174
176
177
178
179
179
179
179
179
179
178
178
178
178
178
178
178
179
179
180
180
181
181
181
182
182
182
182
182
182
181
181
181
181
182
182
183
183
184
184
184
184
184
184
185
185
185
185
185
185
186
187
189
190
192
193
195
196
196
196
196
196
197
197
197
197
198
198
198
198
198
197
197
197
197
197
197
197
197
197
197
197
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
197
197
198
198
198
198
198
198
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
196
196
196
196
196
196
196
196
196
196
197
197
197
197
197
197
199
199
200
201
202
202
202
201
200
199
199
199
197
197
197
197
197
197
197
197
198
198
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
200
200
200
200
201
201
201
201
202
202
203
204
205
205
206
207
208
209
209
210
211
211
212
213
213
213
214
214
214
214
214
215
215
220
223
225
227
229
233
235
232
229
226
223
220
220
220
220
220
220
220
219
218
218
217
216
216
215
214
213
212
212
212
212
212
213
213
213
213
213
213
213
213
213
213
213
214
215
216
218
219
220
221
221
221
221
221
221
222
222
223
224
224
225
226
226
227
227
227
227
227
227
227
227
227
227
227
227
227
228
228
229
230
230
231
231
232
233
237
240
243
246
249
252
254
252
250
248
246
244
242
241
241
242
243
244
245
246
246
247
248
248
249
249
250
251
252
252
253
253
254
256
257
257
257
258
258
258
259
259
260
260
260
260
260
260
260
260
260
260
260
261
261
262
262
263
263
264
264
265
265
266
266
267
267
267
268
269
269
270
270
271
272
273
274
275
276
277
279
280
281
282
283
284
286
287
289
290
292
292
291
290
290
289
288
288
287
286
286
286
286
287
289
289
290
291
292
293
294
295
296
297
298
299
299
300
300
300
301
301
301
301
302
302
303
303
303
304
304
304
304
304
304
305
305
305
305
305
305
305
304
303
301
300
298
296
293
291
290
288
286
285
283
284
286
287
288
289
291
292
293
295
296
297
298
299
300
301
301
302
302
302
303
303
304
304
305
305
305
306
306
307
307
307
307
307
308
308
308
308
308
309
309
309
309
310
310
310
311
311
312
312
313
313
313
314
314
314
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
316
316
317
317
318
319
319
320
321
321
322
322
323
323
324
326
327
329
330
332
334
335
337
338
340
342
344
345
347
348
349
350
351
352
353
354
354
355
356
356
356
356
356
356
356
356
356
356
355
355
355
355
355
355
356
357
359
361
362
363
365
366
367
369
370
371
372
373
373
374
375
376
376
377
378
378
379
380
381
382
383
384
386
388
389
391
392
394
395
397
399
400
401
399
397
396
394
393
391
390
388
387
385
384
382
381
379
379
380
380
381
381
382
382
383
383
384
384
385
385
385
385
385
384
384
384
384
383
383
383
382
382
382
382
381
381
381
380
380
380
379
379
379
378
378
377
377
377
376
376
376
377
379
380
382
383
384
386
387
388
390
391
391
391
390
390
389
388
387
387
386
386
385
384
383
383
383
383
384
385
386
387
387
388
389
390
390
391
392
393
393
395
396
397
398
400
401
402
403
404
405
406
408
409
410
411
411
411
411
411
411
410
410
410
410
410
409
409
409
409
409
410
412
413
415
416
418
420
421
422
424
426
427
429
430
431
433
433
434
435
435
436
436
437
438
438
439
440
441
442
442
443
443
443
443
443
443
442
442
442
442
442
441
441
441
441
441
442
443
444
446
447
448
450
451
452
454
455
456
457
457
457
456
456
456
455
455
455
454
454
454
453
453
453
453
453
454
454
455
455
455
456
456
457
457
458
458
458
459
460
461
462
462
463
464
465
465
466
467
467
468
470
470
470
471
471
472
472
472
472
473
473
473
474
474
474
474
474
474
473
473
472
472
471
470
470
469
469
468
468
468
468
468
468
468
468
468
469
469
469
469
469
469
470
471
471
472
473
474
474
475
476
477
477
478
479
479
479
479
479
478
478
478
478
478
477
477
477
477
478
479
480
482
483
484
485
487
488
490
492
493
492
490
488
486
484
482
479
477
474
473
471
471
471
471
471
471
471
471
471
471
471
471
471
472
472
472
472
472
473
475
476
477
478
479
480
482
483
485
486
487
488
489
490
491
492
493
493
494
495
496
497
498
498
497
496
495
494
492
491
491
490
490
493
494
495
495
496
497
498
499
501
505
508
512
515
509
503
497
491
488
493
495
498
496
493
491
490
487
487
487
487
487
487
487
486
485
484
487
490
493
496
496
495
495
494
494
494
494
494
495
497
498
499
501
502
503
504
506
507
508
510
512
513
513
513
513
514
514
514
514
515
515
515
515
515
515
514
513
513
512
512
511
511
510
509
509
508
506
505
504
503
498
496
495
495
495
495
496
496
496
497
497
497
498
498
498
498
498
498
497
497
497
496
496
496
496
497
498
499
501
503
504
504
504
504
505
505
505
507
508
508
509
510
511
511
512
513
514
515
516
516
516
517
517
517
518
519
519
519
519
520
520
520
520
520
520
520
519
519
519
519
518
518
518
518
518
519
519
520
521
521
522
522
523
523
524
524
525
526
526
526
527
527
528
529
529
529
530
530
531
531
532
532
532
533
533
533
533
534
534
534
535
535
535
535
536
536
536
537
538
541
544
547
559
561
564
568
571
572
573
577
579
580
582
584
582
581
580
580
579
579
578
577
577
576
576
575
575
574
574
573
573
573
572
572
571
571
571
571
571
571
571
571
572
572
572
572
572
572
571
569
567
566
564
563
561
560
559
558
557
556
556
556
556
556
556
556
556
556
556
556
556
556
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
576
579
581
579
575
572
567
556
541
529
529
529
529
531
534
536
538
539
542
542
542
542
541
540
539
538
538
537
536
536
538
540
543
545
555
558
560
560
559
559
558
558
558
558
558
558
558
558
559
561
565
567
570
572
574
576
577
577
577
578
580
583
582
575
568
559
549
538
528
520
516
512
504
497
492
486
482
478
474
470
466
464
462
462
463
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
463
463
463
463
463
462
462
461
460
459
455
448
441
434
428
421
419
417
416
416
417
421
423
419
416
414
412
409
406
398
390
380
368
362
355
354
353
348
342
337
334
331
328
325
323
320
315
310
305
302
298
293
288
284
274
265
260
258
254
245
238
235
232
230
229
229
232
236
230
221
218
218
218
217
211
205
204
204
204
204
204
204
204
205
206
207
208
209
210
211
212
213
214
215
216
217
219
220
221
222
224
225
226
228
230
232
233
234
235
237
238
239
239
239
239
239
238
238
238
238
238
237
237
237
237
236
236
235
234
234
233
232
232
231
230
230
229
229
229
229
229
229
229
230
230
230
230
231
231
231
231
233
234
235
237
239
241
243
244
246
248
250
251
252
253
253
254
254
255
255
256
256
256
257
257
257
258
258
259
259
259
260
260
261
261
261
262
262
263
263
264
264
264
266
267
269
270
271
273
275
276
278
279
280
282
283
285
287
289
290
291
292
292
293
294
294
295
296
297
297
298
298
299
300
300
301
302
302
303
303
304
305
305
306
307
308
308
309
309
310
310
311
311
312
313
313
314
315
316
317
317
318
319
320
320
321
321
322
323
324
324
325
326
326
327
328
328
329
330
330
331
331
331
331
331
331
331
331
331
331
331
331
332
334
335
336
337
339
341
342
344
345
347
348
350
351
351
352
352
353
353
354
354
354
355
355
355
356
356
356
357
357
357
357
358
358
358
358
358
359
359
359
360
360
360
361
361
362
363
364
364
365
365
366
367
368
368
369
370
371
372
374
375
376
378
379
380
382
383
384
385
386
387
389
390
391
393
394
395
397
398
400
401
403
404
406
408
409
411
412
414
416
417
419
421
422
424
425
425
424
423
423
422
421
420
419
418
418
417
416
415
415
415
416
416
417
417
418
418
419
419
420
420
421
422
422
423
424
424
425
426
426
427
428
428
428
428
428
427
427
427
426
426
426
425
425
425
426
427
429
430
432
433
435
437
437
438
440
441
442
443
443
444
444
445
445
445
446
446
447
447
447
448
448
449
449
450
450
451
451
451
451
451
451
451
451
452
452
452
452
452
452
452
452
453
454
455
456
457
458
459
459
460
461
462
463
463
464
465
466
466
466
466
466
465
465
465
464
464
464
464
463
463
463
463
463
465
466
468
469
470
470
470
470
470
470
469
469
469
469
468
468
468
468
468
468
468
468
468
468
468
468
470
473
476
479
482
484
485
485
486
486
487
487
487
488
488
488
489
489
486
485
483
481
479
479
480
481
482
483
484
484
484
484
484
484
482
481
480
478
478
480
480
481
483
483
484
485
485
484
483
482
482
481
480
480
479
478
477
477
476
475
474
474
473
472
471
468
466
465
466
467
468
469
469
470
470
470
470
470
470
470
470
469
469
468
467
466
464
463
461
460
460
459
458
457
456
454
451
449
446
444
444
444
445
445
446
446
446
446
446
445
443
442
440
438
438
438
437
436
432
428
424
419
414
411
409
408
402
395
393
396
395
389
383
376
371
368
366
364
361
358
356
353
351
350
349
350
351
351
345
339
330
321
314
312
310
308
306
303
299
297
297
297
296
290
285
282
279
273
266
260
252
244
236
228
219
219
219
215
213
210
206
202
198
194
194
195
196
194
191
189
188
187
185
185
185
185
185
186
187
187
187
187
188
188
188
188
188
188
189
189
189
189
189
189
189
190
190
191
191
192
192
192
192
192
192
192
192
192
191
191
191
191
191
191
191
191
191
190
189
188
187
186
186
186
186
185
185
185
185
185
185
185
185
185
185
185
185
184
183
182
181
180
180
180
180
181
181
181
181
181
181
180
180
180
180
180
180
180
180
180
180
181
182
183
183
181
180
179
178
176
175
174
173
172
172
172
172
172
172
172
173
174
174
175
176
176
175
175
174
173
173
173
173
173
173
173
173
173
173
172
172
171
171
170
170
169
169
169
169
169
169
168
168
167
166
166
166
166
166
166
167
167
167
167
167
167
167
167
167
167
167
167
167
167
167
166
166
166
166
167
167
168
168
169
169
169
169
169
169
169
168
167
166
165
163
163
163
163
163
163
163
163
163
162
162
161
161
161
161
161
161
160
160
160
160
160
160
160
161
162
163
163
163
163
163
163
163
163
162
161
160
160
159
159
159
159
159
159
159
158
158
158
158
158
158
158
158
159
159
159
160
161
161
162
162
162
162
162
162
162
162
162
162
162
162
162
162
162
163
163
163
163
163
163
163
162
161
160
159
158
157
157
157
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
155
155
155
154
154
154
153
153
152
152
153
153
153
153
153
153
153
152
152
151
151
150
149
149
149
148
148
148
147
147
147
147
147
146
146
146
146
146
145
145
145
145
145
145
146
147
148
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
150
150
150
151
151
151
151
151
151
150
149
149
148
147
147
147
147
147
147
147
147
147
147
147