297
297
297
297
297
297
297
297
298
298
298
298
298
298
298
299
299
299
299
299
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
301
300
300
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
302
302
302
303
303
303
303
303
304
304
304
304
304
304
304
304
304
304
305
305
305
305
305
306
306
306
306
306
306
307
307
308
308
308
308
309
309
309
309
309
308
308
308
308
308
308
308
309
309
309
310
310
310
311
312
314
316
318
318
318
318
318
318
320
320
322
322
322
322
324
324
324
324
324
326
326
326
326
326
327
327
329
329
330
332
332
333
333
333
332
332
332
333
334
334
334
334
334
334
334
335
334
336
336
335
335
335
336
337
336
336
336
336
337
337
337
338
338
338
337
336
337
336
336
336
334
334
335
335
336
336
336
336
336
336
336
335
337
337
335
337
337
335
335
337
335
335
335
336
336
336
335
335
333
333
334
334
334
334
335
335
332
332
332
331
331
331
331
331
331
331
330
330
329
329
329
330
331
331
332
332
333
334
334
335
336
338
339
342
343
344
346
346
348
348
350
350
352
352
352
354
354
354
354
356
356
358
359
359
359
362
367
370
376
381
385
387
389
389
389
392
395
398
398
398
401
402
405
407
407
407
409
412
412
413
415
415
415
415
418
418
420
420
421
421
421
423
423
423
422
422
422
424
424
424
425
425
427
427
427
430
430
430
430
430
430
434
433
433
437
437
437
437
440
440
442
442
442
442
442
443
443
443
443
443
443
444
444
444
443
443
443
443
443
443
443
443
443
443
443
443
443
442
442
442
442
441
441
441
441
441
441
441
441
440
440
440
439
439
439
439
439
439
438
438
439
439
439
438
438
437
436
436
436
436
436
436
436
436
436
437
437
436
436
436
436
436
435
436
436
436
436
436
434
434
432
431
431
433
429
429
431
428
428
427
428
425
425
426
424
419
419
419
420
414
414
414
420
420
420
420
420
423
423
423
423
423
423
420
420
424
418
418
418
418
418
418
415
415
415
407
402
402
402
402
402
398
407
407
400
408
408
400
407
407
398
404
404
395
395
401
393
393
399
391
397
387
387
393
382
382
377
368
372
372
372
372
375
366
366
366
367
367
367
367
367
364
362
360
357
357
355
354
354
353
352
348
348
345
345
345
342
342
340
337
337
337
335
329
327
327
324
322
322
317
316
316
315
316
314
314
314
314
314
313
313
313
313
313
315
315
315
315
312
312
312
312
309
309
309
309
308
308
308
308
308
308
307
307
306
306
306
306
306
306
306
306
306
307
307
306
306
306
306
306
306
306
307
306
306
307
307
307
307
309
309
309
309
311
315
317
319
319
319
319
319
321
320
320
320
322
322
325
323
323
323
323
323
323
320
320
320
320
320
320
320
320
320
318
318
318
318
318
320
320
320
320
318
323
320
317
321
320
320
320
320
320
320
320
320
319
319
319
318
318
318
318
318
320
316
319
319
319
316
316
318
318
316
316
315
315
316
322
322
322
322
322
324
322
322
320
320
320
318
317
317
317
317
317
317
317
317
317
318
320
320
320
320
320
320
321
321
318
318
318
318
317
317
317
317
314
314
313
309
309
309
310
310
307
307
309
309
309
309
310
312
313
313
312
312
312
312
311
311
311
308
308
308
308
310
310
310
310
309
309
309
309
309
309
309
309
309
309
315
314
314
314
313
313
306
306
306
306
306
306
306
307
307
307
307
307
307
308
308
309
310
314
316
318
315
315
316
316
315
315
315
315
313
311
311
313
313
313
313
313
315
315
315
315
315
311
316
316
311
311
318
311
318
318
317
317
317
317
317
314
314
313
313
313
313
313
313
313
313
321
313
313
321
321
321
320
320
320
320
320
320
320
320
320
320
330
319
319
319
319
319
319
319
319
318
318
318
318
318
318
318
318
318
325
323
321
321
327
323
321
317
314
314
313
312
312
312
313
312
312
310
308
310
308
306
306
309
309
307
307
307
307
305
308
308
306
312
309
309
314
311
311
308
310
310
310
307
307
307
307
309
313
313
313
313
310
313
313
313
318
318
318
318
323
323
329
332
342
344
344
347
347
348
357
359
360
360
360
362
358
363
363
360
364
364
362
364
364
364
364
364
366
366
366
366
361
369
369
369
363
373
373
373
373
377
377
377
372
372
377
377
377
377
381
381
385
385
389
389
389
394
394
394
397
393
396
396
399
399
399
401
401
401
402
402
402
406
407
407
408
408
408
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
407
407
407
408
408
409
409
409
409
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
409
409
409
409
409
409
409
409
409
409
409
409
409
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
407
407
406
406
405
405
405
405
405
405
405
406
406
405
405
405
405
405
405
405
405
405
405
404
404
404
404
404
403
403
402
402
403
403
404
404
404
404
404
405
405
405
406
407
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
405
405
405
405
405
405
405
405
405
404
404
404
403
403
403
401
401
399
401
397
397
399
395
395
395
395
395
396
396
396
396
396
401
401
399
401
402
401
401
400
400
399
400
400
400
398
398
398
398
397
397
397
396
396
395
395
393
393
395
395
395
397
397
397
397
397
399
401
401
401
401
401
401
401
402
402
402
402
402
403
403
403
403
403
403
403
403
403
403
403
403
402
402
402
402
401
401
401
401
401
401
401
401
400
399
399
397
395
396
396
396
396
397
397
397
397
397
397
396
395
394
394
394
394
394
393
393
393
393
392
393
393
393
394
393
393
393
391
389
387
387
387
387
387
385
385
383
383
383
381
378
375
374
374
371
371
367
368
365
365
364
362
358
360
360
358
358
351
349
349
349
349
349
347
345
345
345
345
342
344
340
339
339
335
335
332
330
330
326
324
321
319
319
316
319
316
316
316
316
313
313
313
319
319
319
319
320
320
320
320
320
316
318
318
318
318
316
316
316
313
308
308
307
306
305
303
303
303
304
301
301
301
299
297
297
295
295
295
293
293
291
289
288
288
286
286
284
284
283
283
285
285
286
286
286
286
286
285
284
282
280
279
278
277
276
275
275
275
275
275
275
275
274
275
274
273
272
272
272
272
272
271
271
271
271
271
271
271
271
273
273
273
271
271
271
271
269
269
269
269
269
269
269
267
267
264
261
261
262
262
262
262
262
264
264
264
269
269
270
270
270
271
271
272
272
272
272
272
275
275
275
275
277
280
279
280
280
280
281
281
282
282
282
281
281
281
281
289
289
292
295
295
297
297
298
301
301
301
306
307
304
302
302
294
291
291
288
287
284
283
280
280
277
278
275
273
272
271
271
271
272
272
271
271
270
270
271
269
270
270
269
266
265
265
265
265
265
265
265
266
267
267
267
267
266
264
264
264
263
263
262
260
260
260
259
259
259
259
259
261
261
261
260
259
259
258
258
260
258
257
257
257
256
256
255
255
254
253
252
251
251
250
250
249
249
249
249
247
246
246
245
245
244
243
243
243
243
243
243
243
244
244
244
245
246
247
248
249
250
252
254
255
257
257
258
258
258
258
258
257
257
257
259
259
257
257
257
257
255
255
255
255
254
254
254
254
254
254
254
254
254
254
254
254
254
253
253
253
253
256
256
256
256
256
255
255
255
255
254
254
254
255
255
253
253
253
253
253
253
253
253
253
253
253
256
256
259
259
260
260
262
264
264
267
270
271
273
273
275
278
279
279
281
281
285
285
285
291
291
291
296
296
296
301
301
301
306
306
306
306
310
310
314
314
314
319
323
323
323
325
325
328
328
328
333
333
333
333
333
335
342
342
342
342
342
343
343
343
344
348
349
350
350
355
355
357
360
364
364
364
364
364
364
364
363
363
363
363
364
365
365
368
368
369
371
371
371
371
371
372
372
373
373
373
373
374
375
374
373
373
370
370
367
367
367
364
364
363
363
362
362
361
361
361
360
361
360
360
361
361
361
361
361
361
361
361
361
360
361
360
360
360
360
360
360
361
361
360
360
361
361
361
361
363
363
363
363
363
364
364
364
364
364
364
364
364
364
364
364
363
363
363
362
362
360
360
358
358
355
355
355
355
355
355
354
356
356
356
358
358
358
358
358
358
358
360
360
360
362
362
362
362
363
363
363
364
364
365
365
366
366
366
367
367
367
367
367
368
368
369
369
370
370
371
371
371
371
372
372
372
372
372
372
372
370
369
369
368
368
367
367
367
367
367
367
367
367
367
367
367
367
367
367
367
366
366
366
367
366
368
367
368
368
366
366
362
362
362
361
361
361
361
361
357
352
352
356
356
356
355
347
346
346
346
346
347
347
338
339
339
336
336
335
329
329
329
324
321
321
321
317
313
305
295
292
281
276
275
268
261
261
258
258
258
258
253
253
251
255
256
258
259
261
262
262
266
268
268
271
272
274
276
279
279
282
283
284
284
284
285
285
287
287
287
287
288
288
288
288
289
294
310
312
317
322
322
328
331
335
335
335
338
338
338
339
342
342
343
347
351
352
355
358
361
362
365
365
367
367
367
367
369
370
371
371
371
371
372
372
371
372
372
371
372
372
372
373
373
373
374
374
374
374
374
374
374
374
375
374
375
375
376
376
376
377
377
377
377
378
378
377
378
378
378
379
380
380
380
380
380
380
381
381
382
382
382
382
382
382
382
382
383
382
382
383
382
382
382
382
382
382
381
381
380
381
381
379
380
380
379
379
379
381
379
380
379
380
380
380
381
381
381
382
382
382
382
382
382
383
382
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
382
382
382
382
382
382
382
382
382
382
382
382
382
382
382
381
381
381
381
381
381
381
381
381
381
381
380
380
380
380
380
379
379
379
379
379
379
378
378
378
378
378
378
377
377
377
377
377
377
376
376
376
375
375
374
374
373
372
372
372
372
372
372
372
372
372
372
372
372
373
373
373
372
372
371
370
370
370
370
370
370
370
370
370
369
369
369
368
370
369
371
371
371
372
373
373
373
372
372
372
372
372
372
371
371
371
371
371
371
370
370
370
370
369
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
366
366
366
364
364
364
361
361
361
361
359
352
352
354
353
353
350
350
350
347
347
347
344
344
342
342
338
338
337
337
333
332
332
332
331
331
327
327
327
327
327
327
327
327
324
324
324
324
324
321
321
321
321
318
319
319
315
316
316
316
314
314
314
315
312
312
313
313
310
310
310
310
307
307
307
307
307
307
309
309
311
311
311
312
312
310
312
310
310
310
310
307
307
305
305
305
305
304
304
304
304
304
303
305
305
303
303
303
305
305
305
304
304
305
305
305
305
305
305
303
303
303
301
301
301
300
300
298
298
298
296
296
294
294
294
294
292
292
292
291
291
291
289
281
281
278
278
272
270
270
270
263
253
247
247
246
246
246
246
246
246
245
244
242
243
241
242
241
241
242
242
242
242
242
242
242
242
242
241
240
239
239
239
239
239
239
238
238
238
239
238
238
239
239
239
239
239
238
238
237
237
236
236
236
236
236
235
236
236
236
236
237
236
237
237
237
238
238
238
238
238
238
238
238
238
237
235
235
234
234
232
232
232
231
231
231
231
231
230
230
230
230
230
230
230
230
230
231
231
230
229
229
229
229
229
229
229
229
229
228
228
228
228
228
227
227
227
227
227
227
226
226
226
226
226
226
226
226
226
226
227
227
227
227
227
228
228
228
228
228
229
229
229
229
229
229
229
229
229
229
231
231
231
231
231
231
231
231
230
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
232
232
232
232
232
233
233
234
234
234
234
234
234
234
234
233
234
234
234
234
234
234
234
234
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
236
236
237
237
237
237
238
238
238
238
238
238
238
238
238
238
238
238
238
239
239
239
239
239
238
238
238
238
239
240
240
240
241
241
241
240
240
241
241
241
241
241
242
242
242
242
242
242
242
242
242
242
242
243
243
243
243
244
243
243
243
243
243
243
243
243
244
244
244
244
244
244
244
244
245
248
248
248
248
248
248
250
250
249
250
250
250
251
251
251
250
250
250
250
250
250
250
250
250
251
251
251
252
253
254
255
256
256
257
258
258
260
261
261
262
264
264
264
266
268
269
271
271
273
275
277
281
282
285
285
284
284
284
283
283
284
280
280
282
281
281
281
281
281
282
281
281
281
279
279
279
279
281
281
281
281
283
283
282
285
285
288
288
288
288
288
289
289
289
293
293
293
293
293
293
293
297
296
298
298
298
304
299
306
308
308
311
311
314
317
317
317
320
323
324
324
324
324
325
333
335
341
344
346
349
353
355
359
362
362
365
365
365
365
367
367
368
368
370
368
368
365
365
365
363
363
361
359
358
358
359
359
360
360
360
362
362
362
362
362
363
363
363
363
363
363
363
362
362
360
363
361
361
363
365
362
362
365
365
369
365
365
367
369
363
364
367
367
367
365
365
365
365
365
365
361
360
355
355
355
355
356
357
360
361
361
362
362
362
362
365
367
367
369
369
371
372
374
374
368
366
372
372
364
362
358
358
358
358
362
362
365
363
363
360
360
358
354
356
353
354
352
352
352
352
354
354
356
356
356
356
359
359
361
361
364
361
361
365
363
363
363
366
367
367
370
370
370
370
370
370
374
374
372
372
372
377
377
377
377
375
375
375
375
375
374
370
370
371
371
372
372
372
368
368
368
367
367
366
366
366
366
370
370
369
370
367
367
367
365
365
365
365
365
365
367
365
367
364
364
368
368
367
367
367
370
374
374
375
371
371
363
366
363
363
364
364
364
361
361
360
361
357
361
357
357
360
358
359
359
358
358
358
360
360
363
363
366
366
366
369
369
369
369
372
371
371
368
368
370
369
369
369
371
369
369
369
368
368
367
367
368
364
366
366
366
361
360
360
360
360
358
355
355
350
350
350
350
349
350
349
350
351
352
355
352
352
352
352
353
354
355
359
360
360
361
361
361
360
360
360
360
362
362
362
362
362
362
362
365
364
363
366
367
368
368
367
367
367
367
366
367
367
366
365
365
365
359
359
356
353
351
353
351
350
347
347
347
347
347
345
345
345
345
345
345
345
345
348
345
348
344
348
348
348
344
345
345
344
341
344
344
341
341
341
341
341
341
341
341
337
342
337
338
342
340
340
340
336
334
334
334
333
333
332
331
331
331
329
329
329
329
325
325
325
317
317
326
316
316
316
316
311
311
318
318
318
318
321
321
321
314
314
314
313
313
313
313
313
313
309
309
313
309
316
316
312
312
312
310
312
307
307
307
305
305
306
312
312
312
306
312
312
313
313
307
307
306
306
304
304
302
302
302
302
304
300
298
294
292
294
292
291
292
291
292
291
291
290
289
289
290
289
289
289
289
289
290
290
290
291
291
291
291
292
292
292
292
293
294
294
295
295
295
296
296
296
296
296
297
297
297
297
296
296
296
296
296
295
295
295
295
294
294
294
294
294
294
294
294
294
294
295
295
295
295
295
295
295
296
296
295
295
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
297
297
297
297
297
297
297
297
297
297
296
296
296
296
296
295
295
295
295
295
295
295
295
296
296
296
296
296
296
296
297
297
297
296
297
297
297
297
297
297
297
297
297