301
301
301
301
299
297
297
297
295
296
296
296
296
297
297
297
297
297
297
297
297
297
297
297
294
294
294
297
297
297
299
299
299
299
300
301
301
301
302
302
302
302
302
302
302
302
302
302
302
300
300
300
300
298
298
298
299
299
299
299
299
299
299
299
298
298
298
298
299
299
299
297
297
297
297
297
297
297
297
297
297
297
297
297
295
294
294
294
294
294
294
294
295
295
295
296
296
296
297
297
297
297
297
296
296
296
296
296
296
296
296
297
297
297
297
294
294
294
294
294
294
294
294
295
295
295
295
295
295
296
298
299
299
299
299
306
306
306
307
307
307
307
307
307
307
310
310
310
311
311
310
310
310
308
305
305
305
304
304
304
304
303
303
303
303
303
303
303
303
303
303
304
304
304
306
306
307
307
307
309
309
309
309
310
310
310
309
309
309
308
308
308
307
307
307
308
308
309
309
310
312
312
312
312
310
310
307
307
304
302
302
302
302
302
303
303
304
304
304
304
304
304
304
304
304
304
304
304
304
303
303
303
303
303
302
302
302
302
302
301
301
301
301
301
301
301
301
301
301
301
300
300
300
300
300
300
298
298
298
298
298
301
301
301
300
300
300
300
298
298
298
298
298
298
298
298
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
299
300
301
301
301
301
301
301
301
301
301
301
301
301
300
301
301
301
301
301
300
299
299
299
299
299
299
299
300
300
300
301
301
301
305
305
309
309
309
309
309
312
312
312
313
313
313
313
312
312
312
312
312
314
314
314
314
314
314
310
310
309
309
308
307
307
307
303
301
301
301
301
301
301
301
301
302
302
302
302
302
302
301
301
301
301
301
301
301
301
301
300
300
300
300
300
300
300
300
300
300
300
301
301
301
301
303
303
303
304
305
305
305
308
308
308
310
310
314
314
314
315
314
314
314
313
313
313
313
311
310
310
310
309
309
309
309
303
303
303
302
301
301
301
301
301
301
301
301
301
302
302
302
302
302
302
302
302
302
302
302
302
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
300
300
300
300
300
300
300
300
300
301
301
301
301
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
302
303
303
303
303
303
303
303
303
303
304
304
304
305
305
303
303
303
303
303
303
303
303
303
303
304
304
304
304
304
302
302
302
302
302
302
302
303
303
304
305
305
307
307
307
307
308
313
313
315
315
315
315
312
312
312
312
313
313
313
313
318
318
318
318
319
319
319
319
321
321
321
321
318
317
317
317
308
308
308
308
308
304
304
304
301
301
307
307
307
307
308
308
308
308
308
308
308
307
307
307
307
307
307
308
308
309
309
309
309
309
309
309
309
309
309
309
310
310
310
312
314
317
319
319
319
321
322
324
324
324
323
323
322
321
320
319
319
315
314
314
314
313
312
312
311
311
311
311
310
310
310
310
311
311
313
314
314
314
319
318
317
317
317
317
317
319
320
320
320
320
320
320
321
323
321
321
321
320
316
313
314
314
314
314
315
320
319
319
319
316
313
311
313
313
313
313
314
314
314
314
314
314
314
314
314
314
315
315
315
315
314
313
313
312
312
312
311
311
311
311
311
311
311
311
311
311
311
312
312
312
312
312
311
311
311
311
311
311
311
311
311
311
312
312
312
313
313
313
313
313
313
314
314
314
314
314
314
314
313
313
313
313
313
313
314
314
314
314
315
315
317
317
317
317
317
317
317
317
316
316
316
316
316
316
316
315
315
315
315
315
315
315
315
315
315
316
316
316
316
316
316
316
316
316
316
316
316
316
317
317
317
317
318
318
318
318
317
317
317
318
319
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
322
322
324
324
324
326
328
329
329
329
329
328
326
326
326
326
326
326
326
326
326
326
327
327
327
328
328
328
328
328
327
327
327
327
327
327
327
327
327
327
327
327
330
331
331
332
332
332
332
334
334
332
329
329
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
330
329
329
329
329
332
334
334
334
334
334
334
334
334
334
334
334
333
333
333
333
333
333
333
333
333
334
334
335
336
336
336
336
336
336
335
335
335
335
336
336
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
338
338
338
338
338
337
337
336
335
335
335
335
335
335
335
335
335
335
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
335
335
335
336
336
336
336
337
338
338
338
338
339
339
339
340
340
340
340
340
340
340
339
339
339
339
339
339
339
339
339
339
339
339
339
340
340
340
340
340
340
340
340
340
340
340
340
340
343
343
343
342
342
342
344
344
344
344
344
344
344
345
345
346
347
347
347
347
347
347
348
348
348
348
348
348
350
351
351
351
351
351
351
352
352
352
351
351
351
351
350
350
350
350
350
350
350
350
350
350
348
348
349
349
351
351
349
348
348
348
348
348
348
351
351
351
351
355
356
356
356
356
356
356
356
355
355
355
355
355
355
355
355
355
355
354
354
354
354
354
354
354
354
354
354
354
354
354
354
355
356
356
356
356
357
357
357
357
358
358
358
358
358
358
360
358
358
358
357
357
358
357
357
357
357
357
358
358
358
358
358
359
359
358
358
358
358
358
359
359
359
359
359
360
360
360
361
361
361
361
361
361
361
360
360
362
362
362
365
365
365
364
363
363
363
363
363
364
364
364
365
365
365
365
365
365
365
367
370
370
370
372
375
375
377
379
379
379
379
379
379
379
380
380
380
381
381
381
380
380
380
380
379
379
378
377
376
376
375
375
375
375
372
369
369
367
367
366
366
366
366
366
366
372
372
375
375
376
376
376
376
376
376
377
380
380
380
380
380
381
381
381
382
384
384
384
385
388
388
388
387
387
387
387
387
387
387
387
387
388
388
388
389
389
389
392
394
394
394
394
394
394
394
394
394
396
396
396
400
400
402
402
402
402
403
404
404
405
405
405
408
408
408
409
409
409
410
410
412
414
414
417
417
418
419
421
421
422
424
424
424
425
425
425
425
425
425
425
425
425
423
420
420
419
413
413
413
413
413
414
414
414
414
414
411
411
408
408
403
404
404
404
404
405
405
405
401
397
393
388
388
388
387
386
386
386
385
385
385
385
385
385
385
385
385
385
383
381
380
379
379
378
378
376
374
374
372
371
370
370
369
369
369
368
366
366
365
364
362
362
362
361
361
361
360
359
358
358
358
357
347
347
346
344
344
343
343
340
340
340
340
340
340
340
340
340
340
339
339
339
337
337
337
337
337
337
337
337
337
337
337
337
337
337
337
336
336
336
336
338
338
339
339
339
339
339
338
338
338
337
337
337
337
337
337
338
341
341
341
345
345
346
346
345
344
344
344
345
346
347
348
348
348
349
349
350
350
350
351
351
352
352
351
351
351
351
351
351
352
352
351
351
350
349
350
350
350
352
353
353
354
354
354
351
351
351
351
353
351
351
351
350
349
348
347
347
346
346
346
347
347
347
348
348
346
346
347
347
347
351
353
353
353
353
353
352
352
347
346
346
346
344
344
344
344
344
344
344
344
345
345
346
346
346
346
346
346
346
346
346
346
346
346
346
347
347
347
348
349
349
349
349
348
348
347
346
346
345
345
345
345
345
345
346
346
346
347
347
348
348
348
348
348
348
348
347
347
347
346
348
348
348
348
348
348
347
347
347
347
347
349
349
349
348
348
348
347
347
347
348
348
348
349
349
349
348
347
347
347
347
347
347
347
347
347
348
348
348
349
349
349
350
350
350
351
351
351
351
351
351
351
351
351
351
351
351
351
352
352
352
352
352
352
353
353
353
353
353
353
353
353
353
353
354
354
354
354
352
352
352
352
352
352
352
352
353
353
353
353
353
353
353
353
353
353
354
354
354
354
354
355
355
355
355
355
355
355
355
355
355
355
355
356
356
356
356
356
356
356
357
357
357
358
358
358
358
358
358
358
358
358
358
357
357
357
357
357
357
357
357
357
358
358
359
359
360
360
360
360
360
360
360
359
359
359
359
359
360
360
360
360
360
361
361
363
367
367
367
370
374
374
372
370
370
370
370
370
374
376
376
376
378
379
379
380
372
372
372
370
363
359
359
358
358
360
360
362
362
362
362
366
373
373
373
373
373
372
372
370
370
370
364
363
363
363
363
362
367
367
367
371
371
373
375
375
375
373
372
371
370
370
370
370
370
370
370
370
370
369
366
366
366
366
366
366
366
366
366
366
366
366
365
365
365
365
366
366
366
366
366
366
367
367
367
367
368
368
368
368
368
370
370
371
371
371
371
370
370
370
370
371
371
371
378
385
385
385
384
384
384
384
384
384
385
385
387
386
386
386
386
386
388
392
392
392
385
383
380
380
377
377
373
373
368
367
367
367
369
369
369
369
371
371
371
371
371
371
372
372
372
373
373
373
376
379
380
380
380
380
380
380
380
379
379
379
379
379
380
380
381
381
382
382
383
384
384
384
384
384
385
385
385
386
387
387
391
390
390
390
384
384
378
378
378
378
378
378
377
377
376
376
376
376
376
376
376
375
375
375
375
374
373
373
373
373
373
373
373
373
373
373
374
377
377
377
377
377
373
374
374
374
374
375
375
375
375
375
375
376
376
376
376
376
375
375
375
375
374
374
374
374
374
374
374
374
374
374
377
377
377
377
379
379
379
379
379
379
378
378
378
378
379
379
379
381
380
380
380
380
380
379
379
379
379
380
379
379
379
379
379
379
379
379
379
379
379
379
380
380
381
381
382
382
382
382
382
382
382
382
382
382
382
382
382
383
383
383
383
383
382
382
382
381
381
381
381
381
381
382
383
383
383
384
384
384
384
383
383
382
382
382
382
382
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
384
385
385
385
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
387
387
387
387
387
387
387
387
388
388
388
388
388
388
388
387
387
387
387
388
388
389
389
389
390
389
389
389
389
389
389
389
389
389
389
389
389
389
390
391
391
391
391
391
391
391
391
392
392
393
394
394
394
394
394
394
392
392
392
391
391
390
389
389
389
390
391
392
393
393
393
394
394
394
395
394
394
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
392
392
391
391
391
391
391
391
391
391
391
392
392
392
392
392
391
391
390
390
390
390
390
393
393
393
393
393
393
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
391
391
391
391
391
391
391
391
391
390
390
390
390
390
390
390
390
390
390
391
391
391
391
391
391
391
391
391
391
391
391
392
392
392
392
392
392
392
392
391
390
390
390
390
389
389
389
389
389
389
389
389
389
389
389
389
389
390
390
390
390
390
393
393
393
393
393
393
393
393
393
393
393
393
393
393
395
395
395
395
395
396
396
396
396
397
397
397
397
397
397
397
396
396
396
396
396
396
396
396
396
396
396
397
397
399
399
400
401
403
403
404
404
404
408
411
411
412
413
412
411
411
409
409
409
407
408
408
409
410
412
412
413
413
413
414
414
414
414
412
412
412
412
412
413
415
415
419
420
420
420
420
421
421
421
423
422
422
419
419
419
413
412
412
412
412
412
412
412
412
412
412
412
416
416
420
421
421
421
421
421
422
422
422
425
425
425
421
421
421
420
418
417
417
417
417
417
417
417
417
417
417
417
416
416
416
416
416
416
414
417
417
417
417
417
418
418
419
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
421
421
421
421
422
422
422
422
422
422
422
422
422
422
422
423
423
423
423
424
424
424
424
425
425
425
425
425
426
426
426
427
428
428
429
430
430
431
431
431
431
431
432
432
432
432
432
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
433
434
435
435
435
436
437
437
438
439
440
441
441
441
441
441
441
442
442
442
442
442
443
444
444
444
444
445
446
446
447
448
450
452
455
457
458
458
458
458
458
458
458
458
458
459
459
463
463
465
465
465
467
469
469
471
472
474
474
475
475
475
477
475
475
472
471
469
469
466
466
466
464
462
462
458
455
453
453
452
452
452
452
452
451
449
449
446
443
443
443
443
443
443
443
442
442
442
442
442
442
442
442
444
444
445
445
445
446
448
448
449
449
449
449
449
451
451
451
452
453
455
454
454
454
454
452
451
451
451
451
451
451
451
451
451
452
452
452
452
452
452
453
453
454
454
455
455
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
458
460
461
462
463
464
464
464
464
464
462
462
461
461
461
459
458
458
459
459
459
459
460
460
460
460
460
465
469
469
472
474
474
474
474
473
473
474
479
481
481
481
484
485
485
485
498
498
498
496
489
489
487
483
481
481
477
477
477
471
469
469
468
467
465
461
459
457
456
455
455
455
455
455
455
454
454
453
452
452
451
451
452
452
452
452
453
455
455
455
456
456
454
453
453
452
452
452
451
451
451
451
451
451
451
451
451
451
450
450
445
443
443
443
443
445
444
444
443
441
441
441
441
441
441
441
441
440
439
438
437
436
436
436
436
436
436
436
436
436
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
435
434
434
434
434
434
434
434
434
434
434
434
434
434
434
432
431
431
430
430
430
430
430
431
431
431
431
431
431
431
430
430
429
429
429
428
427
427
427
427
426
426
426
427
428
428
429
430
430
427
426
426
425
425
425
424
424
424
424
424
424
424
424
424
424
424
425
428
428
427
427
427
426
423
423
421
421
421
421
421
422
422
422
420
420
420
420
420
422
422
422
422
422
422
422
422
422
421
421
421
421
421
420
420
420
420
420
420
420
420
420
420
422
422
423
423
423
423
423
426
427
427
428
428
428
426
425
425
424
424
423
423
423
421
421
421
420
420
420
420
420
420
420
420
420
419
418
417
417
416
416
416
416
415
415
416
416
416
416
415
415
415
415
413
413
413
413
413
413
413
413
414
414
414
414
414
414
414
414
414
414
414
414
414
414
414
412
412
410
410
410
409
409
409
409
409
409
410
410
410
410
410
410
411
409
409
409
409
409
409
409
409
409
409
409
409
409
411
411
411
411
411
410
410
410
410
410
406
406
406
406
405
405
404
404
404
403
402
402
402
401
402
403
403
403
403
404
404
404
404
404
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
403
403
403
403
403
404
404
405
405
405
405
405
405
405
405
405
405
407
408
408
408
408
408
408
408
408
408
408
410
410
410
411
411
411
412
412
412
412
412
412
412
413
414
415
415
415
415
415
417
422
422
422
422
422
420
420
418
418
419
419
419
419
423
424
424
425
427
427
430
430
430
430
430
431
431
432
432
432
433
431
431
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
428
429
429
429
429
430
430
434
443
443
443
444
444
454
454
454
458
458
458
458
460
460
460
461
461
464
461
461
463
463
463
468
467
466
464
464
464
460
457
457
449
431
431
423
412
412
412
412
412
410
409
409
409
409
408
408
406
403
401
401
401
399
399
399
398
398
397
402
402
402
402
398
396
396
395
395
395
396
397
399
401
401
404
404
405
405
406
406
406
406
406
406
403
403
403
403
403
404
404
405
405
401
401
401
394
388
386
386
385
385
383
383
382
382
382
382
381
381
381
381
381
380
380
380
379
377
377
377
377
377
376
374
374
374
374
374
374
374
374
374
374
375
375
378
382
382
382
382
380
375
375
373
373
368
367
367
367
369
370
370
370
369
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
368
367
367
367
367
367
367
367
367
367
367
368
368
369
369
369
371
372
372
373
373
373
373
373
373
373
372
372
371
370
370
370
370
370
369
369
368
368
367
366
366
366
366
366
365
365
364
364
363
363
362
362
362
362
361
361
361
361
361
360
360
360
360
360
360
360
360
360
360
361
361
363
363
363
359
359
359
361
361
361
360
358
358
357
356
356
356
356
356
357
356
356
356
356
355
355
355
355
355
355
355
356
356
357
357
357
357
356
356
355
355
355
355
354
354
354
354
353
352
352
352
352
352
352
352
352
353
353
353
353
354
355
355
355
356
356
356
356
356
356
356
356
356
355
355
355
355
355
356
358
358
359
359
359
358
357
357
356
355
355
354
352
351
351
351
350
347
347
347
348
348
350
349
349
348
348
348
348
348
349
350
350
349
349
349
349
349
349
349
349
349
348
348
348
348
348
348
349
352
352
352
352
352
352
352
352
352
352
353
353
353
354
355
355
357
358
358
358
358
358
358
358
357
357
357
355
355
355
355
355
355
355
355
354
354
354
354
356
356
356
356
356
356
356
356
356
359
359
375
375
375
375
366
370
370
370
370
370
371
373
374
374
385
385
385
389
388
388
380
381
381
382
382
381
379
379
376
376
376
379
379
380
378
378
378
377
373
373
373
370
370
370
369
369
369
368
367
367
366
364
363
363
363
363
359
359
359
359
358
358
356
356
355
353
352
352
351
349
349
349
348
348
348
348
348
348
348
347
347
347
346
345
345
345
345
345
345
345
345
347
347
347
347
345
344
344
345
345
347
349
353
353
353
352
351
351
351
351
351
351
351
351
349
349
350
354
354
355
356
356
357
360
360
365
368
372
372
377
395
395
395
398
407
408
408
408
408
420
420
420
421
435
438
445
446
447
447
449
451
451
451
454
455
458
459
461
462
463
466
469
470
470
471
471
472
472
473
474
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
475
474
474
472
472
472
472
470
470
467
461
458
455
455
453
453
448
441
441
430
423
422
421
420
419
418
418
418
417
412
412
411
410
410
408
408
398
395
395
394
392
391
391
390
385
385
384
382
378
375
371
367
366
364
364
362
359
359
359
358
357
357
354
353
352
350
350
349
349
349
347
347
347
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
345
345
345
343
342
342
342
342
342
342
341
341
341
341
341
341
341
341
341
341
341
341
342
342
342
342
342
342
342
342
343
343
343
343
343
343
343
342
341
341
341
341
340
341
341
341
343
343
343
343
345
344
344
344
343
342
342
341
341
341
341
341
341
341
341
342
342
342
342
342
342
342
342
339
339
339
339
339
339
339
339
339
339
342
342
342
343
343
343
343
343
343
343
343
343
343
343
343
342
342
341
341
341
341
341
341
341
341
341
341
341
341
340
340
339
339
340
340
340
340
341
343
344
344
344
345
347
347
349
351
351
351
341
341
341
341
341
341
341
341
341
341
341
341
341
341
341
340
340
339
339
339
339
339
339
339
339
339
339
339
339
338
338
338
338
338
338
338
338
338
338
338
338
339
339
339
339
338
338
338
338
337
337
338
338
338
338
338
338
338
338
338
338
338
339
340
340
340
340
340
340
341
341
341
343
343
344
344
344
345
345
345
341
339
339
339
339
338
338
338
338
337
337
337
338
338
338
339
339
339
339
339
339
343
343
343
343
341
341
341
341
346
349
349
349
349
349
346
346
342
342
340
340
341
341
342
342
343
343
343
342
342
342
342
341
340
340
340
340
340
340
340
340
340
340
339
337
337
337
337
336
336
338
338
338
338
338
338
339
339
339
340
340
340
341
341
342
342
342
342
342
343
343
343
343
344
344
345
346
346
347
347
347
347
347
348
348
348
347
347
343
341
341
341
340
339
339
338
338
339
339
339
339
339
339
339
339
339
339
339
339
338
338
338
340
340
340
341
340
340
340
339
339
339
339
339
339
340
342
342
342
343
343
344
343
342
342
342
341
342
342
344
345
346
347
347
340
339
339
339
336
336
336
336
336
338
338
338
338
336
336
335
336
336
336
336
337
337
347
347
353
351
351
351
342
341
341
341
338
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
333
333
333
333
333
333
333
333
333
333
333
333
333
333
333
337
340
340
340
341
341
340
340
340
340
339
337
337
337
334
333
333
333
333
333
333
333
333
332
332
332
332
332
332
332
332
332
332
332
336
336
336
338
341
341
341
341
341
341
340
340
335
333
333
332
335
335
335
335
335
336
337
337
337
338
341
341
341
341
341
340
340
340
340
339
339
339
339
339
339
339
340
340
343
343
337
337
336
336
336
337
338
338
338
340
341
341
341
341
342
342
341
341
339
339
335
335
335
333
331
331
331
331
331
331
330
329
329
329
329
329
329
331
331
331
331
331
331
330
330
330
330
330
330
330
330
330
330
330
330
332
332
332
332
332
334
334
334
334
334
334
332
331
331
331
331
332
332
332
332
333
333
333
333
333
331
331
331
331
331
331
332
332
332
332
332
332
330
330
332
332
333
333
333
333
333
333
333
332
331
331
331
331
331
328
328
327
327
330
330
330
330
331
333
333
333
333
333
333
336
336
336
337
337
337
336
336
336
336
334
334
329
329
329