344
343
343
343
339
336
335
334
334
334
334
335
330
330
335
336
336
334
332
332
330
330
330
332
332
331
330
330
330
330
331
331
331
332
332
332
333
334
334
334
334
334
334
334
334
334
334
335
336
336
334
333
334
338
340
339
338
338
338
339
340
340
341
341
342
343
343
343
343
342
341
341
339
338
337
336
336
336
337
337
336
335
334
332
331
331
330
329
329
328
328
327
327
326
326
326
325
325
325
325
325
325
325
325
325
325
325
326
327
328
329
329
329
330
330
330
330
330
329
329
327
325
323
322
322
322
322
322
322
323
323
323
324
325
325
328
329
330
330
331
334
340
343
344
344
343
336
336
336
336
337
340
343
345
346
350
351
351
351
352
352
353
357
357
357
357
358
359
359
359
360
360
360
361
361
361
361
360
360
359
357
354
353
353
354
355
355
355
356
356
355
354
353
353
353
353
352
352
352
352
351
351
351
351
350
350
350
349
349
348
347
347
345
345
345
345
345
345
348
353
353
353
354
354
354
352
350
349
348
346
344
344
344
343
342
340
337
336
335
334
333
333
332
331
330
331
332
334
335
338
341
342
342
342
341
341
341
341
342
344
345
345
345
346
346
347
348
348
347
346
345
345
345
345
341
336
333
330
328
326
324
321
322
325
323
322
321
320
317
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
309
310
310
310
310
310
310
310
310
310
310
311
311
311
312
312
312
313
313
313
313
314
315
315
315
315
314
313
312
312
313
313
314
315
316
317
318
318
317
316
316
316
316
316
316
316
316
316
316
316
317
318
336
337
338
340
344
347
348
348
349
350
351
352
355
362
364
367
373
375
375
376
378
379
380
379
378
375
373
371
371
371
371
370
370
370
369
365
363
362
362
361
361
361
361
361
361
361
361
361
361
361
361
362
362
363
364
365
365
365
365
366
366
367
368
368
368
368
367
364
364
363
363
366
367
367
368
369
369
369
369
369
369
370
370
370
370
373
378
384
388
389
389
391
393
394
394
394
394
394
393
393
393
393
393
394
397
399
400
402
404
407
414
418
423
426
430
431
430
430
429
429
429
428
427
427
427
427
426
426
426
426
426
428
429
429
425
423
424
427
427
427
423
419
417
415
412
409
406
393
382
379
378
377
377
377
377
377
377
377
376
376
376
377
378
378
377
376
374
372
371
369
369
367
366
366
365
365
364
363
363
363
364
365
367
367
367
366
366
365
365
365
366
367
368
368
367
367
367
366
366
365
365
365
365
365
364
363
363
362
362
361
361
360
359
358
357
356
355
355
355
355
355
355
355
355
355
356
357
358
358
358
358
358
358
358
358
361
365
368
368
369
369
369
369
369
369
369
371
372
371
369
369
369
370
370
370
369
368
368
368
369
369
369
368
368
368
368
368
369
369
369
369
369
371
370
369
369
370
370
371
371
371
371
372
372
372
372
372
372
372
373
374
377
377
375
375
375
375
375
375
375
375
375
375
376
377
377
378
378
378
379
381
382
384
385
387
387
388
388
390
391
392
393
394
394
394
394
394
394
394
394
394
394
394
395
395
396
396
396
395
395
395
394
394
393
392
389
389
389
389
389
390
390
392
393
393
393
393
394
395
396
397
398
398
399
400
401
403
404
404
406
408
411
416
418
419
420
421
421
423
424
419
415
412
409
408
406
405
404
404
403
403
403
403
404
404
405
407
411
413
417
418
419
420
421
424
429
429
429
429
430
430
429
428
427
427
428
432
435
436
438
441
445
448
457
457
458
458
458
459
459
459
459
459
459
458
458
459
462
465
469
471
474
475
477
478
480
483
485
485
486
486
486
486
486
486
486
486
490
494
495
489
484
482
481
480
479
478
478
477
477
477
476
476
475
474
475
476
476
476
476
476
476
476
476
477
477
477
477
477
478
478
478
479
479
479
480
480
480
480
480
480
480
480
480
480
481
485
489
491
491
491
491
491
491
491
490
486
482
478
475
471
467
466
465
464
463
461
461
460
460
459
459
457
453
451
447
445
439
438
437
435
434
433
433
433
433
434
434
434
435
435
436
436
436
436
436
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
437
438
438
438
438
437
437
438
438
439
440
442
447
449
450
450
451
453
453
454
455
455
455
456
456
459
460
465
468
472
490
491
494
498
502
502
503
504
504
505
505
505
505
503
501
499
498
496
495
493
490
488
485
482
477
471
468
467
470
471
472
479
480
484
484
484
484
484
485
486
488
490
490
491
491
491
491
491
491
492
493
494
493
492
492
492
493
493
494
496
500
499
499
497
495
493
491
488
484
481
477
473
469
469
469
470
470
471
471
470
465
463
459
455
452
449
446
441
438
435
433
430
426
423
420
420
419
418
415
415
411
410
409
408
405
402
399
398
396
395
393
391
380
377
374
373
372
374
374
372
372
369
368
366
364
363
361
360
359
356
354
348
345
339
338
337
338
339
339
339
340
340
340
340
340
340
340
340
340
340
340
341
341
342
342
342
341
341
340
340
345
347
348
348
347
346
344
341
340
337
337
337
337
337
337
338
338
338
338
338
337
336
335
334
332
331
330
330
330
330
330
330
330
330
330
330
330
330
330
330
331
332
334
332
330
329
328
327
326
326
326
326
326
326
325
325
325
325
325
323
323
321
321
321
321
322
322
322
323
326
326
327
327
327
326
324
323
322
320
318
314
312
312
312
311
311
310
310
309
308
308
305
304
307
309
309
302
299
296
295
294
294
293
292
290
290
289
289
289
289
288
288
288
288
288
288
288
288
287
287
286
285
285
283
283
283
283
283
283
282
282
282
282
282
282
282
282
282
282
280
279
279
279
278
278
278
277
277
277
277
277
278
280
281
281
283
289
290
293
293
294
294
294
295
295
295
293
291
286
281
281
280
279
279
279
277
277
276
275
274
273
273
274
275
275
275
275
275
276
276
280
280
280
280
280
281
281
281
281
283
284
286
287
288
289
291
291
295
299
299
301
301
304
305
306
307
306
307
308
308
309
310
310
310
310
310
310
309
307
305
302
301
299
297
296
296
296
296
294
293
293
293
293
293
292
291
291
291
290
289
288
287
286
286
285
285
284
283
274
267
262
261
260
259
257
256
255
254
253
252
252
252
252
252
252
252
252
252
252
252
251
251
250
250
249
249
248
247
245
245
245
245
243
244
244
244
244
244
244
243
241
241
240
238
237
237
238
238
238
239
239
242
242
241
241
243
246
246
246
245
244
244
243
243
243
242
242
243
243
243
244
245
246
244
244
242
242
242
243
245
247
248
250
252
252
252
253
254
255
255
255
256
257
256
254
252
251
251
251
252
253
255
257
256
256
255
253
253
253
253
253
253
254
255
258
260
260
260
260
260
259
258
256
255
255
256
257
256
255
255
256
256
255
254
254
254
254
254
254
254
254
254
254
254
254
254
256
257
258
259
260
261
261
261
261
260
260
260
264
265
266
266
265
265
264
264
263
263
262
261
261
261
261
261
261
262
262
263
263
263
263
263
264
264
265
265
265
266
266
267
267
267
268
269
270
270
270
270
270
269
267
266
267
268
269
271
272
273
273
274
274
275
276
276
276
276
276
276
275
275
275
275
275
275
275
275
275
275
275
275
275
280
283
283
282
282
281
281
281
282
283
284
285
286
287
287
290
290
290
289
289
288
287
288
290
291
293
293
294
294
293
293
293
297
299
301
303
304
304
303
303
302
303
304
305
305
312
315
317
318
317
316
316
316
316
318
322
322
322
322
322
322
323
324
324
324
324
325
325
327
329
330
332
333
333
333
335
337
341
346
348
348
349
349
349
349
354
355
358
361
364
366
369
374
376
378
380
385
387
389
391
392
392
393
396
398
400
403
409
411
412
414
416
421
421
419
419
422
425
427
428
431
432
433
437
439
441
443
445
446
451
453
455
457
458
463
465
466
466
466
469
470
473
474
475
476
478
481
482
483
485
486
489
493
494
495
496
496
494
492
489
489
488
488
488
490
490
490
491
491
490
490
489
488
487
487
486
485
485
485
484
484
484
484
484
484
484
484
484
484
486
487
487
488
490
491
491
490
489
486
483
481
480
480
480
480
480
480
481
481
482
484
486
487
487
487
488
489
493
493
493
493
489
488
486
486
487
488
487
487
488
488
487
487
487
486
485
485
484
484
484
484
484
484
484
483
482
482
482
481
481
481
481
481
481
481
480
479
478
484
481
481
478
475
470
466
465
465
465
464
464
464
464
464
464
465
466
466
466
465
464
463
462
462
461
460
460
460
460
460
460
460
460
460
461
462
463
463
462
462
461
461
460
459
459
457
455
453
452
451
448
447
446
444
444
442
441
440
439
439
436
432
431
429
429
429
428
427
427
427
427
427
427
427
428
429
430
430
430
430
429
429
429
430
433
434
435
436
436
436
436
436
437
436
435
435
435
435
435
435
433
432
432
432
433
433
433
435
438
435
432
431
430
430
430
430
430
430
430
428
427
426
424
424
422
421
421
420
420
420
420
421
421
420
420
419
419
419
419
418
417
417
417
417
417
417
416
415
412
413
413
413
412
411
410
409
408
407
406
406
406
406
406
406
407
407
407
410
410
409
408
407
405
404
403
403
403
403
404
405
408
409
410
414
416
416
416
417
417
417
416
416
416
415
415
415
413
408
406
406
405
404
403
403
402
401
401
397
396
396
395
393
393
393
392
390
390
390
389
388
388
388
388
388
388
386
384
380
376
373
362
349
341
335
329
326
322
318
313
309
309
305
301
297
294
289
285
280
277
277
275
272
269
267
265
259
256
254
253
251
251
252
253
253
254
254
255
255
255
256
256
256
256
256
256
256
256
256
256
256
256
256
256
257
257
257
258
259
263
264
266
268
270
272
277
294
291
290
287
289
291
295
295
295
296
296
296
296
292
289
287
286
286
286
286
286
287
288
289
289
290
290
290
292
296
297
298
299
300
300
301
302
303
304
304
304
304
304
303
303
303
303
303
303
302
302
302
303
304
304
305
305
305
305
305
305
307
309
310
310
312
313
315
317
318
319
318
318
318
320
320
320
323
327
331
333
333
332
331
331
330
330
328
326
326
325
326
327
328
331
332
334
334
335
336
336
337
337
337
337
337
339
340
341
344
344
344
344
344
344
345
346
348
348
347
346
345
346
347
348
349
350
350
351
351
352
352
352
352
353
353
354
355
357
359
361
362
363
363
364
365
367
368
368
369
370
371
373
373
374
375
377
378
378
378
378
379
379
380
380
380
381
381
382
383
386
387
389
389
389
389
389
388
388
388
388
388
389
390
392
397
398
399
399
401
402
403
404
406
407
408
409
409
409
409
409
409
408
407
407
407
407
407
406
406
405
405
405
404
403
402
402
402
402
402
402
402
402
402
403
405
405
406
407
407
407
408
408
409
409
411
411
418
423
432
432
431
430
430
430
431
432
432
435
437
439
441
445
446
447
447
447
448
448
451
457
461
463
464
465
465
465
466
467
469
471
471
472
474
474
475
476
478
480
484
485
486
486
489
490
490
491
491
491
490
490
490
490
490
490
491
491
491
492
492
492
492
493
494
495
495
496
496
496
494
493
493
487
486
486
487
487
487
487
490
491
492
491
493
489
488
489
489
489
489
489
489
489
489
489
488
487
487
487
487
488
488
485
485
485
484
481
480
479
478
475
473
472
472
472
472
472
472
472
472
471
469
467
467
467
467
467
467
467
467
467
464
463
461
460
459
455
454
452
451
451
450
449
449
448
447
446
446
446
446
447
447
447
447
447
447
446
445
444
444
443
443
443
443
443
444
446
447
449
450
451
451
451
451
451
449
447
443
442
443
444
443
441
440
439
438
436
434
432
432
432
432
432
432
435
439
444
448
448
447
446
444
442
439
438
437
437
437
437
437
437
436
435
434
433
433
434
435
437
442
446
446
443
440
437
437
439
441
439
438
436
436
437
437
437
435
432
432
433
434
434
434
434
433
432
431
427
425
423
421
420
420
422
423
424
425
425
425
425
425
425
426
427
428
429
430
430
430
430
430
428
427
426
426
426
426
426
426
426
426
427
427
424
421
419
421
421
419
416
415
415
415
415
414
414
413
413
415
415
416
416
417
418
417
415
414
412
411
409
408
406
403
400
399
399
398
397
397
397
397
397
401
403
406
404
398
393
391
386
385
385
386
386
386
386
385
385
385
385
385
385
386
386
385
383
382
382
382
381
379
379
380
380
380
380
381
381
383
383
383
383
383
383
383
384
382
380
380
382
383
382
382
381
381
381
381
381
381
381
381
381
381
382
382
383
383
382
381
379
377
377
377
377
375
375
373
372
372
372
374
375
376
378
381
381
382
382
383
384
384
381
375
373
372
372
372
372
372
372
371
371
371
371
371
371
372
372
373
374
375
375
374
376
378
378
380
383
394
395
393
391
389
384
384
384
384
384
386
387
394
396
398
403
403
403
405
407
417
413
413
413
413
415
415
415
416
417
419
420
420
420
419
419
419
418
417
417
417
417
417
417
417
417
417
417
415
412
409
405
404
405
406
409
409
409
409
410
411
412
412
413
414
414
413
407
404
400
396
388
386
384
383
381
372
372
372
372
368
361
361
361
360
360
359
359
359
360
360
360
360
360
360
359
359
359
359
358
358
358
357
357
357
357
357
357
357
357
357
358
358
358
358
358
358
358
358
359
359
359
359
360
360
360
360
360
361
361
361
362
362
363
365
365
366
367
368
367
366
365
363
359
359
355
355
355
355
355
355
355
355
352
353
353
352
353
353
354
354
354
355
356
356
357
358
358
359
360
361
361
361
358
358
357
356
352
352
351
350
350
351
352
351
351
351
354
354
353
351
349
349
347
345
345
345
344
344
344
344
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
344
345
346
347
347
346
346
347
346
345
345
345
346
347
347
346
346
346
346
346
346
346
346
346
346
346
346
346
347
347
347
347
346
345
345
345
345
346
346
346
346
347
347
347
347
347
347
347
347
348
349
349
350
350
350
350
351
351
351
352
352
352
352
352
352
352
352
354
354
355
356
357
357
357
356
356
356
359
362
362
361
360
359
359
359
361
364
362
360
359
357
361
362
359
358
356
355
353
351
348
347
346
344
344
344
344
344
344
344
344
344
344
343