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