300000
42864
448
361
315
324
359
490
303
381
364
493
405
450
476
437
416
376
313
313
430
493
368
401
350
372
449
344
496
462
491
435
356
310
425
452
309
316
469
473
493
487
371
333
416
363
487
325
361
379
410
420
359
414
338
408
391
319
427
401
330
355
373
403
426
365
403
356
433
471
402
392
331
482
449
336
442
390
499
424
391
377
427
418
456
485
389
361
373
491
458
373
333
323
419
446
309
310
326
379
371
337
381
325
335
346
471
448
417
314
397
451
362
379
488
340
467
329
487
383
358
323
424
494
396
490
477
493
384
419
341
466
399
416
353
328
449
366
343
454
362
394
341
415
378
336
448
454
349
456
465
448
438
363
308
424
413
416
434
347
403
309
306
481
442
393
308
498
360
348
452
366
489
398
346
336
398
317
408
302
496
302
395
315
402
463
466
340
303
380
406
457
388
314
381
482
459
496
392
301
487
495
452
330
360
361
332
303
475
306
440
348
475
388
365
438
445
465
387
356
331
373
308
388
317
310
473
372
456
307
471
450
347
410
476
349
310
355
427
349
493
493
417
357
381
365
471
421
424
430
347
411
326
495
432
391
467
435
320
442
327
395
442
371
419
392
322
477
328
477
474
376
326
497
396
489
316
359
466
405
498
346
403
308
487
353
447
414
497
305
384
439
378
445
447
437
315
440
369
364
345
359
435
349
304
414
475
474
417
329
479
455
429
339
368
362
452
372
466
356
498
377
415
489
419
418
430
390
459
346
464
348
335
345
320
331
347
368
484
453
363
352
485
471
354
414
336
389
301
360
433
416
425
360
486
479
444
308
392
421
324
468
440
329
476
487
495
393
454
420
461
448
343
329
338
449
429
495
385
465
467
374
319
341
496
363
355
401
435
420
307
452
418
364
465
485
415
348
416
311
362
436
462
400
443
426
380
423
485
441
381
425
424
346
348
467
370
358
391
461
498
352
316
307
392
332
356
389
352
348
456
394
365
419
394
382
442
321
481
404
462
372
463
430
355
413
325
397
304
317
471
434
366
399
390
357
428
445
485
456
374
349
391
346
448
439
451
330
434
350
471
495
352
419
467
475
381
355
398
339
479
314
344
500
304
457
323
486
421
339
441
339
352
433
344
403
473
436
460
362
303
452
413
454
422
316
398
308
466
485
471
323
402
458
433
418
460
401
348
335
425
466
496
468
353
477
427
314
497
366
427
398
481
405
403
448
445
391
379
306
447
497
401
477
443
387
428
384
422
364
420
334
343
426
421
419
302
317
387
393
332
375
308
419
346
482
460
332
455
340
301
395
434
419
344
479
426
446
381
425
340
340
376
335
394
328
300
340
462
461
425
311
490
305
318
393
472
381
348
333
377
388
352
332
379
474
390
480
374
418
345
376
431
481
477
344
363
385
353
462
464
384
439
414
309
341
462
428
304
378
499
460
462
400
444
446
422
388
492
443
350
500
456
447
405
378
406
419
480
317
350
341
412
433
301
330
332
389
416
437
337
459
396
455
303
374
471
464
457
370
332
303
346
324
462
318
483
385
461
395
333
411
446
316
429
405
473
353
361
480
426
341
327
368
473
340
316
326
312
365
469
479
442
349
484
375
396
484
375
468
449
332
310
476
386
432
377
389
480
311
352
472
452
332
499
340
321
344
441
365
379
370
444
410
300
469
495
307
302
307
458
404
476
450
327
403
454
423
480
334
440
365
350
471
379
471
441
351
308
471
452
463
483
345
452
481
336
475
376
300
446
395
407
459
440
322
477
435
381
427
306
470
453
446
410
351
434
338
492
344
410
454
457
302
466
306
402
322
315
336
326
425
427
472
383
402
366
414
478
425
337
453
314
467
435
310
303
393
362
489
421
480
498
309
396
331
301
428
365
381
327
446
440
432
433
418
422
314
349
429
432
415
306
420
353
343
314
399
470
317
352
494
341
315
396
360
320
439
347
302
376
320
352
391
401
320
448
323
422
427
484
500
335
494
323
466
428
459
481
404
396
497
386
337
478
447
393
316
484
442
329
416
402
479
436
408
330
315
344
340
396
446
406
385
451
383
302
466
468
309
337
441
340
403
431
313
458
495
415
328
360
340
370
311
337
391
446
392
420
424
380
463
413
423
367
310
479
409
386
373
461
307
463
482
493
339
450
457
360
489
312
445
322
431
351
316
313
303
373
499
491
413
432
394
358
451
479
374
397
379
367
327
345
414
475
491
418
304
463
442
491
305
361
339
395
347
325
373
341
353
478
483
423
355
387
402
331
458
330
434
444
416
443
420
460
401
344
324
499
488
323
364
461
302
464
351
373
451
348
474
363
402
375
344
463
446
465
455
411
424
481
463
365
342
449
440
301
372
426
478
499
359
343
426
347
351
423
433
416
452
427
493
493
422
311
412
406
346
350
396
360
355
372
495
315
415
357
423
449
467
430
451
382
374
488
364
345
472
370
369
346
481
376
333
307
439
445
466
352
392
305
356
451
321
472
480
318
367
466
429
442
461
358
459
304
438
468
387
470
317
462
458
438
487
448
373
484
486
346
423
343
426
346
442
423
500
336
378
479
394
302
325
415
453
443
414
351
373
397
398
334
355
472
344
402
341
414
412
483
303
317
492
414
352
443
421
314
393
490
422
405
356
320
346
357
312
390
401
362
352
350
321
332
500
469
338
412
368
475
373
482
403
380
500
382
361
438
333
429
493
496
308
485
416
349
412
406
399
476
370
493
436
492
377
455
393
427
325
326
428
321
372
304
484
374
440
449
327
390
396
324
324
327
464
374
448
495
320
378
490
398
329
308
369
343
401
445
486
426
404
451
471
319
364
342
453
488
430
390
371
427
384
483
431
440
492
480
427
399
444
336
440
489
301
430
391
482
414
402
470
485
429
454
356
457
374
483
403
383
459
457
457
390
356
307
495
335
484
363
446
490
412
438
349
371
330
396
494
427
442
467
451
483
326
464
490
348
357
372
350
414
426
367
443
421
410
302
343
332
424
390
464
445
340
467
306
482
305
339
404
394
375
359
440
316
361
369
466
465
330
493
316
339
332
458
371
496
472
471
445
331
350
444
471
393
341
303
490
389
427
470
459
460
488
392
317
494
427
459
388
417
344
365
431
321
311
475
415
358
426
455
489
425
308
334
494
436
340
331
451
474
449
328
402
374
339
390
423
311
497
356
341
365
474
319
372
427
400
327
356
393
480
491
304
370
321
480
467
350
369
417
499
358
307
449
381
491
397
440
374
320
337
351
443
428
396
495
386
308
318
326
476
301
305
453
367
388
489
429
344
459
415
390
323
446
429
429
410
303
426
485
451
480
483
320
494
469
339
453
334
339
379
340
428
310
481
467
389
384
460
451
323
498
496
445
416
461
371
376
380
484
455
409
313
442
330
394
459
389
424
371
473
483
301
333
319
342
450
460
449
499
338
422
465
329
396
336
373
447
450
300
447
488
323
368
337
328
492
469
452
390
462
352
316
461
363
324
325
468
335
432
355
374
454
432
414
366
321
451
361
468
439
433
305
458
386
347
428
386
361
459
343
494
360
309
376
356
407
474
315
362
421
312
356
350
471
331
336
495
369
320
350
412
313
398
341
345
451
480
303
388
347
350
373
384
479
472
483
317
476
437
460
403
482
486
468
478
309
347
489
492
369
417
470
308
420
405
380
431
386
331
363
310
468
389
494
408
491
465
490
396
362
312
395
314
438
304
314
364
356
398
305
456
329
334
478
390
422
499
402
413
456
304
315
459
406
369
309
392
451
352
356
433
384
441
328
407
310
327
479
384
443
322
334
332
317
393
398
466
445
373
357
391
366
355
496
311
337
412
449
474
310
420
459
385
472
348
444
314
388
483
365
471
454
351
320
392
390
305
483
393
335
348
303
370
449
376
393
320
457
394
388
348
497
362
491
498
331
404
445
419
357
412
325
424
353
307
300
461
351
392
432
316
414
310
485
314
356
444
465
330
386
412
401
473
434
300
482
306
478
409
460
339
393
451
493
350
352
337
389
306
469
464
393
344
354
462
387
414
487
335
418
498
327
498
309
448
433
471
410
305
380
455
323
488
354
466
382
416
437
366
430
463
318
462
418
499
451
490
337
305
324
361
418
384
497
319
420
450
319
437
430
478
335
416
476
399
448
348
453
437
381
456
488
329
378
456
446
301
459
340
423
406
418
305
468
395
457
493
350
487
333
368
401
449
360
302
336
338
444
409
428
377
381
416
356
494
456
409
398
384
427
412
459
448
457
498
320
399
424
410
494
308
462
399
374
455
447
310
444
362
412
475
381
386
323
369
399
386
474
487
350
435
404
303
328
429
399
429
351
388
431
493
382
347
349
352
379
327
396
371
424
416
456
447
432
396
415
337
467
406
321
496
461
416
487
487
314
415
398
459
425
467
409
463
375
405
489
391
478
348
461
396
374
344
369
394
452
453
453
462
394
326
426
312
428
472
339
378
410
304
368
463
412
436
327
328
456
417
338
485
457
319
375
339
472
323
396
424
341
465
414
401
420
482
442
339
458
356
354
385
312
347
311
321
458
305
356
393
449
420
425
458
348
351
483
334
400
414
401
385
351
481
473
471
341
417
348
402
404
300
485
304
408
376
329
447
346
347
377
480
496
399
413
498
430
415
451
356
302
335
352
388
440
433
386
448
435
485
476
327
326
349
428
396
431
489
343
453
316
433
477
482
453
479
420
300
408
374
396
312
498
408
317
468
315
462
372
325
420
497
386
359
465
441
417
453
311
499
453
470
327
361
484
317
400
300
494
372
379
363
387
353
376
420
307
413
466
360
498
383
384
370
332
452
431
397
313
351
410
434
402
439
423
360
337
327
316
343
433
315
472
455
403
315
412
359
352
484
479
497
500
351
349
390
421
308
477
319
472
500
428
351
486
461
496
345
357
463
317
478
429
477
476
377
483
330
453
372
413
395
492
397
432
443
355
407
408
493
412
391
395
361
310
398
456
375
450
438
432
314
414
465
437
380
387
466
469
320
465
487
475
444
338
477
388
333
479
445
339
388
318
421
309
326
373
450
377
387
314
500
415
449
426
391
430
316
456
462
396
404
423
361
483
398
419
413
346
357
374
413
485
377
349
466
439
413
376
484
484
428
303
421
400
325
474
396
479
368
339
399
331
395
500
450
357
483
426
476
451
346
444
466
308
468
479
385
340
467
417
432
468
465
483
328
437
310
322
430
361
347
358
441
392
308
343
492
447
423
333
398
351
390
386
409
488
393
441
362
396
381
470
423
343
395
420
496
329
490
304
467
305
411
317
399
380
308
412
314
412
486
447
453
390
492
325
374
318
411
362
430
311
427
346
450
330
484
310
472
487
370
388
339
401
498
469
306
492
317
442
420
408
432
471
473
444
383
307
322
311
420
489
497
374
448
306
327
406
339
422
317
347
427
485
478
455
434
496
470
387
411
427
377
434
365
377
419
461
301
388
424
387
471
354
381
362
465
437
427
490
491
464
399
451
398
398
322
358
413
434
327
491
330
329
497
481
490
351
458
358
315
483
316
452
314
449
451
320
495
471
399
393
334
392
358
494
463
460
346
302
399
422
337
405
324
398
363
309
363
430
418
457
409
311
432
475
427
313
314
436
381
391
325
444
495
416
318
480
429
460
493
455
400
381
470
442
415
477
306
369
365
321
314
432
326
405
320
453
422
400
472
419
394
322
307
487
461
457
327
398
500
358
424
377
363
425
480
381
388
363
422
491
454
473
362
300
367
500
420
465
352
355
311
404
376
388
380
400
320
408
341
401
393
302
346
419
392
405
482
494
462
306
482
328
393
307
389
324
345
353
435
421
387
363
480
442
474
433
423
343
483
434
489
466
455
415
475
336
494
429
462
431
377
465
347
374
366
370
496
350
446
494
417
453
484
468
329
360
410
392
438
424
390
382
372
390
412
438
396
395
327
316
386
395
360
392
322
423
306
437
422
462
445
389
439
493
483
347
449
375
389
328
474
329
424
437
306
385
416
307
410
453
405
332
394
418
374
386
455
351
419
484
351
370
482
403
331
301
453
426
426
367
442
477
470
350
453
471
396
302
348
325
365
362
431
452
446
315
375
322
331
308
321
470
423
427
494
316
463
374
352
340
386
452
308
340
400
306
412
350
441
443
394
360
390
468
448
352
495
358
313
342
472
464
416
430
335
410
345
394
326
305
340
328
361
374
462
461
333
460
488
394
389
372
433
455
346
314
421
395
427
420
496
381
462
419
491
335
355
434
431
353
324
332
414
385
439
393
311
326
338
393
330
464
313
349
355
303
343
352
371
425
414
431
480
344
492
476
500
406
317
347
315
393
313
375
432
489
395
390
454
309
361
415
465
381
488
321
388
442
321
305
466
315
437
416
340
482
426
418
318
447
383
492
350
365
382
465
475
444
399
418
451
448
300
331
438
416
333
482
402
352
440
432
487
427
479
445
419
310
336
455
380
430
435
498
425
455
459
420
389
443
459
474
305
443
448
305
466
497
370
483
373
382
493
305
366
413
373
354
480
374
314
417
388
462
433
448
346
463
489
360
461
344
483
363
370
313
479
315
352
304
435
484
379
337
427
428
452
447
493
485
418
411
441
473
310
486
408
378
306
488
498
409
336
372
386
336
342
311
461
414
375
327
402
431
496
423
483
423
487
332
476
397
316
456
388
499
349
369
314
439
473
364
471
393
358
329
414
467
499
438
356
334
437
457
379
435
383
467
489
305
366
438
401
399
395
453
487
462
439
487
371
344
466
498
316
434
307
483
405
454
368
431
405
490
377
387
343
482
472
493
387
433
362
429
352
348
480
448
315
460
473
377
358
497
466
463
459
419
414
365
476
364
340
350
435
480
410
314
364
377
384
426
302
336
326
461
319
419
446
344
358
332
412
352
360
378
352
490
394
437
359
500
343
396
366
380
460
383
314
383
415
449
410
444
447
425
305
314
409
345
437
489
490
462
464
474
310
329
324
416
493
480
307
478
321
491
490
382
467
361
358
382
307
405
466
361
370
428
393
357
423
426
411
415
362
310
348
391
423
497
403
433
408
455
485
377
398
409
472
366
319
396
416
492
334
469
458
313
334
407
486
343
402
311
408
481
496
444
386
441
494
357
312
490
479
330
373
379
346
407
403
459
312
337
322
430
427
468
377
468
455
306
327
329
496
442
399
446
349
484
370
304
328
422
496
492
347
323
307
466
362
326
348
494
346
392
481
397
411
435
455
439
495
476
315
485
489
327
351
357
398
304
408
488
484
411
361
467
311
376
344
328
481
332
486
448
396
360
488
320
346
485
340
483
484
423
383
376
402
475
480
317
356
357
352
395
451
309
312
314
396
438
375
447
374
474
479
402
398
473
428
348
399
389
349
489
301
450
452
334
456
305
460
410
486
337
398
441
389
444
499
374
362
314
359
389
432
483
387
387
336
378
434
341
306
326
327
455
312
362
461
301
408
378
483
466
464
476
424
392
409
443
367
386
428
387
366
325
416
400
320
467
450
415
358
471
370
437
384
310
334
462
409
459
348
337
466
376
433
333
493
354
452
410
425
311
430
449
473
460
500
338
365
454
329
404
413
300
443
401
398
368
452
370
380
382
424
430
409
456
458
458
448
340
471
341
450
398
454
446
419
387
437
419
373
457
444
465
377
393
445
318
335
483
408
419
331
338
367
494
409
443
468
400
473
477
408
398
315
353
446
408
435
308
302
455
407
315
301
397
420
436
322
411
346
429
453
440
461
494
306
361
310
411
457
341
395
498
419
375
472
371
345
321
410
421
381
452
457
462
343
353
383
391
438
437
320
339
314
315
337
478
479
342
375
359
463
432
302
376
457
381
378
305
403
385
487
375
361
301
464
429
321
407
440
334
445
466
318
465
366
469
416
301
424
461
480
413
358
390
500
496
433
351
441
351
312
477
405
449
482
349
455
426
352
321
411
339
311
415
467
342
335
475
312
331
384
481
488
363
325
306
484
344
351
333
321
328
487
435
360
337
496
404
349
312
473
373
302
470
307
460
430
489
449
412
310
420
332
432
346
356
485
469
408
368
424
302
480
360
393
307
418
420
417
416
467
396
448
354
352
421
452
344
341
388
463
383
329
490
355
425
462
373
361
383
415
491
393
500
445
370
328
327
443
382
444
354
405
321
446
398
351
348
427
315
461
374
495
417
429
324
418
467
345
318
354
322
305
485
447
345
472
461
312
332
483
371
324
448
478
386
369
430
320
362
343
414
497
452
327
403
317
470
329
414
432
488
445
316
376
369
341
435
328
366
365
378
412
500
482
378
416
496
336
328
418
312
431
384
449
396
422
304
405
481
495
331
439
397
306
474
498
453
310
500
464
388
500
496
489
393
439
433
383
447
331
331
443
471
371
391
472
413
348
394
454
434
315
480
377
349
404
438
411
404
387
455
500
500
309
330
369
379
458
418
451
357
405
492
474
318
461
411
404
422
427
326
372
440
325
466
360
401
495
383
407
374
309
318
426
388
362
437
479
366
476
419
387
355
337
372
306
434
421
420
367
388
440
486
364
360
372
423
370
373
468
492
433
436
389
400
447
366
489
351
398
375
499
331
360
385
354
306
325
418
329
315
485
337
497
319
464
490
394
395
362
462
489
367
328
329
415
481
387
471
334
367
405
302
397
336
300
362
312
484
321
439
403
380
319
370
328
334
432
426
484
359
484
488
425
488
439
376
470
454
459
471
445
392
379
334
314
394
433
342
370
301
392
303
351
379
433
459
483
493
485
320
499
400
480
402
437
384
355
403
379
451
472
378
429
410
459
302
370
488
361
402
499
308
445
349
484
406
451
388
392
318
379
457
310
320
309
330
394
418
486
324
477
437
469
412
442
464
419
432
427
475
476
317
416
492
427
317
330
401
322
330
347
303
444
308
301
405
306
418
302
429
356
442
300
493
400
310
455
357
497
429
454
300
363
468
359
468
363
343
326
326
469
373
348
366
402
386
397
421
444
469
363
331
481
301
405
406
465
452
442
318
338
322
304
313
392
429
345
321
465
376
457
311
477
469
306
367
448
402
497
424
338
328
344
490
425
464
305
405
456
469
448
333
444
435
339
391
498
497
499
485
398
367
405
405
439
445
420
382
469
430
342
392
377
473
381
478
432
441
484
411
361
330
438
498
482
306
413
369
337
497
332
475
426
447
428
500
386
480
403
367
407
381
334
375
417
480
480
323
440
332
334
312
467
357
411
376
352
309
307
438
407
322
444
469
360
402
420
305
415
500
498
496
436
323
335
419
358
357
368
300
416
444
369
375
430
306
407
444
426
404
427
428
322
417
306
488
484
304
315
306
402
330
325
480
306
370
414
300
500
315
492
485
380
443
453
421
490
398
322
376
372
488
443
375
354
428
386
466
431
489
428
409
329
372
378
415
473
362
346
447
459
481
495
466
500
400
410
483
352
451
419
322
366
342
350
371
441
307
399
430
496
429
312
324
381
337
350
412
333
417
435
354
330
414
362
476
413
322
462
490
417
312
448
431
438
366
420
390
498
430
492
318
391
318
390
399
354
452
407
497
399
420
494
400
356
414
452
425
383
315
470
324
423
406
458
354
401
409
361
308
404
363
463
350
342
438
477
468
400
420
396
303
428
338
359
450
434
430
363
499
335
494
480
359
489
360
373
460
466
440
390
491
438
405
414
493
325
338
479
461
316
463
338
480
386
370
356
408
485
459
463
464
304
359
408
413
373
411
310
317
439
467
302
426
388
370
440
328
490
360
347
442
430
309
481
339
383
319
392
369
365
302
354
486
337
496
383
395
424
391
400
489
310
443
494
479
418
345
333
365
482
413
445
337
378
412
354
378
318
465
462
401
335
349
383
453
448
315
381
408
457
483
364
303
364
424
349
489
347
340
404
347
398
440
371
396
374
324
406
378
318
385
423
390
319
329
455
423
370
425
462
447
310
465
343
483
491
357
371
389
393
466
443
416
443
352
453
352
381
442
345
337
321
343
385
362
327
391
378
460
324
453
303
352
494
367
320
393
415
428
330
416
431
400
409
315
359
490
491
414
314
362
494
333
461
475
474
317
362
345
471
453
378
432
433
312
454
425
454
457
325
384
349
495
408
481
360
447
468
303
473
446
303
352
462
455
346
483
402
394
445
335
351
328
463
457
315
421
481
442
461
489
375
417
467
311
428
345
351
471
385
418
344
489
479
394
433
481
487
487
417
386
369
472
481
432
395
335
373
424
497
394
447
338
326
373
380
365
491
438
391
353
488
355
490
468
377
480
465
364
421
427
360
351
329
500
345
467
406
321
424
336
363
449
492
361
324
477
470
457
306
463
345
425
465
455
378
444
362
383
300
369
331
430
500
317
373
372
495
397
457
493
405
488
445
324
391
346
461
321
300
349
305
316
467
310
416
446
419
392
419
492
351
322
418
419
318
479
484
360
404
351
333
454
399
391
319
317
337
465
462
326
403
423
480
305
412
489
481
408
326
430
414
355
334
346
408
343
488
495
432
322
416
454
365
491
408
390
358
413
369
434
424
374
344
456
469
392
435
371
374
498
496
431
323
445
435
424
423
351
389
421
450
453
488
393
480
395
330
384
303
369
455
454
325
398
308
338
477
336
324
301
492
311
445
322
388
438
373
345
435
326
417
449
499
447
473
372
477
395
378
420
353
484
392
494
424
353
380
465
382
356
413
482
328
356
411
328
321
403
493
419
376
323
444
331
333
489
463
408
332
351
303
323
358
428
301
370
490
494
389
470
480
335
478
468
369
307
314
441
406
363
408
336
337
322
405
357
469
410
405
392
443
411
361
346
468
424
376
468
325
481
347
332
419
354
313
448
337
338
325
348
342
316
421
390
374
469
392
463
403
325
344
414
427
482
384
339
438
485
478
493
316
495
310
372
420
464
306
473
362
370
353
475
330
427
447
391
498
385
431
402
426
428
371
446
425
406
493
311
441
340
440
382
467
380
318
372
435
385
419
433
464
301
485
389
454
471
409
302
478
433
358
398
397
467
461
482
415
461
366
453
437
338
369
393
321
492
416
341
341
397
378
490
455
359
394
374
302
314
391
409
326
333
478
397
456
437
362
494
361
351
452
341
348
425
456
389
474
480
360
346
328
410
329
445
399
321
354
354
397
438
466
359
393
382
380
413
343
403
373
393
491
391
331
470
391
444
467
463
353
370
395
338
318
466
440
368
403
324
471
453
393
392
473
350
346
489
329
471
472
426
427
413
399
367
378
358
412
381
318
464
352
385
319
308
375
429
317
308
450
330
312
436
347
400
474
470
408
453
368
489
342
484
458
480
329
339
422
379
335
467
377
495
434
362
373
369
500
459
482
372
475
331
421
303
461
351
360
442
383
412
339
465
359
435
420
367
341
386
402
368
410
469
375
477
430
409
314
326
367
465
347
330
383
318
459
311
431
378
339
481
339
382
376
444
359
389
354
350
342
374
327
462
322
458
471
381
313
361
412
430
347
495
312
489
305
338
446
380
382
428
468
389
475
462
308
396
319
360
447
368
459
329
381
450
456
403
468
322
418
469
337
304
316
462
458
342
445
454
380
302
306
376
417
474
349
339
384
425
487
475
479
302
385
477
478
419
413
439
475
477
433
446
316
317
303
449
498
443
466
452
392
378
334
372
385
451
390
407
470
432
388
375
435
312
305
390
311
461
390
422
484
357
385
441
478
474
375
349
300
396
376
304
389
348
409
488
341
470
470
426
447
313
359
467
440
482
343
455
411
410
465
449
432
417
456
421
467
397
462
345
305
479
492
325
334
350
447
338
466
377
357
357
449
419
307
466
359
427
452
437
338
410
331
316
431
354
438
483
350
390
413
362
455
328
355
331
462
388
352
365
322
498
440
335
448
336
388
383
478
462
413
326
338
300
500
401
381
455
461
417
396
434
402
365
326
354
428
341
377
361
313
487
378
410
415
407
471
338
370
424
385
479
436
373
437
335
393
319
409
322
323
312
487
354
408
430
388
480
393
492
349
309
303
404
454
430
458
474
324
356
309
355
406
483
461
310
485
423
417
310
386
459
340
353
500
392
490
411
341
494
330
485
323
422
316
392
472
499
311
437
344
315
418
455
319
494
316
411
455
347
361
358
460
482
337
306
341
433
452
323
443
338
497
301
446
456
357
482
382
423
442
500
453
352
487
419
478
403
332
485
333
406
434
374
337
325
370
464
387
439
335
386
313
359
386
447
394
427
314
376
499
321
328
480
447
488
353
500
476
493
498
461
314
438
431
323
314
354
443
408
364
499
317
467
327
434
493
465
471
401
436
317
493
476
408
317
489
382
380
466
353
466
332
305
438
359
479
368
313
394
388
390
463
368
470
490
336
475
445
430
316
360
342
334
410
479
311
352
479
399
468
420
356
385
407
329
481
395
416
344
466
473
358
340
474
434
488
359
374
450
310
363
465
429
439
339
349
500
454
342
380
398
335
459
433
424
364
381
445
421
401
310
303
390
381
475
360
477
476
322
448
377
307
473
430
358
470
399
300
488
414
348
428
340
383
437
488
428
497
380
491
389
358
382
497
340
458
395
356
393
346
415
357
448
338
311
392
333
365
468
407
499
466
469
488
422
324
410
460
382
378
426
376
376
444
332
343
367
446
482
443
319
388
348
304
314
436
427
498
387
433
391
479
302
304
486
349
415
347
496
326
498
497
411
440
311
458
382
470
365
425
376
416
427
435
361
375
356
426
365
418
479
445
360
483
417
475
307
318
392
350
415
423
347
393
405
382
376
424
459
365
321
346
368
314
407
308
380
367
467
464
313
377
488
465
401
338
431
436
380
399
309
403
385
478
373
494
338
395
382
313
338
488
348
376
456
398
326
367
343
390
466
366
406
382
469
477
463
434
342
336
436
369
417
475
359
383
493
465
311
346
377
385
360
455
359
301
324
392
331
421
421
305
428
335
371
468
323
448
428
451
484
475
421
445
332
358
315
318
380
352
400
352
320
475
375
353
438
400
343
468
469
307
409
392
495
476
430
351
330
393
334
459
426
467
455
391
441
342
332
356
388
384
390
411
442
300
312
431
438
368
426
448
399
332
367
355
346
343
388
403
498
427
423
415
363
400
465
373
409
382
423
438
403
472
461
421
474
358
385
357
494
452
469
350
386
468
484
359
360
447
445
470
364
419
478
448
468
344
362
304
474
481
302
411
487
422
336
412
302
447
313
426
405
399
344
452
474
471
327
399
329
332
476
318
484
382
308
424
437
355
386
474
494
402
368
396
301
339
396
312
411
425
483
313
322
360
428
339
439
305
327
347
465
359
442
332
451
412
478
412
305
473
391
335
483
356
407
324
427
397
499
326
481
341
373
387
369
408
427
488
334
491
400
398
463
419
423
427
311
467
453
336
355
320
399
473
495
366
314
386
399
399
369
397
331
317
373
417
411
406
341
467
304
495
491
426
348
500
321
417
421
498
367
411
327
302
404
414
348
445
302
461
351
353
496
332
379
384
360
437
312
499
381
378
496
405
319
346
442
324
450
357
374
459
354
473
446
393
483
490
356
421
305
410
475
391
388
417
329
370
376
461
486
351
317
429
331
303
392
441
447
304
381
478
445
430
337
447
387
376
457
329
383
314
382
499
478
448
301
483
483
416
409
346
381
305
431
469
441
311
310
431
311
361
484
401
442
417
394
461
359
482
422
350
362
404
315
325
472
341
365
419
329
316
371
466
375
440
395
380
400
438
402
377
366
355
369
450
424
409
374
428
487
472
318
500
404
316
403
485
445
304
435
389
415
446
342
472
484
345
473
325
420
499
300
410
375
443
385
333
438
415
448
401
437
464
316
466
492
488
403
493
372
473
390
491
427
421
499
474
340
305
327
442
352
393
441
396
473
389
452
376
454
311
350
433
371
368
407
462
482
350
419
387
360
425
365
419
468
331
308
403
395
388
458
402
400
400
406
394
460
300
456
381
484
319
412
449
379
304
393
371
495
349
484
394
376
426
318
472
495
419
474
498
417
496
347
418
428
374
443
377
386
424
438
482
393
484
484
397
386
475
340
413
343
477
389
320
366
372
484
309
439
473
376
371
385
380
380
362
341
371
323
355
496
360
435
468
498
445
343
496
495
386
385
376
427
341
414
411
401
342
419
463
453
319
370
447
470
355
433
427
316
371
378
470
498
394
319
320
499
500
404
457
398
413
343
318
438
402
441
431
368
453
480
335
379
479
443
430
453
338
425
462
330
323
378
330
463
492
432
459
462
364
301
473
389
307
327
485
349
337
434
465
488
459
339
309
500
370
356
348
353
325
342
492
421
302
337
421
389
404
477
438
474
325
485
409
373
468
421
438
316
327
495
492
474
322
439
447
355
330
411
432
471
454
432
456
371
475
353
354
342
355
401
378
300
384
424
319
488
435
457
317
390
378
330
320
422
318
329
442
352
484
349
346
397
399
407
347
486
323
384
448
421
329
340
331
325
402
389
377
424
354
447
302
474
451
304
461
392
453
345
468
377
471
420
485
347
456
375
404
395
404
307
491
488
429
343
333
373
431
439
307
404
324
329
455
314
386
449
349
418
336
374
429
358
482
434
401
496
350
488
360
336
386
362
487
383
401
420
491
486
393
424
350
364
493
306
366
404
387
308
308
405
354
450
354
433
499
391
307
498
493
398
498
380
332
326
386
352
480
312
303
320
452
311
325
384
303
453
488
463
391
388
413
415
491
498
395
308
493
487
310
458
312
448
356
374
373
423
397
404
387
344
384
399
383
462
422
432
340
362
361
470
455
395
394
437
315
403
419
488
329
343
357
481
472
465
396
486
404
472
483
484
411
491
492
437
377
490
389
402
314
373
383
497
323
334
397
387
410
426
450
374
423
471
335
428
429
433
466
452
489
459
483
476
490
367
375
366
351
419
455
467
300
323
371
323
369
482
321
401
409
496
363
400
313
358
463
498
464
476
426
445
484
303
338
377
468
463
384
494
392
420
398
325
321
434
362
464
409
427
321
458
488
354
375
392
429
336
497
414
312
466
327
387
413
351
421
391
362
424
383
453
450
300
344
409
329
431
364
462
346
497
491
495
354
469
380
494
374
371
375
496
366
391
394
475
369
356
321
346
403
476
332
333
325
320
416
492
330
439
490
467
438
477
450
494
449
395
437
331
411
387
428
326
317
455
358
311
366
487
455
341
377
367
373
414
350
460
356
302
363
359
389
418
480
388
424
422
492
424
409
344
303
464
425
400
334
373
307
394
364
382
407
403
456
488
486
470
454
368
459
444
317
482
373
403
385
348
421
390
487
366
444
351
314
461
390
483
374
312
430
466
344
474
305
330
366
306
494
479
444
463
420
365
457
372
382
387
315
437
450
363
427
465
311
483
367
475
351
490
324
380
367
410
363
459
438
398
449
493
445
405
456
302
447
334
429
441
485
309
406
356
340
437
305
461
430
443
347
417
407
426
438
490
469
368
353
385
434
396
317
454
438
391
418
372
387
373
484
448
440
301
403
482
400
420
329
480
356
453
381
373
383
401
341
390
360
305
451
351
451
428
441
453
375
307
443
485
468
436
432
379
331
425
384
472
429
435
382
468
500
463
302
341
351
451
445
418
404
488
320
353
376
346
388
446
362
426
479
442
302
301
350
365
305
476
349
357
316
466
448
454
466
492
493
392
490
435
410
416
477
357
311
449
469
451
443
348
332
451
391
373
456
466
336
315
349
364
343
346
394
433
381
411
472
346
457
414
353
395
387
317
340
483
305
381
387
362
326
470
469
358
349
372
484
436
366
349
309
358
340
452
428
310
337
388
478
362
479
376
441
331
301
352
481
497
300
301
493
421
400
382
350
317
498
314
476
429
431
447
405
452
425
341
356
371
396
498
305
372
414
484
467
396
401
419
387
406
383
417
395
456
311
402
348
447
377
378
422
434
391
435
331
450
424
362
479
477
500
373
467
354
303
341
482
302
373
423
450
449
335
377
371
427
384
455
342
466
438
339
482
363
416
450
359
473
381
427
336
490
387
479
376
347
429
312
449
302
457
443
451
466
335
491
372
344
347
310
491
381
448
373
485
368
425
386
321
434
351
332
432
440
384
490
431
349
492
495
468
330
376
345
472
423
337
330
369
401
399
345
365
458
441
480
324
355
372
424
497
482
469
388
362
351
395
478
366
343
479
478
404
308
474
345
392
451
351
364
365
390
326
473
499
440
417
363
489
410
481
333
333
417
340
380
373
482
401
311
436
442
308
373
414
429
466
405
308
425
396
330
412
434
397
459
493
396
426
390
432
316
423
416
414
425
368
494
434
474
459
422
418
414
306
385
383
491
341
427
343
424
451
386
339
395
458
350
478
365
407
500
433
342
452
372
418
484
340
411
385
406
453
373
482
380
413
338
453
364
336
395
319
474
341
453
332
405
311
386
304
481
457
337
397
419
319
399
471
330
406
383
301
374
401
398
402
400
373
453
359
412
304
400
385
318
460
375
383
316
446
379
474
344
411
300
493
380
455
322
388
415
315
422
382
360
368
401
368
313
359
384
464
339
407
419
347
434
429
489
481
379
394
424
442
424
498
451
380
500
481
307
309
352
347
359
405
381
472
359
395
425
323
448
400
442
307
373
448
306
451
347
378
489
394
375
333
408
308
436
479
396
429
450
433
315
495
436
407
431
408
406
485
304
476
363
353
445
428
300
417
465
389
356
454
306
378
308
313
428
442
385
323
420
404
498
478
482
346
348
379
402
359
451
476
425
461
339
362
381
310
445
308
322
300
420
434
308
416
345
474
339
302
362
307
370
496
405
456
358
473
386
340
395
479
390
457
357
342
369
356
465
446
464
453
423
336
487
481
395
489
464
377
473
345
494
323
392
382
463
369
423
356
419
469
359
406
500
318
465
443
469
350
404
404
359
313
401
355
320
375
338
358
470
463
494
356
341
482
497
441
468
368
488
481
372
420
430
408
416
456
300
493
382
346
403
382
419
445
437
394
412
473
388
376
357
372
424
331
369
478
470
338
462
431
477
459
364
303
435
499
360
421
300
480
422
428
464
351
380
358
484
309
312
302
364
385
334
416
486
353
447
440
350
345
311
453
435
424
421
381
499
437
435
474
439
316
382
360
366
376
413
491
437
427
320
387
357
459
425
428
395
350
442
428
396
366
359
369
491
355
301
443
327
458
378
427
316
349
378
499
457
329
419
480
476
450
329
411
370
483
495
403
434
465
456
410
470
342
369
376
301
423
363
498
381
319
331
353
468
439
317
332
309
333
396
394
450
391
428
300
460
327
453
422
425
451
494
332
467
487
383
435
465
462
426
430
477
399
466
420
460
330
402
402
351
392
330
312
329
457
423
468
377
364
379
465
322
430
486
483
353
374
479
481
348
419
477
393
333
339
478
443
395
350
343
496
351
349
394
474
360
398
353
499
354
413
422
354
421
424
483
385
408
320
338
360
485
428
483
452
494
454
386
324
408
336
373
366
481
442
323
307
378
475
428
312
389
497
374
397
420
301
406
443
314
321
471
327
500
450
334
365
396
434
304
300
378
300
365
387
341
481
300
444
377
431
362
472
331
368
321
443
460
497
429
410
462
369
437
462
496
459
401
322
410
402
306
475
376
422
451
422
448
416
475
358
490
386
382
406
458
390
414
449
414
497
454
415
349
440
335
302
313
427
369
417
428
485
479
318
428
314
449
480
498
441
325
392
417
385
374
334
408
405
366
366
353
497
319
411
339
456
491
303
359
358
439
472
430
418
407
396
308
395
478
439
486
479
468
452
328
411
413
306
404
391
377
473
461
473
466
372
323
461
495
444
458
382
453
355
391
374
450
362
315
407
396
310
354
402
458
489
451
315
376
444
331
358
331
432
478
427
416
333
483
484
464
375
464
479
490
349
311
429
456
390
413
349
422
311
442
489
382
315
334
303
339
495
354
496
411
449
442
350
374
405
412
355
385
318
455
326
332
351
403
392
453
463
453
320
475
333
470
361
345
440
460
393
457
391
396
445
300
451
462
354
385
496
338
359
490
336
339
482
406
337
439
333
396
395
424
352
401
317
370
415
302
492
312
323
328
471
393
426
500
416
385
465
461
356
407
305
458
323
384
318
335
307
355
469
427
327
375
471
369
479
403
470
380
467
408
336
345
450
427
398
422
477
393
454
479
376
300
317
452
411
306
316
480
485
426
390
346
446
416
496
405
434
427
474
441
414
481
364
423
310
371
315
411
467
452
364
479
413
490
500
387
442
349
499
431
350
386
312
348
467
393
406
338
428
394
323
499
390
372
387
318
490
469
313
483
302
431
479
344
312
357
471
473
460
362
412
389
491
424
357
363
359
491
412
493
467
449
429
314
303
486
445
476
383
379
454
496
301
481
333
431
467
358
474
395
315
310
379
357
419
424
409
321
377
406
329
438
448
313
314
500
381
337
317
415
350
445
344
340
481
383
327
378
318
304
461
421
350
349
422
406
413
387
354
363
373
411
307
437
345
420
497
446
422
429
314
447
334
338
305
455
454
500
373
365
336
427
434
389
378
473
310
313
379
437
341
333
335
474
379
354
341
474
403
415
373
307
434
372
481
423
379
469
345
351
488
456
460
424
484
376
354
324
443
369
482
362
332
311
448
370
394
401
421
422
472
362
492
407
370
419
326
395
377
365
365
395
391
433
345
429
424
453
349
341
442
308
395
498
464
427
366
408
482
303
455
400
488
354
483
372
403
360
335
394
467
320
398
329
430
421
393
317
369
457
396
448
437
411
327
382
357
470
485
498
499
357
494
432
408
326
372
411
483
366
350
335
357
319
388
346
362
354
421
386
367
312
499
392
459
375
362
413
440
325
458
419
303
491
356
364
305
447
452
339
337
493
393
369
461
444
413
470
474
480
368
412
372
466
416
379
324
359
322
374
405
360
357
448
472
383
382
393
371
307
360
392
391
445
388
358
364
331
385
476
496
402
452
344
367
460
459
446
329
350
455
311
447
431
300
478
328
330
317
435
478
417
342
485
344
442
375
431
322
419
348
414
310
469
341
370
432
490
302
488
334
444
333
430
371
341
449
493
424
365
423
491
396
434
337
488
460
389
449
460
458
347
453
303
362
396
455
313
316
334
318
315
308
360
387
495
339
377
485
344
388
383
364
489
331
348
499
403
482
418
438
354
490
455
372
329
493
430
353
414
443
320
327
378
314
365
489
442
438
489
459
426
310
412
422
342
457
497
444
357
339
473
310
337
363
378
404
471
392
307
415
428
328
473
461
306
406
426
430
355
326
447
309
301
360
349
487
476
322
330
326
485
489
363
370
435
309
496
452
316
428
446
414
318
383
431
300
374
360
479
301
346
464
350
366
332
333
434
322
407
455
471
406
490
500
482
427
447
358
332
308
426
379
432
372
414
422
469
375
486
376
375
454
350
311
356
408
406
327
384
464
413
433
308
424
444
416
308
307
482
477
345
353
370
451
442
362
357
310
418
485
369
406
491
318
382
322
308
464
419
309
332
485
344
314
446
431
412
421
403
496
427
369
479
456
369
399
413
438
471
319
447
330
411
407
368
316
345
495
444
377
402
498
364
348
476
372
441
381
414
475
384
407
324
491
449
454
460
386
446
371
417
467
455
423
485
421
416
315
364
366
398
446
358
498
407
429
349
494
325
412
468
450
475
340
339
384
451
422
462
491
448
357
469
464
500
452
424
428
492
379
362
483
331
484
444
391
427
467
462
489
486
447
359
498
306
431
480
475
388
422
470
347
368
330
325
300
410
376
443
377
498
367
364
444
303
462
448
388
470
440
390
305
375
494
305
310
339
305
312
330
381
399
398
399
331
498
349
492
480
476
451
434
305
375
496
425
434
466
384
432
364
326
461
306
328
399
491
362
469
304
481
401
445
350
301
427
338
383
335
348
478
431
306
321
492
425
357
435
498
433
422
356
319
481
412
354
354
458
333
393
375
308
359
303
493
444
393
383
485
341
303
372
315
303
476
312
459
496
341
343
301
360
375
360
382
395
443
460
441
430
499
427
344
420
473
391
417
360
442
363
449
328
380
475
415
457
474
319
462
406
331
345
311
486
388
477
388
480
356
432
437
410
376
486
431
462
446
372
392
383
472
429
332
446
347
307
334
472
363
493
419
486
385
493
452
491
479
306
477
482
349
499
440
351
302
428
455
319
416
463
304
313
334
465
329
435
383
332
500
342
489
354
386
349
306
417
354
436
320
454
443
365
436
325
364
393
459
488
322
306
329
336
448
433
485
338
498
359
468
445
442
438
357
300
457
305
453
468
432
358
343
420
363
487
413
456
367
400
353
341
349
326
353
405
458
339
480
497
310
318
483
484
444
377
418
338
430
376
421
494
303
349
414
406
400
375
427
496
451
346
339
319
444
451
461
404
356
432
329
466
457
360
328
303
379
326
330
330
403
498
329
486
488
455
390
468
480
313
370
476
375
365
408
302
450
348
392
302
483
421
428
431
369
328
425
326
427
459
383
441
430
426
374
362
302
401
403
327
455
372
376
304
399
392
467
456
344
379
391
473
489
334
479
427
410
346
443
461
373
437
452
377
459
379
332
474
387
488
412
496
488
392
352
351
377
375
306
449
302
339
399
431
365
449
452
356
325
451
360
392
333
457
410
380
484
388
336
441
321
413
443
344
471
424
312
317
337
427
338
468
361
372
448
335
340
470
487
367
414
348
301
402
418
415
370
428
473
481
352
469
321
314
439
495
305
464
333
384
415
446
375
460
448
325
499
311
303
382
474
307
357
376
306
402
411
440
491
419
464
414
320
391
385
339
404
399
385
497
478
361
313
378
381
322
368
333
474
435
399
407
338
392
423
344
471
389
354
437
402
326
384
310
356
488
458
436
459
442
332
432
334
497
330
344
426
372
348
339
497
330
454
374
300
448
424
420
428
334
484
414
354
383
388
325
415
388
356
472
380
437
326
355
368
447
451
317
489
306
391
340
421
491
419
344
379
362
398
498
346
428
472
405
487
436
320
375
454
447
306
464
409
340
452
418
301
359
458
358
331
353
384
376
311
313
492
311
483
421
353
465
369
360
482
479
457
332
346
497
327
353
489
304
300
461
486
438
491
354
368
349
320
302
376
493
368
489
462
397
494
495
324
399
423
462
466
304
405
374
462
465
318
410
352
437
373
384
341
493
390
435
422
340
458
384
452
348
411
427
330
367
479
463
496
362
410
432
385
440
374
305
406
395
397
352
335
369
316
396
314
479
472
481
361
496
422
428
328
489
491
424
452
408
356
438
443
326
329
420
465
430
410
312
472
498
332
332
350
359
495
374
338
304
461
430
452
400
458
309
391
419
473
374
356
460
381
477
433
347
325
346
375
385
319
418
360
330
365
498
325
369
345
368
326
404
343
496
450
358
341
444
362
400
447
316
337
366
489
447
395
365
418
331
357
362
464
327
432
484
339
480
374
499
450
306
435
433
339
312
460
420
429
398
405
483
351
371
426
331
357
369
404
311
361
408
305
427
307
324
305
377
454
327
401
438
373
391
311
386
333
472
335
382
430
319
308
470
381
481
473
490
329
429
378
438
428
498
352
470
397
471
498
440
305
354
395
394
489
316
364
347
490
389
376
378
333
416
410
318
357
320
372
387
403
453
345
448
375
465
373
353
399
447
370
396
317
481
416
401
425
425
465
360
363
361
416
438
385
312
443
417
482
369
451
469
474
352
316
405
395
436
478
364
373
457
309
333
349
435
354
483
483
339
368
381
449
448
352
386
482
410
435
302
500
406
430
492
458
301
438
447
334
450
320
494
345
315
414
330
397
300
397
361
345
335
327
304
424
348
373
314
417
410
318
305
455
463
316
476
313
359
441
368
497
323
410
474
371
305
320
370
328
378
409
428
337
331
465
368
378
357
374
337
430
407
394
484
443
500
466
490
435
485
473
363
379
441
380
495
349
465
433
304
496
436
471
337
493
476
341
483
445
407
467
426
324
384
415
327
314
490
421
479
353
401
482
493
332
365
458
476
423
496
488
459
497
431
337
427
467
401
436
341
313
340
388
419
481
479
363
467
374
326
475
423
308
346
324
495
300
475
397
413
437
452
380
392
306
416
448
415
498
425
466
499
493
374
339
325
335
408
452
492
428
494
356
332
477
478
429
490
441
467
410
340
323
392
421
485
363
464
459
461
430
362
322
490
451
495
438
387
309
307
422
370
482
448
443
428
368
308
388
416
476
335
308
312
498
428
301
494
364
483
425
466
375
492
350
461
370
485
387
342
456
333
359
337
480
373
495
364
432
349
449
312
316
473
447
396
390
472
348
386
325
352
311
476
434
335
484
339
319
388
468
301
346
327
462
482
301
499
415
328
333
383
433
385
473
341
429
437
378
483
428
327
500
488
395
379
361
379
331
418
336
365
395
317
437
337
419
497
395
380
335
487
381
347
313
313
487
318
309
341
302
422
445
410
403
384
449
462
443
324
321
483
337
414
438
375
369
368
500
485
469
450
478
454
334
446
462
353
456
460
311
429
445
342
336
382
361
446
322
348
306
464
435
446
332
351
374
467
499
321
404
328
324
481
480
314
306
364
350
365
365
441
441
388
384
347
368
367
396
324
343
304
355
449
363
380
316
403
343
491
412
370
462
401
490
470
310
363
499
424
336
346
372
368
412
325
358
433
318
485
399
363
377
378
329
381
490
354
322
351
379
442
318
481
352
413
396
379
398
348
332
438
392
491
450
457
328
350
314
440
414
406
441
490
303
495
390
491
408
320
389
301
359
317
435
456
423
434
365
307
490
334
357
497
318
499
329
491
317
459
457
305
464
474
311
464
392
348
436
387
357
354
401
338
320
466
386
434
328
457
426
456
479
419
362
464
402
414
398
446
469
355
391
362
328
343
450
436
308
447
335
353
389
344
390
317
492
403
459
361
312
335
494
384
463
314
359
403
315
310
402
492
487
320
458
331
455
494
455
390
465
496
400
414
321
338
355
493
499
473
313
414
417
311
440
411
474
391
321
360
300
312
355
458
337
367
313
438
484
414
338
466
448
493
464
383
396
380
454
371
434
372
407
443
332
427
466
349
381
381
498
324
347
306
395
382
308
440
312
495
427
400
407
408
440
305
309
354
444
470
397
313
449
367
365
373
371
306
414
485
369
440
321
401
362
440
302
319
374
415
371
417
320
433
436
341
327
369
404
304
454
394
428
308
303
485
417
479
387
342
339
397
395
323
403
464
470
416
316
336
364
425
389
412
489
470
464
379
392
311
372
349
431
492
351
492
300
386
441
350
469
392
370
372
360
475
373
358
469
361
411
413
385
445
301
439
347
361
446
406
340
388
432
362
376
446
443
386
421
316
457
448
323
325
319
449
366
425
345
400
410
410
367
329
408
309
398
404
353
383
471
343
375
365
379
391
406
443
411
344
393
387
437
498
390
444
441
365
440
342
333
409
332
344
410
313
348
376
455
367
305
396
326
333
344
401
467
488
425
320
345
305
316
489
462
413
390
390
394
390
335
467
498
348
372
455
340
374
461
477
447
339
385
313
342
467
387
317
342
390
356
485
455
359
312
485
449
374
405
433
441
652
645
437
812
624
656
663
527
676
674
668
442
790
709
793
792
790
726
572
436
559
659
727
618
464
745
669
553
600
471
464
608
761
710
709
810
597
560
636
773
609
421
819
493
704
483
538
664
581
508
665
716
685
460
742
527
790
764
711
757
687
642
510
543
699
785
621
458
529
781
507
811
802
463
810
726
541
452
735
789
519
456
508
740
723
430
435
586
572
561
577
608
734
563
691
556
734
518
584
511
658
757
520
814
527
650
480
531
607
443
703
450
755
639
714
662
784
767
589
627
598
493
619
675
422
488
553
796
471
457
637
668
747
461
618
624
541
799
663
613
475
802
446
587
692
435
554
524
422
683
638
477
571
693
783
446
665
790
804
790
765
624
514
432
726
778
629
661
519
575
530
647
740
540
612
431
539
670
746
733
742
677
512
645
476
486
443
628
812
441
427
579
497
495
490
727
728
565
690
628
774
432
628
724
539
626
791
458
764
469
669
704
667
471
757
584
498
677
546
531
747
743
765
543
435
756
563
567
567
501
616
798
750
570
626
478
781
808
740
427
516
557
810
449
540
518
620
817
579
640
477
734
568
720
528
751
729
640
670
761
628
466
732
624
480
696
567
624
782
455
483
608
585
589
595
461
421
668
678
654
530
497
516
652
717
780
787
645
714
536
551
519
669
566
670
725
532
571
795
677
818
441
760
568
742
469
520
477
548
764
557
600
520
700
756
574
427
715
462
619
770
575
433
501
673
818
697
525
772
706
731
510
527
505
669
787
693
739
723
516
716
440
638
433
799
816
701
617
621
593
554
751
505
665
732
459
579
454
442
513
449
781
770
421
467
553
798
734
776
618
708
440
554
515
576
584
782
499
534
649
462
773
729
569
677
481
543
755
562
536
496
647
744
438
467
768
752
702
633
429
634
459
668
536
643
682
494
602
569
476
477
515
441
660
714
516
564
639
506
668
480
472
645
738
738
490
620
606
700
423
622
437
535
555
560
668
705
794
653
503
743
453
544
722
603
807
561
660
745
810
808
437
567
504
562
614
429
752
469
576
584
546
620
647
518
670
775
742
682
549
645
425
585
471
652
550
571
436
738
524
497
428
721
474
745
685
723
732
558
728
763
718
681
712
739
536
558
554
459
533
445
713
660
619
618
499
640
452
623
716
719
749
564
719
499
579
596
798
449
539
598
518
484
794
533
468
507
451
667
423
600
725
612
690
742
558
551
697
584
593
802
658
463
671
690
653
686
689
435
551
798
797
724
444
605
517
706
455
796
437
479
809
711
433
715
685
814
555
487
686
796
776
720
690
725
454
764
732
685
646
533
722
805
614
493
773
744
659
687
765
783
663
524
704
617
526
450
669
770
722
665
658
478
764
636
640
560
713
497
562
789
519
662
602
818
694
698
709
655
710
663
589
441
561
654
505
462
735
608
423
526
726
757
537
805
488
715
514
444
501
483
428
520
522
715
686
755
811
629
514
639
543
571
462
661
769
481
770
500
816
564
619
543
484
570
765
674
452
582
420
628
568
585
488
436
758
737
681
436
595
577
659
522
757
799
449
660
798
436
716
636
529
432
640
459
613
485
562
537
474
726
663
430
519
585
722
422
786
573
798
504
519
802
624
789
820
784
558
421
447
611
543
516
496
813
646
586
596
540
719
427
671
708
767
707
583
558
609
758
422
491
471
587
617
651
620
685
734
750
773
642
588
472
798
684
709
422
744
677
614
735
656
564
712
422
454
461
590
605
589
540
702
546
684
635
533
577
809
743
591
440
437
708
739
588
726
706
432
565
789
478
801
601
679
454
543
530
608
590
471
665
583
423
683
745
704
766
550
422
471
655
425
616
578
744
602
747
760
630
596
573
512
749
552
802
610
720
808
659
728
637
621
451
526
484
520
491
723
579
555
773
628
746
731
605
691
738
458
484
654
579
814
554
698
524
613
602
476
535
508
568
663
767
472
532
687
617
469
692
428
688
682
514
792
467
513
480
691
537
432
526
583
720
632
507
507
501
452
609
570
714
515
498
449
664
570
759
681
541
541
773
642
772
797
622
673
482
479
445
494
782
693
553
617
609
541
730
594
769
747
518
504
544
763
477
668
819
601
712
751
730
458
684
746
721
567
619
623
471
561
814
685
734
660
682
614
708
558
523
745
473
561
627
511
527
617
459
723
451
639
526
434
555
484
695
630
630
563
727
561
596
681
464
595
688
688
735
678
453
609
526
747
498
524
545
434
508
586
539
555
511
480
557
728
475
693
682
577
722
593
760
810
433
732
628
711
740
600
559
425
512
556
754
503
461
614
573
451
497
615
471
792
476
786
698
586
756
498
805
785
693
523
455
420
691
773
780
817
703
512
573
458
792
781
487
492
445
638
433
753
459
622
689
789
549
455
768
591
588
805
550
478
708
624
577
694
471
447
772
642
677
455
788
681
690
755
596
619
687
524
625
460
423
437
588
756
616
646
796
631
623
553
804
426
580
440
482
504
801
649
523
622
521
667
445
749
512
698
510
743
453
611
694
690
799
657
751
683
771
727
598
453
441
600
716
799
660
785
751
751
545
808
796
570
699
724
757
820
664
683
686
731
428
620
681
528
649
586
531
435
564
446
665
705
749
519
445
689
491
547
601
511
747
648
793
681
712
548
658
470
605
428
508
476
563
632
422
573
713
648
795
473
700
733
526
808
622
593
544
785
548
555
737
749
570
800
553
521
443
619
459
608
492
757
788
462
778
712
578
626
754
657
784
537
502
800
687
517
452
630
632
582
754
647
646
452
577
644
464
501
765
737
444
559
495
759
674
725
521
561
744
799
777
590
482
449
457
735
427
770
531
537
691
423
705
744
504
731
650
466
797
530
524
658
601
787
569
620
437
652
703
745
605
484
505
452
655
519
552
794
820
442
529
785
620
618
790
775
579
577
452
704
551
706
787
780
715
730
422
778
446
715
631
657
796
633
656
617
452
607
818
496
661
781
797
477
482
480
710
486
725
654
485
656
575
698
752
600
576
754
466
804
486
770
551
654
425
472
499
703
787
466
516
795
462
540
485
698
768
780
647
609
663
687
440
662
612
720
736
667
522
682
667
517
472
598
439
525
683
516
606
748
635
528
648
447
440
682
702
656
792
541
496
726
563
471
609
681
761
603
521
625
482
681
656
493
712
675
569
558
597
559
688
487
750
757
481
661
748
652
614
787
785
642
422
771
735
777
535
769
619
698
754
743
454
521
492
656
606
818
808
701
432
440
646
451
423
795
726
524
654
617
808
505
671
776
793
799
537
743
531
523
588
715
585
420
498
708
634
483
648
523
672
817
491
552
571
625
483
533
465
778
689
637
591
661
456
630
497
721
430
804
580
625
440
618
738
682
752
426
484
640
795
705
689
566
556
677
726
706
454
741
803
557
540
582
541
788
797
799
715
806
624
475
616
587
691
660
432
560
699
494
703
599
635
651
516
750
668
464
505
684
570
444
527
805
421
812
447
617
455
521
803
776
730
685
593
464
672
806
551
626
571
716
526
511
739
448
669
598
589
570
652
745
763
728
452
689
560
541
469
794
590
797
806
755
770
700
651
577
429
801
626
483
446
502
700
487
486
597
521
420
595
769
818
677
703
631
619
434
508
791
671
724
763
760
778
488
421
599
709
584
644
751
709
506
707
515
556
717
575
437
750
633
767
662
597
644
617
489
665
508
698
546
493
606
441
518
724
628
721
621
712
607
719
704
641
694
522
736
772
551
698
489
647
652
420
780
742
560
488
567
638
488
503
741
575
553
438
463
510
579
499
603
687
787
619
493
598
467
430
577
599
760
807
553
631
610
432
710
571
672
659
551
713
725
436
685
645
605
454
596
588
526
448
699
629
465
685
479
563
786
532
437
596
422
630
485
421
641
607
641
777
607
774
740
479
669
526
642
426
614
642
799
532
750
429
622
668
595
545
765
785
719
710
795
738
587
718
591
455
665
640
734
550
429
535
673
596
607
606
493
721
519
648
652
577
678
726
751
511
747
661
432
798
610
544
809
575
429
678
473
717
537
553
449
700
666
647
805
544
754
469
796
554
714
643
749
756
687
597
448
633
673
491
754
598
704
518
462
441
461
465
513
500
662
438
472
471
556
766
738
694
663
469
555
546
618
593
598
437
803
726
465
769
491
714
420
444
507
737
729
640
601
468
542
809
426
431
479
785
517
670
803
460
690
568
665
697
654
533
758
799
478
707
769
448
553
502
778
530
716
468
574
661
617
494
741
436
775
799
448
640
539
611
737
664
602
566
738
470
673
579
685
698
576
440
685
509
591
637
757
624
483
797
435
482
655
618
525
794
815
696
507
771
678
484
651
524
788
810
566
618
530
813
705
613
503
790
563
649
729
694
608
782
646
455
712
776
792
447
465
463
783
590
716
649
798
615
810
495
435
586
424
737
623
756
790
638
681
557
815
458
758
793
572
503
461
528
500
624
617
544
812
560
430
635
742
554
628
423
573
582
708
462
460
568
469
504
435
575
672
746
474
725
433
694
456
807
491
431
749
781
516
778
794
773
817
526
449
601
443
706
552
659
744
592
439
574
788
723
624
718
458
520
592
607
438
481
589
682
642
693
800
599
802
679
600
761
507
768
736
600
470
625
755
468
505
820
600
533
439
475
591
819
548
688
631
683
592
475
661
495
618
724
558
613
590
481
422
693
706
794
713
598
435
429
677
524
819
691
795
501
774
725
460
452
575
796
608
600
787
660
483
469
464
728
450
628
591
663
439
751
645
684
732
574
746
593
483
658
551
742
777
492
798
575
540
616
464
785
613
735
525
618
796
794
752
645
714
504
557
580
694
428
529
689
616
814
774
676
776
602
473
461
665
705
722
601
558
538
690
737
530
573
605
470
513
526
441
650
806
610
608
519
751
458
742
628
772
680
793
763
765
462
659
693
590
750
560
511
682
751
753
569
819
732
591
687
801
644
587
681
471
799
632
746
484
587
741
668
457
784
585
759
667
472
710
713
518
781
556
786
596
560
799
569
547
792
522
454
570
524
440
435
714
764
797
613
463
693
440
445
683
679
473
699
504
630
685
662
603
747
515
786
683
736
511
766
744
667
654
641
468
429
804
762
779
616
687
801
556
738
522
657
738
658
574
779
765
788
679
787
436
677
673
800
609
702
443
475
635
543
486
516
699
711
668
710
803
455
717
448
644
788
679
566
804
733
812
607
738
433
802
440
698
723
745
420
783
546
638
763
764
680
636
541
484
567
812
754
713
699
449
631
463
813
468
624
744
478
500
727
568
638
799
515
664
595
440
597
517
521
549
602
816
774
751
423
427
648
811
646
435
423
733
785
534
596
422
679
606
439
423
565
542
538
654
541
600
729
774
756
526
549
510
714
651
519
746
733
441
602
702
751
760
575
437
690
735
620
710
801
773
572
598
535
646
592
534
557
489
794
653
750
491
722
469
561
661
421
698
782
716
609
630
457
700
463
549
597
429
769
603
552
604
499
462
676
662
661
492
490
760
599
638
498
626
709
484
804
425
581
672
521
658
444
534
712
798
692
607
729
714
438
594
709
668
481
674
505
495
658
735
488
705
485
449
643
573
487
601
542
475
523
571
775
504
556
797
515
802
461
814
817
505
736
539
505
737
565
492
422
681
524
530
683
602
580
544
448
733
640
813
498
788
486
700
743
617
787
524
440
747
576
652
574
465
543
643
603
713
438
705
801
687
621
810
534
766
420
654
758
555
472
546
693
533
453
755
806
432
642
485
734
599
722
727
433
801
453
581
577
809
564
647
623
627
659
456
502
738
448
496
527
479
583
675
745
491
606
666
631
799
614
532
734
745
446
422
547
452
579
767
585
658
669
755
725
483
674
434
513
788
425
756
808
708
593
504
573
566
494
725
615
707
757
811
612
722
769
500
761
791
516
701
798
707
713
463
545
669
728
775
451
427
667
489
818
727
745
562
539
688
731
662
517
666
437
701
471
469
734
780
622
808
785
598
683
634
450
756
635
522
682
452
793
434
696
554
623
728
558
650
770
471
558
813
664
698
426
660
566
473
702
800
507
772
717
424
595
748
598
451
722
453
669
735
435
581
540
660
788
518
583
677
784
572
524
622
608
475
555
714
731
794
476
469
428
806
724
527
421
812
744
511
547
552
651
449
810
576
472
614
521
599
594
476
738
769
558
634
749
500
776
795
607
474
491
498
638
502
728
528
788
609
744
645
699
562
676
564
532
505
659
513
752
698
563
462
437
796
534
574
466
779
517
593
613
791
601
784
795
632
749
708
443
702
653
593
573
645
443
698
446
732
449
761
577
757
718
478
757
522
423
438
781
467
526
470
710
654
589
755
520
504
640
817
722
818
542
555
592
741
578
467
599
745
492
553
494
493
630
432
647
774
670
532
757
574
534
669
436
759
560
735
564
471
637
656
722
503
768
759
495
697
707
655
535
680
634
814
609
452
677
715
555
654
599
458
694
577
729
647
671
771
770
599
694
787
718
773
797
719
750
505
610
792
562
773
480
795
638
504
745
421
779
488
809
764
428
590
590
534
670
791
421
518
754
724
704
763
678
782
485
495
469
755
619
787
604
635
464
498
623
807
811
820
447
802
558
538
475
569
547
786
459
630
532
491
580
635
450
608
684
484
558
493
600
657
543
714
722
656
470
424
571
781
626
741
779
786
672
797
551
720
820
781
810
612
731
738
496
566
704
585
689
442
524
617
679
723
526
734
576
545
817
593
646
427
742
593
697
525
818
566
508
457
785
809
774
708
463
549
701
604
627
597
798
769
589
777
533
729
729
483
522
484
516
652
549
613
708
817
518
721
681
628
510
808
645
525
750
636
683
673
781
815
772
801
790
627
807
722
604
452
606
758
715
663
518
630
733
498
812
431
500
623
683
656
522
573
569
457
814
781
723
478
581
743
437
461
582
771
622
554
603
451
618
430
728
528
487
685
475
742
580
608
789
727
464
681
798
695
555
775
654
659
451
712
705
768
730
786
515
491
580
571
424
680
678
587
558
577
438
815
612
611
707
656
551
539
656
467
644
427
498
457
545
731
686
513
551
530
681
508
609
727
612
542
715
510
770
462
458
482
665
729
655
796
803
667
488
550
747
602
576
811
808
717
722
516
585
712
651
571
733
429
441
643
741
430
496
540
814
683
570
599
817
702
494
518
565
537
819
420
517
729
539
427
740
694
631
584
430
766
668
422
561
568
732
738
434
807
617
802
636
450
687
561
612
439
564
799
784
556
522
666
776
442
460
740
643
731
432
574
704
599
472
596
621
808
589
611
603
546
783
631
634
531
541
719
693
527
736
442
660
523
727
642
468
675
433
779
452
425
458
655
543
630
519
771
436
485
439
683
493
495
439
553
798
636
592
781
811
475
650
468
422
464
616
678
502
793
473
492
531
507
810
744
424
506
665
681
726
640
468
431
612
733
515
771
436
495
464
661
666
582
531
772
770
600
501
580
591
442
622
470
524
592
650
631
556
448
453
551
476
473
633
502
720
672
458
528
765
733
497
732
491
679
494
551
621
443
506
430
424
782
815
801
788
764
702
565
764
664
558
767
555
726
808
615
483
775
513
499
698
531
628
634
815
631
653
429
574
574
454
813
477
637
510
735
795
807
743
569
742
431
675
627
813
790
430
422
759
540
594
764
682
597
488
731
527
770
779
717
695
696
488
679
736
631
668
802
627
616
449
674
496
425
607
772
487
817
748
801
765
514
536
753
525
609
583
820
523
803
554
622
753
484
537
747
631
565
647
560
811
586
772
441
745
737
712
502
646
468
639
448
619
437
737
793
535
519
499
740
811
696
558
449
719
755
621
543
455
473
586
686
591
519
762
530
455
615
670
632
799
766
751
798
524
450
712
627
739
744
742
804
465
695
512
751
782
545
657
579
708
616
552
679
518
697
532
527
560
700
522
725
531
438
543
576
775
666
486
561
490
745
805
663
437
725
513
485
771
631
562
530
634
556
704
450
671
598
766
751
815
430
752
774
694
507
609
604
599
783
800
491
710
572
641
609
808
645
756
510
807
663
576
475
740
736
584
664
785
507
784
614
494
751
567
641
444
744
769
709
575
681
511
639
624
474
596
627
773
718
539
659
577
444
762
656
520
630
773
489
640
770
654
488
569
638
433
459
503
424
596
699
507
801
432
627
621
744
519
428
735
786
599
507
554
799
649
618
677
460
436
718
543
590
818
627
592
422
539
746
482
474
676
620
548
815
526
678
522
606
678
721
598
536
758
787
731
427
530
615
489
568
721
516
638
549
543
761
512
640
575
466
815
438
727
557
803
780
623
467
471
476
472
808
424
438
790
704
755
503
607
546
608
642
557
744
536
708
444
754
659
801
500
451
591
580
666
554
424
611
738
692
554
567
781
704
688
640
540
819
756
606
775
718
489
788
525
788
499
568
669
618
584
820
802
720
720
463
508
812
619
731
638
676
677
571
594
801
805
717
556
692
682
641
648
464
572
560
770
776
804
766
709
570
467
437
613
461
807
429
816
767
519
746
464
486
543
716
752
461
723
767
817
610
635
610
454
483
657
602
641
463
502
804
558
777
799
606
747
736
818
757
657
733
600
720
538
431
481
473
692
710
710
738
625
515
504
438
453
524
694
535
543
436
516
522
580
708
448
618
442
664
712
456
667
503
426
730
543
807
806
570
584
714
644
695
604
643
569
715
750
428
579
767
441
736
567
767
617
607
536
507
801
436
502
716
681
696
593
760
477
735
573
652
488
551
550
567
466
713
630
605
730
770
682
732
656
614
466
483
565
431
540
789
634
447
423
420
568
547
452
809
656
714
472
721
708
463
495
574
604
429
737
539
664
603
515
760
736
595
556
693
746
654
467
708
494
612
435
516
621
485
425
713
565
653
819
625
807
745
499
583
607
465
764
726
760
620
603
553
538
722
551
732
505
749
530
782
818
583
536
541
787
648
442
700
705
566
625
455
584
747
779
585
518
671
636
584
739
694
709
760
702
775
760
590
672
558
705
462
759
624
691
515
540
759
705
561
513
459
470
590
477
773
478
617
619
818
503
805
429
575
504
592
455
430
651
449
622
729
597
665
422
535
442
532
656
451
684
643
699
547
449
532
616
755
528
812
664
444
537
581
707
538
739
588
526
440
429
571
467
537
527
819
687
595
731
503
424
748
664
697
458
740
529
455
458
476
541
678
684
776
676
599
782
595
774
549
547
693
454
435
684
668
539
694
787
692
692
582
503
512
424
515
548
423
573
492
799
691
745
771
719
613
693
723
576
501
737
501
763
760
653
648
468
522
725
506
799
555
594
727
641
692
440
534
669
527
590
576
720
766
801
484
624
617
567
493
643
657
432
584
452
514
428
474
812
573
632
520
686
489
818
803
817
583
467
719
625
529
762
685
722
529
520
509
523
486
669
649
625
444
690
438
440
697
427
647
688
462
765
457
728
532
523
723
549
536
718
598
709
716
750
583
560
680
711
490
754
771
582
519
464
604
457
641
755
715
718
815
664
796
799
551
562
667
446
661
659
505
722
588
626
561
698
731
558
527
710
730
704
746
715
436
687
667
690
587
584
527
645
490
673
786
610
587
500
590
572
647
460
784
515
541
655
583
509
506
534
662
571
815
675
454
735
781
573
618
423
536
741
650
710
784
444
794
463
554
509
569
631
780
605
623
640
710
484
577
456
762
544
584
475
634
790
478
750
737
783
561
619
786
710
780
695
462
574
759
665
658
688
507
501
787
527
739
808
519
425
490
520
600
533
506
646
803
766
461
778
489
555
573
604
577
669
760
504
622
428
654
697
595
630
747
433
528
479
434
602
445
593
725
753
777
645
659
645
609
446
595
771
508
565
524
491
782
504
532
753
780
440
529
812
572
744
625
793
613
540
429
520
501
575
716
551
704
449
548
797
736
809
730
529
699
613
746
451
797
665
791
676
512
685
779
659
613
714
788
494
680
748
630
768
593
480
509
610
516
810
444
532
677
736
597
543
623
485
592
479
818
668
733
809
489
654
742
483
486
750
568
450
637
542
511
491
680
702
755
639
741
644
791
561
749
521
526
458
669
755
715
789
426
537
510
667
756
617
631
601
718
792
550
467
690
529
521
448
562
507
683
631
475
656
746
623
758
818
768
798
573
633
584
480
673
795
701
497
774
512
812
740
582
712
658
685
649
571
457
540
510
621
750
461
529
599
763
738
785
600
722
608
650
711
704
595
644
550
530
429
534
595
582
620
675
578
673
467
795
493
645
720
732
522
792
508
447
436
514
724
776
761
454
717
701
463
470
448
701
483
554
542
699
501
711
790
687
467
680
487
534
566
810
648
773
752
633
749
779
774
562
570
618
429
512
695
563
670
688
422
745
527
786
542
465
680
639
625
695
772
695
556
505
641
679
503
512
523
789
500
701
633
469
589
796
734
461
711
748
791
677
704
672
479
672
792
647
714
567
596
423
642
447
428
678
780
733
477
593
696
625
466
552
662
619
692
552
568
463
648
541
816
732
759
736
603
468
558
803
597
638
561
751
443
454
751
758
708
433
579
505
496
486
552
475
724
619
781
707
452
469
766
726
765
435
543
648
527
580
476
521
559
427
729
783
679
735
585
544
689
463
614
731
548
506
787
714
599
575
445
776
472
565
724
541
766
731
808
796
569
481
600
476
700
733
578
810
569
743
716
433
506
728
592
547
479
762
591
660
644
665
477
784
713
506
796
495
571
722
709
421
818
430
739
537
543
718
624
504
726
692
652
769
623
593
537
791
622
785
614
616
521
448
476
656
747
681
578
723
698
664
618
500
713
777
563
811
507
739
471
638
789
497
659
739
753
654
798
465
664
471
433
671
448
483
463
548
535
459
429
656
469
484
673
742
706
597
800
543
542
604
811
616
624
578
424
817
544
754
713
493
815
500
544
688
736
509
581
475
669
503
741
635
440
494
497
453
528
723
812
650
597
746
561
813
734
640
715
431
661
801
755
583
469
660
714
500
449
554
481
437
566
470
545
761
706
506
616
622
600
586
720
426
625
503
434
684
510
506
475
799
649
558
807
731
492
809
440
597
704
760
611
458
563
460
506
819
759
733
687
545
479
527
495
714
607
805
421
622
549
707
659
628
712
713
433
781
623
621
735
513
745
747
420
471
496
539
599
668
571
485
581
658
632
658
719
721
683
759
553
464
802
499
624
636
663
513
811
627
608
472
503
580
627
532
516
630
586
671
774
594
724
611
796
543
443
532
562
634
428
582
651
765
535
664
616
810
780
758
605
543
612
743
802
794
429
659
599
444
736
792
617
693
515
450
767
463
421
497
679
569
434
606
767
608
599
457
555
591
722
442
471
766
437
779
789
610
717
499
729
480
787
492
715
697
650
515
585
813
507
802
808
668
805
480
535
433
628
654
470
438
520
436
544
446
570
735
487
738
817
495
748
754
610
630
433
724
746
762
732
730
704
778
715
773
460
459
754
581
560
777
595
774
434
704
476
555
584
645
738
723
551
431
475
552
530
615
675
685
501
765
654
702
699
436
656
616
538
729
482
505
425
494
480
484
635
592
767
692
562
629
692
820
595
438
753
545
532
469
538
434
639
815
760
577
496
692
593
796
806
647
736
665
526
621
499
746
610
665
628
639
759
755
710
458
614
503
722
592
537
520
746
683
702
751
624
701
683
600
489
600
788
814
541
531
614
612
558
618
482
764
787
716
490
741
476
749
707
752
490
734
687
512
639
811
663
522
687
720
526
585
425
820
501
552
633
693
519
714
535
428
815
672
786
644
543
719
549
734
466
558
692
616
512
557
668
773
557
494
607
628
484
680
474
805
506
766
459
495
499
615
545
461
456
572
523
662
630
542
555
595
679
470
552
423
526
500
709
532
534
563
626
687
562
487
616
613
519
674
579
505
784
712
503
740
462
684
518
477
754
648
701
644
710
447
607
785
726
475
783
460
725
468
648
529
787
791
674
492
577
724
435
693
584
747
524
661
659
621
810
782
541
785
476
462
760
474
608
711
606
467
586
533
578
454
578
448
644
691
756
551
435
696
428
522
812
666
442
561
756
772
506
572
550
730
719
595
594
446
698
707
420
758
612
455
669
542
424
489
545
650
734
483
430
601
683
449
588
480
714
551
579
665
631
818
456
427
751
645
784
634
583
798
459
479
752
439
738
719
447
669
752
520
456
795
566
802
650
727
626
605
689
700
705
675
636
762
486
638
551
466
792
517
435
529
732
654
590
698
783
482
528
710
653
601
591
704
456
645
752
533
658
615
636
703
653
597
673
513
425
779
629
521
754
639
568
500
779
638
598
455
462
536
467
753
531
743
597
697
761
453
467
561
599
485
737
471
532
434
776
691
699
807
774
540
810
744
575
810
663
701
731
661
813
739
583
572
769
800
467
757
675
801
707
615
794
425
479
747
649
789
646
544
818
661
764
543
745
550
670
601
727
695
790
654
646
580
804
676
477
434
682
794
515
523
705
589
712
766
484
594
484
510
776
705
772
504
616
670
552
431
594
603
611
779
747
531
795
519
650
521
455
436
510
686
508
485
505
499
618
542
655
563
524
541
567
757
794
785
710
791
523
520
796
684
644
761
750
596
699
730
504
583
506
643
501
484
699
490
705
625
789
457
464
806
722
647
714
575
595
437
584
642
757
703
568
514
548
532
440
798
444
669
751
488
429
727
728
621
457
553
794
732
422
520
592
704
461
595
609
708
674
429
734
502
743
670
809
446
506
507
786
599
531
520
609
744
795
541
606
514
518
778
538
538
435
697
769
553
693
816
702
440
691
516
755
746
584
639
734
590
538
793
716
759
690
782
651
703
803
443
504
723
689
688
444
753
592
611
601
687
653
729
432
802
762
668
820
792
583
500
513
797
797
545
792
535
490
767
578
690
699
568
527
784
751
506
779
480
707
518
648
420
538
639
745
528
576
805
726
481
433
508
735
476
502
567
568
678
466
425
641
753
537
807
805
775
803
509
761
547
665
588
802
679
808
495
551
816
420
554
538
638
666
642
776
742
473
809
464
505
667
792
688
619
741
525
542
522
733
687
762
612
755
706
551
426
515
535
494
487
527
433
476
452
748
542
762
566
792
763
661
487
629
456
495
519
795
641
805
724
474
481
736
523
746
620
527
459
759
518
478
610
805
662
505
598
462
468
437
723
729
497
759
711
629
655
479
579
747
445
678
510
771
616
493
477
710
781
426
819
787
616
724
538
794
560
585
445
634
441
709
721
480
473
622
689
434
804
679
571
590
780
692
661
693
561
764
558
762
556
728
613
676
523
729
785
536
633
446
745
504
477
798
723
467
695
658
792
498
687
701
613
497
814
563
438
749
569
560
673
537
581
433
681
749
717
668
493
586
728
569
605
793
421
642
673
467
536
640
537
572
779
521
750
670
576
784
540
790
613
615
738
692
600
483
420
674
718
729
752
783
809
757
504
748
510
545
706
702
626
576
669
480
719
533
699
731
805
602
643
631
513
493
646
495
757
759
638
810
629
494
499
579
675
718
701
703
738
551
763
656
784
708
806
528
599
491
619
453
620
684
610
453
572
652
635
610
725
512
634
498
566
802
503
661
737
535
579
548
731
733
641
523
685
680
738
615
617
721
583
461
774
605
786
467
814
803
779
589
662
525
538
568
618
663
800
494
784
701
522
621
603
807
579
820
709
602
752
655
658
583
429
807
796
733
758
490
655
551
796
784
555
691
765
749
633
820
778
621
683
550
764
686
659
451
775
790
462
595
689
466
655
776
640
799
692
577
736
442
456
710
564
543
429
605
712
534
469
488
523
686
713
481
683
463
606
617
665
565
733
701
798
463
476
741
756
709
725
647
481
634
451
679
727
790
699
704
645
661
537
646
581
453
770
533
649
623
574
518
651
470
812
654
666
789
691
523
605
689
660
573
469
646
575
744
464
729
443
552
624
587
471
751
530
533
698
684
456
472
661
428
550
619
457
604
492
602
651
541
420
623
647
584
582
620
463
547
506
724
579
634
495
582
770
734
798
727
433
518
555
809
746
621
718
795
649
790
433
795
440
495
704
786
777
701
753
632
578
780
569
583
818
485
483
582
544
500
797
519
672
434
568
738
700
771
623
550
566
812
443
698
557
442
621
751
672
634
605
448
702
531
759
440
571
655
684
568
456
551
601
779
675
737
463
605
455
442
707
783
790
451
476
637
425
689
436
484
617
631
807
804
681
585
578
687
665
764
450
574
510
811
620
533
462
804
751
714
538
742
509
694
546
662
595
617
561
640
549
781
664
817
737
636
795
631
534
676
628
580
799
628
500
682
795
677
620
544
677
685
770
460
750
709
768
683
719
773
807
798
458
497
610
711
781
573
666
711
524
444
468
438
812
789
670
798
465
659
490
733
478
729
686
438
636
804
723
466
501
730
543
771
441
814
719
660
571
580
636
762
646
558
685
666
767
682
705
509
633
465
595
617
595
503
714
615
504
426
686
674
766
681
422
658
761
713
590
652
756
748
690
728
626
713
714
726
734
732
523
744
439
698
458
574
733
680
596
660
630
497
541
708
710
503
711
647
819
552
658
491
475
489
509
725
627
637
574
598
711
676
539
741
712
508
521
776
585
600
494
729
504
772
529
580
674
675
625
614
460
676
644
668
650
727
603
682
566
633
679
494
677
677
629
422
593
713
761
651
643
794
806
624
491
625
620
807
700
704
614
594
754
755
634
666
420
790
560
628
591
745
489
636
774
453
641
775
724
538
641
746
818
460
529
757
614
776
541
609
782
643
550
524
473
736
741
650
691
544
453
441
426
719
719
558
513
426
736
528
573
611
712
703
717
605
730
423
511
639
543
554
456
482
779
672
764
762
572
809
630
514
716
694
755
640
441
733
452
544
618
699
498
597
664
683
533
577
726
680
784
548
811
727
456
429
796
576
629
514
758
702
728
549
657
439
745
790
820
597
714
668
783
735
786
638
563
616
781
813
750
648
714
558
746
758
501
505
677
819
519
773
467
694
644
575
432
607
516
543
561
749
730
773
570
641
587
503
435
758
754
727
615
442
532
759
608
559
818
728
451
649
507
686
525
740
792
671
702
605
774
532
580
709
746
632
500
593
426
461
801
684
680
723
453
564
607
727
548
615
760
605
566
815
551
525
646
561
614
717
593
580
684
599
537
569
733
634
578
750
554
740
698
536
694
674
728
592
632
593
579
760
703
649
578
556
468
592
495
495
750
815
575
725
525
475
613
599
572
445
800
701
441
704
726
716
489
556
460
453
795
738
785
630
647
639
610
441
594
558
582
450
710
593
551
748
615
553
478
596
797
472
504
492
777
516
513
507
486
607
598
709
614
523
495
452
714
711
457
737
792
659
637
444
453
422
427
594
754
603
727
498
515
809
733
490
709
664
423
539
655
689
786
606
451
629
762
593
569
551
727
707
808
519
491
678
679
591
588
436
421
621
704
680
702
662
624
791
431
646
689
719
601
517
700
574
795
469
699
725
735
562
685
772
505
790
652
593
571
718
565
570
583
690
441
771
448
566
424
727
467
523
530
655
582
491
752
441
477
517
582
547
720
527
494
708
534
552
680
610
517
814
686
566
785
561
583
449
794
596
641
656
620
495
602
797
656
470
438
579
779
547
569
420
793
755
567
749
695
551
557
802
536
606
698
697
559
465
564
590
806
436
712
438
573
538
726
458
433
712
432
649
669
790
450
788
745
569
655
657
704
456
566
759
699
800
712
633
738
742
451
662
746
792
561
539
446
694
517
777
784
728
648
695
783
631
709
597
736
599
730
636
693
528
634
759
709
753
532
471
665
583
711
739
593
424
529
707
746
720
535
591
682
626
726
467
528
744
461
811
517
625
748
474
756
734
705
592
788
814
697
704
669
765
692
529
736
657
632
654
816
799
576
640
420
515
724
754
552
575
703
766
686
425
561
529
493
524
498
466
483
491
812
712
587
582
568
584
783
547
560
712
717
735
791
457
649
799
447
432
518
612
584
600
809
766
670
573
803
453
555
608
783
672
572
742
701
619
719
474
515
511
635
422
781
677
479
431
789
485
457
780
522
664
774
498
654
764
694
776
603
503
665
775
474
678
737
621
729
460
563
756
551
517
609
769
546
623
519
659
446
766
684
617
568
731
542
801
659
642
611
803
577
610
706
783
617
510
753
760
654
452
589
490
677
786
717
669
565
436
779
465
499
561
525
785
463
584
692
529
607
445
691
645
761
770
733
799
603
620
438
577
539
802
780
760
625
819
654
720
808
713
643
714
694
538
518
556
438
633
796
747
795
627
819
703
447
439
517
443
796
534
580
534
596
761
769
512
621
534
661
685
580
813
655
558
669
594
665
458
510
800
500
621
659
637
519
426
676
455
454
435
771
581
559
818
519
467
806
648
779
481
780
594
492
617
704
710
583
631
456
640
606
788
694
614
509
675
610
503
815
655
649
703
563
532
786
501
711
501
520
728
524
504
519
545
534
431
721
616
765
450
556
657
706
520
567
659
715
665
697
484
704
519
486
520
788
443
421
644
639
748
638
620
753
423
576
469
770
581
796
498
785
712
682
744
429
616
714
455
440
491
804
706
646
504
688
747
675
482
710
799
593
653
531
690
817
545
709
745
511
458
486
752
680
648
558
675
622
702
811
568
746
801
548
683
521
576
676
420
734
590
607
767
771
422
799
712
792
631
728
528
764
495
532
818
581
628
422
475
763
574
481
438
493
707
713
516
593
699
498
540
670
552
713
721
701
598
772
594
755
801
507
491
567
576
672
623
563
603
564
440
528
792
470
732
785
500
726
443
799
428
467
721
689
732
526
561
650
463
568
667
799
463
571
508
683
539
520
651
756
567
594
553
680
739
597
701
450
598
747
648
777
744
662
482
424
529
467
696
610
461
700
550
565
482
569
522
700
492
765
769
511
637
621
462
631
658
804
623
605
736
435
476
704
730
804
432
420
445
575
500
609
684
443
444
492
468
727
718
444
608
656
477
636
465
781
448
695
612
710
516
711
430
542
536
586
536
501
671
718
600
729
809
782
426
636
465
587
464
681
731
501
437
441
471
818
637
562
735
762
696
775
474
746
690
777
602
681
458
774
606
474
524
456
453
803
536
687
765
473
816
453
450
428
468
671
704
779
442
662
624
775
637
520
819
560
773
644
688
772
626
539
435
471
687
488
432
759
724
491
421
488
579
583
778
742
546
667
567
516
518
533
521
695
507
675
475
572
501
528
665
764
623
548
652
760
521
807
569
464
645
817
685
755
657
696
584
808
617
627
675
546
442
754
738
737
529
680
628
451
707
505
601
746
669
505
599
759
777
686
773
512
457
615
759
637
672
796
756
719
651
522
818
815
796
503
766
692
477
587
455
525
421
745
446
655
587
661
548
745
734
586
429
457
532
790
788
760
648
444
592
793
606
609
584
698
469
732
623
797
629
462
608
659
723
733
443
625
615
652
739
746
641
688
657
554
741
579
727
505
531
554
511
620
587
719
447
715
622
441
768
707
723
469
779
557
591
633
593
783
776
567
567
603
452
804
461
591
756
771
662
677
696
561
617
819
461
438
535
764
575
478
444
670
576
500
639
518
698
670
773
519
668
680
776
817
721
605
485
678
554
768
437
497
704
614
614
451
730
441
769
675
458
465
685
695
514
488
477
732
652
458
809
502
473
777
626
634
734
575
596
731
613
438
583
777
641
558
756
713
700
769
614
495
496
567
455
575
573
767
734
450
732
620
780
656
783
714
468
783
670
476
800
819
560
599
559
731
448
733
429
460
614
669
720
468
600
710
520
527
580
609
457
766
671
818
505
596
545
450
756
531
445
503
577
426
659
811
759
677
492
660
716
560
676
735
811
746
603
679
482
682
442
598
819
634
820
544
789
798
535
797
700
518
769
715
502
795
649
649
643
593
530
602
741
806
577
521
782
687
770
435
603
792
585
516
705
685
439
805
758
580
750
784
767
714
548
719
707
691
761
512
733
570
702
711
788
485
613
641
741
795
464
719
647
678
510
592
463
721
723
627
483
499
495
639
658
626
482
765
724
527
714
591
769
779
608
654
490
544
722
492
463
647
450
535
522
685
507
673
596
566
818
682
578
641
730
554
477
559
488
788
465
816
776
494
688
508
477
433
538
738
447
679
753
806
543
670
683
614
527
572
787
491
566
499
480
427
474
515
702
795
439
434
728
643
439
576
800
499
451
800
809
667
801
447
487
608
639
485
499
692
756
625
748
444
616
752
775
453
577
539
599
767
420
421
617
674
586
535
724
559
627
428
748
798
492
612
572
485
740
602
755
527
799
737
428
785
770
554
715
497
554
669
767
817
754
433
488
526
637
760
693
774
657
518
496
809
575
479
621
567
743
607
518
530
471
766
505
806
505
633
683
768
793
460
438
560
716
682
726
715
545
814
651
756
659
785
742
612
734
518
432
427
765
503
608
546
756
740
779
542
477
749
620
769
663
591
554
815
658
555
688
792
469
550
723
493
456
566
545
634
556
521
681
568
497
528
449
790
792
445
790
690
785
620
552
647
793
661
432
429
745
742
732
803
549
690
738
768
763
488
634
480
646
817
534
755
479
713
768
633
428
635
769
694
670
520
656
439
782
482
607
423
769
484
800
524
551
625
542
791
675
429
622
710
673
785
567
679
551
668
612
792
514
478
774
605
801
725
656
679
779
665
566
553
546
778
772
584
420
616
578
742
420
635
532
449
647
625
485
554
433
458
766
672
568
813
700
680
580
553
430
506
435
469
668
454
485
732
779
603
479
457
652
533
618
589
657
596
627
701
737
734
589
604
462
497
472
799
452
571
554
486
424
623
518
656
450
754
580
647
639
749
713
573
585
703
772
772
801
627
770
648
671
716
587
705
718
599
461
781
655
538
565
673
506
809
733
817
555
455
529
728
473
596
684
747
427
675
671
506
771
433
732
537
621
443
440
792
667
751
741
439
503
439
466
619
561
605
720
709
444
800
501
539
810
468
791
805
697
531
697
664
551
551
718
493
653
738
756
424
662
683
619
789
632
601
651
691
614
567
529
657
714
540
653
686
571
539
556
564
736
501
451
765
441
503
571
726
463
643
655
481
604
696
557
806
725
534
710
473
476
788
746
687
526
703
569
801
617
606
768
664
503
660
767
628
550
792
479
707
564
561
587
660
808
479
567
451
758
623
623
642
778
717
669
614
605
755
698
442
533
428
569
420
489
682
441
739
702
470
550
695
478
439
507
435
753
580
608
658
539
496
812
718
605
689
693
470
730
709
580
782
793
771
666
428
772
584
426
693
778
784
515
763
687
591
576
814
598
763
761
606
714
698
550
480
752
715
562
571
445
589
441
753
578
786
502
590
629
704
628
465
639
708
422
467
641
802
478
460
573
468
668
815
610
567
786
423
627
723
581
423
694
636
721
540
814
544
704
670
574
623
554
588
552
772
424
566
753
792
561
438
803
718
462
496
734
474
530
705
516
424
450
494
730
654
632
518
435
529
631
748
470
670
704
477
551
427
501
681
442
787
497
550
510
734
669
651
632
774
714
779
709
779
483
765
741
717
515
468
737
447
465
669
609
814
660
817
620
781
748
724
673
794
430
670
702
727
471
453
603
492
766
432
556
684
509
584
758
798
706
425
731
538
698
708
436
707
541
494
722
661
493
600
440
599
769
466
626
496
727
820
649
777
593
702
758
430
757
667
526
556
674
428
712
745
517
459
498
655
622
437
748
734
748
751
798
573
424
549
523
448
772
477
716
726
483
443
562
480
728
628
653
816
646
479
522
710
721
768
573
787
449
690
777
668
760
697
729
633
611
569
800
538
625
670
562
712
476
610
560
441
588
489
429
719
797
531
615
433
728
421
523
603
493
746
563
674
591
597
702
651
653
506
505
647
511
463
625
592
793
692
679
776
727
526
445
510
787
502
806
446
670
762
637
773
717
693
618
491
452
619
798
628
544
443
721
775
584
592
669
470
631
816
723
669
786
564
658
429
612
468
600
791
736
768
505
453
724
596
727
569
529
506
482
712
476
626
692
558
470
620
655
528
646
710
507
640
453
503
546
716
455
774
437
752
609
491
668
693
437
546
715
731
562
578
559
543
598
764
441
461
770
510
498
673
675
435
466
460
530
575
657
566
793
746
601
710
685
677
574
628
459
612
478
668
663
602
466
812
437
631
671
502
623
587
616
715
513
561
626
628
451
457
707
463
665
616
792
554
569
544
696
586
778
814
578
465
770
503
632
642
560
657
820
626
730
496
789
766
669
758
732
533
618
796
708
466
503
434
611
516
589
638
582
581
470
706
615
591
574
543
533
807
790
667
551
792
546
560
568
631
612
679
708
710
432
764
473
494
488
736
779
672
523
561
751
650
621
434
818
680
589
684
549
675
563
432
562
627
559
774
739
591
632
748
788
520
667
655
802
754
636
605
422
492
464
470
742
691
820
602
506
580
569
690
747
457
683
501
424
585
424
792
641
776
787
579
584
648
730
735
707
595
529
800
658
670
721
615
589
737
581
664
466
456
521
616
731
784
656
596
689
744
465
712
476
727
483
466
779
729
560
427
697
495
688
639
508
487
764
528
691
530
642
537
510
786
598
473
656
587
489
591
457
594
711
739
430
683
681
541
448
780
516
461
752
615
695
778
454
585
804
740
624
635
589
510
590
570
634
607
602
662
610
557
571
610
710
559
657
433
496
710
713
782
540
469
817
516
587
591
759
645
605
499
778
743
519
671
567
575
641
777
716
649
795
460
477
533
746
502
517
475
509
809
600
636
517
565
625
694
781
612
658
672
524
755
620
744
584
803
718
532
465
567
511
738
528
431
820
587
507
488
764
814
737
805
624
679
749
531
571
648
686
653
727
450
731
624
511
750
502
427
420
528
487
614
437
526
774
433
808
796
587
504
568
426
448
779
426
721
781
422
715
661
512
451
591
423
731
619
427
809
589
698
428
422
748
506
449
732
483
745
792
793
601
680
585
595
741
814
602
434
754
427
511
589
446
470
494
781
773
595
786
501
535
576
809
742
573
804
703
487
438
618
677
755
521
509
433
423
440
769
817
600
703
801
601
536
586
558
687
441
509
602
470
543
653
718
717
679
816
686
528
636
569
654
772
716
504
783
493
801
795
655
606
425
742
459
488
587
621
663
531
577
739
495
635
782
461
592
572
703
726
625
437
668
596
661
596
531
430
630
637
454
773
638
731
450
465
577
633
526
730
717
768
676
546
702
646
707
550
580
502
562
682
466
483
752
700
579
588
699
481
777
431
692
568
513
476
508
669
611
809
650
622
492
476
688
803
659
527
723
758
536
674
627
433
570
513
464
492
669
496
733
491
806
687
599
769
450
428
544
639
563
729
676
575
491
810
714
654
439
759
550
757
651
778
807
643
510
645
537
421
439
717
585
732
640
757
530
705
519
495
636
667
592
668
661
497
811
466
638
778
527
635
711
663
581
698
623
487
725
509
654
485
511
670
634
780
690
676
704
583
603
421
526
470
779
731
552
653
621
591
689
461
737
676
686
528
527
665
754
679
557
587
661
736
709
741
460
732
716
696
564
751
484
577
540
431
575
480
770
534
590
441
668
648
489
433
683
683
724
597
704
684
702
774
661
686
546
650
778
712
644
739
674
426
795
538
737
712
440
689
694
515
633
471
429
590
557
673
559
426
758
632
655
628
446
731
528
580
594
687
517
587
490
522
818
505
809
670
581
629
535
736
476
422
467
516
596
461
749
738
720
697
440
704
734
572
587
668
625
555
497
466
697
778
812
448
640
774
760
819
556
430
603
638
646
587
658
513
639
423
768
434
605
453
572
646
429
656
780
758
749
598
816
701
610
430
721
645
716
548
516
543
690
704
493
569
564
691
675
481
676
662
791
660
494
696
532
552
819
457
634
528
459
442
532
778
439
691
703
625
692
626
561
493
735
622
784
620
751
740
772
480
567
753
653
551
502
769
421
459
745
759
475
432
755
438
609
808
474
730
636
673
712
704
433
788
687
736
817
666
712
763
457
521
618
724
445
543
570
769
426
539
727
448
520
767
561
543
590
468
646
814
434
638
660
685
434
530
625
598
714
475
530
602
757
756
670
652
742
744
549
757
521
505
666
523
684
437
560
430
812
529
528
617
734
528
804
693
634
662
735
687
449
760
572
588
710
443
435
672
426
644
447
763
660
585
667
535
479
506
598
816
570
697
702
431
739
630
701
500
626
559
453
678
429
607
819
805
555
691
622
585
651
715
623
605
761
539
428
536
466
627
576
544
629
661
657
621
619
507
507
613
504
452
694
532
683
484
563
616
581
593
498
604
580
735
722
653
531
723
756
711
432
519
816
544
587
579
722
799
649
662
521
651
451
710
796
809
628
633
495
577
586
667
541
750
722
539
744
521
717
722
593
568
442
445
520
808
809
694
524
679
693
594
658
667
673
722
808
435
569
746
716
530
453
487
617
626
657
555
781
768
777
499
505
595
620
792
661
453
556
528
785
485
479
806
633
489
559
589
790
585
453
528
487
622
694
604
584
602
433
553
483
486
487
612
806
742
593
474
519
500
722
788
632
524
623
577
719
790
521
432
428
563
523
593
753
513
712
763
693
653
432
817
800
717
629
681
570
522
507
781
545
508
764
540
460
772
507
525
500
555
512
484
466
690
664
679
776
681
525
483
438
421
604
673
751
613
547
637
567
573
728
536
548
814
497
631
683
519
658
797
596
569
600
719
641
629
635
602
697
548
446
776
808
723
683
717
585
478
544
814
754
666
484
639
705
481
630
674
710
605
699
645
696
454
740
687
655
782
783
602
634
504
561
579
544
558
656
594
742
806
778
768
737
627
702
648
601
457
810
742
732
535
763
462
619
789
665
562
466
421
576
787
429
641
720
745
433
814
597
714
567
724
552
766
725
622
605
805
686
501
496
707
566
817
428
635
657
741
469
497
454
811
539
442
815
460
513
582
764
512
435
649
548
596
451
554
653
600
581
558
518
595
712
615
659
508
648
749
432
748
589
432
705
559
546
806
530
474
737
722
797
635
618
501
593
683
420
708
443
448
785
507
813
653
484
448
723
593
692
712
498
486
534
613
618
599
749
725
611
806
484
469
563
561
624
428
632
783
440
512
632
445
691
716
718
578
707
556
754
686
594
658
556
693
668
524
477
784
804
685
655
700
768
567
688
660
606
661
681
529
711
560
451
804
425
470
559
781
551
757
520
722
613
521
460
565
625
452
713
448
518
596
527
712
438
770
508
635
577
755
707
595
643
723
600
653
636
485
509
786
564
461
812
637
553
456
565
503
515
750
802
807
771
497
795
570
775
571
586
663
626
662
592
573
420
652
649
697
558
782
798
622
605
785
467
627
691
458
633
583
593
593
482
807
792
653
748
652
545
470
641
550
458
453
468
656
496
638
756
420
606
625
491
748
628
688
477
786
519
686
491
430
765
807
680
549
767
710
795
747
584
659
421
734
581
573
609
493
490
455
714
628
618
669
775
531
798
720
662
802
776
729
746
694
595
729
595
530
560
434
620
460
551
726
466
499
448
610
636
461
751
601
580
520
737
421
470
727
527
818
726
719
773
599
764
603
753
773
654
646
439
636
766
728
648
471
654
813
473
746
540
518
557
789
493
613
564
642
483
467
672
468
599
440
649
619
748
472
447
423
529
645
722
506
599
533
475
811
586
649
457
739
726
447
692
548
725
736
511
629
427
693
498
541
514
551
528
464
720
617
744
684
731
476
554
591
508
730
663
740
643
819
748
817
480
786
803
464
515
538
767
760
605
632
460
742
708
724
560
592
435
673
590
610
650
773
593
737
658
677
617
501
699
813
513
544
757
654
547
605
577
560
574
732
752
802
770
665
605
562
667
818
638
738
651
525
755
764
530
759
666
589
574
480
545
708
457
651
489
794
621
435
508
605
434
462
754
582
429
517
427
511
698
482
628
453
806
727
585
470
770
800
610
669
635
527
494
790
425
697
431
518
478
600
463
467
766
808
489
784
612
554
788
616
658
748
736
632
680
811
717
503
435
455
651
676
810
452
421
658
614
561
749
634
702
750
727
430
682
604
633
683
816
586
819
804
764
596
455
421
688
449
813
732
458
464
726
467
584
817
651
754
660
426
784
718
420
716
652
488
614
555
761
478
501
501
807
722
545
586
681
768
755
816
741
772
648
435
676
784
794
481
522
636
622
555
719
499
512
645
495
528
616
717
486
772
711
593
585
634
658
685
731
641
604
634
724
508
465
810
687
541
526
498
581
443
713
754
468
770
435
590
438
806
695
776
559
588
502
576
509
441
576
539
494
770
605
804
434
546
738
751
649
658
436
794
450
670
593
652
729
657
440
579
785
551
818
813
596
462
642
708
518
718
587
556
748
788
651
736
521
589
512
459
477
785
719
568
617
547
441
575
666
524
721
596
591
495
810
783
620
498
809
498
688
702
735
555
810
580
475
460
783
575
790
680
446
720
772
555
516
732
782
618
458
471
638
516
520
469
430
700
731
589
635
799
488
667
710
446
508
753
577
750
506
473
780
489
520
612
503
810
606
609
452
600
549
544
742
713
604
682
427
772
507
620
582
759
441
599
685
759
589
721
654
453
458
735
735
785
455
655
815
422
665
806
750
735
588
758
709
744
778
500
730
600
505
514
481
809
775
768
532
706
444
786
728
762
805
737
592
606
620
765
778
810
443
719
510
587
794
458
454
588
717
503
547
815
433
479
622
734
692
653
550
796
754
677
492
621
431
541
603
750
775
587
432
814
686
714
646
650
422
745
607
473
743
520
781
561
733
756
627
676
460
487
505
586
505
768
781
617
456
432
676
617
555
510
608
796
687
528
742
641
623
592
666
747
788
645
667
702
763
712
727
475
510
754
695
715
532
811
745
429
621
819
706
726
758
743
642
619
432
463
672
595
468
676
490
518
472
710
767
433
641
596
635
693
558
812
744
746
804
442
528
755
579
422
727
703
681
820
589
547
776
742
495
647
648
664
594
422
805
812
738
667
681
667
751
627
758
525
818
696
451
764
648
782
596
693
420
612
711
711
674
544
519
706
640
584
660
596
432
614
729
652
610
686
621
733
748
567
720
666
606
566
536
641
743
773
422
720
451
646
459
671
571
662
761
729
552
792
435
566
429
750
615
484
737
510
741
598
819
814
430
528
474
571
674
663
461
811
717
448
498
797
646
805
623
753
524
662
545
704
550
613
806
546
669
616
742
650
777
730
733
569
668
614
742
677
801
581
735
463
806
607
463
564
682
647
488
572
666
438
727
538
717
572
660
501
602
553
817
679
460
742
432
736
725
675
807
661
510
446
745
767
676
541
518
690
435
500
528
440
583
533
652
618
761
470
744
687
452
816
445
633
778
510
732
572
594
494
722
682
729
566
479
576
436
467
544
808
677
672
542
626
634
573
642
476
718
526
688
754
442
784
753
532
551
580
639
548
811
505
542
619
450
693
516
470
436
542
601
434
584
467
636
663
620
459
520
792
570
620
681
819
522
461
610
759
647
742
603
669
505
524
455
617
542
430
518
671
646
755
814
529
798
723
558
820
602
809
732
662
453
693
575
681
716
814
621
746
722
480
604
476
570
572
429
765
603
507
695
537
538
425
805
581
767
818
618
619
433
512
489
553
506
688
799
649
481
744
675
553
451
788
568
600
490
478
708
518
464
799
572
773
493
575
473
730
782
801
801
747
571
792
739
808
705
607
616
560
481
726
623
619
653
618
746
815
504
764
489
725
486
661
568
705
508
767
602
799
693
598
426
747
442
691
546
685
431
747
455
728
607
667
815
423
667
740
605
712
814
666
719
470
745
645
668
553
492
746
711
513
475
784
481
423
738
557
705
611
560
583
743
427
507
541
806
603
617
777
633
543
558
653
440
566
583
623
595
750
455
481
733
660
655
425
618
595
546
784
732
704
658
711
618
794
460
779
508
494
802
771
647
786
781
729
516
704
731
605
638
599
536
646
738
557
568
459
736
507
800
526
502
652
607
631
772
662
530
478
719
756
799
814
797
541
625
718
635
767
656
625
639
543
669
612
699
658
598
689
692
626
749
679
685
812
452
647
692
788
743
692
558
692
686
607
717
761
670
633
559
539
657
441
648
491
666
535
485
802
722
592
600
454
648
633
585
735
501
706
588
473
507
757
500
628
515
520
679
555
487
445
717
634
625
458
539
588
641
663
703
651
545
456
665
756
583
605
681
800
443
651
671
597
798
692
691
432
456
607
599
814
431
618
794
645
736
706
461
779
496
606
519
515
433
464
667
790
497
810
635
555
465
549
703
658
555
566
625
435
607
648
718
608
479
595
439
482
731
685
719
630
472
766
806
713
696
463
693
544
729
551
508
705
631
532
688
469
590
729
695
759
743
703
466
505
802
493
711
688
597
583
672
563
518
584
717
519
526
527
786
519
574
647
727
494
577
617
454
426
607
759
567
778
791
714
753
748
539
485
668
540
745
618
629
581
641
730
551
502
708
793
747
442
787
562
632
494
709
723
632
775
561
694
614
596
702
447
606
476
425
699
500
633
441
519
501
553
485
805
819
613
430
724
646
693
717
695
686
777
477
772
658
652
562
656
501
697
718
628
486
552
818
594
533
742
701
561
764
755
617
695
467
537
542
794
684
692
588
756
576
490
635
741
660
434
494
527
774
796
624
700
498
809
655
707
795
737
525
625
720
518
771
746
654
540
675
500
443
521
488
683
467
610
491
429
585
754
430
505
817
513
435
514
752
639
525
560
462
421
457
544
641
617
766
491
515
706
783
497
558
699
422
806
438
524
496
778
620
818
512
800
765
664
459
709
562
635
800
615
532
753
629
819
477
684
591
692
594
675
623
532
422
708
536
444
447
595
515
540
747
540
533
781
778
698
490
688
566
549
750
425
438
668
730
685
660
533
727
712
767
796
591
650
752
640
765
482
779
741
667
467
504
693
550
693
503
679
656
467
494
808
803
619
759
458
471
516
612
520
615
478
710
752
615
681
693
673
615
808
762
434
580
632
505
427
763
538
536
690
617
473
714
681
731
715
682
760
453
632
793
465
532
704
711
734
764
774
480
789
739
643
624
558
450
457
511
722
748
638
681
562
674
439
552
544
466
765
503
657
642
795
604
515
811
769
698
635
565
612
497
627
565
792
524
521
479
731
728
569
652
783
424
735
476
817
454
478
701
725
662
469
599
641
705
721
423
757
637
548
697
670
528
442
483
705
613
504
658
537
457
800
687
601
432
673
530
510
531
624
699
704
786
668
603
427
485
764
486
614
513
709
773
676
808
638
641
517
641
645
571
571
586
654
799
618
659
461
699
434
571
603
653
728
665
447
505
705
655
519
678
655
492
741
584
714
713
469
722
450
693
797
669
688
737
599
676
672
492
568
710
710
777
777
571
543
581
658
733
425
431
504
701
464
597
597
680
617
560
500
805
819
715
695
730
480
733
587
809
520
503
562
620
478
722
815
500
712
681
425
795
704
579
506
791
425
443
737
470
508
570
655
673
790
805
797
660
535
803
454
423
784
623
521
679
665
816
647
583
734
697
673
778
754
612
652
545
615
677
432
544
656
759
530
742
539
574
763
553
639
557
775
443
804
687
657
643
594
432
701
541
499
494
752
671
642
532
648
588
734
622
655
655
757
727
626
664
533
637
805
435
560
432
801
702
480
540
652
813
472
717
654
650
797
816
556
716
735
625
521
512
710
782
510
756
801
729
545
516
670
648
775
694
462
471
606
752
579
764
483
438
622
537
675
692
684
741
691
532
639
738
690
744
663
474
581
797
628
618
528
488
807
627
775
763
448
562
640
695
734
594
640
704
653
641
534
581
714
732
669
427
555
526
482
435
420
780
653
510
452
602
710
428
532
673
499
644
640
635
758
613
606
714
726
558
672
773
537
421
696
466
546
624
709
629
758
742
529
448
753
514
771
502
660
510
642
450
669
471
533
637
483
630
524
636
804
573
675
665
698
819
547
505
696
577
706
752
596
585
465
504
747
670
683
787
794
629
485
711
695
530
714
574
635
466
445
758
584
431
446
435
564
477
553
458
535
513
622
518
640
791
517
672
742
808
775
466
423
774
502
733
792
577
783
446
621
738
787
469
481
642
523
710
750
639
539
480
499
589
625
516
592
458
648
803
562
459
512
693
596
487
816
561
622
583
706
540
700
734
791
426
477
621
787
797
635
619
661
569
488
702
543
652
440
575
563
511
568
780
527
750
734
699
688
582
453
486
625
769
743
666
683
768
735
453
447
489
756
476
642
690
794
645
745
769
784
664
494
479
422
669
510
728
492
625
680
725
738
655
529
707
656
762
709
728
650
726
610
427
571
818
703
697
813
774
768
649
749
601
797
615
734
714
603
586
738
543
702
437
539
611
714
454
615
754
762
598
746
774
545
699
692
647
819
571
636
547
538
427
788
452
621
457
494
620
517
819
719
735
615
453
627
663
504
626
554
537
641
722
477
816
480
729
669
604
478
717
761
591
477
754
589
459
712
742
595
707
584
802
464
462
727
682
811
593
778
587
525
766
747
796
569
568
493
542
561
459
587
640
484
604
795
701
490
640
441
732
598
559
714
758
588
583
586
437
511
778
793
585
711
813
504
794
791
812
578
727
709
511
596
527
499
420
556
489
770
548
606
809
449
632
665
526
500
672
426
759
492
661
746
746
600
426
675
592
650
596
710
791
631
519
504
658
794
554
742
755
797
498
645
735
687
562
521
632
736
681
665
588
732
785
477
719
650
689
524
781
774
558
799
508
612
455
560
659
817
552
770
589
650
725
630
808
432
542
468
611
549
423
624
422
759
568
467
524
496
683
700
796
475
433
727
570
510
435
711
640
806
538
776
784
782
739
632
568
744
688
459
496
431
720
512
777
581
665
681
635
632
420
702
678
739
596
596
696
784
793
579
558
659
787
586
464
819
478
640
524
591
794
740
472
731
586
737
547
679
420
425
477
630
430
727
798
804
564
658
762
784
677
434
672
724
588
512
422
684
672
648
651
808
674
661
639
644
448
690
450
676
589
759
697
657
723
537
817
675
694
514
514
456
616
431
625
572
506
818
592
785
437
759
532
450
500
650
611
701
783
620
500
668
502
743
559
580
746
740
536
589
804
536
699
549
802
697
628
706
818
664
741
461
698
797
754
485
798
420
470
490
450
712
487
794
786
605
790
447
646
548
524
757
677
673
523
595
718
635
484
762
439
463
761
511
817
519
471
706
810
750
712
748
426
713
648
524
527
751
575
661
540
711
645
722
806
454
496
777
496
745
516
433
709
519
751
649
727
502
465
638
745
547
631
615
494
443
462
805
577
634
786
614
762
599
532
671
538
676
625
628
705
427
497
552
496
726
627
568
464
640
499
809
643
652
440
572
677
736
652
792
534
743
503
705
809
505
731
755
432
500
671
700
443
812
797
602
449
571
435
716
537
451
501
799
790
637
658
717
512
536
517
456
627
623
749
438
651
743
560
472
595
445
639
674
744
586
812
795
671
672
742
583
500
775
565
600
573
549
500
508
767
725
468
594
775
575
452
749
702
688
702
543
534
590
712
503
720
564
778
615
534
491
475
564
689
657
718
436
496
503
454
428
674
645
582
469
723
581
759
512
583
514
514
470
674
763
761
767
691
775
528
540
464
691
538
432
645
429
467
430
584
807
762
756
663
548
659
689
774
681
739
559
448
807
442
451
538
641
498
602
706
724
773
707
785
569
604
429
427
742
630
477
605
482
489
756
534
568
654
590
509
626
485
608
513
592
597
654
681
817
591
810
552
485
588
526
716
608
768
644
626
547
743
553
762
621
428
441
583
814
795
594
613
466
709
629
679
686
729
761
697
678
599
497
700
437
447
570
515
652
659
685
721
568
577
462
703
774
553
794
577
453
694
675
424
603
628
596
612
543
698
776
684
432
488
432
647
556
704
665
458
538
589
437
820
812
630
568
642
474
724
467
543
769
619
601
562
582
758
484
461
666
481
608
756
803
613
508
751
660
623
548
741
657
816
529
806
577
627
679
724
637
778
567
615
534
633
540
629
632
760
512
651
431
420
701
735
473
647
461
555
710
733
453
551
515
675
762
611
481
510
440
790
626
753
737
689
788
576
453
485
606
658
679
787
432
500
552
617
665
438
752
809
603
771
426
502
440
799
789
548
431
442
789
604
694
774
819
520
660
799
698
757
600
645
435
802
546
525
479
492
546
438
608
651
794
615
669
810
743
765
614
807
661
795
503
671
563
462
547
613
509
783
792
615
502
729
430
549
731
482
470
623
651
556
753
696
733
470
424
763
475
495
583
461
470
606
592
669
581
702
666
748
711
594
629
724
468
426
620
527
629
681
673
491
435
811
631
701
711
598
593
596
474
422
782
485
461
637
459
692
572
483
450
684
578
766
762
583
793
690
579
488
614
661
613
497
720
623
438
673
473
525
516
502
457
682
662
780
621
542
498
475
799
580
755
649
652
645
698
748
699
758
542
570
526
566
773
466
520
596
590
544
506
608
563
557
653
747
508
663
558
477
530
741
476
745
706
655
725
524
783
791
684
664
589
457
486
739
798
552
443
506
495
746
533
476
528
593
770
559
666
763
600
442
668
741
747
788
608
542
786
775
590
466
610
544
548
730
562
619
491
454
718
423
713
779
645
571
556
465
696
427
454
435
431
665
435
718
459
772
755
789
731
585
543
658
665
781
648
730
571
451
786
649
663
455
582
593
477
709
534
709
604
608
627
627
626
772
484
568
511
660
776
585
551
646
700
466
752
540
632
742
610
429
632
820
660
490
764
738
516
563
765
608
571
708
578
734
519
778
639
806
517
423
562
527
669
789
694
559
502
817
469
451
801
442
443
515
492
628
792
521
714
754
682
791
631
508
505
541
580
786
693
740
488
508
457
505
464
766
583
803
625
492
640
621
814
708
804
643
515
606
580
790
770
751
632
562
803
510
501
450
496
817
507
632
755
470
806
541
651
719
493
450
729
755
758
567
434
782
569
684
626
699
798
651
772
800
662
512
641
735
720
644
525
751
569
702
610
593
549
744
724
710
477
468
634
755
559
792
636
601
522
741
818
531
694
735
598
500
788
488
705
732
533
681
678
649
698
801
666
800
672
724
614
480
439
482
694
704
466
573
773
468
422
542
548
491
641
768
762
695
563
693
701
500
656
682
536
594
727
501
598
470
586
636
437
620
461
594
631
470
450
526
729
485
437
590
466
690
709
487
747
635
620
434
522
438
779
547
723
782
432
686
691
757
565
809
775
817
465
480
726
640
496
744
712
584
603
596
764
592
436
464
505
461
766
563
556
750
811
661
579
570
632
654
736
421
534
671
499
575
608
477
501
443
647
637
727
643
652
525
762
527
665
559
633
777
621
521
660
745
513
764
652
701
664
602
573
681
765
634
708
555
490
718
634
705
756
717
459
477
490
680
572
525
602
648
546
589
818
580
521
443
554
644
730
512
740
614
763
705
667
723
622
690
714
761
760
493
616
548
585
688
508
643
801
732
595
475
465
635
670
696
423
513
506
457
695
751
568
704
782
514
515
707
803
423
739
620
728
530
713
499
455
678
522
462
718
582
634
687
604
787
612
618
422
672
769
595
741
737
788
698
590
427
753
656
627
423
757
613
687
606
696
465
545
485
639
622
512
448
530
691
778
505
469
761
651
804
669
467
695
639
803
524
597
526
664
484
669
473
634
534
555
756
434
531
816
436
559
544
816
601
810
765
528
660
811
620
434
763
533
655
566
623
533
819
628
667
565
649
442
740
718
449
468
745
434
536
522
464
772
462
584
569
475
512
426
603
650
505
431
768
432
652
479
675
704
764
571
624
588
594
498
602
742
780
816
804
800
742
741
522
586
801
602
466
655
471
667
800
661
699
698
819
765
463
424
592
613
652
634
776
550
541
649
488
804
623
473
560
714
675
632
594
781
720
783
461
789
767
577
454
421
586
521
700
448
808
703
517
734
479
816
556
486
803
472
582
550
490
581
529
624
706
561
522
583
443
764
726
552
516
726
687
727
494
788
612
449
440
433
588
681
681
492
582
786
544
600
471
627
741
763
494
498
756
638
637
794
577
704
437
799
610
680
723
660
504
809
716
626
646
763
427
819
534
785
656
471
805
505
638
798
681
541
594
493
533
619
635
515
486
373
342
311
377
345
416
469
355
482
348
425
473
354
406
406
383
420
325
467
378
380
314
442
314
490
371
421
412
344
351
387
470
474
386
341
380
377
377
301
490
374
370
477
417
307
428
453
385
477
364
326
306
405
387
318
385
366
440
452
440
434
331
360
430
372
300
355
385
395
391
484
390
306
443
349
326
316
463
433
358
405
350
301
447
463
452
396
350
313
406
373
425
376
464
496
427
496
469
357
362
416
422
416
445
388
347
485
317
377
457
422
371
415
395
491
495
446
499
352
359
470
332
421
436
365
326
323
315
421
314
445
495
449
422
474
499
383
426
435
436
413
496
422
341
416
497
407
483
418
308
455
409
480
451
364
321
378
368
430
333
374
307
486
390
459
472
357
386
329
376
431
369
331
414
391
375
351
429
391
359
462
328
452
337
483
488
475
483
492
485
386
389
462
305
334
414
303
332
486
372
399
357
494
312
350
323
383
339
373
470
321
311
421
495
433
421
439
384
474
365
488
320
303
441
398
305
382
326
435
463
371
447
464
393
342
470
498
466
471
381
486
360
323
496
309
311
423
361
444
461
313
349
496
362
480
484
462
391
390
344
324
353
448
367
392
342
486
457
396
330
476
315
378
458
428
310
312
331
496
463
427
425
382
456
424
454
318
472
367
379
472
403
301
368
474
366
421
407
416
342
305
452
331
459
424
423
378
384
312
493
422
300
477
373
345
396
431
363
393
356
446
312
440
396
415
317
480
350
340
371
437
344
365
466
403
498
317
342
383
494
456
498
337
483
417
427
362
346
379
413
433
448
398
311
412
366
360
475
460
369
353
418
489
359
384
456
345
491
432
390
474
356
334
308
342
399
445
328
485
464
379
310
401
499
459
363
434
318
483
377
398
317
468
426
313
395
327
499
361
453
313
477
456
402
470
480
324
370
378
462
436
370
474
453
445
419
378
419
306
437
338
479
428
463
492
454
418
441
314
500
450
433
496
479
309
365
308
412
363
329
466
384
414
436
403
371
445
300
427
387
428
483
435
477
348
462
469
395
367
493
409
388
307
416
500
319
488
361
317
437
401
404
397
384
439
478
419
351
481
373
447
327
393
482
432
494
306
442
324
471
485
307
457
441
417
325
404
415
470
427
441
376
457
476
490
346
459
406
373
451
492
482
495
490
363
396
321
389
342
321
488
452
484
372
381
371
438
492
453
384
352
351
359
333
352
301
313
397
457
387
404
483
309
387
325
311
483
396
312
418
352
457
385
360
497
496
476
342
489
423
484
416
451
317
312
354
319
307
446
311
472
309
403
450
388
486
363
305
372
357
451
320
410
320
309
500
496
367
342
452
327
353
389
353
388
436
368
476
388
338
318
488
411
302
430
451
404
408
319
300
419
304
494
466
410
350
452
473
409
338
340
391
374
481
452
486
394
336
357
495
349
386
489
492
334
473
397
428
343
433
496
434
441
491
463
419
414
440
470
371
417
470
371
415
435
377
369
353
440
405
408
316
336
475
309
319
473
436
367
443
426
436
330
440
399
366
312
413
327
345
362
355
412
356
329
397
410
358
485
417
385
380
391
332
300
419
468
329
371
366
412
438
309
392
334
336
485
333
318
350
323
337
476
351
325
457
339
493
364
362
476
487
461
335
320
373
493
497
421
439
473
397
326
335
371
426
476
369
454
347
427
301
345
460
334
446
474
313
301
437
377
486
440
462
312
331
411
436
492
486
357
393
317
429
426
364
487
407
335
393
436
341
394
439
409
390
484
448
419
372
488
348
349
486
438
436
481
454
334
452
391
322
451
399
487
398
381
373
373
346
481
415
342
358
315
411
436
415
312
489
350
487
379
423
444
388
445
311
442
460
351
413
380
321
493
377
311
448
432
480
483
440
455
477
396
452
301
413
487
493
446
393
329
328
315
475
489
308
487
375
334
423
374
393
485
365
363
338
377
413
361
300
470
406
375
443
362
345
449
488
367
331
307
349
457
438
440
428
455
378
355
391
300
431
410
334
448
463
431
313
443
353
478
464
391
479
408
334
499
362
404
423
340
369
364
439
352
415
436
499
350
394
354
343
404
482
392
472
433
315
446
375
400
456
361
362
491
439
452
468
362
407
371
490
417
460
320
461
401
413
429
376
394
356
415
311
373
333
480
471
350
312
459
399
460
379
330
381
373
404
387
434
433
322
362
412
391
303
314
328
380
322
429
352
341
444
300
331
319
351
406
463
413
329
433
469
318
422
304
466
448
454
444
387
484
355
394
492
310
396
409
359
480
495
425
493
458
324
331
493
417
314
392
487
375
357
480
482
300
431
400
373
316
417
487
324
334
335
476
455
491
371
375
477
314
326
328
459
331
395
394
380
429
307
455
373
484
483
492
334
390
334
420
352
439
495
360
471
346
413
397
357
313
451
330
357
485
368
324
370
436
367
421
440
379
333
433
350
320
354
397
316
477
317
323
316
338
437
304
407
438
423
300
361
422
396
470
305
321
493
406
425
442
426
359
447
325
357
310
429
463
440
364
430
302
464
440
336
423
366
334
458
411
398
305
469
441
424
341
455
329
351
436
395
311
337
455
391
485
369
357
409
375
330
423
474
420
450
464
387
316
352
488
466
385
305
321
333
310
410
425
404
467
478
323
449
456
477
431
324
443
434
309
479
323
480
386
498
337
450
348
351
395
473
335
428
447
340
312
320
478
309
307
433
427
436
489
385
370
460
427
469
484
350
427
471
371
339
392
369
498
394
320
390
427
340
308
470
356
491
340
347
306
377
444
394
450
410
444
343
329
337
482
433
300
305
388
464
447
437
499
421
329
492
301
462
333
360
493
427
364
302
477
426
358
393
334
448
389
444
401
342
368
397
330
500
362
488
357
451
343
337
391
400
335
447
400
405
390
348
388
325
402
327
426
433
421
337
481
357
409
423
361
319
468
335
397
364
379
339
492
491
490
308
494
348
303
401
356
487
405
435
382
306
359
412
377
335
318
478
302
391
335
496
314
418
323
475
497
497
465
376
424
333
403
315
400
496
304
363
458
340
337
333
342
354
301
472
322
484
425
351
491
427
487
301
487
476
372
304
380
350
445
337
434
377
314
468
402
321
315
464
462
437
386
384
372
325
421
308
335
371
497
461
366
365
412
382
388
341
406
423
348
451
376
459
438
446
375
347
342
484
320
454
489
396
381
372
436
422
422
311
381
460
367
416
431
345
356
347
455
463
487
448
351
380
393
376
478
302
431
392
359
471
455
319
464
314
338
364
442
468
500
403
438
467
458
484
419
318
429
369
353
402
401
478
461
436
376
398
424
486
342
351
408
413
306
444
442
349
359
475
402
335
392
362
340
421
400
492
487
427
359
397
427
454
367
324
475
442
349
314
325
373
302
306
476
475
419
444
423
469
409
498
447
318
489
452
488
327
476
485
468
439
400
389
440
409
380
444
495
429
443
368
374
475
413
462
475
446
413
391
496
496
481
416
317
354
447
316
480
409
367
487
399
337
413
463
429
321
309
343
439
372
338
363
320
303
410
389
422
427
440
460
490
378
435
435
461
402
424
437
307
346
327
318
372
368
310
317
402
352
436
477
429
392
478
447
301
469
337
311
353
355
362
318
439
402
437
380
351
410
472
358
380
352
407
362
458
339
473
477
433
339
339
426
304
366
461
314
415
405
383
380
474
472
375
442
353
479
408
481
373
440
485
316
455
339
403
391
343
326
379
447
367
480
428
367
418
409
445
489
313
423
451
385
440
339
389
412
419
375
430
414
418
439
470
495
450
475
315
442
359
392
457
453
462
389
316
472
409
402
441
334
342
389
347
318
427
345
316
348
439
367
361
431
350
310
466
431
410
484
425
452
458
343
497
382
493
385
394
496
353
349
312
439
396
333
315
322
332
350
310
425
407
391
458
396
341
482
386
396
360
474
424
388
380
369
340
312
399
329
397
447
443
480
319
323
365
335
370
330
313
334
460
461
329
310
410
366
460
378
360
479
362
328
428
449
434
307
323
394
485
361
368
348
442
380
314
328
410
382
335
447
459
329
343
401
368
339
319
467
339
388
449
444
398
407
485
443
301
340
456
316
419
328
468
376
376
419
330
380
370
467
334
429
393
448
430
329
442
421
308
470
404
385
354
394
470
415
461
452
366
327
444
334
383
364
472
342
495
401
427
322
350
396
379
346
469
358
446
355
446
375
317
369
415
393
313
402
422
392
379
324
308
359
458
417
423
463
329
302
412
320
475
436
441
444
316
490
444
497
379
393
321
341
420
449
375
304
430
400
377
304
338
485
378
303
390
419
402
393
353
314
329
485
300
377
367
468
316
321
437
476
312
368
310
390
493
408
411
497
334
442
345
369
325
493
342
421
351
316
345
422
408
410
337
343
364
497
328
315
326
368
376
338
387
354
496
492
447
422
409
400
443
315
447
423
314
463
439
468
373
468
394
371
452
427
386
384
406
324
301
394
413
348
327
350
340
397
374
489
459
465
378
461
386
334
315
478
358
325
476
477
482
439
307
480
362
405
348
439
322
448
447
335
367
401
355
437
334
316
437
385
473
416
316
359
445
426
402
420
415
358
431
423
485
307
463
305
318
481
349
451
401
449
328
319
398
497
323
419
402
393
408
485
448
327
306
371
401
350
368
445
418
404
340
412
484
471
404
380
418
311
382
302
453
327
424
492
396
352
482
430
482
335
450
398
474
329
363
484
488
418
330
486
432
414
494
360
347
494
350
450
350
490
445
464
395
496
367
497
481
370
372
340
328
484
380
500
482
337
363
355
422
380
439
431
401
468
369
493
403
455
487
328
406
382
414
334
421
402
468
447
311
486
344
463
359
436
354
355
432
407
322
385
372
478
358
381
433
429
422
331
395
334
481
378
437
323
436
373
440
377
458
310
392
346
331
409
365
320
456
339
438
390
355
417
415
458
386
447
325
423
360
312
417
402
417
404
314
319
361
362
490
312
490
490
388
389
378
483
425
335
398
434
318
427
335
458
323
499
474
487
480
399
431
381
349
388
367
377
371
310
440
358
375
403
387
310
480
447
390
476
327
385
302
415
393
304
440
384
396
403
380
480
457
320
388
417
378
316
478
374
357
304
411
433
378
482
303
304
436
417
333
344
486
433
367
418
441
395
436
303
370
351
479
302
414
378
376
347
368
313
483
395
471
350
305
496
339
363
340
408
470
500
397
492
328
307
471
492
371
404
409
416
468
323
302
427
346
495
440
377
315
479
351
437
301
398
497
408
374
430
419
446
416
496
314
433
472
363
418
428
495
412
333
371
489
423
437
424
398
444
349
319
305
438
442
409
410
391
453
333
494
329
360
438
491
381
448
460
465
403
321
339
456
462
330
376
372
431
355
398
332
363
458
333
350
448
407
406
456
396
447
476
317
409
314
383
371
487
475
393
331
408
370
353
431
446
368
458
463
308
347
368
476
330
372
364
331
338
397
453
369
369
472
345
452
318
464
478
461
309
445
491
416
416
432
404
466
499
353
465
300
322
492
379
309
338
449
448
372
465
458
376
325
453
446
328
490
344
409
451
368
319
330
378
390
322
407
401
344
317
466
478
352
374
424
469
445
324
362
358
466
483
392
500
497
414
492
376
487
465
434
335
331
459
457
491
307
323
450
435
494
307
325
314
475
362
396
406
498
457
397
424
331
487
312
493
378
361
399
396
365
490
356
465
349
329
375
450
315
326
397
360
413
400
314
387
473
427
436
486
486
421
308
489
375
432
339
320
425
308
356
417
432
412
408
495
456
376
353
489
330
360
370
376
401
434
324
302
330
343
490
452
436
313
355
486
486
311
363
482
321
454
472
350
330
349
396
453
456
361
423
358
449
453
322
472
401
379
454
424
493
347
369
370
359
391
358
310
328
462
445
347
460
320
461
431
409
405
344
473
455
423
441
445
385
300
319
426
389
463
397
318
470
349
439
480
483
466
479
463
323
383
419
498
344
355
428
408
315
356
320
444
350
389
301
464
346
314
316
368
386
481
369
413
440
491
342
398
462
367
368
474
424
337
306
347
372
338
407
351
464
363
488
347
460
367
369
410
425
352
304
398
316
429
370
398
476
383
432
403
482
394
441
456
434
453
459
380
369
307
447
468
329
466
398
319
316
341
461
390
386
429
422
367
382
456
403
429
471
493
435
314
400
385
468
301
467
410
423
364
465
479
366
383
461
495
406
487
405
446
346
355
420
414
323
308
490
486
312
374
487
455
415
461
484
478
346
492
350
495
492
377
470
350
439
485
319
364
371
385
307
443
500
426
387
456
309
340
338
477
333
423
453
340
384
439
422
340
384
348
318
418
310
318
439
342
307
473
443
490
387
500
443
335
418
357
432
446
485
312
464
481
417
429
335
440
444
458
443
435
465
310
452
403
487
324
444
420
378
428
332
384
351
392
316
421
446
348
438
352
454
429
343
301
458
466
459
411
490
434
459
310
478
500
354
404
339
323
328
453
486
490
358
422
498
494
465
390
459
500
450
302
300
360
404
351
347
472
399
440
391
361
462
372
426
353
328
480
360
495
463
408
450
441
399
489
337
384
407
419
357
453
390
483
473
485
446
400
489
300
325
364
382
338
389
333
499
303
386
448
322
363
499
435
445
318
444
453
404
397
340
490
322
439
440
481
377
418
411
381
434
468
314
462
428
418
307
396
476
469
459
352
330
403
466
326
461
364
374
463
498
397
300
425
429
450
465
400
389
420
432
386
321
452
318
302
354
312
354
355
443
500
445
405
381
476
408
325
332
364
419
417
405
444
360
493
465
327
407
471
430
394
409
315
451
386
401
310
405
325
493
442
443
428
499
443
322
478
431
451
355
423
386
319
452
325
439
365
417
320
471
477
494
463
424
419
403
360
371
394
303
489
342
334
332
372
474
462
408
364
324
382
374
322
303
400
333
421
455
316
364
305
320
331
304
432
493
442
341
411
349
339
304
471
357
459
477
353
386
458
354
395
452
456
402
376
307
370
331
500
443
459
373
337
381
417
421
385
385
313
370
371
323
358
390
446
335
311
401
357
344
455
403
452
465
365
315
307
332
496
408
329
359
471
419
399
397
374
314
367
446
385
462
460
478
466
405
433
376
363
433
362
402
433
370
473
328
432
387
431
386
304
438
433
400
327
443
395
383
410
449
491
385
416
499
382
331
406
300
341
416
343
345
315
470
497
317
315
487
324
376
449
497
362
411
303
308
452
447
333
302
300
487
443
310
410
334
467
487
351
402
393
468
400
440
470
300
344
394
330
320
451
375
363
380
333
377
416
401
381
421
407
327
413
496
308
335
342
313
414
337
306
486
499
385
444
489
420
492
422
462
471
454
451
409
444
337
353
318
397
377
305
354
312
417
421
425
441
427
342
317
333
391
339
344
310
327
418
409
304
300
435
390
307
411
353
380
409
418
497
448
439
397
459
431
465
399
491
491
407
381
370
314
337
300
407
397
423
301
445
302
401
430
490
375
327
355
394
330
476
409
450
399
329
446
498
362
354
402
414
429
474
485
443
487
332
357
361
339
361
309
309
422
440
434
345
342
397
389
392
495
359
308
430
491
417
416
425
303
400
448
460
303
368
408
307
362
410
392
411
448
311
419
362
452
461
385
348
308
451
488
437
361
348
300
312
472
448
373
300
349
341
443
316
385
488
433
310
474
433
350
399
462
437
335
461
322
386
464
317
341
494
486
440
438
377
377
398
406
434
343
347
377
325
381
360
485
423
411
415
475
330
354
386
479
441
452
430
337
391
311
421
420
489
303
387
373
324
469
395
478
496
433
343
455
338
346
415
360
334
308
426
475
432
454
363
376
409
302
463
375
339
458
351
490
348
379
414
418
415
354
437
486
440
465
465
457
325
469
480
320
499
326
391
440
456
364
412
339
458
389
341
363
412
403
492
479
413
425
479
361
336
391
366
315
451
458
312
443
364
399
456
413
498
418
327
314
400
338
387
427
303
363
340
330
304
484
429
306
440
410
306
345
411
426
358
497
476
366
436
437
464
363
440
351
332
372
321
393
376
374
460
484
489
381
309
313
420
339
362
391
370
308
334
362
497
469
452
434
471
358
337
332
431
348
312
371
485
345
391
381
344
458
325
339
487
314
488
362
423
409
352
313
460
364
430
322
379
404
473
335
392
309
338
386
403
325
500
446
344
310
491
348
304
399
372
370
355
333
388
437
497
389
371
478
494
334
348
453
440
307
426
447
300
388
464
341
497
385
322
311
386
357
366
467
325
443
421
378
419
498
422
406
309
464
440
318
456
352
479
383
378
306
366
347
500
453
489
445
437
424
471
351
371
409
356
399
332
377
313
389
307
365
495
396
331
490
469
320
334
302
420
444
354
346
486
399
450
488
459
485
380
442
375
459
337
334
492
369
442
468
485
324
465
364
440
472
362
319
336
469
339
324
497
357
482
495
345
351
313
402
318
483
486
335
391
440
319
430
389
330
443
489
476
485
369
330
467
436
460
473
364
471
447
338
409
349
445
357
414
454
472
325
416
344
481
457
380
350
454
353
453
366
328
427
433
360
320
453
404
457
478
433
339
311
410
431
364
339
418
380
345
327
325
357
466
322
406
365
415
480
422
317
312
393
487
488
351
352
441
346
308
406
458
415
427
369
494
473
401
362
452
458
474
438
465
364
332
394
323
347
376
407
470
491
420
440
316
371
394
322
447
374
368
382
328
442
332
474
433
398
441
469
318
388
395
427
380
386
431
429
302
377
466
363
466
408
327
386
375
399
469
448
323
346
367
496
405
396
403
425
307
416
432
495
475
328
409
302
430
432
491
345
308
397
422
416
445
383
487
321
348
361
421
413
428
420
341
334
455
484
433
348
390
375
324
328
327
341
452
380
364
398
490
499
472
437
498
500
476
445
474
463
434
319
387
300
496
381
410
441
356
469
398
416
318
466
481
329
472
455
499
390
393
460
305
399
421
455
437
382
329
456
327
347
469
426
419
420
374
420
439
324
422
474
305
300
485
381
374
302
381
449
342
479
312
342
426
475
435
417
322
419
462
365
375
435
462
496
458
444
358
442
323
381
476
494
315
344
345
407
319
382
365
368
494
425
489
426
438
408
361
498
412
339
348
303
314
376
366
396
339
362
305
422
416
302
383
491
433
472
461
374
441
300
390
458
419
313
375
360
319
468
405
416
351
336
335
441
384
399
464
347
394
364
395
343
466
388
388
385
315
403
344
339
479
484
407
463
342
406
409
374
313
412
332
300
427
471
441
349
497
466
486
334
479
482
383
431
453
346
309
486
454
365
441
429
317
381
493
321
330
480
339
399
350
442
450
486
341
387
427
482
448
327
342
320
305
303
487
318
337
453
487
318
375
312
425
410
322
464
410
462
349
415
365
329
459
473
441
381
484
395
466
500
446
473
496
492
398
309
315
360
304
498
334
339
358
481
367
477
440
358
464
332
401
390
326
499
367
308
379
430
314
311
328
411
474
310
443
337
346
425
393
477
416
436
355
452
327
314
428
311
395
356
492
407
432
339
351
391
451
431
408
390
454
417
419
422
358
399
377
318
395
440
415
346
366
427
404
398
454
467
312
360
418
405
440
357
474
354
344
377
314
492
386
404
330
467
333
441
378
318
426
420
323
350
401
425
496
432
357
413
444
479
462
438
464
365
430
405
399
357
391
375
373
472
300
381
483
333
362
386
327
318
363
391
454
368
379
472
500
446
345
405
330
432
499
395
309
371
358
445
419
316
452
490
372
344
405
487
426
437
309
318
473
431
342
471
417
498
325
497
450
391
379
340
345
373
408
362
491
338
434
337
437
382
323
328
393
302
466
479
463
362
418
458
366
349
306
500
437
487
424
411
315
342
497
409
303
374
380
355
472
324
354
339
500
312
437
343
313
339
484
459
469
416
411
332
338
419
322
469
468
339
485
354
342
463
345
495
366
448
332
415
306
305
367
435
306
323
370
452
393
346
432
418
465
321
475
315
310
451
492
350
459
303
436
375
481
374
447
476
310
417
341
455
320
438
473
313
406
431
307
329
468
411
362
347
468
400
372
432
337
443
328
423
320
321
423
440
421
440
488
329
436
479
312
387
350
487
351
408
361
408
353
387
418
339
375
395
431
485
349
372
414
377
375
475
413
359
383
432
379
377
392
368
320
366
453
310
345
403
345
459
397
443
447
414
500
318
419
431
353
438
305
307
309
469
322
347
336
443
416
348
349
378
481
476
418
323
379
333
473
402
462
402
468
310
383
311
389
306
392
424
488
384
372
418
423
446
379
462
457
473
494
478
336
479
451
432
306
313
340
499
398
349
374
436
355
392
480
340
301
418
380
307
464
302
357
483
415
436
491
388
362
400
366
315
472
315
343
384
319
443
315
348
353
448
453
500
443
357
353
405
473
481
341
368
411
339
479
366
456
469
302
491
370
483
392
378
358
337
492
454
485
372
373
339
439
428
435
494
359
398
395
453
349
494
335
423
497
420
387
325
400
398
384
319
315
393
479
401
383
464
496
441
350
437
371
500
320
441
485
300
306
478
349
316
365
500
342
319
461
390
413
466
440
339
388
433
371
465
397
372
431
433
429
420
460
462
304
486
392
356
385
452
311
420
494
469
362
461
324
419
473
406
454
311
419
370
474
455
430
492
442
359
303
459
331
381
312
333
393
325
498
365
419
401
344
429
475
458
495
357
339
355
427
445
496
377
327
397
463
420
390
455
437
431
335
321
473
300
436
360
481
423
367
479
391
435
482
337
389
375
387
323
379
383
364
476
360
459
319
340
412
360
367
317
319
352
480
320
458
376
333
449
309
441
404
440
474
344
477
484
481
445
425
370
427
393
486
494
402
463
352
486
475
464
312
337
375
440
375
458
500
433
493
466
363
342
395
382
362
383
467
435
473
335
390
393
329
420
434
360
467
371
496
343
465
338
489
492
408
335
340
333
488
433
376
309
436
416
418
445
389
382
301
320
419
312
434
306
440
469
471
425
359
433
318
339
313
495
380
340
397
486
357
425
325
377
467
325
363
310
422
437
454
311
404
463
342
351
454
327
428
331
330
434
316
443
496
449
444
426
386
483
455
350
464
479
455
396
453
329
387
352
405
461
463
442
496
384
393
438
445
478
405
373
406
471
346
307
488
473
371
367
460
305
358
406
500
330
306
331
406
371
381
317
366
335
328
347
408
445
393
344
454
379
428
409
413
454
318
480
447
455
471
399
382
431
442
434
309
441
485
472
307
461
454
439
406
472
440
320
470
310
442
376
323
488
402
450
398
345
365
497
338
387
383
422
319
354
402
406
342
461
383
308
371
428
470
324
494
404
328
467
309
310
371
451
377
351
328
340
366
421
397
329
445
357
330
490
336
478
377
392
416
314
428
363
455
349
495
453
393
476
368
322
349
460
362
406
442
457
441
309
499
412
317
384
432
488
319
456
318
333
380
384
373
353
354
477
321
315
406
432
448
424
464
347
312
434
342
425
471
470
385
374
348
393
406
322
348
467
406
324
419
409
404
427
304
334
463
316
388
452
485
487
329
319
420
480
412
307
364
498
346
443
349
399
371
403
451
477
391
364
348
369
310
457
492
321
364
423
455
408
337
335
316
358
345
312
310
487
315
337
313
403
441
423
425
306
436
461
499
435
445
398
318
412
398
308
317
385
348
411
301
475
343
472
330
482
301
430
418
466
334
463
380
477
347
435
326
446
373
357
457
421
347
381
303
309
358
322
335
383
373
363
492
451
378
455
384
479
337
471
325
384
390
455
379
490
423
456
333
316
343
397
464
500
322
369
373
405
428
483
396
367
407
432
364
306
330
453
500
374
304
420
333
336
455
331
430
320
460
310
453
500
455
417
349
323
341
488
322
388
465
336
421
332
358
498
409
500
492
410
344
330
478
442
320
477
424
363
425
343
458
327
496
380
395
455
379
395
405
412
435
418
416
384
398
443
319
374
467
332
423
437
456
406
449
454
438
375
301
455
366
348
373
346
320
449
463
490
383
491
445
430
435
305
359
499
392
358
304
350
493
439
430
366
466
327
358
328
495
346
430
366
340
435
483
439
354
380
466
437
366
483
305
397
345
359
393
309
415
340
359
331
314
476
366
334
465
393
318
422
322
404
376
455
361
386
464
447
418
444
363
417
354
480
439
334
383
340
304
304
419
461
456
479
308
445
397
498
476
387
354
331
388
437
311
356
449
314
337
363
482
342
483
324
319
317
434
467
471
426
443
304
494
486
357
398
317
319
444
305
456
366
454
331
431
357
304
443
424
440
336
390
382
383
474
318
400
309
406
450
482
346
460
303
444
309
422
417
338
300
437
474
311
322
431
340
346
479
397
421
498
390
428
445
410
325
339
370
339
463
321
490
449
462
457
432
415
417
330
423
457
428
402
407
348
311
491
408
449
362
301
494
367
432
369
379
363
463
305
331
471
386
386
352
460
423
408
430
498
300
391
483
439
372
349
315
425
498
418
496
385
337
330
426
312
472
458
459
475
329
319
300
330
376
360
417
309
373
334
302
489
498
329
373
479
430
499
497
444
383
461
412
364
445
393
423
497
496
425
454
499
338
477
324
356
442
345
312
452
483
349
333
473
387
452
347
454
351
412
500
403
489
340
356
491
460
327
404
415
422
367
434
376
308
390
436
466
402
348
408
448
418
362
369
361
455
392
406
484
316
404
355
426
425
355
360
328
431
403
343
404
393
422
377
354
401
328
325
479
431
407
427
462
448
452
382
410
318
384
363
445
352
417
444
303
314
314
436
356
448
498
408
496
380
487
487
495
409
349
363
407
423
405
369
365
342
494
433
434
372
314
409
342
496
419
472
423
304
306
323
397
377
406
415
378
482
321
420
474
358
407
447
450
399
392
309
479
344
416
425
453
390
408
416
335
485
469
493
397
378
407
497
303
331
422
326
459
485
456
370
326
455
393
438
345
337
493
499
324
393
348
458
342
349
484
401
418
316
303
483
389
410
423
471
413
500
490
321
429
457
423
417
490
442
463
393
335
301
425
346
366
469
306
315
406
459
400
423
462
323
493
465
330
319
359
308
452
363
346
458
327
370
500
379
477
359
339
378
492
332
352
300
411
436
470
358
354
469
319
341
400
456
318
433
339
361
343
338
418
425
324
353
369
494
475
483
305
312
455
367
489
344
452
363
402
463
439
399
462
420
465
407
440
403
463
374
388
427
312
317
358
472
391
358
405
370
470
380
315
439
317
439
450
382
356
406
365
336
396
487
473
433
385
361
453
457
482
497
405
326
453
406
472
351
356
403
362
463
345
341
429
337
421
345
389
434
372
359
396
453
435
464
390
394
326
327
397
418
383
349
387
324
412
384
314
379
466
385
406
486
350
389
351
445
421
437
428
454
316
415
365
407
499
492
458
359
353
348
475
494
487
304
345
465
457
336
477
316
457
326
483
353
412
413
424
426
462
409
449
490
379
344
301
451
387
348
385
430
427
474
310
339
440
426
462
453
360
323
309
325
403
472
496
463
423
372
308
307
369
345
433
324
359
387
490
460
322
337
406
434
490
496
323
491
426
497
374
315
324
324
427
389
430
412
441
354
306
324
427
381
438
497
482
368
468
348
407
464
486
424
331
321
342
372
365
491
309
447
478
428
442
416
306
418
401
397
344
387
444
355
429
442
387
498
368
416
464
312
422
382
402
483
445
486
345
316
402
457
489
324
402
312
338
467
362
363
492
367
309
410
422
370
369
406
371
465
330
453
300
334
377
477
311
324
377
480
301
306
467
389
432
376
302
356
303
329
375
376
378
481
396
439
438
496
318
461
441
350
490
332
458
377
486
362
378
326
439
368
366
421
301
428
364
371
436
353
459
336
436
468
458
311
379
428
439
442
319
435
471
458
460
449
387
384
416
484
336
450
371
474
335
345
371
395
348
325
336
361
302
400
497
357
395
434
490
305
353
367
481
414
340
320
485
375
333
404
333
440
433
359
309
355
463
351
316
433
408
385
442
335
303
319
444
340
441
438
416
349
311
369
328
316
314
496
364
303
481
388
485
443
443
327
416
333
416
343
430
432
499
393
308
476
364
379
421
327
483
477
456
318
371
409
335
473
302
469
357
454
317
451
494
459
339
339
368
398
490
334
317
307
420
325
477
352
335
371
473
312
413
437
328
489
411
425
452
462
443
322
481
324
479
399
439
339
444
437
478
413
327
441
490
459
330
462
384
444
452
393
493
357
386
411
320
339
392
380
374
392
480
411
476
471
409
471
345
438
468
364
306
498
491
494
484
482
442
469
472
454
364
429
498
307
333
374
358
484
439
340
416
408
467
414
423
370
395
401
369
360
485
397
314
465
337
387
362
361
325
369
439
438
451
408
390
425
424
368
364
468
425
390
410
424
448
430
332
416
380
388
386
404
407
323
456
382
455
426
403
474
352
479
490
465
364
439
359
350
483
443
326
451
396
483
364
493
488
406
472
400
388
392
469
433
485
416
358
334
439
321
402
359
333
377
487
484
466
473
322
434
301
304
361
408
436
326
453
500
306
357
472
472
436
484
379
387
453
447
453
311
339
435
481
455
445
490
335
425
397
396
440
340
363
471
340
465
472
499
405
440
431
474
328
336
402
422
345
477
361
451
374
456
346
316
448
462
369
415
329
306
430
405
491
337
448
423
359
499
474
405
387
374
495
415
322
482
488
390
351
423
499
427
376
476
447
339
364
359
400
351
483
431
307
396
456
488
464
438
316
337
391
363
325
410
494
386
386
441
376
401
312
416
402
337
464
419
314
436
326
353
326
378
313
479
369
305
416
437
405
345
390
305
339
380
372
327
363
468
497
383
493
412
462
480
402
450
335
421
424
328
430
378
380
384
417
448
366
300
414
307
332
319
317
475
318
453
417
311
445
361
407
498
359
417
330
455
410
422
347
448
456
303
320
480
401
444
348
388
447
427
322
328
334
355
332
373
484
366
491
438
371
343
404
448
399
440
428
332
447
385
482
331
365
391
475
352
382
351
434
331
447
361
433
332
312
372
397
332
441
417
313
473
302
392
464
370
340
462
420
465
452
364
397
486
339
332
449
352
372
446
444
467
348
357
441
377
489
453
342
499
307
474
329
310
429
461
473
494
462
393
363
315
439
347
322
423
483
353
483
326
357
343
353
311
341
462
368
439
496
302
409
439
492
322
395
334
466
432
348
407
445
381
479
492
328
499
441
349
431
374
355
460
455
415
452
480
498
365
417
338
440
464
441
353
481
302
301
418
419
319
485
497
464
366
385
322
442
461
459
353
390
479
398
379
337
468
499
340
306
422
462
325
334
381
382
433
457
310
448
341
353
492
435
424
385
422
320
410
399
308
472
340
363
471
364
397
412
376
477
481
423
360
487
404
473
375
473
381
469
308
398
407
468
356
428
480
301
341
475
430
343
390
371
492
394
482
353
348
331
461
487
401
316
357
493
314
462
430
453
365
379
353
494
412
372
352
365
484
481
407
364
355
322
414
326
478
307
325
496
359
472
469
345
373
445
459
463
405
494
421
313
451
323
418
444
321
436
361
304
500
439
412
359
480
376
385
383
449
456
350
378
331
375
406
424
327
323
409
396
363
484
369
310
453
385
493
476
356
427
433
483
402
440
459
352
310
410
372
471
378
466
436
448
488
469
366
438
396
469
324
389
329
396
334
460
474
491
421
413
374
421
461
457
358
313
366
395
469
349
336
479
428
402
339
399
393
400
365
478
444
388
384
448
432
480
325
312
308
367
475
460
416
359
485
398
307
399
497
312
404
342
386
350
418
367
487
385
338
391
419
388
356
343
407
445
497
495
464
408
483
421
461
316
448
420
350
351
467
413
493
381
413
447
343
482
326
318
315
420
337
365
477
498
306
416
403
403
475
409
354
350
320
431
408
300
464
390
431
447
368
332
339
449
430
449
485
352
488
433
456
446
457
340
404
437
436
334
455
324
355
316
304
417
426
354
398
496
393
405
409
377
432
463
383
362
313
486
446
350
362
332
423
403
491
496
361
459
416
313
472
453
435
491
471
489
459
408
423
464
311
480
482
325
426
416
375
433
415
390
455
333
424
453
386
456
322
353
339
404
310
356
333
373
482
457
483
418
421
356
332
428
454
364
411
411
398
473
415
364
437
390
467
436
452
428
459
370
495
388
340
461
338
353
400
345
353
341
402
310
331
325
409
318
491
394
306
332
402
409
387
367
466
474
493
357
448
371
312
357
498
493
359
424
321
416
411
334
451
401
463
397
319
323
388
498
495
354
454
335
349
451
330
434
362
423
369
450
358
464
310
359
473
330
471
496
440
344
450
312
393
372
340
325
306
442
499
335
332
494
420
472
352
449
302
302
412
306
320
390
315
391
463
455
391
440
405
438
321
376
301
465
462
352
308
433
493
402
306
477
492
358
305
482
487
477
490
385
388
435
321
394
346
399
356
353
492
326
489
417
333
429
479
417
425
451
318
345
451
396
323
350
474
419
328
422
451
352
344
426
475
433
401
469
383
484
307
313
491
459
472
452
473
422
477
410
430
476
316
303
367
464
415
372
490
369
403
469
300
486
331
374
351
471
434
459
407
449
328
305
354
444
468
391
339
334
310
405
424
330
392
315
330
365
331
443
312
461
494
313
470
338
346
350
490
418
335
475
485
314
383
332
498
419
479
411
319
347
480
384
443
407
302
446
334
447
490
434
474
424
473
477
471
372
444
316
309
446
446
475
338
480
339
401
388
464
338
487
303
481
359
425
330
333
487
465
366
490
415
473
436
317
300
425
383
354
488
383
397
457
406
320
416
485
423
465
331
430
490
378
409
349
318
427
476
367
354
394
415
463
395
318
494
358
358
459
470
399
306
435
385
323
386
386
388
487
466
454
308
499
421
498
438
368
471
310
473
350
306
463
312
405
398
480
306
388
400
437
481
470
484
337
443
435
393
500
394
378
351
421
446
393
303
333
389
486
352
465
467
448
347
460
492
360
484
428
311
317
313
385
483
470
386
458
475
467
490
379
317
421
456
389
339
325
471
365
311
458
423
320
402
307
457
442
437
341
448
351
461
360
300
496
337
434
340
323
438
357
494
452
465
325
440
411
455
305
357
429
455
449
455
428
366
301
473
343
446
403
350
302
453
436
456
441
439
369
446
387
413
398
428
426
365
438
486
373
342
373
484
320
363
329
490
348
490
437
377
435
477
434
482
445
422
423
431
397
408
441
474
440
491
442
313
386
331
331
428
369
320
493
488
410
318
396
434
450
332
398
432
495
419
414
308
327
480
424
485
331
403
358
372
373
413
318
355
394
435
300
388
466
320
379
417
383
373
393
321
384
336
414
387
369
495
344
303
376
321
484
418
431
323
360
439
437
439
470
317
368
496
410
300
383
361
334
458
451
436
348
415
404
455
446
479
446
377
429
421
401
319
369
356
463
336
340
411
456
353
341
308
463
388
400
390
326
322
307
476
430
396
369
379
405
350
461
446
376
302
445
389
323
391
451
362
427
402
332
320
333
455
349
437
424
407
439
339
328
359
421
498
396
499
447
337
475
478
370
395
448
388
458
403
321
405
300
383
476
461
431
315
318
439
342
434
354
404
339
413
489
412
476
401
464
410
375
343
458
425
354
427
316
448
369
393
491
406
432
446
485
426
371
444
305
306
449
349
398
479
419
372
480
496
310
350
423
385
324
308
326
495
407
365
479
317
419
329
327
433
466
381
393
392
395
408
300
370
416
310
431
346
375
487
498
405
400
483
414
474
429
472
371
341
456
346
311
365
368
363
378
401
337
488
392
332
331
385
376
485
382
460
381
410
401
346
426
333
302
494
459
379
488
332
445
351
412
413
452
381
330
303
406
331
421
440
431
384
400
354
329
425
347
447
448
402
425
370
454
364
448
377
378
301
415
481
425
378
343
464
391
433
437
420
377
443
455
369
325
457
492
407
433
440
416
407
449
383
326
309
448
424
474
459
364
444
315
434
383
364
324
360
304
363
357
447
365
390
480
452
325
485
422
400
452
352
499
339
323
419
388
348
328
358
303
388
341
393
308
381
424
330
364
340
355
399
345
348
471
317
378
367
500
351
347
399
440
486
331
373
308
456
374
303
359
471
375
322
331
365
368
464
374
444
354
437
379
497
488
344
313
404
478
404
315
454
372
366
399
382
302
436
472
322
429
373
382
483
402
416
455
334
419
485
498
300
398
357
443
314
388
397
390
379
353
302
339
454
461
383
329
407
303
355
417
384
324
472
465
458
346
409
490
458
353
448
408
495
317
412
484
353
351
404
404
327
449
483
341
346
335
317
440
339
476
317
347
478
415
381
301
493
468
413
418
455
389
417
354
494
429
406
470
336
345
402
402
463
439
405
356
332
385
431
443
494
343
355
351
341
438
378
422
486
435
352
425
424
463
314
414
460
302
332
402
402
470
330
446
445
417
437
410
405
415
379
415
333
487
345
397
478
480
472
399
402
418
301
337
403
309
340
448
324
437
428
424
386
402
458
336
308
473
330
495
332
444
446
393
320
349
382
347
362
489
336
423
329
435
322
367
387
421
324
315
497
378
427
478
472
302
408
469
496
493
314
414
466
499
327
328
396
340
365
484
336
493
389
471
386
435
308
389
326
450
451
308
445
343
480
374
321
338
463
495
344
355
349
480
486
468
300
484
302
371
459
453
494
470
460
437
301
334
416
332
432
338
419
388
398
385
370
401
332
320
300
460
476
492
396
319
376
430
437
492
493
378
371
418
347
434
474
470
411
490
461
394
318
494
373
489
326
425
500
345
374
419
371
459
393
448
446
392
491
357
500
395
362
492
500
437
405
403
361
462
376
324
302
430
453
485
474
334
338
470
362
362
392
429
406
456
485
308
307
366
382
444
342
400
490
434
395
345
405
346
330
494
460
388
441
458
432
493
480
365
409
391
344
399
451
464
460
472
377
425
374
346
447
448
340
375
344
464
449
366
471
314
478
442
332
476
396
487
326
323
426
323
325
398
465
471
344
411
387
399
399
355
329
326
414
420
414
350
338
456
342
314
484
490
349
329
382
424
308
322
500
332
415
359
411
468
385
385
389
359
356
472
446
300
338
481
356
490
496
408
314
366
375
394
457
376
449
499
406
471
323
429
387
306
351
388
319
469
461
329
490
332
398
412
401
365
431
431
347
390
339
488
469
393
301
484
439
409
493
367
454
344
483
381
465
458
488
368
351
498
316
498
335
302
330
344
412
456
370
362
436
339
360
425
406
317
392
459
420
453
312
369
354
406
418
374
364
331
315
336
356
500
312
329
466
305
436
375
371
404
461
303
422
363
429
303
394
340
412
361
460
316
401
420
395
333
437
458
482
364
320
457
336
305
328
449
426
342
448
389
352
335
385
408
392
318
397
445
384
452
423
398
475
315
361
364
332
400
469
444
440
366
377
378
347
413
394
350
385
421
450
372
345
300
499
308
319
314
319
455
336
447
496
445
493
489
450
460
307
400
354
339
327
399
313
312
353
320
438
351
341
495
334
340
364
307
436
361
409
480
363
468
419
365
448
373
319
421
311
382
386
416
435
434
312
429
462
310
425
404
430
427
346
487
414
350
382
377
327
416
413
430
307
439
401
339
349
381
322
470
428
418
315
334
450
383
317
475
427
367
488
312
340
319
465
460
406
361
347
432
490
384
396
485
437
335
427
312
495
406
425
394
386
437
449
300
422
492
325
334
445
368
316
445
448
329
448
380
310
487
390
413
309
371
467
373
376
433
379
358
449
332
469
392
426
493
482
476
455
482
446
349
463
323
388
446
363
326
453
312
312
491
487
492
463
315
305
402
460
300
373
427
306
482
487
434
305
454
363
430
421
371
458
405
397
385
367
380
495
452
416
370
380
423
478
347
377
385
462
456
350
450
448
499
373
357
444
310
335
472
420
389
357
386
376
314
473
402
357
488
390
426
476
345
335
407
449
341
469
485
352
409
492
465
329
497
415
459
338
474
347
319
403
370
306
432
427
489
340
367
485
358
364
415
400
491
325
409
302
361
439
376
421
323
406
500
444
323
378
359
373
343
464
422
388
412
462
397
408
345
370
444
497
486
397
388
362
381
308
358
349
311
379
445
354
459
328
416
404
404
478
448
430
305
364
352
366
454
306
365
406
344
424
433
342
346
485
487
376
482
393
359
492
318
496
441
306
409
392
321
394
437
447
337
475
380
405
381
375
304
411
315
395
320
458
379
368
404
496
444
467
343
446
496
373
332
495
463
432
413
385
451
380
480
475
493
462
322
318
429
325
361
422
374
448
488
351
410
397
342
478
404
314
398
449
375
473
409
474
318
325
340
472
416
362
365
439
360
462
403
485
324
416
417
463
459
428
343
467
361
367
372
340
500
483
343
479
426
313
363
435
374
421
336
434
382
463
318
428
380
445
416
372
426
495
472
370
473
332
397
332
397
313
413
316
320
308
321
330
375
366
320
458
433
348
314
368
409
300
404
464
495
393
416
302
433
411
373
342
389
333
489
309
456
454
451
406
303
388
429
366
428
319
388
382
453
447
395
311
483
348
359
366
343
457
489
494
324
305
423
434
390
312
489
436
441
313
328
408
404
469
338
457
439
341
313
354
391
441
488
374
456
478
378
310
449
498
341
354
480
457
357
446
496
335
495
394
397
408
452
419
486
389
489
404
475
461
476
444
339
414
330
489
476
343
319
473
494
473
333
431
478
448
388
325
492
385
446
464
421
471
329
382
455
426
385
399
368
435
407
305
339
305
470
379
475
453
364
488
483
406
325
398
330
347
374
459
403
323
340
398
409
382
330
400
351
333
380
310
373
496
448
376
332
351
491
344
398
461
403
476
304
302
417
492
341
319
404
464
315
467
420
483
348
487
484
495
486
348
351
467
402
377
482
314
342
493
491
455
439
323
423
335
373
447
407
398
401
481
307
341
486
388
361
314
433
328
382
481
491
380
414
410
316
467
360
369
346
432
314
467
417
413
366
466
465
395
385
334
459
497
376
312
313
435
481
422
380
411
480
492
360
320
441
452
403
443
496
495
318
313
420
403
470
436
348
390
346
353
453
425
330
377
362
322
491
471
446
498
473
432
304
368
404
490
349
342
398
441
403
495
476
341
350
400
370
380
443
469
438
499
473
478
425
405
439
379
463
382
499
478
495
338
308
390
396
441
356
495
400
450
408
417
436
476
355
368
365
450
425
414
474
334
397
413
469
316
443
357
479
467
437
380
349
410
476
483
382
370
304
325
383
480
353
317
328
318
410
470
403
434
334
485
391
492
479
422
444
414
373
384
385
328
467
389
372
411
479
413
384
369
440
449
394
329
318
331
375
325
323
411
365
420
399
442
477
459
302
345
321
483
469
497
376
355
344
451
318
421
438
353
359
339
329
486
452
457
346
466
466
406
409
406
388
477
317
383
430
367
358
325
414
387
449
481
429
405
454
416
351
335
429
446
362
398
421
424
382
408
471
344
354
454
338
445
399
345
466
385
445
346
378
331
414
423
384
471
440
326
373
342
404
438
448
377
464
397
442
500
451
398
410
322
457
361
304
340
387
343
304
371
400
437
319
353
466
348
320
448
465
439
413
340
489
358
415
454
310
483
493
325
436
449
414
360
413
416
326
432
385
475
362
400
419
429
360
316
361
369
443
484
385
435
312
486
337
333
342
442
351
312
326
393
300
381
311
316
499
383
403
410
341
410
373
465
449
499
488
480
470
307
337
340
446
359
447
369
382
364
345
354
452
379
380
419
447
458
430
438
461
362
315
451
498
371
431
320
488
474
457
488
453
320
345
469
370
353
389
319
367
476
359
355
429
473
437
314
478
444
458
388
344
396
427
476
313
478
308
425
351
456
432
462
350
352
467
402
478
315
346
358
459
322
397
360
317
306
339
301
486
352
423
456
442
383
430
364
342
454
387
499
486
409
406
403
304
391
349
310
302
397
334
325
475
393
426
450
309
490
330
356
302
364
473
310
394
456
394
449
300
453
404
359
351
412
402
370
364
400
432
393
500
350
386
445
323
461
325
484
328
355
306
387
372
388
319
389
455
412
305
408
347
332
305
414
371
426
347
379
466
415
479
430
403
460
354
409
305
341
361
433
420
482
341
300
488
491
429
375
354
405
363
340
300
402
477
384
353
471
381
329
446
411
408
328
331
492
481
495
323
337
500
450
333
476
367
350
302
309
485
408
490
497
362
491
417
471
417
437
304
481
345
340
341
324
362
423
431
459
425
357
462
393
334
415
368
401
386
421
301
347
490
340
301
356
386
408
453
416
348
398
393
300
496
428
358
466
433
476
380
359
456
355
368
437
498
473
362
312
333
393
451
397
446
425
379
433
339
453
495
354
468
367
441
320
496
433
331
325
418
323
422
392
346
300
409
383
343
490
437
337
470
449
499
341
369
341
462
322
430
332
475
433
331
471
411
408
444
339
460
461
383
326
313
428
486
335
322
322
409
451
495
364
484
309
471
340
483
466
456
403
448
444
493
372
489
369
438
364
421
300
374
449
361
421
396
467
348
492
447
370
400
483
421
478
310
402
403
389
451
365
456
420
500
440
382
429
487
341
387
484
380
449
435
352
456
364
440
303
481
429
350
304
304
464
485
500
421
374
420
417
430
498
380
436
429
454
431
412
384
433
423
344
449
370
412
307
324
391
362
376
380
493
433
359
429
359
395
429
323
376
411
403
371
433
355
432
492
348
400
469
334
379
343
497
373
402
337
327
372
408
306
319
356
466
328
414
367
494
355
386
384
393
439
436
338
321
423
325
429
318
440
418
424
441
329
422
487
454
406
318
479
396
405
353
338
480
482
434
333
398
380
355
467
449
306
440
368
499
343
483
489
373
354
365
435
413
357
461
460
356
438
377
430
312
305
383
497
472
424
302
336
447
500
334
330
456
499
344
305
326
365
408
488
474
474
356
306
399
434
500
473
314
483
486
333
388
469
475
477
356
370
410
366
370
482
477
456
392
334
365
481
365
300
372
484
343
463
362
429
463
335
417
327
407
347
441
388
331
495
346
440
485
426
387
316
399
345
499
425
364
352
491
458
454
361
313
334
336
392
304
328
382
369
359
478
386
420
444
388
429
359
335
417
328
353
340
371
493
335
376
482
304
492
321
426
450
347
433
411
483
448
466
440
393
300
463
349
415
345
356
441
444
482
482
474
491
400
375
338
345
488
451
393
462
465
463
361
433
308
464
302
435
498
439
469
434
490
456
376
415
366
474
500
424
358
333
379
396
445
339
379
430
365
380
447
354
326
474
482
474
446
334
432
349
354
401
489
323
496
311
384
500
366
473
324
344
418
373
396
467
397
487
397
317
476
402
441
487
384
373
376
364
389
449
402
311
338
345
384
343
401
476
329
360
360
364
410
317
403
316
469
307
414
368
472
424
359
438
416
376
452
451
324
411
419
416
401
397
338
320
424
354
342
451
342
447
359
430
425
339
410
472
433
344
428
449
344
307
317
353
480
480
393
322
389
383
411
351
354
383
474
388
475
368
310
354
478
353
467
305
491
499
321
438
479
469
387
336
540
711
511
630
596
670
703
681
644
473
613
676
630
589
505
543
499
746
712
699
778
688
554
502
437
447
483
669
495
634
467
780
659
477
483
714
487
631
631
459
742
815
771
554
507
523
791
805
782
556
516
676
588
504
609
537
627
583
763
684
781
506
673
604
681
775
694
634
724
562
740
705
566
750
562
742
656
589
527
463
686
442
569
514
457
611
744
732
651
514
730
756
609
490
806
780
636
528
425
629
480
428
619
545
562
580
441
761
541
686
700
812
726
712
807
661
770
543
642
657
761
786
764
720
779
468
444
645
479
715
616
820
512
462
643
450
656
550
683
623
595
773
725
737
448
766
735
564
771
727
733
653
445
488
604
728
675
697
776
571
585
458
546
498
741
590
738
632
651
609
576
603
476
510
526
757
775
524
514
594
448
639
753
715
534
449
696
620
769
531
756
707
576
755
812
498
615
459
705
548
674
759
443
739
756
817
729
665
509
613
721
552
634
488
761
601
572
797
685
701
673
757
583
449
818
561
603
626
768
515
778
443
489
477
799
725
709
728
529
431
765
640
679
450
491
642
711
649
578
527
577
805
540
761
480
767
471
698
633
746
571
449
671
802
737
566
664
503
615
621
708
487
421
626
716
550
608
613
726
613
503
554
713
802
780
574
597
684
544
472
563
574
803
464
625
483
459
543
530
738
689
478
459
618
744
453
623
522
796
815
433
509
484
564
590
485
632
708
474
459
660
592
662
508
538
582
524
487
747
698
674
688
537
767
778
459
554
440
509
484
639
522
687
657
679
807
795
431
675
631
581
588
787
655
578
423
795
720
729
690
617
620
563
577
533
550
464
449
527
724
518
527
657
645
700
776
660
760
431
774
435
474
505
689
536
487
558
468
547
483
729
783
516
460
754
521
441
645
806
677
810
641
499
793
465
448
486
790
799
573
794
597
701
712
555
556
529
794
766
729
431
646
599
738
492
690
518
685
756
594
535
664
631
639
762
574
711
719
748
615
690
659
708
700
458
703
602
622
439
560
722
813
467
662
564
535
776
781
661
502
671
716
818
750
804
463
491
475
698
563
744
672
555
687
635
497
606
604
768
610
673
640
512
748
811
488
566
526
687
678
506
734
479
668
516
771
610
675
816
513
518
780
795
437
482
792
481
482
593
533
554
482
627
787
520
601
558
770
603
637
590
721
531
501
676
434
426
487
493
819
798
719
730
517
789
442
642
480
447
819
762
775
800
555
715
796
633
748
748
708
771
606
511
457
428
589
531
616
485
436
738
437
707
744
818
493
599
572
802
437
544
808
649
481
731
454
762
581
557
756
466
518
479
691
454
642
688
628
626
460
673
606
814
564
650
774
706
812
432
756
446
767
560
595
770
430
643
621
676
698
808
677
719
517
537
800
434
667
743
543
583
505
743
439
468
596
765
592
688
655
724
461
787
776
437
804
641
491
654
546
682
552
732
466
707
754
808
777
571
489
489
767
735
599
559
482
426
598
706
729
693
642
507
766
673
435
819
628
739
647
620
690
714
659
663
645
784
621
807
680
613
543
583
696
441
711
642
630
649
777
808
630
552
554
425
510
581
627
499
758
723
611
486
499
563
560
672
812
766
469
712
646
687
678
595
482
486
426
549
818
565
585
457
796
627
708
798
547
624
725
423
661
716
452
449
484
527
598
539
554
478
647
433
643
813
581
544
730
449
444
604
680
651
464
550
457
447
621
536
435
763
428
654
728
616
697
575
611
794
733
540
461
714
550
633
675
604
726
632
502
707
491
614
632
598
633
717
491
737
457
522
657
729
819
758
521
590
590
525
671
798
458
586
668
572
806
744
446
484
458
675
443
683
624
490
714
674
658
779
490
715
710
572
693
582
791
806
546
769
420
663
427
559
629
718
476
707
659
645
638
478
700
462
532
481
772
577
791
706
616
540
817
495
474
472
725
497
642
621
552
709
490
675
730
577
782
425
502
506
760
692
587
555
651
623
596
676
566
758
810
605
458
717
814
658
623
538
660
508
814
698
674
525
448
500
785
425
524
780
649
687
672
808
603
471
600
442
643
627
733
511
511
816
565
782
475
768
803
452
630
705
697
786
810
600
820
621
737
458
740
664
536
606
434
523
787
728
673
557
801
642
724
569
808
811
789
712
483
666
674
607
487
778
779
581
583
504
640
504
626
502
562
539
424
488
671
621
420
740
692
459
451
807
421
777
427
455
588
601
436
709
436
674
744
779
663
668
818
699
690
754
492
455
616
714
687
552
570
588
697
595
602
572
502
522
453
704
558
473
445
638
760
673
506
465
787
535
478
764
426
679
742
671
591
649
673
785
796
791
767
493
523
489
692
792
745
511
793
796
681
435
443
742
719
694
503
743
730
606
443
611
568
617
472
434
550
574
552
443
433
526
794
768
727
520
462
785
449
718
699
633
582
472
749
778
605
550
523
718
574
732
618
548
717
513
642
558
725
799
467
565
510
697
779
450
489
706
665
797
535
818
572
492
475
793
784
498
817
430
750
485
675
555
494
645
550
443
740
674
457
631
497
737
554
679
622
502
773
556
532
758
637
716
724
722
742
645
485
577
450
590
429
584
537
664
437
716
774
706
716
773
448
674
561
633
782
597
801
674
698
578
733
591
482
543
527
687
480
564
717
426
436
750
638
597
559
789
493
647
806
748
702
601
529
594
611
757
463
800
717
715
659
466
746
712
632
719
775
670
661
799
432
524
654
713
712
736
748
782
691
514
642
535
645
494
575
675
815
421
611
744
760
775
469
608
650
739
585
606
526
621
477
766
556
531
709
533
430
609
719
508
703
498
640
734
723
628
618
565
796
534
440
536
488
508
669
738
725
741
550
685
432
789
671
643
718
737
558
602
515
504
488
480
492
703
498
756
471
756
499
814
539
706
712
428
778
751
655
430
473
421
531
563
778
814
463
547
634
558
790
592
518
502
535
520
690
734
726
555
777
762
562
591
494
538
623
716
637
559
806
766
659
521
788
740
458
487
466
421
743
797
641
682
628
477
782
636
784
491
593
740
673
722
631
672
472
632
561
500
641
675
774
748
808
524
459
698
723
820
471
450
692
487
510
801
461
471
800
498
750
649
499
716
474
620
784
483
466
783
522
784
600
639
500
425
625
579
466
600
687
593
721
785
707
488
496
739
686
677
604
585
431
454
563
665
796
729
734
464
529
438
815
561
467
549
744
545
735
484
459
615
585
755
487
793
710
486
489
570
504
525
716
513
532
491
570
553
813
595
724
629
637
534
659
684
598
805
549
501
756
709
782
581
659
438
457
573
641
640
609
736
613
587
593
634
811
544
698
749
604
689
810
438
483
645
777
703
673
443
663
718
766
628
439
574
573
497
796
544
607
468
767
694
754
776
616
675
699
424
761
463
433
694
482
557
432
634
493
687
811
607
513
745
472
568
526
681
621
778
534
743
638
575
495
617
568
698
662
549
496
769
770
795
770
461
438
675
611
608
722
573
544
623
590
540
643
562
591
476
771
682
574
605
433
433
420
530
745
435
715
758
772
551
675
462
557
770
463
746
655
529
659
629
710
783
602
755
564
475
579
548
504
530
667
744
632
783
788
522
481
624
635
453
631
528
510
761
440
709
810
652
754
461
476
696
693
616
672
731
748
553
621
593
509
756
764
482
782
810
585
808
525
676
435
731
701
775
631
695
714
655
634
557
595
728
552
559
697
543
793
534
540
501
722
801
761
588
464
801
690
570
521
715
707
445
604
782
800
773
789
501
703
597
547
671
654
667
704
611
601
810
689
737
535
515
594
678
638
682
683
715
593
512
449
431
500
439
487
763
797
509
462
518
604
448
590
716
726
426
436
616
760
524
595
620
514
443
582
543
521
724
430
520
801
716
544
438
812
633
424
692
737
698
797
574
579
811
421
703
705
702
634
761
649
451
560
435
547
571
771
792
801
798
584
469
499
766
475
687
713
589
644
721
811
520
438
664
720
589
798
494
525
713
574
525
597
713
587
769
686
721
538
484
598
575
765
751
750
601
642
588
433
817
486
695
773
755
774
724
795
550
570
493
747
775
595
492
808
456
459
535
718
569
720
575
789
586
730
571
429
781
666
569
562
722
608
663
437
626
808
490
477
422
715
652
603
498
772
701
628
468
739
792
585
580
759
723
789
760
523
617
732
690
602
800
521
754
644
566
464
461
449
603
481
709
646
752
431
562
785
482
722
706
534
686
801
622
772
453
734
809
617
723
571
572
461
574
718
678
458
465
547
711
515
704
718
653
808
453
620
435
768
703
785
508
626
574
427
797
813
655
679
602
481
486
585
809
486
581
612
426
502
618
657
662
724
709
496
811
695
510
653
550
770
426
642
577
747
590
444
502
609
641
666
774
725
471
698
476
441
553
498
615
808
624
807
443
662
777
796
507
731
699
520
721
551
645
595
611
461
634
814
477
543
591
817
645
745
687
456
576
728
563
449
802
688
649
465
813
605
608
758
760
445
770
808
640
668
423
430
590
799
429
580
742
736
761
584
661
671
448
534
749
673
758
527
459
645
442
671
645
763
705
479
757
640
580
612
808
592
804
687
789
454
632
466
577
575
732
478
692
754
573
459
567
457
631
485
496
791
430
733
532
478
702
747
627
680
709
677
449
814
763
768
628
422
786
606
551
792
723
679
555
464
523
525
518
617
550
746
468
464
712
694
768
442
732
446
494
765
470
642
692
801
750
629
540
474
641
528
799
693
667
645
550
778
715
772
768
676
498
676
741
800
458
777
503
576
571
531
486
798
590
649
672
485
778
650
580
563
509
813
617
536
435
769
503
537
763
466
637
729
627
582
633
703
641
488
564
442
584
525
795
813
441
617
599
545
791
678
653
781
762
682
759
439
549
770
639
619
558
658
697
746
482
420
640
805
493
520
628
712
537
783
702
714
566
606
517
755
612
428
514
705
547
455
635
615
735
797
795
432
555
582
731
601
808
657
709
596
625
633
795
620
666
423
747
726
449
480
430
806
438
580
585
610
598
630
727
751
640
678
569
619
639
805
610
559
565
431
519
455
513
490
653
692
654
541
543
547
550
488
728
470
606
531
606
541
630
672
489
798
646
576
443
706
530
507
536
656
709
453
693
783
544
689
692
579
764
650
801
796
431
552
423
494
516
424
467
777
593
563
590
608
510
810
711
635
732
502
512
724
601
724
769
716
542
517
778
428
538
558
556
537
819
655
747
534
572
734
641
668
755
615
606
691
510
636
465
729
647
708
458
521
750
592
728
793
474
757
720
594
756
528
606
584
479
820
431
772
446
596
797
428
801
799
794
616
565
683
543
521
445
769
502
712
424
654
515
683
494
621
521
667
809
539
624
751
779
685
548
641
646
537
466
712
541
525
784
719
721
703
524
640
605
750
422
819
595
520
538
544
751
427
572
587
531
812
775
503
732
638
813
700
594
679
748
680
713
777
447
621
532
752
601
503
806
600
611
551
722
489
665
711
463
563
618
639
434
464
424
547
495
771
558
696
623
640
573
762
703
538
492
751
462
788
810
697
603
599
627
719
429
766
815
652
624
644
563
484
683
734
588
542
476
655
610
736
775
775
423
442
625
500
504
616
683
711
439
441
729
619
651
454
682
771
671
517
431
429
521
629
699
469
671
555
819
434
662
806
501
785
635
644
526
435
566
695
655
783
807
440
609
615
670
618
437
463
627
597
776
525
592
454
481
674
584
596
680
781
601
697
581
752
463
767
796
461
801
562
444
422
604
623
801
805
433
814
496
815
791
471
687
450
536
733
744
730
465
811
501
736
796
684
524
635
505
541
525
790
712
637
526
685
434
471
771
610
721
736
752
719
606
577
798
593
748
661
691
687
607
440
485
718
729
503
812
560
675
651
721
695
625
795
695
641
611
609
569
737
551
504
734
782
652
702
611
512
538
465
794
702
445
607
556
497
705
602
542
584
526
605
626
484
638
471
424
796
649
685
446
668
662
422
584
808
604
568
741
739
515
424
440
783
594
735
421
601
775
788
437
705
462
608
820
542
725
521
685
503
427
477
816
724
614
568
450
598
515
653
817
506
639
735
661
704
484
613
734
751
514
779
766
647
576
763
700
424
533
672
634
544
673
424
713
508
589
779
634
753
589
484
647
597
632
732
601
563
572
506
442
711
496
741
705
575
560
815
782
744
480
798
712
779
721
602
752
506
441
686
739
515
764
690
685
799
720
559
662
808
488
709
634
431
505
489
559
710
689
494
691
448
428
820
638
598
431
451
464
688
704
813
452
642
732
606
776
696
458
493
635
580
805
756
570
672
574
778
814
643
757
442
543
488
722
490
442
688
763
584
425
549
541
474
487
737
639
579
742
531
713
551
609
439
594
809
783
773
650
462
710
420
482
468
691
697
581
534
681
616
680
603
430
493
442
629
648
486
576
591
495
740
434
568
615
714
575
724
704
792
800
439
428
598
561
446
582
439
455
508
447
736
693
647
547
756
630
630
527
511
437
709
642
799
741
704
533
450
671
718
807
473
512
659
745
799
452
487
801
585
534
709
687
604
690
581
458
538
752
656
748
471
664
503
639
629
775
590
452
678
641
817
622
728
756
636
655
615
642
473
543
636
531
622
571
714
424
773
518
765
527
435
580
611
707
666
623
490
466
626
491
522
610
464
575
584
661
428
596
621
506
673
491
546
533
683
563
474
720
720
745
717
768
561
799
544
526
680
742
471
713
529
480
594
796
568
722
627
784
700
792
708
613
798
576
442
607
550
721
546
727
803
495
725
549
726
727
476
711
507
527
437
670
434
430
562
573
608
790
526
476
495
711
816
480
623
631
805
458
765
488
770
489
793
633
488
543
717
703
565
507
701
501
638
771
775
592
649
819
680
616
430
715
717
548
524
815
449
631
583
507
435
642
530
617
466
593
579
750
661
558
463
732
556
653
615
653
532
529
634
569
628
430
742
670
656
634
456
616
653
683
447
461
766
759
486
536
760
478
592
469
803
638
501
799
736
786
705
500
810
547
629
744
484
734
699
425
595
500
534
659
662
647
528
693
778
650
820
687
442
645
614
783
487
585
567
527
583
431
489
489
524
749
448
764
742
644
732
715
766
698
599
602
790
819
619
712
509
782
474
783
540
570
774
718
421
552
561
691
636
526
578
626
691
662
646
810
659
786
524
510
711
721
757
436
462
454
466
516
569
584
630
796
520
552
758
585
581
504
688
623
489
460
567
736
610
465
655
739
531
495
745
798
601
524
518
693
541
450
698
493
785
510
734
566
524
693
532
714
774
426
530
428
464
760
546
724
722
530
664
729
673
766
771
747
738
741
434
475
584
705
533
633
633
454
611
693
529
460
708
801
742
768
500
572
530
436
611
812
446
732
423
555
484
616
813
687
716
802
639
766
639
687
455
694
629
761
779
711
784
481
758
629
814
803
470
809
771
526
642
661
810
529
652
817
465
782
801
605
599
423
746
420
782
610
584
805
459
465
762
495
812
618
527
641
486
759
608
740
631
658
814
765
704
619
791
608
713
653
420
795
508
488
476
472
708
479
470
808
778
592
810
710
465
528
423
665
621
483
766
690
771
526
709
512
590
674
677
447
531
506
503
605
739
813
711
814
447
783
675
469
728
695
457
446
515
808
604
479
801
781
800
436
521
741
608
762
562
693
479
453
622
498
472
732
693
691
526
465
704
812
706
685
497
662
450
484
595
467
456
773
810
529
508
430
793
711
697
597
546
463
420
581
773
451
637
585
473
661
619
640
461
736
672
460
708
455
562
507
627
806
485
453
810
465
782
774
665
563
736
797
600
794
569
720
449
768
465
539
510
681
620
605
573
606
501
532
497
766
781
562
757
750
490
757
789
638
806
789
434
647
816
505
629
446
784
452
790
670
653
793
529
571
459
606
512
761
642
464
655
784
497
503
799
664
524
714
535
496
742
816
819
519
726
631
451
554
663
494
513
781
479
604
623
771
494
650
749
605
666
494
733
561
659
665
456
533
750
559
664
683
707
496
589
615
503
753
736
486
764
448
646
517
447
422
690
447
818
519
713
578
663
755
541
689
805
635
503
612
556
446
747
663
505
526
431
519
440
476
546
609
631
713
624
731
511
469
448
500
560
780
748
641
539
536
501
688
766
551
518
527
569
602
678
599
676
557
535
506
782
626
769
650
459
522
807
433
668
541
684
679
676
544
535
462
720
802
752
689
634
768
715
481
724
718
568
517
549
500
747
813
589
659
664
804
617
615
662
701
775
447
747
509
747
595
628
627
463
799
804
705
492
437
534
648
436
450
479
673
642
489
668
608
438
763
441
697
513
543
669
700
558
613
748
442
433
425
815
603
718
620
547
492
471
643
432
640
499
757
662
466
559
606
643
598
761
786
708
445
499
609
657
778
544
589
500
776
521
529
655
789
760
664
713
529
548
669
644
805
500
519
506
679
623
684
733
444
698
433
661
656
516
694
774
622
574
492
797
574
526
539
772
579
725
744
420
581
478
747
594
642
620
778
747
511
791
530
750
508
799
705
546
743
434
814
700
815
579
534
570
475
667
685
783
819
541
731
558
603
779
592
781
797
446
610
580
479
719
736
543
749
691
655
521
439
573
452
519
615
612
680
711
697
792
517
796
481
785
719
679
502
767
422
762
503
816
792
791
709
749
623
691
766
593
714
628
570
551
820
782
451
461
719
709
818
552
736
771
423
820
772
747
473
573
454
730
570
675
541
731
489
695
544
779
682
686
537
519
479
496
687
429
491
681
474
467
468
635
463
544
766
593
515
802
428
703
804
657
571
421
429
443
621
792
534
600
586
675
566
789
453
636
719
506
610
674
457
649
705
546
748
557
562
713
746
780
624
658
705
590
676
637
527
459
618
695
596
585
734
420
488
582
556
549
470
787
698
522
799
632
694
665
646
509
490
748
563
769
592
766
431
649
742
778
459
654
738
426
800
743
687
572
608
585
710
688
740
472
583
796
775
555
715
435
513
468
483
686
476
571
489
618
525
520
476
499
732
747
612
721
607
615
469
455
585
505
709
655
463
759
436
743
547
687
551
734
520
637
565
479
674
584
470
483
749
426
717
692
594
526
745
654
519
473
636
582
514
707
474
764
659
737
676
534
794
708
775
616
646
442
771
445
542
607
697
640
565
715
728
664
612
607
685
679
551
433
426
522
556
436
555
765
590
693
699
748
556
561
801
610
436
607
517
778
500
460
670
637
432
527
473
791
481
598
747
434
815
673
795
516
735
752
587
425
760
611
806
422
473
561
640
571
776
476
572
599
445
734
777
535
515
510
679
723
782
420
457
537
631
654
686
536
787
523
726
516
707
488
556
538
520
500
551
731
604
728
778
609
797
570
421
453
720
633
498
452
696
520
536
538
557
503
630
796
559
684
671
819
578
449
503
610
695
588
674
442
471
638
561
497
651
740
482
594
730
672
818
597
478
511
739
673
721
738
711
600
652
767
535
459
771
492
754
775
576
438
745
702
497
594
515
535
660
490
648
629
742
819
686
646
575
490
541
795
796
778
713
520
629
484
510
615
818
747
807
557
812
735
637
650
802
468
799
670
655
509
492
701
579
773
784
598
469
530
699
813
579
817
661
718
447
725
522
820
545
692
638
519
566
573
796
473
597
692
713
477
779
504
455
501
541
667
654
742
803
770
567
465
645
693
686
662
625
610
640
617
592
803
644
432
537
763
809
432
808
759
658
510
502
687
695
698
423
549
649
623
789
486
687
584
690
525
710
676
537
435
609
674
547
647
643
592
695
648
707
536
688
602
629
512
794
474
694
619
712
501
699
678
458
813
733
464
678
564
804
693
748
719
537
442
446
467
420
493
643
754
618
647
784
648
817
728
698
672
623
648
744
432
518
635
785
771
550
509
634
448
518
764
434
576
629
475
430
740
468
534
812
473
425
635
638
515
535
515
680
582
617
770
494
629
603
546
672
581
586
655
793
686
538
488
433
689
799
424
746
785
630
504
677
489
436
469
448
433
612
610
564
690
477
773
752
518
551
679
518
620
649
534
756
531
717
496
766
677
500
557
712
553
718
737
755
569
446
566
455
687
633
608
814
730
727
636
558
589
610
599
642
598
568
446
610
593
689
793
800
673
619
494
569
478
814
768
558
811
696
690
457
721
677
536
656
556
750
501
814
495
515
535
461
816
818
427
767
783
580
815
551
499
737
475
479
799
760
518
563
746
747
437
656
681
564
781
755
535
506
794
604
597
684
604
614
777
535
776
666
629
689
667
803
535
460
754
769
511
805
511
676
689
577
797
739
457
491
672
586
681
641
541
492
494
658
705
806
747
557
690
813
791
432
722
460
593
640
728
706
517
572
641
480
653
540
686
516
663
462
780
788
645
487
472
788
557
448
807
497
525
578
712
531
536
552
808
457
470
532
449
632
477
794
570
516
747
453
608
752
424
487
482
582
747
760
665
595
594
515
522
702
469
668
786
606
705
510
803
548
530
643
703
735
509
623
817
631
813
572
684
639
627
664
514
572
776
800
573
463
649
466
796
502
720
769
658
432
497
605
432
803
454
783
743
446
780
597
558
786
494
451
544
565
818
571
721
792
651
577
782
539
708
749
459
758
631
702
440
580
730
801
570
797
499
490
668
668
810
524
569
644
573
748
475
648
465
811
791
782
541
488
612
684
435
702
485
572
596
616
649
727
765
460
654
442
816
495
653
727
528
536
545
670
487
731
701
776
465
755
737
780
767
630
635
565
690
440
549
436
616
572
723
791
708
537
444
439
761
651
679
780
791
645
652
517
649
554
429
458
524
525
614
422
754
634
698
739
483
477
565
676
791
715
443
451
602
811
550
805
536
546
604
434
615
654
471
741
748
610
472
655
717
561
488
818
653
619
639
717
564
810
567
646
486
462
816
629
650
463
460
701
448
623
775
718
658
716
693
432
471
668
553
683
748
788
452
492
697
740
569
423
799
697
769
659
762
443
497
600
811
602
547
701
603
661
462
657
462
735
676
816
458
644
523
743
720
517
703
781
458
608
432
751
655
485
506
721
533
491
535
509
698
706
442
571
801
516
555
543
700
725
813
480
533
747
597
647
817
811
426
477
502
519
755
776
502
549
561
550
540
504
429
583
584
548
441
654
442
485
770
701
499
527
452
733
808
750
579
754
778
523
722
433
556
665
452
441
629
657
665
625
759
490
426
467
693
802
592
734
447
425
596
527
757
597
736
458
814
720
483
702
653
521
464
726
733
713
429
689
681
440
519
765
674
564
600
610
518
728
623
537
775
682
732
595
707
653
644
636
452
453
645
449
480
779
759
497
462
485
584
706
737
626
655
724
592
711
487
818
557
792
549
810
438
797
769
497
658
637
814
734
623
459
789
477
761
698
729
560
741
484
662
796
704
422
486
606
438
687
563
788
577
735
617
716
470
782
813
540
645
625
603
564
518
518
816
651
812
571
522
805
667
757
667
477
692
716
559
468
463
526
569
585
500
644
472
467
537
797
733
458
660
754
467
537
616
507
611
637
567
775
773
557
636
548
763
751
653
708
613
562
633
628
473
794
539
529
655
538
692
513
446
594
559
654
483
788
664
519
735
707
585
640
475
436
663
765
755
755
673
679
427
665
516
791
502
724
760
607
587
610
662
667
672
790
802
560
421
482
660
484
722
668
741
558
526
429
600
768
495
738
564
449
691
786
792
486
431
516
638
642
562
739
609
771
807
472
476
590
478
549
796
531
439
772
681
743
436
483
683
722
660
804
514
661
513
542
605
674
807
536
736
503
727
764
437
471
528
557
490
500
694
438
798
531
437
765
430
711
820
519
768
647
737
586
554
666
666
577
616
814
674
553
610
753
621
779
574
774
631
481
758
548
759
597
524
423
707
515
463
442
718
633
516
661
633
441
800
537
492
649
550
799
468
687
460
570
769
532
686
505
656
749
677
772
594
431
710
577
788
588
726
626
715
682
600
618
430
674
512
495
464
809
439
817
464
573
746
423
515
431
438
547
689
542
727
486
621
599
686
445
613
589
541
654
705
677
642
424
708
514
472
746
628
491
587
749
799
551
516
705
735
606
530
462
593
673
806
617
478
645
619
774
784
618
565
787
704
451
778
770
794
743
537
470
776
767
752
555
668
525
779
783
603
453
600
459
793
488
743
595
558
567
672
681
768
595
446
773
554
755
551
645
455
650
522
661
682
503
810
516
647
484
429
629
493
636
573
804
608
709
755
499
604
449
804
524
574
710
693
768
523
635
592
772
543
670
758
460
428
710
427
760
470
438
705
732
630
436
590
489
711
737
806
637
550
797
542
562
455
489
791
682
529
766
746
608
704
700
746
469
693
755
468
497
716
675
644
753
627
546
524
493
818
539
634
466
422
527
525
546
747
671
750
555
816
511
590
436
773
606
692
671
790
434
671
507
776
518
555
727
480
776
763
798
583
536
499
792
768
655
634
780
635
643
705
696
561
527
519
703
769
735
473
645
676
467
817
526
497
820
570
503
637
689
549
420
461
642
456
708
547
685
722
679
629
431
804
569
449
717
631
467
784
467
656
518
719
433
640
654
513
675
616
814
572
647
678
499
469
476
640
473
432
800
493
592
550
651
529
604
550
694
494
454
779
642
760
498
580
487
791
505
716
483
464
768
552
694
620
531
568
657
541
484
688
547
481
574
701
422
500
496
815
614
591
671
540
518
630
773
628
554
537
585
768
753
461
427
447
535
771
591
566
788
760
678
427
559
573
633
531
535
613
797
637
566
672
443
662
723
474
508
657
529
560
727
648
717
702
718
676
667
756
656
731
637
687
517
611
726
513
660
619
492
727
487
584
497
618
724
630
629
700
629
432
698
672
462
424
432
566
818
714
563
795
806
666
523
666
710
645
497
820
708
771
441
750
782
723
707
802
718
673
731
661
527
715
571
507
526
548
658
433
741
455
563
574
529
814
561
812
560
640
441
811
809
562
772
623
591
642
580
800
623
627
769
601
491
502
484
789
762
787
462
708
747
708
451
486
773
460
642
631
553
765
508
789
657
725
703
815
763
470
765
784
554
653
480
607
568
648
633
791
729
512
473
806
516
607
786
601
818
698
550
583
603
816
753
497
807
434
797
469
738
538
606
637
813
449
500
686
773
501
767
745
717
435
546
653
649
457
449
720
684
546
736
429
446
458
541
648
640
632
424
725
721
762
546
725
703
649
729
545
657
582
586
521
648
594
488
800
443
733
450
610
504
612
722
697
496
653
698
712
574
717
643
722
443
448
775
473
621
784
731
427
470
653
656
768
745
635
553
424
677
719
623
626
614
602
783
597
732
505
456
517
677
533
763
550
488
667
472
634
622
776
561
766
734
659
711
552
588
634
583
429
459
586
582
764
622
506
739
484
779
682
766
545
613
567
537
800
736
745
796
774
804
492
706
537
681
631
806
478
590
425
604
466
468
671
563
762
432
815
621
615
754
765
665
794
475
718
441
716
733
636
638
492
670
499
620
514
783
651
548
449
530
717
756
642
795
769
694
628
425
761
698
520
715
476
730
666
645
577
597
577
573
624
792
548
540
764
439
798
690
658
669
654
524
446
741
548
746
667
589
507
461
652
781
437
655
625
471
562
769
437
724
814
722
782
555
445
808
669
655
757
671
752
453
647
512
734
469
784
556
555
687
437
521
739
511
685
525
431
547
446
442
746
456
722
749
750
773
471
438
762
565
589
583
569
712
748
778
668
810
636
738
593
526
524
748
637
768
446
585
765
624
819
804
768
538
770
568
682
669
706
815
750
438
664
480
805
576
742
458
746
759
516
716
536
651
679
619
756
784
572
534
649
690
803
700
564
552
673
619
558
758
629
600
772
488
492
493
739
524
703
585
664
800
762
485
603
780
750
426
485
423
484
729
461
804
712
492
722
638
699
787
477
774
528
717
428
467
427
620
422
724
727
501
674
681
472
498
681
455
790
795
501
607
439
576
728
626
645
761
750
678
705
792
587
663
496
480
594
803
730
424
764
543
820
506
422
718
458
537
519
662
805
581
601
671
660
538
467
770
458
465
787
820
481
527
762
561
531
763
540
748
491
468
449
812
538
581
714
687
512
567
485
546
537
492
701
530
512
477
492
439
615
449
445
776
584
558
602
812
629
642
714
697
518
715
591
434
455
645
525
428
462
710
723
540
732
712
749
628
774
631
765
674
477
751
578
606
624
529
758
753
487
748
583
643
786
797
631
782
575
454
687
465
540
519
802
429
602
643
752
555
713
496
744
421
606
687
678
495
557
425
561
782
656
456
635
427
686
466
458
616
572
597
609
671
645
675
525
502
801
634
801
706
582
806
660
475
646
627
692
521
692
791
512
607
465
550
537
546
628
565
728
750
729
695
651
510
640
603
696
656
434
576
518
574
525
511
803
782
496
655
481
620
750
687
793
554
448
745
506
776
602
495
691
737
632
594
478
563
566
808
819
746
705
634
806
651
817
717
563
524
549
482
518
427
762
596
474
632
457
639
764
662
709
576
455
534
658
575
484
720
673
537
496
478
534
553
637
791
676
484
813
781
493
426
817
495
797
594
511
575
783
662
675
634
664
691
788
446
577
775
618
562
476
648
684
626
586
737
706
726
807
425
497
820
460
450
658
455
750
492
618
771
668
554
487
620
753
647
732
550
729
682
708
780
679
593
812
765
549
521
694
499
467
609
679
794
577
768
818
715
674
476
482
637
600
502
635
589
487
579
729
513
519
789
489
669
658
463
752
443
788
768
784
466
605
616
510
442
697
474
647
739
433
594
653
765
755
744
629
491
610
441
503
597
673
750
509
774
424
651
433
515
510
625
567
449
532
557
463
730
454
805
566
601
639
595
685
610
671
452
533
778
607
780
553
740
469
574
766
580
805
776
771
729
683
581
561
463
563
578
773
616
551
590
586
800
754
465
622
682
610
440
602
644
597
486
812
659
729
618
773
498
774
496
575
441
440
558
546
776
586
445
506
696
516
495
631
469
627
814
558
503
469
549
604
456
725
674
444
663
451
782
781
635
764
560
664
740
816
619
721
517
633
453
477
448
425
755
454
653
692
532
554
471
530
500
645
591
602
508
620
544
464
553
598
570
550
719
685
634
485
681
808
612
778
788
526
526
507
571
674
445
459
781
498
638
442
497
658
746
769
463
728
509
801
583
632
600
772
506
658
743
794
444
783
784
581
532
498
661
600
645
699
602
738
459
526
464
671
503
712
539
626
538
681
783
548
629
668
659
592
806
699
706
501
804
676
807
812
430
639
643
488
559
577
520
647
561
817
449
646
670
554
582
802
602
525
777
615
739
795
458
683
755
577
752
722
556
576
674
651
724
751
519
513
623
435
653
768
801
590
658
577
802
496
546
781
472
541
534
722
518
514
760
592
819
766
562
528
487
552
608
513
667
545
738
553
625
518
515
503
766
490
717
811
818
722
681
641
596
746
635
436
694
607
700
666
508
569
498
788
576
514
602
600
567
499
595
782
651
609
771
732
804
712
617
695
477
596
556
534
573
648
683
575
711
817
724
767
749
536
786
693
793
653
540
567
751
455
496
496
487
554
520
458
763
615
528
565
716
437
630
513
498
795
723
616
569
772
474
556
662
787
804
459
720
685
608
814
639
721
439
649
434
791
485
725
557
787
596
538
428
593
819
443
503
573
792
512
686
575
667
539
790
648
443
715
447
589
422
633
506
593
780
490
556
710
769
587
646
765
803
645
644
690
623
474
663
751
472
519
467
483
702
750
660
491
517
524
434
593
565
634
547
467
751
748
684
538
665
423
707
630
697
469
545
774
592
795
464
776
787
510
732
515
672
733
601
730
615
443
676
743
586
753
585
460
470
705
718
477
604
437
661
762
433
807
633
800
458
533
610
601
421
434
691
818
531
525
495
734
450
450
475
751
455
434
799
734
662
678
513
682
772
527
762
635
655
800
561
523
469
628
755
436
770
813
497
758
629
454
511
427
728
588
581
519
601
686
732
579
546
580
724
739
694
738
505
434
630
655
487
507
451
788
727
760
571
474
523
711
761
552
641
717
697
552
650
469
701
664
443
627
582
655
424
563
508
637
502
650
658
783
549
724
528
795
567
662
685
598
540
601
502
794
431
519
684
432
789
649
589
645
819
758
655
466
710
698
600
621
698
748
758
664
652
792
494
799
815
453
458
609
429
445
794
650
573
672
657
572
746
810
754
808
668
557
558
458
458
644
731
725
744
655
572
535
782
668
479
567
618
633
733
732
680
462
627
421
463
724
598
803
818
731
729
718
663
682
474
657
471
627
507
780
694
784
471
627
579
553
691
432
578
437
484
455
567
772
687
679
613
569
702
588
626
804
679
738
681
717
475
513
793
488
635
773
429
750
627
632
677
476
533
421
687
746
616
771
438
447
498
503
520
429
684
600
630
576
733
572
676
789
603
797
474
814
768
622
460
450
703
475
451
694
692
460
519
527
691
716
820
520
526
714
577
430
548
487
591
627
491
758
667
800
698
599
786
562
585
548
546
499
694
659
748
650
552
662
487
489
810
574
750
742
547
499
440
746
469
803
817
563
426
785
426
726
661
566
459
726
594
688
752
757
763
598
654
633
671
504
477
442
654
655
599
544
680
431
620
545
464
789
434
756
589
485
488
458
648
701
534
734
478
540
542
764
816
537
663
542
491
449
458
737
661
533
495
782
472
659
505
592
590
439
646
563
622
487
545
751
491
491
648
706
606
446
557
570
429
575
502
733
429
565
761
808
607
794
572
509
570
755
445
753
570
672
591
797
642
448
552
502
626
751
779
785
593
512
803
768
574
660
738
695
626
542
690
656
657
718
455
683
631
747
658
510
529
643
697
610
739
685
466
541
494
683
809
531
597
576
706
698
750
530
567
798
751
661
632
565
548
696
513
459
579
563
495
564
539
456
740
436
585
445
568
606
595
589
474
784
513
457
546
528
503
471
593
594
701
784
788
780
512
727
510
535
795
739
713
487
434
607
600
564
528
752
465
426
598
423
491
441
573
819
784
478
431
610
654
732
596
442
550
501
551
732
727
568
517
726
749
715
586
562
525
656
760
752
607
668
597
597
458
600
546
516
716
639
793
618
597
811
545
502
559
595
540
563
555
509
718
512
466
618
727
453
708
551
511
604
652
727
643
641
591
478
457
681
539
605
810
465
587
809
624
707
816
601
760
433
788
756
744
571
685
546
570
439
476
447
676
535
647
798
684
695
609
802
699
456
657
420
642
820
465
524
688
447
776
611
561
723
521
529
805
489
576
799
519
815
473
427
453
526
477
639
608
492
473
654
462
542
425
505
804
636
641
742
619
595
672
689
555
673
474
464
577
484
428
518
637
783
601
804
622
723
596
471
443
735
507
769
655
591
590
816
654
803
468
730
736
590
598
435
565
466
660
799
550
759
731
685
586
769
467
483
616
775
734
574
469
579
566
465
740
516
469
669
588
491
781
665
599
507
421
672
492
582
816
763
753
761
664
556
701
446
811
695
702
722
618
426
618
793
690
484
488
519
819
485
721
665
522
799
632
769
469
575
616
618
482
729
458
465
508
459
532
565
805
604
506
628
639
735
513
720
564
559
755
636
433
629
648
540
743
805
509
660
761
614
764
659
573
576
789
616
664
472
820
602
698
751
789
756
628
603
545
817
820
663
578
454
797
501
504
588
684
650
426
546
464
528
739
656
665
680
726
516
799
582
614
497
674
707
656
771
619
749
747
452
661
488
509
714
490
691
735
751
428
691
444
674
628
566
605
502
795
556
695
811
737
728
619
618
525
702
782
793
674
635
482
538
735
673
482
675
648
647
542
675
666
641
759
785
477
603
620
803
662
655
554
516
539
580
669
469
497
634
476
430
612
621
676
641
746
472
668
796
818
618
579
592
799
783
726
807
736
659
812
597
807
452
586
456
820
441
483
817
622
685
757
677
592
648
517
696
644
607
736
439
476
524
710
645
454
703
752
493
661
429
529
438
630
423
711
544
698
459
436
712
671
729
498
732
464
532
450
692
492
729
786
682
578
731
534
497
539
712
460
759
602
689
476
605
458
569
660
674
572
494
567
733
532
559
774
637
740
605
626
495
480
570
757
507
585
563
760
450
718
496
587
577
574
683
461
544
443
782
600
544
664
737
717
498
579
724
642
611
769
686
438
433
684
707
421
541
813
424
457
505
686
632
478
453
642
452
539
738
421
644
529
770
540
463
618
477
541
462
460
531
793
501
798
675
661
732
692
432
735
751
662
650
638
680
436
626
627
638
490
602
574
812
629
557
541
530
652
435
446
623
471
516
620
467
498
653
485
548
450
450
525
451
660
506
795
542
788
563
715
775
471
794
639
592
574
634
522
549
572
720
775
729
654
447
459
606
784
686
806
774
515
562
819
638
686
675
598
652
723
788
698
745
550
799
438
479
604
563
535
560
549
764
699
779
726
633
651
744
628
489
602
813
481
591
791
512
731
644
791
450
722
657
630
612
680
778
636
609
743
720
457
597
504
538
553
463
426
577
809
799
679
758
803
585
577
619
466
448
738
422
793
447
567
435
651
487
475
732
756
709
730
518
761
704
486
501
525
532
679
561
813
573
651
685
644
758
548
804
504
644
620
712
422
585
702
478
527
765
734
581
721
766
755
605
776
553
474
628
602
566
814
711
488
539
576
740
602
780
500
627
577
562
794
687
767
500
610
820
792
439
424
428
523
466
757
429
462
725
673
566
814
712
817
438
660
683
635
803
813
585
588
444
498
541
750
571
699
747
448
608
720
484
556
729
495
548
563
804
721
486
465
729
429
475
478
755
674
442
552
503
501
460
517
713
677
680
615
475
632
468
751
773
434
647
425
744
704
788
558
447
748
469
665
793
626
432
688
814
785
598
738
688
661
616
693
427
804
672
570
726
561
752
431
570
519
693
630
729
795
472
608
479
539
768
499
561
765
479
472
523
433
663
556
444
521
488
708
628
734
444
528
664
657
542
619
721
783
519
673
760
602
566
789
560
813
538
759
667
449
600
433
658
692
502
664
427
550
687
569
774
784
564
617
801
513
530
528
527
609
687
439
530
767
583
808
471
545
589
627
692
598
767
542
753
423
561
520
523
738
681
574
447
786
519
723
710
574
617
539
486
638
541
620
819
589
710
460
773
433
570
457
692
608
580
552
645
496
453
689
773
752
572
719
630
781
732
614
421
773
626
447
675
433
789
560
601
813
784
717
628
637
704
668
539
433
634
450
480
664
819
818
631
577
440
511
579
697
797
481
468
535
631
817
805
678
761
599
527
426
562
599
680
723
593
616
449
570
666
571
776
565
741
594
539
631
563
713
425
487
698
745
768
445
635
802
597
482
817
524
563
591
769
652
555
733
432
760
640
802
460
771
723
442
576
495
636
434
522
752
696
683
759
666
566
542
778
644
706
608
633
757
605
619
555
717
424
420
449
759
422
507
731
573
805
469
498
488
536
788
604
760
779
530
534
611
780
749
566
454
675
750
641
497
786
778
660
664
502
733
792
426
460
732
716
523
784
505
801
808
551
511
445
742
788
792
433
818
523
808
485
649
619
434
796
466
686
726
464
555
467
519
512
552
727
438
455
582
466
464
586
520
514
544
705
795
703
502
428
675
544
495
713
673
808
674
424
513
780
724
745
663
817
465
751
674
783
461
572
603
755
685
715
485
559
713
817
428
471
497
812
457
633
473
568
651
715
800
788
670
717
663
768
793
715
507
470
593
807
646
732
468
607
789
737
674
489
729
747
754
689
565
501
645
435
497
814
707
526
780
719
743
557
708
636
684
589
510
597
749
553
623
709
707
712
551
455
738
435
701
691
643
571
569
712
429
508
715
661
773
609
637
766
654
593
808
523
775
704
462
505
523
513
684
487
553
561
572
705
527
442
451
555
633
443
734
606
719
697
452
780
541
612
522
506
639
786
591
444
808
625
663
686
686
420
786
529
816
613
727
433
437
574
679
757
655
556
429
819
579
539
610
626
635
525
795
520
511
522
702
566
763
563
657
673
667
469
655
577
587
499
796
488
554
713
447
813
449
759
752
712
795
488
452
780
532
788
500
516
424
789
488
689
651
430
710
746
634
466
662
726
650
500
503
588
555
589
741
447
721
499
724
484
570
677
658
553
628
540
586
771
815
783
667
487
702
786
766
458
420
663
710
705
770
456
749
478
748
516
788
527
574
729
558
462
450
547
475
754
610
627
568
553
625
680
575
578
644
511
439
799
548
750
701
626
549
777
808
676
524
509
657
500
566
721
630
664
596
710
704
732
730
606
629
815
769
547
818
800
525
626
722
770
600
425
562
455
679
521
819
786
591
576
817
698
803
538
473
420
690
795
819
696
629
612
759
473
730
687
714
623
817
579
609
517
700
803
445
444
623
641
423
671
480
814
761
555
607
525
666
704
804
808
457
679
774
793
685
647
773
493
623
481
791
538
781
659
681
752
671
491
779
461
454
505
455
528
774
706
812
480
807
769
627
798
770
583
787
729
797
510
781
441
753
687
458
737
726
523
616
693
450
653
518
716
610
632
550
586
704
492
557
807
523
773
672
585
634
480
814
456
812
515
701
555
732
430
572
487
758
582
552
702
797
695
781
513
584
659
726
667
441
544
818
714
684
459
815
595
554
646
461
457
491
521
785
562
466
693
662
618
614
460
594
471
581
611
623
483
684
727
455
594
653
674
522
700
621
462
710
679
550
606
610
643
527
803
555
588
778
664
731
775
507
480
640
461
772
796
599
444
576
711
814
638
453
575
448
623
508
559
566
555
676
512
583
511
761
737
567
519
780
758
697
770
685
524
555
785
431
751
584
523
625
750
493
475
788
750
577
600
577
468
546
557
735
569
593
662
600
546
620
645
783
662
621
573
639
618
777
564
589
465
463
722
775
515
588
764
530
645
763
700
475
539
717
626
794
584
521
806
592
622
701
814
558
574
426
569
540
792
514
805
616
472
489
553
455
712
427
635
589
574
525
470
776
515
786
807
612
617
641
613
740
504
529
537
433
514
804
563
502
488
816
461
766
798
734
543
508
630
577
760
730
557
490
509
511
621
606
608
420
697
475
474
441
733
737
492
621
618
662
545
570
733
691
498
657
735
459
564
682
481
602
616
502
735
549
479
499
661
760
739
704
555
589
814
675
817
608
745
690
661
749
792
737
465
456
814
663
452
618
694
749
755
722
493
462
548
758
769
658
741
452
547
626
746
742
691
595
764
588
662
583
750
433
664
576
737
797
650
522
739
499
722
493
544
520
756
803
730
521
524
530
546
507
518
505
584
666
566
450
454
665
537
494
735
804
814
662
731
575
702
647
652
689
684
753
463
524
753
565
539
438
455
557
800
684
449
494
711
454
595
445
623
782
563
664
678
672
455
765
776
570
568
492
795
441
598
586
422
628
799
555
456
592
597
570
573
431
640
702
434
483
582
684
720
767
800
614
590
532
484
588
502
668
698
762
504
530
501
781
567
690
791
695
818
424
802
801
744
727
470
773
757
576
528
797
564
655
522
664
790
481
742
791
781
639
596
781
507
685
733
649
613
772
440
642
772
781
550
665
441
650
435
819
505
519
496
658
569
527
494
775
433
557
443
461
476
706
713
429
559
728
455
790
779
462
787
586
539
482
707
538
428
651
430
567
471
658
603
682
720
559
440
587
783
434
755
629
631
784
456
555
791
589
529
608
745
650
502
444
526
522
800
749
606
447
738
689
695
467
581
460
705
770
816
644
713
769
708
593
507
525
795
817
701
607
694
772
472
700
528
622
539
639
460
629
481
483
788
569
736
795
680
639
602
763
587
801
518
797
612
720
700
782
798
629
547
514
672
791
684
582
589
644
667
788
655
487
755
518
476
551
434
699
589
432
595
470
470
621
481
585
661
793
541
573
520
443
741
681
665
592
656
424
696
644
470
708
702
619
585
705
712
467
431
544
807
634
647
505
687
675
701
436
636
458
584
801
503
496
553
698
791
634
576
816
569
679
495
631
684
659
630
802
666
614
512
490
683
632
588
440
465
730
757
642
434
684
788
626
613
729
721
689
759
816
790
614
659
609
756
745
702
630
501
496
682
620
730
799
568
551
425
525
436
435
623
447
466
802
652
480
691
574
663
655
511
797
584
744
652
760
585
742
470
689
453
556
770
557
763
738
479
565
433
430
758
586
545
516
511
490
559
622
572
751
766
722
739
714
481
584
530
473
770
525
729
538
556
760
612
546
727
755
772
578
425
532
615
727
464
755
582
440
792
536
548
635
480
812
809
436
653
675
705
554
656
599
712
810
562
767
781
598
819
745
690
811
433
467
802
716
688
435
544
785
463
458
637
478
609
521
780
488
763
671
591
615
587
742
781
540
464
710
682
690
802
563
671
655
428
727
639
487
694
587
660
431
773
701
593
723
543
610
753
495
782
447
563
746
514
692
451
706
438
774
795
612
657
486
475
434
752
784
506
573
595
695
651
424
644
767
663
604
474
541
569
676
711
523
632
530
489
427
716
493
708
805
760
813
640
506
689
660
579
752
445
675
601
778
610
493
656
477
484
691
719
443
587
603
439
704
644
564
525
712
604
534
507
522
715
714
461
618
623
638
615
436
552
455
730
548
612
572
773
652
805
634
658
431
624
540
703
422
703
481
555
755
422
751
569
666
701
435
570
753
644
532
618
576
543
520
518
795
668
529
514
729
627
706
466
517
818
521
493
585
561
536
787
660
447
780
818
739
467
497
633
493
712
559
766
748
453
783
811
518
457
758
669
820
514
663
537
810
643
619
626
570
805
426
435
436
583
507
775
460
518
816
657
804
743
768
643
772
429
476
515
703
585
798
535
778
479
728
666
433
476
521
748
620
523
649
605
774
699
749
645
717
548
551
439
598
812
567
760
710
675
717
428
571
525
481
456
711
696
793
611
818
441
699
601
505
672
737
600
749
536
505
487
804
773
566
534
439
625
773
610
688
720
632
604
463
650
503
574
560
683
447
444
686
485
811
441
725
471
752
599
575
817
591
716
626
809
731
740
733
701
593
488
695
569
588
610
558
567
783
802
777
472
817
687
677
542
745
444
443
576
714
750
766
478
813
620
601
465
780
441
594
629
731
647
602
425
444
721
459
607
538
426
655
657
500
734
778
512
543
676
465
483
707
658
558
715
795
537
740
515
602
717
497
681
680
802
786
580
424
526
486
663
666
691
464
481
562
667
570
615
452
634
527
722
595
677
652
619
683
707
563
727
557
599
466
638
772
495
491
743
440
773
597
734
595
560
602
753
781
492
658
430
543
563
521
472
735
467
574
484
516
531
736
456
533
622
512
553
751
799
763
458
610
816
534
714
576
702
515
535
581
427
700
819
676
439
772
437
668
739
485
774
817
557
665
760
623
778
486
451
634
716
606
449
591
599
773
816
583
548
723
772
730
651
532
795
693
732
568
788
525
548
510
490
761
616
799
657
625
782
485
635
779
538
487
535
584
681
651
421
439
509
420
458
543
474
781
510
521
471
510
532
793
441
581
455
550
421
521
780
505
779
792
760
459
768
548
732
500
797
799
541
702
479
503
720
687
568
568
533
676
585
542
811
697
496
655
531
520
618
466
543
663
797
592
533
528
567
703
534
533
573
559
771
545
794
479
499
523
682
623
767
790
467
652
578
581
784
444
774
682
768
603
528
428
641
468
776
651
738
660
422
631
450
663
725
589
642
720
655
523
718
438
535
726
508
433
806
432
664
622
674
586
505
808
638
590
533
622
803
699
540
609
433
505
429
528
713
655
579
592
764
620
599
581
426
732
509
632
777
431
682
454
723
425
543
783
700
619
485
802
456
432
753
617
770
594
628
479
587
610
517
455
801
753
551
533
524
429
568
442
681
776
423
531
618
540
815
706
777
693
460
574
534
753
763
819
528
708
422
457
449
649
512
655
770
511
645
633
662
450
652
620
601
634
496
586
595
510
604
764
784
740
449
649
517
485
687
650
581
493
456
693
739
624
810
631
471
426
799
608
445
691
744
529
585
758
804
452
810
772
654
756
553
534
663
800
447
765
653
806
675
672
621
626
644
819
614
569
432
692
542
597
495
802
774
596
760
680
686
763
539
655
683
428
618
492
583
656
677
623
426
775
727
649
818
622
777
601
453
674
457
805
623
770
445
695
578
776
450
709
736
741
428
466
581
481
642
608
803
476
575
620
664
536
555
625
568
432
742
672
486
518
725
557
563
458
516
725
511
573
690
642
447
506
757
655
441
614
757
594
439
645
741
696
583
505
461
752
513
689
426
750
596
427
765
465
486
425
793
513
670
666
714
591
587
513
422
693
552
542
682
528
778
785
679
752
761
738
571
820
447
728
670
669
465
665
425
455
533
533
742
759
808
716
536
712
427
473
583
785
781
746
592
709
813
577
607
649
481
499
524
656
452
544
760
667
601
699
550
492
627
739
453
447
420
696
717
815
640
691
527
451
710
475
539
629
449
709
608
663
584
689
569
555
494
750
522
496
424
602
800
741
765
760
424
541
478
522
487
714
686
482
454
536
694
802
737
656
684
577
684
792
747
549
723
672
786
621
586
494
591
819
714
470
531
442
446
780
736
546
791
444
457
425
642
579
584
703
726
605
649
814
698
670
561
654
714
806
440
517
428
600
478
751
470
604
712
809
592
522
798
708
441
716
589
674
458
532
815
706
726
657
470
496
490
487
544
696
609
568
484
789
787
639
713
480
544
529
480
455
552
479
702
456
495
760
515
593
711
755
590
656
804
481
485
811
615
475
633
711
664
783
467
544
467
776
820
516
705
560
474
813
702
569
483
623
595
704
576
426
716
810
465
604
513
777
667
789
657
813
736
658
574
788
531
433
502
580
493
593
579
481
750
725
536
757
564
727
715
611
636
787
804
810
453
692
654
722
628
476
471
603
803
617
725
505
525
757
519
550
474
793
628
538
776
578
617
759
588
520
732
703
465
695
428
569
539
598
771
534
709
533
637
492
734
710
617
665
686
696
646
755
561
698
585
726
593
615
438
436
710
420
755
467
767
568
726
588
536
706
438
601
552
548
557
481
677
480
675
443
573
668
675
556
727
651
564
529
813
811
813
615
819
659
502
433
554
769
748
730
635
609
584
509
539
581
648
511
728
763
543
612
581
601
734
692
457
644
432
455
585
565
620
809
443
586
534
480
815
559
696
437
645
653
636
473
790
538
688
437
694
639
464
609
504
747
703
788
435
513
502
477
799
458
475
722
476
650
506
652
522
552
605
646
577
600
572
512
696
574
644
468
529
790
758
568
541
812
702
440
699
604
489
467
789
675
576
727
812
582
567
773
713
471
652
542
508
667
578
568
707
439
653
459
587
715
625
729
437
793
437
423
782
534
625
619
482
603
598
519
685
686
631
493
436
724
764
678
584
490
670
634
438
479
745
798
571
471
770
496
665
646
812
801
613
801
452
631
753
640
711
601
521
814
681
462
749
685
616
778
814
761
427
473
802
778
631
533
451
604
801
700
585
596
689
472
500
588
552
625
806
623
758
632
809
537
685
654
593
817
718
743
666
661
580
590
433
532
696
529
701
478
622
520
567
464
795
619
562
709
659
639
646
425
551
685
452
558
531
443
813
521
456
787
617
678
784
420
757
523
458
620
531
526
654
631
623
729
517
556
793
639
576
764
801
430
551
753
730
442
669
532
818
738
586
471
663
820
554
503
722
607
686
584
543
780
433
718
773
785
718
569
811
653
756
513
610
476
536
427
546
504
623
464
599
454
671
548
655
663
539
536
628
535
426
617
564
803
813
450
591
609
636
734
713
633
679
768
609
764
575
498
451
810
493
662
805
619
717
721
530
458
768
668
696
799
494
422
496
790
571
508
476
645
807
496
577
773
521
793
753
732
546
449
622
779
521
728
653
803
709
578
764
604
646
542
663
443
455
494
749
502
773
616
573
506
810
636
613
596
682
575
476
753
644
768
684
654
591
641
641
751
691
732
660
505
598
523
678
515
615
740
692
783
448
538
515
814
580
786
618
639
518
803
779
459
651
463
667
776
764
657
662
648
469
622
741
568
500
626
581
543
552
785
448
472
742
684
817
536
553
795
536
801
524
749
585
622
529
538
607
659
595
488
537
684
473
455
753
628
560
588
647
612
627
606
700
636
608
560
607
784
471
777
448
781
462
750
538
448
786
505
800
624
646
551
776
658
712
680
443
685
705
760
421
770
617
739
784
553
684
515
736
424
473
487
612
422
617
649
574
698
748
722
554
511
557
555
498
461
523
791
491
468
621
689
605
718
701
508
726
432
448
423
519
807
623
768
803
432
430
665
660
754
500
465
774
553
485
522
428
528
459
696
660
615
642
749
683
429
702
502
732
550
691
642
510
526
472
613
529
715
422
435
486
606
661
503
662
631
731
683
729
753
455
578
654
679
554
714
802
801
452
595
681
455
757
743
705
684
521
486
684
678
671
449
576
434
650
616
547
820
589
814
437
769
780
510
500
468
486
447
575
717
800
532
793
451
628
437
794
769
500
788
609
730
792
533
816
727
770
666
624
467
446
565
814
649
770
749
561
426
779
743
596
483
618
579
739
788
509
807
477
546
502
818
573
794
545
683
589
477
586
471
601
441
442
538
753
498
420
513
760
614
762
806
753
797
500
514
452
504
702
464
803
558
800
789
487
443
566
702
774
685
729
572
547
690
454
566
434
690
623
682
736
517
482
697
524
733
695
652
607
494
770
581
661
719
496
699
479
434
671
615
603
505
662
457
454
481
641
641
465
477
810
744
712
586
695
716
567
698
691
691
705
803
475
807
555
766
650
466
462
716
604
799
761
751
637
631
792
479
624
789
743
710
445
440
737
706
730
638
516
649
772
820
727
728
818
524
511
734
420
458
548
429
801
526
760
729
749
536
456
619
644
682
810
485
546
466
541
508
816
558
529
727
612
611
730
650
432
494
575
666
518
549
782
716
579
445
692
605
781
753
628
466
700
744
480
562
495
609
780
763
496
460
782
514
571
423
535
656
790
662
786
638
802
627
479
439
671
784
658
753
692
659
790
452
648
551
539
741
487
527
447
711
488
589
599
665
597
555
653
676
536
505
804
742
819
433
568
706
557
716
550
541
615
689
570
622
749
516
795
776
439
433
531
745
773
619
487
571
500
654
485
696
482
604
641
707
785
635
472
609
478
444
696
487
588
750
703
673
564
540
799
489
664
809
659
478
527
431
704
734
484
737
608
472
471
556
724
625
668
785
541
504
611
808
661
604
814
757
646
487
662
667
678
466
656
657
754
777
732
708
549
776
640
673
768
638
521
598
692
777
552
553
776
766
807
545
733
611
493
528
658
640
744
456
628
467
436
631
592
782
683
610
639
772
706
596
497
688
617
480
801
423
770
619
767
649
448
471
773
433
746
603
426
535
798
544
529
705
739
702
770
755
466
567
725
649
537
760
654
613
705
770
761
522
776
718
802
532
425
797
791
627
469
709
523
767
716
587
799
631
736
520
735
494
557
715
609
741
760
645
774
762
710
790
437
723
735
761
555
551
469
521
497
499
541
489
768
600
453
565
746
437
565
721
776
547
627
778
756
468
578
713
507
576
652
736
805
582
612
649
722
613
603
455
608
431
560
546
653
445
737
537
459
493
460
701
593
708
456
697
752
437
600
429
770
446
721
795
490
546
780
428
633
550
681
700
734
755
511
762
581
682
633
661
639
750
601
757
604
553
673
690
458
442
490
720
422
420
707
428
581
569
556
664
420
599
700
452
506
686
494
663
496
784
579
763
706
546
441
481
480
785
579
724
525
814
656
611
776
658
671
636
807
718
635
571
691
705
719
494
636
692
545
505
600
696
460
680
798
520
765
494
487
645
707
793
554
727
767
646
541
786
788
523
626
505
530
664
564
778
723
615
740
580
444
423
747
466
773
586
696
793
659
441
680
433
617
755
653
651
443
549
597
616
577
556
796
646
421
688
451
425
527
699
728
778
491
703
601
422
772
525
709
767
720
575
712
496
655
434
601
609
609
532
475
795
505
559
592
557
640
604
664
616
462
500
567
553
780
522
775
695
466
441
616
702
698
445
785
587
558
733
675
666
601
469
597
596
500
727
802
464
815
615
761
563
759
718
617
492
555
721
534
481
544
432
777
428
463
514
619
539
665
607
643
513
421
804
623
623
546
654
719
526
452
494
748
659
428
456
709
725
449
458
573
522
685
558
622
520
543
656
547
546
634
689
548
671
571
779
641
439
483
612
511
453
775
462
451
802
495
580
635
549
754
587
637
728
612
539
799
551
780
544
747
530
701
595
497
622
610
454
442
743
733
443
768
584
677
603
743
555
752
761
578
512
532
667
428
721
468
466
545
628
733
471
622
582
505
773
473
575
513
576
426
688
608
488
491
800
527
704
664
561
719
594
515
470
673
505
651
815
519
422
507
597
505
787
691
667
638
820
482
709
785
740
629
733
657
598
716
819
785
526
715
433
534
705
653
787
529
548
447
738
690
715
490
682
512
610
592
450
460
757
613
580
456
803
771
490
444
786
683
741
699
788
513
525
738
539
730
721
729
752
688
790
581
721
544
649
749
717
642
542
673
772
437
638
647
503
421
537
424
576
579
455
787
537
529
798
812
620
745
708
550
482
643
426
756
499
702
779
695
616
536
480
661
742
619
631
700
483
619
794
727
503
581
458
657
702
421
722
663
614
778
598
594
554
497
759
748
723
579
714
455
454
650
676
816
711
748
803
671
606
668
787
676
565
685
629
686
494
683
722
682
764
707
518
494
783
485
774
811
752
549
467
458
632
670
580
463
671
820
640
662
656
675
558
531
421
435
748
790
652
526
760
763
460
468
777
802
445
493
598
798
668
777
476
724
798
647
574
486
786
552
635
678
664
501
693
481
555
464
747
784
768
602
820
501
818
692
465
624
815
602
556
598
545
736
472
619
702
713
655
521
517
817
748
641
815
423
768
426
478
795
669
614
542
573
434
493
426
743
636
468
434
574
582
425
587
730
590
613
533
718
434
751
711
500
660
569
764
529
676
585
558
667
437
751
517
731
726
656
681
424
456
433
811
530
470
812
493
771
424
740
531
677
572
816
758
697
799
647
492
695
477
425
714
739
664
745
541
640
571
461
678
716
715
622
442
726
529
532
799
587
696
628
449
812
488
808
758
644
561
525
689
434
792
438
610
426
523
529
740
703
526
698
680
638
445
510
567
471
819
483
556
515
813
709
696
721
713
445
721
517
776
727
557
775
593
431
515
576
618
471
614
716
808
746
479
696
604
489
790
517
594
541
705
474
656
479
483
735
685
570
765
594
485
589
750
551
428
444
600
476
654
629
498
613
801
500
488
693
477
592
698
441
715
495
767
464
548
527
675
470
675
661
722
695
436
610
818
805
772
650
454
600
737
770
640
682
708
802
635
451
767
551
795
445
504
466
679
655
710
664
661
510
607
660
597
636
464
520
770
794
569
614
442
777
626
570
748
763
539
650
704
504
580
534
471
737
449
519
616
804
545
739
442
744
649
563
571
789
704
750
643
439
523
626
533
599
764
584
431
559
623
566
529
717
440
627
627
800
736
571
700
721
540
562
664
740
443
575
663
556
621
671
534
424
820
681
543
475
432
727
656
595
811
706
540
763
427
818
689
812
815
578
745
582
645
668
661
450
540
447
779
777
675
747
658
644
646
440
726
461
763
731
744
805
642
453
445
605
791
736
754
730
491
770
440
458
681
620
602
732
806
518
510
809
422
436
651
607
667
518
605
797
696
566
794
637
547
708
596
548
669
741
738
746
579
479
643
536
515
441
733
704
664
572
723
767
517
660
440
555
706
603
448
709
711
489
585
536
444
515
659
552
581
577
723
767
605
518
466
659
474
797
677
560
454
488
662
493
684
423
796
743
674
787
732
502
587
516
561
686
632
796
525
553
424
469
538
536
816
736
752
568
677
545
790
790
818
448
560
765
785
619
558
677
599
576
754
798
759
579
751
649
565
779
607
434
464
590
744
637
563
746
709
548
772
433
660
803
460
788
792
538
518
707
591
665
627
748
797
545
605
584
675
466
685
587
802
571
785
593
749
456
758
714
473
807
543
556
528
624
818
792
796
435
791
439
795
812
488
543
761
585
810
640
757
677
745
645
515
609
637
585
768
524
508
668
509
794
528
427
663
800
453
655
678
674
554
461
751
642
568
673
511
464
733
747
645
487
691
567
669
557
537
812
508
549
730
442
734
705
626
792
632
560
600
467
465
715
631
709
495
442
525
524
673
677
426
772
534
797
653
483
727
447
493
562
605
655
499
433
717
740
756
578
421
708
552
756
723
639
779
530
476
531
558
481
809
648
540
649
663
677
538
607
647
817
706
451
534
533
705
741
438
479
745
806
503
770
815
714
649
639
482
530
773
753
697
531
514
494
723
567
725
674
523
686
803
445
446
599
621
460
794
680
552
776
445
685
735
464
685
452
698
556
645
498
475
706
637
526
590
607
602
481
658
681
753
428
574
585
764
668
555
511
639
650
697
705
537
731
792
782
652
578
749
754
429
623
621
517
718
725
657
463
615
808
689
504
436
470
543
453
438
743
449
660
790
616
811
641
721
637
441
510
642
490
618
766
640
470
601
760
757
798
779
713
647
624
572
590
450
755
819
668
541
648
646
532
472
448
456
785
635
695
632
589
749
431
598
514
724
581
737
614
614
598
503
679
442
441
707
606
606
819
484
746
607
548
512
733
753
507
673
726
452
553
601
743
511
474
629
734
671
606
735
449
606
600
499
480
636
799
485
740
788
490
782
653
564
522
494
737
468
740
746
784
460
512
524
603
818
693
798
799
685
460
812
475
744
681
665
636
640
667
734
766
504
638
579
781
547
740
676
684
736
754
672
682
497
522
439
635
787
515
478
619
811
808
595
820
546
534
501
474
713
635
765
606
819
797
706
738
707
460
500
788
735
503
619
463
772
615
786
601
743
676
619
636
432
676
581
806
731
579
541
500
420
799
765
760
653
807
673
684
728
437
443
576
469
471
759
633
502
798
745
422
740
649
773
624
463
555
567
794
654
671
772
616
583
484
498
698
564
466
556
484
731
616
631
768
449
602
467
474
566
627
522
787
599
674
511
685
602
621
688
810
811
516
586
600
477
474
659
482
788
431
801
578
782
725
576
427
483
587
738
751
685
685
522
483
699
543
608
804
699
765
759
470
731
546
741
754
653
619
715
559
708
647
621
521
444
715
657
660
561
721
643
433
550
460
536
758
566
461
565
521
537
662
699
713
633
775
484
420
808
528
711
743
608
690
558
554
760
772
463
809
739
543
649
697
762
678
446
757
731
677
446
439
704
446
616
456
494
738
437
590
627
788
478
498
696
733
434
475
703
528
772
502
639
603
711
750
757
619
607
544
526
489
634
577
784
481
464
677
450
775
459
593
629
483
616
680
512
744
432
597
718
689
641
687
500
507
672
423
808
461
694
651
498
611
711
696
536
677
691
635
615
806
464
526
626
603
809
628
421
453
456
553
704
535
762
500
751
682
639
717
538
696
632
546
543
546
641
534
683
541
510
434
773
721
556
704
665
646
458
652
579
613
428
694
672
471
576
662
802
638
541
795
635
807
746
518
616
587
458
485
756
487
453
755
571
701
805
772
786
749
583
535
595
550
509
688
613
701
563
733
732
791
683
472
714
601
545
586
478
614
569
697
772
455
543
620
769
523
804
793
530
521
573
762
521
643
618
478
756
689
510
793
482
655
566
546
745
794
655
632
672
576
723
602
692
704
551
777
791
476
630
718
574
475
690
710
734
628
522
535
661
648
621
808
701
586
818
779
670
533
500
698
744
672
423
591
436
713
625
711
422
431
516
526
814
750
583
559
469
573
800
559
608
680
687
688
814
765
551
678
597
485
755
502
525
665
629
731
817
542
749
614
522
729
514
786
556
499
749
447
574
652
587
427
796
710
641
672
634
647
601
450
673
589
654
607
768
585
786
752
582
747
721
527
508
493
618
676
560
775
664
720
466
620
671
802
422
576
662
764
650
631
434
445
559
465
695
778
789
775
746
722
741
818
606
713
619
615
765
804
524
518
446
639
768
446
526
656
495
777
623
479
577
737
804
669
694
791
423
420
463
697
572
577
538
754
756
734
511
694
785
787
568
574
709
651
476
680
595
512
791
748
697
720
815
493
500
717
490
453
438
544
431
625
784
643
441
553
815
497
479
646
453
497
450
706
746
716
785
742
472
698
586
745
505
495
599
513
531
720
740
745
544
745
565
787
632
754
752
573
802
467
440
721
765
669
709
794
698
480
471
516
698
773
747
424
543
565
689
487
468
602
578
749
804
769
768
755
534
797
601
793
590
502
445
755
459
641
560
630
662
580
501
734
743
482
487
546
666
447
473
684
761
425
503
604
637
776
474
714
756
543
726
763
498
547
769
673
738
779
733
778
797
537
647
764
566
570
545
511
704
706
616
478
421
569
739
438
706
713
760
636
638
769
731
750
515
616
514
523
628
585
736
731
705
552
810
554
807
541
776
763
719
609
565
611
536
635
686
560
704
510
657
673
670
813
750
661
751
723
629
658
805
564
696
577
504
554
505
552
724
677
666
550
587
480
542
660
819
516
786
701
655
664
580
702
629
669
506
517
748
481
787
584
571
810
687
494
803
774
792
568
810
680
558
487
793
437
581
642
742
661
739
692
523
565
540
688
489
719
802
645
442
644
711
793
815
789
516
710
768
554
690
781
494
746
460
464
802
704
444
434
601
574
645
528
490
655
604
446
600
672
708
468
723
781
633
789
525
580
459
705
740
733
526
586
453
688
674
581
675
518
585
720
567
739
793
774
446
543
565
595
780
754
734
687
689
511
680
638
638
697
633
660
753
650
487
820
733
694
783
667
489
513
801
663
613
763
470
745
715
788
744
645
645
449
761
529
430
820
581
500
785
480
626
770
432
510
788
558
752
813
463
603
559
745
458
514
759
511
791
465
734
439
758
721
483
690
499
802
811
501
421
632
777
758
747
581
482
819
440
598
757
696
612
509
444
805
606
669
630
753
696
430
613
794
802
565
719
625
636
727
429
695
513
564
464
597
627
666
599
720
498
720
752
811
699
486
504
427
674
735
754
702
807
632
767
450
467
606
456
493
466
577
791
455
566
786
760
468
565
798
427
543
492
819
775
619
613
633
533
652
439
695
690
747
637
667
478
710
761
715
654
558
697
439
702
647
742
742
632
706
549
531
545
714
469
700
761
773
523
651
761
525
472
447
532
705
483
602
590
603
490
580
681
762
541
801
641
661
515
420
687
634
568
726
782
749
504
439
761
686
723
706
760
549
681
447
500
820
714
767
468
462
621
582
758
496
791
606
436
670
475
759
429
767
609
813
453
731
624
778
683
445
463
458
480
578
798
663
535
574
570
602
685
775
532
755
808
602
784
494
806
508
380
463
379
429
445
451
434
494
392
418
366
421
441
304
398
465
343
352
352
498
489
362
457
463
496
461
340
366
424
487
342
469
380
500
413
478
390
433
469
481
367
386
303
476
324
472
455
481
397
407
305
497
484
499
448
330
459
371
500
497
430
414
361
431
452
372
341
487
406
445
305
366
410
382
378
367
422
499
431
374
481
452
341
447
343
437
434
408
304
432
355
345
480
334
349
442
358
301
494
343
333
444
459
368
331
371
464
343
300
412
433
420
381
414
477
349
328
417
456
456
300
346
410
498
417
455
406
327
365
347
370
498
427
384
372
304
458
476
362
338
499
314
480
420
383
439
418
378
369
440
485
326
434
374
432
339
417
314
420
306
406
417
495
475
408
415
305
481
487
378
424
320
322
461
383
386
491
376
460
390
488
434
488
311
405
421
432
488
438
359
424
373
354
370
486
338
424
319
387
493
457
315
369
364
341
426
320
480
315
349
309
378
430
320
340
300
363
345
309
472
478
362
412
409
302
474
323
391
401
412
391
358
326
435
383
441
436
345
464
346
336
306
475
441
352
352
306
490
402
325
383
386
306
439
373
490
432
394
478
416
383
480
484
457
422
495
461
393
342
399
359
461
364
312
320
445
372
358
325
366
339
341
427
490
498
455
337
478
357
453
492
371
377
431
444
452
426
428
323
316
404
459
370
461
338
368
498
305
311
309
353
424
307
434
302
386
383
421
446
307
406
312
469
308
435
386
448
375
452
348
493
338
368
437
499
451
425
473
436
305
317
332
472
364
429
363
345
496
371
301
471
456
466
468
365
454
482
425
487
489
355
376
427
446
442
301
439
339
395
459
303
390
419
455
343
336
402
397
447
399
374
441
465
406
427
488
444
464
442
328
444
359
474
392
468
353
485
430
411
442
356
376
444
495
460
345
389
392
326
307
440
443
497
406
317
346
383
497
473
441
456
481
302
312
361
423
406
439
320
444
306
372
418
345
414
497
325
333
465
351
478
484
424
399
399
459
377
313
484
452
394
371
445
304
467
344
500
411
445
302
382
474
485
403
450
463
415
453
333
422
301
422
382
313
354
494
462
330
444
319
397
433
381
475
316
417
312
475
302
341
346
402
374
500
477
308
484
472
311
315
428
435
452
424
340
382
467
440
370
433
419
424
317
356
369
432
373
317
348
493
347
376
364
458
472
492
326
376
405
334
350
426
486
408
449
334
489
376
464
337
309
325
425
335
333
354
376
466
402
391
413
400
353
391
365
486
330
455
410
309
488
474
367
340
322
355
364
372
377
472
486
480
480
458
390
418
397
495
493
353
472
346
377
306
478
360
487
400
442
483
376
433
421
468
389
337
317
490
343
411
475
368
301
323
460
477
446
371
302
444
465
493
369
369
380
406
420
301
379
494
494
367
320
458
473
308
378
495
479
315
477
480
489
354
374
471
456
410
494
410
308
384
344
349
382
466
380
312
386
421
440
338
375
366
335
488
403
308
473
316
436
473
449
391
422
378
452
355
340
308
326
475
427
425
335
459
369
309
331
384
314
410
329
307
395
326
483
482
410
341
366
314
319
303
485
308
383
442
433
356
477
467
333
342
354
359
402
306
343
388
322
395
312
447
431
434
432
456
457
376
326
310
383
342
466
424
312
340
489
406
353
399
436
454
348
315
417
470
328
365
321
353
453
400
499
309
334
471
408
321
355
340
447
356
497
497
466
367
475
324
376
415
301
490
397
474
380
355
315
379
340
461
352
314
361
404
313
470
474
398
341
328
300
455
464
300
386
451
329
326
364
333
444
330
458
348
345
434
349
306
471
354
372
393
357
339
441
305
382
370
386
385
319
430
316
323
470
317
349
467
347
477
451
431
363
391
404
306
493
339
394
459
431
345
302
338
389
498
367
369
445
479
371
440
408
320
451
400
380
400
337
347
429
343
481
393
468
326
414
414
407
402
484
442
326
489
483
451
372
466
452
354
439
313
325
473
320
309
460
308
323
448
409
399
421
348
377
426
351
350
462
463
358
377
462
475
482
436
330
354
498
368
360
429
456
359
371
439
483
378
438
424
336
406
402
345
458
302
304
404
412
405
408
412
328
301
487
386
333
403
372
429
499
431
365
492
436
448
367
400
353
312
303
341
497
421
317
452
301
429
437
457
395
485
310
336
379
423
300
338
495
346
400
434
338
325
351
420
351
383
318
468
441
375
486
461
450
495
438
451
354
382
437
324
326
462
309
373
438
328
357
332
385
449
422
479
378
421
364
345
370
426
500
359
375
301
365
465
472
315
387
422
461
395
444
352
459
446
385
492
300
408
418
409
403
348
381
485
500
433
455
381
409
323
392
338
376
335
413
352
430
377
490
376
435
422
376
471
345
338
493
413
489
320
405
478
312
462
319
438
310
472
421
393
472
457
434
469
482
337
494
371
382
380
473
401
331
313
378
455
482
421
469
353
429
447
436
452
423
358
353
488
466
491
301
420
366
321
380
353
360
330
499
456
468
422
450
451
332
333
442
363
432
396
413
313
336
443
301
353
339
435
354
432
403
438
352
430
319
383
375
484
396
424
365
312
437
463
365
302
381
361
374
473
408
304
498
396
475
383
433
475
343
373
383
401
307
353
484
387
363
318
387
324
356
324
460
361
434
441
369
406
493
383
487
429
395
400
496
317
416
399
406
367
304
412
330
380
389
473
431
450
367
421
405
465
420
419
498
424
304
301
342
449
442
317
427
343
379
497
386
497
324
308
490
327
424
405
466
324
431
474
387
323
301
404
444
398
354
448
493
320
356
384
352
417
443
333
439
470
463
323
337
487
445
448
387
465
344
481
488
368
460
429
412
450
486
312
321
419
493
354
370
460
409
426
326
319
405
404
361
408
492
456
408
391
315
433
305
319
409
397
482
325
384
453
459
306
318
476
330
302
312
367
378
491
336
357
489
359
419
499
453
448
366
303
325
367
380
383
329
401
431
443
336
483
403
358
326
483
458
487
345
495
417
367
405
443
394
479
367
414
483
404
460
396
312
318
443
360
329
371
321
393
405
489
411
481
483
302
376
320
366
355
465
394
312
330
344
385
500
331
320
372
451
456
412
478
340
467
462
329
490
380
428
419
336
334
459
402
459
340
328
382
405
343
441
440
447
304
368
371
491
438
478
423
374
327
354
482
359
374
437
309
441
495
407
419
315
449
463
328
447
323
423
483
309
326
350
332
432
419
348
447
494
389
406
448
364
434
310
329
485
369
453
455
335
346
314
348
450
315
416
313
338
407
310
397
302
384
393
428
439
423
431
349
408
310
435
421
349
402
485
490
496
466
373
473
488
342
414
438
345
367
418
481
448
343
497
385
485
325
440
452
371
309
464
322
459
417
306
364
348
346
337
353
489
440
365
346
373
497
338
463
456
422
471
326
400
392
383
339
376
474
354
341
361
465
434
316
422
440
342
409
496
417
311
323
334
490
353
380
345
447
386
433
311
463
383
403
318
315
455
448
372
305
462
306
348
357
388
306
404
313
377
300
378
349
423
305
369
446
337
349
309
428
307
347
332
324
326
460
446
438
360
489
404
496
347
420
372
395
430
450
447
466
409
330
373
489
300
355
455
312
348
424
318
420
435
354
317
406
355
457
378
338
444
331
374
455
350
475
307
333
452
349
448
367
375
497
354
462
451
445
465
412
462
431
322
365
397
437
459
410
320
340
422
414
465
321
328
485
484
421
305
493
479
323
447
353
486
445
439
431
362
421
485
354
403
406
444
454
327
354
345
395
404
396
417
425
377
371
417
326
452
424
383
477
407
319
425
335
332
439
457
338
334
439
452
463
467
377
500
370
417
305
382
463
389
456
387
352
440
489
385
315
447
341
469
308
304
433
479
490
365
413
321
388
406
487
395
380
361
485
406
480
340
396
303
404
461
437
397
497
385
311
405
490
436
489
336
409
407
434
449
395
485
401
306
366
399
483
469
369
380
346
330
456
346
330
399
422
487
481
343
337
326
318
341
452
432
455
309
495
369
481
384
484
450
348
478
440
361
470
348
304
497
440
418
449
314
411
389
335
475
481
356
482
469
412
396
333
463
316
495
418
469
404
445
351
315
452
341
465
433
478
450
407
334
444
470
415
373
356
303
438
472
456
477
320
354
421
500
416
356
304
336
432
459
375
304
429
472
327
389
404
354
431
323
460
359
345
454
363
438
429
317
445
328
409
342
330
472
416
379
444
382
365
307
440
332
489
387
310
368
368
458
359
398
430
375
434
349
348
456
321
305
382
390
352
307
390
411
332
442
312
314
410
420
421
410
326
428
439
399
441
337
415
389
315
400
474
395
377
387
359
362
429
328
316
305
471
466
484
337
441
416
473
326
327
371
327
470
469
445
307
354
465
310
373
308
402
304
354
332
375
374
463
496
482
436
355
374
383
470
362
328
322
360
450
413
462
346
488
440
424
360
438
333
338
324
499
444
359
361
402
420
475
475
429
473
417
489
429
477
425
387
309
464
398
443
433
498
466
304
452
347
415
446
428
447
440
421
320
371
322
394
391
492
473
381
466
464
399
378
330
326
478
419
349
444
449
463
478
340
370
416
430
448
324
392
311
475
303
346
440
347
319
461
451
453
320
407
346
430
489
363
323
371
352
399
313
393
372
476
347
311
370
373
389
373
491
326
451
364
301
330
459
320
425
342
490
393
446
494
484
459
364
304
386
414
373
339
404
352
337
471
485
312
324
478
312
392
371
395
474
302
345
428
388
478
337
467
420
354
342
308
480
379
332
319
388
321
353
437
438
469
489
437
389
480
300
326
495
304
396
337
318
496
485
380
442
418
358
417
453
441
315
401
374
325
339
458
313
307
425
332
404
329
454
429
381
474
379
318
448
356
345
474
475
480
380
445
450
318
340
478
380
428
312
448
411
475
414
482
477
444
308
485
437
441
397
483
424
303
404
418
446
439
370
428
482
376
421
444
464
416
395
354
341
420
442
358
466
341
319
419
308
354
340
331
360
349
481
467
377
485
344
487
322
350
325
376
373
390
418
376
429
492
319
488
375
358
489
414
433
441
486
331
312
385
429
328
445
315
415
446
308
483
455
367
368
498
360
476
429
452
390
458
301
418
374
443
444
369
368
331
421
461
499
388
378
455
381
472
337
417
420
476
487
401
338
492
376
366
359
465
423
488
474
314
326
304
436
393
306
371
420
396
469
451
417
371
306
336
307
450
404
417
377
301
438
485
466
388
432
318
397
499
329
456
480
314
367
459
403
372
459
467
441
470
354
324
402
477
363
311
481
375
489
356
443
401
429
384
498
359
407
413
445
352
321
499
475
444
447
352
425
329
368
347
464
330
441
420
375
450
477
362
343
499
401
358
450
427
313
328
308
320
500
360
436
365
334
404
355
323
431
440
478
347
334
378
425
427
460
332
480
418
421
333
311
402
351
416
367
490
306
460
312
397
476
444
383
448
368
351
397
326
432
342
422
463
392
353
317
362
367
355
429
302
392
333
321
473
475
430
406
343
321
380
447
485
399
324
460
327
351
499
348
327
399
383
306
357
482
372
445
454
410
430
308
333
420
355
379
358
404
439
483
309
487
451
307
477
330
364
381
466
495
310
351
307
437
427
348
443
469
488
457
464
304
472
309
344
473
483
304
403
475
396
417
407
473
364
432
340
347
384
494
457
466
338
351
488
355
443
360
468
386
337
483
403
415
498
317
363
498
422
471
317
338
488
300
419
451
312
348
476
443
338
376
300
392
321
438
475
389
447
308
321
365
381
498
418
315
473
335
389
455
314
392
317
396
354
498
317
306
430
312
461
444
427
384
454
489
404
477
377
317
434
318
310
393
479
439
339
336
317
311
313
332
328
315
360
397
391
360
416
449
335
458
335
405
368
369
358
416
472
363
387
493
439
402
381
366
471
407
469
344
386
500
474
364
431
492
498
362
363
328
391
407
339
350
422
375
465
486
304
360
499
330
336
410
322
441
356
353
456
458
474
471
393
321
309
322
483
315
368
413
445
398
480
379
312
439
429
389
328
372
306
445
416
469
412
306
406
342
380
323
371
487
475
455
322
319
394
411
372
345
315
431
423
424
390
428
461
361
401
331
498
470
321
315
395
400
447
487
420
496
428
424
305
309
344
348
331
404
468
387
369
481
338
422
329
432
443
464
464
313
340
371
366
316
432
404
404
472
476
330
453
350
357
368
379
318
385
432
336
497
405
436
415
479
370
359
328
426
472
336
476
354
336
382
449
333
372
366
363
446
360
430
408
451
442
490
355
346
430
387
392
464
375
469
334
477
449
383
392
452
463
354
378
380
358
316
315
375
362
401
388
416
379
353
426
444
495
336
367
411
370
391
405
497
337
426
385
453
447
481
326
353
344
468
354
343
406
323
457
482
341
341
387
364
494
300
454
481
308
446
469
305
305
410
494
334
484
407
379
392
355
364
336
334
466
384
313
375
482
323
319
494
354
477
376
344
371
468
427
303
403
356
460
426
318
462
371
380
465
344
386
489
378
342
490
316
437
487
435
366
310
425
379
466
391
394
415
410
389
312
357
427
387
442
337
341
375
433
389
417
314
370
316
462
326
332
426
455
394
494
311
346
389
341
472
493
434
410
305
320
390
338
377
445
464
346
311
404
448
468
344
357
452
314
384
346
376
413
304
493
335
317
420
319
426
304
366
487
444
414
408
482
329
410
397
437
465
333
400
455
312
303
347
394
385
351
443
305
467
471
456
427
325
465
478
450
418
385
408
470
415
350
478
474
362
347
407
403
478
433
445
409
323
483
414
447
397
476
462
467
425
391
317
416
475
437
338
303
313
399
438
310
320
465
359
414
375
408
399
346
442
307
306
396
458
361
452
443
430
475
367
478
478
392
376
342
392
367
318
345
309
325
381
328
314
345
459
301
315
335
341
331
393
319
315
330
493
342
383
353
448
392
428
384
383
490
345
375
400
422
462
381
495
411
428
346
392
318
371
497
456
451
359
341
379
308
466
376
492
457
358
315
452
468
305
381
352
476
340
481
431
419
392
364
463
435
423
305
340
394
435
336
307
467
369
464
374
327
319
453
434
420
353
351
425
386
445
439
399
469
401
333
385
371
492
345
436
310
342
484
351
315
396
487
427
382
433
470
308
435
437
437
353
484
315
485
426
344
388
493
368
417
304
430
424
354
428
335
352
348
339
321
486
407
440
323
312
457
353
482
352
396
331
439
311
415
331
338
362
475
418
414
344
393
327
348
365
432
453
459
305
404
375
351
485
379
493
402
444
472
439
423
309
394
444
443
388
322
403
349
418
397
482
498
398
380
346
365
321
365
499
375
362
336
361
339
342
479
335
311
472
354
369
359
325
394
493
316
350
355
443
345
404
367
494
376
401
445
445
364
485
436
402
393
426
307
392
376
368
397
338
413
439
457
421
377
444
373
347
327
496
450
475
452
367
457
366
347
435
470
497
300
463
341
314
491
326
387
448
433
470
475
411
308
409
339
347
452
430
345
319
388
368
456
460
309
371
485
373
386
369
351
314
312
303
459
351
340
405
447
322
465
418
313
363
353
371
454
373
500
301
366
385
352
448
303
470
461
483
316
485
465
378
370
377
338
471
333
422
439
333
461
374
427
432
481
344
394
455
391
433
314
467
467
470
394
471
451
393
464
384
384
441
311
482
476
462
476
417
382
398
334
420
402
364
443
305
380
436
345
377
322
383
460
418
323
467
485
364
371
434
463
493
358
496
474
476
387
461
397
348
474
469
362
399
492
407
436
343
359
373
450
388
459
304
470
445
315
321
449
414
326
494
388
349
448
347
367
432
366
307
312
341
473
374
382
467
433
356
458
440
330
420
329
400
397
479
367
493
354
339
331
352
429
452
369
319
453
444
487
390
304
431
488
498
361
384
471
492
417
412
331
427
381
328
303
480
345
306
496
338
357
470
379
372
377
369
468
313
486
417
300
420
427
320
349
408
474
302
310
424
300
306
394
304
453
391
417
361
378
345
356
325
446
308
440
412
451
448
332
463
363
495
404
371
312
370
461
343
308
466
447
481
359
362
356
390
302
336
327
317
414
446
421
451
485
327
328
473
313
311
320
373
448
301
356
452
439
430
376
319
356
418
325
327
463
435
402
311
436
414
398
364
440
401
392
319
395
325
407
398
329
392
432
434
421
474
329
438
484
444
365
374
301
330
360
338
375
416
413
406
370
423
407
320
393
498
441
498
460
448
480
444
442
487
431
400
404
317
389
460
404
442
367
323
388
350
479
453
377
433
384
370
423
333
311
345
347
484
442
488
353
438
355
402
406
371
311
325
406
380
390
379
373
411
467
442
418
334
495
408
465
402
459
312
479
492
421
385
303
428
488
397
462
300
429
421
399
337
455
381
478
422
449
480
446
481
351
497
356
372
408
470
469
479
455
311
379
330
331
449
487
356
498
480
481
500
419
334
468
327
439
469
489
397
482
462
327
336
482
378
318
395
487
389
395
368
465
371
496
405
477
335
496
324
412
425
400
467
483
371
308
451
328
416
304
375
474
342
375
387
353
383
315
459
426
304
454
371
499
332
371
437
418
454
309
417
373
366
317
344
489
337
399
500
474
322
344
334
463
356
403
324
368
424
437
332
479
424
386
449
389
389
347
382
372
433
498
340
339
384
441
393
411
324
390
487
442
382
390
343
348
428
467
427
345
310
434
301
331
457
491
421
402
397
309
312
371
324
336
379
353
387
414
375
381
391
410
387
347
413
418
413
371
372
403
408
491
360
343
422
333
411
454
433
356
302
468
361
404
406
429
407
474
432
490
411
417
319
434
312
327
459
440
381
469
333
401
414
460
308
413
450
381
348
473
407
343
402
303
339
405
363
428
357
368
416
321
410
304
446
309
419
308
394
360
377
398
452
322
355
431
468
315
361
459
464
328
459
310
477
356
420
403
436
420
499
423
423
349
317
412
366
445
312
463
363
448
417
381
352
412
499
416
386
415
403
371
361
305
398
344
358
477
477
335
332
359
319
313
429
406
396
400
464
357
387
324
312
371
416
376
384
404
385
330
440
473
441
499
452
369
455
469
314
357
310
469
461
356
417
486
467
424
416
366
414
387
301
427
405
398
453
418
415
459
313
460
438
353
420
333
458
427
329
387
428
448
320
325
485
422
300
301
397
459
332
439
313
415
347
306
491
461
488
431
329
362
397
326
407
423
440
338
385
354
363
345
478
390
459
327
386
471
338
499
391
352
372
405
435
300
452
479
446
329
329
312
392
447
435
310
441
497
488
495
450
303
449
388
329
477
438
493
410
421
430
408
426
482
305
334
497
470
424
433
322
413
320
392
400
318
463
314
477
373
377
363
475
427
353
435
371
300
472
447
414
409
368
444
426
438
482
335
373
477
433
344
323
459
454
311
362
371
408
382
383
380
308
444
390
383
474
345
304
412
360
437
445
398
322
393
328
433
492
416
314
414
484
300
427
378
368
321
361
393
382
468
335
448
425
490
402
306
366
360
441
422
313
364
479
353
364
379
393
454
302
368
301
347
468
413
393
376
330
410
342
418
429
352
342
392
444
321
418
463
457
433
394
363
428
470
485
460
422
329
488
380
315
463
366
443
420
474
420
308
328
345
390
416
351
366
364
480
385
353
443
411
466
480
384
498
387
480
398
308
417
365
361
403
495
365
494
381
395
355
327
490
468
446
376
480
348
455
334
356
371
409
473
362
471
424
482
330
368
364
322
372
477
394
399
317
374
308
496
406
400
356
444
475
474
414
350
449
336
499
316
500
430
359
317
439
341
460
370
367
483
404
490
402
394
422
365
497
328
343
408
354
448
441
474
346
391
456
343
432
424
481
470
388
359
341
319
425
499
362
395
442
364
365
494
465
404
373
471
352
427
395
361
384
321
322
310
329
399
456
476
317
472
461
301
300
305
451
445
374
396
309
377
417
339
434
393
396
402
432
385
384
350
342
332
321
346
383
487
453
316
342
471
375
355
340
372
314
347
325
433
311
491
356
472
315
402
411
480
350
439
480
477
346
440
304
310
415
437
357
462
494
426
357
420
306
413
435
442
408
444
485
358
389
473
374
386
385
465
421
312
461
302
367
487
464
463
305
496
403
348
432
410
317
388
361
313
382
458
341
367
496
443
324
401
476
385
481
440
423
371
468
380
452
428
378
388
369
301
439
369
340
490
418
485
301
321
350
364
473
453
314
337
415
494
417
488
470
410
347
342
394
425
319
364
461
496
475
380
436
420
368
488
390
464
440
382
403
430
458
450
320
318
327
421
366
481
454
484
486
337
342
306
316
384
378
494
301
500
485
408
373
395
422
449
466
404
446
343
458
434
362
345
310
300
403
490
328
355
410
404
455
302
494
328
378
433
336
491
354
467
474
333
332
329
321
391
354
387
335
343
436
460
382
379
473
456
426
456
344
342
389
487
470
412
355
361
426
352
468
464
440
336
312
468
419
433
462
355
475
350
454
325
309
383
380
482
388
424
472
442
480
389
495
373
478
427
428
346
487
421
450
490
409
493
317
306
406
474
420
483
476
433
311
366
439
366
401
446
480
391
368
461
393
492
334
302
419
343
487
344
360
327
423
389
337
414
345
438
472
360
470
323
416
467
364
447
425
368
422
434
347
355
377
380
342
371
498
323
377
378
466
469
494
301
385
449
420
363
463
390
425
337
419
386
330
443
422
390
367
340
333
309
446
334
459
337
446
368
462
407
354
500
452
422
427
357
471
385
375
305
313
457
358
464
303
449
342
387
367
369
496
338
482
353
456
410
397
350
475
483
481
330
475
469
482
441
321
359
308
398
350
362
462
463
391
401
414
349
342
449
399
422
309
383
344
448
446
383
469
332
405
447
500
420
406
367
439
380
410
400
378
474
386
393
487
408
384
444
413
500
424
398
440
485
387
376
422
312
430
409
320
384
307
487
344
305
407
444
428
414
377
448
329
425
381
413
454
304
459
498
447
424
493
450
421
398
453
417
401
349
410
385
486
405
487
460
446
484
351
393
327
426
464
455
412
326
462
343
379
430
367
457
348
323
365
387
375
309
414
436
492
487
472
479
361
334
410
491
488
453
471
302
324
318
351
446
415
348
418
488
329
335
379
429
473
412
302
306
357
312
408
359
491
337
461
458
477
394
341
478
336
446
475
489
384
353
467
351
411
420
321
399
363
318
427
458
439
329
435
423
327
336
371
407
302
304
464
402
472
482
409
454
443
340
339
390
398
418
425
433
370
457
323
476
353
448
347
446
442
428
314
441
361
404
455
312
406
399
366
428
315
301
431
309
330
312
429
303
465
423
488
453
471
456
488
331
404
454
397
468
327
380
363
334
367
458
379
379
414
407
423
386
432
398
424
421
406
326
429
389
349
319
451
426
331
361
496
315
449
418
463
443
438
417
347
300
436
402
332
312
334
321
402
478
422
336
419
303
454
408
416
402
329
403
366
326
442
446
437
347
395
486
439
393
318
386
348
310
499
398
443
478
482
469
481
441
388
371
363
356
348
356
488
344
316
438
432
473
314
410
374
444
497
421
356
311
390
439
308
342
458
444
313
344
370
351
432
455
359
324
476
329
410
448
329
307
367
369
308
317
386
403
398
424
420
334
425
414
441
432
325
308
491
401
472
404
477
337
357
421
414
445
336
398
372
316
392
375
465
342
474
314
486
459
347
348
396
360
478
358
484
417
319
416
365
450
327
419
479
310
499
449
404
430
489
400
396
380
457
311
493
477
386
392
455
300
324
492
311
499
333
335
371
343
400
474
475
497
459
447
357
477
364
331
431
474
319
425
443
451
358
320
330
492
445
306
438
415
478
493
335
361
449
337
344
494
405
423
454
309
497
305
431
373
472
423
467
435
348
425
393
331
347
438
341
382
306
443
418
393
474
490
336
382
453
395
421
486
441
377
444
459
334
448
304
332
360
498
436
330
499
429
328
497
464
489
431
402
500
405
380
338
390
392
332
378
468
490
480
455
393
428
446
380
343
337
346
308
317
316
383
490
381
318
405
369
441
479
343
440
444
453
314
396
349
376
435
479
452
389
482
410
389
460
325
396
365
384
429
350
373
385
404
493
459
461
447
473
481
313
387
364
466
316
447
348
470
369
427
456
392
452
384
311
379
488
306
305
450
375
352
386
471
453
466
417
310
415
371
428
456
484
493
301
376
324
462
482
358
459
427
469
311
310
443
474
424
343
411
389
480
416
327
363
385
355
489
471
497
427
388
436
379
386
453
433
439
451
456
461
475
350
394
464
324
472
307
346
400
393
490
382
436
427
397
391
481
362
316
433
465
308
435
445
451
367
493
433
397
321
327
388
479
380
324
335
465
495
309
414
451
451
451
302
450
490
311
340
423
357
397
472
497
356
383
353
381
440
319
319
400
451
446
365
307
443
370
440
307
439
333
424
423
370
480
306
449
345
340
352
461
421
303
433
360
447
378
358
382
330
409
394
379
325
415
335
436
421
368
383
309
334
342
439
390
390
305
350
386
307
395
346
325
353
318
352
354
429
401
377
386
449
467
302
482
475
359
484
307
367
484
392
446
429
425
311
451
449
358
319
465
368
438
438
300
346
300
383
442
439
468
321
389
337
430
378
352
445
308
412
304
412
362
326
320
452
355
332
437
404
422
377
446
413
395
413
356
494
321
454
385
313
445
343
308
491
388
353
411
343
351
330
394
349
453
316
321
356
475
360
428
333
479
370
402
390
458
355
450
307
435
383
331
425
359
329
433
461
300
314
499
350
488
467
304
413
482
438
387
384
427
415
381
476
406
305
353
482
344
428
445
362
361
487
327
419
318
474
422
474
377
366
352
399
353
491
431
380
452
327
337
446
326
407
471
404
451
441
500
482
341
419
351
453
457
332
300
465
375
448
401
440
411
387
356
315
393
365
375
452
341
463
351
336
476
327
489
301
320
388
433
428
414
379
426
479
349
486
316
363
455
394
317
321
320
306
371
331
302
406
353
384
330
352
315
460
457
327
306
460
444
487
403
383
490
432
448
441
310
364
345
375
430
320
323
395
345
410
337
465
419
364
303
373
322
334
318
490
342
412
496
377
343
482
303
378
358
318
302
364
487
422
316
395
403
318
383
323
304
372
458
410
384
327
400
304
497
432
460
440
362
462
369
489
344
333
317
400
305
474
395
339
475
344
424
348
384
479
303
414
300
320
456
449
353
489
317
405
462
470
371
475
345
376
417
492
481
424
436
448
457
331
417
376
405
480
319
489
484
438
435
499
394
417
312
330
380
429
413
499
472
393
381
468
470
396
320
348
386
443
426
372
402
408
391
389
415
425
465
416
445
415
354
441
467
381
473
414
442
328
493
331
463
310
407
413
384
347
463
439
499
379
378
390
435
424
480
395
331
347
457
443
347
380
362
469
312
328
392
328
493
432
403
340
495
424
486
428
348
358
367
499
332
335
308
390
472
397
462
477
396
467
480
485
442
370
460
333
411
445
396
401
359
398
366
337
459
441
378
460
372
456
476
388
370
346
481
400
333
422
322
430
400
368
366
395
460
425
394
446
435
432
326
500
416
447
372
396
448
421
421
338
497
380
358
311
479
479
487
345
363
380
420
365
308
424
493
381
408
332
385
434
486
487
455
343
495
301
475
404
490
355
346
371
365
377
470
468
330
477
348
333
349
379
454
439
443
303
431
453
485
436
366
433
405
500
435
383
431
320
397
356
342
437
446
347
431
415
478
385
413
339
423
369
435
419
473
398
459
487
380
363
327
351
459
398
388
441
421
338
446
320
338
478
300
500
407
375
464
426
391
362
339
403
392
392
337
400
478
454
377
362
421
479
337
453
309
438
349
366
319
364
308
351
435
479
418
408
448
334
440
423
362
420
493
394
437
304
452
397
356
360
315
390
325
387
490
460
413
488
446
405
410
422
385
454
325
493
489
416
415
407
426
483
487
322
372
439
406
314
317
479
330
477
317
488
359
444
353
499
396
393
415
371
407
478
374
316
328
497
498
475
486
379
453
368
427
360
379
454
327
326
311
340
470
394
482
437
383
495
366
313
438
481
402
308
328
310
325
326
463
461
475
306
331
312
336
360
486
438
454
430
497
386
409
391
476
331
345
461
340
496
460
500
401
347
415
403
313
437
338
459
485
489
319
480
387
343
323
376
452
346
441
305
418
333
473
344
330
497
362
377
355
306
488
489
499
385
317
488
344
307
307
311
420
375
432
404
480
456
399
402
346
318
319
428
325
305
359
412
464
330
388
314
413
381
466
359
324
417
490
458
417
414
387
387
410
465
414
470
312
465
316
407
436
331
409
307
453
345
300
466
338
406
408
407
489
380
496
393
464
424
388
429
368
366
400
360
352
371
476
462
463
344
382
329
307
493
383
415
374
318
352
433
452
307
420
358
328
387
368
308
374
341
422
311
445
388
332
393
359
406
359
316
480
406
367
337
304
461
462
407
463
370
322
426
355
422
415
425
420
485
395
494
495
427
473
321
491
321
304
496
457
306
471
401
398
367
429
461
417
466
316
407
408
410
315
498
438
407
463
371
454
495
414
409
369
364
430
407
418
459
485
424
450
327
385
494
301
479
398
356
393
456
352
361
345
373
500
380
389
422
339
451
497
430
379
400
354
335
382
471
394
379
482
474
436
342
497
472
405
341
484
386
404
343
445
351
462
364
398
354
308
438
463
401
337
394
324
421
393
470
358
499
418
314
324
371
380
494
401
368
484
374
345
478
328
327
464
427
348
475
403
496
303
302
372
313
353
464
360
468
369
374
383
382
412
318
482
449
335
357
324
425
419
326
426
307
332
316
499
300
335
384
459
462
342
444
417
428
448
357
340
382
423
431
386
411
404
318
500
474
375
407
379
310
493
400
409
307
434
481
319
361
375
491
316
442
429
474
380
391
453
433
318
356
360
330
463
447
367
463
397
410
329
398
365
400
303
497
325
394
401
302
338
445
301
417
315
463
490
329
321
495
367
432
419
456
410
421
302
416
356
409
424
382
377
394
303
406
374
491
500
379
491
300
459
334
345
302
435
396
489
471
302
474
491
450
304
355
434
346
458
346
406
354
370
373
484
465
417
426
385
426
442
394
367
310
428
453
323
359
460
322
397
305
479
392
455
444
300
332
379
392
337
412
417
355
497
479
312
375
331
339
446
476
414
301
314
388
473
301
326
380
337
458
492
329
422
431
456
380
418
373
336
479
340
321
408
496
312
488
417
499
386
478
497
341
310
465
378
413
487
379
443
453
481
473
410
491
416
364
317
309
436
347
340
359
460
423
456
434
477
473
414
473
362
435
445
407
408
414
494
467
356
446
420
321
470
332
484
418
433
445
467
436
332
484
420
313
328
496
301
457
494
309
385
478
466
454
483
482
423
361
362
322
336
333
470
412
302
425
328
429
421
320
491
464
324
416
407
451
487
410
493
461
430
450
359
402
380
410
491
301
394
463
341
445
365
377
361
351
436
317
412
340
436
459
354
384
450
489
373
300
494
471
394
438
437
380
474
387
427
361
319
370
324
490
493
350
376
413
396
300
486
392
429
472
431
462
391
499
469
373
388
322
354
339
384
490
379
482
418
412
496
397
412
451
394
481
404
444
449
390
387
385
307
462
303
393
336
331
469
470
451
445
307
345
494
377
415
399
379
322
454
495
324
362
346
456
381
420
452
404
361
445
410
481
342
423
500
317
398
423
321
419
384
429
428
330
500
472
468
373
317
456
465
346
359
470
379
334
359
484
445
442
328
396
360
356
442
429
455
490
359
459
398
346
319
447
419
413
410
440
316
452
343
348
346
336
410
339
305
457
448
367
464
367
444
395
383
416
407
352
481
365
351
422
445
403
483
389
475
469
313
306
381
435
444
415
405
461
485
435
312
451
395
383
425
323
303
406
460
451
461
325
381
395
475
309
441
476
427
431
448
352
403
309
498
466
474
431
460
420
418
416
356
377
307
381
390
329
434
333
364
341
478
360
332
386
437
424
418
333
456
434
496
470
391
390
326
301
347
355
407
406
333
391
335
464
411
303
307
395
360
434
431
362
401
397
438
478
337
367
397
332
376
484
461
422
425
450
326
327
483
380
375
440
349
443
334
478
470
446
389
335
315
471
488
498
417
343
346
447
355
471
390
332
330
463
416
369
362
342
364
305
364
339
455
476
464
443
459
454
472
417
323
366
499
407
452
452
415
429
492
317
486
439
427
427
408
467
442
335
451
342
440
426
308
445
409
452
384
448
343
362
382
397
331
343
425
396
394
323
410
454
488
458
375
467
408
370
483
449
367
424
317
387
456
441
494
326
412
309
391
332
410
336
464
493
393
436
367
343
358
323
393
462
413
329
359
327
463
488
428
306
346
419
312
454
442
394
443
414
425
311
341
399
489
430
354
499
482
395
348
438
309
311
497
494
485
474
350
384
344
372
414
356
345
456
310
402
428
338
325
357
340
469
409
331
389
394
377
450
363
349
465
338
381
315
445
374
379
450
321
466
484
459
331
441
417
377
310
311
474
304
310
392
368
479
312
322
341
484
394
384
448
454
425
383
348
380
356
379
441
310
350
475
425
401
442
324
436
451
412
427
495
348
433
304
441
364
480
394
328
320
449
336
314
461
352
364
303
398
493
425
438
483
400
356
315
309
307
481
465
377
371
398
345
498
419
427
458
428
452
394
451
354
405
458
436
497
316
407
363
306
306
407
306
478
311
346
333
347
300
458
344
417
387
435
345
389
372
391
402
353
477
429
419
420
416
356
421
311
325
433
368
336
429
400
486
314
488
485
424
499
391
438
355
491
479
451
321
399
468
358
442
326
332
385
382
390
399
311
366
378
388
315
370
415
368
500
307
318
387
305
363
328
408
432
351
413
376
420
438
358
455
460
409
348
498
375
345
431
385
469
372
473
302
423
359
369
436
337
307
383
306
441
437
368
487
359
420
448
364
329
486
369
371
318
413
424
408
476
306
402
373
451
412
399
452
306
430
490
391
342
449
463
374
406
495
303
337
413
415
437
489
391
418
302
470
418
424
487
340
345
441
456
463
448
370
496
479
318
338
343
464
404
477
468
484
345
420
379
450
375
316
361
409
496
498
301
343
463
446
301
401
426
406
379
440
434
388
340
473
485
394
343
441
401
469
399
340
413
326
303
465
391
401
422
318
433
384
457
429
485
465
360
434
382
494
449
343
302
472
330
481
403
498
317
331
433
325
484
441
304
468
327
437
415
410
352
309
351
432
443
496
340
482
490
385
465
347
309
380
328
461
463
384
343
311
445
450
495
309
448
472
484
325
469
363
415
311
350
460
329
381
334
419
404
312
366
437
424
429
427
322
309
407
448
347
328
425
323
326
332
316
394
442
409
458
360
305
481
466
446
406
494
363
370
392
497
338
490
445
437
458
417
304
321
367
363
325
362
351
418
430
326
402
309
430
401
482
450
372
307
436
380
394
446
392
448
417
373
316
359
301
438
490
487
306
312
353
339
462
339
476
340
328
453
386
486
464
412
463
463
496
430
300
429
369
331
324
380
381
329
431
315
444
364
422
363
326
452
347
397
428
308
481
348
500
335
313
465
472
331
436
326
473
427
412
431
386
427
303
370
471
329
322
376
446
405
390
482
498
378
425
410
306
308
369
438
389
362
395
450
365
356
435
402
403
329
301
465
410
411
474
347
320
354
496
396
400
368
388
407
446
396
438
314
325
360
468
400
316
304
353
342
333
485
408
329
328
452
495
482
342
358
327
327
489
454
408
315
485
487
380
367
435
420
470
301
473
488
332
321
477
390
496
336
480
325
389
334
330
468
304
479
387
411
474
486
380
442
489
486
377
409
486
326
455
374
331
353
371
336
432
398
487
335
346
451
420
341
300
386
484
321
447
438
384
435
489
345
341
331
382
383
335
480
364
306
500
430
390
365
484
474
372
347
383
482
456
310
466
498
314
330
397
376
483
399
390
342
334
482
401
462
336
446
344
484
308
360
341
361
391
454
419
389
418
375
318
435
315
317
321
445
452
468
433
344
431
302
327
400
318
404
383
328
498
452
422
455
446
337
332
375
460
356
332
476
395
400
444
314
352
426
320
366
432
405
354
468
406
362
377
465
365
382
417
438
459
426
389
385
304
352
367
419
491
372
317
411
381
326
454
307
329
347
424
350
462
405
346
464
426
414
487
489
324
366
324
380
422
329
401
447
324
401
315
359
321
434
336
414
399
377
315
476
422
414
406
427
327
413
474
486
302
485
379
314
448
449
441
419
448
325
395
427
389
317
407
334
300
476
312
308
328
328
354
371
457
382
350
339
475
419
356
440
343
447
326
438
404
412
375
395
330
391
447
308
457
490
460
440
429
379
492
311
427
444
427
407
324
429
389
368
392
461
337
317
490
492
365
300
309
477
357
360
459
397
390
379
456
462
441
371
300
378
321
376
325
323
452
329
495
391
498
449
328
406
312
391
366
326
437
412
339
483
453
363
399
428
351
378
382
395
469
314
366
371
454
410
476
443
329
356
321
459
438
485
472
474
302
366
466
309
417
500
469
370
390
370
366
380
393
419
464
470
418
486
347
407
459
446
422
311
462
354
495
402
450
307
358
492
446
403
346
347
367
382
489
343
341
388
469
450
479
359
415
435
347
468
371
428
319
444
429
470
419
344
319
451
444
440
438
433
420
492
313
326
325
378
492
334
316
469
386
490
386
338
378
306
333
303
407
322
481
391
483
458
305
487
313
464
346
340
327
347
445
346
364
366
372
479
401
454
321
320
423
360
448
465
489
422
386
428
374
308
332
330
393
415
318
396
366
396
440
410
313
318
414
304
467
456
436
317
406
432
309
350
300
411
492
422
378
376
463
362
300
452
395
446
329
363
355
494
421
408
462
381
352
364
446
351
302
302
320
447
440
305
416
410
369
436
408
372
468
319
358
441
400
481
493
367
347
411
370
379
421
476
393
419
362
418
481
435
440
371
371
409
480
346
379
424
355
321
465
380
325
446
458
310
357
385
424
387
402
495
427
395
320
383
356
449
458
446
334
362
478
444
467
320
318
320
390
473
489
371
396
487
480
486
363
402
478
500
327
347
410
395
343
462
376
375
456
302
443
300
500
449
416
499
302
399
368
410
435
455
410
363
347
498
345
335
314
477
491
335
439
381
481
381
396
349
434
392
327
339
430
459
461
381
344
478
337
355
395
354
365
361
352
340
390
325
347
498
456
402
472
342
487
483
364
489
455
376
354
458
328
329
476
446
348
341
458
320
444
316
467
449
308
421
413
483
487
347
368
462
390
444
322
462
450
332
363
319
477
445
444
352
486
375
341
347
465
445
347
377
372
378
341
326
304
459
343
413
385
460
438
483
320
489
365
317
384
442
351
330
496
398
356
445
336
380
470
345
390
335
466
499
454
338
424
385
489
483
378
481
460
311
392
406
494
490
487
400
317
310
466
493
354
367
409
404
381
369
486
459
366
451
353
500
387
497
307
452
496
326
490
337
480
368
330
453
366
335
414
328
415
352
412
483
433
441
475
470
419
396
414
403
315
441
413
452
301
394
379
400
465
369
326
429
473
318
343
383
484
442
327
314
314
480
327
455
436
422
327
452
453
455
322
441
320
403
428
448
348
369
466
489
410
367
320
389
372
354
386
322
379
375
459
350
378
361
412
339
359
407
424
389
478
485
430
467
406
330
485
450
340
406
397
467
444
465
394
445
358
341
315
429
379
339
425
401
313
387
330
422
368
362
479
444
334
320
340
332
377
417
388
399
349
391
302
347
367
354
422
374
424
326
388
314
441
500
401
320
315
410
413
454
366
356
482
348
396
393
389
401
402
378
482
472
356
465
327
492
466
476
500
329
396
463
307
453
435
364
475
316
374
481
387
433
360
499
362
386
374
467
473
388
360
335
462
489
363
339
484
315
464
367
314
354
327
493
341
399
363
414
341
494
357
476
410
327
325
435
487
379
409
439
387
390
334
457
388
472
461
302
420
463
441
344
374
321
341
340
434
495
427
328
333
454
353
315
479
314
468
348
410
357
369
417
440
450
459
464
407
410
450
387
476
391
462
393
338
472
348
411
485
481
323
362
431
355
491
467
489
360
431
315
306
437
396
307
337
396
321
450
400
312
466
385
455
425
350
483
305
460
467
301
388
401
450
377
373
345
421
344
471
467
451
365
358
332
456
393
339
488
374
309
303
380
425
370
434
480
447
342
304
455
368
463
467
458
374
459
384
399
377
339
434
361
358
402
366
318
381
409
377
424
481
428
364
358
354
316
386
399
300
466
342
358
418
386
482
363
379
454
457
422
443
457
477
404
330
472
327
483
323
360
409
403
341
489
497
311
350
427
397
306
342
421
355
416
398
427
333
489
411
383
404
320
347
421
359
379
433
448
483
331
396
498
426
411
444
333
337
379
323
355
342
330
450
493
313
398
476
412
383
413
399
328
313
381
373
440
344
365
417
359
473
477
378
372
448
496
499
446
405
349
372
391
454
387
436
475
436
327
400
327
475
420
348
494
370
417
343
447
396
335
459
335
375
484
307
307
470
473
445
432
498
470
488
388
400
388
438
301
355
426
343
495
372
337
483
489
336
473
411
493
300
382
398
396
341
397
382
392
350
433
435
382
449
474
439
302
410
462
372
331
338
353
475
483
494
434
419
495
343
403
386
464
444
429
319
362
422
479
356
446
399
407
460
423
476
336
444
326
458
385
440
457
461
421
329
488
365
351
394
490
342
448
417
309
310
461
338
353
491
421
391
411
354
498
434
301
381
410
415
432
331
446
357
476
493
494
306
477
425
499
472
370
424
492
498
490
486
346
327
354
496
476
404
353
313
418
423
364
397
381
396
307
380
404
323
440
328
469
461
378
390
332
500
371
336
315
495
326
493
325
393
384
426
460
367
498
500
438
394
414
487
405
319
361
436
487
323
414
434
442
328
340
477
441
396
485
481
481
490
389
314
388
498
423
345
367
355
322
334
500
443
460
434
466
302
410
356
438
418
357
485
500
493
348
333
374
392
333
347
464
438
473
359
375
381
332
444
367
448
390
498
330
353
303
443
363
371
386
358
389
358
370
374
354
338
340
428
423
397
436
336
309
460
463
471
409
478
301
455
309
375
481
338
481
485
359
474
425
371
433
462
498
403
413
362
344
441
450
396
494
324
430
318
498
481
496
458
356
378
330
443
356
324
317
372
458
329
412
441
346
498
317
322
448
346
486
441
436
343
435
343
336
490
482
372
472
410
399
344
416
493
332
455
426
333
489
442
483
468
317
397
302
478
434
489
474
405
388
344
392
425
490
462
409
313
366
320
331
319
437
377
339
411
382
393
474
445
472
500
449
322
479
474
388
308
464
479
496
369
330
475
384
300
443
497
306
354
471
390
393
313
330
494
431
452
425
452
364
303
445
409
343
373
373
317
388
397
337
392
470
306
435
420
424
468
382
480
370
396
370
468
402
443
429
370
419
424
392
320
447
362
351
421
432
325
400
379
315
374
356
348
314
479
481
341
494
430
473
309
412
305
488
385
375
360
315
464
370
417
469
314
320
327
458
314
498
419
331
490
433
488
449
393
440
368
438
402
342
469
351
404
468
355
314
499
438
376
402
337
417
305
367
404
338
313
308
465
447
358
491
353
440
330
402
341
357
367
456
308
329
391
313
348
315
418
366
490
445
349
372
432
378
436
363
432
375
391
480
424
373
383
469
321
356
499
429
341
443
465
429
405
434
480
467
408
333
410
308
373
493
333
302
370
401
473
476
380
461
344
420
481
376
300
475
325
354
430
494
473
432
414
373
427
310
464
443
343
354
325
307
368
471
455
382
306
433
484
312
372
492
364
401
483
402
460
386
355
390
430
339
303
361
382
324
344
473
395
368
394
473
308
403
429
496
443
372
360
471
475
468
421
457
308
403
386
430
346
469
337
496
318
374
352
401
438
457
334
302
396
391
456
346
368
413
335
393
500
349
343
451
321
476
416
328
498
458
420
488
463
395
359
360
317
496
498
478
374
466
335
403
308
372
381
346
390
301
400
307
370
347
420
398
401
366
411
441
424
419
427
303
472
394
496
472
467
333
385
339
362
418
469
376
319
425
371
408
319
334
379
461
393
328
417
324
314
385
391
410
495
405
415
342
495
444
481
351
318
431
401
365
341
478
314
429
382
429
345
322
464
442
451
392
417
310
412
488
365
308
397
355
343
462
395
486
306
442
381
447
368
444
327
409
394
390
487
326
470
386
397
386
458
328
401
338
381
461
368
398
419
375
478
413
328
496
372
430
385
373
463
319
364
375
469
445
459
491
470
459
421
449
479
436
442
433
469
404
475
360
401
390
383
312
497
338
337
381
471
491
324
305
318
341
447
327
414
443
466
431
304
459
319
398
476
398
363
332
313
368
455
425
347
379
465
377
372
415
337
431
317
324
382
478
324
430
426
396
361
499
327
320
383
479
315
437
456
315
436
308
323
482
494
345
355
494
332
345
468
498
385
404
311
398
349
473
416
346
430
374
441
491
438
488
347
379
379
434
310
390
322
394
307
399
331
399
483
443
324
366
315
356
373
313
345
384
311
328
499
491
446
352
388
498
333
312
487
420
400
390
366
464
324
392
382
307
313
358
370
408
408
460
495
409
389
479
316
402
417
382
412
446
332
379
368
483
465
420
407
307
461
396
450
302
346
319
327
429
435
387
459
313
375
385
484
461
415
323
489
432
449
310
341
421
423
463
410
497
470
402
330
455
367
363
459
467
421
325
348
330
357
487
451
378
402
495
480
369
337
472
446
477
400
441
432
455
500
438
328
500
322
342
323
442
394
356
393
350
450
384
406
304
400
459
451
450
484
419
335
325
346
495
495
451
301
422
343
408
315
477
411
438
321
481
310
443
444
388
496
495
413
459
500
402
438
438
457
454
390
331
459
461
494
387
307
356
352
355
364
320
322
305
399
407
405
321
413
397
316
466
396
318
342
350
419
441
433
342
380
345
498
390
385
365
495
465
367
345
405
388
462
449
411
473
373
361
313
482
468
349
441
360
422
433
361
301
349
317
422
321
310
364
332
369
465
332
335
336
452
371
356
323
495
433
303
472
439
305
320
491
426
493
372
366
454
464
338
302
497
443
335
395
374
494
353
409
322
323
478
385
420
362
332
433
360
334
301
309
421
440
417
322
437
318
449
441
351
466
360
339
414
480
419
435
317
373
437
461
369
495
415
337
383
351
490
342
354
351
394
492
391
388
361
479
301
470
417
326
431
386
369
396
400
455
494
376
348
465
348
394
457
450
375
487
388
369
460
419
314
412
471
441
477
471
479
412
318
362
310
313
453
327
462
409
497
422
417
331
349
376
482
358
320
366
330
356
378
392
453
478
429
491
440
337
387
365
434
344
446
301
450
379
416
356
416
412
460
304
477
433
443
387
468
499
368
380
448
414
464
407
408
494
427
401
303
444
477
421
348
473
358
465
348
312
311
310
464
493
380
435
392
479
438
426
459
326
408
401
453
478
426
329
457
438
433
420
441
401
476
498
344
429
468
384
339
478
433
359
453
382
427
323
497
351
321
405
483
402
473
490
329
424
379
393
381
406
458
377
344
410
351
306
430
370
340
343
356
455
347
345
353
416
386
424
477
347
333
461
368
363
483
411
480
433
419
332
378
477
344
479
369
426
403
393
460
472
428
375
331
416
417
500
400
370
433
377
439
422
390
390
402
417
500
351
378
391
316
447
378
473
412
308
329
450
367
409
341
459
443
375
455
491
392
478
427
468
441
408
440
300
479
302
437
435
335
360
433
432
366
302
468
390
350
447
459
382
369
371
366
484
452
458
401
305
348
319
494
469
473
347
343
308
320
465
398
353
482
458
389
377
317
368
312
477
401
323
476
309
333
324
385
491
306
489
307
315
391
430
305
474
413
399
332
304
386
360
489
377
301
368
488
422
414
389
335
441
409
336
450
469
434
329
355
385
300
405
330
417
409
381
365
309
335
443
357
444
491
442
334
447
455
411
321
368
366
439
447
405
451
416
333
394
363
413
336
482
311
411
398
492
450
400
477
387
302
381
337
495
337
500
436
452
465
329
448
350
431
368
383
435
425
389
444
425
489
435
307
460
313
365
343
490
388
456
431
383
458
463
346
475
386
324
309
304
479
368
438
467
428
477
387
369
336
340
351
414
363
369
384
449
478
336
428
337
413
396
491
394
351
361
347
406
437
378
379
421
376
340
344
490
454
431
460
469
379
488
431
345
396
363
301
318
401
308
353
494
313
381
454
372
343
323
420
376
364
470
313
304
358
300
301
399
450
408
342
425
471
342
306
487
316
447
349
451
362
349
464
322
487
365
423
375
411
476
436
472
337
386
317
384
342
394
493
328
449
434
476
381
380
484
370
321
339
470
377
319
460
330
375
415
384
378
354
301
376
398
419
375
331
367
402
314
487
372
347
389
484
350
442
362
360
474
339
402
342
351
449
446
483
363
358
381
488
398
450
386
326
311
359
324
371
404
378
473
369
382
462
320
480
469
429
373
373
433
438
386
429
451
365
464
399
327
394
441
372
383
444
341
320
423
414
442
378
320
321
372
347
320
400
392
304
410
325
352
420
307
364
400
462
395
488
364
396
325
430
485
347
487
378
396
330
394
406
420
341
474
303
415
371
412
408
403
448
333
345
390
364
495
336
423
329
486
430
444
474
375
358
475
387
489
468
334
416
411
366
436
489
302
407
374
378
356
318
484
411
341
331
310
304
468
427
362
328
462
350
487
492
477
402
328
332
302
304
390
397
480
469
415
437
330
498
455
442
339
467
323
434
328
430
362
401
497
365
438
493
385
417
303
432
424
370
443
346
451
459
426
393
327
458
322
346
470
386
333
400
425
445
474
421
411
409
321
445
477
488
365
471
437
314
344
346
381
311
383
375
476
417
434
418
368
475
362
496
493
343
488
439
357
315
322
359
350
433
311
428
357
303
446
309
494
428
472
333
360
300
482
368
305
356
309
396
335
321
446
466
384
453
393
306
483
318
428
491
443
339
475
309
411
459
450
393
347
421
468
395
363
368
398
314
355
423
453
326
373
326
469
342
325
427
311
379
300
437
493
462
418
423
471
489
373
311
416
471
419
391
392
420
423
411
479
319
448
435
340
474
496
345
466
380
454
346
305
413
374
352
343
493
402
367
366
464
414
359
341
350
415
361
468
356
460
394
436
459
459
339
473
451
304
362
413
382
404
374
334
345
466
459
441
371
337
332
312
353
372
433
331
436
467
357
381
399
336
490
426
376
378
500
402
382
380
434
361
393
481
393
327
378
439
372
304
456
311
397
408
403
484
479
448
470
476
420
457
378
382
456
398
348
304
434
420
363
369
322
425
359
451
454
447
463
437
342
314
465
400
404
345
403
471
421
313
373
435
351
488
451
408
399
488
450
354
336
492
443
406
482
391
344
428
416
369
475
420
365
381
419
369
353
353
393
465
306
463
448
305
442
351
498
396
427
381
389
498
493
388
304
377
479
435
374
325
488
411
427
331
495
490
473
333
408
466
377
353
373
303
460
324
439
371
432
383
488
330
429
462
383
468
322
369
311
367
431
344
306
468
432
432
499
457
498
333
446
435
324
403
368
474
354
311
447
425
451
410
398
333
448
473
338
363
315
363
479
324
372
485
328
303
403
452
433
374
301
363
419
428
383
307
324
310
438
413
355
389
455
418
309
366
322
493
362
407
371
303
425
498
404
499
450
356
342
357
491
305
459
418
461
413
478
314
486
403
499
388
418
381
459
421
310
332
456
412
475
419
327
424
403
401
332
451
495
431
484
352
374
322
366
392
304
376
420
423
356
473
392
439
496
497
372
360
416
359
427
437
467
428
419
442
460
381
464
384
475
418
417
433
352
444
414
499
349
437
455
366
384
386
410
482
402
332
369
438
498
468
480
469
476
363
476
310
483
321
332
391
473
449
410
372
376
313
488
439
480
385
364
306
321
480
431
402
420
414
378
343
397
337
398
342
421
372
497
495
322
324
379
382
304
328
472
470
489
333
425
489
340
372
466
321
426
484
330
368
363
449
413
399
385
491
452
300
456
358
416
493
329
397
412
418
383
498
407
424
443
435
407
341
466
319
363
404
478
302
341
417
316
498
469
398
446
327
493
428
394
452
353
494
468
465
359
335
383
430
463
471
310
453
313
368
409
484
339
497
347
392
469
497
360
361
468
367
314
377
415
320
488
345
354
426
481
439
410
490
400
454
425
499
450
440
400
373
325
395
453
441
328
496
397
492
432
384
364
469
484
398
416
415
434
309
353
441
452
357
446
437
403
410
341
471
363
434
495
381
461
440
333
424
414
477
366
394
376
334
346
427
419
399
477
307
491
434
344
338
405
333
409
483
342
487
455
485
321
411
317
314
495
470
473
369
341
407
429
461
415
437
351
447
491
458
484
423
459
338
318
476
447
378
415
379
447
388
365
482
314
402
365
496
478
367
367
389
434
357
328
426
372
496
481
301
413
411
378
332
481
308
346
374
417
374
493
475
324
381
494
395
429
435
326
448
490
477
356
481
411
495
364
382
365
460
326
318
304
333
498
321
358
364
347
404
311
435
487
472
401
374
378
303
352
440
305
472
326
436
312
323
488
468
419
380
494
333
336
479
500
451
330
445
330
439
392
411
466
352
417
336
469
427
379
362
397
342
426
310
469
386
477
383
348
416
377
346
452
327
411
368
386
388
384
348
419
347
439
336
377
341
308
311
367
436
453
350
355
403
449
398
376
384
396
358
464
363
410
309
441
304
373
346
339
397
351
468
443
462
368
320
420
365
440
439
328
412
341
390
424
460
366
452
461
424
457
386
425
375
495
402
343
419
425
454
338
323
444
493
497
334
381
494
403
457
391
325
450
324
337
382
413
356
307
386
488
377
418
343
319
309
302
327
357
399
379
500
324
398
476
363
440
368
363
361
480
434
423
476
432
488
303
370
465
324
330
321
304
346
494
350
433
380
424
489
343
471
323
485
341
428
363
484
312
436
353
320
436
388
458
316
397
317
475
458
467
416
362
427
353
466
380
429
338
313
456
335
424
327
313
300
422
302
324
357
356
457
475
472
442
488
483
491
325
384
358
416
322
313
384
499
450
439
440
403
457
365
334
433
352
391
446
368
301
449
491
300
309
306
434
362
381
346
311
333
360
475
325
391
362
311
317
467
308
360
375
410
362
434
477
391
425
465
312
455
482
411
482
373
308
498
423
328
332
404
465
476
341
457
397
400
463
375
438
401
323
422
457
409
455
378
311
312
375
335
378
420
466
470
324
487
418
491
335
460
494
378
410
386
458
303
364
327
461
355
315
335
301
418
345
484
430
342
379
307
359
356
454
402
451
438
496
482
361
365
392
371
350
319
325
376
472
372
363
360
426
342
463
497
303
416
470
410
310
324
365
325
458
493
427
381
438
402
309
380
334
385
384
347
480
450
309
497
465
386
478
427
317
374
366
397
377
392
444
462
381
305
500
452
336
488
394
470
350
382
427
312
418
320
417
437
319
394
478
409
306
477
402
418
414
335
379
332
411
474
393
375
487
377
451
476
471
440
355
350
469
343
406
460
319
458
426
474
453
400
356
338
499
376
428
365
470
456
437
402
372
495
367
358
372
322
424
415
469
467
403
379
373
317
325
329
469
420
494
351
414
398
348
348
334
468
390
355
387
498
350
323
414
372
365
361
399
301
458
472
468
456
482
483
304
491
408
396
345
380
438
321
364
300
411
356
485
498
436
494
385
405
455
317
424
423
345
482
349
433
483
338
479
420
429
330
382
438
304
418
452
327
349
444
483
500
400
465
455
377
412
360
417
479
497
453
336
320
346
491
301
337
360
385
450
341
346
343
342
375
435
423
422
478
354
309
334
333
371
489
467
464
465
412
382
419
475
450
389
390
496
439
397
425
355
304
328
451
407
486
330
319
489
379
378
442
373
318
445
325
309
438
455
471
411
328
457
392
314
441
390
378
378
385
481
496
324
375
495
364
379
382
462
350
330
416
470
384
305
434
308
477
458
358
344
307
476
404
449
415
353
499
381
431
390
455
482
424
337
394
447
453
346
324
441
444
469
396
364
490
311
383
449
431
471
371
494
356
446
481
478
421
408
318
463
434
407
317
315
421
380
422
398
309
390
359
401
448
325
384
416
317
319
391
316
456
473
320
415
420
493
435
436
430
446
364
462
363
485
403
476
323
319
398
382
352
320
404
396
335
371
408
488
474
476
355
437
479
445
376
409
310
462
444
362
305
343
470
417
500
420
375
450
410
464
423
323
488
419
400
414
448
362
328
400
410
380
305
394
305
357
480
332
459
380
365
407
426
353
363
401
305
406
351
428
396
330
350
359
342
324
339
495
412
491
344
390
443
458
361
324
332
335
314
374
363
476
392
458
425
300
381
361
415
338
382
476
300
361
407
476
466
493
493
373
405
384
357
390
456
362
415
477
446
321
307
371
411
329
421
302
311
341
367
449
325
364
418
458
454
443
316
403
398
389
339
317
489
378
324
360
315
470
365
500
416
369
458
477
441
321
400
454
351
349
408
319
469
486
339
378
314
422
453
422
406
306
465
398
493
481
366
361
320
309
428
443
322
333
393
316
473
317
482
365
476
317
499
467
478
461
485
408
431
336
497
473
392
367
459
404
311
356
369
362
471
481
500
476
431
443
307
405
332
355
363
458
362
333
352
327
376
452
322
396
318
429
375
387
314
454
466
337
409
458
434
493
362
345
490
480
400
470
481
499
444
314
327
431
482
423
336
374
474
322
485
409
321
331
446
360
480
472
362
401
334
380
426
439
353
328
364
306
386
430
471
300
411
334
373
443
322
317
301
329
425
484
395
346
348
488
374
456
354
432
309
370
442
355
374
471
313
478
306
407
431
481
493
409
478
419
499
324
327
435
488
459
302
340
444
405
386
432
399
447
391
382
401
309
425
322
457
373
435
337
485
475
346
401
464
369
317
393
314
356
467
393
429
395
379
432
432
452
340
423
493
339
475
398
433
314
351
489
304
454
331
481
440
365
480
367
499
362
402
440
372
432
464
380
373
391
420
376
436
349
361
326
312
481
389
467
303
406
370
316
331
408
345
351
482
327
484
308
360
405
309
493
415
488
307
357
463
447
396
309
459
493
482
495
491
303
447
447
415
499
310
499
428
356
402
428
305
361
409
367
409
331
446
405
344
318
478
469
422
467
346
326
351
300
348
357
471
356
441
407
424
320
455
463
445
338
461
479
309
437
351
378
316
434
371
329
314
403
446
339
459
498
311
317
302
314
317
461
480
411
465
497
362
453
460
312
477
339
366
449
342
337
329
459
321
391
330
322
432
372
491
378
377
394
478
302
478
445
443
352
500
315
348
395
407
328
495
498
390
458
455
496
349
317
461
319
400
407
437
356
395
386
498
406
494
406
379
425
300
446
424
374
419
371
462
438
354
400
377
471
462
467
300
490
442
438
316
428
485
476
374
411
481
403
363
410
423
306
464
373
446
317
497
361
495
405
662
551
565
644
745
784
739
518
477
724
458
804
660
748
661
506
787
724
621
765
475
486
625
459
817
508
613
578
766
777
588
816
803
694
574
511
727
572
793
526
433
786
444
770
768
740
542
469
632
634
630
452
619
438
665
640
747
648
764
570
425
601
560
681
596
617
704
497
613
768
531
451
616
639
820
488
439
644
768
704
571
437
446
533
439
589
456
602
558
563
585
705
614
783
814
753
529
611
698
798
542
625
689
488
482
524
801
542
749
585
476
482
523
576
587
495
471
420
573
578
794
698
739
813
730
721
787
532
472
474
812
675
630
437
745
726
604
442
569
766
584
496
444
487
582
690
816
587
686
678
600
483
518
811
581
690
792
756
517
599
681
518
778
589
588
601
727
770
739
490
578
713
662
514
618
586
623
807
619
782
727
795
689
502
538
439
513
641
737
591
659
562
677
505
576
684
680
603
817
564
808
451
523
798
622
626
674
735
467
657
745
546
753
740
438
645
469
633
486
721
639
693
680
788
469
743
742
768
434
425
681
772
436
562
468
624
727
530
753
789
490
617
723
596
500
609
483
763
716
708
452
511
765
564
726
721
714
675
584
623
485
586
791
451
785
655
667
680
763
459
510
568
682
767
522
533
818
462
478
580
663
464
784
500
629
760
507
563
668
758
569
639
607
562
630
734
717
513
802
793
813
695
519
686
445
699
593
477
491
658
561
697
653
443
601
574
434
423
753
770
569
740
717
783
650
699
557
528
464
792
752
630
425
541
526
528
727
800
459
465
718
697
633
484
538
622
804
813
563
496
788
468
578
613
474
794
515
700
569
509
686
444
761
746
608
727
504
796
682
709
771
653
507
779
607
473
483
788
460
734
725
492
733
610
583
432
456
535
663
488
521
742
719
440
494
624
726
507
560
681
551
713
527
768
528
594
728
654
792
696
513
483
540
533
539
800
673
597
604
488
750
705
498
759
459
745
706
604
768
547
432
585
752
599
537
727
425
433
778
437
483
748
565
796
435
477
472
576
470
449
763
500
584
620
711
490
629
421
557
445
476
686
755
496
593
610
541
552
583
469
502
596
610
586
605
434
589
429
534
652
743
500
619
422
625
458
667
435
589
647
566
792
658
511
786
624
770
524
543
568
749
686
686
687
570
584
798
435
627
445
653
505
448
577
425
649
623
587
815
794
445
506
479
724
621
521
591
508
801
712
754
792
728
809
723
448
441
744
772
700
785
522
683
686
420
678
787
716
565
752
773
794
617
577
583
802
660
559
717
813
809
450
498
747
564
432
552
760
494
733
738
525
662
811
549
638
531
740
729
456
521
432
542
574
469
506
577
629
504
590
488
644
620
725
721
659
754
756
434
539
638
463
437
790
421
688
712
773
507
568
683
718
580
811
698
716
439
433
485
739
798
571
457
549
699
586
509
454
633
691
504
757
812
729
470
507
449
789
816
556
769
563
732
512
491
659
659
478
609
443
772
497
620
581
789
774
578
632
783
753
548
662
493
722
531
506
795
575
736
648
764
745
671
611
435
793
519
779
522
773
704
606
464
801
660
447
810
765
649
569
426
541
453
445
543
721
804
698
481
718
429
471
565
721
769
614
707
692
618
588
752
491
671
745
727
714
569
771
644
807
616
623
581
552
690
588
656
714
801
463
494
641
749
818
453
712
581
817
760
725
458
602
593
748
446
680
555
543
813
481
444
467
769
545
577
443
425
778
622
684
779
558
447
758
818
757
507
812
506
569
426
731
617
619
751
754
725
645
432
597
441
682
658
600
491
485
528
492
722
444
507
427
426
598
799
602
695
781
802
520
787
489
806
756
791
459
753
630
595
723
754
487
812
691
541
470
723
504
773
684
528
545
454
793
585
612
717
677
735
490
696
514
482
551
510
776
814
633
570
468
762
482
585
621
762
583
732
588
635
572
629
566
645
612
465
812
564
720
777
529
580
663
504
525
702
485
750
667
773
716
641
699
608
481
672
718
672
524
755
569
588
807
730
510
472
526
808
725
699
696
563
450
486
420
521
722
698
504
587
706
543
566
699
810
641
547
462
513
539
521
512
688
468
596
478
491
441
648
651
804
462
518
730
486
497
749
651
701
562
624
718
545
786
777
697
462
614
724
761
794
600
534
459
784
630
806
438
455
719
510
748
662
723
791
527
636
680
791
661
554
641
609
542
813
527
656
738
789
786
670
756
510
470
748
561
543
693
607
645
581
678
726
566
633
770
524
570
479
804
810
426
745
698
478
703
749
533
438
762
580
793
741
789
476
742
426
624
806
506
480
717
572
614
428
771
652
667
591
762
633
513
549
758
648
612
644
667
741
493
642
732
770
513
762
591
425
425
557
531
820
425
609
801
590
484
797
743
798
422
718
756
486
454
782
580
658
491
510
749
513
553
685
441
470
702
731
790
569
788
539
634
783
444
756
647
645
774
633
680
442
486
719
665
445
738
525
595
564
790
520
785
723
765
469
490
459
560
568
598
664
665
547
573
661
636
506
646
709
499
449
736
502
439
817
538
754
760
518
634
723
684
663
624
487
768
666
793
766
674
734
611
494
755
743
590
430
459
457
476
668
577
541
632
708
506
810
546
565
431
762
769
746
560
426
514
767
523
672
757
729
563
662
787
547
623
526
799
751
460
786
710
680
618
519
568
583
679
650
700
755
541
636
585
465
574
637
752
548
482
425
627
754
613
673
449
721
466
665
764
659
428
616
747
780
467
707
484
470
548
459
664
622
637
697
794
527
741
768
571
777
797
804
542
609
767
542
538
469
721
634
566
820
475
664
721
671
588
679
521
625
496
718
552
513
595
677
502
648
632
471
817
539
733
492
609
484
797
720
777
721
496
647
714
453
633
637
736
703
437
539
492
784
656
426
806
665
572
585
705
693
559
689
681
666
772
424
685
546
757
482
763
792
624
610
756
730
491
462
671
550
578
453
461
622
604
765
501
573
428
630
423
473
767
506
523
614
785
439
638
817
541
707
530
685
541
783
544
816
648
555
519
611
427
721
681
453
569
568
459
709
736
640
593
810
692
794
787
501
515
705
685
686
750
776
558
776
707
748
460
543
764
501
548
561
733
636
696
593
580
503
557
644
746
567
809
575
819
455
556
649
707
781
550
594
697
507
514
702
706
771
762
527
636
820
811
514
466
764
793
691
760
627
495
465
598
478
737
682
778
746
696
630
721
529
541
624
600
543
474
443
515
787
621
716
678
657
811
653
602
512
550
698
683
786
522
677
526
656
674
746
697
443
770
529
620
755
457
566
731
517
804
675
773
497
648
437
432
749
747
482
570
537
697
712
615
551
806
510
556
459
762
645
797
694
538
608
501
552
698
688
708
782
506
803
428
699
592
584
602
576
788
551
566
673
489
461
539
604
475
444
658
525
459
550
818
455
731
453
561
673
449
546
695
569
787
493
812
740
459
523
604
443
515
817
544
493
465
795
549
754
765
578
700
495
511
785
676
671
796
687
464
663
727
615
531
576
607
811
683
510
813
757
478
748
583
786
771
653
674
479
496
568
584
666
743
816
551
743
550
708
583
802
551
595
739
473
507
646
549
664
719
791
583
481
534
785
719
661
737
595
432
673
779
817
749
671
708
494
676
663
597
587
779
584
524
610
607
526
464
595
447
643
438
487
587
533
636
521
742
594
539
787
727
716
447
652
772
608
708
531
709
627
420
458
659
750
443
765
464
432
520
796
714
465
815
740
587
441
482
678
730
798
657
634
531
571
729
597
646
796
456
687
564
526
543
590
817
476
555
463
555
783
765
449
489
600
819
536
453
748
552
498
747
638
778
479
719
732
470
599
612
460
472
468
529
723
645
684
694
479
474
454
771
676
462
518
684
522
450
609
509
673
703
631
583
614
474
779
769
667
815
591
777
706
548
812
711
427
448
531
430
439
623
454
427
655
427
501
532
754
685
486
450
621
626
790
739
530
715
810
549
549
796
522
585
597
810
505
685
624
516
440
434
762
554
670
534
458
708
700
643
688
701
580
432
640
506
705
582
440
528
598
577
769
731
699
532
819
685
673
622
431
451
563
794
702
681
662
734
449
647
475
728
788
497
741
578
555
517
479
729
766
799
670
473
425
651
673
499
584
556
758
670
553
708
647
766
564
801
725
735
666
765
541
509
490
547
434
515
433
780
514
706
714
664
575
477
775
561
562
473
634
506
483
575
561
733
438
628
517
629
721
640
451
687
737
437
422
503
505
498
783
548
812
439
704
651
520
799
640
498
788
617
461
808
456
708
615
596
501
549
686
699
813
492
700
459
640
681
781
685
678
701
723
739
613
557
812
520
458
462
479
433
751
775
430
779
557
651
690
556
604
507
619
575
436
600
488
560
672
757
435
803
531
601
761
525
747
539
482
424
798
790
420
790
714
715
674
578
536
435
816
439
591
539
516
600
643
725
434
654
775
641
703
558
432
762
455
573
801
750
740
563
425
479
738
557
463
756
467
690
691
621
616
520
751
477
585
482
531
738
450
446
490
659
490
680
487
701
677
538
630
752
432
445
488
457
691
508
533
463
686
652
455
571
616
506
634
673
666
573
793
755
539
527
643
600
708
440
649
755
538
577
476
552
459
715
769
724
459
498
625
651
480
438
713
677
701
746
636
706
542
694
654
556
679
659
752
673
685
684
813
795
457
464
467
568
470
658
612
752
466
422
589
576
455
753
737
700
718
682
758
655
509
466
518
746
449
525
748
516
597
598
677
540
647
512
488
562
534
785
491
645
587
573
480
546
608
732
793
605
507
820
576
535
774
770
478
717
647
576
732
564
555
460
508
760
460
674
553
719
729
728
553
610
535
733
428
776
699
609
820
423
635
530
528
436
502
483
664
798
677
425
758
808
666
511
473
797
448
682
561
625
608
468
791
427
674
819
519
672
584
583
515
680
471
432
693
429
747
462
782
765
526
588
546
709
610
514
719
653
572
817
525
662
745
628
660
693
668
739
814
813
503
749
489
506
718
702
609
486
768
614
756
752
468
633
489
632
739
682
611
599
580
650
617
635
795
520
624
703
808
591
731
759
533
657
555
421
525
438
547
678
449
463
635
786
766
498
777
740
668
713
574
725
807
446
744
447
588
653
591
593
809
588
424
774
614
524
554
440
504
642
467
799
736
535
583
573
750
477
460
797
463
482
505
705
796
593
441
614
501
590
496
519
493
456
787
568
798
425
642
631
660
598
765
633
560
671
679
637
618
438
500
640
451
657
462
601
498
441
633
726
500
714
767
705
704
554
471
747
749
522
469
524
435
495
557
746
512
438
769
685
754
770
745
529
770
752
436
565
745
625
437
592
492
446
664
495
712
791
561
754
501
474
813
608
587
726
662
780
790
477
446
752
570
558
532
686
426
819
510
740
516
661
736
443
514
439
484
720
526
690
690
703
571
796
561
570
444
579
590
501
648
700
769
769
797
440
567
734
755
463
784
689
575
558
729
810
455
565
468
768
780
816
808
542
628
447
747
747
566
421
604
459
757
808
782
693
676
432
496
668
592
814
639
650
731
589
450
481
731
569
657
569
783
643
475
612
439
486
652
726
485
539
610
772
611
686
658
659
525
790
519
558
470
531
643
651
746
520
811
449
612
458
518
527
605
638
496
501
641
566
742
423
544
741
601
802
490
711
814
527
819
802
774
796
608
781
441
504
500
753
473
456
443
486
420
502
514
744
649
646
659
732
735
751
711
624
624
706
727
807
787
440
695
648
679
747
670
538
459
784
502
631
554
810
430
623
629
787
591
742
748
600
634
686
814
799
679
491
725
457
425
801
763
521
590
676
571
573
645
477
567
546
699
620
697
478
694
609
582
703
644
557
788
653
461
634
495
492
706
423
646
770
592
467
784
666
630
797
704
477
513
451
815
459
766
720
495
594
510
789
564
694
632
800
517
819
475
702
672
682
743
686
588
446
528
589
639
497
482
690
766
668
617
560
691
502
590
510
739
598
648
638
752
472
518
581
792
808
588
507
693
628
812
594
452
575
667
463
719
801
608
598
512
510
502
425
635
523
481
682
607
778
509
749
503
470
472
790
575
531
491
648
581
553
776
671
727
710
643
496
776
567
434
553
719
679
689
791
730
715
743
781
556
761
712
689
522
630
441
521
520
496
538
490
624
656
797
603
623
815
713
629
749
545
609
795
428
600
569
491
546
800
790
538
530
680
720
697
749
462
796
448
815
445
808
536
705
812
654
640
574
530
805
508
510
721
685
642
549
764
449
794
509
591
611
591
808
596
751
505
435
429
488
641
620
471
593
608
765
492
431
504
757
787
708
610
547
450
495
746
614
576
730
674
627
795
458
519
799
662
633
522
717
539
797
433
618
622
666
688
491
756
580
797
622
528
468
711
624
639
733
446
735
668
461
602
631
481
674
570
430
669
637
719
559
550
506
497
757
807
717
490
721
660
438
447
599
608
759
438
571
454
786
658
537
798
470
559
505
746
722
817
657
625
426
561
811
509
677
487
430
719
699
546
688
598
453
755
556
627
697
590
665
675
573
769
626
750
795
603
667
511
648
754
696
793
597
804
786
470
776
814
421
566
705
695
434
595
572
727
570
751
434
528
746
768
777
770
532
639
583
654
587
420
801
481
427
467
744
648
594
474
614
693
509
544
661
764
568
688
697
580
787
505
757
781
784
490
805
726
786
660
558
606
770
474
810
688
764
754
652
688
733
500
526
599
611
538
817
694
518
710
621
433
578
454
439
555
436
543
645
800
816
737
458
746
612
471
729
436
621
635
637
677
430
687
508
674
699
498
704
648
725
808
455
788
817
445
649
421
527
602
642
627
759
573
599
499
618
721
700
664
561
531
578
797
535
620
804
454
783
524
598
580
529
531
694
725
498
701
661
490
464
740
752
564
440
768
595
767
602
745
707
426
608
675
566
430
538
727
722
762
617
432
800
750
717
506
692
492
460
500
485
449
699
446
813
632
631
609
502
464
642
619
606
527
718
536
754
733
760
427
572
734
527
486
506
746
783
424
600
804
676
723
475
772
660
629
777
614
483
441
748
515
600
782
566
590
445
527
428
739
694
424
786
588
505
623
758
615
713
711
728
808
528
820
532
465
820
714
820
474
638
629
769
738
765
582
582
673
731
792
643
507
675
651
537
682
721
661
719
474
750
547
442
554
527
552
667
442
771
751
793
429
468
539
742
471
697
505
591
689
581
626
691
750
757
621
627
456
443
755
508
547
471
801
745
647
749
604
676
588
754
814
654
434
702
654
557
795
784
512
599
624
743
640
681
617
691
743
686
798
448
758
454
627
778
477
748
713
671
458
593
474
611
744
487
490
805
425
755
659
452
710
790
567
567
445
433
630
751
546
791
649
422
660
571
514
709
452
631
692
727
789
736
558
808
533
518
467
641
466
678
689
790
541
490
515
521
680
699
712
607
561
677
463
799
816
681
503
694
524
642
658
447
464
627
576
589
688
544
608
471
780
582
717
657
671
530
490
794
579
574
674
504
781
448
444
601
735
426
725
530
777
466
481
650
574
572
707
751
614
736
788
782
735
559
438
814
617
490
449
638
483
488
454
625
639
488
759
747
462
623
688
776
598
756
450
762
596
762
567
749
478
579
806
488
727
662
453
662
760
628
606
442
547
695
454
728
544
467
573
661
775
499
733
534
502
765
613
770
671
559
597
630
463
434
648
508
775
745
434
605
423
502
700
521
583
678
567
624
534
677
660
496
512
529
445
738
818
731
639
676
569
666
593
734
455
462
647
638
771
564
770
660
550
459
715
596
672
753
429
674
523
461
580
666
550
763
656
799
697
619
694
421
509
730
703
569
678
681
771
572
793
718
778
640
664
475
677
595
583
475
551
685
463
504
665
505
754
591
690
430
694
586
542
489
780
458
659
701
730
712
764
481
672
611
741
676
611
503
664
678
664
622
561
720
655
499
427
691
626
741
731
806
424
724
536
576
552
686
638
471
624
450
469
492
676
576
575
723
559
815
600
465
578
606
730
785
435
466
581
559
765
637
453
550
548
521
468
534
774
743
646
575
736
487
453
459
609
459
491
615
705
521
460
485
759
620
742
780
577
786
605
572
555
495
478
537
462
735
420
698
725
576
445
570
695
690
453
629
651
480
675
499
674
745
493
528
693
523
601
758
444
653
509
557
775
639
529
452
753
784
782
628
548
814
587
582
503
654
489
751
753
521
797
428
580
448
612
691
425
555
741
501
733
808
688
466
476
570
747
603
657
569
633
436
819
776
597
491
633
525
596
731
793
562
622
589
475
773
672
535
603
602
692
629
427
719
725
734
422
786
719
586
693
504
681
602
489
501
781
481
593
709
675
532
741
487
740
508
586
671
800
598
614
641
645
749
694
707
561
465
605
638
427
623
449
763
551
474
426
805
642
769
602
647
754
531
643
459
717
748
774
629
748
571
433
423
442
731
435
549
497
494
510
731
443
581
578
708
636
687
515
643
515
741
660
623
594
457
426
445
500
490
634
632
679
627
665
814
577
769
795
738
455
487
518
806
477
720
548
625
670
633
644
811
462
616
589
524
512
721
476
817
700
660
572
594
690
579
476
692
740
750
501
796
496
625
512
709
735
642
670
481
746
486
684
619
604
803
421
621
709
440
500
655
481
505
790
588
495
520
752
424
782
705
802
655
509
788
698
494
541
539
637
433
578
443
528
647
614
657
544
750
649
758
510
574
774
627
581
723
535
703
732
488
552
814
684
687
799
689
630
471
716
496
674
690
643
474
464
771
674
531
787
755
442
631
534
571
476
583
651
420
701
580
634
527
494
420
512
499
752
660
566
496
524
502
438
804
604
664
523
433
796
430
494
819
602
583
584
708
703
738
596
772
701
649
494
658
819
470
769
543
762
741
666
673
743
804
702
747
568
552
523
793
622
535
812
479
565
595
596
534
712
423
765
710
520
689
806
534
594
468
472
732
465
458
808
633
794
814
683
433
789
619
580
814
577
663
515
692
752
565
804
664
751
816
589
716
445
808
715
533
521
459
592
448
470
498
539
485
573
481
565
561
525
437
492
643
585
793
766
574
492
778
774
485
629
496
818
476
637
437
426
732
591
454
671
488
589
536
769
448
788
654
631
581
444
578
687
547
429
461
469
481
600
646
662
482
758
445
584
732
523
438
509
472
630
613
588
560
734
807
697
707
745
543
616
643
501
601
515
692
811
706
526
701
622
767
439
575
814
635
636
678
724
711
531
451
429
577
475
502
774
450
471
633
763
700
616
496
746
754
609
543
764
592
756
473
520
487
644
812
548
786
600
425
721
734
672
524
781
807
574
488
737
510
800
560
472
630
765
536
659
529
668
436
586
579
554
465
738
542
448
521
788
456
688
729
766
740
630
609
550
624
584
536
521
575
464
676
604
480
715
467
775
745
579
621
428
542
612
428
470
600
458
431
706
654
468
534
451
547
673
513
793
667
457
539
743
624
438
529
750
654
539
798
593
588
674
490
426
598
526
711
547
438
786
455
657
520
696
485
423
692
809
500
800
768
644
541
665
662
442
604
568
802
435
577
790
554
552
621
684
508
776
602
776
613
583
798
558
618
564
687
535
535
512
577
459
426
713
598
601
456
604
808
452
699
449
504
812
559
466
436
691
621
804
593
723
670
815
477
633
549
490
790
818
776
494
655
474
430
571
655
604
786
818
723
736
728
682
750
468
601
801
754
513
550
781
742
785
463
485
523
425
652
765
693
498
646
655
762
612
689
818
593
723
786
676
778
509
674
534
774
520
682
541
728
802
775
819
635
508
576
512
466
517
790
712
524
742
464
789
601
704
596
483
519
630
474
781
496
424
530
438
690
595
644
716
793
503
484
552
504
621
535
545
748
569
541
510
494
444
789
695
774
638
533
579
597
566
616
524
747
457
780
658
695
582
650
501
668
508
642
608
590
566
604
734
490
442
798
514
553
572
606
456
456
513
762
503
612
600
715
801
714
493
793
608
817
595
681
586
807
799
626
811
687
582
683
476
651
441
581
577
639
519
705
578
687
619
577
449
797
510
738
761
426
710
599
599
464
512
705
442
514
461
573
669
765
525
631
716
818
777
810
510
619
724
590
784
567
712
719
675
744
537
420
770
638
743
693
607
809
600
770
813
594
522
752
607
430
801
721
578
805
777
573
434
651
468
726
750
751
424
476
685
599
642
716
453
761
725
674
768
496
803
684
795
528
441
524
597
483
539
539
584
523
730
442
525
461
445
472
636
649
671
698
494
458
668
524
561
590
597
614
617
516
680
525
548
539
733
602
516
579
767
736
570
451
751
725
542
651
582
722
628
625
563
735
516
653
800
473
817
492
748
707
562
800
558
775
522
807
716
769
786
484
521
818
763
649
682
633
488
479
587
747
577
495
663
645
775
719
515
789
562
609
780
555
568
559
814
555
597
662
443
651
769
494
505
500
615
798
751
669
704
583
645
473
507
508
681
623
524
483
720
787
612
597
654
602
456
686
596
577
618
677
614
719
570
563
818
792
645
792
590
712
716
796
741
744
815
808
729
464
537
648
692
650
605
614
773
611
514
717
755
562
550
552
690
549
530
637
512
681
527
425
527
451
501
791
650
423
679
468
605
475
487
640
573
560
700
793
504
509
590
562
488
787
800
585
669
743
815
464
730
763
422
683
478
617
524
770
677
777
682
581
421
444
677
507
602
625
629
433
480
607
653
758
681
722
795
508
601
458
426
715
769
780
565
455
675
767
458
794
604
790
547
612
535
651
572
566
512
500
436
642
649
542
689
534
588
489
508
705
474
756
480
778
695
553
461
753
754
424
648
632
746
635
422
458
634
456
763
602
686
592
504
783
686
740
775
559
455
677
532
796
540
459
596
671
696
680
805
483
548
513
782
798
780
485
603
644
506
718
469
658
530
742
495
815
808
796
643
764
647
578
571
776
596
632
609
498
650
756
464
604
678
581
485
502
492
519
577
755
818
727
504
710
755
708
603
799
693
571
661
519
550
461
723
736
710
737
612
783
585
502
668
785
526
755
697
695
781
539
436
456
708
612
757
589
542
645
562
677
478
793
623
591
811
735
690
656
557
817
437
493
626
566
498
800
558
614
458
698
528
522
445
533
787
732
749
465
586
575
553
715
516
789
466
818
563
527
630
744
483
538
654
673
667
538
577
483
676
654
478
438
613
595
797
544
494
573
773
444
585
437
678
478
479
470
441
698
473
647
467
576
550
683
526
531
696
798
681
802
523
729
593
657
588
642
544
601
726
421
461
440
530
548
510
574
428
426
769
615
628
802
817
636
594
739
426
474
519
565
556
686
588
658
432
585
712
609
789
613
533
790
540
801
810
567
809
639
426
661
450
690
708
719
549
515
524
613
490
803
458
678
449
486
520
609
674
654
470
432
465
563
719
803
684
434
628
442
590
742
770
719
456
529
575
801
801
632
527
815
560
696
516
427
517
559
616
811
663
575
813
710
748
633
784
626
450
573
535
475
424
676
511
491
449
684
811
611
541
541
611
781
733
679
752
587
776
618
706
452
626
774
659
444
449
632
771
786
548
797
478
491
814
559
639
558
731
472
697
487
468
659
573
449
430
792
679
676
592
698
452
683
469
791
760
697
551
548
777
543
729
758
439
707
817
474
526
653
635
697
715
667
429
535
454
481
808
538
643
734
791
773
549
730
688
677
809
550
494
566
541
620
495
441
771
480
595
700
670
441
571
577
605
733
769
686
736
633
445
643
538
471
599
787
710
724
455
631
634
647
471
480
586
539
437
541
796
751
508
798
456
708
454
510
751
722
509
582
696
641
592
584
506
780
605
454
484
554
539
750
568
680
529
501
587
575
667
476
808
463
480
747
426
708
428
440
525
770
484
807
727
594
790
561
728
504
576
513
504
495
459
591
812
426
811
571
546
748
680
589
558
621
756
498
729
809
452
743
554
489
678
683
442
515
737
468
528
714
535
457
517
765
690
564
663
762
780
573
432
434
470
641
456
753
457
548
803
521
656
501
673
565
770
758
494
810
535
538
548
512
699
451
651
739
696
792
515
504
491
796
683
476
489
526
521
795
510
799
674
776
736
806
624
724
569
541
658
467
771
635
595
501
557
537
626
674
536
529
500
710
755
453
634
811
736
626
632
581
737
506
488
528
598
791
753
731
628
524
818
716
582
629
805
473
527
805
462
423
469
708
434
533
666
497
441
493
521
675
604
532
438
625
572
740
729
471
777
710
457
567
554
611
621
657
819
571
642
688
546
594
569
693
513
789
546
442
512
767
603
705
435
798
686
729
675
800
536
441
449
441
810
683
576
432
461
544
555
794
467
672
678
578
640
816
491
614
703
658
762
817
530
569
597
492
631
689
758
638
572
755
668
426
435
702
716
519
479
558
497
794
739
687
813
563
597
663
685
451
485
666
695
751
577
457
780
444
511
504
527
749
648
709
427
701
768
476
752
671
494
674
513
724
779
594
676
449
688
771
594
779
515
724
765
725
421
681
476
629
646
805
770
804
707
549
481
675
641
562
451
651
454
625
808
769
542
442
559
598
581
652
475
506
602
435
768
741
666
771
598
595
644
634
668
615
531
717
770
506
498
425
657
436
793
536
688
634
440
638
513
621
684
489
636
513
527
568
611
781
548
549
774
758
757
421
439
603
570
624
488
710
672
763
610
433
452
783
766
746
481
612
799
495
518
502
457
733
561
521
632
548
468
718
712
765
563
704
774
492
624
606
432
820
497
761
575
452
600
611
715
632
429
489
557
502
811
569
577
740
739
820
461
646
668
558
619
468
601
471
624
723
485
785
446
720
815
420
661
767
722
785
546
444
630
459
750
498
463
752
735
654
772
781
462
524
538
633
526
481
424
749
792
522
579
459
722
492
710
657
585
549
773
739
708
820
533
639
483
775
660
438
713
743
684
665
512
506
701
672
448
761
735
756
781
439
631
797
780
491
527
456
432
420
589
778
455
534
510
560
768
722
568
618
488
659
779
600
487
751
557
538
644
766
516
504
628
737
522
783
769
807
793
580
534
452
766
706
741
434
532
535
460
536
806
470
725
743
474
674
818
642
683
736
689
453
718
430
524
540
732
584
786
778
529
469
453
582
472
560
736
603
682
647
734
744
504
470
550
498
537
648
489
788
646
437
599
739
652
430
538
767
532
645
615
432
615
819
442
683
806
504
554
495
565
521
780
526
489
801
618
590
736
576
575
511
703
649
484
602
614
608
526
508
715
806
718
787
425
597
798
586
751
672
809
760
596
803
522
572
503
557
577
799
564
717
769
447
648
467
684
612
482
810
767
499
650
574
568
461
646
712
672
704
501
541
763
558
580
538
587
652
658
739
482
611
803
759
546
564
552
466
652
810
547
570
487
475
643
818
624
618
634
482
494
594
446
804
667
645
641
739
596
625
695
801
730
548
472
586
749
753
690
557
544
528
757
670
756
712
591
471
705
542
724
510
719
536
740
576
798
503
500
601
655
505
693
618
430
466
487
504
584
644
586
768
426
795
806
497
788
681
439
615
626
553
789
644
434
426
620
719
497
467
596
686
785
456
519
713
498
560
519
790
546
552
490
451
767
629
677
686
802
479
684
767
500
665
577
628
816
703
676
522
460
444
640
570
756
510
625
754
555
490
805
590
576
767
519
674
616
799
576
685
619
534
423
487
728
711
490
621
686
442
421
574
560
538
710
650
452
684
633
696
587
540
447
552
572
443
590
698
616
566
811
594
737
441
655
794
743
549
536
425
487
695
452
713
430
638
612
788
740
709
757
584
565
523
736
678
793
633
632
668
548
433
615
432
673
598
649
572
709
496
817
476
800
504
681
806
762
517
761
521
501
638
448
449
665
679
767
649
612
568
475
431
811
785
642
730
804
521
727
805
421
534
619
715
645
796
569
506
559
576
459
455
798
436
659
552
589
619
778
545
702
573
586
663
659
786
468
661
783
729
555
604
462
646
760
812
454
545
634
426
663
553
786
441
430
459
677
763
792
553
590
744
464
553
487
636
510
712
819
445
793
478
719
465
484
554
566
457
451
779
507
678
584
547
555
795
780
728
662
617
727
774
814
513
606
711
609
810
731
668
804
421
479
620
648
724
557
691
798
685
723
494
732
574
735
627
593
563
467
763
452
445
611
483
754
516
781
597
687
497
766
637
607
421
604
525
724
635
731
643
551
666
667
769
563
512
547
570
759
753
691
697
695
732
745
625
694
661
517
435
584
529
505
735
499
435
441
541
675
446
563
762
801
523
666
760
653
605
609
697
479
786
711
643
539
471
428
599
581
584
820
740
710
420
725
538
741
744
751
477
478
425
616
802
429
426
570
505
556
437
688
662
767
723
502
585
773
570
546
692
462
721
608
567
531
604
696
662
628
719
592
814
530
687
501
459
639
819
798
568
574
493
425
779
537
494
667
632
807
778
677
537
544
448
643
764
579
621
551
635
640
765
434
711
573
455
450
576
759
497
637
581
805
478
467
768
561
529
483
775
582
611
510
420
584
481
539
775
616
634
783
703
665
499
728
453
590
783
421
710
473
732
749
755
798
513
516
566
446
493
744
501
695
573
723
606
725
673
677
429
428
528
455
593
474
719
751
722
565
475
436
795
430
691
490
602
716
578
767
656
561
616
591
637
569
679
489
789
659
789
589
773
596
783
704
593
516
443
640
450
600
648
785
545
795
476
719
562
635
780
736
731
510
622
738
751
738
685
528
514
800
772
722
815
611
446
573
720
589
549
565
713
748
668
546
550
651
582
470
441
687
785
712
622
558
779
681
543
486
574
490
553
696
768
814
674
690
595
479
722
672
588
576
793
756
757
637
501
811
602
427
485
719
658
819
487
624
507
594
499
539
644
645
664
517
425
733
787
748
610
739
456
563
487
725
608
801
569
810
516
524
656
627
633
669
426
582
421
801
644
493
628
608
816
492
647
460
584
631
710
597
727
435
441
734
627
472
741
646
647
630
513
574
756
805
463
550
506
487
442
718
499
689
590
496
799
801
462
434
699
576
497
432
687
716
425
470
736
599
531
477
646
520
494
461
702
773
777
604
711
431
611
762
526
461
523
520
703
600
741
759
654
620
507
683
761
556
601
711
476
574
569
676
628
667
491
804
689
446
492
644
700
599
678
758
739
532
632
450
619
489
429
735
651
788
575
633
775
712
583
725
540
424
496
604
464
761
493
516
549
737
637
641
722
803
774
753
731
485
792
710
464
480
425
449
565
554
761
544
774
427
707
795
430
766
690
739
631
578
486
525
465
530
769
796
742
795
645
659
475
638
773
484
611
455
533
638
468
498
432
445
487
755
681
446
610
738
427
439
614
604
730
758
476
760
786
751
478
636
625
746
752
572
616
682
754
439
440
615
630
752
486
568
551
431
496
682
665
623
614
790
772
510
529
472
751
703
562
641
740
660
645
675
751
696
797
675
563
680
749
584
782
498
820
478
516
463
692
709
723
584
523
766
754
573
435
671
511
530
665
675
686
654
540
803
446
648
766
720
740
629
638
789
540
670
679
595
774
764
501
747
815
472
745
546
542
530
551
455
530
705
752
626
568
528
720
633
499
733
608
677
533
428
500
748
689
782
665
791
603
730
637
486
713
576
569
432
492
566
532
791
710
799
444
538
471
676
501
753
530
816
583
521
463
793
471
458
752
784
816
660
504
424
540
541
743
552
562
555
817
711
425
488
472
497
640
480
569
582
702
634
631
686
543
480
533
694
553
591
510
793
443
762
762
713
735
754
814
757
570
622
550
421
713
557
516
719
636
816
431
434
648
756
674
677
609
509
761
542
680
509
613
649
719
470
651
583
522
501
533
814
760
421
621
745
452
651
448
554
504
683
583
656
756
561
661
525
568
441
700
731
726
667
772
586
491
727
539
809
633
635
703
509
523
471
421
814
420
583
803
577
729
454
669
693
448
808
815
624
671
816
693
656
746
492
788
624
566
713
590
787
747
499
693
470
497
767
427
486
729
521
661
595
690
545
560
557
612
689
771
755
679
751
521
522
450
623
546
657
716
808
653
569
665
617
737
513
629
629
674
668
641
784
443
421
638
675
550
584
516
704
804
599
490
601
579
422
817
772
633
529
699
586
675
671
713
473
531
432
694
532
439
790
635
730
701
693
648
606
810
688
486
589
640
485
660
537
518
638
692
775
781
797
534
672
566
423
660
564
432
636
792
420
489
476
427
661
420
810
710
643
511
753
595
624
536
536
449
737
569
706
445
764
793
693
450
795
619
438
424
640
814
799
595
657
808
751
579
561
663
567
485
739
589
635
519
450
618
529
764
520
435
648
708
778
470
733
526
643
430
775
423
696
668
780
704
478
820
531
422
435
548
689
456
777
739
745
517
637
665
769
723
816
572
539
756
444
590
635
552
560
711
666
424
688
634
477
472
426
810
497
743
756
700
607
562
446
597
466
729
517
539
729
573
570
573
668
523
529
446
533
497
637
500
794
453
533
538
789
489
726
742
509
598
727
657
715
544
544
810
495
468
792
788
781
786
430
553
760
618
749
600
746
677
484
439
688
818
473
664
658
540
437
607
633
558
766
433
706
702
595
704
800
538
747
431
563
464
623
584
743
442
533
693
577
755
491
543
445
511
511
633
479
484
662
451
639
596
800
797
746
493
630
505
757
760
573
549
547
680
533
770
799
649
596
466
625
695
780
778
638
633
548
595
632
757
489
558
782
478
527
757
685
567
668
568
726
425
449
519
603
817
597
456
734
710
560
439
519
731
485
515
789
576
430
534
736
804
451
583
791
798
769
575
558
753
456
594
818
767
464
490
679
719
730
636
589
607
719
505
488
597
769
610
694
544
728
767
702
816
427
663
437
428
563
786
748
599
445
593
662
702
730
500
623
578
522
749
554
738
655
630
586
642
774
751
788
667
657
759
676
811
615
708
568
750
770
800
675
496
734
788
447
644
798
595
659
732
768
611
795
720
630
634
576
758
730
557
695
573
634
642
562
438
449
617
693
717
725
513
718
771
442
702
699
525
764
431
498
611
471
641
772
537
430
616
564
750
439
760
501
656
552
785
512
562
443
569
605
805
752
802
731
696
486
801
499
688
434
463
420
557
719
537
475
548
589
611
765
780
512
665
535
534
429
458
486
623
622
813
813
611
491
477
554
787
693
804
627
480
659
789
587
563
495
777
530
769
782
453
456
487
726
756
565
689
820
431
634
474
576
705
634
707
425
493
538
513
646
618
477
519
647
784
749
683
709
819
725
483
512
652
755
613
556
497
450
454
797
742
706
755
657
583
562
619
786
609
727
634
775
789
637
734
434
722
678
736
424
783
499
692
657
783
577
436
722
535
749
504
717
597
622
679
457
425
547
666
676
727
726
580
474
510
760
502
758
510
549
540
460
447
782
627
566
566
534
693
787
660
598
741
522
657
757
555
798
752
547
752
656
538
465
760
428
645
523
692
795
452
545
508
619
708
451
563
678
750
450
778
472
516
543
459
562
548
721
593
748
642
558
658
729
719
550
713
698
596
721
510
667
496
428
764
565
753
782
775
543
752
700
744
630
772
450
725
538
673
811
422
737
513
811
495
779
462
554
468
725
623
549
663
531
462
652
693
667
754
662
700
767
693
701
814
716
710
684
500
644
741
795
774
726
695
458
644
559
644
805
520
686
591
432
485
727
655
532
699
560
568
690
521
724
438
570
451
436
565
499
599
756
465
599
630
445
439
577
731
564
630
609
723
597
421
816
548
727
455
616
486
585
536
601
765
584
742
444
561
631
797
447
552
760
460
436
575
428
619
785
719
629
639
449
484
430
759
446
647
751
697
686
796
578
614
661
604
758
561
599
756
497
715
801
781
452
423
509
809
534
612
684
665
475
701
695
716
533
422
503
727
794
738
586
572
664
623
750
664
590
473
761
481
717
459
643
454
778
448
635
526
540
647
563
626
673
473
782
508
473
519
523
685
461
516
648
749
680
581
724
481
769
635
472
791
554
793
693
585
654
595
491
479
659
702
434
756
639
454
663
685
764
756
721
803
665
805
783
632
651
654
433
766
432
466
539
577
600
424
716
583
527
771
588
817
702
578
420
544
469
605
767
549
485
770
777
601
624
542
712
819
701
727
798
604
614
703
480
511
622
619
488
558
753
799
549
659
446
594
448
459
496
542
725
791
535
693
597
426
699
521
748
580
810
744
608
702
532
558
657
573
802
448
553
574
702
772
703
664
761
616
460
763
506
597
499
744
705
575
758
800
818
799
810
573
735
757
500
809
645
666
766
668
586
680
774
775
514
560
436
740
502
700
768
698
598
560
659
792
751
714
549
759
512
543
642
491
436
676
617
735
779
659
576
425
636
633
476
724
769
673
478
640
513
753
479
559
802
629
815
570
496
672
723
433
629
729
477
442
559
425
529
576
508
536
493
574
572
582
556
521
489
736
672
618
477
532
817
684
555
588
486
464
794
501
499
473
536
461
628
686
717
747
632
792
647
587
573
579
433
590
634
801
472
638
471
638
725
602
627
804
498
546
540
807
571
509
474
606
603
816
525
662
753
656
670
422
804
774
422
541
812
764
433
729
699
781
686
435
572
596
691
731
750
623
710
498
673
767
547
764
468
478
513
518
420
611
539
509
490
681
533
647
654
526
681
743
450
567
447
582
449
810
768
709
773
777
424
717
730
677
511
768
583
794
543
628
617
732
468
755
627
443
610
793
472
818
655
551
478
750
442
467
710
620
666
479
668
679
782
712
814
651
621
784
812
440
421
513
673
468
612
575
731
676
677
527
678
641
755
720
707
491
753
775
543
426
646
594
671
777
438
715
787
543
811
815
748
630
741
479
654
530
782
448
552
770
487
745
485
681
633
644
820
510
600
625
564
701
567
667
590
571
462
717
615
693
766
635
722
592
710
482
738
697
567
604
552
731
659
547
700
626
701
723
437
749
661
624
671
739
764
516
577
513
778
730
482
562
575
774
740
497
558
575
652
539
765
737
456
589
437
818
425
465
548
453
742
420
625
659
797
532
506
652
561
613
484
658
448
718
817
610
480
551
621
442
479
508
798
799
633
616
679
672
680
725
481
426
711
761
674
757
588
624
706
752
542
451
456
530
532
581
567
478
681
578
453
550
691
426
527
534
548
427
655
611
420
424
812
755
448
448
499
730
658
719
776
596
572
437
434
478
630
539
448
521
448
587
803
565
784
507
716
635
809
499
777
599
588
518
515
539
785
605
633
523
472
686
687
743
753
551
724
759
703
635
761
482
501
507
564
813
702
495
500
782
481
628
482
690
588
517
592
483
486
502
666
686
550
820
526
536
709
767
715
642
560
443
796
819
535
657
591
483
689
461
779
434
710
704
475
765
607
477
794
799
578
580
688
461
551
708
483
763
710
780
518
766
552
660
512
617
610
432
737
819
759
491
625
474
629
464
567
598
596
426
646
452
625
590
816
580
711
641
632
804
812
794
804
468
631
747
519
811
486
789
737
637
448
455
513
468
714
654
711
671
814
472
434
609
467
574
816
653
652
529
813
654
633
631
698
572
648
433
633
525
730
653
804
440
517
677
497
741
631
684
650
444
728
450
585
790
600
807
793
434
589
705
673
783
494
558
543
803
579
590
424
785
566
718
704
759
459
499
776
732
643
758
798
680
600
658
495
762
653
809
672
551
645
424
721
572
613
759
606
682
459
644
482
602
774
704
700
442
649
549
468
449
423
644
536
720
548
521
712
670
716
520
524
599
596
793
510
627
674
598
603
442
649
492
533
820
556
727
500
480
631
684
495
645
730
763
787
465
589
433
451
569
820
577
736
739
453
694
577
689
730
537
789
504
718
818
646
621
600
683
620
485
549
762
749
776
815
507
527
588
452
716
758
750
722
676
478
514
636
501
557
725
485
704
800
536
546
551
752
820
675
787
731
742
464
730
476
665
735
588
440
568
770
657
481
654
725
421
684
442
657
784
759
787
443
773
748
582
596
739
736
581
586
531
603
781
596
519
496
760
564
685
624
486
797
616
533
523
503
710
697
794
488
465
577
520
535
466
510
515
725
684
435
514
663
620
512
525
472
713
517
588
421
638
447
762
572
514
656
648
714
708
736
551
699
423
439
709
759
524
473
483
712
493
665
807
492
770
708
592
782
468
644
797
721
709
650
580
769
714
509
444
719
649
728
701
500
787
734
658
709
519
573
802
710
698
567
703
800
677
529
502
532
700
653
739
617
537
689
531
620
730
547
618
691
767
812
783
641
694
732
446
804
771
759
727
539
567
581
667
519
807
581
449
700
612
643
760
744
800
565
618
517
480
699
720
423
628
678
538
538
812
514
801
714
815
515
468
654
483
609
691
713
758
746
436
488
730
625
697
582
515
491
550
465
423
550
598
800
429
728
461
805
449
585
602
704
523
719
724
596
749
774
696
523
604
630
488
446
601
546
490
708
612
676
694
665
628
530
577
630
460
504
743
659
639
420
592
525
611
586
587
804
425
774
576
483
576
648
709
483
760
589
609
615
785
655
814
573
518
598
803
696
538
688
765
557
793
560
464
759
661
739
614
524
711
536
526
766
459
449
423
595
651
675
664
756
786
737
684
632
753
766
454
715
520
473
548
622
813
434
622
763
583
709
593
788
743
532
519
788
729
607
572
785
442
714
700
528
574
743
529
730
576
736
737
543
788
620
642
600
566
533
559
443
677
812
718
537
605
743
665
780
582
555
677
603
653
636
503
808
796
721
706
680
678
739
529
688
637
758
586
766
743
747
530
645
651
460
743
662
573
724
717
562
431
504
601
457
511
452
565
712
656
546
676
738
775
768
772
814
468
651
754
491
774
467
708
768
638
777
731
788
503
552
706
538
636
608
438
656
706
818
660
619
454
591
639
722
475
651
740
819
747
565
481
666
610
640
577
792
723
551
535
581
709
654
769
693
732
568
607
662
431
635
479
552
538
662
781
621
722
446
660
680
661
567
714
590
559
605
446
678
792
459
619
579
461
581
497
613
754
520
736
757
683
557
433
670
688
550
493
754
515
506
460
429
784
451
450
495
820
436
636
460
613
783
529
770
816
669
576
534
518
704
720
477
641
650
422
642
470
453
515
579
652
594
543
527
556
422
507
763
634
736
819
448
449
505
556
517
558
791
447
597
589
471
706
762
527
602
495
454
760
425
790
735
711
568
652
523
656
699
803
615
756
505
579
696
773
715
716
668
508
505
670
814
804
592
742
759
721
764
602
636
541
497
488
772
728
764
506
800
505
778
548
782
799
767
809
618
701
580
561
717
510
587
714
441
673
466
669
430
784
743
486
635
782
519
506
670
582
782
459
564
634
703
725
699
661
725
785
681
549
621
640
664
737
788
586
793
461
739
552
489
536
640
459
420
740
673
447
451
624
448
471
785
796
485
529
434
511
664
567
522
629
437
422
578
672
688
542
794
726
817
429
800
653
806
595
578
516
431
603
514
449
491
587
460
578
789
785
503
623
595
500
751
423
753
484
421
803
493
700
567
710
633
686
620
494
619
488
612
545
591
559
500
736
731
613
493
423
668
672
478
435
570
492
591
694
789
587
641
683
627
563
603
628
548
546
793
548
670
703
560
487
546
792
561
820
751
493
784
596
666
780
502
765
535
552
515
730
791
810
455
714
721
730
467
613
471
498
691
482
652
456
432
457
718
680
540
430
816
794
450
513
767
621
445
804
796
605
797
640
576
540
603
710
746
700
566
570
550
721
458
492
694
521
422
693
652
673
602
767
532
580
666
768
615
482
713
499
455
709
723
565
651
707
797
472
459
645
426
488
781
649
658
512
476
694
623
516
421
574
506
448
786
816
498
778
498
789
635
510
797
600
455
571
440
695
794
550
440
770
611
806
733
473
446
470
477
798
738
420
793
783
769
680
615
613
757
544
612
454
543
782
706
549
493
593
648
507
696
480
491
529
641
483
456
640
694
802
749
774
434
542
685
536
431
728
814
567
475
697
806
576
479
623
673
736
550
545
591
677
820
592
541
812
519
542
616
455
604
451
689
740
493
731
493
656
749
550
546
434
782
747
584
625
735
541
810
488
692
558
569
496
764
815
740
421
518
620
441
764
812
765
434
529
701
456
781
505
543
679
549
580
462
695
555
757
519
621
488
440
460
582
624
803
627
432
520
652
595
738
791
454
813
610
647
477
467
577
495
505
606
742
799
471
513
511
431
615
424
734
762
660
813
658
625
765
657
629
516
777
662
519
547
534
507
526
765
563
594
645
675
783
490
520
788
453
602
678
773
622
460
685
811
421
772
820
753
524
549
516
484
610
738
497
725
538
627
494
707
757
454
691
510
692
748
438
655
801
768
611
807
808
519
685
691
794
521
449
429
528
802
795
507
430
460
801
670
508
726
482
458
742
535
443
600
539
509
663
621
590
492
502
531
711
695
537
482
604
498
772
481
577
637
723
667
433
443
648
686
612
745
612
593
552
583
771
465
472
650
617
612
579
539
790
682
431
752
665
714
503
555
678
733
687
598
739
781
758
706
794
654
773
431
793
608
656
782
520
632
480
630
739
502
782
552
569
437
447
809
442
781
655
535
782
655
759
726
798
738
491
548
742
612
523
738
632
602
704
712
591
750
431
805
621
457
620
448
478
694
802
659
766
621
671
535
493
785
430
463
553
760
523
656
652
440
603
520
811
721
485
580
727
578
499
557
814
622
660
665
706
608
521
436
723
734
810
454
426
765
708
512
590
588
616
443
790
641
761
681
480
531
672
524
735
716
817
778
712
451
733
628
768
434
727
700
727
769
805
543
571
590
805
596
768
444
751
526
456
445
489
550
636
745
720
770
423
555
762
636
657
422
769
587
457
725
622
548
476
495
784
776
452
622
430
622
573
460
739
720
612
650
619
618
639
505
780
800
771
536
456
480
704
706
786
657
707
473
819
638
719
762
809
480
421
661
421
633
764
770
793
421
457
428
800
641
455
517
428
768
640
597
541
479
579
554
780
461
675
681
706
536
608
723
761
732
694
588
661
445
759
807
473
756
573
549
663
458
743
575
546
431
811
674
534
534
565
489
507
522
709
683
601
560
575
509
725
637
611
650
499
584
672
767
814
524
420
794
810
765
686
459
555
579
456
748
628
790
743
523
547
440
731
473
714
800
643
798
464
737
578
613
679
794
760
765
677
435
765
751
428
735
624
545
767
668
501
525
543
619
455
708
526
603
470
712
753
662
773
674
549
639
459
718
702
432
465
637
757
441
460
601
468
811
648
608
497
633
815
651
547
618
501
625
593
788
567
792
803
536
604
701
643
456
724
734
504
768
434
464
583
813
779
730
474
701
497
569
590
472
746
701
620
439
686
656
592
693
614
735
603
465
624
613
724
800
794
482
591
501
452
566
769
754
666
747
758
581
807
816
807
501
778
532
476
812
671
739
567
679
690
679
495
710
792
598
665
683
779
574
699
429
581
692
546
720
510
755
617
631
783
710
710
815
496
707
793
592
727
584
780
763
664
740
507
447
809
634
521
791
632
727
583
788
644
721
550
568
753
752
785
462
468
460
510
464
519
480
558
701
775
680
547
431
673
645
718
698
479
762
677
729
641
476
506
641
807
522
530
611
605
608
678
780
632
459
566
605
490
481
428
720
455
648
633
652
738
533
772
759
675
714
511
650
586
550
468
726
647
523
813
609
498
761
670
490
519
699
700
498
657
756
651
662
611
463
715
689
694
816
638
508
732
633
637
538
635
542
766
476
780
455
475
756
730
536
671
599
723
714
465
596
467
677
584
653
669
589
649
752
597
538
775
543
746
810
638
781
686
695
715
503
464
773
617
790
583
496
588
782
636
736
567
701
715
728
605
496
713
608
643
518
535
654
626
726
465
477
669
647
788
448
534
426
630
795
776
589
766
530
518
561
817
557
693
495
811
434
745
469
579
627
563
792
449
795
567
573
698
543
669
463
669
565
534
480
449
501
664
485
608
727
757
806
652
500
425
621
544
653
725
621
517
814
550
583
516
721
718
779
658
711
737
743
592
529
715
480
652
545
468
813
700
536
684
626
535
445
707
713
725
732
798
746
658
505
667
620
454
764
630
797
801
689
619
790
813
781
581
738
775
751
610
557
532
534
609
739
661
641
711
719
665
526
713
435
585
539
534
747
440
739
608
792
546
739
687
742
549
452
666
444
454
650
687
805
673
442
454
737
430
465
479
690
812
689
692
490
812
652
554
760
778
525
513
597
775
629
820
461
783
787
717
593
638
611
569
484
747
580
770
574
697
747
439
810
610
638
483
516
576
678
645
569
546
762
533
532
467
593
488
669
646
689
493
766
498
756
463
735
527
814
450
726
737
629
769
547
497
430
508
468
630
632
708
689
753
780
639
793
454
579
753
776
667
777
431
527
447
466
798
658
476
425
747
768
452
707
698
702
482
477
577
631
792
704
788
462
724
600
807
695
509
699
579
667
534
507
699
433
533
436
488
667
702
465
704
715
647
497
774
460
737
420
793
750
663
650
534
507
481
541
787
422
634
669
744
795
420
486
661
593
750
563
674
729
741
437
637
561
793
656
538
770
487
440
771
644
715
616
820
674
471
710
470
777
648
805
677
751
492
591
454
549
655
521
574
729
748
523
457
718
463
508
525
795
551
561
709
562
434
744
702
549
482
755
638
767
758
599
783
671
778
544
778
501
798
424
480
652
817
798
655
690
479
466
524
719
577
785
479
804
645
611
468
644
746
773
446
485
758
814
613
681
537
583
543
533
583
623
482
703
539
597
521
546
633
675
817
586
801
497
686
737
757
461
498
665
698
626
422
473
658
524
695
473
748
488
604
599
626
738
647
650
741
701
458
739
609
436
427
537
726
811
727
449
616
796
462
585
442
745
712
694
587
646
721
615
568
772
745
702
784
563
681
469
722
750
687
449
723
477
594
647
710
617
705
662
600
574
479
758
738
421
614
511
742
510
665
622
437
759
547
735
651
789
680
712
734
687
438
811
698
433
678
703
524
595
457
501
782
546
655
755
452
543
640
607
656
439
517
710
622
779
786
775
743
460
786
641
788
778
754
420
542
739
763
533
747
635
441
602
735
476
609
453
724
686
736
804
726
631
475
441
748
688
580
779
533
773
611
465
563
664
700
433
525
643
516
714
602
488
598
613
713
714
805
612
593
610
733
481
546
422
733
806
527
542
439
731
723
793
632
760
484
603
731
598
665
742
505
761
690
717
564
713
579
692
449
744
462
484
531
435
565
778
555
611
573
768
431
749
648
621
628
733
800
436
515
461
707
763
664
474
632
716
530
703
744
639
683
510
483
485
690
447
505
438
708
702
541
474
719
608
715
650
768
715
560
807
532
736
661
664
589
478
754
700
673
715
697
725
562
798
558
777
639
630
667
770
515
720
487
441
578
618
599
665
438
544
635
507
634
729
738
479
768
595
593
672
648
457
785
662
656
691
786
591
578
735
479
648
482
478
728
495
785
715
572
575
452
673
523
561
489
556
469
750
764
435
571
545
685
753
719
776
566
464
771
756
514
434
761
511
429
795
758
644
712
678
677
803
519
458
686
706
422
733
640
792
703
593
509
732
627
582
481
798
569
662
458
455
485
809
431
776
639
499
783
760
796
799
547
440
533
510
529
553
555
503
728
711
580
707
670
774
470
428
624
676
522
559
820
477
464
730
604
480
443
757
645
705
501
710
423
674
509
765
717
818
452
466
693
755
547
483
773
464
802
433
447
643
462
800
604
739
431
811
553
464
739
548
553
674
509
568
493
448
513
704
542
603
504
442
741
475
509
473
678
723
671
552
677
672
574
503
580
664
531
659
727
454
475
478
698
717
721
617
545
446
446
558
758
797
711
689
631
683
484
599
670
678
634
817
516
759
743
577
573
527
478
456
729
687
460
583
570
541
696
696
717
661
724
587
782
751
762
692
753
449
599
722
592
489
645
631
764
593
747
597
716
812
441
460
533
706
748
572
794
755
653
494
479
750
452
581
771
468
475
500
699
436
610
433
802
642
762
436
478
454
806
691
773
611
806
427
438
518
779
542
736
713
632
740
429
678
681
712
617
458
616
441
668
572
557
471
458
620
578
816
749
551
684
662
647
726
467
566
521
488
530
603
706
571
769
729
685
467
712
717
801
452
659
719
540
493
569
483
637
439
651
497
717
749
796
732
613
620
488
446
565
496
609
568
620
743
689
565
803
745
691
500
556
442
632
445
482
446
646
543
751
550
790
468
516
741
480
728
543
603
450
453
768
784
542
558
711
431
613
812
669
613
704
668
446
576
498
497
745
807
758
525
698
454
553
510
532
719
751
452
457
461
653
688
557
754
447
510
450
554
467
467
597
469
522
448
650
728
482
478
441
674
512
725
433
673
625
451
751
704
799
786
799
477
426
816
584
730
655
600
787
428
449
627
456
469
764
562
814
699
609
606
771
580
488
747
682
660
634
734
534
698
600
440
716
602
796
710
614
725
739
564
450
486
427
425
733
562
771
780
572
644
612
765
655
635
674
754
561
797
514
587
557
453
743
512
520
575
573
433
617
750
646
555
553
644
587
515
815
788
784
732
467
604
566
577
803
710
812
701
717
666
612
582
512
785
601
567
649
433
502
478
428
533
586
610
502
443
615
467
734
631
750
748
730
431
818
696
468
426
577
438
751
524
438
724
475
454
718
491
436
709
732
470
486
635
425
669
523
556
713
762
527
715
671
815
464
734
700
734
785
559
440
561
443
477
730
577
615
464
769
749
641
719
478
597
705
790
471
654
811
720
420
630
803
572
639
442
512
484
694
497
429
802
424
488
440
525
771
767
451
651
464
763
496
433
770
781
723
657
555
489
493
451
652
588
707
717
737
538
434
787
756
622
807
710
560
750
549
529
579
475
468
589
427
473
518
699
755
797
789
685
651
800
529
736
817
612
513
749
809
662
763
722
779
542
803
512
630
466
623
721
802
448
429
758
451
675
646
778
554
738
681
537
817
483
528
638
816
456
743
539
715
505
536
690
797
445
656
480
622
447
775
787
518
443
487
795
457
778
637
673
651
770
640
539
550
435
589
752
790
704
817
782
532
650
733
723
686
492
422
739
616
726
604
625
651
579
561
689
725
582
635
496
666
535
455
510
426
681
530
472
795
611
814
810
793
524
503
816
568
640
742
696
623
582
484
727
699
517
504
523
678
625
654
574
633
607
628
747
742
486
671
472
434
472
471
725
786
689
724
608
633
703
469
809
537
787
483
746
681
435
507
681
464
734
807
734
678
725
523
819
438
633
551
461
549
671
541
466
754
449
747
717
607
778
678
503
779
727
616
781
797
806
801
820
627
579
492
529
473
589
573
558
609
573
703
461
596
730
537
462
579
797
511
540
794
764
464
691
461
486
806
550
558
554
497
511
598
695
542
450
579
450
586
535
595
735
490
622
590
695
618
781
664
423
506
741
457
511
550
588
435
465
748
667
654
679
612
644
451
507
436
695
733
809
620
759
676
520
654
720
423
450
493
458
752
571
729
560
663
446
609
543
544
705
660
789
610
796
583
503
609
438
739
779
819
706
796
611
730
456
640
706
787
474
676
586
688
719
431
643
635
529
797
810
778
708
808
702
425
774
676
433
431
503
443
740
425
617
513
610
502
521
559
661
635
436
573
742
723
566
588
807
790
670
527
571
597
528
588
752
468
428
658
552
628
658
422
468
542
630
757
749
434
695
711
761
814
573
492
788
771
497
639
743
567
719
506
782
781
679
446
771
627
784
760
502
654
656
475
793
485
741
485
511
597
624
551
809
682
540
589
729
706
440
518
493
633
716
456
740
423
689
694
541
554
505
457
781
619
497
624
736
680
670
663
610
740
574
621
720
764
799
757
597
515
773
580
808
618
558
593
546
482
520
558
420
550
606
710
809
442
672
516
575
681
810
484
779
660
548
462
787
543
621
432
583
515
572
624
727
568
665
809
653
784
782
519
778
773
720
757
693
782
673
642
801
780
604
542
787
670
507
622
431
746
724
508
457
770
674
437
724
806
640
654
738
620
663
438
682
618
479
759
424
636
537
492
774
560
624
712
647
819
759
640
700
527
733
585
625
491
768
693
634
485
637
658
481
736
754
815
458
639
610
595
686
610
468
602
819
472
725
456
644
502
503
652
655
704
684
795
474
505
641
597
631
482
505
785
466
433
702
425
587
715
475
515
737
671
778
740
806
527
471
433
565
800
698
731
534
466
604
534
495
608
664
423
668
619
586
768
605
434
695
624
791
462
503
525
818
474
470
781
569
585
457
603
794
565
702
486
705
439
490
820
787
601
714
742
777
454
473
490
779
635
638
527
675
555
729
460
759
511
666
522
606
509
689
427
449
421
600
625
752
448
760
644
795
439
706
820
715
816
579
605
561
527
555
676
627
432
443
652
524
664
597
733
811
697
585
483
561
510
536
811
735
435
742
707
517
600
432
692
501
639
691
771
746
527
759
750
587
470
798
770
563
591
758
669
601
735
445
609
721
495
480
785
687
494
520
809
517
692
786
775
441
765
605
556
774
462
569
743
650
663
541
783
785
514
494
567
633
589
646
656
514
494
482
813
716
543
689
472
449
618
633
819
590
790
731
544
643
639
458
804
629
705
681
428
760
668
709
578
708
664
738
539
655
562
612
733
439
804
493
811
500
812
695
553
763
700
514
442
579
591
711
431
426
693
425
727
475
743
742
702
797
663
705
756
600
616
810
620
588
753
646
694
479
441
754
759
599
569
766
571
749
802
753
774
722
471
740
761
491
475
561
584
435
587
568
445
671
513
681
747
668
655
519
562
691
546
741
499
534
635
534
814
553
499
769
783
784
678
486
652
440
444
542
759
632
499
474
508
729
438
763
613
604
594
566
625
452
556
572
611
462
581
713
433
475
546
796
773
532
618
694
531
745
450
547
798
523
757
656
660
773
597
719
507
569
480
500
478
550
767
660
542
695
717
678
538
482
470
575
451
561
432
613
679
562
501
469
724
597
746
638
673
676
633
528
538
809
541
586
599
717
523
658
689
529
758
626
627
523
550
553
753
663
551
439
470
662
436
678
505
769
641
685
472
675
544
458
707
751
495
661
751
787
425
755
519
755
621
555
470
546
669
546
425
533
427
698
484
717
597
435
548
470
459
458
585
680
443
440
736
670
555
739
448
661
468
456
589
639
568
437
652
437
465
504
437
688
486
660
432
538
434
635
489
553
800
669
720
805
508
469
805
465
755
651
586
500
676
466
428
780
625
656
737
613
591
506
548
430
593
516
807
665
428
636
633
536
431
425
605
605
691
489
682
652
494
687
617
554
681
464
742
547
445
774
538
630
750
733
748
470
750
754
557
476
485
806
514
800
629
510
545
523
460
650
650
530
530
439
721
422
498
695
730
476
609
644
534
569
808
753
469
663
457
464
598
663
809
478
544
565
544
762
776
553
644
673
563
815
526
723
819
754
567
702
625
757
741
603
737
501
618
606
808
691
707
628
442
463
782
588
425
448
511
689
694
453
494
478
734
622
459
746
616
557
695
746
512
505
571
517
519
511
579
650
702
561
669
554
692
713
751
496
787
549
501
556
777
737
674
450
493
760
649
648
544
624
489
466
698
713
472
722
718
482
771
692
443
692
443
459
621
712
774
679
715
790
483
753
769
497
599
542
740
651
659
533
659
671
657
674
610
671
488
490
516
722
564
435
423
732
708
583
679
471
519
492
661
638
436
508
597
582
708
751
762
505
462
574
727
522
555
602
781
563
560
589
627
642
522
597
551
438
800
547
585
482
605
488
761
758
810
532
686
624
516
805
679
581
793
478
755
681
456
796
479
750
477
523
726
499
812
598
513
741
683
421
452
729
436
562
788
622
567
771
663
581
539
458
811
710
605
435
555
588
512
587
730
672
735
737
552
608
622
609
779
570
606
544
641
663
747
737
795
779
556
792
495
721
509
662
446
441
563
551
807
436
537
629
606
587
749
487
616
447
766
716
722
757
699
746
519
506
721
747
693
724
778
511
591
619
623
587
667
433
686
595
790
790
777
489
474
748
787
605
641
554
584
686
457
666
542
744
540
788
506
783
779
767
656
466
436
526
581
683
576
638
741
708
595
449
479
461
816
540
626
545
478
630
729
604
434
741
818
435
468
658
745
621
761
700
496
609
465
636
628
717
483
614
808
463
600
818
627
692
528
582
664
644
523
444
686
730
450
767
433
534
658
475
476
542
604
795
611
493
741
665
431
430
539
597
806
778
678
535
674
672
814
799
807
677
657
766
645
587
581
732
591
521
688
515
528
634
569
799
448
762
445
654
538
632
789
653
619
575
532
441
461
667
440
424
681
819
580
572
482
724
643
428
805
646
788
574
595
564
557
783
480
740
685
813
543
798
463
447
756
480
501
595
519
481
474
423
760
684
617
589
641
806
422
523
779
442
739
781
598
735
539
508
556
751
754
615
420
561
479
778
588
467
602
624
733
753
422
499
762
661
659
527
606
625
500
768
441
716
685
432
610
768
587
634
698
470
632
500
668
507
577
770
656
719
488
800
520
817
506
615
757
493
708
570
515
570
752
513
575
555
655
622
769
427
678
811
538
542
536
573
568
725
695
647
501
516
662
727
439
624
505
427
450
591
697
773
755
697
578
552
546
644
658
668
590
645
423
784
584
529
631
495
422
755
475
692
469
482
783
650
718
466
801
461
557
801
732
434
626
480
660
491
662
806
536
810
640
608
760
479
448
625
450
734
593
430
788
678
751
489
655
594
557
428
435
613
423
566
442
686
778
480
664
516
796
755
426
744
431
705
614
462
434
661
696
529
771
595
433
759
493
488
665
336
420
476
336
431
494
378
321
337
437
392
458
484
358
358
342
396
300
369
451
366
350
470
481
430
465
347
394
380
341
373
303
335
370
397
394
428
489
382
342
497
480
470
447
447
494
364
440
491
344
328
359
348
366
472
358
326
498
375
421
342
483
363
314
320
466
366
499
428
327
490
385
432
420
470
454
418
380
419
500
472
437
497
362
467
391
371
446
332
485
404
436
328
366
446
422
436
497
411
360
367
328
322
495
405
337
343
340
411
356
324
319
470
412
456
351
455
362
407
381
358
352
389
418
421
422
393
424
469
451
325
420
370
366
346
498
404
400
372
496
432
456
309
500
485
461
352
325
437
320
355
376
384
396
309
388
473
372
312
317
393
481
319
416
381
376
312
397
412
417
327
391
379
379
483
425
444
328
328
447
453
366
453
393
372
488
424
457
449
327
399
464
413
383
474
391
417
474
403
435
347
301
348
469
361
364
422
466
315
424
478
342
420
442
335
332
384
354
476
310
430
351
427
472
382
306
322
439
362
499
331
421
421
322
300
326
467
310
346
357
468
433
339
464
495
455
395
423
447
304
407
467
399
386
350
492
382
313
490
337
478
428
396
376
372
465
494
458
451
356
478
401
437
442
454
338
308
326
300
422
338
385
338
377
496
454
496
422
414
328
347
476
454
367
397
352
407
434
328
475
380
309
393
344
383
411
359
439
316
338
499
308
323
336
397
402
441
309
358
315
348
389
436
314
431
304
349
459
378
320
364
483
435
487
404
318
365
361
460
333
369
498
413
344
492
367
362
432
391
327
394
368
351
432
401
493
304
300
310
414
362
448
354
406
478
492
486
325
346
460
423
459
344
455
388
482
471
393
367
317
410
385
473
494
462
428
441
315
409
431
353
306
478
390
407
444
475
420
330
319
370
324
500
330
347
438
472
483
420
434
457
417
314
479
458
334
489
459
380
390
479
423
356
436
356
373
311
441
386
388
347
441
322
416
484
457
379
386
445
431
311
369
309
493
447
339
308
308
468
393
389
493
490
495
392
406
343
441
345
384
310
395
392
446
353
458
433
463
473
455
392
419
491
477
459
363
462
334
318
394
490
343
446
431
432
332
424
500
413
454
441
462
490
312
342
487
344
393
432
309
438
372
415
364
313
303
389
379
397
460
462
347
477
489
380
339
455
376
301
458
408
357
333
355
429
350
398
440
332
416
322
360
486
359
441
358
480
327
472
384
355
375
475
359
393
314
414
424
351
336
379
439
342
335
424
339
421
401
432
480
427
440
419
410
304
304
473
442
433
463
324
307
471
329
407
498
497
369
345
385
359
479
420
483
434
423
419
461
336
465
465
312
491
493
396
361
469
407
437
314
307
489
472
494
336
427
453
431
326
302
356
384
455
488
367
304
442
461
331
480
371
402
385
439
352
451
353
397
498
366
362
369
391
433
369
355
366
432
447
351
381
352
333
302
411
436
468
444
443
312
470
344
453
359
405
385
443
442
365
461
395
449
469
411
385
380
377
375
421
417
448
464
383
371
407
388
453
449
455
443
305
418
378
420
463
437
451
372
310
496
399
342
398
345
484
353
337
324
310
375
310
405
429
330
337
454
500
433
419
419
479
430
356
306
365
405
411
312
338
485
306
459
364
301
391
303
366
441
315
404
476
377
318
340
315
388
316
499
496
457
428
358
354
385
497
405
494
450
330
370
396
438
406
460
343
312
343
458
406
366
499
334
334
495
403
319
472
462
451
477
467
311
397
415
301
453
353
353
497
416
471
434
456
350
492
483
494
490
456
379
340
343
470
415
316
408
412
392
334
301
389
480
328
492
468
413
403
498
486
456
358
436
317
344
405
353
479
397
478
332
428
478
384
484
424
384
396
419
382
316
404
325
365
474
391
418
434
365
357
302
431
405
379
361
450
407
401
411
349
399
429
362
345
318
335
486
420
406
319
398
450
405
424
472
439
338
444
327
421
360
399
301
347
330
446
415
385
323
393
378
432
395
384
414
422
391
343
419
453
302
305
399
396
403
472
465
434
308
393
384
427
464
362
471
444
417
485
381
360
493
314
418
334
315
499
429
475
301
344
420
377
358
487
477
452
412
333
394
409
351
371
497
457
456
361
395
370
311
331
347
436
403
327
305
477
353
441
400
499
453
321
437
389
435
329
314
389
462
447
349
425
393
356
460
424
373
316
337
486
344
374
483
460
338
489
444
379
344
411
467
473
411
478
338
410
350
438
460
325
357
379
473
489
386
460
352
491
436
444
397
383
375
465
377
440
378
318
415
340
320
490
369
424
356
377
415
440
311
499
417
404
331
462
362
397
426
377
403
431
495
347
461
351
322
456
308
321
359
439
342
332
450
308
387
359
462
308
450
304
329
399
449
349
430
315
353
361
451
360
465
425
444
466
447
438
461
302
470
438
482
316
339
331
453
461
453
466
471
462
378
369
472
386
386
491
439
341
491
428
300
491
467
383
464
324
340
500
495
344
327
405
478
478
370
360
406
423
348
326
342
324
468
454
402
408
344
463
355
344
330
476
303
485
315
498
429
450
321
308
363
400
443
446
424
322
395
475
424
468
464
403
341
348
440
309
461
389
349
480
346
315
337
366
474
397
366
424
493
379
487
386
308
490
324
351
320
464
425
406
319
447
352
387
314
332
459
499
377
334
370
374
451
358
408
370
332
308
414
344
498
332
361
352
383
323
479
328
456
467
369
351
456
407
341
361
394
377
309
388
429
479
413
322
318
323
438
440
496
356
441
352
441
390
406
301
370
468
314
331
442
357
388
466
313
373
489
387
487
397
301
339
328
356
413
427
494
380
371
366
437
403
378
327
338
324
311
436
441
422
381
379
387
341
430
355
408
476
401
449
358
366
406
368
404
464
352
436
440
349
391
326
304
398
442
478
384
384
393
381
471
380
363
311
491
385
338
425
321
387
494
425
384
368
466
452
318
303
417
428
349
427
383
418
381
323
367
471
352
393
421
464
452
403
360
471
370
454
387
466
431
451
308
362
406
476
496
350
469
310
476
469
456
361
457
487
432
387
426
439
305
494
496
314
311
318
422
433
309
322
477
361
452
478
328
437
348
489
498
325
383
415
304
496
468
427
327
381
405
402
438
413
443
354
413
484
418
386
320
309
346
486
425
474
482
328
402
304
447
496
326
482
500
483
486
421
419
307
310
414
420
355
465
439
497
480
329
485
454
343
423
449
429
489
406
453
303
311
411
448
383
404
315
400
380
402
394
460
333
409
376
389
349
418
354
419
326
476
357
396
323
307
412
308
354
367
391
427
347
326
392
310
334
386
493
338
374
488
463
332
402
442
415
492
352
347
462
335
467
319
465
400
475
320
491
326
335
450
433
307
303
465
316
376
376
392
426
482
500
434
441
484
436
390
465
443
442
371
319
304
303
492
411
472
305
441
350
318
347
468
403
488
394
404
460
490
395
387
495
310
338
438
313
333
421
441
350
414
352
476
491
302
373
402
425
356
387
477
364
364
449
337
427
497
453
421
337
362
372
449
446
460
488
472
387
492
302
496
331
464
399
418
312
478
435
487
326
498
324
328
343
478
484
341
362
449
410
486
327
331
307
338
475
406
484
374
421
404
473
352
360
373
482
441
484
342
307
441
391
302
474
460
428
467
461
331
491
405
335
483
308
398
421
389
340
439
430
384
374
463
486
369
413
412
434
372
337
337
340
332
356
364
456
431
429
420
415
490
335
418
429
306
489
368
352
461
458
412
340
454
464
498
481
341
359
353
313
412
498
378
493
495
322
315
327
367
412
437
438
351
450
347
488
440
391
477
426
312
371
484
451
405
417
335
372
315
466
313
337
418
441
435
300
396
389
335
391
483
431
489
348
338
341
408
352
409
497
308
321
500
308
425
382
500
452
381
458
411
398
492
462
320
326
487
450
302
395
397
416
337
350
322
432
411
499
437
386
409
323
354
309
377
410
329
327
469
343
326
346
491
437
446
308
435
387
404
383
404
487
315
350
461
375
332
316
371
413
344
492
368
375
371
491
336
396
335
443
405
418
480
435
326
353
349
477
366
439
313
373
385
395
378
395
398
355
440
365
491
458
430
393
427
478
319
397
340
408
349
407
453
390
312
426
416
402
397
408
438
348
444
319
471
436
389
460
473
466
388
361
433
455
485
472
460
480
349
404
403
330
382
342
318
371
492
439
354
415
394
345
388
322
341
467
402
324
334
495
482
398
442
360
312
350
316
312
360
340
379
452
458
491
437
397
380
321
319
402
344
368
380
423
374
354
325
449
343
463
367
340
447
478
349
480
337
378
449
497
361
483
315
322
470
348
464
486
368
422
411
398
369
397
451
317
346
391
365
395
374
329
465
413
304
305
464
401
389
435
394
314
380
491
307
382
447
398
455
358
388
348
330
391
349
386
408
483
388
308
497
476
453
461
398
356
346
408
481
328
344
490
311
473
496
310
358
329
385
323
468
460
469
406
413
300
364
306
307
330
363
357
398
347
473
376
485
324
302
424
424
390
426
355
381
469
344
454
407
356
314
355
438
422
407
470
401
459
364
377
436
304
494
414
469
493
433
384
442
434
481
344
306
402
447
497
411
357
455
452
422
461
385
335
309
455
479
334
356
319
383
375
488
405
432
410
366
362
312
402
331
348
436
338
337
379
439
449
312
391
497
411
425
332
345
490
367
459
404
371
394
495
451
420
365
441
367
410
393
406
398
343
304
433
451
389
302
307
419
322
415
402
424
373
408
331
414
446
431
493
376
496
492
447
306
455
436
351
484
317
337
414
417
372
332
383
452
456
494
460
338
420
488
352
374
322
496
496
450
320
300
413
491
488
417
407
310
454
458
340
392
430
470
485
334
376
439
488
383
402
356
318
378
438
304
427
322
500
343
488
456
395
366
468
444
478
436
347
406
474
313
337
471
378
497
414
338
301
429
300
411
302
395
460
470
427
427
300
381
413
483
367
483
460
316
457
332
328
382
379
376
387
312
372
477
458
308
312
455
420
302
458
394
407
388
376
311
397
365
441
308
357
457
315
477
354
467
453
366
345
362
414
359
455
356
469
313
345
446
327
492
339
374
451
379
388
362
366
469
425
408
442
472
373
443
318
415
470
326
443
386
316
321
436
302
380
410
363
325
410
454
412
365
356
382
342
461
351
485
465
461
449
343
487
498
425
324
313
387
498
444
466
395
489
444
445
427
352
349
333
398
358
457
342
457
461
436
388
477
420
348
393
482
330
441
443
499
364
345
396
323
393
440
333
341
483
467
320
380
327
462
352
478
423
372
375
446
362
479
355
301
337
443
443
321
397
367
391
333
457
419
427
357
431
465
346
369
477
421
332
446
491
361
408
404
488
441
412
436
483
363
347
342
444
461
380
498
344
326
384
324
400
461
417
342
483
349
333
369
488
345
445
352
411
476
445
360
404
303
403
390
471
307
416
472
464
332
340
356
433
325
333
335
406
480
396
452
483
472
450
300
325
421
407
327
425
436
322
484
344
434
304
476
478
365
341
313
385
407
487
485
484
364
333
440
375
301
471
379
358
326
390
400
488
331
386
303
414
337
444
347
348
325
420
409
405
409
496
473
428
311
313
422
475
410
317
451
323
439
413
374
311
405
455
377
481
345
348
324
360
357
397
401
400
488
463
306
314
454
420
411
465
447
461
303
432
481
383
401
318
392
436
434
462
377
450
443
378
468
462
449
446
497
482
436
409
430
335
398
363
319
489
473
439
416
472
398
373
326
369
369
306
412
500
472
427
492
423
469
361
422
415
408
332
369
330
347
466
376
485
335
498
348
488
396
317
450
365
471
399
313
392
424
402
381
458
344
385
365
337
385
391
444
404
402
381
424
324
436
446
305
481
318
473
409
482
489
301
451
353
395
327
357
484
401
369
406
336
309
363
300
384
405
466
312
377
360
305
309
408
300
345
368
309
311
330
345
438
430
425
434
417
493
341
462
495
449
314
484
442
436
306
341
485
394
459
488
456
438
309
474
484
317
417
394
300
486
455
428
396
434
351
349
429
363
414
348
442
468
423
380
313
348
379
301
476
309
391
489
463
423
423
456
420
314
435
409
365
445
486
391
344
301
414
343
339
405
301
351
326
356
499
377
452
379
389
490
486
386
489
374
424
483
351
311
486
477
301
302
312
376
454
471
388
474
360
447
403
466
325
448
492
407
314
430
439
344
357
347
348
347
314
319
325
366
335
335
493
407
448
460
385
443
385
481
425
471
370
410
324
383
404
355
356
408
449
357
333
427
394
437
351
455
348
441
499
305
429
408
467
308
420
377
421
443
371
345
464
446
453
360
389
367
331
314
333
441
337
474
462
399
428
454
379
490
484
418
412
414
324
449
482
422
399
459
482
310
352
309
405
415
402
462
465
306
463
336
329
490
369
315
436
491
451
371
385
316
371
317
433
332
308
389
315
394
426
342
456
493
327
363
453
347
383
439
491
331
487
487
476
446
492
459
307
389
347
313
307
333
380
456
403
484
355
300
325
494
396
343
485
458
468
491
303
496
431
405
438
491
307
440
333
420
304
323
457
451
451
323
469
410
412
422
433
312
403
350
490
304
409
450
410
432
467
485
401
425
326
415
349
336
466
463
398
301
471
479
422
338
438
448
320
442
330
435
359
391
426
500
419
329
498
323
342
373
438
333
428
487
387
410
309
480
317
315
463
327
468
428
447
314
440
315
310
368
480
312
418
306
379
339
439
460
304
445
352
467
443
429
365
337
381
486
398
345
402
343
332
493
448
500
487
470
498
390
410
339
391
474
485
363
493
416
489
356
387
433
383
311
332
488
330
360
416
465
403
403
369
331
457
430
444
463
322
396
484
415
355
449
317
406
383
477
439
492
393
455
325
442
491
374
303
401
486
474
437
335
390
447
393
391
301
322
484
301
485
308
366
325
342
475
496
409
450
468
400
452
492
373
455
436
393
438
328
346
328
493
356
441
420
396
397
420
446
487
449
369
444
352
341
358
305
373
357
411
382
355
355
437
459
449
349
306
458
323
445
374
454
486
498
389
322
351
315
445
420
342
393
386
493
456
306
486
482
443
354
456
328
351
373
480
416
475
389
494
399
443
470
463
488
325
316
418
379
374
365
376
359
300
354
484
361
433
352
330
362
382
381
416
319
405
472
413
488
366
418
464
304
479
426
340
306
386
380
420
341
457
406
304
412
442
476
387
321
316
497
469
387
323
325
329
343
494
379
384
453
328
438
496
477
308
489
432
467
342
330
427
426
381
405
313
399
451
322
487
365
449
385
362
418
457
498
350
456
412
471
493
493
354
352
358
306
342
348
420
375
405
359
365
443
317
449
423
387
404
407
405
430
399
436
365
462
330
399
487
485
470
496
426
327
420
381
459
356
403
438
481
422
311
409
500
341
345
357
450
318
316
305
304
349
492
349
334
419
394
425
447
475
325
342
327
495
465
434
429
431
328
440
484
450
409
489
465
397
386
336
360
436
422
391
441
496
365
464
344
376
467
440
370
476
432
389
309
438
412
408
480
352
318
389
371
434
333
316
483
317
445
491
383
327
431
454
394
447
429
371
406
339
300
398
424
364
472
481
497
414
336
337
448
323
442
465
442
405
488
427
357
482
463
328
357
372
321
384
460
301
360
437
456
444
408
439
374
415
498
412
419
368
310
466
355
349
492
387
322
332
460
454
368
453
489
467
351
493
391
496
416
464
450
426
336
466
500
374
431
356
321
427
378
487
500
383
420
396
464
435
491
491
346
429
385
427
454
436
412
309
408
417
347
379
385
428
346
361
479
340
315
322
301
464
366
302
496
469
316
354
467
378
485
396
413
306
381
449
413
480
336
465
373
365
491
387
431
394
489
496
445
361
399
438
428
488
317
338
486
456
348
441
312
335
471
327
414
450
417
472
348
410
324
333
419
340
395
324
447
476
434
416
408
466
420
352
411
404
398
304
319
363
471
409
389
336
335
459
386
300
480
327
383
352
346
360
327
357
403
349
311
417
333
498
405
408
363
361
416
409
380
473
305
328
360
342
308
316
496
379
417
457
332
390
456
448
354
389
437
333
440
465
467
355
496
351
387
361
375
316
453
335
317
314
359
469
307
462
398
464
331
429
333
380
375
306
413
447
398
308
365
385
329
408
383
323
368
386
452
499
440
480
351
365
444
316
431
498
340
463
301
397
484
371
358
464
316
367
304
458
488
342
370
465
417
395
495
359
473
497
395
303
338
368
406
403
371
403
386
364
372
413
388
499
426
474
343
335
303
441
448
489
467
461
426
305
469
434
491
317
303
454
366
419
319
488
351
310
319
439
355
343
386
336
312
377
456
333
416
365
468
402
352
389
420
336
392
373
326
429
396
440
482
359
384
418
410
357
351
499
493
340
399
455
494
408
384
335
300
410
309
306
420
424
455
346
352
311
444
454
491
420
445
377
458
320
408
328
475
477
476
338
431
368
445
486
422
376
491
417
500
400
500
446
371
360
465
371
398
324
396
364
361
453
396
314
440
327
427
311
325
485
439
477
414
326
319
334
431
353
326
310
304
368
475
437
498
399
479
338
350
484
388
494
449
340
449
463
460
399
494
402
426
352
322
364
398
438
472
364
467
389
327
377
392
424
370
390
380
448
397
422
426
459
312
312
301
402
436
485
459
390
431
362
397
379
414
394
336
385
442
323
380
495
414
394
410
406
378
398
392
443
413
435
493
422
355
474
500
437
485
397
474
310
488
479
320
365
331
407
447
377
351
328
485
466
485
367
481
453
376
465
462
343
399
309
335
494
432
425
414
443
392
313
339
310
309
483
332
387
457
448
364
371
459
312
441
451
320
305
431
344
476
424
373
499
477
485
492
354
430
409
488
403
369
349
332
325
411
470
379
404
411
344
373
480
336
387
473
365
441
468
387
468
395
459
357
445
423
434
466
350
451
379
322
473
459
324
342
427
368
331
404
314
438
335
350
484
493
420
403
312
466
326
449
311
407
408
309
381
311
500
462
416
359
409
497
391
412
332
480
457
455
390
449
498
472
323
469
425
486
424
484
330
340
350
418
332
496
332
451
475
499
418
306
446
375
357
384
430
394
350
410
498
305
499
386
495
429
323
462
304
432
465
487
362
450
443
410
350
448
410
472
341
485
452
384
478
335
431
354
378
497
317
328
327
414
491
470
435
470
489
362
467
389
324
446
350
462
321
331
412
405
491
456
356
372
311
406
430
383
455
379
312
428
305
305
474
421
399
457
456
335
431
392
436
349
393
402
345
401
434
325
439
399
383
400
493
457
385
300
346
492
338
460
444
313
407
481
338
326
365
307
398
467
419
375
484
302
411
355
446
349
324
484
444
493
353
408
390
455
407
488
444
355
448
370
466
327
365
317
377
493
428
306
315
382
422
453
307
360
333
317
405
487
485
439
322
310
402
378
350
366
436
314
474
314
326
466
463
368
322
312
353
429
453
448
499
351
430
431
437
399
402
473
312
400
404
366
479
368
302
424
307
382
320
483
480
313
321
311
430
383
409
420
391
410
430
412
320
318
466
317
397
310
344
492
391
336
407
309
359
452
417
477
384
318
421
394
475
467
457
375
454
436
402
419
352
426
372
395
338
373
433
341
402
381
318
441
378
373
333
325
332
386
330
425
371
444
428
323
411
478
314
434
499
354
375
353
317
373
381
477
467
331
350
379
459
468
392
466
464
480
420
450
324
355
456
398
333
443
330
411
417
366
357
455
303
495
315
316
487
318
456
397
321
342
468
340
500
408
365
353
469
352
456
379
348
468
408
368
300
465
478
447
433
482
318
483
492
373
431
456
338
406
480
475
316
375
373
375
369
379
329
324
375
337
451
381
387
315
351
402
431
361
395
464
361
339
328
455
438
362
332
470
304
495
497
474
390
330
384
340
398
383
418
403
497
426
332
459
475
335
463
391
455
461
348
418
415
496
303
320
340
365
499
476
302
327
358
467
388
462
378
423
479
491
393
414
405
388
341
404
435
456
473
322
395
422
352
338
377
429
476
393
366
446
467
322
487
389
317
456
315
499
499
344
476
301
476
321
497
431
364
352
454
457
318
474
425
493
433
307
315
474
390
397
485
386
355
324
359
440
395
472
354
361
366
359
437
375
461
322
361
390
468
473
424
453
476
413
484
485
334
363
408
413
436
407
385
405
469
438
345
497
390
445
450
380
302
480
394
416
326
350
441
404
463
316
469
452
500
459
498
400
378
435
412
405
445
426
481
407
432
359
472
376
454
453
353
418
415
406
466
382
373
425
495
465
375
341
435
427
406
399
454
485
467
390
459
443
482
408
394
330
444
365
380
402
476
481
396
376
493
482
387
408
418
312
401
451
444
453
365
315
497
431
423
480
440
378
486
329
338
474
378
433
334
373
375
311
419
369
312
477
460
393
458
338
361
339
319
496
325
467
393
443
479
390
392
446
477
427
442
441
431
409
323
431
320
300
309
476
474
369
442
463
353
302
309
432
456
353
434
373
479
339
470
352
342
418
346
490
348
488
432
314
454
469
450
415
374
440
361
486
459
335
487
326
490
434
333
322
401
500
308
387
353
424
452
376
308
308
404
364
368
388
436
307
420
457
326
382
440
477
447
478
386
426
395
414
364
424
397
308
496
438
375
412
359
483
433
365
354
446
305
312
338
322
369
398
375
362
391
435
461
333
369
492
338
395
402
449
300
484
405
341
462
382
386
492
339
389
333
491
355
427
312
399
352
310
409
444
440
478
483
446
457
353
407
471
390
434
494
336
361
333
497
443
366
419
496
499
375
376
480
370
441
312
492
325
337
339
320
442
426
362
381
399
407
454
390
425
356
310
375
487
422
439
357
427
433
305
499
339
393
329
343
472
387
375
478
431
402
373
498
388
335
443
312
439
346
479
361
405
479
408
473
416
408
369
447
497
388
305
368
426
354
374
473
417
410
368
365
390
476
300
351
396
425
468
453
348
499
364
431
338
487
307
329
369
491
314
497
443
454
384
332
342
399
306
334
435
500
349
372
378
306
391
310
461
413
336
306
430
385
406
412
361
405
326
341
473
392
470
332
476
368
357
405
477
315
426
439
414
403
414
393
350
346
394
475
329
349
482
479
323
320
342
349
426
331
341
335
402
303
376
353
352
360
447
357
499
474
498
441
338
301
444
367
478
396
305
331
475
320
491
420
329
431
381
329
351
404
476
432
486
318
439
495
484
349
383
395
459
481
478
308
386
485
309
390
397
487
463
465
317
322
368
420
403
356
447
390
499
447
468
409
422
468
338
447
449
392
372
425
371
441
319
325
408
362
438
438
478
327
308
494
358
426
436
320
467
479
330
449
338
358
402
397
478
427
428
305
330
422
354
468
320
354
482
464
371
341
342
332
389
324
497
386
350
448
437
330
443
438
341
342
441
367
479
423
309
474
322
324
303
464
329
430
466
461
477
334
428
420
350
478
495
331
406
414
439
421
411
307
353
316
475
331
466
491
334
385
459
367
471
356
409
457
328
355
356
416
318
408
449
404
312
426
343
421
343
481
441
419
484
438
335
316
332
458
467
353
356
331
419
327
477
447
468
448
440
390
389
429
310
368
441
402
399
374
484
373
463
338
440
430
481
442
379
353
398
435
400
363
457
414
386
438
492
357
335
339
491
379
393
468
383
486
368
323
379
388
381
499
322
326
464
485
342
320
431
493
476
476
498
447
379
352
417
344
466
449
396
417
438
378
348
484
469
465
314
415
387
349
311
374
452
452
492
484
326
382
312
354
379
305
389
390
412
417
435
333
317
496
395
321
352
342
378
302
383
375
347
407
420
444
395
363
460
446
436
329
302
308
418
459
435
419
496
340
348
373
485
454
461
305
421
405
465
480
332
428
486
444
420
385
433
312
411
349
361
399
301
456
440
496
311
441
335
418
321
362
446
498
433
364
305
418
460
337
313
336
336
428
402
489
329
428
449
439
415
500
479
489
477
366
487
393
317
456
309
344
311
408
426
405
483
325
405
415
307
480
451
398
392
464
373
362
364
371
429
370
375
350
374
370
492
412
336
466
351
353
435
392
413
335
382
347
460
325
488
410
459
329
492
462
334
411
418
486
301
487
301
353
406
420
406
370
320
388
344
399
343
491
326
464
400
347
480
464
431
444
431
441
499
469
481
335
492
484
424
490
348
386
403
411
334
332
306
394
443
316
424
379
311
320
362
313
350
377
403
423
347
341
318
450
318
387
405
305
459
429
495
350
332
442
330
339
408
386
394
475
498
441
402
470
468
415
487
422
440
491
400
349
498
456
395
466
441
361
462
479
316
488
331
485
381
381
348
336
482
421
353
349
455
363
493
460
480
354
302
369
337
386
485
444
460
462
346
370
314
349
429
442
312
380
325
430
463
449
365
364
303
334
448
471
321
347
434
462
408
319
384
386
369
418
370
349
401
331
378
466
466
360
300
400
397
395
369
393
353
493
310
472
319
400
402
489
320
304
354
326
462
341
338
497
424
309
464
496
374
477
433
482
381
468
304
433
364
315
345
332
419
465
431
472
490
473
369
436
498
453
387
460
368
443
379
302
339
392
302
450
324
427
390
383
481
309
352
371
395
387
378
355
428
402
340
472
363
359
360
367
307
354
314
307
462
409
404
393
426
385
444
494
426
494
455
311
337
384
365
401
416
480
356
448
325
313
434
452
467
425
316
304
381
479
323
393
396
333
336
363
470
351
341
456
394
372
343
379
377
322
428
435
500
345
428
325
341
355
310
354
459
454
440
443
409
396
382
420
467
399
410
391
374
391
485
469
318
424
346
352
426
417
427
460
334
359
410
366
449
411
356
321
387
457
468
461
416
441
425
326
356
334
380
385
377
315
421
382
471
460
338
381
399
425
461
399
490
415
428
305
470
302
389
337
316
429
357
436
400
409
313
461
449
454
472
490
315
306
489
306
343
436
320
322
466
469
437
408
493
500
308
372
332
362
364
373
465
400
407
413
415
327
408
452
309
324
404
351
458
305
490
301
450
459
358
356
376
370
338
330
456
375
362
436
306
389
384
489
351
450
448
395
410
352
458
357
431
315
406
305
333
490
311
354
416
363
448
496
457
383
335
387
419
384
364
443
411
358
380
381
304
396
465
365
320
443
354
301
306
476
402
366
387
324
400
402
379
330
381
442
314
352
451
324
434
420
326
410
396
469
341
396
389
458
389
340
309
465
363
390
409
338
491
386
375
410
376
437
374
489
341
382
414
326
436
350
320
469
321
464
381
495
416
377
384
497
373
309
417
312
451
470
300
367
350
373
383
399
353
315
485
409
345
435
307
343
343
324
458
459
388
337
391
374
360
388
487
372
387
300
305
372
303
414
445
464
331
326
395
406
454
490
429
475
314
482
349
324
308
441
357
442
446
353
331
400
366
374
358
383
389
430
311
497
492
448
410
473
469
329
376
341
365
351
459
349
494
454
301
487
386
312
364
323
345
480
466
301
323
329
309
417
328
330
451
418
464
454
313
453
446
360
411
490
358
446
494
469
346
399
476
365
484
494
438
432
319
404
339
476
472
321
417
394
421
467
422
326
399
318
307
344
474
405
500
360
437
447
469
382
460
354
326
306
309
412
419
487
317
445
341
308
484
468
328
459
444
425
368
442
334
356
317
393
411
353
419
479
500
349
466
365
407
459
467
414
414
434
319
492
352
328
328
400
335
459
360
370
473
392
384
340
398
422
310
378
312
431
485
401
341
478
415
334
484
458
445
425
496
444
302
499
476
496
375
322
365
300
322
449
427
358
333
432
473
306
466
302
316
419
326
378
405
314
472
432
400
352
386
385
399
401
479
381
458
330
442
491
309
337
388
454
353
406
361
391
308
472
488
374
301
419
424
482
326
382
314
311
333
398
452
400
334
410
455
483
306
468
315
411
434
403
498
384
377
378
421
436
425
357
358
308
439
339
342
334
442
361
477
347
413
333
417
489
326
379
337
325
485
425
421
389
440
453
448
404
441
331
432
313
401
442
333
370
421
340
493
304
371
348
487
441
487
426
300
315
346
478
390
343
423
454
460
421
417
466
369
385
401
315
468
433
463
418
338
333
322
347
431
396
321
306
354
352
487
431
425
424
419
492
455
326
471
329
456
445
473
391
394
433
368
388
320
303
460
468
346
385
389
368
387
319
466
359
458
431
378
378
328
444
461
327
467
438
398
448
390
420
500
399
302
377
366
307
491
371
331
311
358
395
372
482
333
390
444
419
474
364
342
472
357
402
349
306
334
494
495
466
389
471
480
488
418
341
413
362
308
311
366
400
474
475
379
432
426
312
389
461
475
336
409
458
353
463
464
420
372
460
454
451
453
460
322
342
423
486
435
477
375
366
454
386
453
313
367
491
394
456
472
386
446
400
366
369
428
364
467
409
488
327
462
422
438
413
337
498
480
323
454
402
345
343
332
431
421
446
364
330
452
445
370
379
385
448
370
428
331
439
402
319
424
486
419
446
320
496
347
450
426
353
448
334
420
308
413
396
377
493
375
309
303
301
410
397
477
416
424
426
403
477
383
427
413
381
478
380
378
422
326
479
362
433
493
470
331
434
365
476
473
494
466
419
468
307
388
411
326
428
474
318
323
475
403
433
377
330
393
374
396
473
487
320
469
356
424
434
346
494
477
446
411
353
387
495
305
410
498
430
495
311
313
340
396
480
426
433
491
315
454
305
338
499
337
337
326
467
331
403
354
471
322
424
419
337
319
392
362
397
303
371
427
424
453
491
477
365
459
459
448
375
377
334
348
372
441
305
303
442
472
394
322
301
302
388
472
380
364
423
311
470
362
414
433
387
352
486
437
404
500
444
434
436
318
393
309
443
393
489
345
449
317
399
394
389
498
449
306
483
350
347
365
489
341
454
322
486
367
475
322
319
467
301
300
494
415
439
394
371
500
425
439
427
367
336
345
399
393
493
486
438
442
398
383
357
489
491
425
374
413
493
395
392
460
344
405
324
383
440
464
325
330
421
331
341
451
401
441
377
311
425
392
434
361
443
405
335
493
358
432
448
330
306
477
389
441
448
493
302
500
383
306
361
310
489
308
307
389
427
341
349
373
426
331
392
455
381
424
390
451
447
463
473
429
455
417
345
306
317
449
396
489
312
337
459
449
489
492
303
300
450
470
392
362
317
465
428
386
333
385
423
373
320
301
424
385
488
365
321
478
350
439
419
491
330
475
490
403
387
346
432
317
335
372
386
370
489
342
449
465
367
482
440
351
461
368
348
358
438
325
368
480
338
328
413
393
441
480
345
319
399
440
479
338
401
486
340
394
379
375
376
453
409
368
338
402
419
402
315
361
402
350
309
489
331
431
332
489
452
331
450
478
499
435
332
500
461
460
399
313
374
311
301
459
443
421
403
431
448
329
353
411
302
433
335
474
331
486
412
491
468
306
374
450
376
468
331
480
305
373
470
475
408
436
421
458
452
324
452
380
479
399
376
425
348
327
317
447
348
373
438
383
491
344
343
461
399
411
481
372
464
367
484
446
379
430
344
353
439
348
395
483
438
346
393
393
393
317
472
466
491
352
345
329
313
323
390
374
479
384
451
441
444
363
475
489
472
419
350
359
498
396
458
300
453
327
453
306
332
429
311
341
363
383
480
305
426
467
302
470
338
381
339
348
359
401
448
344
388
464
346
422
407
356
346
433
451
335
374
355
441
413
335
399
356
381
429
301
351
459
471
498
385
463
417
308
434
464
412
338
391
438
334
424
474
417
437
449
351
330
320
382
471
497
305
497
485
349
466
495
409
349
424
435
334
454
339
319
483
418
393
404
459
312
386
318
305
380
313
487
390
305
497
310
369
451
371
489
468
440
364
338
397
459
318
352
388
356
385
370
492
348
481
464
339
369
463
445
382
350
469
486
395
366
396
472
415
312
469
407
467
404
381
427
457
422
466
495
420
381
417
368
354
447
443
490
429
369
352
329
497
412
457
379
346
442
472
463
424
435
327
331
311
411
459
472
357
494
463
420
354
422
470
456
414
459
368
468
347
353
452
365
308
389
316
377
477
419
405
448
426
491
448
479
324
311
431
358
309
429
406
346
360
367
407
338
418
474
445
491
432
499
409
428
459
435
430
498
466
500
448
445
308
455
482
431
496
414
320
459
449
433
423
416
441
352
454
398
367
374
349
408
332
452
416
468
441
364
320
349
480
480
465
456
474
435
445
436
353
462
427
480
351
483
468
410
430
336
353
327
386
337
482
398
475
424
464
394
354
461
425
308
434
464
347
425
381
332
476
439
430
376
408
416
369
373
394
485
336
381
400
447
387
486
407
454
327
362
493
327
393
321
403
395
422
384
379
401
437
357
471
394
325
486
302
385
492
378
398
406
401
408
386
336
348
494
394
437
330
428
408
500
474
489
486
351
362
320
419
319
423
467
474
303
319
435
497
369
438
438
327
356
449
495
336
454
397
391
362
498
482
305
340
323
302
455
490
403
301
365
342
342
426
311
344
437
332
324
483
497
412
417
470
393
397
300
303
477
445
381
417
313
488
318
367
353
376
368
337
393
448
492
498
471
456
451
421
432
373
332
405
313
348
483
494
421
468
500
344
363
485
395
412
388
318
470
489
418
378
305
439
487
455
370
415
355
463
384
418
315
403
314
464
410
369
301
488
475
303
325
418
400
396
412
479
478
424
401
458
454
403
488
371
348
437
332
436
390
386
444
473
368
422
437
487
384
430
366
391
310
435
421
310
318
496
325
441
319
460
416
412
393
476
426
383
494
435
487
398
450
421
404
312
452
427
389
316
300
473
483
315
359
351
414
472
487
356
465
408
494
326
372
318
365
402
456
441
308
460
485
337
459
499
409
434
329
397
374
478
398
375
335
427
493
477
491
345
383
378
414
434
484
358
499
308
403
468
449
493
457
446
432
487
305
439
358
454
458
493
436
440
387
459
324
404
441
450
443
353
340
315
344
465
424
388
466
339
348
411
365
483
334
371
354
460
493
472
316
359
308
382
461
369
397
430
418
409
333
400
417
415
319
357
485
456
440
348
346
490
336
495
430
385
427
443
308
368
371
429
327
390
371
338
469
432
312
492
434
440
486
342
331
337
404
425
357
419
330
409
468
470
405
457
305
384
310
302
393
478
322
301
454
368
485
462
419
327
409
489
383
344
414
352
304
377
482
308
307
445
341
450
410
388
396
361
387
466
453
392
416
498
421
468
424
307
395
465
367
426
384
317
447
408
489
320
344
480
334
380
392
353
430
364
395
371
385
417
343
424
464
336
495
359
435
340
400
473
450
345
384
488
375
468
310
311
418
437
496
339
375
446
416
418
476
449
319
329
437
307
423
313
486
395
430
429
325
482
404
465
409
411
320
435
483
336
332
462
330
400
460
329
389
418
472
372
472
430
431
448
307
338
417
473
395
379
302
353
421
442
468
412
349
498
490
305
432
322
373
485
475
405
415
471
321
481
383
487
372
374
399
406
463
388
388
393
436
377
443
355
390
458
335
486
385
339
341
461
477
435
305
304
416
311
303
300
425
375
405
377
468
478
426
330
494
330
341
354
370
358
482
442
497
430
499
461
379
382
355
322
409
341
485
373
467
342
434
337
493
431
415
488
313
500
454
425
449
312
424
318
453
431
465
473
447
460
427
419
422
443
433
416
449
377
303
390
352
401
489
456
413
360
420
452
392
473
414
427
313
304
471
371
477
426
454
500
326
316
480
337
450
470
495
493
495
445
305
478
456
484
346
390
302
302
352
324
470
403
365
308
359
451
411
389
402
385
391
447
419
410
473
462
487
450
434
356
396
470
378
383
309
347
371
358
362
435
386
307
493
498
487
434
338
393
485
394
391
378
345
476
419
395
467
333
414
306
328
373
453
401
313
304
359
431
302
467
463
378
435
374
382
387
395
369
493
300
324
383
327
422
428
492
385
433
311
386
324
304
406
378
475
373
444
427
430
434
472
477
405
417
321
401
411
473
330
459
466
466
478
456
457
431
490
326
475
385
371
302
352
343
314
374
465
500
490
343
404
437
311
461
353
421
384
300
427
367
407
436
379
413
364
358
450
467
482
368
323
310
343
439
329
354
451
474
324
441
444
331
309
342
402
313
450
481
449
350
418
455
431
411
403
369
414
473
483
469
454
469
355
397
313
361
477
386
392
429
322
393
360
309
325
401
351
403
453
389
491
436
421
413
448
446
448
441
490
429
350
386
314
342
348
349
410
399
318
499
332
308
394
310
478
416
385
406
362
485
495
438
413
428
362
384
486
447
355
371
446
312
492
393
323
496
410
356
484
305
337
345
433
466
495
344
456
345
399
379
493
447
430
415
417
377
408
366
343
352
300
487
315
440
401
450
306
452
426
315
392
495
337
304
360
348
487
414
338
374
335
319
343
371
395
463
326
302
432
305
426
483
494
427
391
334
344
498
445
498
315
341
465
381
359
460
407
450
443
496
433
438
464
349
339
428
353
391
368
384
348
304
408
492
351
373
475
415
369
455
486
486
446
474
312
442
306
377
438
359
311
445
367
494
400
318
396
429
410
395
404
405
371
341
310
323
314
348
430
440
466
441
436
301
379
379
476
382
367
327
417
490
464
439
459
393
475
403
424
425
407
380
313
400
471
485
457
418
379
422
394
361
373
408
466
436
352
445
459
433
398
305
373
315
401
443
315
337
301
320
464
457
345
497
432
450
371
490
477
339
431
388
355
384
388
494
457
426
355
414
466
393
399
449
434
493
486
409
350
332
411
433
471
445
324
474
434
433
490
483
398
487
491
344
428
338
413
332
400
300
342
375
361
402
413
304
302
471
443
489
421
343
490
472
472
491
471
471
484
321
465
423
346
376
412
393
344
402
359
342
445
441
476
479
332
311
408
384
355
352
378
333
338
491
392
446
473
411
429
473
320
492
383
307
469
369
345
348
305
341
449
370
447
401
424
316
488
439
430
332
427
492
470
358
300
387
391
419
338
391
390
402
360
421
488
454
364
461
495
460
485
446
307
357
312
443
382
480
494
417
497
474
320
483
475
495
439
334
315
332
324
416
491
378
442
500
337
322
449
368
498
450
397
389
309
314
447
420
391
370
352
475
408
318
305
452
464
349
499
447
423
382
486
413
334
496
332
432
349
468
374
327
350
309
471
381
422
423
400
444
488
500
324
365
500
365
438
473
462
359
428
490
302
350
325
389
398
343
324
353
345
381
476
344
448
410
484
389
395
489
461
440
303
390
332
427
307
496
470
345
476
406
402
393
323
493
480
320
406
444
402
387
472
359
479
452
422
475
453
357
398
428
302
477
489
359
311
339
486
415
431
399
424
465
499
332
456
319
440
328
335
439
491
460
479
471
481
366
351
419
493
499
457
350
427
404
388
407
349
359
323
402
447
402
402
370
319
384
490
448
414
326
343
341
325
412
480
439
398
355
312
447
463
375
340
325
454
451
443
441
311
460
322
388
337
304
355
419
409
493
478
382
371
337
427
331
362
422
311
428
482
409
401
408
350
409
434
300
422
485
343
403
465
446
478
398
443
327
379
385
316
322
428
325
472
490
347
372
396
366
320
397
449
362
449
333
335
478
430
496
319
383
459
477
380
366
302
381
431
391
485
369
409
316
310
369
397
382
446
421
480
498
464
305
339
377
362
309
439
491
396
406
339
315
416
408
336
412
326
489
341
393
487
367
422
434
473
309
344
323
417
356
445
459
377
436
381
426
400
338
307
451
458
378
357
336
452
499
304
456
477
302
396
367
408
473
320
451
473
491
427
454
378
399
426
315
356
362
380
332
478
490
374
498
413
390
482
436
379
358
334
476
380
409
463
398
463
490
389
393
309
481
355
321
448
357
493
421
359
404
378
365
359
489
368
384
364
315
337
415
457
397
361
430
359
418
422
466
342
338
334
327
327
424
302
454
310
409
421
304
374
456
426
489
326
491
489
487
324
429
410
399
435
410
477
303
337
381
339
391
489
321
422
479
318
367
310
438
398
306
433
492
451
408
374
465
438
392
430
398
347
456
429
336
406
452
371
464
391
406
405
369
327
327
368
369
347
477
381
381
414
325
373
439
399
354
489
315
356
485
480
399
478
461
362
388
321
320
373
485
423
421
352
400
476
495
368
477
374
362
352
391
310
382
356
414
414
474
475
486
477
389
306
327
378
473
446
499
473
463
429
431
413
327
417
302
410
317
435
458
500
406
419
386
412
496
445
436
397
461
330
359
468
488
324
355
325
363
328
304
434
496
376
311
301
316
322
334
421
314
468
405
459
446
476
368
450
363
353
452
318
475
351
388
363
381
354
327
331
496
351
326
421
404
443
442
455
358
436
385
420
428
430
358
491
352
369
437
387
340
433
332
474
342
429
368
418
445
450
458
338
338
390
456
358
344
406
426
345
315
327
487
428
499
467
348
495
327
460
303
355
431
325
406
374
324
337
323
464
364
481
480
481
448
434
415
421
434
478
397
435
330
383
441
324
310
472
409
377
334
448
453
474
321
307
306
391
384
415
342
433
467
322
312
379
311
477
417
421
443
432
327
462
476
374
411
430
469
348
404
378
451
313
358
499
495
350
408
428
380
344
477
372
428
458
424
400
309
391
398
481
320
475
349
476
493
331
434
489
446
366
480
435
359
357
439
391
318
365
376
346
497
463
383
385
335
340
312
341
443
476
399
345
473
459
494
342
379
428
300
489
359
467
340
485
403
425
472
414
375
422
361
474
459
486
383
463
417
456
440
436
428
323
321
482
328
324
333
430
426
468
350
443
465
468
334
444
338
419
446
306
367
448
499
461
435
348
465
384
475
455
326
342
451
415
330
473
307
396
409
320
353
370
336
494
387
303
322
334
344
489
471
331
401
398
306
425
314
418
351
466
349
483
400
334
401
444
332
386
319
404
349
313
381
327
355
328
417
475
306
483
479
377
330
300
464
467
491
387
437
472
313
375
323
433
408
491
350
500
403
451
322
464
369
336
415
450
497
481
384
430
441
417
499
480
440
478
367
357
344
350
382
492
499
496
460
490
432
484
471
399
482
400
411
326
472
310
414
482
407
335
414
312
397
336
370
463
341
351
484
498
308
473
319
436
401
303
433
401
416
409
397
465
376
325
412
434
429
371
315
361
376
414
343
482
466
432
300
348
463
490
457
471
321
474
426
312
402
447
441
340
444
373
426
455
331
350
458
455
357
387
400
444
435
422
430
300
369
471
450
459
457
321
453
331
487
442
392
443
400
441
365
343
490
469
456
493
351
404
371
468
479
393
358
327
371
324
472
453
399
492
368
476
311
488
377
440
326
426
463
319
309
455
457
439
409
357
321
493
490
378
381
327
475
465
350
486
475
482
414
470
320
463
419
350
337
475
342
339
399
380
319
302
403
326
418
457
402
340
317
389
398
475
389
478
476
361
470
451
326
416
317
344
401
338
371
444
416
415
351
391
306
379
434
471
415
362
316
372
472
387
408
414
340
390
374
397
343
408
494
314
480
383
468
445
357
396
429
311
494
432
420
455
368
349
367
349
449
365
395
482
456
354
490
472
455
390
351
493
339
396
491
419
389
383
396
428
423
414
479
464
428
486
481
485
333
320
499
449
442
403
459
367
352
455
476
366
399
423
311
476
435
326
470
419
426
367
485
441
337
423
427
376
469
315
316
361
303
441
343
478
423
445
357
335
412
476
394
326
481
417
365
339
459
463
426
484
488
489
439
426
305
357
303
371
412
346
319
491
498
357
492
370
345
449
350
455
481
497
406
427
425
424
324
456
387
337
486
419
398
405
497
420
373
381
409
407
323
381
400
446
335
364
307
435
355
360
318
410
413
343
328
319
428
443
484
490
415
314
303
488
458
409
499
397
384
303
422
380
441
304
301
319
450
473
483
314
426
414
397
454
376
461
492
346
497
439
338
326
429
445
440
487
373
326
496
314
495
481
300
487
344
482
422
417
476
385
398
327
494
351
417
484
431
412
441
425
474
448
354
413
459
397
308
424
343
385
371
392
368
399
449
452
356
362
342
420
466
452
407
460
348
480
314
410
301
390
369
409
350
367
474
368
374
369
447
318
325
451
352
407
382
348
328
414
360
381
313
330
382
378
361
344
431
308
445
447
473
471
413
418
465
391
371
349
414
373
411
485
454
491
478
314
467
377
327
376
393
317
397
491
368
414
460
488
332
473
368
352
376
465
407
403
381
326
302
449
467
306
437
387
341
390
309
480
301
334
377
417
367
492
458
383
390
394
452
386
401
483
338
385
349
465
364
423
371
305
395
438
428
349
325
342
485
413
406
398
444
449
432
314
359
377
479
302
415
309
498
341
352
411
416
461
447
352
464
407
457
479
332
440
301
339
357
335
348
355
381
368
414
337
389
479
326
457
360
464
353
437
493
460
432
412
483
379
357
431
458
433
363
356
486
310
344
475
316
330
453
394
375
349
371
407
479
454
492
431
398
479
443
334
451
356
444
365
325
346
481
382
301
335
391
374
334
338
345
457
448
349
399
381
417
484
335
333
389
321
361
371
445
469
497
359
496
389
315
313
380
367
319
398
480
384
386
465
490
402
390
445
379
495
439
434
348
394
404
337
410
378
458
388
404
396
486
347
410
448
386
475
440
441
313
324
373
494
484
301
449
456
479
453
419
437
331
414
479
348
367
477
367
359
481
335
353
333
440
361
348
380
435
434
325
317
448
497
370
346
306
444
354
365
465
320
324
451
352
310
419
398
464
349
376
446
487
430
449
346
339
357
309
311
330
430
319
357
459
478
460
303
324
407
344
420
498
316
345
365
480
307
329
487
439
454
325
358
402
350
464
420
470
411
411
357
313
359
304
463
304
385
426
478
425
338
492
303
349
313
330
408
395
456
305
486
387
362
441
436
447
418
404
300
407
422
485
485
407
473
334
300
386
481
475
438
350
465
344
335
327
403
473
369
450
383
481
438
356
306
331
309
345
398
413
321
436
320
322
356
363
346
492
353
439
438
460
437
387
341
307
467
481
477
305
306
400
351
358
439
431
362
499
301
398
374
498
452
439
405
488
427
380
397
481
405
461
478
337
413
326
378
363
459
397
454
341
317
413
357
464
373
473
364
447
420
388
458
394
329
408
487
430
480
358
462
420
363
479
338
477
313
372
364
348
455
432
465
314
311
378
330
329
490
350
360
447
388
402
464
309
309
499
302
467
355
427
426
351
367
388
348
396
300
379
423
456
440
484
490
311
390
356
423
499
429
465
492
402
459
330
470
452
409
389
348
316
321
412
327
461
419
387
396
456
366
382
415
406
491
456
400
313
428
422
495
305
442
326
475
325
366
390
345
331
307
385
374
403
395
472
439
468
362
432
400
325
496
353
418
381
316
458
456
312
420
398
398
336
456
472
498
300
369
372
416
304
444
444
499
403
444
423
491
365
331
482
470
406
425
355
456
336
344
344
357
402
471
332
346
454
392
371
471
423
322
406
337
489
327
370
492
421
497
437
470
486
300
332
375
430
455
372
354
374
483
300
442
394
500
314
440
360
322
450
451
319
396
410
416
316
487
447
467
406
428
377
449
469
446
365
352
420
308
331
401
389
388
302
354
340
449
396
377
375
475
429
309
490
418
499
488
420
434
392
451
347
306
304
361
399
364
452
418
413
492
310
379
485
310
433
348
402
496
382
367
398
488
489
372
335
318
434
334
442
424
434
458
360
322
320
488
304
304
320
371
353
400
333
498
453
492
475
313
417
368
339
327
482
307
352
364
360
451
482
365
382
421
474
342
397
463
337
493
416
399
421
353
402
481
440
355
379
387
451
436
407
326
475
341
500
385
338
371
455
303
351
393
376
359
467
305
355
475
382
331
440
368
414
398
458
386
364
453
461
498
394
480
342
487
479
495
321
413
437
450
350
396
409
307
451
471
339
486
407
336
422
402
344
367
449
382
450
334
322
476
348
319
425
365
396
459
486
320
476
417
401
312
413
315
460
358
369
449
419
492
428
352
477
360
360
356
417
425
335
313
413
437
305
353
441
400
498
339
400
475
378
336
467
459
302
489
308
332
396
378
356
430
344
406
361
340
491
466
301
386
380
386
428
388
336
392
372
368
382
307
348
319
346
461
333
430
477
440
391
484
408
307
412
371
379
496
402
434
431
437
338
453
390
400
475
438
427
351
459
370
345
325
385
342
377
345
426
364
404
487
481
366
469
383
429
460
471
424
490
374
416
405
389
493
414
384
409
438
372
344
477
318
325
352
330
328
460
344
313
316
473
323
366
414
304
425
323
466
389
369
461
480
307
300
364
484
412
313
482
484
499
489
494
490
309
402
311
364
355
472
466
388
463
338
357
377
442
418
311
473
422
310
450
356
367
404
364
409
443
402
441
322
326
309
378
373
360
471
334
303
413
424
465
466
413
371
360
404
345
442
303
317
359
437
441
348
319
472
367
489
358
313
399
480
438
483
433
334
411
350
461
361
395
484
346
473
347
458
325
377
370
419
483
309
349
405
475
410
353
496
336
315
475
358
417
401
420
362
379
420
342
425
464
465
495
484
404
330
498
458
430
451
310
344
304
353
352
390
307
474
309
352
375
431
451
350
483
401
423
357
369
434
316
443
339
441
465
407
477
476
389
323
313
435
417
345
430
303
469
427
487
426
403
388
446
415
389
453
369
431
446
435
403
345
453
370
499
304
384
340
388
397
367
354
410
487
454
414
374
317
307
445
310
500
491
421
349
500
494
435
444
356
424
332
466
321
454
331
412
386
484
469
428
470
494
484
385
450
434
418
397
342
485
402
364
413
417
351
352
457
405
464
340
452
460
389
474
403
321
369
388
311
366
318
432
365
377
364
310
338
386
394
457
306
461
448
398
472
308
437
434
311
339
362
440
305
347
384
391
386
486
446
349
415
485
395
404
355
324
422
453
337
456
312
450
487
311
301
464
425
345
409
482
316
357
401
421
491
332
455
354
408
306
319
499
358
457
376
488
395
430
371
441
388
334
471
417
432
380
447
454
335
327
471
355
470
381
302
460
395
438
411
416
493
450
403
483
339
300
330
327
443
335
489
402
434
466
370
342
411
368
395
402
342
423
487
495
332
445
483
302
476
455
432
399
336
486
400
485
498
443
458
484
317
321
353
381
412
401
361
312
376
310
472
332
302
465
490
449
341
449
305
337
307
404
466
419
467
407
329
429
456
308
306
434
388
376
446
371
454
310
322
411
392
482
461
465
415
316
390
355
472
434
469
390
469
468
401
366
386
319
420
360
473
431
399
480
351
446
459
429
422
449
316
490
430
339
330
373
376
450
403
382
444
371
413
368
417
492
301
459
436
456
348
475
476
487
493
385
395
357
472
454
368
488
371
416
481
452
364
358
421
336
475
423
487
422
304
378
500
499
402
498
303
313
390
493
495
412
448
479
341
373
488
401
470
437
391
491
430
361
369
360
389
392
425
304
439
400
490
493
311
330
375
353
490
307
325
419
388
335
436
435
484
425
428
458
440
442
340
356
312
330
496
391
486
306
495
400
454
372
482
389
375
407
364
351
423
354
449
403
472
442
496
361
300
475
395
401
467
422
366
366
412
371
334
358
357
457
450
401
450
447
359
440
380
494
370
482
342
321
332
484
426
358
333
472
362
453
493
425
323
424
483
392
352
463
319
407
367
406
454
396
462
355
357
324
390
455
418
463
416
453
354
483
315
322
426
319
419
476
406
496
364
377
396
305
429
454
412
303
391
305
386
361
434
429
309
336
356
459
324
385
376
311
366
335
390
410
308
458
322
442
452
321
480
360
402
482
485
442
341
436
351
461
428
402
470
353
491
475
406
421
346
400
404
301
338
419
442
308
371
313
438
358
431
461
499
368
307
383
477
348
421
360
326
407
305
312
318
333
408
321
379
345
375
492
373
352
436
419
346
498
394
343
437
438
304
383
347
340
338
376
329
421
431
406
404
458
439
479
473
428
390
352
445
449
417
445
336
490
425
487
356
319
482
440
378
385
414
480
449
344
365
410
490
471
318
436
304
500
355
459
348
393
378
436
415
402
468
397
380
359
362
350
330
459
441
337
326
453
334
373
484
362
365
387
460
345
413
464
347
468
302
453
382
352
416
372
388
487
370
432
475
342
460
349
327
316
361
405
393
432
472
316
449
390
354
349
491
494
320
468
336
469
331
344
302
418
438
360
440
320
472
311
479
324
436
381
412
337
380
441
334
362
436
459
412
439
300
302
492
395
316
318
392
480
378
387
321
398
408
408
393
305
413
499
398
306
395
424
343
438
412
365
467
434
313
438
425
391
468
452
360
300
484
357
454
495
463
366
460
447
357
375
337
495
413
366
459
367
390
465
325
432
449
496
323
350
311
394
334
372
326
380
326
333
438
434
426
350
490
448
478
349
368
403
423
473
338
401
312
315
456
458
472
407
490
436
447
441
460
359
488
363
359
442
313
493
452
486
494
401
414
458
346
308
318
330
308
310
420
386
422
500
439
441
411
352
430
343
418
428
375
469
457
488
475
390
415
326
470
445
382
314
356
346
474
362
405
346
435
388
499
488
327
452
444
473
430
488
328
303
368
444
334
397
487
489
413
476
340
408
464
473
487
475
392
383
373
497
495
377
344
483
477
367
335
496
371
486
472
490
453
444
477
308
319
468
376
328
473
378
477
472
437
479
399
355
482
338
441
499
343
412
435
433
442
393
446
482
376
361
322
469
474
350
404
452
360
336
330
375
367
408
463
410
467
463
453
445
374
393
409
452
443
413
407
363
345
380
399
337
415
365
390
450
410
417
315
399
350
394
433
467
407
390
387
386
447
344
410
345
360
487
423
419
445
308
342
335
463
434
412
349
471
406
338
396
422
303
375
343
371
306
365
415
360
371
498
437
409
466
472
374
391
343
444
468
402
385
429
310
445
370
480
409
307
307
303
344
385
482
448
348
477
456
369
375
390
357
327
465
457
430
384
490
346
486
370
487
494
344
316
441
465
379
476
384
355
353
465
427
435
430
465
370
440
328
422
467
326
319
438
406
475
465
357
313
325
326
333
395
313
468
320
469
346
483
456
412
431
490
401
405
386
370
489
366
366
359
305
407
350
492
487
340
497
365
388
488
482
400
415
335
494
300
350
404
387
472
319
366
431
357
406
494
460
406
358
380
310
311
423
494
322
479
493
387
398
479
495
470
326
416
393
369
393
485
443
362
428
444
322
492
412
381
377
397
452
449
319
349
467
473
428
399
324
454
392
420
457
447
301
460
438
362
451
401
321
370
420
333
393
419
394
364
300
381
374
430
406
346
388
301
453
478
444
317
343
421
490
492
328
351
342
331
429
471
314
449
424
313
495
352
346
406
462
423
381
351
397
405
317
301
461
417
483
401
339
324
369
319
392
418
493
472
355
479
374
437
318
360
304
363
405
407
465
397
472
373
314
308
333
306
401
392
339
384
420
383
301
484
427
337
345
467
467
385
449
417
445
455
334
410
310
485
452
301
468
357
325
463
394
345
427
427
388
479
366
417
372
315
469
420
435
318
452
364
437
389
420
316
301
398
424
341
402
363
408
345
324
409
357
377
371
474
311
338
388
417
422
364
424
364
447
490
444
334
390
353
458
305
325
372
404
472
323
458
440
455
483
409
461
339
479
311
471
412
425
382
328
455
326
490
451
455
450
465
447
436
465
369
372
364
318
310
415
362
493
437
401
408
356
451
451
418
313
413
333
304
476
492
454
338
306
331
375
340
317
471
424
488
359
464
446
371
386
492
477
453
337
304
313
440
320
404
453
333
405
340
439
303
499
381
365
500
325
393
358
335
406
381
305
468
373
352
323
498
446
384
485
441
309
335
476
477
344
352
475
384
352
405
360
368
465
467
307
452
417
461
479
331
409
361
328
358
401
461
500
359
351
497
385
468
375
304
384
405
390
448
499
351
379
375
350
383
321
307
402
467
480
495
494
374
399
489
445
499
306
485
410
415
300
328
310
403
407
468
307
387
305
475
322
363
332
309
500
391
441
330
329
415
440
360
397
332
354
402
442
474
488
308
440
458
308
326
498
442
454
499
359
428
315
456
465
396
449
353
495
447
457
415
499
335
366
422
453
370
496
382
353
433
479
387
402
468
378
458
492
451
473
303
371
367
340
406
334
474
472
320
385
385
448
472
477
307
498
381
477
412
419
472
428
420
399
381
435
368
390
445
377
486
498
382
317
415
469
326
370
385
424
380
396
456
460
480
352
473
433
378
440
309
387
462
359
350
341
405
307
389
333
363
354
303
366
378
382
421
301
442
387
373
327
336
411
485
485
363
454
391
479
485
331
459
409
427
345
396
357
335
461
478
313
302
437
494
333
374
485
432
499
437
395
477
440
358
351
435
372
428
357
305
308
316
482
367
432
327
379
362
318
379
349
326
346
440
444
404
398
468
399
476
402
328
380
397
429
399
359
304
343
440
398
440
485
428
396
406
483
455
320
379
340
345
467
489
480
423
418
343
305
305
474
400
311
494
448
421
372
324
445
377
496
361
468
404
333
432
359
436
301
344
327
334
479
390
425
370
406
421
333
323
476
484
301
477
380
378
339
460
383
428
386
449
405
332
322
383
441
357
435
352
489
337
495
309
387
300
412
458
341
336
478
473
398
367
389
406
370
359
350
462
322
400
323
368
368
456
321
480
396
365
300
308
495
408
336
324
442
412
364
310
307
428
486
445
305
425
322
453
425
344
378
470
484
437
483
495
350
326
476
403
363
470
467
308
307
382
376
427
334
362
407
305
475
493
434
353
470
473
491
468
351
325
475
465
409
305
377
321
409
368
332
394
339
312
488
377
460
482
392
433
434
377
310
442
306
476
489
443
414
398
343
443
469
458
320
456
388
345
389
375
436
468
311
357
396
383
354
400
356
457
404
429
356
392
472
335
320
320
326
339
408
381
470
465
367
460
357
345
477
481
440
369
420
306
389
479
318
355
376
442
336
392
330
309
313
457
405
493
443
454
344
338
325
500
302
483
388
377
444
303
357
414
474
488
377
346
372
300
355
416
451
434
308
450
478
437
315
330
457
460
437
462
345
321
436
334
442
489
402
364
415
362
465
481
498
425
353
463
372
375
334
351
320
334
353
389
500
330
403
500
338
459
421
454
373
410
456
353
468
458
371
498
323
313
455
388
473
405
497
479
483
482
386
486
312
324
474
478
447
376
382
448
424
447
360
411
412
397
487
303
300
347
406
389
476
382
337
469
314
404
444
303
332
375
473
431
422
455
490
417
328
480
388
438
367
456
454
475
335
319
416
419
369
413
348
382
300
307
408
456
499
406
336
413
311
491
337
470
325
341
393
469
467
319
309
453
441
372
436
472
379
301
394
402
476
381
457
313
422
342
382
433
318
357
348
487
322
484
403
470
334
313
400
446
465
454
328
350
386
328
425
377
457
447
484
360
500
434
373
442
454
411
439
462
303
360
433
391
340
328
342
471
440
456
447
350
314
437
380
466
441
492
349
419
395
499
336
312
418
352
380
394
300
439
413
464
443
464
349
421
359
494
445
357
330
400
302
374
420
470
378
493
370
323
304
361
423
395
482
370
415
480
439
440
488
389
396
398
308
488
346
376
496
484
464
303
369
465
417
302
463
471
455
402
489
420
439
335
373
494
352
367
489
332
483
418
439
470
491
337
494
447
325
456
429
462
447
495
431
348
430
431
478
436
372
441
423
382
433
349
435
448
470
422
464
437
431
402
435
500
462
388
448
466
365
388
496
323
305
388
304
708
705
547
422
533
673
786
549
567
569
731
745
781
546
592
760
730
657
630
621
432
452
452
679
785
602
505
519
757
633
774
515
451
538
513
584
647
737
509
707
440
767
585
618
622
644
480
462
448
519
439
802
551
811
582
455
487
669
533
614
489
774
785
447
535
494
782
451
579
622
801
568
434
636
457
619
474
702
434
596
816
506
662
649
765
463
585
595
423
801
540
649
437
713
734
801
577
465
666
439
471
762
475
775
744
535
753
774
495
554
443
656
593
442
580
751
812
718
768
519
552
788
655
500
699
550
796
501
769
529
724
709
750
789
616
755
561
698
424
708
722
700
429
644
451
720
443
525
681
546
655
798
457
671
526
684
446
807
758
605
616
750
585
651
457
423
804
466
528
532
649
488
748
744
752
464
699
538
490
694
756
521
814
516
561
661
729
715
729
519
722
598
669
706
747
607
812
783
651
581
610
553
774
756
507
654
818
480
750
437
555
628
679
696
804
598
527
735
671
520
654
782
493
446
651
698
502
810
548
799
748
668
515
728
681
739
574
732
745
670
771
729
817
659
709
619
740
426
540
720
813
609
689
467
503
463
655
791
532
659
453
551
495
583
794
562
631
792
478
796
720
647
665
431
429
420
487
572
586
799
767
519
776
679
677
474
483
663
585
519
745
439
635
553
446
588
621
493
538
719
677
556
540
800
549
692
427
523
485
435
661
744
669
761
532
463
618
709
713
691
782
725
754
587
751
713
707
666
800
809
612
639
587
515
452
653
814
674
807
739
450
497
744
468
428
676
454
585
671
428
707
739
455
588
810
500
588
451
704
502
801
532
745
816
596
701
533
562
551
771
599
487
614
663
651
598
659
436
784
562
754
437
794
638
644
803
475
645
650
494
474
443
762
737
683
711
716
661
645
708
817
605
638
607
624
728
506
595
486
502
715
740
754
726
733
625
580
710
720
598
765
725
563
751
439
667
648
677
672
572
497
735
421
505
738
513
582
687
692
647
637
558
610
798
435
764
650
713
811
690
664
649
520
553
703
422
677
432
716
808
666
789
679
612
488
497
685
641
538
804
625
653
430
476
636
510
658
465
712
808
727
493
746
425
637
508
784
454
449
802
599
561
818
523
452
650
461
658
808
714
735
587
599
786
684
436
592
641
612
798
541
507
787
527
556
742
553
566
604
771
745
725
553
458
766
670
776
778
686
621
765
641
718
507
517
646
739
702
570
539
624
724
640
524
530
788
765
633
451
788
561
470
502
766
690
483
495
818
808
565
477
558
449
442
429
582
567
726
532
772
726
726
578
673
433
552
726
655
539
695
547
511
473
442
582
699
649
471
637
509
742
561
730
658
755
797
677
506
686
782
527
740
581
700
559
525
606
757
608
609
630
801
453
769
469
521
776
422
734
748
564
763
584
688
742
511
483
552
677
540
751
521
658
792
522
579
428
550
749
584
749
667
820
650
796
672
550
726
814
795
776
775
482
688
799
644
809
778
800
786
495
817
657
437
659
796
646
634
518
544
797
575
707
816
527
610
747
548
658
565
808
472
549
454
802
676
524
541
643
544
587
655
792
602
442
480
682
578
719
775
724
715
534
588
675
714
541
701
513
464
727
428
492
745
535
641
666
765
423
804
792
488
585
493
687
742
723
733
463
625
422
554
677
478
531
731
764
804
594
674
537
594
618
641
456
622
579
743
747
522
570
745
501
428
677
778
685
570
588
651
591
552
748
570
710
818
450
644
524
576
547
631
812
643
733
603
779
468
808
517
762
727
727
526
580
491
805
618
663
770
622
563
724
517
738
568
778
624
683
711
594
556
792
453
553
685
513
543
525
730
621
588
447
814
773
723
816
559
711
636
622
436
506
679
464
687
681
475
647
611
773
501
595
623
516
748
782
688
664
552
448
647
764
549
650
446
684
439
539
684
743
459
549
749
761
720
739
516
470
668
663
433
473
781
646
747
648
525
749
432
428
560
608
808
505
792
518
497
500
568
757
757
738
773
447
556
782
658
808
562
714
605
640
551
689
750
495
645
727
479
483
744
526
499
687
728
737
618
743
586
481
428
779
496
662
585
723
421
434
775
780
655
527
610
655
718
754
445
542
510
677
483
665
819
697
581
679
777
632
519
757
639
558
779
521
433
585
496
812
771
814
530
622
484
771
533
654
662
581
449
503
618
476
646
726
691
498
737
757
787
715
589
809
579
610
616
545
593
463
451
448
488
596
788
704
701
741
798
430
559
710
580
473
658
681
670
427
441
728
750
813
697
545
442
553
799
565
607
750
511
494
489
743
533
477
596
554
610
549
575
741
718
496
757
622
607
596
467
653
690
672
501
702
501
434
731
508
577
744
443
468
500
789
798
589
730
715
460
717
451
451
725
615
437
643
597
592
448
430
610
503
495
521
695
423
611
553
820
431
445
478
723
611
693
578
666
634
702
502
493
738
526
814
568
753
510
629
605
581
818
584
549
520
672
748
483
489
739
575
491
561
572
748
792
698
499
631
632
707
534
576
681
623
803
620
569
668
685
774
746
752
781
564
766
467
631
492
600
448
730
535
506
437
441
744
458
732
780
534
759
676
479
692
741
570
607
735
555
765
663
761
719
611
723
767
746
800
420
710
445
582
725
544
423
468
472
599
468
477
515
430
476
769
683
693
733
716
426
501
675
813
600
440
749
757
553
446
799
739
572
751
531
814
563
741
443
467
689
422
814
600
544
421
587
657
613
499
614
721
777
767
707
808
594
612
764
592
622
579
798
783
540
608
445
632
747
713
694
713
698
569
526
516
757
754
722
809
582
702
654
789
677
466
754
706
663
774
522
588
671
546
690
489
614
612
501
568
607
584
572
780
656
780
444
500
667
612
672
561
421
435
467
490
575
433
720
760
693
425
466
447
600
637
578
725
816
633
652
721
574
434
695
497
780
726
583
436
619
640
816
585
795
517
616
430
650
509
487
441
650
714
462
605
570
458
586
641
599
666
508
535
594
621
504
670
530
556
655
500
441
623
627
533
540
586
683
420
737
792
773
431
442
723
426
694
477
563
749
759
535
773
586
546
690
441
811
660
634
740
473
659
726
524
722
493
436
716
643
780
685
438
707
621
737
466
480
621
785
748
592
479
658
701
473
692
721
673
457
529
672
669
710
619
696
433
662
800
732
585
812
797
625
423
539
672
657
647
631
527
815
716
697
439
581
647
775
609
580
779
661
699
486
675
511
698
577
779
720
734
559
758
515
689
613
799
664
504
437
449
486
488
805
812
674
706
490
555
807
478
678
800
630
460
641
657
736
633
425
609
470
786
609
582
682
457
808
597
605
778
673
649
522
492
738
462
443
510
680
716
515
577
717
742
674
543
487
737
574
593
756
583
688
675
589
702
749
576
437
714
653
563
813
654
748
648
712
748
753
798
525
789
578
712
465
611
560
761
556
531
581
699
716
755
711
647
597
768
766
663
434
592
768
496
642
703
732
592
635
767
673
576
712
601
790
457
607
718
526
470
479
450
539
646
553
809
653
446
559
787
441
458
524
579
680
583
515
593
619
547
544
788
813
478
639
712
540
742
601
545
735
442
509
590
622
451
663
650
714
520
489
756
720
427
746
811
746
723
742
716
799
799
619
523
810
451
746
710
480
542
759
584
695
818
791
497
795
685
600
511
607
717
769
550
595
804
597
536
735
677
678
792
620
446
505
642
581
621
676
751
449
528
478
654
545
463
521
661
719
441
729
680
746
619
570
469
530
739
427
768
712
758
646
549
600
663
443
422
731
685
795
439
536
492
494
435
594
760
749
672
660
434
471
667
448
483
433
499
458
510
816
711
795
737
499
427
781
510
479
813
485
739
678
605
462
582
490
736
429
593
809
443
819
745
508
475
530
494
559
784
606
596
557
767
535
805
760
480
485
574
594
551
499
768
511
569
722
456
658
565
432
582
653
687
698
624
750
502
728
801
561
630
572
538
499
799
528
532
587
722
674
525
702
675
547
524
588
613
477
498
437
773
788
657
526
740
768
674
426
751
627
572
493
538
756
594
597
677
766
552
650
730
758
734
811
671
719
654
672
727
560
509
764
503
642
692
785
549
536
424
436
776
753
589
730
697
768
785
675
754
773
777
636
608
504
564
752
609
421
562
536
469
645
584
507
432
798
701
631
644
492
753
426
722
787
674
563
500
481
580
553
715
800
641
478
674
632
433
436
525
785
625
596
712
539
476
658
539
589
459
631
794
800
431
739
486
813
702
495
640
503
602
496
653
785
621
571
609
787
805
450
542
561
678
734
792
465
740
538
794
805
722
534
579
672
693
744
764
690
618
486
693
811
780
557
746
510
532
765
678
422
760
443
469
792
501
449
554
527
806
674
565
532
590
819
445
687
448
792
798
548
665
691
441
664
673
462
563
494
600
531
522
772
607
656
713
670
454
478
657
561
467
467
444
678
448
437
665
607
482
800
497
727
725
449
484
573
641
458
471
423
613
670
674
738
717
779
482
786
612
646
804
557
707
513
778
676
530
802
697
472
556
513
488
796
732
744
713
711
713
707
493
764
759
618
811
612
640
620
555
778
806
718
789
770
754
564
723
698
696
623
646
690
713
713
526
787
436
688
588
611
740
803
491
531
552
652
626
687
537
598
525
718
704
642
716
466
492
720
646
528
603
660
657
667
630
534
473
780
703
799
749
761
492
639
577
454
453
786
739
567
819
762
725
439
429
815
599
553
638
474
630
436
506
641
716
624
623
759
757
730
551
478
516
475
548
448
656
486
484
440
624
653
519
574
554
812
671
498
561
660
573
748
436
671
739
807
762
679
624
703
734
659
768
791
520
605
751
449
785
739
494
787
475
647
698
695
543
521
602
516
559
493
573
528
489
532
811
765
659
782
555
718
658
683
663
680
451
806
618
469
742
801
544
434
490
669
528
526
784
772
643
790
559
711
686
677
709
563
561
678
766
795
503
538
669
709
420
738
780
495
459
806
469
445
497
814
443
449
596
497
438
783
559
809
532
423
464
799
479
577
719
583
517
551
421
773
516
808
605
532
611
545
437
480
720
727
428
464
579
733
819
474
669
421
466
508
797
693
550
492
797
694
460
679
689
567
516
747
484
534
658
524
818
732
482
666
645
676
640
768
610
753
474
500
432
545
709
481
562
584
645
688
743
687
729
722
547
513
757
768
582
810
678
757
771
651
739
449
756
421
669
696
648
727
718
689
749
750
643
517
439
741
820
651
581
483
495
529
610
451
706
555
539
454
805
640
660
681
491
814
637
606
670
812
652
711
684
572
632
772
433
788
714
533
593
474
671
718
517
728
738
808
619
788
452
636
533
701
521
491
651
639
655
665
453
443
520
537
668
728
515
748
777
641
438
693
736
516
450
773
799
492
545
535
797
521
467
589
661
423
658
457
536
776
529
630
698
543
752
598
788
512
535
502
694
574
717
685
650
441
665
651
681
664
756
705
557
664
600
549
503
731
812
483
499
751
620
528
596
626
723
793
529
666
426
726
526
769
460
470
777
650
680
477
712
435
547
744
456
759
613
803
800
457
654
793
634
599
704
686
547
664
478
511
509
555
815
581
513
477
739
434
538
520
635
597
661
468
495
521
563
749
498
565
432
445
770
621
787
536
554
791
509
777
731
448
760
624
663
629
622
802
667
498
725
638
724
655
701
606
454
421
585
421
511
797
436
791
423
813
790
767
739
441
462
494
652
764
788
501
528
585
760
515
494
594
658
780
476
649
781
550
662
815
472
783
574
589
771
620
569
539
579
448
739
493
747
753
717
750
778
743
796
713
816
611
670
800
771
501
437
815
528
452
450
553
604
600
716
651
515
625
456
429
609
643
499
435
510
457
607
470
567
754
819
569
463
520
692
441
775
760
802
542
522
540
467
708
741
474
748
482
661
781
816
798
512
421
715
631
504
602
611
434
783
695
635
460
437
655
703
813
619
792
434
603
601
582
573
496
604
551
743
422
758
483
422
686
572
815
468
569
539
565
440
753
486
487
610
525
623
546
711
716
675
636
562
472
660
496
664
742
495
638
437
658
653
508
558
595
782
755
557
542
805
651
815
621
784
692
458
586
703
760
673
537
533
561
490
711
640
620
563
689
659
613
737
600
544
679
658
491
569
677
748
617
733
733
616
684
555
482
800
542
756
666
792
512
765
531
637
442
674
432
756
750
731
661
724
640
765
602
770
742
432
475
617
817
740
521
623
758
694
511
574
731
733
497
551
522
611
757
688
509
715
494
814
711
765
559
562
668
571
807
760
690
799
723
753
733
783
521
527
558
490
694
811
611
541
488
746
543
598
466
742
741
539
776
483
429
743
501
805
615
746
797
628
597
492
423
701
504
453
506
669
474
578
591
691
727
534
674
745
589
425
676
741
717
620
454
601
665
537
683
725
698
800
527
472
568
645
652
774
561
461
707
662
688
707
778
797
731
423
534
752
739
764
743
454
685
709
682
651
698
720
789
578
779
526
763
615
767
475
465
487
520
571
458
814
711
476
526
661
813
532
676
619
420
501
762
617
437
498
818
428
599
662
492
423
519
568
675
515
769
577
447
786
490
633
605
603
683
791
547
438
587
660
431
516
699
782
452
513
570
462
436
635
640
711
622
791
688
782
681
745
528
703
639
758
573
798
716
504
610
817
770
565
632
533
773
599
809
739
715
427
423
630
802
460
488
465
651
455
676
780
528
803
440
499
792
752
669
421
602
480
603
796
486
508
472
483
524
453
510
788
762
688
692
596
585
607
556
796
818
724
587
783
692
512
698
531
673
454
624
635
786
755
662
502
707
743
554
654
720
744
485
596
739
769
611
621
505
781
481
544
491
450
446
609
578
667
681
760
812
685
609
427
807
486
579
750
475
627
443
622
665
642
809
682
522
770
654
449
503
735
421
576
593
731
634
616
622
820
816
656
675
726
422
659
764
553
703
732
484
768
728
668
621
428
694
588
804
562
451
557
529
707
674
501
735
736
421
551
760
659
423
625
556
648
582
712
550
634
708
485
505
562
784
813
687
720
422
819
697
503
770
574
633
660
510
754
731
592
607
546
722
775
430
590
493
476
794
742
545
467
610
526
522
589
675
590
756
576
511
597
560
617
791
643
478
636
502
430
442
758
616
780
694
686
522
473
647
721
478
500
614
615
806
541
768
582
448
734
771
565
742
660
435
624
744
759
598
459
643
488
422
508
751
596
460
546
707
556
528
686
725
511
568
485
644
522
593
540
578
692
491
590
602
590
693
466
551
452
458
473
613
521
741
707
587
795
661
479
531
470
701
619
452
701
566
600
609
485
566
660
643
703
514
460
540
430
534
631
427
683
770
547
498
559
666
743
807
655
452
687
813
579
786
556
709
685
502
585
743
594
449
648
425
728
530
609
738
617
639
421
699
437
538
542
598
713
765
686
662
565
776
809
513
599
818
699
462
749
430
493
713
486
645
816
627
446
490
674
440
700
577
571
813
471
468
760
589
634
698
784
664
514
503
575
459
615
652
468
641
450
699
663
483
464
773
730
657
729
714
455
519
675
756
500
762
576
451
723
443
677
675
681
689
738
521
621
639
547
713
426
457
745
543
715
784
642
738
588
621
757
714
760
733
814
673
678
805
485
426
527
625
698
531
493
643
795
609
517
671
755
764
513
458
534
458
582
792
728
688
482
712
648
793
669
548
542
715
714
451
669
674
804
580
655
497
799
444
671
558
524
540
706
638
716
623
569
701
783
741
674
534
780
794
759
536
797
660
428
656
814
709
554
750
675
658
529
754
630
451
559
512
531
773
749
697
594
566
742
705
551
763
609
592
475
598
664
728
643
729
719
811
564
529
819
762
727
473
769
792
570
517
518
682
643
711
588
464
668
538
443
727
551
476
804
547
728
436
819
451
525
651
504
816
568
479
700
709
772
660
670
501
425
473
811
607
550
713
559
596
426
637
718
558
683
550
524
738
472
701
586
603
654
553
566
451
765
514
473
521
554
438
708
633
586
657
700
664
478
747
748
582
724
708
460
684
699
650
807
635
573
722
480
804
534
429
562
534
530
669
811
497
732
666
794
581
695
449
519
573
812
794
558
772
751
711
812
682
701
748
808
771
590
711
728
651
781
691
429
646
717
478
563
689
555
504
702
523
542
604
654
447
781
698
527
636
774
721
577
665
459
801
549
555
483
546
489
808
430
608
428
641
624
775
740
684
438
484
800
450
492
786
572
478
521
556
717
479
733
777
569
530
640
793
587
551
652
725
745
789
516
420
671
586
507
524
446
525
424
424
531
752
571
713
437
497
560
633
431
812
523
765
756
552
456
551
512
502
498
613
780
445
700
448
562
787
599
789
794
603
668
545
806
517
790
557
625
482
593
495
782
440
433
655
450
582
650
580
663
506
717
776
742
477
757
620
605
589
769
517
726
542
767
639
551
648
685
723
769
560
428
479
768
440
678
453
529
696
527
427
524
704
792
646
443
666
787
425
508
550
752
545
755
732
592
466
802
485
779
623
556
545
614
485
464
769
734
648
627
740
547
814
557
438
811
710
608
564
746
704
684
476
431
455
683
521
701
477
800
458
452
478
794
428
575
630
658
725
782
438
799
528
712
581
787
809
589
430
684
422
751
729
663
428
502
700
648
523
645
539
475
541
697
589
684
654
621
756
620
527
440
756
582
796
761
601
679
693
455
652
702
623
733
655
465
759
755
772
782
769
710
745
726
650
680
643
617
689
486
524
507
811
816
451
545
790
742
751
647
630
628
574
689
497
535
755
814
670
554
609
615
542
768
490
641
633
732
743
511
587
708
804
474
506
814
796
423
556
818
693
772
618
457
529
478
661
570
669
778
553
734
531
491
580
546
744
682
641
776
596
469
592
692
585
457
500
516
640
647
702
461
486
673
749
750
476
499
700
655
681
692
502
689
460
573
573
572
482
779
581
701
598
449
779
489
535
526
659
467
470
653
733
776
666
684
703
559
597
461
807
467
655
547
501
600
778
476
575
796
434
506
779
815
521
493
452
644
486
478
487
661
434
538
545
568
703
675
480
815
448
679
435
648
760
529
544
526
503
649
465
691
655
450
500
613
590
477
496
542
538
631
566
686
530
556
606
565
795
503
432
742
687
714
562
621
595
545
632
594
599
584
526
661
426
813
762
668
513
689
816
478
714
650
501
514
771
545
483
731
572
814
456
532
799
657
470
546
762
497
675
607
772
607
619
596
430
719
570
722
572
680
767
511
483
704
488
702
636
492
647
600
559
620
774
748
715
460
512
533
569
590
563
592
748
490
544
805
593
756
504
559
463
469
799
631
702
728
804
583
721
715
613
452
729
629
717
572
730
485
532
687
561
670
642
813
802
662
782
660
811
590
781
514
579
541
495
638
466
453
509
521
724
449
741
634
723
643
699
598
785
646
431
807
587
627
770
498
489
683
746
758
592
508
729
499
467
657
660
808
449
594
637
779
791
701
718
701
732
744
660
595
714
660
443
662
732
550
606
736
642
599
768
606
819
561
467
597
540
452
644
573
516
655
765
769
628
753
504
459
691
422
714
430
766
640
494
440
451
750
480
578
691
622
492
439
454
492
535
607
434
586
627
566
640
561
468
421
619
781
550
494
538
457
750
710
686
474
501
781
705
689
635
516
706
820
798
721
758
542
622
427
776
583
556
420
798
680
642
798
670
676
543
597
643
774
560
521
565
513
717
577
549
440
667
524
658
467
623
558
765
565
774
709
507
805
799
670
708
684
420
602
480
679
592
592
459
628
521
689
541
657
485
817
439
699
582
435
576
685
641
537
572
686
532
806
597
627
804
618
441
807
665
596
714
696
606
695
657
513
689
451
629
709
694
577
649
684
683
573
473
452
489
550
582
511
619
424
548
783
679
488
510
750
751
755
746
781
784
605
538
527
706
604
750
694
633
767
678
497
796
784
440
741
625
576
757
534
625
492
819
651
658
710
750
605
507
768
807
682
606
736
528
799
600
676
708
555
438
653
739
716
444
518
582
454
466
604
755
694
521
492
801
574
585
716
477
556
444
450
709
643
545
446
639
699
747
424
653
753
526
814
661
809
630
639
753
713
469
753
693
704
468
795
640
538
775
446
444
644
756
816
443
788
462
621
481
771
695
430
553
758
465
732
575
447
612
767
616
437
749
742
523
789
692
582
476
723
810
747
617
757
768
645
435
486
429
485
785
817
758
526
584
480
555
536
774
820
598
549
590
449
568
724
563
697
465
743
604
743
752
717
632
645
466
711
527
714
710
524
495
634
530
525
635
691
466
781
795
574
745
645
421
441
713
567
522
818
613
529
764
679
455
435
684
533
684
472
804
667
781
538
684
447
585
650
735
799
565
495
492
748
569
753
576
650
803
637
474
647
425
609
586
696
601
709
513
623
543
428
576
475
719
530
740
446
467
467
599
581
577
734
618
624
674
639
755
499
683
772
563
439
421
422
493
601
505
622
540
758
745
580
790
459
460
697
487
789
554
507
453
648
544
554
686
743
631
711
671
527
684
657
819
714
801
737
561
781
614
710
617
729
627
513
675
661
483
536
487
673
487
687
434
491
794
442
768
568
453
610
687
494
689
570
550
588
577
616
465
675
722
465
640
661
817
674
437
745
576
520
766
609
505
644
655
581
667
820
673
710
580
511
454
768
435
757
469
552
438
528
463
717
555
450
817
558
634
620
589
710
721
519
565
589
518
593
486
700
554
603
685
712
512
705
615
647
653
604
751
678
429
600
705
674
548
462
481
796
650
650
741
489
430
750
563
546
668
666
634
472
728
531
719
467
434
420
614
701
495
694
586
690
748
571
636
649
612
542
678
501
646
498
708
500
564
752
686
751
538
451
707
490
608
613
731
742
793
609
810
733
470
582
584
720
779
674
547
712
748
819
597
592
635
737
672
428
719
525
513
422
649
553
780
803
530
664
718
462
529
774
806
738
481
768
784
780
738
768
482
675
594
436
509
740
686
471
495
604
590
784
499
466
776
586
537
509
648
463
551
427
771
476
734
439
657
566
512
629
674
681
532
792
696
449
699
582
649
433
461
438
735
751
518
638
498
437
608
461
613
785
485
530
481
532
687
463
667
468
488
737
553
662
567
421
579
792
783
801
695
625
794
553
713
718
612
646
522
548
514
593
512
687
569
730
651
669
701
644
443
768
697
683
545
610
472
517
469
572
704
807
795
593
497
474
564
421
514
456
559
695
587
807
544
557
460
729
718
791
562
769
598
776
432
469
566
643
518
743
499
578
438
791
623
729
434
601
753
585
571
789
785
697
677
799
669
446
660
447
679
674
814
479
661
675
440
479
758
809
669
517
737
589
790
617
804
598
519
721
606
549
716
694
802
610
656
434
649
468
521
740
741
584
466
611
780
687
537
668
525
723
461
655
543
519
613
561
786
668
493
695
464
798
772
791
721
737
546
700
672
744
791
505
421
496
599
732
764
546
460
510
731
744
733
680
616
539
507
745
435
607
677
772
544
623
582
706
802
717
765
681
473
620
749
581
557
711
469
589
470
658
627
514
745
818
682
727
434
757
567
784
623
497
443
734
629
447
711
571
707
587
797
770
574
778
433
438
541
426
440
786
491
433
708
698
712
504
669
801
634
606
606
425
536
641
635
596
811
476
749
768
512
484
500
474
704
461
474
782
486
463
466
736
471
820
435
750
686
778
751
470
543
564
774
501
645
570
611
428
552
512
446
480
644
644
814
783
671
621
537
480
564
565
436
658
445
723
775
788
651
458
590
797
641
665
707
469
762
736
505
716
457
544
745
722
766
505
696
475
523
431
513
750
654
451
425
511
581
806
489
489
529
648
770
691
607
614
679
611
623
692
817
633
708
750
538
795
430
454
635
739
500
773
600
462
742
756
497
577
561
444
746
718
763
478
725
715
493
693
779
623
765
484
547
649
449
450
502
700
468
523
790
494
791
439
750
677
633
735
711
653
771
456
456
527
721
430
730
428
452
639
509
644
426
778
709
714
650
814
762
621
757
630
423
454
748
584
652
762
534
592
751
527
635
775
425
673
565
527
427
423
756
621
436
690
700
810
670
629
605
433
458
731
681
545
448
814
644
502
670
763
476
568
671
455
539
576
667
716
758
723
434
560
700
440
643
734
707
721
675
733
549
800
650
499
792
667
531
464
697
709
488
597
705
612
717
792
744
533
495
776
584
630
420
622
634
505
650
717
466
471
584
796
699
430
787
651
707
712
546
753
632
668
673
770
672
669
656
659
436
490
549
630
577
463
765
575
777
661
814
631
584
519
666
586
796
494
477
557
569
588
629
760
778
789
663
597
696
505
779
638
764
572
637
724
466
674
728
433
515
621
661
529
519
686
737
751
764
581
505
673
549
714
479
436
641
649
777
431
434
467
729
421
788
782
757
535
594
790
526
709
660
611
819
532
720
669
763
637
677
699
698
737
648
523
621
722
613
567
571
783
482
577
801
669
486
566
814
483
483
440
760
802
538
447
543
442
476
638
601
727
712
576
797
729
588
447
504
588
791
747
635
735
726
425
597
517
607
800
491
465
631
761
466
807
728
547
611
617
508
641
707
620
697
752
652
637
554
483
708
503
714
433
440
650
737
557
449
649
466
579
721
521
536
694
424
758
638
819
763
566
426
487
598
476
666
800
679
662
707
681
532
456
689
449
545
528
638
512
630
541
422
428
519
556
676
694
535
804
457
432
693
661
620
453
600
547
577
562
421
668
642
684
607
723
467
481
633
587
514
572
486
743
771
497
724
777
474
646
523
651
450
526
605
730
492
673
775
638
521
460
636
426
784
679
554
789
816
607
802
510
620
791
536
526
620
449
736
501
617
739
759
443
445
774
811
642
581
514
482
609
573
511
688
713
592
607
758
550
511
454
673
808
746
811
525
494
426
810
741
728
433
706
790
762
422
704
592
570
667
502
712
804
765
754
558
798
607
775
797
654
637
526
754
771
544
531
764
786
542
623
686
455
589
779
806
719
547
744
626
741
566
479
765
501
445
819
746
678
638
622
587
630
809
753
460
686
816
765
448
697
626
460
549
815
441
723
662
440
613
617
674
676
582
749
467
727
752
757
597
467
818
633
607
722
586
706
539
757
630
778
610
532
671
757
604
432
768
510
739
814
525
460
496
579
452
538
662
691
644
585
672
561
620
734
744
485
677
788
441
752
577
734
516
646
484
518
430
602
554
533
803
559
549
644
623
434
519
623
468
478
558
495
534
561
733
527
660
760
451
711
639
795
798
793
592
572
466
734
534
459
816
496
633
540
427
618
526
549
759
578
600
598
462
521
631
580
581
513
543
442
556
521
477
486
629
576
469
793
585
488
764
545
740
591
649
482
693
810
615
583
474
536
544
619
477
678
516
466
544
608
662
781
462
513
423
625
775
639
717
561
720
618
807
768
425
733
618
753
527
631
609
489
805
502
637
454
624
632
658
711
530
703
629
545
670
517
432
776
814
796
422
446
472
468
804
681
592
715
784
542
502
625
506
452
497
427
680
624
595
726
474
446
652
523
558
820
466
637
820
611
560
622
611
445
717
588
737
788
603
662
515
461
520
653
726
482
692
550
634
677
613
449
570
658
658
614
433
536
708
435
700
808
589
762
526
489
793
786
471
552
654
437
801
589
536
546
438
423
494
695
714
425
711
600
696
583
568
810
543
641
483
567
762
694
800
443
763
641
605
666
795
747
742
568
477
570
540
580
720
497
606
638
546
575
448
811
456
717
820
703
704
714
611
776
584
581
494
688
576
585
693
800
456
507
471
431
672
627
494
706
717
614
591
473
602
707
582
812
463
455
634
505
436
513
808
810
428
597
509
508
774
443
728
521
600
432
571
797
723
792
620
732
574
662
522
818
796
724
613
800
494
563
555
820
773
623
525
774
561
773
712
526
744
599
496
470
507
438
450
519
815
588
613
677
680
622
591
577
499
459
662
593
568
501
438
438
727
649
586
738
655
807
812
662
729
659
550
451
520
473
452
518
439
640
494
550
496
778
804
558
725
785
532
668
518
643
634
799
516
732
774
600
494
459
629
766
583
668
642
609
670
549
508
594
785
693
488
629
748
741
572
779
642
796
694
438
518
519
509
463
727
684
553
808
510
534
424
425
705
505
631
555
595
686
618
608
526
652
611
759
560
533
794
639
625
729
528
506
469
613
424
770
550
445
442
659
818
747
548
541
513
488
780
423
727
449
672
696
745
439
672
597
437
703
582
442
467
697
645
616
521
755
751
736
696
446
755
719
663
535
538
771
517
480
805
527
735
683
650
712
770
785
635
727
623
567
525
527
751
607
640
784
783
500
814
670
793
461
569
668
449
625
758
743
511
497
433
803
690
659
593
674
610
734
819
420
572
473
635
807
507
665
594
422
529
817
522
814
445
510
501
562
681
764
730
447
490
697
420
487
683
714
813
434
705
707
443
720
792
773
605
649
753
586
596
711
492
539
609
684
711
434
574
731
426
794
452
689
669
670
667
795
696
522
594
423
626
638
647
740
771
764
681
617
512
489
591
457
750
752
796
479
535
468
548
733
780
695
690
715
487
424
696
685
671
474
631
718
744
794
649
669
627
616
627
806
526
743
436
576
542
492
674
812
778
550
621
577
600
770
537
814
485
733
614
433
610
568
434
627
720
538
511
732
510
457
471
784
495
737
528
510
634
704
476
500
753
783
554
669
632
569
444
783
741
554
605
779
590
428
798
538
546
551
632
618
754
731
572
713
605
424
754
783
570
420
462
485
805
628
542
796
780
554
681
564
789
768
546
765
659
590
602
495
543
695
809
804
819
485
640
510
685
752
487
477
606
621
798
629
778
491
590
817
662
456
542
784
793
796
671
620
820
683
491
596
709
680
757
600
743
782
765
551
524
714
503
675
706
490
495
599
732
472
618
680
571
555
524
448
607
567
495
503
695
639
587
566
444
787
642
488
476
767
701
483
734
784
776
590
749
702
488
816
431
784
512
547
433
715
799
498
444
518
650
639
503
723
682
750
500
755
450
489
735
532
705
537
647
649
455
432
698
527
479
522
503
527
776
457
727
691
509
712
674
581
461
703
775
723
692
787
584
704
598
718
753
497
575
539
637
806
552
460
615
795
628
614
466
439
500
509
509
534
503
747
429
733
730
788
539
812
600
496
733
653
442
584
579
779
686
547
729
648
593
462
499
533
601
507
691
533
479
683
707
623
738
754
431
678
771
627
731
763
733
754
581
507
693
797
459
675
500
799
469
442
819
601
661
526
597
592
611
509
813
488
755
482
565
788
695
660
429
660
498
659
621
566
643
722
685
784
421
513
495
471
559
749
674
648
646
654
606
510
684
816
668
481
481
620
469
546
783
669
693
694
587
421
446
502
649
549
810
580
810
733
690
486
559
786
811
503
517
434
438
661
493
683
457
469
788
521
460
457
430
605
758
558
501
471
677
691
815
721
747
576
657
746
615
544
477
743
620
455
642
812
499
685
454
711
431
712
808
760
715
506
678
434
715
652
694
747
753
765
669
797
664
632
752
716
525
457
617
563
467
435
432
447
499
818
755
642
486
620
484
463
475
712
694
797
701
650
772
659
728
786
811
477
518
448
578
631
760
445
610
721
667
461
776
687
475
622
804
742
714
515
572
679
729
424
800
540
595
549
526
422
766
541
700
531
470
566
569
557
640
733
483
734
433
663
806
549
794
658
574
589
654
668
672
585
779
766
649
643
668
782
699
645
680
732
802
663
811
475
561
801
764
559
529
503
540
428
556
604
616
445
489
628
459
494
579
761
477
733
560
741
629
706
688
774
453
647
465
566
568
819
580
595
530
530
544
818
807
648
447
484
695
565
656
588
689
808
771
615
623
799
533
427
744
558
665
816
730
670
450
563
652
657
515
778
562
621
591
746
487
498
553
810
517
720
565
493
735
631
730
662
605
694
574
693
783
661
424
469
614
798
716
783
615
759
788
688
723
766
785
459
795
575
597
701
431
556
659
671
536
478
457
654
429
641
452
761
625
781
755
471
538
761
527
687
531
431
665
696
511
737
804
680
547
809
667
443
528
661
613
755
493
607
515
815
661
447
653
693
594
666
734
442
754
698
484
585
720
659
804
709
445
429
610
647
675
466
771
792
431
580
572
561
521
673
632
688
703
640
466
809
798
596
424
629
789
738
609
664
544
491
751
803
584
631
471
433
692
701
528
729
598
532
451
800
461
432
803
642
727
673
441
549
436
489
439
716
496
525
428
739
510
803
640
777
432
484
789
530
638
521
542
712
577
653
668
596
514
511
699
768
576
693
817
486
569
623
613
615
494
739
788
747
456
747
718
465
424
575
692
760
661
544
557
580
624
634
784
598
773
749
524
547
531
472
486
494
812
576
744
432
572
770
464
506
793
568
653
601
574
520
669
654
475
537
426
443
523
775
675
601
555
734
680
719
495
445
499
670
716
525
480
554
754
437
692
559
596
451
769
609
630
730
670
790
669
557
704
498
622
669
703
645
586
525
552
740
438
613
815
426
690
612
515
625
469
659
660
591
784
643
534
456
814
557
619
601
475
752
551
500
453
646
446
499
651
658
766
813
738
736
463
681
512
442
483
601
582
771
748
654
804
695
584
518
679
815
660
576
741
651
617
566
517
491
692
672
427
551
557
538
659
630
534
445
684
516
752
559
487
487
702
471
767
526
797
551
633
484
750
421
802
504
576
553
686
550
456
511
547
672
579
513
625
539
707
658
475
656
515
647
691
722
742
449
439
543
481
581
815
524
819
694
715
648
550
650
475
692
469
591
586
565
642
786
616
706
792
663
447
484
651
554
608
755
516
603
803
726
591
816
770
604
609
768
518
703
676
723
530
502
596
770
631
515
741
764
442
435
729
776
608
602
705
803
606
703
591
560
440
460
691
752
459
746
706
679
620
476
635
774
453
675
811
755
607
434
438
811
796
576
610
512
678
650
743
455
463
769
811
605
819
748
657
472
718
586
652
669
619
508
674
584
746
646
507
442
745
591
480
647
421
550
501
612
726
771
780
547
430
703
599
754
542
614
679
439
596
642
808
471
653
803
429
435
628
785
643
554
794
473
651
489
599
508
807
470
530
675
543
509
581
521
762
427
425
663
436
753
535
754
749
445
530
721
608
583
553
672
721
567
522
630
525
670
596
437
608
528
683
797
590
608
673
520
603
705
450
644
693
473
560
785
534
806
483
554
461
633
597
771
601
805
810
490
567
609
690
745
728
549
579
443
802
687
704
660
692
770
777
676
603
663
698
727
588
671
755
629
616
482
521
594
723
610
436
622
481
457
459
427
439
442
426
610
542
780
423
736
763
617
496
486
745
687
436
798
593
553
633
663
628
507
700
802
610
581
546
635
644
588
424
459
472
510
476
768
546
674
617
423
498
818
617
779
741
524
607
549
820
555
448
547
566
652
538
483
763
738
632
587
646
642
808
468
638
424
602
762
691
699
553
778
797
802
754
716
535
597
421
581
607
770
819
437
600
442
437
819
582
495
593
464
652
746
764
744
479
777
763
677
478
810
770
423
494
494
562
817
764
628
718
729
598
741
447
639
798
452
495
458
626
610
459
799
603
609
461
475
727
685
809
797
569
592
667
528
567
499
623
547
561
814
616
666
629
788
550
786
599
797
571
628
680
673
584
568
640
656
668
678
683
438
435
799
623
783
690
819
690
436
726
447
574
498
561
656
569
546
713
423
466
749
610
799
703
544
564
809
555
588
681
500
597
703
591
685
482
461
504
559
541
597
690
557
573
546
515
761
457
678
430
602
803
479
731
760
426
709
556
713
631
751
641
804
806
516
817
808
756
667
570
587
711
439
768
572
451
558
774
809
792
449
619
710
624
681
705
759
629
472
439
599
729
503
482
805
551
684
434
706
774
601
508
697
718
619
770
564
515
592
785
748
692
486
522
624
759
535
436
433
588
459
692
792
473
470
423
780
770
717
443
758
578
724
425
632
477
805
482
804
651
780
744
749
541
696
701
458
477
584
697
514
519
763
420
678
612
634
527
525
518
525
812
752
446
438
704
641
666
483
581
582
456
531
582
519
759
427
721
461
733
700
432
582
593
817
484
657
612
755
583
614
608
524
739
692
605
671
680
777
720
763
552
658
795
555
551
551
617
454
420
667
523
639
472
760
683
787
680
594
534
444
531
636
625
747
578
663
700
448
809
622
809
486
679
758
531
683
631
588
531
500
632
612
528
534
423
559
725
482
458
694
608
545
486
671
713
777
671
424
682
708
542
598
517
526
691
570
689
681
588
707
431
441
693
815
710
796
473
526
579
563
435
694
737
531
694
519
608
565
732
720
442
431
582
433
798
570
460
519
813
552
667
456
661
770
537
711
630
614
604
495
756
430
518
722
661
599
672
627
634
813
433
672
672
768
612
734
774
579
443
491
784
510
430
620
668
500
435
800
467
707
751
577
703
732
784
720
526
426
769
770
554
696
717
428
653
792
542
805
485
689
640
648
768
734
561
661
513
570
786
546
713
628
798
421
596
487
738
477
470
702
724
694
657
685
744
474
630
680
579
783
648
788
764
587
542
430
588
610
714
749
494
712
781
435
438
704
537
606
690
713
683
700
452
799
582
719
557
483
667
433
510
556
619
715
766
660
491
718
775
465
764
620
709
724
482
805
727
786
479
425
605
609
450
737
650
817
734
801
435
611
449
427
434
454
467
551
696
435
588
526
482
786
715
702
572
498
561
775
468
553
782
640
783
507
737
600
548
456
653
704
534
449
520
747
528
502
518
460
658
820
650
454
440
583
776
753
569
688
561
789
668
618
639
634
627
482
464
420
775
528
653
799
719
709
715
587
440
649
463
664
531
732
471
493
542
556
523
589
742
769
776
442
439
580
820
646
491
721
555
686
532
748
785
697
643
739
679
614
660
657
452
613
814
563
502
501
710
562
598
450
786
601
439
619
535
426
604
763
575
763
544
579
773
787
590
668
533
818
760
560
684
515
654
457
610
533
622
468
491
690
457
747
789
666
582
599
734
748
560
790
623
446
479
449
796
485
659
618
795
676
683
815
467
705
765
744
632
568
549
443
745
572
535
772
738
581
544
639
737
562
792
807
490
653
814
570
663
793
574
740
577
689
707
633
670
659
795
736
468
624
530
625
736
584
523
695
617
724
750
539
458
732
617
555
739
594
526
604
736
703
583
681
514
566
756
616
509
496
809
738
726
641
609
514
532
485
659
800
520
604
677
452
477
789
794
753
507
569
768
523
703
422
430
451
640
638
527
518
745
543
712
541
637
451
684
718
703
420
575
554
443
535
755
587
672
714
459
768
503
542
727
573
431
487
602
687
760
539
645
588
596
423
633
778
543
574
486
467
757
779
689
749
599
775
725
531
665
517
703
733
501
483
557
527
660
490
581
650
700
771
490
526
691
629
683
432
749
775
763
793
575
669
606
578
645
797
588
714
705
550
678
477
653
736
742
618
540
534
429
569
579
641
523
782
685
635
561
502
667
745
794
636
501
566
647
610
603
809
641
786
456
614
437
512
801
696
619
631
694
429
511
630
466
549
793
448
509
701
538
465
634
551
800
741
745
621
642
798
731
736
558
547
532
730
760
450
760
661
698
733
569
568
720
657
736
784
429
765
505
544
781
610
815
440
762
751
663
562
466
590
598
726
699
628
579
495
458
422
721
484
684
487
438
574
789
456
816
480
608
457
494
567
465
804
734
444
591
556
575
427
573
540
551
649
421
585
537
794
679
724
541
449
782
673
792
730
655
634
562
525
785
503
613
687
614
545
556
660
755
582
696
518
664
721
480
570
659
576
728
526
646
536
684
564
444
573
516
515
494
458
620
459
427
591
465
592
680
515
487
594
435
455
748
774
614
571
497
584
519
588
657
712
505
701
595
760
527
798
428
544
471
509
476
790
511
562
617
434
674
558
498
638
649
591
550
487
440
581
427
677
693
595
437
773
490
573
694
780
509
799
545
597
566
690
722
751
647
649
771
556
603
526
724
470
608
462
739
535
458
513
574
637
668
521
711
449
527
758
560
576
653
809
706
577
589
690
783
496
691
426
543
698
766
675
724
702
613
663
489
717
806
750
498
469
569
624
495
768
529
503
474
469
649
609
604
438
708
738
778
819
730
682
811
498
444
513
655
737
727
657
703
728
745
535
725
568
734
597
479
819
657
504
447
537
544
685
697
590
562
643
784
627
631
536
676
424
685
780
582
556
671
777
538
608
770
691
590
788
669
683
450
497
594
545
546
650
774
532
672
448
564
587
660
477
437
685
674
427
579
708
537
687
520
661
502
759
590
573
659
768
556
423
662
805
646
732
534
526
583
820
540
594
769
579
478
511
737
623
618
485
754
481
454
709
737
633
679
807
565
513
781
435
495
800
590
728
720
698
706
471
759
767
731
550
615
731
603
447
816
779
778
680
718
736
424
600
449
569
445
692
562
693
483
474
801
661
543
473
669
680
568
801
558
609
642
583
722
647
816
488
529
532
785
591
779
551
576
516
780
556
431
504
467
621
655
611
549
732
664
560
647
686
728
657
783
671
697
505
564
618
509
573
507
703
421
773
458
677
639
461
531
558
763
496
637
618
577
609
606
735
456
499
471
727
472
766
485
499
741
779
456
786
575
800
696
721
496
690
611
518
608
643
624
632
520
426
544
435
498
559
454
572
613
719
820
634
782
774
449
686
501
666
475
456
656
626
682
740
653
539
475
573
497
449
758
633
514
799
749
511
577
818
672
548
560
468
623
544
664
816
488
449
642
427
710
580
600
738
542
512
478
693
756
490
619
695
451
684
615
730
736
538
642
489
703
485
540
611
524
632
667
656
778
711
445
604
595
807
589
637
490
431
440
429
440
421
438
552
521
733
759
556
767
776
795
647
602
718
739
575
484
721
815
430
693
573
763
685
435
520
483
536
612
619
751
810
697
624
494
675
734
552
657
664
656
718
748
817
804
711
809
516
658
810
613
750
796
445
788
789
721
659
572
637
672
792
457
800
440
496
623
446
652
600
566
551
737
709
598
530
660
456
593
595
424
677
621
437
804
499
670
813
494
460
524
762
699
502
600
742
721
743
428
742
758
421
688
630
597
459
696
693
497
523
504
546
641
588
670
720
641
690
477
547
598
639
498
640
552
455
553
559
487
780
645
662
530
635
497
719
728
573
618
664
733
769
456
546
420
488
548
435
591
793
800
536
601
744
503
507
448
805
745
579
776
553
602
434
787
751
595
775
664
611
584
687
652
650
636
745
585
635
550
787
534
692
803
448
713
561
559
617
796
461
756
736
422
794
765
734
694
651
708
606
624
420
634
616
759
786
818
626
444
530
437
707
469
693
688
518
531
535
681
623
772
729
702
600
744
809
535
445
422
583
541
518
739
621
795
420
422
687
438
649
741
565
456
501
702
444
793
466
566
512
754
576
568
525
648
523
500
573
767
678
546
607
445
788
495
686
782
446
510
512
629
652
788
660
700
758
443
614
672
543
751
642
586
437
570
594
722
508
594
599
779
628
464
805
578
509
613
722
517
618
817
808
523
718
766
624
470
433
583
667
777
594
764
488
521
441
595
421
500
607
767
555
448
650
583
434
680
438
624
627
764
629
691
668
709
600
680
649
548
552
442
589
545
450
592
516
799
675
792
548
808
672
783
602
797
734
699
577
701
581
449
614
714
611
751
685
428
458
761
754
700
520
587
616
491
451
463
552
566
808
602
422
555
432
602
570
492
439
556
638
600
584
553
725
644
527
450
685
727
501
457
763
734
709
492
753
687
452
722
472
593
747
443
629
736
428
564
797
453
762
802
439
622
802
782
647
509
662
813
496
480
665
772
435
436
683
596
628
482
422
502
599
646
433
461
804
578
638
560
514
615
492
806
692
596
743
436
555
583
663
461
792
476
746
450
571
774
663
773
527
700
801
745
532
680
738
662
474
596
549
600
492
685
520
652
683
532
586
450
626
539
579
460
734
599
477
607
799
654
686
756
749
735
551
796
752
433
657
739
524
430
634
472
555
453
661
552
565
548
453
506
518
666
524
486
644
658
679
624
498
698
659
790
548
746
787
786
802
438
714
791
790
672
686
735
714
636
754
671
503
498
489
476
727
743
745
718
533
506
698
669
477
662
810
502
676
493
612
641
673
747
466
700
457
480
761
756
441
534
695
563
591
573
734
515
707
588
522
659
627
465
680
467
684
723
555
762
555
448
568
425
664
782
732
678
635
513
504
518
435
784
615
810
474
656
569
487
644
814
536
697
636
442
423
511
499
670
529
617
732
586
693
716
662
425
754
508
668
554
759
576
564
556
652
764
648
574
681
819
732
808
614
630
469
529
626
540
551
650
522
807
427
654
622
621
515
458
670
698
658
586
465
675
799
681
589
684
587
810
639
533
744
454
460
530
532
803
455
787
530
710
469
626
556
676
703
532
481
814
746
816
684
508
678
741
595
711
422
813
770
524
548
785
678
723
465
541
705
559
495
640
670
477
809
642
676
602
648
734
437
762
512
439
727
482
463
654
674
566
498
586
629
753
537
774
609
571
809
495
642
805
715
728
685
633
748
730
493
664
501
522
549
586
499
646
426
623
668
707
746
597
810
646
642
623
470
657
658
569
525
695
583
632
820
636
557
649
608
605
802
761
600
468
712
535
671
488
559
772
553
705
680
545
805
654
684
427
654
799
579
814
796
688
714
580
470
805
556
694
543
713
814
424
730
709
521
684
548
793
570
661
560
771
497
780
459
705
592
580
582
525
441
526
531
733
710
599
609
580
454
786
459
427
430
817
520
740
542
719
648
544
471
684
626
464
432
692
593
551
766
524
651
787
492
795
539
606
638
554
648
548
422
688
820
729
537
651
491
522
539
427
594
589
695
718
518
806
424
814
738
457
627
655
667
684
769
774
535
485
430
553
663
473
707
508
693
597
487
742
674
576
708
429
691
503
565
530
642
648
660
608
685
479
565
619
631
667
732
445
436
549
725
673
723
577
810
773
498
667
708
536
634
545
746
734
491
452
647
622
599
538
612
598
534
651
793
492
473
581
567
549
696
584
818
728
453
755
469
583
433
793
636
809
717
506
581
502
433
736
589
779
475
455
431
676
535
764
562
589
526
747
482
672
616
562
422
752
433
690
731
516
579
802
764
739
795
485
652
640
725
710
557
774
435
706
794
682
466
795
736
435
479
469
645
657
687
534
504
752
478
559
664
669
431
570
732
634
755
796
810
614
567
638
667
749
635
480
633
542
789
519
741
775
523
785
756
601
511
804
794
819
771
820
427
751
551
673
448
760
482
799
569
467
805
446
551
686
714
442
492
754
463
516
810
777
804
774
704
686
454
797
660
467
578
590
564
741
585
430
677
706
565
561
420
803
705
752
491
652
488
791
820
713
709
749
616
644
507
668
556
470
591
796
493
631
610
819
510
644
454
705
566
801
794
535
590
619
741
794
464
602
579
487
670
663
425
674
527
544
753
592
474
742
585
697
475
733
708
664
586
817
429
788
473
495
458
569
500
678
448
459
541
670
679
468
742
734
490
585
634
648
538
638
470
535
457
538
623
448
485
627
599
769
588
660
647
720
788
761
439
472
653
518
759
502
805
777
463
675
814
759
810
808
589
653
599
718
432
453
480
590
760
752
670
541
648
428
643
772
513
696
778
642
728
664
744
760
637
735
491
728
598
705
575
577
752
527
594
554
445
468
437
563
658
738
630
736
569
550
639
636
748
493
657
757
815
818
556
493
671
503
495
428
810
749
753
465
473
666
695
514
792
524
453
624
450
758
549
609
548
478
585
493
662
525
516
601
449
489
520
688
726
613
441
685
465
676
460
484
472
585
544
421
764
484
727
670
582
483
642
431
656
565
807
485
760
435
461
573
695
605
461
485
640
524
534
817
562
577
655
657
802
804
728
605
513
776
463
592
759
448
729
476
438
671
512
665
596
429
574
692
468
776
764
732
753
614
653
746
759
645
616
557
680
771
528
731
491
538
482
803
595
672
686
502
503
803
601
753
636
525
558
628
769
484
647
683
605
681
710
452
497
546
728
532
763
568
619
567
766
617
686
432
590
711
591
776
682
455
550
780
521
507
455
421
443
434
453
500
712
788
720
761
599
701
520
565
554
684
722
731
770
480
449
427
446
616
626
739
792
525
583
552
814
637
582
485
664
595
645
622
761
693
439
621
451
514
764
488
732
541
693
749
722
767
723
788
644
658
702
689
451
696
652
436
432
452
429
427
605
727
510
518
701
494
576
488
433
548
671
802
579
811
424
654
732
489
681
672
612
496
614
724
473
666
471
601
583
767
684
770
595
614
720
435
522
552
702
564
780
484
790
604
441
579
652
750
741
602
706
539
555
470
535
781
736
551
741
565
592
763
598
793
663
469
531
630
514
587
725
661
471
669
609
755
707
755
553
673
458
682
613
563
555
701
728
815
604
453
685
697
602
583
523
578
507
775
771
499
439
491
629
449
640
714
754
513
600
782
727
600
552
677
745
765
791
558
467
751
526
425
638
553
533
440
816
755
616
518
554
808
672
760
549
725
443
811
520
464
499
545
558
625
518
462
499
800
742
493
732
555
766
628
770
561
712
587
474
648
692
761
773
749
475
664
740
676
461
463
579
774
532
647
670
492
784
667
814
806
495
670
613
504
753
718
589
649
466
809
607
463
656
480
726
692
680
808
639
439
681
772
509
448
545
591
676
630
729
738
700
449
740
431
650
446
558
810
565
468
792
508
484
679
732
636
759
704
663
810
674
748
793
422
557
458
758
501
566
560
688
781
649
492
495
789
583
505
666
687
811
786
442
497
458
664
651
526
713
426
775
463
681
614
470
432
802
642
547
717
802
574
701
635
807
446
599
577
649
769
621
696
464
649
633
735
429
514
423
630
802
518
680
421
486
636
425
636
442
586
547
450
455
520
598
628
424
779
623
656
560
643
743
780
721
672
729
771
731
472
541
552
704
722
490
422
708
507
534
741
528
629
503
609
748
744
756
782
808
777
789
789
539
570
648
540
559
774
808
702
812
470
597
633
615
802
706
795
541
622
458
621
625
458
515
806
548
561
692
473
700
817
442
610
484
500
611
424
803
522
660
496
638
575
819
672
803
544
708
816
542
510
458
634
561
533
591
612
449
752
672
771
662
543
687
472
514
550
432
623
450
430
602
445
729
714
420
501
756
706
608
776
644
779
589
768
805
628
559
518
504
491
520
483
714
761
486
662
752
672
737
447
649
736
593
430
498
432
801
794
622
800
760
794
659
579
679
476
681
574
736
562
537
767
548
714
506
586
784
755
483
608
698
653
777
587
501
565
628
806
785
558
528
817
749
535
422
614
684
726
568
642
762
776
750
428
550
685
498
458
486
729
514
575
732
525
586
421
601
650
466
776
471
654
775
582
813
771
775
432
697
423
690
627
691
597
443
714
516
508
500
511
503
647
763
705
561
790
707
783
793
642
513
777
640
609
448
755
649
648
702
722
431
679
552
683
726
550
724
627
477
750
531
632
707
748
425
446
510
708
653
734
696
560
587
424
698
620
704
591
523
642
439
618
752
747
536
567
462
701
776
759
783
574
684
639
502
655
441
472
819
770
584
532
546
524
712
467
473
494
600
773
784
428
773
622
609
592
602
820
684
472
546
759
497
727
639
651
481
565
742
585
766
450
820
761
778
743
601
586
731
500
808
777
644
806
513
506
638
613
574
535
626
659
647
778
487
621
556
683
648
490
743
818
697
653
784
425
488
470
652
550
701
432
567
721
766
632
545
608
459
623
699
484
775
427
438
450
693
697
459
452
434
719
705
532
469
560
751
515
623
697
819
637
617
803
689
681
671
659
727
436
670
470
547
682
766
528
646
538
601
664
438
632
554
477
723
677
763
482
698
719
655
604
663
684
472
646
688
754
536
782
605
521
758
498
807
506
458
721
775
772
533
769
660
510
459
460
445
806
454
460
584
730
540
628
668
690
575
727
535
708
724
472
518
743
586
733
550
434
688
429
801
785
730
650
708
645
452
484
573
458
671
608
742
556
812
818
805
523
809
778
729
492
455
478
421
740
699
529
513
571
436
456
503
745
576
494
510
729
577
808
494
716
720
520
682
739
576
445
643
491
699
751
510
551
523
700
574
536
680
693
547
547
548
495
663
451
536
647
707
784
510
804
504
556
744
675
665
583
448
715
691
726
478
622
466
738
808
488
450
787
615
494
712
724
626
581
455
494
462
731
565
682
597
800
458
698
465
792
751
625
614
697
689
695
747
639
594
593
671
571
489
789
468
682
510
609
626
564
561
610
819
600
537
750
668
449
607
635
689
730
667
763
424
556
661
812
573
803
745
461
524
796
475
707
669
525
456
776
571
710
800
463
446
610
625
735
563
756
524
766
466
448
699
713
536
745
563
464
488
811
644
605
738
431
613
545
497
596
758
455
566
438
791
496
519
757
429
541
439
811
487
665
647
514
816
686
686
676
604
780
763
681
471
725
783
804
643
817
568
704
630
594
455
808
514
800
574
469
656
712
511
727
475
430
659
576
657
715
778
739
428
699
600
554
432
798
736
494
601
542
660
626
437
710
587
548
817
677
760
647
479
718
664
448
598
447
766
742
582
457
474
654
422
541
474
723
532
525
433
458
647
663
528
545
565
429
436
689
789
517
818
765
730
778
521
791
702
438
460
429
681
631
767
798
755
814
772
679
459
764
798
809
699
453
639
817
758
436
665
437
735
473
486
428
724
567
603
765
469
743
484
696
534
734
465
795
470
501
619
540
625
690
423
611
460
683
575
682
595
788
518
628
696
717
705
697
799
447
754
687
514
563
693
792
538
488
507
592
676
784
772
694
804
506
517
463
599
704
500
610
722
497
820
798
675
680
601
468
537
786
643
596
760
733
449
431
507
792
737
773
805
502
716
435
574
800
583
819
561
490
613
447
589
671
556
697
682
607
707
594
509
437
506
526
659
421
508
496
666
573
754
728
676
636
787
647
427
489
791
584
421
541
791
690
632
788
754
700
498
747
641
598
759
682
731
524
659
772
733
726
439
690
563
617
511
753
455
553
816
447
796
484
565
805
655
553
486
480
725
694
439
812
727
522
811
453
479
814
743
586
718
425
449
494
538
496
560
725
578
496
666
797
816
619
531
773
783
460
686
629
659
767
780
535
487
697
671
700
544
758
432
600
688
638
781
453
477
504
609
422
586
625
421
433
494
716
525
707
765
468
665
462
461
706
676
611
739
499
700
552
542
626
562
808
431
491
546
781
702
510
780
666
423
483
581
656
566
586
497
546
811
487
708
748
696
537
601
758
524
803
801
505
562
771
698
542
680
643
655
573
484
743
781
737
788
519
623
623
610
610
643
711
647
616
531
757
685
587
816
755
784
694
700
799
640
707
571
559
708
771
811
508
718
797
640
426
577
664
767
628
576
721
462
798
607
734
692
528
551
749
440
454
671
797
749
765
622
800
443
754
574
429
618
814
568
817
727
462
576
550
562
760
547
799
509
653
814
714
690
727
617
713
641
618
504
636
679
761
721
795
497
588
516
768
604
658
500
692
809
698
563
792
608
444
791
765
552
719
671
433
520
551
561
754
562
513
486
720
706
563
458
560
466
629
617
811
689
805
753
740
736
434
689
451
690
744
509
594
431
423
661
525
638
449
607
752
637
775
647
667
729
709
785
731
662
679
693
781
672
457
620
477
519
581
470
449
761
634
665
427
737
720
519
775
667
736
492
602
656
762
585
516
606
727
462
760
719
719
522
455
471
642
604
588
510
485
439
714
601
440
454
603
735
671
561
557
596
574
563
693
738
714
542
669
782
617
690
718
438
491
655
638
772
753
678
457
754
675
696
657
716
704
431
732
513
512
797
578
695
501
506
586
647
482
683
542
494
528
639
482
565
438
767
433
588
484
762
485
552
530
430
742
601
455
481
694
449
425
436
496
453
482
688
437
723
567
717
761
526
805
471
773
422
512
807
502
697
662
449
759
701
631
719
644
612
493
778
420
601
450
784
568
492
670
788
468
745
549
491
675
541
596
580
803
652
559
500
597
597
518
792
782
503
789
692
541
437
467
673
513
519
655
664
577
487
638
583
482
697
619
498
589
754
551
453
636
510
653
619
712
580
779
606
495
814
475
677
453
707
775
463
808
793
511
666
624
567
519
709
423
495
647
688
549
478
654
483
690
753
530
639
769
777
534
805
486
655
671
577
783
763
600
478
716
767
712
779
552
514
693
587
466
591
466
760
488
747
795
464
449
487
748
687
499
555
796
565
757
483
770
814
536
475
548
523
573
500
668
521
726
721
723
700
726
486
517
516
432
578
703
558
491
743
513
629
628
749
420
639
479
741
796
444
467
732
434
508
659
752
668
506
491
769
547
572
427
772
739
630
751
804
437
582
498
448
548
724
721
529
541
430
514
789
601
710
476
511
467
776
629
660
653
531
516
538
745
556
670
614
653
745
644
818
780
787
811
536
765
541
628
446
775
693
518
706
518
809
542
642
795
736
447
757
430
737
719
819
725
491
782
687
564
764
614
446
477
732
449
720
719
687
667
482
491
424
461
625
818
819
501
539
549
771
529
555
532
564
775
742
749
486
602
607
575
553
804
599
517
572
660
425
447
687
592
679
617
622
610
423
801
768
780
601
707
701
471
701
541
575
589
645
543
436
467
508
536
656
433
528
811
650
463
767
700
683
770
695
721
666
763
522
728
666
440
686
778
678
523
572
519
707
781
750
572
535
682
494
425
657
584
812
746
624
531
632
451
753
753
523
744
696
537
702
663
734
612
682
764
499
737
557
466
485
631
558
659
662
440
456
608
622
501
479
448
588
483
476
628
803
638
720
629
762
763
727
769
692
596
679
693
549
636
643
518
744
524
736
778
810
564
602
713
681
546
621
813
807
795
470
770
487
701
559
482
584
421
692
551
483
759
513
471
428
787
527
647
697
756
583
484
562
633
603
564
687
725
757
596
755
639
763
715
788
543
607
420
481
787
777
502
539
763
437
664
713
740
437
645
567
790
708
633
813
472
473
647
562
428
455
599
552
674
678
423
669
548
420
551
737
628
581
512
666
509
765
427
458
797
527
672
585
455
614
679
534
518
575
657
661
816
473
596
761
736
499
562
758
742
554
449
637
422
550
535
482
748
710
770
687
449
439
712
735
542
498
449
811
713
485
529
776
657
711
702
652
807
812
791
438
474
750
557
748
744
736
781
619
650
423
560
443
455
600
470
740
705
765
736
756
457
800
539
649
563
740
585
535
674
817
524
715
734
618
787
755
731
660
639
530
538
518
672
653
783
635
482
744
810
436
745
464
517
460
499
441
545
714
535
638
789
730
782
600
458
646
716
573
670
736
696
441
757
522
689
777
557
493
787
536
682
634
501
703
460
476
460
705
591
817
627
590
543
599
678
781
560
782
807
706
656
423
749
820
695
763
511
529
577
586
698
553
529
443
491
648
773
612
545
816
514
647
751
699
694
767
656
651
603
771
709
769
816
532
695
569
691
594
596
621
734
814
764
519
530
466
696
713
497
733
546
523
753
461
615
805
621
797
785
788
476
653
807
538
528
756
698
446
423
667
768
517
607
570
623
591
736
574
548
712
696
497
469
606
640
676
777
750
603
689
568
578
778
710
623
448
623
781
735
559
712
527
686
798
443
807
614
685
568
732
487
493
733
470
810
494
438
715
558
568
755
528
513
426
568
564
809
819
421
590
581
783
685
810
480
595
747
441
547
673
678
500
770
804
628
819
786
575
665
598
706
553
464
793
689
662
743
708
591
602
603
629
668
685
473
750
465
727
656
731
783
692
611
654
605
672
725
626
599
578
587
775
643
672
529
753
621
529
513
746
529
550
584
769
799
695
535
617
688
495
756
567
653
533
539
758
543
809
719
576
491
547
605
448
789
659
483
521
716
492
717
722
690
649
625
434
684
630
470
534
538
681
709
456
532
713
696
492
756
565
555
474
553
538
593
583
593
666
701
428
764
509
553
548
451
631
607
487
765
531
432
608
781
678
449
525
450
696
697
795
750
663
759
527
743
430
567
709
712
689
598
815
486
538
612
615
678
539
726
699
753
662
762
643
518
740
739
508
466
468
564
818
792
647
590
563
755
691
555
626
769
484
765
526
505
569
592
732
540
476
424
801
604
774
606
739
683
613
786
460
643
584
424
560
726
654
628
791
570
696
711
638
534
623
776
594
521
491
515
681
746
668
478
762
693
599
473
812
496
631
484
465
662
707
547
594
689
520
625
708
745
448
562
539
449
691
663
759
456
760
710
484
678
550
665
719
571
630
768
489
460
683
750
743
503
424
771
541
638
621
622
687
431
471
759
687
567
736
584
814
698
528
698
688
650
618
657
706
570
567
605
445
464
591
463
641
661
768
819
657
570
531
432
613
747
799
566
673
704
773
548
662
654
806
749
493
563
753
539
555
478
446
542
751
485
661
460
724
750
508
512
455
792
571
752
618
706
585
596
552
610
687
448
517
590
428
698
573
670
581
693
466
607
605
501
528
480
343
464
387
399
456
495
309
434
397
353
436
311
313
409
331
401
480
343
380
474
403
405
445
419
377
428
403
431
376
346
491
491
343
379
400
390
362
328
350
461
324
344
468
357
315
458
484
399
371
302
405
336
319
480
354
487
427
305
326
361
494
420
402
410
310
301
395
310
321
434
498
325
317
325
378
456
476
324
461
308
430
346
433
495
364
464
379
300
462
423
400
396
311
412
426
449
306
368
386
477
314
355
339
431
498
454
363
316
427
408
326
349
363
479
457
437
350
453
340
372
375
424
316
433
396
339
447
470
406
430
384
338
470
310
350
415
435
389
324
349
366
383
487
480
391
476
466
416
372
470
475
408
347
419
471
439
324
408
304
434
372
459
467
451
314
349
351
308
308
433
497
356
400
470
304
454
419
462
382
417
309
462
431
500
368
384
343
318
481
304
367
497
336
471
445
436
320
355
492
423
492
316
450
402
498
465
394
490
451
411
322
391
387
331
331
449
453
427
364
461
433
500
348
483
303
439
320
464
440
448
458
307
353
419
422
481
442
310
500
378
421
458
356
418
334
445
443
375
424
326
334
410
304
361
309
412
461
329
351
425
346
423
450
429
384
477
424
306
431
482
451
363
361
327
383
473
305
433
363
362
445
397
313
310
363
493
318
358
355
468
455
476
496
394
300
320
491
365
333
407
467
403
459
303
377
383
314
320
301
408
423
325
373
474
427
422
324
322
343
351
343
380
462
317
352
422
347
455
361
383
354
434
314
489
331
302
428
439
419
427
352
332
394
333
305
471
336
469
358
414
390
367
486
429
315
458
441
348
349
432
348
358
420
335
433
316
379
432
305
340
369
486
440
349
411
341
396
416
327
301
365
385
494
361
380
405
327
450
352
461
412
300
330
496
457
388
432
311
401
314
360
460
309
312
348
415
366
376
474
401
410
346
407
499
389
485
486
319
358
361
381
414
307
335
384
455
443
440
351
327
345
353
443
410
474
414
493
498
349
342
417
313
488
411
302
401
388
403
429
306
425
331
418
393
397
399
385
326
480
473
361
481
412
314
327
376
470
366
431
468
469
373
445
482
495
490
383
446
492
390
463
375
475
344
470
470
396
418
320
375
360
365
447
333
329
370
360
457
415
467
401
316
366
401
406
404
390
314
356
408
356
325
451
319
437
454
337
398
459
328
383
431
446
376
499
332
463
482
386
382
393
354
443
409
417
381
432
338
480
406
442
483
338
368
451
328
492
465
372
319
436
302
327
462
483
438
393
338
310
394
445
442
355
345
346
315
418
377
500
329
444
331
450
328
402
338
477
453
459
467
386
396
308
488
400
334
349
360
440
322
419
332
362
380
300
488
381
484
357
450
342
338
338
495
440
391
304
421
366
321
322
332
495
354
403
465
435
302
372
344
351
494
500
494
491
356
344
337
407
329
489
416
384
422
453
300
475
428
384
419
318
324
457
309
412
403
367
339
332
493
427
417
486
398
399
454
404
433
364
446
358
373
320
451
365
304
446
492
353
402
441
344
389
479
493
329
324
373
491
392
490
461
469
464
472
403
382
462
451
358
391
325
322
351
363
413
439
352
433
360
481
489
410
456
307
323
496
413
326
475
332
359
473
352
432
490
342
440
468
403
342
393
327
419
377
464
350
469
368
446
406
334
475
445
374
418
401
447
318
338
478
321
487
375
438
425
372
472
312
345
469
498
311
378
350
353
329
394
304
484
489
343
301
337
312
391
387
325
439
481
477
306
421
431
364
500
344
432
421
399
354
457
497
316
460
488
402
351
366
479
437
309
316
403
400
478
305
363
315
397
487
444
499
328
322
487
359
400
317
314
486
398
422
302
412
342
314
436
415
413
349
342
442
300
328
341
477
399
471
414
350
473
379
394
488
495
480
381
430
319
498
307
410
492
330
401
339
381
330
412
419
366
430
476
466
414
441
351
435
378
375
395
439
388
349
324
323
470
448
413
313
456
455
351
428
303
423
352
334
385
454
419
484
335
349
388
329
445
400
404
437
368
331
389
333
353
384
480
467
385
422
469
460
319
319
467
437
491
347
492
409
368
470
492
446
330
413
352
375
342
430
368
367
394
314
464
413
310
383
356
397
490
359
368
348
307
438
392
352
317
423
328
465
430
479
422
375
348
355
317
412
463
438
451
347
400
428
379
367
390
438
376
374
398
340
475
369
499
403
374
339
316
359
303
379
381
341
457
364
450
470
418
435
409
378
365
328
440
344
375
408
395
419
453
413
409
328
335
340
376
492
427
428
335
425
334
499
320
311
404
468
449
435
458
353
394
475
422
492
325
445
354
388
443
440
414
488
365
414
383
490
364
488
447
494
368
315
317
342
467
384
321
312
420
404
375
328
399
349
382
420
361
478
491
454
377
369
430
303
430
409
410
476
338
315
388
437
381
312
379
305
486
377
351
498
483
340
396
480
405
362
353
378
399
374
344
300
391
321
346
343
310
429
464
465
360
450
497
417
314
354
380
328
334
343
490
385
437
469
314
450
423
351
437
418
467
329
399
463
314
398
316
441
493
314
409
455
380
441
315
436
434
388
317
361
490
496
460
414
490
365
305
382
387
448
365
493
319
338
398
309
324
359
396
358
481
359
312
305
308
315
329
483
353
442
481
495
344
326
408
356
475
374
374
467
355
424
398
491
373
448
312
319
459
342
330
312
491
458
444
456
469
344
496
421
411
325
456
488
397
337
470
456
463
307
432
487
421
424
307
330
352
468
453
367
404
462
360
398
448
468
354
311
408
332
461
445
322
340
487
465
351
459
392
500
322
418
459
493
476
386
366
379
418
347
414
433
495
405
416
300
348
401
460
411
338
327
357
416
423
337
324
304
456
487
430
382
314
458
395
377
396
382
426
326
321
350
468
478
326
363
430
469
365
362
414
407
348
403
445
379
341
474
497
497
415
357
459
387
389
315
421
372
471
455
310
488
327
362
428
392
491
304
394
474
467
376
430
443
331
356
477
312
427
358
305
496
383
479
302
375
313
486
356
346
402
329
482
357
414
333
324
461
361
483
424
368
492
465
341
379
341
483
462
388
393
417
449
445
475
367
477
387
362
456
460
380
454
363
380
393
451
410
344
346
462
491
327
495
324
406
468
420
310
415
400
335
362
329
325
487
370
434
450
346
376
497
441
492
420
423
440
453
342
498
433
391
487
444
431
494
329
448
308
491
354
339
420
410
488
393
350
401
329
364
474
434
388
407
424
482
343
452
320
408
459
416
361
441
493
417
447
394
444
399
402
315
427
372
429
409
377
458
416
332
351
418
373
408
373
355
478
387
343
362
370
416
424
436
353
484
453
305
316
424
368
430
359
448
417
472
424
449
429
483
360
388
441
308
362
452
458
495
388
403
357
318
352
363
500
353
335
363
429
337
384
496
473
348
359
339
352
305
363
440
434
478
327
376
477
457
416
360
303
358
403
461
492
396
305
466
370
351
383
404
350
463
495
455
399
434
428
482
383
350
497
365
441
499
492
369
335
324
371
453
458
487
477
473
419
380
414
451
373
443
401
462
474
500
428
314
326
349
417
471
378
500
310
464
471
486
364
458
308
418
330
337
322
483
473
387
353
441
367
382
389
459
450
336
489
398
407
396
435
459
371
396
356
308
424
423
466
466
424
421
385
431
495
486
336
444
420
413
419
399
370
377
413
414
398
363
404
414
386
360
336
425
406
363
371
441
308
306
424
429
375
446
422
349
455
368
337
437
387
492
434
363
353
416
450
312
324
413
491
306
420
339
446
412
307
425
433
304
454
311
419
327
377
463
334
345
453
401
326
482
351
355
350
366
326
383
331
437
457
317
343
381
309
411
323
417
345
458
342
439
357
450
416
406
360
326
419
489
409
398
317
485
333
418
362
369
334
366
311
380
440
310
452
426
379
431
460
408
471
498
451
393
310
415
356
346
301
411
401
443
364
435
336
391
333
361
300
359
460
373
332
302
306
390
399
428
431
443
375
338
417
359
485
302
313
419
354
441
492
457
462
328
493
473
410
321
484
354
319
419
469
314
465
391
325
400
357
334
479
410
319
322
331
426
303
460
375
409
454
335
320
481
388
377
328
444
400
382
341
308
455
496
414
455
329
332
341
378
466
458
415
371
333
386
420
422
465
381
403
423
394
304
492
329
409
344
306
489
426
367
412
328
324
437
424
324
380
346
406
474
311
406
346
410
457
470
371
499
320
418
473
406
351
437
354
410
499
418
327
413
389
426
455
490
463
467
352
300
379
334
394
435
435
370
474
411
353
370
483
407
431
468
337
420
415
410
377
302
320
439
328
397
432
473
419
363
430
497
312
403
326
432
309
367
437
434
484
471
480
380
480
437
351
470
373
374
410
423
383
498
329
353
382
420
493
470
366
371
370
468
476
359
331
483
328
407
471
435
389
497
419
456
381
490
336
312
301
334
452
467
368
434
325
497
303
334
458
441
419
439
435
318
395
425
446
306
437
411
325
408
376
465
467
350
456
366
423
372
310
463
331
306
442
343
360
394
478
464
452
314
351
470
311
302
404
489
433
453
394
330
450
326
455
410
422
411
328
491
473
456
497
438
500
446
402
343
346
350
452
449
470
301
396
376
309
470
489
318
448
340
401
430
412
368
462
432
482
400
324
448
450
431
405
342
431
410
320
308
419
353
497
307
462
496
403
433
463
495
371
449
454
377
440
450
308
385
472
377
300
426
420
411
359
414
498
499
325
357
369
419
345
412
380
353
348
308
363
376
380
434
339
412
357
328
319
314
453
354
360
336
493
344
319
425
462
338
358
457
493
406
468
492
500
476
466
377
438
484
327
440
312
312
323
456
368
356
441
435
409
472
418
325
399
385
499
335
458
484
379
337
437
447
404
450
473
313
415
433
485
442
444
377
427
447
465
402
383
307
474
403
419
481
373
473
308
327
372
377
395
338
347
334
363
312
379
460
300
393
470
335
439
450
446
365
337
405
494
400
500
481
493
426
462
450
315
499
431
313
323
446
493
311
494
353
429
493
440
315
384
363
340
418
388
380
302
416
398
438
446
369
344
486
333
320
407
321
382
445
479
365
467
443
342
346
350
473
429
451
422
341
470
332
470
352
455
388
471
346
500
457
331
477
384
326
461
326
463
473
329
446
407
476
460
498
427
317
472
397
423
379
381
488
472
461
453
368
359
479
408
365
431
383
395
470
409
441
391
490
404
347
429
404
452
461
359
404
366
484
363
368
441
472
443
393
363
488
439
451
411
348
488
422
394
344
389
378
438
350
497
318
448
336
407
357
431
490
474
355
369
485
424
477
487
471
332
448
351
478
479
422
414
411
486
468
337
481
476
382
349
375
303
498
419
393
439
398
498
367
304
325
329
375
345
327
362
389
477
465
370
456
363
460
432
493
348
381
327
465
489
498
391
405
368
387
350
392
400
430
350
304
394
451
370
368
322
310
403
354
340
410
316
302
352
301
487
326
350
347
407
325
490
420
304
336
406
425
481
372
419
386
345
380
350
316
430
359
422
425
321
478
323
436
345
391
447
329
411
351
429
470
486
475
477
448
337
315
497
409
382
375
435
378
323
395
438
489
301
458
423
451
312
445
454
369
307
492
304
492
331
367
447
319
312
457
479
456
461
499
434
491
340
463
463
410
429
426
441
300
407
456
446
384
379
484
485
412
406
358
389
309
356
399
450
370
335
336
465
444
338
418
463
497
413
339
404
471
300
458
342
480
384
302
468
463
408
452
338
495
385
488
372
369
447
302
443
375
338
414
484
303
389
408
304
358
391
449
473
389
399
475
382
344
452
458
376
362
414
347
361
486
493
461
366
443
440
493
411
329
424
383
316
391
400
406
320
419
331
416
313
323
363
328
317
324
437
459
495
324
498
454
311
454
325
401
358
453
404
313
304
472
364
456
468
375
347
440
365
454
301
381
439
363
446
412
476
458
486
320
316
308
310
439
320
402
343
474
379
363
305
469
433
314
400
391
356
394
352
351
374
417
498
471
300
306
330
411
353
417
332
387
401
383
332
498
332
384
371
398
315
362
496
356
412
434
363
488
407
483
399
415
300
447
460
350
436
360
382
367
357
399
451
426
370
376
467
353
466
300
321
446
416
470
356
307
469
367
341
422
335
319
396
425
372
349
324
384
352
361
323
363
494
307
368
370
485
427
338
494
359
335
447
461
385
441
436
479
406
326
315
412
334
472
388
488
459
494
325
463
328
320
445
417
351
393
460
353
405
445
314
423
480
307
319
309
321
347
480
353
420
329
447
320
360
332
465
485
457
335
466
340
453
336
496
456
324
381
401
392
337
417
371
391
420
323
440
452
300
442
492
345
434
330
379
381
457
349
377
485
330
495
303
492
490
334
303
390
491
416
410
363
324
419
446
393
315
444
468
401
436
462
359
457
475
430
495
424
391
386
493
429
329
370
461
378
425
326
425
479
470
491
440
377
402
434
424
349
491
495
439
493
454
320
302
490
419
484
481
464
324
488
456
315
400
408
326
484
386
393
331
437
342
339
464
395
414
321
361
350
471
449
301
350
335
416
482
369
444
482
355
442
441
375
399
408
483
450
352
456
350
385
316
478
452
466
408
395
343
387
402
333
439
301
387
307
475
351
434
411
382
336
456
380
318
436
350
341
301
338
491
425
469
401
496
466
304
338
432
427
443
362
321
375
350
414
351
477
352
410
317
356
331
389
476
440
449
354
488
301
486
407
462
324
339
488
422
487
468
319
357
423
486
381
464
417
484
348
351
479
374
393
383
397
382
319
321
495
302
489
302
406
441
373
324
433
434
303
349
388
306
411
332
444
321
466
416
302
412
328
338
456
488
472
456
473
492
377
469
396
353
372
300
405
492
362
424
424
476
367
363
484
422
431
359
429
350
457
366
450
459
387
496
462
394
331
394
404
319
422
389
320
332
329
413
433
433
492
496
341
385
469
448
428
326
411
399
480
340
358
347
490
315
339
433
382
403
451
406
399
421
424
469
403
395
459
344
333
450
483
339
376
461
307
382
305
375
478
393
457
425
378
477
333
399
340
427
418
426
468
345
499
397
333
457
492
328
376
489
380
444
433
301
468
477
397
317
492
324
343
309
456
499
473
419
407
328
474
326
466
464
370
314
440
499
407
300
453
462
483
371
479
384
463
385
307
480
350
487
426
356
391
458
486
376
447
401
318
380
321
395
303
488
435
494
464
397
348
459
492
366
391
463
309
455
327
307
476
345
426
441
302
480
419
428
495
464
408
397
334
361
418
419
425
403
490
486
437
497
316
307
370
463
370
324
344
487
405
342
368
378
361
321
491
488
419
494
339
487
370
467
451
425
380
359
378
368
368
379
469
473
334
371
497
371
306
469
319
481
340
458
463
477
460
308
398
400
327
302
395
331
313
421
468
344
473
413
300
490
491
325
342
348
327
444
310
359
381
300
325
315
323
335
325
397
468
350
328
414
403
312
469
348
446
476
397
375
353
468
367
478
440
346
344
446
307
490
486
385
311
482
443
353
424
441
404
321
457
426
434
483
421
331
407
407
472
494
496
436
352
373
425
368
410
439
305
431
335
432
379
451
408
368
364
417
455
424
415
327
396
438
306
457
463
444
492
425
456
413
365
420
381
448
344
467
454
476
333
424
480
467
354
436
500
422
398
423
443
472
361
373
429
336
362
402
354
441
338
342
403
415
383
479
466
302
412
302
449
494
421
463
455
326
348
491
474
351
312
444
383
429
402
370
335
366
316
376
304
343
443
319
478
474
401
338
432
408
477
453
462
430
389
325
358
357
301
324
381
468
312
413
449
338
349
372
306
409
459
493
497
422
309
337
384
394
370
329
393
422
353
437
386
349
446
408
430
448
400
443
457
328
356
308
377
444
312
362
400
441
307
487
327
415
395
460
450
397
390
309
398
407
373
364
429
312
398
366
365
380
418
327
457
336
454
493
375
405
375
351
460
484
372
311
400
486
427
408
365
468
330
393
386
369
434
318
460
493
316
350
404
372
375
321
314
388
456
373
491
333
420
417
315
477
342
500
356
340
334
393
312
420
477
326
343
378
407
439
421
381
408
416
316
495
447
354
404
471
476
313
398
434
480
364
393
335
383
450
380
424
465
410
319
475
345
322
324
411
497
483
402
338
440
473
313
436
384
377
430
404
345
374
471
326
345
372
411
486
411
371
425
479
500
344
346
336
387
432
470
475
343
446
406
336
372
458
312
434
448
477
424
493
370
453
447
314
444
311
489
390
373
466
465
488
464
482
390
405
490
434
391
310
336
353
300
497
393
302
376
305
485
407
315
415
498
348
339
384
474
303
328
485
308
460
480
322
337
389
485
322
429
358
399
369
329
463
356
315
455
417
495
403
434
306
458
320
445
326
442
408
362
339
473
470
412
324
400
327
394
444
356
305
426
478
304
467
447
446
360
445
330
372
308
356
368
420
382
373
346
469
374
472
480
352
386
308
326
300
394
466
417
385
483
423
488
334
407
471
355
315
327
347
349
399
461
394
463
356
455
344
347
407
431
355
475
343
444
430
498
355
317
393
471
464
407
495
317
481
412
358
477
345
381
317
415
386
396
362
407
466
415
454
428
302
361
446
317
411
418
340
500
444
495
393
309
468
452
500
349
356
481
455
363
432
437
422
355
341
393
457
440
390
362
315
316
310
303
445
362
338
406
431
372
413
320
449
493
336
387
394
454
338
405
403
461
492
451
307
398
354
330
457
323
432
473
425
484
477
306
459
421
326
360
355
480
450
496
469
377
310
304
446
475
316
430
302
436
461
418
378
479
476
452
383
444
455
424
452
434
390
351
443
454
493
469
450
437
467
477
300
486
370
443
326
379
388
435
433
399
424
348
483
375
389
456
394
307
445
388
481
468
302
310
317
319
461
466
472
304
450
358
350
428
447
414
412
342
446
369
353
381
448
477
439
380
457
432
311
402
362
340
300
497
402
406
340
398
369
415
425
391
482
427
437
417
490
389
361
395
473
300
476
309
442
410
404
492
460
380
334
460
341
486
391
327
317
356
308
314
417
466
368
493
373
496
405
431
448
431
436
354
425
407
323
340
478
361
329
447
453
324
432
336
493
495
416
450
318
477
307
494
484
374
348
474
330
455
425
465
403
487
445
370
334
393
455
437
380
307
371
371
417
300
480
439
346
313
406
491
492
308
390
314
480
356
315
394
428
457
344
441
375
323
449
300
396
345
331
305
479
401
336
473
489
450
364
370
451
384
301
427
318
309
412
439
425
356
477
424
360
318
382
350
375
381
474
409
366
305
446
428
438
340
474
451
371
434
438
425
366
435
331
363
435
473
437
344
413
391
465
456
455
409
320
346
334
366
387
437
401
447
492
399
337
352
301
400
473
398
442
397
397
428
309
312
482
354
302
335
388
360
457
354
467
498
447
336
422
406
439
343
466
406
300
315
334
385
497
380
490
418
481
394
393
485
309
450
385
427
307
452
324
439
304
499
480
343
434
466
450
302
360
431
470
467
416
416
480
458
455
377
460
486
410
462
374
317
409
410
397
397
454
410
312
429
411
378
441
397
473
391
459
444
482
326
422
467
382
319
312
419
358
385
304
375
329
358
476
485
366
370
392
401
366
489
492
349
325
459
348
486
351
316
394
414
498
309
477
387
479
325
460
369
380
475
350
316
490
301
469
401
462
420
387
402
367
499
446
480
481
414
374
319
476
402
466
459
414
492
491
317
411
303
414
441
488
488
333
429
498
359
499
327
371
407
321
482
422
398
348
341
499
335
451
426
494
342
338
454
388
483
464
470
398
445
365
332
330
415
335
470
448
408
360
462
411
490
392
369
446
340
412
490
440
339
322
350
304
367
367
380
396
428
303
449
323
455
362
467
433
449
358
344
342
440
473
312
307
349
370
322
380
367
489
389
421
363
326
301
428
405
407
493
450
416
467
377
475
311
331
486
464
470
315
484
438
441
455
320
338
316
412
349
475
436
388
398
320
361
437
447
408
386
369
459
433
314
324
386
397
313
364
482
421
361
427
475
485
361
494
360
305
359
347
469
302
492
376
437
465
483
475
356
325
437
451
428
449
325
460
496
394
433
423
364
435
460
373
313
492
361
315
447
323
323
421
377
363
469
354
419
443
402
455
400
487
375
311
329
427
418
479
374
383
426
465
407
336
318
354
470
487
395
305
472
442
498
410
345
434
498
320
311
399
333
375
496
485
303
378
350
391
481
314
327
497
485
324
382
352
427
312
452
390
375
316
434
377
431
389
368
452
434
400
413
316
445
306
404
382
387
385
338
447
302
438
372
452
453
475
378
357
331
348
405
397
321
488
312
343
311
321
405
391
339
318
357
465
356
375
471
361
389
353
384
469
322
364
341
451
431
493
407
402
363
413
400
326
441
399
380
377
311
410
468
381
491
441
382
399
492
383
435
351
342
455
433
310
403
469
414
357
445
402
435
357
321
388
409
407
443
440
405
364
387
311
393
410
492
301
380
418
358
337
311
317
429
306
376
371
488
490
340
499
305
474
364
476
304
492
468
400
486
302
345
371
443
308
323
375
462
401
413
320
335
410
351
487
382
305
313
426
361
399
479
353
427
450
428
370
464
320
320
310
308
345
484
466
358
307
368
463
372
499
404
484
439
352
430
326
417
347
408
414
307
358
439
456
449
481
444
366
435
377
420
364
440
341
456
345
374
338
316
433
463
360
396
370
393
496
500
460
372
385
499
397
319
440
477
334
449
378
380
464
305
470
340
342
400
382
361
312
389
324
393
479
462
465
491
423
332
459
434
343
474
359
365
420
454
483
352
378
370
388
423
478
407
404
451
382
376
416
430
348
466
312
454
387
377
408
396
389
353
484
331
420
478
481
450
444
437
422
442
327
341
325
468
381
437
455
310
418
437
406
462
485
406
418
431
484
346
366
367
313
355
484
304
492
470
384
472
425
313
339
300
392
357
431
402
491
367
311
310
305
322
313
419
432
476
382
422
321
457
413
443
385
329
419
338
312
447
434
362
430
457
348
394
353
448
392
415
440
375
322
498
384
381
345
358
497
302
448
413
402
469
434
328
388
479
436
330
354
366
440
434
485
360
349
473
333
363
326
452
349
357
354
444
411
373
489
450
456
322
337
412
351
475
357
482
456
340
479
498
348
359
389
470
410
445
307
463
300
301
391
491
445
320
345
341
445
421
301
485
329
451
460
458
416
493
374
335
441
398
369
466
486
322
385
301
300
500
470
306
450
493
397
369
403
361
334
449
396
378
447
437
350
301
464
392
321
402
328
332
422
485
412
378
303
431
444
354
482
335
392
365
307
380
455
479
415
361
375
413
432
401
473
497
382
479
472
408
446
376
394
389
342
327
457
387
379
360
307
434
459
373
304
374
320
460
418
307
363
328
335
391
340
430
346
411
344
419
313
357
358
337
326
473
325
442
447
411
411
343
411
376
354
343
443
407
462
414
461
407
373
452
469
443
455
427
480
405
425
306
431
385
329
468
393
411
321
454
474
476
351
437
366
339
478
475
368
342
380
304
313
403
477
302
378
335
332
475
356
352
407
436
443
382
342
449
486
316
440
330
309
372
332
470
398
413
433
486
397
492
408
360
414
434
497
499
361
303
451
325
459
372
325
300
376
399
484
350
460
337
454
444
450
301
338
445
350
415
419
426
421
480
314
423
379
378
404
415
330
485
302
476
385
337
348
325
305
491
387
440
453
474
446
378
445
428
329
380
445
359
306
314
397
437
320
339
444
309
329
359
424
406
406
422
471
407
329
381
416
471
356
409
386
325
419
431
376
326
453
306
453
308
365
324
460
390
306
360
309
498
365
391
438
387
473
452
309
355
436
339
314
336
434
462
335
405
462
407
321
490
458
344
378
345
460
370
469
417
487
484
469
332
409
355
360
463
433
474
466
493
406
456
322
420
307
360
395
324
365
399
329
368
404
495
402
388
353
491
424
451
463
361
488
443
450
314
308
352
469
417
335
327
472
397
312
346
309
451
456
353
347
325
474
486
365
306
478
362
483
386
309
350
357
395
464
388
454
493
382
461
362
326
312
362
462
351
379
320
449
436
476
453
488
438
310
377
383
409
305
476
327
491
316
365
329
344
439
448
332
414
417
477
443
384
346
496
481
423
455
377
444
423
320
478
308
394
377
397
459
420
497
349
362
314
436
367
354
425
346
482
417
305
393
396
451
369
496
342
407
366
302
404
386
335
487
500
373
405
439
421
306
418
464
493
449
460
484
379
446
375
500
441
409
500
366
343
308
391
488
320
317
357
359
431
300
432
354
356
476
489
374
346
480
394
358
348
415
310
345
474
493
404
377
345
497
448
380
473
396
417
417
456
491
489
412
441
490
495
367
323
401
405
365
393
424
361
335
318
469
497
457
459
387
361
494
362
439
475
316
368
393
475
347
444
426
475
313
391
475
336
493
449
432
492
418
308
443
300
457
418
450
380
495
491
465
444
416
304
415
410
424
414
318
392
363
442
449
365
481
372
467
409
413
427
364
382
496
318
390
413
325
409
470
417
463
477
336
460
423
329
301
499
474
372
495
368
459
361
423
317
395
461
394
339
490
472
471
331
376
432
338
452
467
360
385
441
484
498
337
347
448
305
404
442
416
482
402
428
390
388
461
442
478
415
349
320
416
487
440
316
426
387
350
466
479
385
412
472
387
372
360
339
375
328
471
319
389
408
409
458
459
410
433
339
360
321
445
476
488
485
346
345
396
316
347
377
329
410
325
444
406
494
363
432
365
358
460
389
445
468
449
330
361
468
373
317
441
472
343
375
464
447
494
395
339
437
328
465
487
372
445
370
361
410
353
461
334
304
341
418
425
353
414
500
465
315
493
460
486
451
343
428
397
442
454
300
389
464
470
479
383
338
308
460
414
318
300
466
466
435
451
443
442
437
349
451
406
450
482
355
455
302
442
331
401
427
371
433
319
408
442
467
363
312
384
480
451
411
434
424
366
427
326
362
479
314
418
454
410
303
368
340
483
404
342
339
392
409
360
423
418
433
408
433
322
413
412
323
490
484
300
468
415
394
399
351
483
491
460
328
386
412
326
305
334
418
402
440
309
392
473
369
374
456
422
401
423
435
497
371
464
342
471
419
353
409
467
373
325
444
473
423
392
428
480
308
462
407
426
301
318
482
356
351
402
307
324
467
408
482
317
451
434
475
452
313
415
301
317
345
363
489
444
387
425
426
405
300
335
473
383
331
492
379
331
468
416
378
490
350
483
387
500
495
420
470
451
491
453
495
396
361
315
418
445
316
334
300
492
461
427
410
436
348
363
428
363
388
438
381
455
441
398
455
444
404
467
455
340
316
394
325
309
422
332
335
482
447
303
347
390
349
367
482
441
319
324
450
350
327
366
400
312
341
361
484
424
399
381
423
427
426
359
351
478
311
342
379
406
361
311
445
418
361
362
411
351
313
384
489
306
478
374
402
333
499
385
414
441
431
341
389
374
306
347
389
432
445
484
377
332
400
412
469
413
353
420
343
400
313
371
439
361
367
415
382
402
445
312
362
340
480
444
324
370
338
387
488
397
347
315
344
474
338
488
455
435
418
397
330
382
402
355
336
454
383
307
430
382
470
347
421
444
463
363
378
414
383
406
337
475
361
415
364
318
302
472
493
464
333
406
378
420
447
456
479
441
309
440
426
341
498
447
404
491
330
448
426
333
377
361
416
317
492
350
315
434
374
459
422
458
411
428
462
425
470
424
457
459
437
485
356
313
451
468
498
491
372
433
354
324
324
300
364
496
418
347
373
314
368
462
306
446
367
361
424
389
462
304
378
388
335
497
308
464
322
384
418
442
310
492
318
331
393
368
498
404
300
371
463
403
499
421
315
435
390
450
370
332
375
381
434
476
348
369
437
394
481
406
366
356
500
496
341
331
311
453
304
422
403
461
340
353
332
362
377
350
337
463
405
471
368
494
469
466
400
316
313
402
428
413
338
500
371
467
389
480
469
425
481
402
457
424
315
371
412
343
490
496
477
404
466
346
430
441
347
329
475
424
337
375
396
393
447
493
382
449
425
444
414
318
439
317
496
335
312
345
330
413
307
439
401
308
349
370
300
311
460
457
460
316
488
495
353
405
480
475
352
450
405
451
311
405
416
486
425
451
468
402
469
402
438
369
391
337
333
389
374
438
340
451
304
350
438
324
434
329
429
333
460
472
439
438
339
301
456
352
372
413
359
406
484
428
453
438
458
450
383
356
499
339
410
379
308
420
402
354
489
304
308
432
329
457
451
441
404
333
428
408
416
483
441
386
316
381
419
410
377
476
373
323
357
332
493
377
355
443
305
333
306
401
441
468
478
312
356
457
441
473
433
500
389
413
491
499
396
425
398
452
497
356
374
349
446
383
303
465
387
348
330
305
403
323
378
427
388
466
433
392
429
387
346
432
475
390
420
372
460
382
397
337
400
354
311
367
434
378
408
410
327
308
379
382
486
308
346
464
313
386
357
420
346
458
431
426
464
471
499
441
373
473
307
431
489
369
397
425
370
481
352
353
340
364
433
426
433
397
424
328
395
344
444
439
341
414
308
351
365
342
489
301
320
351
335
441
306
369
367
330
372
308
417
438
333
494
308
363
450
454
491
318
361
386
492
490
489
333
341
467
424
424
398
420
441
443
321
305
305
338
307
373
310
406
446
444
352
383
315
459
438
407
468
436
395
495
338
361
414
308
317
343
333
490
336
304
427
316
358
392
438
483
430
452
374
426
387
375
323
479
416
372
494
494
469
459
329
463
318
315
408
336
456
442
472
332
446
325
487
326
382
384
444
458
330
323
488
457
323
412
429
450
485
326
315
365
396
471
312
310
429
348
345
458
462
371
419
351
379
362
452
380
328
375
418
348
457
462
405
314
401
355
436
380
316
358
397
305
350
310
350
307
401
472
311
337
496
451
406
335
409
439
308
318
457
410
363
321
355
336
301
481
406
492
405
470
432
473
377
408
385
474
470
393
331
478
371
488
402
458
339
312
481
333
372
488
432
425
492
339
477
500
396
401
440
345
355
368
446
491
365
362
371
382
454
403
316
423
396
325
398
472
411
394
499
439
378
309
384
335
489
487
406
349
425
433
389
462
307
463
416
400
441
355
405
366
462
386
388
304
345
336
469
464
333
493
402
487
384
449
373
329
489
455
460
494
344
348
391
316
383
499
311
386
420
475
384
304
453
438
424
494
386
459
478
475
354
331
323
472
365
387
479
352
369
302
306
493
475
389
451
356
334
415
367
432
387
383
470
327
304
366
338
318
335
381
425
437
412
422
449
400
389
475
444
447
390
368
448
456
489
488
454
328
473
351
347
444
362
442
371
437
337
379
354
304
331
367
333
347
450
342
395
428
376
357
499
440
311
402
477
413
482
469
471
477
440
415
401
434
469
405
313
328
431
349
363
409
376
327
379
466
483
478
395
475
386
476
439
381
459
408
347
389
490
484
368
381
421
336
482
350
393
314
326
388
492
409
303
318
415
331
436
483
328
463
455
435
300
327
476
425
310
303
475
310
435
474
409
371
394
426
395
445
393
468
321
434
466
361
437
339
433
414
381
451
477
436
409
456
424
423
348
322
486
436
437
356
426
403
404
372
384
463
322
496
449
326
339
393
309
478
491
449
333
316
311
384
431
401
306
465
430
441
356
451
304
324
414
342
482
489
406
429
393
494
423
473
462
412
378
413
346
367
443
341
438
380
313
385
491
439
494
419
377
374
303
351
347
498
331
409
403
441
308
469
493
314
452
396
397
431
500
310
384
466
481
335
425
418
500
474
400
387
368
449
477
490
360
412
438
314
385
482
338
496
484
432
386
454
464
351
324
391
370
312
420
465
499
370
477
393
450
352
444
367
393
321
471
412
440
402
475
480
420
436
422
320
372
498
487
346
483
435
347
352
464
375
455
403
419
324
424
422
367
473
300
325
427
357
315
330
445
452
336
390
445
494
423
451
367
373
317
305
407
315
491
356
415
397
345
342
301
466
446
389
434
333
449
480
410
409
377
386
470
440
335
431
352
415
313
300
500
437
466
436
379
317
470
454
378
316
366
413
478
371
469
330
439
487
335
419
318
495
381
464
336
419
345
443
466
376
341
417
366
385
428
346
488
378
466
402
335
346
410
395
375
334
319
429
457
472
336
468
433
345
423
481
471
454
428
349
399
387
382
340
405
383
392
400
340
478
486
463
469
442
393
361
414
492
477
339
488
357
388
500
410
454
333
426
423
492
482
300
495
406
437
470
470
431
470
421
316
331
333
472
414
315
306
459
341
437
429
311
308
411
353
466
329
493
356
439
379
355
391
325
368
333
363
434
404
318
365
478
391
315
357
359
497
325
421
413
393
445
429
497
485
479
417
473
496
480
480
448
460
409
396
457
484
455
457
410
402
408
485
484
336
401
363
334
394
465
430
301
441
345
356
306
387
388
413
378
300
362
480
345
461
448
317
455
387
420
349
406
383
448
402
419
496
324
352
380
371
470
351
313
318
307
421
353
473
419
323
378
310
403
465
420
386
317
499
363
422
312
379
387
342
417
444
469
435
316
426
463
404
390
323
429
329
308
385
492
371
390
470
421
448
429
440
328
475
300
495
458
396
357
364
316
472
500
490
339
421
356
464
386
423
368
404
474
385
478
369
390
488
413
422
307
303
333
417
372
457
382
396
430
337
475
300
489
304
440
497
480
321
348
320
331
441
479
354
456
377
476
374
358
353
423
496
369
399
450
391
419
366
440
441
362
451
416
315
379
381
332
435
491
326
322
445
482
451
389
444
470
482
434
391
400
353
360
375
336
321
462
367
470
431
456
499
492
309
445
389
490
486
431
493
435
311
348
366
375
415
416
484
385
437
493
431
427
340
445
422
475
307
402
357
478
313
453
367
355
448
459
346
398
456
408
395
385
402
481
406
310
366
316
368
353
314
402
334
339
334
339
399
473
458
378
468
466
333
462
475
486
493
395
397
317
418
421
301
327
486
362
455
312
306
312
314
451
316
404
457
477
307
361
398
390
348
333
416
482
339
300
447
387
498
437
462
407
334
481
404
443
329
418
425
408
463
308
450
331
396
346
380
434
301
385
419
360
314
452
483
369
316
344
433
446
354
495
440
379
491
434
308
403
445
347
467
372
391
341
342
477
377
317
452
338
429
435
457
407
441
474
343
368
486
348
395
445
422
394
359
428
378
340
321
342
453
307
415
464
341
467
397
399
435
313
301
455
361
426
497
454
321
375
438
477
494
423
308
398
475
390
430
393
481
468
313
491
394
305
447
397
367
336
373
392
428
383
482
344
354
346
400
310
425
403
418
302
346
403
416
489
362
385
320
342
353
477
492
338
356
319
416
398
349
460
482
340
395
493
489
301
497
334
416
447
428
316
433
467
430
468
311
383
356
417
336
496
348
483
347
354
426
331
451
396
358
403
352
416
396
383
407
347
462
490
382
340
405
494
392
500
473
416
409
496
343
360
376
319
339
500
414
494
316
347
435
453
335
374
321
494
474
386
484
348
471
443
334
419
394
390
418
499
500
330
447
379
404
351
492
353
442
410
349
453
373
368
442
471
464
447
403
448
305
337
476
347
415
354
425
370
453
359
472
360
328
300
336
369
354
308
470
315
485
425
327
318
402
451
308
496
307
317
424
422
481
448
430
308
341
317
392
395
457
432
326
387
401
491
432
347
356
442
422
487
369
314
307
411
424
327
360
444
386
407
437
374
463
420
329
386
437
341
483
390
476
309
358
320
416
307
407
363
396
410
344
476
487
324
356
325
301
455
425
380
369
486
404
453
433
376
481
352
340
497
436
312
500
449
332
432
439
417
342
480
489
448
386
359
425
324
407
460
347
375
350
359
360
355
312
339
414
432
466
397
343
328
418
419
343
430
360
311
466
364
474
416
436
309
437
305
377
484
416
448
449
363
408
328
300
393
350
379
420
375
478
494
318
443
310
455
340
363
405
303
467
487
357
469
324
433
476
477
492
376
302
431
379
476
452
388
302
310
420
475
355
498
476
375
342
355
303
306
381
417
305
337
480
431
335
442
472
399
487
304
425
425
441
320
472
439
464
365
314
470
363
368
369
479
481
439
392
359
351
449
428
494
342
410
339
419
325
484
460
334
432
353
490
465
439
418
429
397
403
500
363
364
320
441
417
418
479
352
491
466
470
417
327
375
329
461
397
312
308
347
319
354
402
407
347
496
461
466
399
489
491
477
371
412
453
491
333
382
421
495
466
408
301
419
403
321
300
454
483
424
340
410
351
337
467
487
300
311
393
352
337
438
353
344
305
411
450
388
400
333
381
493
317
315
376
469
345
429
312
498
313
386
411
349
301
402
300
393
484
412
401
305
481
320
449
315
404
403
448
455
436
339
309
443
303
305
484
361
323
494
399
319
376
458
429
453
315
360
310
492
397
444
479
487
308
454
398
302
481
455
486
320
378
303
393
390
413
394
443
429
304
445
440
333
324
393
455
410
404
378
446
354
339
425
491
322
370
302
350
340
409
496
471
356
330
325
463
323
378
423
387
322
495
471
331
362
340
448
403
454
488
356
404
406
388
339
408
392
494
408
462
392
381
469
478
381
314
498
307
441
319
305
341
434
424
471
371
397
316
393
452
383
447
317
464
377
379
334
433
444
316
392
449
344
348
351
468
444
373
358
436
432
320
343
317
396
472
500
442
417
497
474
469
320
454
475
371
404
475
373
471
473
344
326
456
434
442
419
434
339
489
450
494
420
395
411
301
364
375
484
316
395
385
322
338
372
312
443
305
338
343
436
390
380
328
326
354
314
313
398
414
389
353
428
475
432
383
499
358
433
422
490
358
463
329
414
359
360
380
439
339
364
471
340
424
488
427
368
495
396
466
351
483
457
391
422
448
422
385
391
430
482
397
450
338
412
404
479
450
456
340
425
435
310
326
408
426
384
386
322
403
392
301
400
467
480
395
350
371
425
375
447
396
357
493
355
350
454
373
407
467
440
468
334
432
420
330
436
345
383
449
311
370
428
356
340
381
394
417
436
368
363
458
310
487
381
330
448
349
471
363
359
374
317
484
499
372
380
359
429
471
359
482
441
442
454
355
385
391
364
412
375
395
486
397
481
404
451
400
475
483
465
300
370
396
500
362
453
468
448
450
339
495
495
494
345
447
428
309
405
450
354
340
359
326
302
347
304
335
306
354
305
339
308
368
460
451
497
375
495
352
434
411
499
336
452
458
365
325
348
318
341
348
366
431
354
472
362
348
337
444
400
325
452
499
392
477
484
428
429
480
364
479
490
466
326
343
309
429
381
459
458
378
327
361
415
338
315
465
316
422
371
341
375
443
401
349
465
351
494
445
445
459
487
396
499
405
372
402
380
418
338
478
499
344
471
338
411
475
380
485
482
391
478
430
350
378
351
451
327
382
489
445
458
343
333
380
472
429
483
418
382
362
371
384
382
440
496
445
443
379
491
449
390
497
378
495
467
334
369
319
473
495
319
479
447
488
393
389
349
393
460
313
499
398
317
357
369
377
406
410
360
461
434
437
478
381
371
348
431
419
388
355
429
436
394
469
362
434
464
318
349
489
483
396
331
476
391
414
359
377
498
454
357
330
473
437
374
326
335
337
326
356
481
495
383
419
429
373
459
423
451
485
381
389
434
488
308
343
436
301
390
391
446
439
412
458
441
373
321
458
499
396
379
390
331
454
376
444
350
313
477
449
444
364
451
428
480
426
377
457
338
401
301
377
339
494
416
318
432
457
397
498
475
410
327
370
474
493
375
477
500
310
350
306
343
453
487
428
457
332
393
361
329
415
400
388
444
459
466
308
445
416
470
394
316
332
498
422
326
485
464
300
481
444
472
483
313
381
347
430
365
399
460
404
387
357
347
391
311
361
401
310
432
350
449
340
344
303
497
322
404
387
454
372
362
350
318
341
445
307
355
319
465
386
454
370
328
383
345
369
365
408
495
465
344
466
428
320
381
385
450
336
470
427
376
309
428
408
499
458
486
454
370
341
430
397
408
491
460
371
494
400
383
455
336
352
441
328
417
301
470
481
456
467
358
397
341
377
326
310
405
435
430
486
326
329
461
461
370
328
408
393
345
458
356
345
433
330
387
307
418
396
390
431
338
423
403
347
469
459
416
420
488
427
385
373
309
307
445
389
329
390
462
387
390
302
399
383
443
473
464
485
394
376
469
452
320
440
324
500
345
422
420
314
332
402
439
445
359
316
331
397
313
409
300
419
473
387
326
365
428
373
379
441
369
353
430
330
335
475
320
460
302
320
468
412
365
340
301
337
304
312
305
497
304
462
375
345
452
406
441
400
333
448
328
428
491
459
438
475
367
453
379
393
475
443
445
446
402
490
410
369
468
331
318
443
477
449
477
367
439
406
486
389
500
499
311
460
307
350
390
474
477
386
332
454
311
398
440
303
434
358
348
472
464
388
382
321
449
309
416
384
325
340
351
393
494
330
345
327
367
403
344
403
306
346
337
381
487
444
389
323
402
351
326
392
360
382
301
380
467
405
330
438
347
492
306
460
368
478
440
304
376
489
443
396
320
461
449
334
459
452
421
365
359
350
489
300
437
436
438
390
338
386
357
358
427
376
373
388
398
436
314
411
476
490
333
409
322
459
465
416
374
321
304
323
377
344
419
425
452
455
499
324
309
475
334
496
361
427
388
453
440
499
483
372
397
490
377
452
365
391
419
316
425
322
438
318
477
439
376
436
356
303
309
499
341
379
463
312
485
406
498
416
321
452
365
437
410
414
401
312
326
454
446
405
440
497
348
334
367
384
436
358
326
459
373
333
319
379
301
453
326
339
340
350
456
425
334
339
415
438
300
399
436
385
387
492
346
377
329
331
303
464
351
484
434
433
346
432
371
391
326
325
448
442
323
393
427
447
335
473
324
337
323
323
318
413
477
479
458
421
337
308
400
464
376
314
479
469
462
477
372
304
463
468
415
355
323
422
457
363
432
399
388
380
356
452
430
374
361
399
374
313
479
333
368
353
357
302
476
363
317
392
494
446
337
365
410
426
388
407
400
402
434
385
411
440
451
449
366
390
308
423
470
431
407
481
353
434
434
420
397
346
458
321
302
365
357
306
324
359
307
379
406
454
445
409
304
399
495
440
367
465
442
318
389
429
408
438
352
314
363
433
460
455
325
484
301
300
399
449
389
397
397
379
417
300
300
499
494
445
369
410
338
379
313
373
328
328
445
305
425
346
350
441
329
458
355
377
308
468
383
410
443
479
488
428
429
310
469
350
348
384
363
431
469
367
413
468
482
497
342
434
391
334
301
437
420
318
436
372
349
474
356
375
427
427
480
323
350
480
389
462
478
457
465
320
315
439
454
368
312
410
430
396
366
412
487
424
300
316
314
353
416
450
461
332
479
314
315
500
360
386
485
356
440
476
309
374
436
479
401
463
499
313
426
338
490
438
321
348
301
307
422
342
403
328
452
365
445
312
347
480
463
447
353
323
321
357
361
486
444
493
422
370
399
472
431
485
432
363
457
304
388
383
335
381
359
469
313
434
397
352
442
328
457
388
435
342
481
322
394
391
446
383
488
396
343
403
458
304
403
365
398
388
370
377
465
383
402
483
372
411
466
439
418
303
490
358
356
328
409
360
411
300
418
375
437
500
499
418
325
341
336
444
417
432
428
375
485
351
473
363
351
446
323
319
475
354
375
315
303
308
413
391
413
445
308
361
495
323
348
431
389
301
473
306
408
340
489
405
323
370
329
413
328
347
396
348
456
471
302
455
428
472
348
443
352
323
420
454
305
423
308
333
428
406
325
495
376
499
359
447
457
303
396
322
479
439
309
315
498
331
456
406
366
449
393
346
490
308
386
410
369
413
302
387
380
402
334
355
471
389
407
469
361
473
399
340
482
327
324
320
318
494
324
322
303
315
416
372
433
353
466
306
446
413
421
374
327
433
363
463
411
484
403
426
371
439
394
315
354
306
308
402
343
499
323
494
399
325
326
345
328
356
480
336
399
359
344
329
475
330
329
369
444
376
461
444
339
467
453
461
395
361
431
471
418
451
461
450
305
418
432
407
337
475
373
363
425
317
497
314
440
399
427
470
352
313
438
461
304
491
328
443
368
313
465
351
349
320
452
482
499
404
468
340
419
408
369
497
419
306
367
386
380
482
484
391
390
458
485
356
469
314
425
300
437
422
351
411
349
425
394
310
302
377
385
356
437
362
389
413
408
336
405
455
376
369
465
443
475
435
349
387
421
308
407
436
385
308
317
316
401
478
386
373
421
404
424
490
425
447
325
462
448
439
338
376
465
440
300
393
400
336
339
407
379
349
310
380
402
410
468
366
322
464
393
302
322
335
424
452
490
500
476
364
417
423
419
350
468
436
370
308
306
391
383
352
424
401
487
435
442
490
467
352
459
385
329
474
425
405
484
495
360
440
377
491
430
476
380
338
420
375
460
469
480
347
448
451
500
436
456
340
398
482
402
407
317
439
323
400
383
495
309
383
370
457
361
333
305
382
431
496
304
456
367
445
497
422
465
453
462
451
439
314
312
394
445
310
484
306
447
394
332
327
400
433
399
373
347
363
338
340
309
371
427
386
338
300
403
462
499
338
393
326
403
477
437
440
374
350
488
480
335
420
430
346
485
496
492
490
308
428
394
497
473
473
343
462
301
457
445
472
485
385
457
379
379
433
488
390
412
387
334
446
473
325
403
411
488
417
333
357
441
381
393
380
345
394
392
368
330
332
321
451
356
426
371
346
452
449
446
437
321
364
346
463
457
450
394
369
300
446
458
438
487
458
422
452
454
464
317
431
405
399
450
455
389
459
332
382
412
388
360
493
457
489
470
492
390
322
315
318
330
458
354
482
313
427
440
456
325
358
446
439
449
358
394
409
437
396
450
377
435
436
487
392
486
390
492
417
397
485
301
426
307
482
316
398
411
497
454
484
362
324
466
367
317
428
311
497
387
422
321
330
480
337
381
331
460
360
317
429
365
450
466
344
411
496
436
444
331
488
495
442
389
432
498
324
366
418
317
450
500
434
437
363
300
470
439
314
306
373
363
389
416
386
408
335
361
370
382
403
397
314
358
383
423
421
374
497
314
349
454
420
322
448
416
322
488
382
471
334
371
474
307
462
497
341
479
339
335
487
388
485
360
389
399
389
416
390
360
413
389
466
386
449
444
427
469
475
364
468
494
452
429
311
454
323
355
492
437
352
386
448
465
313
422
419
440
467
423
476
379
319
415
342
403
412
406
335
348
355
324
357
445
376
350
481
463
496
381
472
476
346
341
412
422
387
407
495
484
499
386
421
332
414
334
488
395
468
423
366
468
386
316
438
415
486
378
463
381
401
383
345
483
455
407
330
418
477
300
410
389
356
300
485
478
389
429
389
432
436
454
427
421
314
414
447
458
340
369
374
404
441
485
441
466
496
401
392
472
340
431
419
401
462
394
393
444
340
465
446
422
371
372
421
457
316
497
341
410
302
490
365
325
348
401
438
426
406
338
435
495
439
477
393
345
321
339
485
309
434
337
314
470
470
401
477
409
416
410
345
301
436
325
321
321
466
333
368
386
373
447
412
438
308
461
496
320
405
380
437
367
490
447
322
364
372
343
368
438
478
381
369
460
369
304
421
329
398
307
459
465
418
438
364
366
383
422
315
318
441
385
445
398
411
422
449
367
349
370
392
317
462
371
499
419
435
321
497
452
377
310
403
365
435
353
315
435
476
327
468
327
310
475
483
387
450
417
384
384
433
459
334
437
447
329
478
365
475
483
442
311
473
485
313
302
379
423
456
355
415
302
301
475
365
467
362
498
305
315
442
379
327
448
436
404
419
435
341
334
420
401
336
425
499
419
500
345
452
339
409
456
337
412
430
445
383
300
323
383
411
355
458
377
324
423
405
405
436
494
447
305
384
417
408
337
473
390
396
452
350
401
338
481
425
403
309
387
402
432
476
362
355
408
393
360
391
485
434
417
446
414
359
489
490
457
407
417
421
409
395
364
351
323
376
397
467
450
497
461
493
345
475
480
341
328
316
396
410
446
445
435
437
497
335
361
300
424
386
461
433
463
337
352
417
410
456
468
451
315
401
448
358
350
439
325
481
418
397
419
349
401
306
340
392
348
358
345
387
487
326
318
465
463
460
457
331
400
407
450
488
354
320
474
473
337
459
401
425
495
477
437
481
386
476
442
422
312
415
493
349
334
418
318
337
390
500
446
308
321
355
461
411
343
416
336
397
471
353
385
482
331
449
340
375
405
454
457
406
371
343
401
477
331
454
418
397
494
356
310
384
322
390
450
361
447
376
444
333
390
450
446
465
362
467
390
405
398
474
458
409
317
453
440
413
352
410
398
300
340
500
472
326
407
379
361
497
462
317
412
407
397
324
409
439
442
312
460
363
324
354
419
306
342
471
464
399
304
446
441
324
412
407
339
432
399
311
339
436
351
365
465
387
407
471
318
391
377
344
302
346
394
476
477
338
400
466
428
487
480
496
303
403
307
379
466
337
416
428
473
329
398
342
307
482
376
415
350
342
366
452
368
452
302
330
484
366
437
447
393
423
351
319
361
433
347
435
367
322
408
329
495
408
406
419
439
332
451
369
426
394
457
440
354
489
374
395
331
465
337
434
488
497
495
405
454
455
468
450
327
476
420
331
405
474
367
424
445
316
494
426
424
365
462
323
408
455
304
373
313
409
350
306
350
372
359
325
411
305
385
305
477
497
314
343
363
348
329
477
425
360
474
444
489
355
445
301
498
425
360
410
415
455
424
478
340
424
454
448
421
302
493
495
350
466
413
335
395
325
375
468
304
310
390
327
446
361
311
334
398
357
334
380
434
364
317
389
366
458
389
344
422
338
470
486
369
454
408
390
468
485
354
419
385
460
358
489
409
305
325
359
450
359
349
450
429
460
326
341
391
395
492
309
300
464
436
334
461
495
431
445
389
447
481
392
416
338
330
461
389
426
322
406
365
373
422
456
457
493
439
386
360
427
462
482
408
480
413
366
385
496
351
401
315
404
424
318
464
300
475
495
406
381
405
450
318
421
375
460
481
334
344
303
390
490
403
310
380
417
326
401
320
362
477
490
338
480
424
335
453
383
342
399
345
409
333
412
385
468
362
374
468
420
377
449
441
418
309
337
379
427
373
397
389
368
337
407
479
367
348
344
355
413
396
420
364
406
347
403
313
392
333
413
356
483
375
431
500
454
415
322
432
406
473
436
396
429
316
491
458
406
317
421
496
376
417
419
403
453
386
465
391
434
374
406
471
429
357
307
497
490
395
380
404
386
489
382
416
326
315
328
479
376
476
495
305
343
433
373
337
423
382
494
394
342
473
346
396
408
414
413
428
374
441
359
357
456
431
383
433
487
477
451
340
434
439
488
454
305
318
492
439
430
412
476
491
448
472
402
352
472
485
456
468
497
384
338
395
396
328
389
384
407
473
410
493
316
324
422
362
364
471
399
426
302
366
348
465
489
342
454
486
429
387
495
478
478
387
315
400
302
437
414
350
389
315
346
394
388
458
431
455
385
307
328
422
358
476
472
452
417
493
300
301
490
327
340
419
446
338
453
348
463
307
472
312
415
332
428
409
455
326
491
344
451
331
338
406
452
312
377
440
300
455
494
465
355
374
380
300
425
370
428
474
331
350
498
392
339
452
340
337
417
349
408
342
333
481
341
473
366
438
327
441
306
496
434
345
448
456
427
482
347
366
336
301
355
407
350
461
368
417
300
360
398
339
330
371
415
436
396
377
338
483
305
418
332
466
404
486
330
374
497
368
332
404
497
494
337
362
344
442
452
303
406
302
407
342
354
435
372
416
470
396
474
373
358
435
369
366
407
500
327
496
461
453
492
386
459
401
468
467
414
472
416
417
321
461
423
463
463
454
462
486
466
423
435
488
476
469
310
306
341
402
429
497
371
458
348
447
317
482
485
308
410
354
362
492
305
307
370
365
360
351
326
439
314
473
389
307
373
486
393
484
385
426
341
349
408
313
332
307
329
433
445
330
475
332
454
376
402
354
309
320
486
453
495
358
431
430
313
453
409
436
335
491
367
354
328
305
466
496
393
305
377
324
440
305
456
344
364
359
445
389
428
414
319
446
350
392
338
454
466
412
350
356
307
358
444
456
399
421
494
398
384
317
402
364
461
461
390
398
317
342
319
430
389
360
423
342
498
308
411
321
362
449
431
347
447
372
412
425
330
382
384
414
364
309
314
398
412
444
433
439
445
398
330
497
376
476
476
359
301
423
477
434
421
414
309
358
454
420
433
327
493
363
463
394
328
382
490
352
372
362
351
474
425
474
336
348
309
456
434
444
416
441
388
307
411
329
357
491
496
422
438
355
403
449
430
476
348
493
385
458
457
492
369
497
394
338
439
498
496
417
495
377
440
486
461
326
469
421
310
314
420
430
398
481
392
327
350
434
392
466
491
413
427
471
474
365
391
464
330
430
406
432
484
415
311
436
479
338
370
436
345
353
491
319
424
426
387
453
338
402
455
340
352
485
393
415
421
432
320
357
304
402
436
490
492
406
331
349
306
402
414
400
461
426
483
397
376
472
409
482
410
416
474
453
429
495
433
403
458
432
400
325
380
454
341
394
486
355
372
444
331
481
327
462
402
469
442
500
360
396
301
468
360
323
450
449
477
347
483
407
389
310
380
440
419
390
309
440
323
458
418
372
358
442
361
478
328
403
416
310
337
492
357
393
416
327
349
442
355
432
300
368
363
319
393
387
326
476
402
323
493
376
390
493
481
348
468
330
466
334
484
366
304
411
480
451
365
383
417
394
327
430
317
485
350
399
422
362
486
308
443
336
394
398
399
492
357
404
479
447
475
307
316
484
302
453
497
467
312
437
424
345
313
492
487
342
392
433
411
356
380
449
413
487
310
378
443
352
466
449
345
387
436
382
342
370
398
315
406
419
406
362
316
315
402
415
482
495
492
381
386
481
396
480
500
310
367
410
322
419
309
400
339
492
301
414
480
412
321
390
325
350
492
443
307
354
463
498
301
355
481
341
465
438
308
469
307
355
372
443
353
366
406
495
471
350
377
317
381
495
303
333
469
381
344
407
366
362
310
437
460
377
318
489
380
334
311
317
309
305
302
466
497
354
324
434
306
321
454
374
449
494
455
317
486
354
369
392
349
465
374
407
337
494
467
337
399
374
470
415
420
486
371
391
342
346
301
372
313
329
330
422
450
358
493
462
373
441
487
328
484
353
470
488
370
452
313
440
349
363
364
314
358
393
390
311
352
409
364
307
397
463
436
450
420
308
425
451
492
377
433
500
484
323
427
458
349
409
353
453
387
485
370
326
328
319
411
447
409
325
480
425
316
498
337
313
400
326
359
422
470
355
392
311
334
395
414
300
305
311
422
393
478
386
315
483
396
498
412
320
329
391
405
333
498
373
449
308
417
313
335
397
305
402
400
448
391
370
425
421
406
397
347
302
472
336
480
316
474
487
365
370
420
325
320
454
319
491
428
421
358
387
332
430
498
458
378
332
303
469
361
427
387
325
489
314
486
394
476
361
458
384
302
449
468
408
411
412
399
364
427
427
422
450
340
398
339
447
386
328
466
411
475
469
448
331
304
373
431
356
410
418
377
377
402
448
404
440
330
471
500
401
471
476
321
390
312
318
331
394
304
492
422
323
353
343
330
409
458
454
300
401
392
440
337
414
432
364
465
475
317
373
439
328
398
414
367
413
433
394
411
333
339
312
458
341
424
359
310
414
439
338
450
474
356
333
380
474
366
347
470
424
439
475
471
349
431
457
301
397
463
440
350
369
355
413
454
334
444
411
476
304
342
488
488
311
495
487
387
454
346
379
394
438
336
331
461
346
350
388
400
433
349
344
416
418
331
328
362
485
311
375
461
440
345
723
498
634
658
784
488
732
455
470
678
564
749
727
592
757
590
565
501
740
448
630
580
495
651
535
620
435
479
771
612
730
513
640
459
756
501
768
559
541
611
808
460
582
679
730
611
535
636
596
624
634
776
563
518
451
642
450
620
591
543
670
613
627
571
688
756
673
634
657
524
560
616
737
623
437
471
573
711
543
711
590
743
463
746
431
464
473
650
769
671
740
599
621
423
534
554
760
498
706
781
760
713
543
447
727
639
580
575
662
638
703
527
568
725
514
602
783
819
429
459
566
722
441
604
689
635
707
800
819
551
599
527
535
788
503
576
450
724
809
451
668
705
532
774
509
786
523
486
685
719
738
522
625
556
663
734
763
441
648
731
721
611
731
679
793
499
615
497
732
775
738
433
616
727
762
569
646
460
514
469
500
475
647
513
487
519
781
607
703
430
486
636
592
701
805
762
491
609
498
718
446
631
772
812
652
562
490
746
804
581
508
529
455
643
578
491
559
743
499
505
450
681
494
718
538
794
719
573
619
473
535
483
624
608
680
778
428
644
771
660
633
660
460
503
782
671
524
703
501
551
739
604
711
511
607
788
548
809
782
797
734
465
464
683
781
747
535
468
488
690
611
501
788
815
743
719
742
596
442
806
779
731
656
704
550
685
723
623
793
519
758
490
746
598
547
483
475
517
714
777
573
588
496
443
746
795
423
488
612
560
454
744
461
660
520
816
584
561
577
597
760
750
511
587
665
567
671
487
790
503
505
805
547
807
687
815
725
465
815
770
809
578
602
569
653
786
795
645
789
808
507
716
499
649
462
750
524
672
747
499
542
659
592
601
758
540
598
570
578
737
528
518
653
671
517
583
760
685
592
544
776
782
659
664
779
745
443
555
760
543
541
649
652
504
642
459
535
478
783
748
458
609
671
687
722
633
788
655
637
580
522
713
431
527
792
795
799
430
479
435
534
617
652
761
471
805
586
770
496
572
497
698
679
514
528
755
800
568
617
608
556
623
625
738
671
773
567
641
422
498
503
810
811
738
740
817
777
641
804
434
726
540
786
668
791
646
772
761
797
504
765
582
468
467
804
506
498
439
438
663
657
665
702
600
434
489
793
695
730
807
595
451
521
575
814
777
772
457
686
527
580
751
603
590
768
651
700
772
667
711
720
420
608
602
672
632
803
570
476
568
655
438
700
609
471
488
557
450
637
421
581
737
657
675
784
433
779
475
629
696
490
443
508
752
687
766
562
643
756
422
663
559
693
421
502
763
506
733
713
560
806
641
707
517
432
439
677
740
712
687
632
778
761
612
737
704
625
666
736
584
524
606
626
709
486
605
800
797
722
455
516
765
566
574
555
736
480
473
725
448
542
794
561
799
484
446
687
500
644
517
534
629
694
439
476
712
791
445
618
685
420
614
718
646
681
572
757
746
783
548
805
711
720
427
611
476
565
657
488
684
485
489
559
777
456
503
466
642
663
667
777
547
774
523
642
506
524
712
694
766
591
447
527
582
712
568
727
431
640
597
742
713
726
572
517
481
572
812
552
472
537
775
527
558
707
679
772
701
669
444
660
734
686
468
816
788
504
457
617
658
431
765
467
712
502
543
767
668
790
635
494
622
546
614
431
587
485
493
613
670
734
469
469
611
792
740
549
527
554
663
599
702
471
740
460
535
793
814
594
537
672
617
507
679
660
541
675
642
564
814
448
707
497
503
536
538
624
773
593
790
445
704
429
721
502
569
717
494
458
788
553
766
436
513
743
710
622
586
707
786
674
669
525
679
528
724
671
670
702
421
566
560
615
797
464
684
816
744
471
737
444
504
702
432
550
592
662
819
785
771
797
587
613
724
555
647
700
651
491
630
626
524
779
552
669
765
545
784
430
722
520
585
695
445
604
777
428
696
812
535
528
534
770
627
548
596
436
790
762
707
807
658
820
730
728
669
778
615
710
533
646
805
523
565
634
775
614
581
727
685
555
627
815
468
431
593
548
777
493
726
624
745
729
622
648
687
759
632
455
524
679
600
561
778
768
787
639
590
492
706
516
679
755
781
470
548
715
802
676
623
525
723
438
576
744
724
619
743
684
441
707
812
768
529
805
557
767
606
480
758
791
684
672
786
811
761
422
456
608
613
432
709
607
778
569
685
819
440
672
621
480
479
506
464
669
475
614
767
579
743
609
766
810
621
507
600
689
673
500
500
453
456
718
552
574
706
638
734
754
422
581
523
451
426
796
728
528
639
544
559
740
749
461
455
739
750
804
477
466
598
516
748
735
621
738
591
469
758
646
586
519
744
815
454
634
692
550
741
442
787
812
486
808
578
611
434
588
649
777
465
718
568
605
492
612
693
638
523
511
669
688
601
730
468
561
709
537
587
805
720
608
603
438
733
446
737
455
421
541
529
456
545
460
708
496
479
601
554
712
685
668
647
784
562
667
769
790
579
638
432
715
667
802
778
431
614
506
787
668
745
646
463
568
666
633
667
550
705
458
568
780
671
530
652
794
457
652
490
635
728
719
803
765
624
514
422
694
450
676
621
439
536
577
450
626
459
688
565
754
684
775
749
721
493
563
776
559
548
774
651
654
513
618
470
539
465
711
562
809
819
737
449
732
606
519
537
488
496
579
568
747
631
528
607
658
714
711
712
600
562
510
800
800
728
510
583
754
719
527
609
802
550
567
753
687
650
780
452
497
740
628
526
424
604
471
670
677
751
749
475
783
719
741
494
721
449
684
440
469
702
539
812
784
747
728
812
590
699
517
773
603
801
561
535
737
642
497
423
765
792
676
429
672
758
466
715
451
724
759
422
432
423
465
728
811
608
420
688
785
725
443
495
795
813
645
578
813
484
595
772
580
489
787
453
509
644
618
459
620
759
527
512
562
669
531
595
698
805
648
469
671
661
487
504
665
686
542
716
657
517
623
578
465
605
614
554
748
739
428
452
689
623
679
768
449
594
715
570
604
467
664
577
791
660
561
582
434
818
811
591
613
554
677
710
676
497
820
742
498
704
445
534
500
754
604
488
545
819
753
432
697
509
470
781
695
420
621
636
589
702
734
494
613
524
691
723
811
631
483
707
434
766
555
781
572
506
628
627
428
636
682
795
750
467
787
604
593
598
773
669
509
502
584
538
705
789
698
671
734
705
667
576
712
496
499
716
686
534
630
619
499
806
605
772
749
672
514
485
494
420
524
530
586
515
727
527
603
431
607
610
811
700
544
457
504
635
527
565
568
682
468
519
602
492
642
550
668
483
694
461
802
547
775
557
637
681
751
548
698
744
479
582
665
669
688
510
452
493
467
618
794
726
810
757
797
625
494
619
818
604
542
485
581
461
735
574
535
504
642
811
451
753
810
799
703
502
473
653
512
744
648
474
434
562
434
483
481
717
616
496
775
428
674
554
666
560
562
477
631
510
642
708
799
787
694
482
625
507
502
641
605
467
764
509
568
620
611
718
689
566
711
436
496
752
722
625
544
813
679
455
787
621
421
766
807
620
481
477
569
508
562
727
694
573
661
655
532
515
819
756
686
449
630
742
445
623
513
586
514
667
616
746
433
677
677
693
740
719
596
729
582
493
595
518
516
503
632
649
473
775
446
428
771
806
494
645
441
758
628
708
432
716
504
703
568
727
595
708
548
424
708
814
426
753
745
519
766
819
615
601
786
438
534
672
683
596
592
532
764
789
506
558
450
492
532
471
422
656
505
685
756
511
617
569
813
592
475
522
515
686
680
444
578
668
757
642
573
757
647
615
639
477
812
533
668
675
579
430
702
785
467
715
746
760
636
536
459
715
546
766
783
511
460
595
554
569
491
777
459
546
575
719
646
427
730
653
780
476
679
765
559
712
482
508
782
620
441
508
683
506
768
552
480
676
596
684
699
690
546
625
751
432
577
567
800
535
433
490
715
648
576
712
757
736
499
802
557
795
689
795
617
701
594
504
582
731
537
536
744
442
719
617
786
722
564
482
660
495
763
684
648
675
586
805
464
528
444
675
539
740
780
614
798
723
486
545
815
795
765
608
682
545
738
819
803
793
563
727
649
737
631
674
612
433
487
603
430
753
806
790
813
541
698
579
433
510
440
488
469
546
605
491
566
443
600
435
761
546
462
799
628
712
434
686
482
470
810
625
691
491
584
813
651
497
633
424
787
759
632
681
449
747
574
621
820
645
476
548
588
648
534
808
774
717
686
583
717
786
558
640
763
657
645
433
686
520
526
794
639
802
606
573
759
567
638
488
721
680
739
583
636
612
445
492
587
589
542
498
440
665
717
484
523
599
573
762
773
521
790
693
449
663
685
752
676
650
747
664
697
492
644
480
499
778
453
635
785
626
494
766
523
802
722
700
772
664
679
500
643
515
434
646
599
714
704
789
623
458
496
614
505
621
776
500
622
815
508
740
666
618
745
733
679
624
802
602
803
599
487
697
690
422
560
545
762
587
620
491
654
504
430
576
531
567
510
535
709
666
459
782
764
775
537
791
539
474
806
421
428
493
594
697
738
572
446
645
673
711
490
595
482
441
517
423
611
645
619
477
671
643
730
669
682
515
595
630
727
425
498
771
795
472
536
788
438
752
424
485
784
524
543
423
754
436
447
703
699
540
498
575
448
529
623
441
646
561
805
688
429
676
676
473
477
746
466
700
738
750
556
679
575
805
621
666
477
652
734
547
435
714
531
690
757
647
657
713
651
610
463
465
765
500
469
479
560
778
548
431
612
422
528
769
499
558
585
463
817
629
811
461
575
672
678
742
764
545
704
590
808
749
420
655
763
461
532
624
701
801
767
498
472
643
765
563
704
614
667
781
476
427
538
556
605
591
637
610
787
779
784
556
700
439
661
547
686
445
512
536
717
498
515
797
725
574
580
529
695
795
474
595
634
744
572
600
777
522
563
778
507
786
499
428
527
778
474
511
778
595
817
702
809
572
470
566
528
617
720
752
627
808
470
567
747
531
534
766
484
574
589
794
787
497
577
544
791
800
604
664
658
794
666
666
786
749
721
774
624
778
558
620
576
757
585
587
519
557
629
474
420
578
680
597
635
465
684
557
443
729
647
438
546
651
641
503
509
568
497
665
502
717
686
686
643
635
795
583
635
453
588
742
541
748
692
742
619
544
809
448
794
655
426
589
503
795
519
497
614
640
444
806
728
480
472
562
535
612
651
585
715
535
718
725
540
583
600
577
436
513
517
676
595
733
793
604
718
636
762
585
632
761
605
467
516
584
471
579
731
443
448
527
748
760
604
720
780
682
463
598
469
671
467
532
819
631
668
489
639
819
665
817
629
787
687
600
583
755
467
796
665
584
686
760
674
447
674
458
569
420
451
688
540
804
481
558
575
767
776
462
746
760
718
815
671
440
593
670
434
454
781
726
521
497
442
627
560
817
738
531
757
736
756
484
625
702
643
435
537
807
637
726
453
552
636
647
656
642
611
693
499
785
650
589
812
812
518
473
634
648
610
423
466
754
759
512
728
486
448
493
713
696
435
649
678
567
770
777
690
744
671
763
447
763
670
801
517
678
620
565
501
426
813
709
476
611
809
502
526
459
617
773
771
590
660
713
507
590
675
586
451
428
421
683
458
465
479
778
638
748
434
452
507
787
554
497
780
510
617
686
735
438
660
539
721
463
538
522
567
509
475
558
773
817
526
702
604
654
659
528
565
486
637
627
569
664
803
601
493
712
643
457
737
528
455
806
540
713
681
739
670
718
671
453
536
779
809
452
708
506
751
752
526
489
774
769
573
558
501
621
425
623
760
604
703
631
569
724
527
718
424
509
608
545
795
488
552
756
703
631
720
695
684
562
545
545
607
464
795
474
741
547
461
608
493
603
528
512
538
774
632
579
566
443
558
467
818
505
674
466
719
708
545
435
577
591
501
777
731
453
455
761
767
530
553
779
472
686
514
563
634
755
693
668
586
467
639
755
638
701
817
488
592
459
506
495
787
632
635
648
683
808
599
616
420
588
530
666
607
798
634
441
601
796
563
425
500
508
633
511
532
511
505
463
674
550
489
535
769
546
493
486
552
548
667
463
557
558
453
445
753
605
727
577
566
744
494
689
437
520
481
718
453
563
627
473
772
690
521
525
542
546
573
629
520
643
701
756
555
816
453
421
436
509
484
762
636
450
635
462
478
612
589
724
696
515
441
749
666
723
580
521
685
787
808
537
577
794
556
661
598
660
781
437
735
515
801
812
484
468
502
774
511
489
652
621
426
443
684
742
584
566
495
451
490
686
701
582
619
440
559
443
503
670
499
703
673
716
434
624
456
786
732
620
754
809
722
649
628
700
540
634
768
761
819
514
583
725
807
425
793
439
448
739
782
793
760
584
608
614
452
539
451
511
507
727
795
572
725
578
554
431
536
494
528
588
660
531
750
699
805
686
429
655
738
697
680
550
648
599
571
542
618
475
504
649
689
623
654
808
805
746
595
557
687
716
538
516
792
716
594
560
557
764
622
485
590
504
628
582
550
691
430
527
557
599
779
517
766
448
502
715
576
633
688
625
731
539
543
496
611
698
647
736
563
532
654
427
763
490
551
772
461
589
543
675
612
626
530
748
488
728
617
576
461
511
701
815
431
648
520
815
755
513
471
587
628
558
686
650
659
527
585
518
541
592
515
529
703
740
559
435
527
767
437
765
538
714
512
820
617
690
423
752
574
513
692
750
624
794
459
428
601
645
561
640
563
762
557
491
451
728
596
509
500
435
512
725
568
430
427
442
576
735
469
561
579
460
732
535
807
609
710
467
468
516
513
512
649
581
555
473
539
808
719
490
572
608
524
552
446
688
663
673
448
512
591
717
469
605
812
547
447
420
675
784
679
482
431
701
664
653
786
502
531
684
575
555
643
813
459
583
735
665
815
699
808
491
575
617
454
785
747
792
602
621
650
421
624
547
674
457
534
760
788
736
629
431
604
666
557
472
479
641
539
521
428
637
656
629
784
449
541
744
559
558
461
506
587
586
505
788
452
820
438
614
455
450
718
661
628
640
602
568
477
710
579
475
460
671
723
515
582
666
763
545
703
666
642
618
806
656
556
697
446
655
776
610
488
624
692
736
652
737
658
490
669
539
743
785
565
515
587
617
627
682
625
748
639
638
465
636
456
637
638
442
675
773
780
790
593
795
625
814
571
612
506
467
736
629
465
458
442
575
640
766
448
750
764
674
735
791
608
696
706
496
536
690
469
726
701
469
423
427
757
448
665
489
503
682
694
486
427
577
760
517
740
509
739
520
578
553
662
524
495
730
592
769
703
462
433
488
617
728
453
706
490
475
778
736
470
583
757
699
537
712
556
623
575
526
681
477
776
785
678
615
428
601
509
776
606
535
498
452
529
799
562
459
444
793
541
718
687
592
444
484
685
523
677
668
689
562
451
575
794
801
758
695
811
680
505
444
583
471
800
626
765
811
425
448
674
635
761
489
740
513
585
814
425
471
545
631
777
709
581
725
479
520
566
810
606
658
789
462
426
472
511
815
563
543
511
549
576
742
820
779
553
482
591
498
798
425
465
650
535
672
530
640
582
561
481
443
554
764
654
470
528
531
774
431
763
788
485
599
586
632
671
574
790
511
560
545
551
440
427
615
794
521
669
572
468
787
553
425
583
570
745
574
554
691
622
819
622
458
698
444
692
762
552
724
752
800
648
707
503
785
765
755
666
703
699
509
486
743
769
570
674
640
706
818
648
727
626
623
748
540
680
547
456
798
559
682
566
586
687
551
722
482
513
669
611
623
762
473
527
531
516
805
435
809
806
601
778
636
604
693
708
616
500
522
680
563
455
479
819
764
456
485
767
582
429
763
463
464
479
553
792
636
420
572
669
691
794
453
682
545
769
689
742
447
799
606
467
734
615
756
701
707
672
486
439
583
728
528
533
800
786
705
619
615
793
535
456
727
760
622
508
744
691
664
635
616
569
793
524
457
651
471
806
484
482
495
498
492
739
800
771
572
671
664
760
499
738
622
731
746
592
785
746
695
564
587
505
497
440
609
611
768
740
481
683
650
664
420
639
818
499
774
670
696
724
444
715
756
498
769
542
560
583
469
550
753
761
498
721
573
547
605
684
510
783
559
804
643
636
701
802
430
588
568
766
552
713
768
508
488
820
519
760
747
634
561
423
791
781
426
559
704
518
727
747
801
695
427
612
586
476
484
671
627
506
591
762
743
538
641
810
504
753
771
451
647
552
742
525
543
752
547
772
470
567
440
481
571
426
467
814
493
548
731
656
739
614
728
517
731
469
813
596
787
617
784
638
588
602
794
706
615
820
804
666
642
804
478
555
687
671
751
664
730
556
779
453
432
725
709
664
806
569
520
559
613
721
567
655
605
607
566
447
543
735
585
469
433
519
651
565
532
613
703
576
540
729
424
565
557
620
618
715
690
454
722
489
440
688
493
753
614
733
696
474
691
530
752
659
571
756
482
665
734
443
500
716
627
754
703
498
531
522
517
523
725
462
446
546
718
647
802
692
578
589
625
636
508
553
433
705
654
768
685
700
454
653
710
657
700
615
754
652
779
441
530
620
488
684
537
503
459
682
689
575
784
642
720
819
761
553
758
538
803
573
755
698
759
497
561
741
610
620
560
805
806
648
552
767
547
565
442
445
466
599
713
475
499
779
473
545
533
527
633
592
514
632
432
433
478
474
607
522
530
800
719
765
794
528
464
512
801
556
757
428
665
720
448
772
683
743
636
639
634
513
433
664
451
555
807
450
608
661
645
453
819
778
692
609
726
550
652
515
686
654
739
454
644
535
443
737
739
669
812
769
539
678
618
535
676
437
666
462
638
454
525
471
606
585
795
778
737
455
784
783
740
451
751
505
592
512
560
706
777
763
801
507
608
651
789
671
627
458
721
686
497
705
694
551
659
620
546
650
820
489
710
465
784
513
573
673
606
713
529
641
764
609
459
502
572
427
713
462
550
483
658
815
723
425
722
527
514
818
465
635
801
430
595
430
743
790
756
511
685
644
604
532
622
672
578
716
593
621
430
586
450
478
765
766
536
695
687
564
801
638
597
786
736
803
564
589
734
642
717
667
550
752
694
649
574
521
611
773
422
429
798
470
765
713
641
737
688
544
725
578
425
693
447
489
661
559
742
764
777
672
784
531
631
593
712
499
466
706
615
656
549
666
797
567
659
515
481
593
651
523
677
629
686
579
632
605
582
727
438
676
539
455
476
717
459
599
708
698
795
585
739
569
525
575
651
533
549
714
750
425
462
752
772
630
677
678
795
583
806
732
530
820
698
699
443
573
650
571
810
698
785
644
585
701
608
688
448
653
438
515
681
770
452
430
694
768
541
667
708
774
608
768
702
813
590
680
598
565
606
421
617
787
602
624
426
596
753
601
740
583
617
723
704
533
597
462
459
740
594
650
663
424
529
590
492
571
578
430
820
630
684
649
729
670
737
612
465
690
698
678
796
809
689
488
487
808
778
473
761
462
657
429
769
426
635
675
806
703
737
588
766
679
738
674
634
781
710
810
420
560
574
779
585
674
712
767
803
786
705
694
498
422
531
545
685
580
696
751
686
808
505
715
608
564
431
442
445
814
702
740
623
708
606
675
664
481
762
792
571
656
776
449
557
536
430
702
775
675
590
444
439
608
701
600
703
476
815
516
741
466
691
553
772
569
491
495
477
458
476
485
604
530
678
720
649
673
561
472
545
515
585
459
609
760
496
800
546
594
590
654
428
816
647
495
460
784
788
600
611
515
472
708
698
783
705
438
659
674
429
581
744
564
648
818
524
463
764
442
704
440
537
780
730
572
714
726
705
653
422
705
620
613
687
803
708
460
781
588
586
805
503
804
632
774
679
465
789
718
668
462
705
575
508
806
734
557
711
795
700
817
811
450
650
471
780
753
574
629
707
637
657
632
508
576
758
787
802
708
423
473
445
454
651
652
800
615
527
555
809
526
814
699
507
500
724
620
759
708
466
451
590
657
473
605
702
525
441
732
649
518
786
481
669
706
641
720
720
731
494
640
798
591
625
803
505
766
542
816
622
759
795
670
642
538
552
752
649
595
614
667
514
551
732
429
678
794
669
490
467
442
721
801
544
740
548
643
714
780
583
462
545
552
551
800
750
750
422
645
540
508
680
461
745
439
766
505
811
525
451
794
653
549
493
437
557
640
681
775
580
628
737
544
484
529
584
711
555
668
498
428
520
463
799
695
632
657
547
574
561
570
524
600
577
619
716
719
428
479
799
708
490
756
671
722
804
732
537
545
615
734
547
451
631
568
775
577
600
616
724
765
642
632
549
522
780
532
779
641
812
612
748
654
804
616
505
633
489
486
467
762
641
696
438
721
552
765
628
808
545
585
675
433
433
559
700
683
552
802
633
818
436
567
665
634
464
705
516
468
581
426
428
804
500
558
655
578
461
500
563
627
781
659
761
720
467
649
622
698
781
770
705
458
546
445
760
605
745
423
459
804
711
448
687
590
554
796
617
721
710
609
551
787
484
671
478
606
469
690
681
536
561
603
643
451
519
447
787
560
736
564
586
689
423
625
449
817
538
676
429
475
539
682
619
668
633
716
800
528
518
666
447
732
513
805
536
751
632
529
453
611
488
560
560
738
479
484
723
687
713
420
445
656
610
644
749
747
775
440
634
446
705
664
562
666
449
753
738
531
461
559
537
592
590
695
614
517
540
738
512
424
733
714
446
684
635
658
433
659
611
649
705
660
562
560
465
430
518
729
776
714
769
816
436
708
626
748
431
568
720
651
753
633
459
483
446
423
601
473
644
424
619
663
433
715
819
473
476
466
731
785
516
752
514
692
531
610
590
795
807
651
655
622
496
506
561
605
598
465
488
667
610
592
795
572
445
624
512
812
472
481
794
661
805
629
575
664
469
719
663
481
776
771
800
809
568
600
542
625
699
680
516
815
471
623
572
768
521
439
434
465
620
780
734
477
471
566
581
668
671
554
494
675
478
541
512
774
430
593
568
806
578
715
474
719
452
637
731
775
815
453
596
748
571
607
661
656
668
524
470
586
622
764
592
605
538
488
772
710
690
527
501
612
806
731
773
500
811
451
542
553
506
708
628
747
701
536
636
575
771
433
438
490
641
714
782
503
773
701
584
521
423
487
469
604
503
437
615
685
427
453
804
601
452
541
716
611
575
430
613
785
564
730
528
764
443
535
661
468
703
457
502
702
758
519
545
645
425
440
630
723
820
571
465
523
769
648
643
609
488
743
716
501
527
597
677
577
624
766
440
613
657
751
668
632
647
519
645
435
445
586
538
737
683
629
421
503
581
453
487
664
724
708
454
698
436
737
692
702
725
741
751
768
642
665
729
525
734
474
703
547
425
614
805
751
443
669
723
565
459
501
440
795
809
815
751
804
559
675
432
655
505
550
808
605
463
468
425
435
703
780
445
569
694
529
795
693
578
766
679
503
807
671
616
761
554
644
544
703
496
714
657
603
719
611
486
599
586
524
493
435
549
647
569
642
444
599
725
734
485
430
543
815
776
643
522
535
732
478
779
564
429
453
497
700
498
729
754
627
735
551
551
443
603
559
577
642
694
485
513
658
463
759
521
550
495
627
632
527
514
746
725
442
502
570
473
636
504
671
485
797
530
443
625
452
490
676
663
674
542
578
615
635
506
669
517
421
799
637
494
637
478
515
697
733
602
520
734
650
510
561
760
567
735
547
671
516
743
619
773
433
751
474
771
572
425
615
741
534
518
751
425
661
668
770
452
495
781
473
448
801
698
594
528
608
544
493
606
597
646
489
587
551
523
599
448
696
553
754
428
653
601
421
660
648
690
433
493
569
697
526
554
637
459
540
594
698
764
734
562
715
786
498
742
624
578
598
588
641
772
470
774
696
611
675
694
469
759
636
432
634
791
541
631
658
577
679
421
789
430
716
655
592
580
557
730
446
441
819
444
528
560
809
732
476
528
438
707
502
521
608
739
641
765
492
792
573
683
667
749
702
756
504
658
613
671
445
543
455
731
770
615
622
696
500
712
781
805
639
782
723
613
572
665
686
492
437
739
514
690
783
441
698
732
544
574
623
654
737
630
694
597
445
659
799
790
505
553
445
465
793
519
512
535
554
618
803
420
436
589
724
555
809
686
559
768
547
522
679
467
705
723
509
812
791
746
815
476
738
451
514
446
589
497
770
800
482
421
478
786
720
607
444
628
462
763
574
449
764
762
518
663
727
730
486
674
650
519
776
530
595
529
771
698
714
666
773
805
650
698
485
729
785
712
518
588
808
725
456
495
785
637
546
490
444
745
605
629
723
722
816
567
458
737
508
701
436
622
500
724
656
525
573
673
450
568
476
529
807
497
802
656
655
565
450
487
714
686
442
670
472
720
683
621
439
640
720
657
575
572
805
480
569
714
733
550
460
679
629
564
572
562
717
655
534
465
493
438
557
517
628
456
434
499
789
472
491
692
613
420
590
454
605
543
496
515
740
669
600
792
761
465
448
529
595
660
743
439
755
454
678
486
486
631
478
526
580
496
506
454
449
558
748
814
803
645
701
761
656
516
724
480
634
446
458
742
815
700
426
731
525
808
717
599
453
649
720
694
561
794
541
519
629
529
420
630
451
695
599
613
595
487
550
628
576
550
536
715
778
583
499
543
795
699
622
778
579
761
651
559
804
547
762
468
493
639
511
429
455
440
706
703
757
563
776
502
720
427
790
754
451
622
622
622
459
738
698
757
639
755
640
517
659
815
431
465
743
485
516
716
467
561
441
652
756
611
565
509
545
524
734
440
521
494
603
543
758
817
738
549
692
815
611
732
535
495
776
806
636
524
455
618
760
555
665
575
420
465
598
749
813
476
626
487
627
798
638
820
695
752
620
659
519
711
595
574
508
790
796
633
657
757
513
454
725
777
658
681
509
439
574
735
572
495
719
794
726
674
734
484
619
767
627
785
497
733
538
803
485
756
466
684
506
738
537
687
454
649
486
777
677
773
605
782
775
543
576
423
474
708
421
756
498
730
797
458
549
451
626
713
695
817
438
579
559
430
711
574
728
454
462
526
624
673
731
805
627
808
563
771
670
472
609
654
533
586
578
676
745
745
760
765
640
785
621
440
689
482
684
599
768
564
715
782
652
776
434
567
713
420
782
706
573
662
480
491
721
813
429
628
745
572
736
650
745
813
722
421
521
618
725
629
520
535
811
638
707
570
609
439
548
422
577
740
710
453
713
466
504
469
446
743
751
457
512
471
563
429
713
728
609
518
788
618
520
566
790
553
644
703
726
612
435
480
730
729
453
432
435
765
424
773
459
525
463
466
493
787
635
794
799
595
501
734
428
561
712
701
496
647
582
497
811
757
775
631
580
486
590
759
547
488
693
757
546
671
666
574
742
663
504
664
495
776
531
707
606
526
710
578
451
473
663
756
696
429
467
487
785
483
766
443
585
737
642
468
534
425
496
573
819
674
562
720
746
765
750
428
694
482
549
633
752
777
793
472
602
612
603
512
601
544
601
684
758
730
627
578
728
629
581
698
521
716
488
434
562
588
559
618
503
745
688
727
643
768
652
598
545
690
648
473
814
491
508
643
800
747
690
467
455
729
727
636
551
790
503
535
815
469
662
688
756
473
611
619
520
455
575
702
528
596
722
765
709
666
628
814
427
464
766
766
530
648
708
738
816
748
710
515
692
456
467
722
601
434
576
487
565
622
501
478
475
766
665
765
725
735
639
620
473
554
712
551
625
442
454
484
801
765
586
801
545
814
509
798
531
457
613
644
610
615
677
686
655
741
433
603
609
550
783
757
526
614
601
521
601
476
755
801
591
728
788
660
640
666
681
800
485
498
450
740
671
648
502
561
537
605
626
654
782
678
444
461
707
691
807
691
525
627
657
708
626
602
631
497
800
813
534
557
622
705
663
652
577
436
581
497
646
565
780
591
508
801
471
792
459
638
782
744
682
674
450
585
673
633
724
635
650
774
639
723
703
423
480
782
539
811
694
501
635
514
667
597
482
689
589
483
569
576
431
511
818
460
691
543
711
737
577
762
750
616
549
641
651
567
498
644
502
682
506
748
791
735
519
612
471
513
720
639
517
796
657
494
507
782
763
780
775
528
682
669
732
535
699
693
668
790
492
773
724
805
750
498
732
505
779
499
608
444
631
653
567
687
599
649
500
443
432
537
479
615
622
420
615
533
688
759
775
560
697
440
695
783
433
717
790
575
576
648
619
723
678
575
443
797
634
675
422
694
726
799
505
664
478
463
506
616
738
439
647
536
570
507
789
437
723
681
795
601
508
477
443
511
703
702
496
547
463
454
586
817
667
483
445
596
611
477
785
460
514
763
580
641
761
562
569
814
774
701
588
515
688
761
790
774
610
739
809
587
756
508
556
802
752
567
641
739
686
716
425
774
470
644
452
757
742
752
630
461
702
789
688
753
474
724
462
593
544
439
451
513
773
746
624
488
770
431
434
769
748
527
715
699
588
422
512
642
633
489
590
633
619
598
481
634
458
480
758
507
569
658
433
483
608
760
474
693
495
677
578
781
685
513
654
514
439
447
424
641
503
613
536
540
551
667
506
469
742
438
804
580
465
608
583
765
432
735
760
486
506
717
501
644
447
648
612
784
725
666
531
453
446
425
774
526
535
453
585
581
641
692
528
804
718
687
770
507
750
749
700
811
543
799
534
678
445
542
599
494
674
676
613
775
461
609
483
746
497
660
701
423
573
653
702
745
622
529
755
782
639
505
708
546
597
765
475
469
594
566
792
466
776
495
682
622
455
745
679
806
646
631
565
795
715
529
469
618
814
601
605
586
529
535
817
549
557
771
657
429
448
762
534
465
462
740
656
487
704
817
505
785
482
707
758
650
492
453
798
586
434
538
672
465
725
500
637
576
713
599
754
727
564
613
428
819
763
681
758
698
795
720
688
800
430
811
463
690
446
449
421
561
696
585
683
593
588
597
613
692
724
744
553
674
431
645
791
658
522
614
794
549
420
646
486
463
739
422
580
784
641
588
478
468
782
554
468
644
608
751
557
611
723
680
551
652
565
728
754
433
727
774
740
794
748
452
644
573
678
685
489
779
572
706
467
463
553
790
645
744
583
693
675
440
641
643
709
481
638
724
809
623
459
443
457
461
666
619
687
671
429
650
527
533
747
577
539
517
681
502
491
798
507
668
601
660
524
593
681
667
613
454
515
722
487
667
512
715
521
716
601
667
685
470
660
792
596
805
715
496
484
696
578
679
732
436
452
522
500
770
683
452
687
818
609
445
488
756
795
668
577
512
433
663
460
541
674
588
536
635
571
672
592
462
817
678
646
474
509
601
536
581
619
814
776
725
607
719
560
612
725
816
820
434
527
787
665
747
756
730
437
684
626
690
422
666
597
712
641
530
623
562
606
664
769
488
664
682
769
476
617
818
506
806
692
686
696
628
612
433
793
534
631
468
806
811
713
819
685
772
477
504
762
818
685
575
577
577
605
524
681
694
732
758
818
739
459
793
755
458
456
477
744
610
789
740
461
463
797
803
508
677
613
782
554
541
722
490
465
690
625
731
783
606
527
791
470
553
540
760
614
628
657
591
683
612
612
632
758
771
774
427
473
813
658
435
445
799
657
472
768
430
455
517
518
677
784
753
767
801
543
734
424
724
710
686
602
546
531
438
515
495
734
783
475
609
753
632
541
656
664
607
659
602
575
631
659
594
602
470
503
446
668
552
530
820
608
458
650
629
553
696
800
613
607
783
423
810
660
569
624
444
609
643
727
772
675
784
694
742
608
683
552
682
671
797
643
527
561
637
549
586
674
722
683
636
489
732
516
598
469
602
812
431
425
570
513
673
650
511
423
484
474
766
689
814
716
703
677
514
573
585
758
764
783
689
496
692
543
642
736
450
504
791
619
583
500
809
788
574
729
676
443
683
442
433
686
532
627
636
514
749
771
810
482
667
729
752
630
770
532
490
601
792
622
658
805
747
503
539
689
758
456
672
756
814
510
680
601
724
667
762
741
715
591
808
600
815
517
737
698
625
794
608
649
696
758
705
531
726
816
596
503
740
515
508
488
787
421
473
749
667
790
619
711
574
533
729
627
617
673
804
466
496
685
768
610
578
749
625
737
816
509
446
726
794
504
627
690
750
741
806
428
464
796
554
711
579
505
735
422
661
735
710
484
771
594
644
476
648
679
508
555
804
536
512
655
518
746
519
813
432
685
749
702
435
527
601
470
423
455
427
444
531
758
520
784
671
432
640
556
426
608
642
787
490
531
654
719
519
447
575
781
757
613
539
580
508
642
613
572
476
720
713
627
476
539
534
618
593
740
495
559
804
567
808
424
610
569
739
780
694
783
615
743
488
800
806
607
584
736
741
422
482
768
557
468
491
653
807
447
550
692
652
448
611
706
426
506
713
605
669
711
646
780
465
782
715
493
764
465
665
544
549
549
690
751
731
544
591
631
469
431
632
811
529
448
564
578
641
460
580
723
443
725
456
462
734
558
618
468
698
533
620
431
476
727
481
647
590
756
678
621
716
610
479
582
547
539
675
469
480
816
710
452
771
536
810
623
464
617
528
811
750
550
517
664
699
679
819
620
422
794
448
706
423
794
811
489
431
637
627
509
776
813
812
606
523
559
465
786
676
722
819
686
470
738
505
804
519
468
579
522
550
592
487
529
495
590
658
480
430
547
461
681
533
524
458
427
773
547
506
789
696
803
520
710
785
543
630
651
582
778
536
805
495
693
559
548
691
468
610
738
423
820
805
598
794
672
804
620
720
760
540
553
638
815
643
529
728
678
687
657
472
722
648
497
470
458
477
576
634
713
500
666
586
432
538
730
513
491
816
765
796
703
628
456
745
595
751
816
694
813
641
721
538
466
795
812
460
487
530
719
437
769
739
766
674
476
622
449
700
768
433
699
449
619
553
723
621
454
789
661
640
593
537
594
620
542
699
429
647
441
489
499
778
715
804
504
436
475
452
478
605
713
506
794
744
625
812
438
648
660
448
732
774
587
490
753
817
653
447
528
553
638
748
572
576
666
558
568
457
567
565
732
573
813
541
770
663
446
761
504
437
801
593
580
532
645
695
582
581
490
518
658
648
801
444
795
582
594
609
524
713
575
807
516
426
787
778
684
511
671
489
523
531
576
543
519
446
634
521
737
503
479
495
489
648
757
748
786
447
513
575
792
458
611
557
514
812
605
799
568
589
651
538
686
776
686
478
499
814
732
688
521
467
529
621
643
820
799
705
739
716
716
557
498
500
789
729
517
738
584
780
676
820
589
727
507
597
646
645
546
773
674
664
759
705
752
623
732
593
764
701
559
784
629
760
777
421
467
457
698
749
800
531
662
665
464
427
808
713
723
442
730
736
453
749
664
715
476
442
591
582
591
702
796
787
567
754
808
555
426
664
744
815
770
587
731
465
649
633
800
595
665
539
576
502
696
733
631
506
578
655
431
818
575
789
482
668
784
429
439
560
673
776
748
473
642
498
794
640
759
568
752
508
582
455
481
464
755
539
635
717
721
515
801
615
773
448
545
800
770
790
501
733
680
804
756
805
650
679
768
773
780
532
664
561
437
642
507
648
537
534
692
689
672
604
555
722
730
443
776
804
434
774
448
431
709
535
580
450
764
461
520
530
455
586
663
664
531
493
759
547
460
807
529
779
725
430
574
586
498
747
742
626
476
609
759
737
722
514
494
486
719
691
473
423
814
570
657
775
812
747
652
696
558
443
624
429
769
509
713
644
563
800
508
493
819
793
774
797
562
583
478
527
422
465
484
555
562
763
489
590
482
731
670
659
624
751
491
520
602
474
680
627
795
606
612
466
452
658
453
772
494
531
496
783
665
469
686
620
521
814
717
773
732
607
709
689
555
726
668
565
512
759
487
675
572
537
536
668
729
637
774
729
718
751
629
620
789
467
422
729
784
451
645
480
491
545
775
429
500
558
815
773
653
455
423
464
737
529
582
552
528
698
580
743
611
551
711
642
446
663
678
511
811
530
433
703
615
666
708
511
632
606
751
562
496
820
666
529
452
640
421
745
481
512
454
479
460
559
772
758
494
550
520
780
553
798
620
543
731
505
507
795
786
763
594
690
630
445
674
546
556
454
504
793
772
520
565
454
763
787
437
458
422
594
718
634
544
521
680
726
437
803
519
677
820
477
664
677
432
516
516
671
793
654
548
506
433
691
575
637
513
546
586
697
758
593
457
483
506
807
614
713
521
521
739
767
550
793
640
574
461
604
591
432
784
660
803
563
446
699
489
721
652
815
471
614
742
580
578
755
563
425
738
527
625
495
631
693
808
449
625
795
648
753
778
676
731
524
803
542
502
653
685
503
587
549
744
421
620
624
751
625
722
478
451
519
756
580
420
582
648
492
810
712
585
781
702
519
430
489
605
522
627
744
623
743
679
536
697
512
616
660
766
707
478
812
712
485
773
679
436
626
815
572
570
641
423
439
671
445
540
650
567
437
625
787
525
471
761
583
654
760
562
722
646
765
438
646
794
816
440
619
688
606
445
658
535
512
729
643
634
444
625
798
477
779
553
788
609
693
744
819
464
741
601
602
572
658
719
607
639
693
628
731
600
646
540
708
512
541
628
578
576
553
470
612
543
647
438
607
628
707
585
448
449
584
744
584
758
433
566
816
441
429
666
594
655
676
487
463
644
815
476
573
570
727
584
518
533
722
734
582
759
749
734
472
718
628
434
687
602
433
756
706
445
720
424
557
741
506
704
633
431
436
518
448
735
677
615
776
765
708
709
471
751
422
553
624
492
616
820
727
580
741
693
693
512
747
653
514
515
731
476
524
604
714
472
537
638
604
514
689
711
564
488
667
568
496
760
517
459
503
603
497
473
786
807
757
493
734
544
763
689
775
566
621
803
485
533
799
637
474
541
741
616
656
443
541
462
794
595
517
760
795
740
465
701
534
816
630
479
668
766
707
807
651
800
780
682
437
748
459
487
819
543
451
799
741
702
799
464
523
429
557
820
540
497
558
783
695
441
462
792
659
520
540
517
442
427
681
427
722
713
557
465
757
704
787
653
673
631
630
794
611
630
571
624
490
654
626
481
490
726
729
664
670
719
530
626
652
741
808
659
477
452
707
596
637
472
555
762
748
805
699
523
423
591
514
600
781
607
778
461
773
447
533
471
438
787
438
685
610
624
764
614
794
420
483
617
783
453
775
780
817
718
672
769
748
677
643
580
694
611
559
435
717
454
543
549
614
751
727
546
552
787
526
671
557
601
446
589
546
514
613
496
638
814
507
452
518
585
447
467
434
700
615
428
432
440
509
721
673
691
813
527
620
808
676
709
440
631
730
575
506
743
480
707
427
507
803
525
444
621
530
596
654
588
620
689
753
800
639
559
699
619
700
558
809
754
788
485
529
546
472
523
488
551
760
466
780
628
489
432
718
812
664
661
537
472
779
716
652
745
793
465
496
581
542
671
639
520
482
431
819
768
475
564
473
771
775
548
608
734
689
817
559
530
509
432
731
784
797
612
678
517
564
538
779
642
558
460
754
800
598
461
447
785
641
430
795
524
678
526
498
484
745
798
803
433
576
769
505
539
643
462
663
675
630
773
634
634
588
630
496
754
475
514
557
641
781
623
447
672
772
638
733
540
787
727
672
691
576
782
659
578
664
719
440
578
724
749
677
422
626
475
582
624
568
632
506
683
786
781
585
515
767
618
728
453
534
454
504
544
536
613
741
745
808
657
468
621
597
512
753
606
547
626
504
683
796
810
736
542
561
488
817
684
734
662
552
613
490
497
566
816
600
510
706
742
613
603
767
755
510
619
798
709
675
526
708
570
519
705
583
607
421
516
687
682
710
701
453
477
475
433
716
654
499
524
806
807
566
591
462
636
678
456
641
568
665
435
784
441
584
617
746
651
777
692
693
661
661
612
792
684
537
470
449
644
489
582
791
550
692
425
471
588
561
675
421
751
648
801
491
737
804
610
520
764
744
480
516
732
627
444
692
536
730
586
713
781
637
495
513
498
662
580
802
576
435
664
529
740
441
501
580
753
819
620
592
571
819
681
497
638
524
560
431
642
771
616
522
766
696
774
789
522
440
647
546
764
508
720
665
730
603
760
595
748
726
702
673
507
663
775
620
573
752
674
726
455
559
422
479
724
596
470
705
530
745
727
536
489
749
709
540
505
701
618
697
664
503
477
625
462
683
476
702
760
720
504
754
747
423
728
559
731
540
775
610
463
547
551
472
487
522
658
421
622
651
804
461
670
432
657
751
473
761
647
490
753
528
459
511
482
783
629
562
425
431
725
722
604
540
788
780
734
724
501
624
445
799
622
462
797
434
701
775
627
572
631
792
596
543
662
813
758
732
486
520
479
627
601
492
659
517
799
546
444
796
621
622
789
814
791
755
799
585
560
495
523
539
447
643
759
669
434
673
682
812
688
743
605
747
457
658
750
636
808
512
754
728
531
687
459
600
550
623
737
499
735
442
780
692
596
608
686
631
467
701
493
619
689
510
498
607
801
766
556
425
508
685
782
629
534
736
790
614
453
423
590
704
737
791
436
646
549
817
641
817
631
671
732
648
445
816
598
629
773
593
521
615
422
788
522
588
604
650
510
612
773
653
699
656
494
555
548
796
772
676
452
645
703
422
577
602
632
682
688
479
704
638
440
672
819
506
658
621
699
536
790
731
511
648
799
533
670
801
754
803
637
469
752
420
544
530
601
666
775
557
788
536
491
645
540
437
792
446
533
717
462
670
581
744
489
465
431
725
605
420
586
651
706
762
749
752
729
451
469
490
642
595
724
669
498
484
759
736
488
782
542
724
687
627
608
507
638
726
642
728
744
695
789
771
570
562
616
529
656
804
771
502
612
592
790
652
565
623
688
708
710
664
576
657
574
635
421
785
426
723
460
587
760
559
478
809
769
730
807
490
707
546
692
621
818
737
466
689
486
656
764
623
756
693
692
520
562
658
599
703
661
433
536
604
598
619
622
774
490
547
697
749
482
538
493
743
436
740
448
697
494
530
500
762
814
798
688
439
633
691
645
531
739
567
645
469
741
676
445
464
549
647
801
526
813
619
470
705
775
772
738
579
518
511
612
543
772
682
624
605
584
598
534
444
512
514
484
807
813
466
806
513
503
634
699
658
736
709
648
819
566
436
473
703
574
678
658
734
517
622
675
462
724
615
427
571
703
600
573
612
610
760
760
648
799
604
567
771
750
478
707
499
523
722
737
538
651
696
682
782
769
569
455
813
602
603
433
728
720
804
538
456
522
749
803
634
437
584
475
536
445
644
601
781
469
725
731
589
656
565
667
646
670
446
720
463
533
613
547
538
598
779
787
554
482
493
563
430
724
798
797
699
723
644
695
628
553
756
686
521
455
451
458
518
714
781
647
739
792
639
627
616
481
440
726
495
534
788
788
808
750
435
758
717
589
492
460
739
609
444
422
441
818
576
806
490
652
647
736
723
644
744
698
605
515
797
759
713
439
550
645
637
600
789
608
434
539
759
493
736
622
605
570
473
817
455
626
770
691
741
522
790
519
655
528
506
762
668
628
631
490
550
729
708
590
617
584
623
683
574
793
660
790
645
648
804
429
552
766
537
584
634
780
697
559
649
443
667
542
691
757
773
500
536
601
442
539
659
692
427
670
678
754
759
546
432
593
455
611
732
706
578
706
732
577
576
520
518
502
675
526
814
634
445
434
423
816
624
540
730
594
728
513
817
636
731
598
605
792
752
663
703
422
747
766
805
749
635
748
557
729
504
574
688
488
744
742
739
545
735
716
653
426
635
420
797
811
586
795
476
617
637
700
818
434
732
610
602
689
449
614
455
580
672
768
627
624
432
727
743
561
705
560
771
439
550
816
774
770
448
685
774
513
788
556
711
564
515
483
470
809
450
794
741
816
658
809
451
443
421
555
701
429
763
487
458
783
723
544
457
720
736
749
707
817
501
667
525
549
660
507
477
481
538
484
539
491
505
499
717
735
465
462
740
814
792
592
661
716
630
616
645
651
634
563
667
734
751
592
586
804
751
524
597
423
739
474
648
648
616
734
552
664
641
715
781
643
687
489
504
554
465
700
515
818
466
515
635
455
781
644
752
475
722
619
574
677
735
463
781
689
554
660
438
498
604
747
749
476
482
522
763
534
585
516
551
572
511
711
770
561
688
461
732
772
592
617
765
653
498
589
447
645
718
558
817
537
724
758
659
775
569
428
496
440
439
739
423
610
437
551
579
774
676
469
509
435
503
734
736
425
551
736
667
541
631
559
779
603
560
519
670
504
693
740
617
672
628
531
803
622
716
748
484
583
536
728
676
476
554
623
508
656
646
560
475
734
541
609
543
755
770
749
595
553
506
470
766
788
802
541
668
648
544
435
807
684
507
440
478
543
497
450
733
463
652
574
446
472
791
561
668
602
555
571
763
598
607
623
721
805
803
583
654
712
429
579
711
641
462
606
717
784
790
611
552
515
772
809
467
639
466
531
727
501
532
420
466
557
438
756
720
562
478
491
668
813
784
738
750
486
585
814
571
745
423
643
472
634
725
796
561
569
730
590
643
725
446
734
428
459
713
528
487
594
743
651
734
647
736
589
793
599
633
780
561
568
657
573
710
520
486
661
621
787
624
778
729
738
715
557
817
628
515
631
605
671
651
455
690
715
631
491
704
634
606
581
589
765
678
458
500
483
673
584
525
481
725
610
451
696
563
423
473
615
498
626
652
577
523
629
650
641
605
471
712
579
596
501
665
737
816
778
560
706
492
458
707
462
437
436
631
472
525
809
751
740
565
685
668
559
687
817
671
660
435
760
554
736
689
695
497
727
808
792
697
442
793
798
662
563
800
714
659
620
633
755
524
778
781
585
671
549
510
532
790
720
492
647
714
539
704
721
563
553
596
663
673
805
600
568
672
813
504
454
754
562
724
469
570
709
658
584
755
559
813
718
734
716
738
742
584
709
421
572
592
422
435
426
657
760
544
519
743
441
806
785
674
761
820
453
624
616
508
602
637
609
559
811
666
741
738
673
644
747
636
769
512
635
436
482
681
602
708
493
497
471
808
687
467
805
510
464
519
533
699
547
688
439
642
524
757
423
744
630
694
706
575
788
698
496
700
447
656
671
572
637
622
722
696
527
733
778
445
750
663
571
600
449
625
586
788
491
445
653
597
752
792
540
664
552
534
565
731
763
748
530
438
668
530
618
543
513
753
703
669
538
745
777
761
573
577
719
740
741
649
685
604
754
428
759
529
768
687
570
726
687
449
806
545
632
562
704
739
754
526
606
759
760
647
645
767
784
445
444
543
722
515
644
813
778
773
676
557
646
628
741
608
472
491
619
715
562
446
655
642
631
477
760
428
536
648
776
546
520
706
716
770
638
449
651
629
633
644
798
624
733
819
515
790
546
653
695
683
646
434
464
789
774
736
629
625
551
621
430
782
640
637
748
501
452
697
615
548
806
752
473
566
684
547
663
578
540
471
600
438
684
661
780
630
425
502
753
809
669
605
795
649
773
734
687
709
646
735
470
760
436
503
492
618
501
747
747
664
600
548
656
456
726
494
743
660
718
688
680
759
719
443
653
491
693
716
500
447
650
673
642
525
485
640
681
425
556
727
436
571
767
618
623
590
480
651
478
698
470
709
420
448
512
644
757
580
698
470
586
437
522
583
628
662
705
511
599
792
725
720
528
655
485
641
446
529
733
643
712
659
547
492
524
489
737
492
596
627
547
591
572
818
440
489
794
595
673
750
539
469
681
666
425
743
739
470
427
778
646
564
458
617
526
447
744
750
458
515
813
589
678
588
586
751
637
583
422
640
700
794
462
784
432
675
573
475
702
629
546
750
579
454
715
517
720
610
664
817
817
664
604
652
818
789
509
494
538
675
735
634
771
720
771
787
778
701
439
733
657
785
775
706
503
693
475
701
577
489
653
776
776
675
755
660
658
578
575
527
706
458
483
516
620
588
645
601
765
730
646
514
599
492
722
474
593
743
606
561
710
807
797
568
566
434
769
429
620
759
591
804
640
793
441
540
581
590
513
797
704
771
686
526
701
477
489
448
542
441
661
772
444
517
539
563
561
665
523
492
742
538
629
565
726
778
581
811
474
470
667
680
491
441
431
771
518
475
635
721
470
740
465
591
749
717
680
425
641
569
572
812
539
610
807
420
441
785
474
453
534
724
806
646
776
504
753
708
456
808
743
737
475
511
533
522
584
802
509
765
489
442
508
477
445
708
678
766
678
639
815
657
425
811
750
654
424
440
757
757
526
524
791
514
595
700
449
629
765
714
460
737
808
479
685
749
799
455
744
616
756
739
489
512
797
720
810
576
618
620
434
474
738
656
737
705
487
687
488
648
633
761
715
447
738
520
520
429
809
693
765
566
677
527
672
606
524
523
516
526
552
658
551
774
681
541
468
510
616
469
725
768
605
451
503
497
563
711
737
658
715
492
736
770
511
428
812
734
572
664
510
776
564
627
698
631
774
691
729
666
467
544
721
501
584
625
463
688
441
629
580
467
535
547
705
729
584
481
716
703
481
817
422
621
432
776
519
712
662
787
731
523
782
624
606
551
459
553
462
569
446
643
619
529
775
796
602
466
545
783
520
531
717
570
563
480
557
722
448
605
599
631
753
718
483
716
802
657
589
557
641
566
502
745
591
529
775
521
468
483
576
574
494
795
512
614
481
550
638
468
780
468
524
585
625
805
682
480
623
804
586
514
625
465
421
711
462
700
659
694
518
666
615
812
420
467
554
477
717
604
510
814
686
730
730
739
572
625
648
778
769
622
552
626
797
671
562
571
465
727
560
713
764
782
628
668
536
779
441
432
765
681
692
751
771
549
781
529
788
495
492
548
473
669
478
633
816
489
813
773
718
594
424
476
691
431
780
774
646
664
724
610
588
563
797
659
517
482
605
631
671
804
771
675
684
583
638
527
679
786
772
618
611
657
767
684
680
735
810
572
645
671
485
436
615
499
426
670
687
427
633
441
726
564
749
421
778
582
688
437
445
539
589
569
476
421
693
452
714
779
608
434
482
532
739
689
432
750
805
756
426
491
687
637
447
627
576
706
465
663
744
809
504
425
706
762
473
616
807
440
685
638
538
701
781
505
708
740
625
674
443
708
790
443
506
434
544
530
743
672
547
528
587
521
646
812
544
547
447
523
651
678
681
619
758
497
818
662
549
506
733
643
611
574
781
571
735
778
457
589
644
598
633
646
659
724
695
585
685
648
500
709
492
614
651
486
814
754
797
608
695
748
486
721
692
512
681
759
517
591
684
798
601
677
517
632
536
526
468
516
466
478
529
429
618
616
452
477
680
592
647
494
478
717
447
648
611
667
782
522
542
511
733
811
422
712
774
454
790
782
665
798
813
667
481
514
684
583
435
737
470
461
791
675
584
529
507
709
652
749
806
802
808
744
608
566
611
605
488
814
541
806
532
600
628
561
625
698
762
811
709
501
685
652
702
735
805
699
724
658
804
696
487
680
777
664
502
603
616
735
629
735
778
579
583
685
680
530
655
764
656
785
757
620
436
472
529
683
509
619
648
440
665
455
440
569
614
532
711
691
623
577
569
784
767
681
485
508
795
491
737
535
806
530
678
802
758
740
515
687
735
674
511
717
665
771
474
775
602
804
744
554
552
682
621
470
749
647
656
449
568
761
434
767
583
600
708
810
583
713
590
605
740
713
425
780
750
766
525
814
508
617
582
698
490
739
569
806
495
743
698
750
527
725
606
742
657
579
731
759
788
809
474
752
473
492
434
651
449
462
528
723
508
494
796
806
699
560
777
752
423
588
421
557
439
675
553
435
490
795
466
484
798
420
560
609
667
507
464
442
638
751
466
768
722
542
567
650
469
655
720
469
811
692
578
737
507
517
549
447
601
455
487
550
744
464
537
581
584
686
722
747
459
571
452
515
708
613
638
462
560
546
645
557
749
433
499
426
692
514
454
457
460
764
715
484
549
628
557
541
454
669
539
728
546
693
587
784
464
545
602
541
766
534
755
678
739
819
654
446
671
766
717
798
790
676
458
795
674
792
595
469
692
577
547
464
625
553
814
481
752
627
537
615
630
813
574
793
549
800
771
744
509
420
424
734
518
627
755
576
704
512
437
576
515
671
630
654
530
707
441
619
587
786
696
435
685
602
647
653
492
553
649
581
499
794
639
654
723
672
707
790
604
456
444
465
532
766
812
543
515
559
460
510
674
471
513
644
782
529
775
816
547
804
543
763
815
694
639
466
672
713
779
476
742
728
460
647
636
763
544
800
800
723
770
645
483
623
731
498
557
777
476
632
759
438
560
461
513
630
463
481
753
589
504
539
739
785
819
698
532
497
672
754
574
667
592
548
617
719
655
711
631
686
793
571
648
682
538
626
680
683
765
795
484
508
696
633
669
502
762
459
449
814
487
788
518
654
454
765
594
598
526
787
507
575
745
566
471
767
796
748
478
427
597
718
754
438
512
793
793
543
802
794
620
569
518
421
805
533
556
817
472
580
566
774
750
421
812
439
628
702
742
579
621
440
516
715
484
559
745
535
795
590
695
501
437
546
808
445
571
685
491
768
628
561
750
431
688
440
699
430
440
812
722
630
441
474
632
630
658
424
818
800
506
742
657
764
788
600
486
564
783
794
550
734
511
426
614
697
615
630
707
773
682
778
519
770
628
719
477
796
699
530
634
496
425
563
547
440
492
436
769
658
775
700
779
577
491
505
448
715
687
430
774
729
566
754
816
563
734
591
493
663
490
589
723
655
630
780
566
591
465
431
726
648
766
545
671
639
744
603
626
553
634
485
785
452
488
752
560
617
783
723
781
421
588
651
533
491
461
552
709
516
534
442
709
550
452
695
657
764
454
464
749
526
721
800
785
745
794
786
581
677
813
740
735
656
778
422
556
636
508
789
754
804
773
768
509
562
704
553
768
584
515
771
575
649
545
489
707
697
577
606
788
558
586
629
498
727
583
700
487
572
727
699
717
685
478
519
583
642
607
585
477
562
637
779
694
513
739
557
649
485
777
729
466
438
515
590
719
507
525
713
494
512
688
568
531
772
533
473
634
777
490
748
706
700
686
776
642
678
744
795
466
656
791
472
472
677
791
773
665
622
731
747
590
712
653
438
667
424
576
673
646
596
765
751
706
728
799
776
740
480
467
619
557
437
570
462
553
751
666
763
531
441
450
561
751
612
699
561
442
792
578
657
509
585
524
540
640
437
627
550
714
816
552
776
610
547
548
754
668
792
601
518
773
797
751
551
558
543
744
486
741
445
493
626
667
610
552
767
710
805
571
764
618
432
457
452
582
735
668
765
717
762
748
737
563
635
428
733
422
565
700
623
667
725
795
609
464
760
557
558
528
628
602
607
434
643
429
613
423
798
777
475
447
555
616
733
513
679
667
506
547
528
472
754
460
478
720
650
450
456
484
477
495
442
427
764
481
429
443
446
547
675
564
483
571
422
506
480
639
816
523
510
494
498
587
803
571
468
817
623
642
608
420
576
721
524
447
500
683
619
706
442
682
465
593
449
491
657
772
676
757
526
744
692
705
666
635
530
703
458
435
595
812
458
433
673
682
571
442
490
751
594
697
613
778
811
492
447
516
799
482
742
458
525
457
810
482
706
709
453
435
428
761
644
593
465
564
434
725
492
776
462
473
587
423
466
478
438
637
732
647
538
653
784
653
619
741
487
692
475
617
606
683
438
426
669
484
430
758
541
472
660
517
498
511
763
582
535
679
568
511
735
430
428
539
543
632
694
475
798
662
568
598
634
588
733
772
530
480
735
725
790
535
569
734
726
787
429
670
814
675
748
494
747
699
737
575
481
530
501
787
449
752
742
470
673
568
592
493
590
599
718
504
587
625
788
572
583
547
512
588
455
666
452
618
451
663
494
774
733
446
798
651
738
471
720
575
765
715
637
469
755
474
611
671
488
701
441
526
774
611
662
532
574
646
731
599
440
712
553
537
628
430
699
576
740
555
682
527
547
513
491
755
609
523
460
480
753
684
740
468
797
699
503
649
439
621
563
552
584
599
505
726
555
597
529
641
727
650
528
459
752
534
807
617
535
443
782
778
605
646
637
466
572
538
566
518
702
549
579
764
789
469
811
814
689
690
597
586
545
684
505
509
467
498
615
488
531
795
503
488
812
802
816
688
453
548
745
694
461
600
677
578
484
578
501
773
450
678
527
576
581
715
641
468
468
478
525
592
487
647
712
495
635
680
818
536
713
460
727
603
627
806
466
714
632
532
448
481
691
575
541
496
493
558
564
511
741
541
815
508
644
536
629
789
503
771
439
455
434
619
570
520
501
692
446
723
709
587
542
481
536
582
761
757
452
568
488
635
585
815
718
652
516
750
669
694
441
747
662
803
678
634
780
431
702
686
805
716
554
528
720
691
482
442
493
675
451
438
733
488
774
775
490
606
801
486
518
545
606
811
774
766
608
458
741
617
499
470
667
454
682
674
453
794
698
457
517
599
578
726
444
671
465
495
710
547
447
639
450
619
506
777
569
670
640
492
481
580
437
464
737
818
500
808
490
629
512
753
446
727
721
501
522
458
456
800
678
492
816
687
604
467
468
468
502
701
671
765
458
744
432
760
767
809
532
671
716
722
617
661
727
756
717
483
623
530
657
627
647
575
707
518
660
765
473
756
675
470
655
488
490
675
709
675
809
763
797
794
678
628
487
763
697
635
624
422
511
481
553
477
639
707
659
583
791
665
515
484
647
701
775
469
683
591
511
747
784
773
421
700
667
526
646
789
513
690
755
529
474
724
802
420
638
607
456
793
759
575
655
778
519
631
590
522
619
558
447
757
644
605
479
798
766
795
565
465
820
670
731
655
479
731
429
462
699
675
434
659
641
687
786
580
442
601
646
666
806
780
543
524
695
527
420
737
532
580
756
778
669
780
451
652
760
616
764
648
756
433
548
472
620
787
667
801
478
741
750
754
452
422
720
438
732
596
698
461
498
613
440
569
546
695
665
723
675
807
429
609
707
615
515
445
475
478
689
430
572
782
709
469
781
516
767
547
803
499
704
765
742
570
669
609
767
712
794
741
627
572
778
558
631
739
734
422
746
426
440
678
542
474
476
808
669
474
526
471
766
692
511
555
482
727
434
679
682
791
513
472
513
508
454
528
743
592
637
648
701
556
799
786
514
437
596
606
691
653
506
745
432
477
531
800
813
516
469
630
431
477
769
654
435
525
809
803
534
623
559
476
812
442
554
739
564
530
651
532
519
463
790
619
687
678
607
634
633
583
715
786
766
753
464
537
332
391
477
314
344
365
323
305
445
398
431
375
311
314
363
488
420
497
383
442
470
476
383
430
332
404
442
359
493
472
346
388
495
417
434
468
302
423
461
334
326
346
308
426
318
405
328
319
451
309
414
422
476
383
415
430
490
446
352
336
325
473
323
402
321
365
304
312
422
492
350
482
374
306
464
321
352
355
320
450
326
387
439
348
384
474
439
323
440
395
456
301
345
315
488
410
436
315
464
406
339
319
388
456
331
464
413
450
454
335
486
483
300
431
343
450
332
312
347
315
456
384
418
379
402
456
383
429
402
380
379
367
480
319
471
362
433
310
463
377
326
338
421
354
401
492
421
326
311
370
480
459
335
475
432
368
491
428
438
381
405
405
366
436
404
420
457
499
423
365
361
494
338
455
337
472
412
433
438
477
329
433
335
366
398
399
326
384
467
500
377
354
382
482
324
441
456
366
445
415
433
378
429
347
357
474
436
319
461
462
341
442
403
320
457
319
354
407
478
476
388
360
316
386
483
483
321
418
352
339
464
455
406
441
497
462
412
343
418
355
458
353
478
420
399
485
302
353
329
322
433
367
466
467
448
348
491
448
305
383
373
411
487
456
473
485
328
339
326
441
305
312
307
384
455
442
436
411
389
475
360
362
338
311
486
336
453
409
475
401
316
459
346
375
458
474
420
430
454
346
447
456
354
451
354
409
314
317
499
454
425
406
393
307
429
485
489
439
415
338
396
468
432
410
485
365
335
329
328
333
383
393
375
485
420
461
455
453
395
300
462
426
462
376
302
438
472
435
325
388
450
355
445
423
403
473
309
400
313
469
384
476
421
489
305
339
466
315
443
342
361
310
420
315
438
327
317
476
424
470
372
485
494
459
488
336
330
351
488
358
491
450
417
450
484
340
316
469
475
478
459
354
320
384
480
469
390
417
318
335
387
451
411
453
458
447
495
301
378
355
498
487
426
392
415
396
398
475
412
331
409
402
429
497
453
331
411
339
404
441
433
432
336
481
378
384
381
379
318
312
327
304
353
337
403
405
461
329
310
314
418
398
472
499
311
465
481
469
309
355
339
500
461
403
391
489
384
426
314
471
315
419
321
474
326
435
461
423
349
369
328
420
484
398
403
330
486
435
406
409
412
310
341
336
498
434
456
363
331
369
496
435
462
486
445
304
409
376
442
426
472
356
368
432
486
394
398
333
458
311
383
326
435
361
418
369
433
343
407
440
424
489
398
399
355
330
348
364
423
459
366
413
437
477
340
487
379
303
401
466
468
387
306
484
352
360
368
389
447
481
405
324
415
379
387
377
477
358
407
358
389
497
457
312
350
473
433
429
367
393
311
326
459
492
487
425
407
386
471
310
386
427
343
423
395
491
436
413
383
483
474
450
324
400
303
347
340
411
346
448
305
481
486
312
492
453
345
438
458
414
462
332
339
311
425
317
431
422
456
379
395
491
361
436
302
358
420
430
337
429
360
363
421
399
385
333
380
308
493
334
460
432
443
352
432
326
485
391
372
495
334
446
436
389
435
465
301
384
490
320
447
449
314
477
386
421
372
323
421
414
426
388
378
498
319
497
329
466
471
344
429
453
434
458
408
406
463
328
406
452
415
360
434
374
310
483
488
451
366
407
489
367
461
353
339
339
458
341
461
305
492
370
363
435
412
383
464
314
338
438
494
357
443
368
495
334
440
439
401
371
426
363
477
316
382
335
417
353
344
363
394
408
312
465
491
367
381
361
477
412
365
368
388
413
450
469
440
328
428
347
479
356
304
346
309
338
481
341
395
438
499
322
384
324
312
397
407
340
357
432
444
477
352
449
493
374
453
371
366
369
343
400
324
346
337
395
496
307
306
434
331
477
437
377
325
313
356
319
324
449
392
362
348
326
332
412
427
343
378
437
394
408
342
374
385
383
485
462
400
475
309
315
433
312
407
333
427
460
409
478
326
367
338
348
452
358
380
340
360
354
356
407
384
326
316
301
389
305
469
320
311
443
394
418
341
461
301
371
386
415
428
370
384
439
312
369
338
380
360
481
396
496
328
402
481
410
325
385
488
414
320
347
480
401
316
314
430
478
351
312
391
482
394
353
446
499
376
422
301
384
328
492
492
397
375
335
478
371
392
389
303
386
406
385
344
302
444
497
402
301
460
460
422
469
315
395
386
311
475
347
374
314
354
319
344
421
456
310
304
420
418
323
431
317
372
470
433
407
300
317
364
314
396
424
327
397
379
380
373
497
489
439
447
309
301
458
500
461
324
372
305
337
372
410
488
457
474
451
304
364
331
302
339
417
339
435
499
423
321
303
350
362
343
452
447
456
380
320
433
335
399
439
368
324
304
432
320
476
463
418
362
358
305
429
308
425
437
432
322
406
392
425
438
379
487
438
338
364
351
369
305
406
369
496
451
480
316
424
467
376
415
424
457
399
332
414
497
334
458
435
485
406
490
458
396
315
418
377
488
447
366
345
334
332
499
369
369
487
420
492
468
481
466
414
463
320
415
330
429
496
306
302
345
366
447
417
454
404
339
444
303
375
342
347
398
499
410
455
468
330
448
320
482
368
484
499
497
324
421
478
492
376
437
317
415
477
328
359
406
434
406
414
340
388
480
429
348
478
383
334
408
386
354
422
307
337
303
489
355
390
393
485
404
468
480
308
410
427
333
320
328
412
400
356
428
432
425
430
405
425
417
392
495
368
317
305
355
361
398
365
395
469
319
457
396
478
363
349
400
435
409
451
398
401
454
421
409
396
407
382
422
351
315
421
357
420
376
400
325
432
407
470
434
397
450
313
303
332
401
399
494
368
318
457
398
337
496
403
461
381
431
405
420
474
334
329
332
401
481
496
383
435
306
427
496
399
368
326
362
350
473
309
459
492
421
476
363
358
392
361
366
320
446
311
345
410
451
385
395
369
415
484
497
365
338
332
474
305
313
329
426
481
421
484
481
405
306
459
319
428
372
406
476
373
368
416
350
479
446
466
485
364
339
425
371
482
419
382
436
312
456
446
426
314
493
400
462
409
392
400
413
357
440
396
316
379
420
400
343
310
458
486
447
326
459
404
489
342
323
309
403
448
367
333
408
411
395
480
302
460
316
364
475
381
416
457
391
478
388
374
420
366
301
340
354
376
449
471
349
385
342
317
319
491
407
438
363
345
348
426
430
300
314
455
440
428
480
398
327
398
443
455
447
497
402
322
499
328
317
466
372
383
306
317
489
498
495
427
485
365
397
363
351
437
368
442
489
391
325
310
311
406
415
383
494
379
406
353
312
359
376
331
390
452
393
463
309
467
395
476
365
431
327
482
459
486
346
479
497
302
433
366
428
321
354
411
412
391
494
493
411
315
338
312
355
483
352
342
328
424
396
483
373
307
439
445
307
316
482
370
360
352
397
387
328
400
380
377
356
402
325
454
368
475
484
328
443
416
356
412
431
348
350
439
321
490
316
453
444
369
363
435
376
458
311
319
311
328
465
401
310
462
442
408
354
343
346
402
315
452
423
393
464
301
456
329
359
432
464
453
466
463
490
375
301
385
330
335
478
434
373
421
455
304
446
487
314
415
317
356
328
347
418
353
437
464
499
381
465
305
387
430
371
427
326
432
313
317
469
434
300
364
465
490
331
444
483
323
456
308
334
453
406
452
365
409
302
475
335
351
303
472
390
424
392
486
367
445
449
471
439
465
317
475
412
476
407
394
458
402
477
467
363
364
399
327
356
461
482
465
446
457
438
471
459
386
374
352
467
410
447
367
422
308
386
336
390
415
440
373
456
481
454
439
481
336
319
404
354
340
348
354
314
345
407
379
325
465
430
427
463
437
324
444
327
331
366
458
315
421
424
334
440
433
473
373
456
380
456
484
496
354
419
390
437
462
307
392
460
317
449
418
477
444
393
330
386
486
463
419
313
346
308
335
305
411
416
444
315
400
364
461
302
481
300
302
306
397
490
311
341
419
425
398
301
417
420
454
429
345
347
477
340
447
334
373
415
476
493
328
416
411
337
397
472
364
446
445
322
491
306
364
412
487
488
450
468
449
328
362
412
333
338
474
480
355
399
424
437
402
428
331
456
440
304
378
489
368
363
402
381
463
382
331
308
402
409
487
448
497
388
434
458
433
308
380
439
400
336
383
464
343
390
311
484
303
460
353
313
316
427
391
438
499
426
399
373
349
311
363
338
311
446
397
402
393
353
430
323
394
319
317
488
380
485
385
302
491
412
467
389
300
463
472
301
367
325
323
498
349
448
372
381
392
499
438
468
465
339
489
417
303
346
470
352
473
478
402
475
308
378
475
429
473
364
352
397
384
477
471
393
468
435
464
407
367
409
319
475
388
309
327
331
445
430
464
363
450
445
398
304
380
432
395
473
355
339
406
368
366
344
316
390
465
457
312
429
440
354
487
386
500
315
316
314
321
426
481
423
499
495
450
396
319
357
455
417
337
392
330
443
327
463
324
478
460
327
455
351
461
379
487
446
499
365
477
480
372
474
423
479
448
459
481
322
394
355
306
318
433
485
419
487
315
469
376
303
450
417
426
475
376
423
372
494
383
341
460
493
361
461
344
393
391
379
455
424
469
303
356
427
428
430
328
371
496
466
394
426
393
492
413
472
447
454
420
476
491
338
375
378
494
462
384
323
312
342
423
419
499
416
400
431
398
309
353
334
461
479
353
326
485
465
305
361
384
329
484
430
415
367
399
336
361
451
405
376
352
413
365
444
383
412
476
340
454
443
448
404
406
389
438
316
304
410
323
453
321
461
310
374
368
329
488
378
363
476
386
476
464
327
371
405
334
486
476
479
404
459
306
353
326
457
347
317
366
340
331
325
393
459
491
409
428
361
310
469
463
472
328
303
326
319
333
455
405
475
469
413
461
326
339
335
413
323
480
319
373
394
431
499
304
474
429
375
378
447
444
444
313
328
452
343
340
317
467
395
470
492
338
443
405
448
411
493
388
304
431
422
478
444
350
377
402
325
388
387
429
500
339
478
330
445
318
366
476
475
390
435
379
348
331
428
388
393
318
437
338
314
366
358
359
304
448
328
342
331
308
359
436
457
442
331
466
342
387
303
410
358
447
336
311
494
466
375
301
410
335
372
332
421
346
390
347
416
371
404
457
306
456
409
347
310
442
351
444
464
347
318
465
437
373
467
345
393
455
362
485
424
344
473
383
498
391
394
308
379
481
328
466
431
331
458
454
433
369
491
395
333
490
465
332
420
412
385
434
475
491
323
340
354
438
356
300
393
495
316
338
415
471
433
393
328
428
305
356
344
431
437
496
444
446
341
457
387
427
333
447
363
388
316
444
334
459
427
441
401
372
419
463
375
314
320
317
469
482
456
344
378
483
467
466
313
425
338
342
440
353
462
368
337
494
311
419
338
448
441
334
301
409
340
391
323
304
306
391
427
380
408
446
490
494
398
408
373
359
471
428
425
458
316
304
317
355
353
343
457
393
453
375
398
499
407
387
424
411
449
333
460
413
359
376
356
303
374
322
457
408
318
438
335
484
453
356
376
306
495
322
449
440
396
331
332
476
303
432
351
443
315
446
309
426
421
418
469
412
495
351
489
362
337
491
337
404
364
497
340
403
457
453
474
383
322
363
485
489
489
311
398
473
370
350
354
373
333
346
481
472
328
300
369
305
333
490
318
352
387
412
451
335
462
449
354
338
336
323
459
373
481
392
413
312
357
397
392
320
363
385
330
302
472
443
403
337
316
324
369
373
370
456
324
390
343
353
476
394
393
452
359
307
378
478
437
363
307
458
379
445
441
413
477
418
492
496
380
341
452
350
379
347
420
303
373
335
416
368
408
477
335
309
384
375
359
494
463
450
440
470
338
437
421
440
315
469
461
336
500
471
399
479
419
382
362
380
366
356
444
367
472
465
342
365
477
352
364
307
496
395
375
480
434
350
352
395
447
395
380
338
392
375
402
445
335
380
329
487
363
410
352
479
422
313
369
352
340
462
496
488
341
419
462
331
463
500
355
480
482
459
344
444
338
350
311
335
336
319
358
500
376
392
344
301
373
462
404
392
454
495
469
427
443
478
455
305
354
314
365
380
450
470
487
401
442
430
358
351
485
320
373
364
412
412
360
336
352
423
308
439
307
448
421
319
339
340
300
307
350
429
483
449
439
347
480
355
380
440
411
474
484
364
326
414
394
430
390
356
431
493
377
426
391
337
466
303
481
332
441
445
384
492
437
494
397
480
408
392
379
450
335
314
474
351
417
493
308
463
333
439
494
341
383
302
443
469
419
446
314
387
308
366
490
350
412
339
402
465
444
331
461
398
486
367
415
469
472
486
481
441
402
389
436
335
492
312
460
488
408
352
474
458
398
433
364
308
427
388
457
302
348
434
404
451
449
406
437
482
310
466
430
335
338
426
389
425
456
459
317
385
461
417
386
485
379
356
359
415
493
310
347
408
378
351
491
332
320
322
317
452
468
348
456
496
306
301
388
378
488
423
448
436
474
395
491
425
480
411
477
414
407
486
424
489
419
390
313
401
485
410
437
321
494
352
443
496
407
394
402
471
407
305
477
341
356
421
475
484
318
467
388
436
384
365
395
443
460
425
360
442
323
496
406
315
418
330
310
393
322
378
472
425
310
380
471
351
418
340
309
419
305
405
463
397
376
490
500
356
314
464
469
351
383
309
471
375
347
398
318
306
326
418
300
406
381
375
348
395
415
345
417
435
336
492
421
385
324
437
490
486
371
473
356
391
418
362
493
404
415
386
477
443
373
394
400
312
460
450
443
391
446
370
431
356
462
485
491
462
450
305
385
442
443
350
318
336
437
346
345
491
471
489
308
300
456
493
401
481
404
314
430
307
417
493
338
437
497
310
497
497
476
497
302
492
344
459
500
388
339
407
307
496
472
441
361
368
496
435
309
432
364
443
413
467
390
392
414
302
303
365
345
417
346
424
339
476
472
409
488
484
445
484
303
473
464
381
384
406
344
375
480
378
499
318
472
490
407
465
388
383
374
484
446
493
418
318
495
348
360
396
482
372
409
368
444
394
363
352
441
416
322
477
434
326
404
385
462
431
453
301
410
364
373
489
477
433
450
420
342
312
436
446
428
435
440
488
323
363
426
490
493
394
368
408
497
440
478
375
435
468
336
360
438
390
336
354
440
368
418
456
389
496
311
306
480
422
453
349
456
487
425
482
321
330
323
428
429
344
357
393
409
368
464
311
426
333
483
305
410
351
428
461
383
319
408
304
430
435
467
368
374
477
310
388
416
432
379
383
424
397
337
376
356
412
478
328
443
417
376
470
315
485
452
431
411
499
383
497
418
422
395
395
370
317
325
371
355
343
359
440
358
348
305
415
391
453
345
491
332
400
358
428
423
317
363
426
498
342
382
379
350
376
381
436
437
456
405
328
350
350
363
336
497
468
471
392
327
371
352
493
461
465
418
409
398
429
345
442
335
434
440
348
304
440
314
423
365
316
488
398
431
320
498
420
455
303
449
489
340
321
400
412
349
425
445
337
375
467
400
496
376
465
366
475
446
412
307
469
487
483
356
312
498
428
315
447
421
318
441
405
386
375
412
381
345
327
320
477
448
435
324
374
498
341
324
417
323
318
500
476
311
400
386
477
362
323
393
318
328
309
433
351
335
301
341
420
385
378
377
464
467
428
497
394
433
347
342
450
480
428
461
337
435
406
376
437
311
430
471
443
443
488
317
304
416
450
388
321
336
463
361
406
465
318
425
429
323
335
476
444
443
331
335
429
418
324
444
434
300
488
325
317
397
309
498
375
411
411
411
353
339
437
359
313
339
341
452
348
336
366
439
401
479
375
330
452
343
433
343
492
320
469
458
387
388
313
371
453
420
440
459
401
474
319
421
333
407
476
476
467
410
482
304
386
330
348
439
366
400
357
402
389
303
354
460
438
427
453
429
354
429
307
442
439
475
395
357
330
360
382
380
463
453
374
409
476
362
424
473
466
437
378
380
425
346
368
403
404
401
389
443
352
442
453
319
335
324
480
480
370
467
485
430
458
329
437
432
500
492
464
413
463
401
364
498
303
320
425
406
411
485
326
322
308
414
369
386
388
493
338
460
446
400
352
413
454
399
416
429
493
379
318
427
341
439
378
385
474
401
496
460
437
362
366
357
382
310
351
317
399
409
316
386
452
469
383
419
497
339
341
441
394
306
340
459
336
437
399
302
436
486
420
352
356
303
392
471
500
452
416
465
466
324
329
342
410
386
485
399
491
368
310
305
366
308
351
377
480
470
371
381
500
483
404
337
304
302
482
418
397
444
478
458
325
458
408
377
339
423
402
316
333
308
493
441
493
494
312
455
458
344
316
328
464
480
302
305
325
310
344
448
466
395
362
366
311
438
308
500
375
414
305
429
310
401
498
495
308
473
452
496
462
499
482
321
392
343
390
402
432
441
388
399
335
464
369
408
309
318
471
418
439
490
409
362
310
353
461
396
359
322
451
450
473
343
440
443
468
446
319
344
411
465
419
469
403
392
369
319
331
353
301
393
498
367
413
465
441
339
440
488
434
410
379
380
355
364
478
468
435
365
413
488
333
430
405
360
444
475
404
376
382
480
449
402
433
413
469
352
470
439
332
358
387
500
345
409
438
313
495
394
377
476
397
336
411
315
483
305
327
415
319
321
300
372
348
403
445
360
318
437
376
323
397
352
478
469
488
469
433
412
481
467
431
451
369
415
362
466
476
469
461
306
450
397
390
354
320
463
370
362
413
490
364
336
458
328
399
361
443
435
368
388
355
404
380
308
353
318
465
311
411
366
387
462
393
432
374
471
434
396
376
333
497
346
385
465
403
346
326
401
496
308
395
385
393
406
344
324
392
382
377
309
338
484
312
464
377
432
491
380
416
349
475
387
326
343
487
305
416
461
459
482
405
338
402
347
352
324
442
382
476
383
493
432
352
440
491
313
419
328
415
352
389
412
319
312
354
341
310
478
461
331
417
329
422
337
368
330
340
365
350
344
456
457
462
368
465
308
377
398
385
480
463
332
447
415
461
335
394
433
313
425
489
396
450
337
473
385
318
388
341
346
339
309
354
391
352
326
437
445
451
358
478
324
483
316
404
304
433
386
404
494
447
418
301
360
439
471
436
334
359
425
420
493
301
386
342
492
368
347
404
350
354
329
389
499
374
441
397
463
363
334
304
457
403
344
496
398
310
397
444
446
328
345
440
433
456
409
482
328
461
418
410
405
389
376
372
498
337
434
348
395
354
391
456
494
421
396
451
471
455
429
466
427
369
451
466
338
403
374
372
342
408
303
342
441
399
345
426
500
464
330
331
365
383
328
326
302
313
398
451
305
438
306
369
457
319
436
370
309
393
403
317
442
372
367
368
372
497
332
460
388
398
496
358
398
483
310
421
413
393
337
410
495
485
486
320
409
474
344
327
351
455
338
500
456
376
470
327
424
424
447
311
489
440
368
308
333
339
493
392
352
331
427
420
448
398
404
352
304
467
307
467
312
337
371
413
327
321
402
469
421
367
445
348
398
423
359
436
495
415
436
324
467
361
421
403
475
348
422
479
378
419
454
305
390
404
481
366
366
465
340
351
358
353
319
322
432
384
371
365
457
440
442
492
414
360
468
346
467
301
433
319
410
409
350
398
412
448
478
342
386
333
303
336
304
441
448
455
363
451
321
313
482
439
441
436
401
385
316
481
303
320
392
332
430
317
407
409
340
457
347
319
457
407
415
396
371
401
408
330
480
376
435
356
403
460
366
382
405
376
302
342
363
445
376
497
383
331
425
403
336
449
448
408
439
387
316
403
370
450
435
369
433
495
445
369
326
350
368
357
332
472
344
338
311
304
356
452
418
478
347
414
406
307
418
345
332
327
305
348
438
352
412
304
303
419
463
358
331
434
422
309
408
390
418
334
491
458
300
452
388
416
454
428
461
338
320
352
306
402
406
338
390
442
349
342
362
462
351
421
436
377
325
324
360
419
492
300
483
310
389
405
474
369
473
342
400
377
313
359
300
397
314
415
311
310
337
326
344
495
420
491
416
465
437
493
332
478
335
481
377
417
464
398
471
401
468
342
464
312
451
429
399
326
391
460
353
457
398
430
419
431
324
320
488
312
302
376
385
479
445
315
468
352
335
393
441
480
401
454
457
367
356
462
327
319
414
414
329
361
359
413
425
460
490
443
336
488
478
472
336
320
342
343
395
424
330
312
345
454
373
409
492
345
383
391
324
497
333
445
320
317
423
448
451
387
379
418
321
316
389
378
437
475
432
456
321
302
440
401
422
305
333
394
354
375
446
309
338
357
492
367
469
391
357
359
325
328
498
467
472
451
331
461
473
406
495
325
454
440
409
365
303
309
374
359
387
335
385
341
449
405
389
362
389
382
386
343
413
323
386
332
351
425
314
464
474
439
480
443
497
412
433
305
434
329
439
460
397
417
404
442
400
339
314
310
420
322
500
436
416
493
499
434
472
462
494
375
332
399
332
375
301
490
491
409
421
416
367
451
429
316
443
344
330
331
325
410
479
314
364
425
469
309
421
441
428
478
446
439
387
358
479
480
301
343
383
398
435
493
352
428
314
371
420
479
398
318
445
368
374
415
401
352
460
427
474
450
474
439
431
314
412
309
395
445
439
372
361
434
494
395
489
414
487
325
366
449
308
334
499
322
366
308
414
411
336
413
411
475
474
353
400
495
473
333
370
436
473
313
359
372
402
493
478
391
320
382
470
322
388
451
478
486
474
421
438
487
326
391
492
388
395
430
442
406
338
396
469
316
392
386
365
384
419
319
377
330
335
338
416
328
358
412
492
379
496
431
388
437
312
339
407
432
476
365
317
434
461
500
333
367
402
352
352
419
381
334
408
464
331
417
341
477
357
379
487
377
318
311
427
471
410
400
479
426
482
445
389
316
408
457
380
443
460
321
491
439
455
494
402
361
432
315
380
326
407
365
469
444
393
377
376
317
401
487
461
349
492
377
395
365
412
363
395
372
340
471
371
490
495
447
462
393
458
455
324
430
442
434
332
486
394
359
363
492
472
410
461
308
370
495
347
370
334
402
411
393
306
356
413
401
431
404
354
447
461
357
426
373
414
433
444
445
347
434
447
442
306
305
468
391
419
427
342
455
476
446
346
483
398
342
335
367
412
466
325
336
444
364
464
496
419
347
436
354
402
486
480
307
487
413
404
357
315
401
397
386
367
483
320
470
431
370
402
405
328
381
392
411
482
380
302
354
408
434
352
435
302
412
360
355
439
477
321
448
377
461
334
436
354
496
475
351
369
398
340
401
385
473
459
352
482
314
419
317
301
325
358
410
415
474
459
319
303
389
481
355
422
360
353
476
361
424
383
431
394
323
387
480
416
323
360
483
448
345
415
402
399
321
345
404
410
484
391
426
434
351
427
495
498
384
494
393
343
308
408
313
313
434
438
307
340
400
471
401
381
435
349
491
496
339
303
313
485
387
311
316
425
383
340
389
353
478
490
494
322
385
342
479
405
340
497
328
357
428
410
331
334
459
307
395
436
406
341
461
451
439
309
359
478
300
437
316
336
371
319
301
318
361
315
403
351
481
416
327
343
400
345
307
405
496
395
443
427
318
372
317
363
409
319
316
487
335
496
302
384
304
334
468
301
474
366
411
421
314
494
474
374
444
395
409
429
376
358
418
441
483
443
420
309
449
333
333
359
331
486
494
486
492
442
324
397
408
485
433
322
384
305
350
314
321
390
341
466
495
335
321
475
422
385
489
391
383
438
443
364
426
470
414
486
449
371
380
361
371
377
482
418
318
390
356
471
383
419
412
334
326
386
385
450
425
309
457
471
401
437
392
366
311
452
403
463
348
381
333
457
492
344
393
306
300
488
350
465
455
494
403
486
360
500
306
470
304
468
492
499
484
312
337
479
382
309
396
304
392
309
362
452
324
435
430
463
430
360
308
427
388
498
496
433
442
326
432
466
444
356
425
372
432
419
402
359
307
417
375
347
470
369
435
417
466
461
453
302
452
376
332
445
384
445
479
315
469
446
323
303
309
496
486
361
377
306
408
474
499
303
319
468
468
317
404
398
449
491
310
300
422
375
424
350
427
336
316
318
408
357
310
425
302
498
331
422
488
342
424
350
490
300
322
391
428
441
409
434
476
448
383
431
499
348
447
398
404
366
301
375
316
400
479
302
369
455
438
377
314
395
378
302
321
374
359
494
354
358
325
302
394
347
455
312
362
497
310
339
431
473
317
483
322
302
301
328
402
320
331
479
386
328
344
496
441
350
422
334
412
431
412
308
408
429
336
384
317
352
353
386
403
305
430
494
315
408
348
363
311
463
340
400
378
412
494
326
344
370
457
418
383
401
461
304
373
482
372
323
424
485
384
363
314
371
494
370
359
384
392
327
420
406
328
494
498
372
418
301
390
444
414
441
311
483
494
403
347
318
389
300
400
313
319
318
300
500
337
423
391
350
337
347
490
350
349
341
437
425
360
478
411
430
404
328
303
383
307
412
451
384
383
482
366
362
442
300
342
392
360
497
359
496
408
436
369
323
340
466
385
354
480
394
391
461
316
490
418
475
322
426
400
471
452
400
306
464
404
304
454
488
414
459
397
416
446
394
470
463
379
480
373
356
471
480
340
354
338
370
413
395
428
384
347
461
356
348
418
454
441
439
470
463
335
423
324
335
318
389
367
381
481
407
462
386
460
394
436
459
496
428
334
407
426
327
381
332
436
324
385
429
331
355
376
346
328
475
346
399
400
445
328
363
463
332
318
377
464
391
460
392
338
301
403
473
377
486
453
490
453
448
482
426
485
497
337
422
335
446
324
403
394
427
416
394
346
424
349
303
470
419
358
314
402
448
452
399
395
453
453
408
434
395
457
328
403
311
464
439
359
420
447
393
495
324
465
411
324
493
448
464
484
348
393
488
353
427
462
497
436
499
308
450
345
433
344
342
433
493
433
419
483
455
368
303
431
334
444
407
472
412
464
473
495
379
315
480
423
460
336
402
398
465
391
347
467
489
456
390
440
371
491
366
480
328
455
360
451
441
378
489
464
331
441
459
408
429
329
392
472
477
341
318
354
349
393
458
442
311
303
385
417
391
316
474
479
447
339
425
492
496
366
341
396
455
407
420
350
352
429
398
388
340
323
472
306
475
357
483
337
417
492
421
478
439
311
387
363
438
391
356
385
396
403
352
303
302
354
350
486
481
482
337
322
311
491
434
463
496
430
464
422
332
304
387
317
352
403
407
333
500
490
464
452
359
399
491
339
496
413
460
456
361
429
434
449
438
384
356
388
489
475
338
453
420
360
402
426
334
477
306
496
481
365
472
433
355
459
442
499
321
458
417
487
402
328
318
474
486
499
328
391
328
449
421
337
443
447
475
355
498
364
431
364
370
498
379
310
370
445
394
397
367
422
345
463
317
474
314
310
391
499
342
360
460
337
348
450
476
437
432
495
463
317
367
300
424
319
383
303
488
364
347
408
345
332
429
368
392
453
494
455
417
444
332
305
436
365
301
475
498
337
475
450
387
487
444
352
391
442
393
319
356
332
406
439
329
356
429
401
428
326
434
331
311
441
471
399
365
407
487
498
424
410
346
328
499
433
353
333
433
427
364
324
411
411
350
479
328
326
311
448
367
405
348
483
431
469
389
455
426
372
342
432
337
375
335
381
410
496
350
462
440
483
366
415
338
323
442
477
330
462
382
387
459
441
371
336
323
379
456
473
330
394
412
496
443
344
387
350
333
445
318
479
442
407
471
316
400
399
412
395
480
381
480
345
482
319
311
308
408
359
331
424
417
492
387
407
328
333
353
370
434
340
381
376
316
457
480
373
391
384
379
445
320
359
332
392
473
464
416
388
326
436
475
382
331
436
420
498
499
300
495
327
480
419
411
415
389
456
472
472
362
340
492
389
484
367
323
481
463
346
346
416
393
382
380
462
492
490
353
442
313
416
324
474
476
344
389
441
333
339
331
312
375
463
471
488
380
416
310
376
314
451
316
475
358
313
466
457
395
498
318
393
302
461
307
443
399
439
322
344
312
432
456
499
472
320
359
305
340
429
464
438
365
452
347
495
374
396
343
463
303
356
405
496
377
411
445
484
322
466
346
323
320
461
341
331
478
334
326
414
416
369
356
482
424
491
478
408
329
383
489
376
473
379
450
450
328
383
472
429
480
303
495
331
361
359
345
426
468
369
385
448
414
344
369
394
378
319
347
319
321
469
440
412
308
494
442
308
318
380
433
396
325
318
356
333
386
344
378
332
417
459
302
365
312
470
499
439
347
444
482
334
366
377
351
397
321
336
393
319
452
348
322
316
335
327
439
450
363
445
423
471
313
352
334
313
441
301
334
404
351
426
448
440
433
404
323
394
401
472
494
499
497
483
310
392
401
410
332
453
302
399
487
379
307
345
451
490
351
437
483
441
422
497
316
307
467
456
390
340
346
418
312
408
337
436
469
444
364
409
320
303
316
402
471
472
320
322
477
413
355
379
468
403
382
320
446
336
498
387
379
368
463
492
491
356
375
335
346
375
346
488
389
387
339
378
385
307
442
389
487
438
340
371
321
320
317
423
417
326
370
482
428
394
311
409
481
358
405
453
442
382
318
362
449
449
329
394
473
480
433
375
408
436
372
446
452
321
314
369
441
339
424
390
428
394
432
463
480
411
394
424
314
330
315
403
488
318
473
352
428
449
476
460
420
362
405
438
354
498
343
309
421
436
439
454
375
332
459
343
307
491
443
330
461
472
441
456
342
437
483
330
330
313
374
430
331
339
391
321
401
309
452
467
388
357
326
339
393
339
321
397
369
354
439
376
312
437
411
481
354
327
446
441
369
315
492
309
338
434
496
354
470
336
362
349
485
380
448
307
313
439
486
373
332
414
445
479
358
313
355
468
441
312
355
491
336
481
358
315
461
393
304
448
399
424
477
403
325
318
471
494
333
326
415
458
372
376
484
402
390
448
436
459
402
328
451
310
452
302
406
443
467
323
400
395
440
314
428
337
410
337
499
425
425
347
495
453
484
391
404
406
467
436
383
406
442
483
500
491
416
304
465
470
371
338
368
423
432
383
395
496
408
379
495
341
379
315
361
430
422
420
394
392
451
335
406
383
325
312
469
478
448
450
303
346
476
439
427
406
469
406
319
440
393
496
480
462
494
397
499
488
395
370
321
454
420
367
307
433
348
486
347
431
483
472
369
400
427
363
442
402
396
480
379
489
457
337
425
452
346
428
441
339
396
340
335
384
451
339
430
470
448
405
419
339
423
314
427
431
417
379
349
441
349
426
406
467
320
408
456
333
318
345
390
442
486
382
477
438
416
415
359
362
320
442
465
346
446
334
495
312
312
333
384
353
464
301
482
305
369
416
370
447
447
300
492
406
355
330
407
388
372
490
350
379
434
390
331
396
404
461
331
392
309
352
405
341
438
436
357
361
391
401
455
410
332
445
424
460
303
493
357
355
443
474
316
410
497
343
426
369
493
428
471
445
480
494
319
334
461
427
461
374
339
453
419
425
472
338
497
485
387
310
427
420
404
381
443
500
418
489
471
354
360
456
300
323
491
301
417
449
341
367
327
304
344
350
429
382
445
335
462
452
333
476
411
456
314
375
459
412
380
327
445
307
326
356
454
368
357
320
452
475
409
474
315
456
450
405
453
413
434
443
486
489
477
477
433
407
437
417
484
449
345
308
426
335
401
487
427
453
334
448
473
318
359
450
448
374
402
415
369
486
337
398
379
439
364
392
346
324
422
419
488
356
482
448
474
434
466
481
468
451
422
404
359
473
326
307
436
340
464
471
320
463
322
386
496
312
476
415
448
300
318
361
423
432
418
450
316
491
438
478
349
432
479
392
363
496
397
461
383
327
373
335
341
334
323
464
383
416
469
382
357
421
300
302
465
471
323
468
366
389
315
476
498
481
333
323
439
358
349
328
414
357
488
364
478
374
471
419
452
478
490
325
307
500
475
408
330
314
412
374
356
440
498
434
413
343
465
330
343
310
488
425
396
431
468
348
478
421
426
347
399
415
399
478
405
341
449
474
406
383
416
459
392
499
436
350
349
302
428
499
319
414
354
498
320
393
395
309
382
376
387
367
351
430
329
460
448
339
437
311
496
412
401
443
432
317
412
489
380
371
491
435
396
483
427
445
384
323
482
357
481
431
360
337
460
452
392
415
363
488
420
437
387
330
384
318
378
393
490
428
475
320
480
402
381
408
403
347
386
423
412
499
414
362
445
316
315
460
373
373
457
493
393
471
389
384
499
356
495
328
308
414
362
330
376
393
461
381
418
322
465
469
382
368
347
460
386
493
416
360
434
369
326
495
373
481
371
398
366
391
449
455
488
335
305
410
374
474
396
346
446
389
406
460
314
353
393
357
492
383
404
427
390
486
390
382
338
494
444
346
408
417
361
469
323
496
411
409
492
359
327
359
336
311
489
339
319
442
345
360
316
313
355
309
449
399
330
429
332
406
385
302
319
366
342
469
407
465
351
388
338
412
423
327
386
394
452
307
390
411
471
324
363
369
340
403
328
457
346
360
447
405
346
345
333
448
383
313
421
422
422
378
344
475
441
446
396
420
402
304
336
350
409
379
393
318
434
374
435
451
482
346
467
434
371
302
491
421
480
482
417
336
410
406
389
319
424
470
360
478
441
486
458
363
429
352
315
468
349
321
365
426
354
388
353
431
434
494
358
323
419
455
423
331
350
407
489
492
469
393
391
434
480
327
452
305
396
482
423
432
471
417
474
380
410
307
427
456
393
312
450
441
346
439
469
334
390
399
393
361
479
494
378
452
478
358
460
410
393
495
467
336
410
447
315
409
330
395
397
488
464
365
487
471
433
420
408
323
493
396
333
318
480
499
336
446
368
483
403
391
305
313
474
437
457
486
348
432
369
311
493
314
307
435
481
443
342
364
499
395
497
443
485
437
480
468
428
440
402
480
453
432
457
377
453
426
364
453
413
365
486
489
328
338
440
411
439
372
340
335
473
437
372
370
324
470
388
484
482
353
489
384
395
413
310
496
341
494
470
322
374
384
310
442
489
333
399
348
345
368
343
470
488
467
426
335
406
417
376
323
338
451
448
405
373
365
470
365
445
436
450
406
341
419
407
379
480
307
399
431
420
337
378
312
396
433
301
433
383
432
454
432
383
413
459
420
425
412
398
419
418
313
363
388
493
454
366
321
410
420
375
368
498
380
468
314
497
325
382
381
447
389
484
424
411
470
323
307
358
496
385
442
429
462
382
380
336
398
496
369
341
460
320
455
391
439
432
392
424
498
492
489
461
395
357
443
335
412
372
355
306
484
331
461
381
500
455
492
324
468
494
381
409
422
323
304
468
332
315
438
347
306
342
391
360
466
463
449
362
306
341
461
332
415
328
405
451
429
357
460
449
437
417
352
365
495
483
347
364
304
476
406
470
301
434
471
452
340
470
453
323
399
489
398
311
369
464
400
343
351
436
392
393
495
383
395
346
401
334
353
461
443
360
444
482
396
347
444
428
310
450
494
322
311
424
387
455
337
365
468
316
415
419
377
468
384
468
480
312
347
398
417
400
376
377
445
418
475
442
486
474
344
456
358
481
330
341
474
376
401
321
415
361
378
392
403
400
386
329
372
403
421
488
326
460
484
364
355
471
390
346
364
448
369
307
482
355
448
310
412
481
478
393
332
463
454
429
498
408
435
397
432
478
356
397
384
471
381
308
343
448
345
404
421
353
497
469
409
358
379
459
413
367
364
348
374
412
426
484
319
374
385
364
463
308
391
493
415
444
433
448
430
495
412
359
306
380
417
487
379
487
438
333
337
485
346
441
361
441
390
305
325
361
459
404
461
369
343
384
326
386
317
332
376
312
337
351
461
487
425
323
414
463
449
438
306
462
420
361
351
426
369
342
345
472
494
349
330
423
331
401
304
428
339
371
435
482
438
449
305
356
370
499
439
391
454
455
368
494
355
481
382
351
355
329
468
404
362
380
386
303
357
350
317
488
493
335
313
439
432
336
320
497
490
375
454
456
361
343
467
338
443
419
447
391
365
474
446
499
305
336
381
496
492
477
350
403
352
337
490
358
349
352
341
401
359
301
391
353
440
366
418
487
430
354
381
356
393
304
412
429
389
381
464
462
320
354
394
493
438
484
498
333
495
321
337
415
485
409
313
459
300
458
403
482
372
304
429
307
362
333
456
491
403
390
411
370
488
380
373
341
403
445
365
418
480
487
361
312
408
450
459
325
333
451
405
309
344
407
479
491
418
480
419
476
354
348
403
360
455
305
426
362
429
492
421
357
359
439
327
322
302
500
421
326
368
355
414
400
364
315
327
419
334
352
500
454
355
365
460
315
452
412
315
474
363
314
500
342
439
401
317
316
486
351
325
464
354
303
430
340
463
494
458
348
310
445
323
333
431
400
417
478
454
476
455
374
311
497
374
401
331
401
305
400
417
372
451
435
455
329
385
402
428
326
350
392
370
489
425
427
445
457
481
461
390
427
304
414
359
321
477
448
440
404
418
367
467
498
325
413
459
375
357
330
393
384
406
322
402
425
399
353
494
433
410
306
329
404
389
316
459
397
305
439
393
483
465
446
369
390
340
327
319
384
357
494
300
400
404
420
370
377
353
392
449
453
375
497
305
499
333
308
496
495
314
330
345
347
391
323
398
443
383
314
398
314
459
351
355
396
471
308
396
346
390
322
439
487
351
353
361
384
316
486
468
363
390
484
488
362
470
453
473
489
323
320
338
391
449
326
403
377
431
382
368
304
335
413
476
311
484
440
336
356
302
494
345
320
416
334
321
424
303
384
439
306
334
319
500
383
472
352
409
426
477
423
324
463
447
451
358
317
494
360
469
496
378
449
438
398
415
455
396
425
365
345
381
486
313
433
463
411
395
318
498
412
460
416
457
338
373
422
332
440
496
404
400
384
476
313
402
323
488
479
304
378
354
481
456
434
438
369
401
383
419
340
450
452
409
488
349
344
484
322
324
343
366
388
335
462
402
372
399
463
424
418
494
480
341
439
363
346
464
465
380
419
403
483
464
435
467
308
427
475
458
430
333
387
467
495
357
324
398
456
445
492
412
446
386
479
474
486
483
468
417
437
356
438
342
457
364
396
452
315
441
323
391
454
493
439
321
308
402
412
455
462
462
325
475
374
360
389
469
499
498
464
380
347
410
347
361
418
333
466
497
341
318
440
461
343
389
409
301
352
332
349
471
441
317
482
342
436
352
454
431
490
441
437
457
326
392
442
500
435
441
401
398
320
352
316
413
424
462
302
403
361
473
360
449
309
321
456
414
372
353
457
388
471
423
402
350
453
335
346
470
415
388
401
405
402
441
367
499
345
496
381
447
369
499
499
447
337
460
421
451
425
340
386
313
382
478
353
410
446
490
428
416
352
357
312
414
434
378
441
492
407
352
436
363
375
480
446
317
462
329
446
406
478
446
338
468
473
303
497
437
366
470
499
326
372
424
354
301
409
345
423
451
339
445
336
400
367
479
474
437
475
367
485
494
452
409
379
315
445
360
471
423
480
423
488
310
408
371
337
470
332
450
462
366
424
445
328
463
445
361
331
349
340
479
437
483
357
324
300
374
495
412
429
432
320
320
451
329
424
472
310
467
397
316
352
445
305
390
308
329
431
453
443
323
429
454
428
391
499
365
474
483
468
335
364
371
483
357
456
377
308
420
447
334
486
319
435
389
354
423
459
409
332
357
475
339
488
446
460
500
424
404
405
300
366
365
398
316
495
326
404
490
483
484
300
372
421
377
341
455
417
429
341
303
458
431
369
340
370
376
334
415
446
312
386
428
364
304
460
455
383
312
366
479
365
397
461
479
355
484
426
356
361
498
363
379
316
460
400
448
464
454
440
457
345
302
448
461
381
480
471
397
369
499
473
309
398
435
377
367
306
451
379
408
321
499
456
336
477
341
438
466
466
475
321
490
391
452
406
457
308
455
336
459
399
443
356
354
301
323
478
345
469
386
483
447
428
371
360
439
316
430
391
424
410
485
458
433
463
472
414
397
494
338
329
496
457
378
351
423
366
330
411
331
335
339
496
458
489
379
388
394
470
375
456
427
399
474
419
410
370
402
305
302
331
458
386
325
366
472
346
340
332
395
429
478
444
474
376
473
358
483
487
486
473
330
342
491
476
373
435
331
429
404
444
497
413
417
344
347
428
459
344
440
414
483
497
433
476
364
451
419
360
317
379
316
307
500
409
470
358
398
497
416
447
381
464
477
430
430
438
491
380
393
374
455
346
436
441
412
485
420
450
499
439
454
355
497
390
312
324
343
410
342
316
341
499
443
413
476
478
327
348
424
364
466
360
320
339
496
422
302
380
321
449
463
472
353
439
345
306
379
435
430
478
351
317
335
419
448
347
484
335
352
443
433
399
388
445
388
352
417
407
434
436
454
431
417
462
455
312
390
396
324
412
463
308
367
483
350
490
451
319
317
325
419
485
360
316
452
467
441
417
362
500
323
302
490
400
426
382
366
410
372
335
460
304
387
342
499
492
379
432
310
416
392
303
359
324
325
459
346
444
316
392
434
430
446
351
313
362
391
463
478
319
306
309
375
423
485
480
345
306
490
303
458
395
487
338
394
309
494
477
406
409
341
311
430
357
376
416
464
461
384
470
332
355
444
393
471
471
408
415
474
451
316
300
388
425
424
307
431
435
321
402
310
306
316
363
451
319
349
320
350
434
455
374
323
490
390
469
414
469
490
418
478
487
469
408
500
314
438
494
489
305
318
413
320
488
370
312
419
451
454
402
345
370
387
382
342
452
329
398
331
373
471
361
344
484
442
407
352
452
305
345
455
487
426
373
419
312
353
355
305
403
334
316
451
438
432
382
455
390
496
484
424
475
398
398
415
489
392
484
437
428
308
481
412
369
455
469
376
407
354
370
363
426
383
500
490
463
500
313
332
348
307
336
324
462
441
399
385
432
371
345
308
431
477
464
349
430
403
365
329
478
418
446
476
453
387
348
420
330
310
304
407
356
498
434
473
402
331
473
415
493
375
432
476
456
400
424
348
496
475
418
435
375
320
406
406
454
463
466
325
436
367
477
330
437
455
427
334
383
416
405
317
346
393
440
410
401
470
493
345
306
430
491
486
420
396
314
411
426
355
377
380
358
486
424
463
470
365
493
385
440
388
334
365
366
431
393
358
483
344
432
376
437
392
391
497
375
335
424
463
323
362
400
383
332
486
351
360
382
459
393
391
321
328
434
416
366
431
321
475
416
494
490
337
359
424
308
361
483
326
410
323
308
332
449
377
396
360
394
442
442
305
411
362
458
476
394
464
389
364
436
459
334
365
390
343
369
472
361
322
445
310
443
442
499
484
381
381
485
384
492
411
423
379
356
334
360
411
403
464
345
322
316
311
366
484
401
490
304
374
414
361
371
443
344
492
484
497
486
454
499
363
347
349
475
358
453
386
371
312
473
417
493
329
346
396
351
315
335
361
372
339
488
463
470
462
489
385
486
333
313
380
423
373
440
470
323
441
330
434
352
331
382
441
457
357
350
418
366
317
383
358
471
490
346
332
302
312
433
482
351
319
341
432
363
478
419
491
416
412
461
311
367
386
346
446
414
404
440
461
483
463
426
355
372
416
377
454
388
386
395
416
366
413
491
400
341
452
408
467
499
467
491
324
355
429
409
351
496
432
358
386
347
435
433
379
445
461
348
491
316
450
409
374
421
331
369
409
405
326
335
495
441
380
422
491
497
477
415
456
413
420
482
348
487
456
487
330
493
455
457
326
361
455
325
494
340
364
371
496
487
333
325
376
494
442
444
357
424
371
301
387
304
364
318
468
375
430
441
362
331
381
453
459
301
331
347
306
461
351
302
469
495
330
316
401
490
437
400
451
322
445
474
423
500
459
419
463
500
432
360
303
479
396
460
473
499
359
350
399
482
434
310
495
445
325
442
391
482
333
469
457
424
423
343
432
458
366
435
457
316
498
443
300
483
481
366
471
328
481
347
330
456
383
394
300
364
373
383
414
370
471
377
432
491
428
357
486
474
414
428
425
314
309
423
340
320
336
368
331
459
430
336
459
406
496
312
406
304
430
343
304
320
365
418
444
499
321
332
495
357
489
444
331
426
346
449
446
427
477
427
330
401
465
333
476
387
316
477
483
464
477
436
361
321
345
313
395
402
350
489
357
480
457
472
498
476
421
460
359
447
353
430
381
397
359
354
402
408
486
340
379
373
400
339
498
324
470
426
324
354
373
483
395
344
474
427
412
345
476
320
440
321
330
369
442
472
348
314
435
369
399
376
432
492
442
437
370
337
475
364
389
354
400
340
392
472
475
368
425
324
326
310
450
334
448
373
346
439
340
394
317
397
456
392
487
360
462
400
455
342
393
341
333
406
456
344
419
466
362
488
378
312
360
423
412
312
473
403
345
309
318
307
401
448
313
343
308
429
456
416
408
413
465
366
428
448
410
363
370
440
313
480
480
323
378
416
448
319
400
450
320
458
372
345
480
358
482
482
307
372
401
315
475
411
312
458
399
491
484
442
379
417
483
442
349
485
300
478
341
358
487
405
468
390
363
372
324
415
471
447
441
445
452
330
428
437
310
476
481
392
412
327
495
353
487
402
324
433
406
336
380
327
434
374
395
319
369
438
333
422
336
446
389
319
407
313
307
305
468
321
309
377
341
465
343
431
479
369
427
421
337
341
475
366
455
469
339
346
368
408
331
432
418
428
307
459
339
385
386
415
409
426
431
392
489
469
347
364
499
326
339
352
352
332
461
471
344
388
456
387
341
447
342
490
431
348
403
484
384
440
495
363
460
488
408
312
423
474
325
392
471
379
401
436
324
336
416
391
322
478
316
425
426
421
403
319
453
418
382
462
347
328
364
439
339
351
439
433
409
456
359
320
374
309
355
322
441
348
368
399
492
382
390
490
330
411
452
436
358
356
428
352
422
354
329
316
353
500
480
461
386
325
485
407
314
434
370
403
415
494
470
342
316
376
322
368
353
338
466
352
355
470
497
312
473
393
457
479
495
416
471
385
301
362
447
395
460
306
306
393
382
421
461
466
355
431
356
500
412
306
462
356
410
430
391
415
479
380
423
488
347
426
370
311
372
350
390
439
483
441
318
381
415
420
300
365
381
416
397
494
425
500
400
330
382
446
308
481
448
364
474
487
439
456
444
416
411
462
303
428
374
467
391
305
366
440
329
463
496
387
417
382
359
347
360
444
396
417
463
365
482
482
486
346
308
411
306
356
482
400
350
354
402
357
413
301
392
412
409
419
328
306
410
449
421
303
405
395
420
331
435
415
420
351
401
304
365
387
428
369
459
476
460
479
440
444
445
378
447
380
341
457
387
397
382
444
370
382
478
414
332
363
484
324
332
386
474
481
364
439
380
416
471
404
398
434
304
399
457
361
303
343
311
480
343
333
439
419
430
416
380
372
352
394
302
417
489
377
329
449
473
329
411
457
358
485
404
489
305
411
378
465
454
391
413
498
310
468
316
455
458
415
493
452
393
341
380
322
430
335
493
431
308
304
498
340
452
491
498
340
346
371
406
484
330
412
492
350
311
435
355
303
374
449
316
320
394
367
452
331
462
374
384
495
357
380
482
307
363
407
364
467
399
453
478
466
307
446
383
435
399
353
362
478
398
383
359
317
368
335
413
493
356
334
419
381
324
459
438
467
462
318
354
460
480
458
405
345
429
498
357
434
350
446
477
402
439
388
301
444
379
447
413
443
319
402
437
427
359
314
367
485
404
441
406
372
437
402
367
465
355
409
359
447
366
305
366
311
497
450
341
365
388
385
425
477
320
374
380
370
463
401
479
390
444
370
443
491
448
420
375
308
394
485
312
370
407
446
381
414
367
300
335
367
320
336
486
344
491
466
357
457
476
488
392
460
356
409
487
322
387
354
431
315
406
368
313
485
323
328
482
397
362
308
461
426
313
456
410
449
321
312
498
364
439
400
432
398
336
314
348
309
383
466
422
366
331
343
493
334
321
483
381
301
371
336
367
324
375
375
487
310
447
460
395
397
391
358
491
458
360
327
381
357
411
436
301
444
348
417
307
473
379
304
466
435
300
400
361
446
329
404
488
442
316
313
446
434
388
312
386
313
428
420
416
389
423
325
455
409
499
331
312
344
395
393
416
359
449
306
478
304
474
412
310
435
353
361
468
402
409
369
436
407
359
427
459
417
356
438
358
367
357
313
463
382
337
476
411
313
410
490
328
401
312
469
443
399
355
459
420
454
485
475
323
409
327
391
315
385
338
488
315
391
401
498
326
341
327
452
345
408
316
317
493
471
467
351
399
382
383
396
355
469
358
438
386
451
446
498
333
484
364
462
391
426
383
441
355
405
418
496
417
357
300
310
430
308
350
469
432
374
431
364
416
460
426
453
390
321
389
466
319
382
372
455
373
369
406
457
498
469
313
318
373
438
357
421
395
480
476
354
374
301
398
312
418
400
353
366
333
482
322
437
421
434
341
479
376
318
494
340
320
349
484
437
392
377
317
471
461
412
379
314
444
304
485
357
428
366
424
302
481
393
308
417
441
353
441
407
379
349
369
322
385
324
407
307
464
372
425
419
306
372
466
309
438
302
437
319
472
485
469
463
324
374
428
362
409
305
394
446
356
411
378
349
416
494
429
311
457
492
479
315
356
374
335
331
332
344
478
425
350
355
365
400
337
410
375
425
387
430
351
329
434
497
369
404
489
321
335
463
336
395
468
344
431
422
472
314
477
493
370
432
373
430
481
417
337
342
368
438
388
472
323
347
397
448
317
301
300
353
339
459
367
355
381
459
364
333
364
498
348
354
480
317
302
414
478
377
308
466
388
462
422
492
375
450
421
310
458
315
462
461
342
455
316
433
408
493
360
349
492
414
387
480
364
390
471
421
415
451
424
402
320
367
402
489
483
483
449
438
313
345
325
361
301
441
443
404
310
425
483
322
394
440
453
415
311
417
302
401
362
369
424
432
339
486
392
306
392
444
447
303
375
397
380
317
430
430
342
304
488
318
386
496
345
358
407
331
458
326
467
429
461
418
412
350
489
389
301
342
351
479
313
442
335
421
488
460
438
404
316
309
468
304
310
450
476
497
372
393
304
319
471
409
442
432
381
388
403
495
320
345
439
344
451
308
472
450
430
390
373
425
402
437
479
399
336
308
489
471
461
458
307
410
345
491
447
481
376
351
479
344
315
417
466
410
343
475
476
300
399
305
343
399
485
445
360
366
352
394
478
345
382
372
324
326
477
302
460
415
388
323
389
453
303
401
374
476
365
380
345
430
452
308
388
352
311
387
300
306
365
448
444
424
372
392
485
491
309
497
429
438
465
395
437
399
387
474
314
482
479
374
465
391
407
384
390
468
336
471
404
444
347
408
301
483
397
450
457
403
314
361
459
350
428
494
364
367
477
475
459
385
458
421
344
359
401
312
473
383
322
375
402
342
307
491
396
440
332
447
397
413
376
443
442
317
491
304
444
438
466
490
401
425
418
382
305
399
392
497
396
340
426
421
382
420
305
489
454
477
367
494
347
342
383
490
457
302
484
438
427
486
343
371
392
302
464
420
476
450
422
333
495
456
432
392
360
488
497
464
445
437
434
425
459
493
398
496
310
435
336
372
327
313
366
363
309
457
338
331
318
460
320
393
351
492
324
316
478
438
354
462
330
328
403
411
417
353
429
383
443
332
415
468
454
454
411
360
365
399
398
345
334
382
379
444
414
341
311
453
485
312
342
375
473
354
369
396
441
300
380
317
426
415
469
441
337
306
440
426
342
447
435
302
343
374
307
484
309
420
477
476
357
312
399
320
472
396
494
331
334
396
453
418
332
372
419
361
451
334
346
344
377
366
323
354
487
355
359
470
494
472
494
425
491
346
479
317
376
427
437
335
415
366
323
305
436
469
423
462
378
356
410
326
414
357
318
438
411
317
447
303
343
476
365
399
478
312
350
484
469
478
403
350
493
494
328
338
391
361
327
421
471
442
387
350
410
357
326
320
321
397
473
413
392
478
472
315
476
320
312
329
311
431
416
474
424
485
421
393
493
340
338
307
409
450
310
364
459
381
326
324
422
448
401
493
309
412
398
362
344
453
306
367
388
316
419
438
467
498
336
423
311
449
389
497
495
483
318
469
469
434
415
367
364
329
487
488
310
449
418
419
375
409
446
472
493
388
397
311
411
347
425
418
416
465
468
401
405
369
400
300
404
406
452
433
493
439
356
389
376
494
454
370
443
395
403
359
462
305
472
304
463
471
304
397
311
459
350
317
473
369
466
367
435
389
324
462
499
462
449
469
497
345
404
481
308
443
352
412
465
435
328
443
303
474
469
342
372
432
440
301
379
409
433
467
453
432
324
370
362
418
490
330
367
369
486
424
475
370
477
422
432
365
408
389
346
480
418
471
389
310
456
390
327
384
342
463
332
364
332
331
458
428
442
350
323
426
344
367
407
483
424
430
436
498
479
496
373
465
404
447
408
477
440
462
420
348
335
447
377
356
315
448
456
470
492
427
466
306
442
406
307
354
385
490
366
331
332
398
473
398
386
483
441
460
305
352
423
465
315
304
349
348
391
431
421
304
342
325
424
491
494
359
445
304
368
423
363
443
454
484
449
463
304
430
355
464
454
341
437
395
411
368
481
319
346
463
320
300
462
335
426
441
449
467
345
309
445
496
329
349
311
365
488
331
473
307
498
399
383
453
496
451
485
421
332
372
323
431
377
474
436
465
385
485
361
345
433
397
336
439
464
374
432
316
494
478
376
474
491
353
317
482
476
384
339
400
369
410
463
384
369
368
463
454
406
430
356
387
495
491
482
396
470
390
386
471
483
492
444
378
313
370
483
426
440
338
468
331
490
427
320
314
449
413
414
420
460
363
339
386
377
423
493
457
482
358
413
327
446
423
482
367
311
312
490
348
335
389
403
427
429
441
375
311
484
468
484
427
311
484
396
390
414
311
337
369
471
418
353
323
468
442
370
364
480
337
418
393
471
398
306
363
452
340
421
337
381
490
358
483
489
371
439
489
448
342
364
441
467
448
322
463
321
417
331
300
378
402
422
383
459
401
417
419
379
477
455
437
385
391
318
362
390
443
446
475
410
474
349
368
410
386
499
455
358
307
300
424
384
431
321
370
485
414
378
443
351
416
384
402
442
320
460
409
386
485
340
342
464
497
493
402
367
327
337
478
331
341
430
412
460
368
463
318
381
369
377
430
375
436
496
429
413
436
457
310
360
379
317
459
300
308
482
493
484
325
309
378
317
337
439
456
305
341
426
489
393
324
321
386
411
437
334
489
482
343
435
304
390
309
310
470
439
356
302
323
438
419
467
408
309
472
493
453
448
301
399
355
338
498
416
393
485
393
342
372
422
336
490
357
428
354
300
485
493
432
325
318
445
415
480
302
420
490
339
322
497
486
494
379
311
428
430
361
499
324
317
460
310
499
465
374
464
407
476
386
384
488
331
345
304
348
449
387
350
358
317
368
386
301
431
353
490
412
473
392
415
302
473
368
388
454
475
479
337
393
368
434
473
462
412
490
400
449
494
474
370
370
467
483
497
483
420
466
368
408
400
464
489
425
320
312
383
381
389
430
430
463
359
326
333
417
470
320
345
427
412
442
364
330
323
481
303
365
401
380
357
383
430
488
365
482
351
405
372
328
411
456
317
469
497
465
304
343
382
380
474
476
366
360
387
497
460
336
403
390
439
430
414
361
396
341
492
490
449
309
302
444
315
370
495
382
336
479
425
322
471
371
486
390
393
337
492
406
303
395
420
374
429
433
422
319
354
357
431
307
489
388
356
395
333
460
455
446
300
346
398
348
379
407
330
398
389
315
454
306
365
333
344
456
448
374
411
494
329
401
493
431
374
457
428
472
395
359
453
497
497
334
495
428
312
366
500
309
372
444
383
418
485
309
452
358
322
458
332
417
460
450
375
370
316
326
436
361
316
438
367
397
321
423
431
422
438
464
309
382
457
345
373
399
384
444
387
430
444
464
316
329
444
363
305
390
436
305
354
366
404
430
494
475
365
455
435
368
483
462
484
303
421
361
437
450
352
398
398
307
443
395
383
420
424
452
412
452
322
391
476
395
338
473
446
369
444
375
439
454
457
315
480
483
432
341
440
419
373
488
380
342
370
315
443
379
422
436
432
358
461
463
446
441
491
393
376
300
448
438
464
359
468
446
327
472
408
308
305
488
442
341
418
410
432
431
445
500
473
311
354
451
407
377
327
383
409
347
312
323
358
404
370
457
362
353
496
481
445
375
328
418
369
336
484
435
428
311
371
425
345
496
398
367
445
359
386
481
386
462
412
420
430
309
461
382
307
305
319
486
474
324
458
377
485
488
489
442
454
360
419
496
425
333
423
436
486
338
461
390
411
427
481
327
345
423
344
458
400
464
473
477
441
453
485
321
417
415
495
421
398
469
434
309
423
337
484
345
446
342
394
464
329
437
413
492
335
373
407
487
416
497
490
395
412
477
357
356
475
358
316
478
352
416
490
361
352
483
461
498
420
325
459
440
355
497
490
469
320
364
435
353
435
411
477
411
499
340
441
460
414
474
396
440
476
319
454
402
432
486
333
329
437
365
494
396
394
356
303
449
462
417
449
496
308
388
435
445
416
446
306
485
441
380
412
354
414
409
358
483
450
446
427
373
302
338
325
405
447
372
391
325
393
494
349
376
305
380
419
329
305
388
479
311
467
325
411
487
321
464
301
411
367
311
364
439
479
305
306
454
393
302
491
336
359
496
311
482
494
358
400
306
339
356
395
498
385
472
478
460
448
478
368
349
467
363
332
328
455
495
498
460
458
364
405
353
483
347
342
473
404
331
371
424
397
434
325
360
310
385
371
500
318
374
310
369
456
472
349
372
497
381
498
300
487
483
449
343
489
358
389
352
331
305
312
366
416
481
417
417
435
396
358
470
480
458
310
349
404
317
456
404
342
411
332
396
374
306
387
428
355
418
317
497
311
320
438
481
464
452
439
360
342
428
352
460
446
316
306
331
336
450
352
452
477
489
490
350
450
458
370
412
330
357
481
348
346
327
450
488
443
302
350
427
453
375
306
462
303
405
484
468
420
489
309
371
449
440
450
347
348
300
405
311
365
464
412
365
495
333
341
391
410
478
424
419
412
365
466
456
316
434
500
428
495
373
431
342
420
300
386
406
362
445
371
402
314
301
308
401
412
305
395
372
480
341
495
459
315
416
358
378
498
387
311
397
455
315
377
408
308
427
437
436
463
369
380
369
362
328
335
422
366
374
425
427
439
388
353
344
480
473
465
455
321
445
340
484
419
481
304
327
459
426
361
406
455
327
469
320
456
385
328
411
491
306
376
343
403
443
377
494
345
347
316
411
458
487
388
367
309
381
357
375
310
323
417
317
309
425
344
356
314
467
464
418
363
475
361
423
383
498
349
393
484
436
316
347
444
500
388
306
362
405
477
499
342
433
409
433
467
479
412
358
305
474
369
431
487
445
404
438
333
479
466
473
420
327
305
496
434
415
316
436
345
446
470
320
462
421
481
405
480
348
352
418
337
342
361
304
479
363
376
382
369
461
483
445
425
308
334
341
329
352
484
478
418
473
380
458
324
482
304
331
418
448
380
301
468
453
424
411
318
457
431
462
364
457
347
421
425
351
386
368
388
340
327
435
489
355
332
328
303
390
380
389
370
431
361
344
389
478
304
337
461
494
338
481
370
349
379
381
411
336
417
377
371
395
348
408
413
315
424
429
325
477
480
449
347
358
446
439
320
341
310
414
345
491
365
306
409
404
370
336
487
431
326
381
410
427
346
488
301
404
389
497
360
432
488
482
396
381
474
447
430
479
470
390
377
393
404
344
342
377
345
430
407
334
360
306
311
454
387
414
305
437
360
492
341
472
358
428
305
417
494
449
309
412
390
486
459
451
403
431
313
447
444
388
405
435
443
341
343
439
334
482
469
465
357
317
427
497
457
369
422
388
342
338
389
462
384
440
486
363
434
388
313
498
301
468
310
335
428
326
498
394
454
393
454
351
363
363
386
499
411
465
466
342
406
433
496
434
398
391
442
419
473
403
373
319
359
382
408
488
399
397
433
352
434
412
488
328
489
324
390
416
360
378
449
303
330
386
450
395
343
403
420
456
362
309
329
414
475
344
433
348
326
327
406
499
431
373
335
376
467
405
424
496
462
432
398
496
413
374
368
366
344
363
431
371
437
354
418
471
308
481
410
387
320
352
423
335
478
330
331
458
487
497
347
388
333
398
474
337
447
470
342
306
434
442
342
396
385
354
430
342
462
358
487
375
405
363
381
444
472
419
347
497
415
486
432
460
468
413
301
431
349
301
475
422
415
464
453
370
415
497
461
495
387
491
492
475
322
378
329
486
367
457
316
403
443
387
347
487
376
330
346
355
386
450
350
303
423
385
450
483
311
435
365
450
453
452
352
450
313
373
478
351
356
301
397
436
432
409
418
307
353
449
351
458
430
469
305
446
498
453
407
464
305
458
403
364
435
467
434
384
391
400
465
438
403
307
335
327
331
397
487
372
324
432
409
452
326
357
484
349
463
400
452
441
372
702
646
754
704
480
782
584
501
634
617
618
604
816
433
647
631
437
525
447
608
512
566
659
502
753
557
609
432
722
760
725
692
444
625
753
788
605
617
551
745
689
569
785
643
462
663
617
480
553
687
683
724
589
607
750
480
773
762
780
526
816
617
662
688
457
657
438
732
667
768
436
585
568
782
755
751
541
641
781
436
617
655
778
698
575
540
751
578
799
561
514
739
611
685
525
637
598
509
674
491
585
431
711
797
684
520
691
731
648
532
731
786
474
583
491
648
581
738
548
577
528
765
515
429
711
787
757
756
448
769
495
576
681
752
550
672
541
575
719
815
424
686
564
797
468
643
481
800
424
591
475
775
613
535
425
633
526
554
477
814
467
504
561
728
435
481
748
591
587
525
515
551
534
456
806
678
809
558
781
516
564
712
766
780
631
506
639
509
554
428
533
532
784
465
432
667
820
493
641
562
725
807
626
794
448
549
503
796
537
497
544
654
434
662
741
430
545
600
557
505
702
527
817
744
478
650
555
703
513
517
455
727
483
645
711
571
753
669
734
809
610
531
545
655
679
632
585
687
652
635
708
687
461
742
664
526
591
793
443
745
466
431
753
751
476
512
423
434
476
510
755
477
474
763
555
566
755
454
423
621
437
664
804
556
543
632
471
758
513
818
537
735
640
620
718
525
679
487
602
765
476
598
630
746
571
703
689
557
427
518
666
441
756
751
745
439
540
520
606
785
470
686
634
688
501
441
596
549
575
438
619
440
641
506
746
636
443
707
433
739
753
774
719
773
487
613
591
677
783
810
545
489
600
790
499
731
759
614
505
676
771
595
556
730
422
631
524
508
559
582
426
645
650
420
820
655
767
432
744
762
441
505
600
778
545
650
652
742
559
676
526
437
779
657
732
809
708
806
479
643
714
620
708
780
787
472
660
707
525
533
588
593
623
762
694
701
522
561
783
700
502
735
571
565
703
534
491
577
521
792
478
446
729
636
494
559
478
646
460
717
776
525
515
676
611
467
739
639
717
484
492
652
545
591
715
564
691
758
760
707
589
737
432
438
757
524
444
541
721
616
678
473
676
588
795
637
531
601
768
738
486
470
650
558
697
625
493
717
761
765
754
779
422
638
766
718
820
604
736
427
793
578
597
663
776
655
452
772
437
481
621
597
513
763
697
527
421
648
515
576
684
497
454
694
704
795
658
637
644
601
563
776
663
431
582
631
802
574
634
597
675
458
778
550
642
461
652
480
622
704
649
728
651
748
678
680
457
719
526
491
593
800
457
660
425
523
661
518
520
607
699
572
500
756
440
447
676
468
737
542
578
517
777
497
676
817
480
721
771
807
662
420
705
720
434
538
549
578
666
791
596
467
585
473
562
607
770
609
531
493
638
641
592
787
699
705
783
732
614
686
745
740
460
798
718
448
690
699
470
693
516
771
447
806
809
455
492
817
799
463
660
598
613
541
798
505
427
577
740
535
791
652
764
785
492
686
430
699
779
518
541
603
466
820
429
763
698
660
775
798
483
706
770
617
714
430
759
637
657
452
750
743
653
648
717
539
745
614
529
568
745
569
474
633
545
819
762
802
710
640
636
665
472
519
745
657
495
489
504
692
810
625
523
521
756
695
743
816
745
648
628
471
718
815
590
563
507
751
630
780
531
565
557
580
440
611
701
713
516
611
507
529
569
678
480
504
736
797
496
773
585
426
498
726
449
631
541
695
653
628
481
712
789
793
722
740
679
507
727
787
481
745
508
552
785
819
819
514
723
808
591
737
752
452
448
516
550
804
485
531
605
446
629
699
630
815
470
767
537
717
638
513
695
766
593
729
760
598
489
770
457
802
550
745
433
807
738
554
473
567
781
647
814
618
467
422
468
602
602
439
421
649
616
421
551
788
615
514
765
517
743
686
741
708
665
733
685
566
468
725
818
748
497
783
462
791
736
793
741
763
473
432
820
600
698
446
492
569
771
472
470
537
606
788
655
543
508
531
761
464
502
816
585
645
448
551
782
786
453
643
598
420
475
473
597
544
704
586
669
781
666
581
634
536
422
451
648
650
455
626
567
518
574
523
698
478
532
775
799
645
432
785
758
424
741
461
421
812
666
701
632
671
563
814
714
466
460
454
489
820
719
431
623
629
538
687
644
652
683
695
507
506
561
743
424
506
600
812
775
630
527
456
716
498
600
521
634
493
480
486
562
539
640
716
567
597
548
637
474
665
535
803
467
683
783
742
704
698
456
529
688
695
481
774
695
635
626
489
708
730
634
448
622
576
650
742
815
492
671
511
440
732
614
777
709
657
427
520
568
672
693
764
667
589
808
804
762
579
455
697
650
479
593
461
655
510
454
720
431
464
778
459
670
493
688
749
510
538
741
484
422
468
646
783
563
480
776
665
499
611
438
572
712
599
583
806
611
692
468
645
448
704
679
663
562
706
734
626
648
740
698
600
747
741
493
554
601
615
511
538
685
779
562
778
493
570
556
460
429
784
455
559
780
434
601
786
685
483
589
443
540
482
749
606
700
751
808
509
571
583
613
695
620
744
778
679
444
583
491
633
497
564
656
512
606
547
560
649
799
788
511
673
463
520
792
766
701
432
815
647
568
635
657
460
719
446
691
731
736
624
612
588
765
449
448
483
630
726
523
582
783
617
599
649
618
769
478
666
800
753
672
742
441
802
516
467
555
534
739
583
588
528
488
591
547
715
439
516
497
681
439
680
809
588
660
437
642
657
482
448
510
785
750
582
791
721
633
623
503
535
802
613
683
536
493
771
772
430
819
596
819
500
477
531
783
489
785
571
606
529
592
518
764
432
634
770
708
654
449
630
424
524
805
594
576
451
818
704
462
813
450
666
689
626
814
573
791
463
585
577
662
759
633
639
593
525
556
752
459
622
637
651
711
720
797
702
683
533
820
815
444
718
445
422
635
626
708
479
611
543
568
530
686
447
577
520
708
805
473
685
713
810
531
689
424
727
727
747
768
592
807
527
592
589
696
524
816
654
736
760
500
475
816
778
511
793
536
545
554
751
696
564
426
446
563
533
804
516
749
507
550
641
605
594
475
447
626
633
423
594
634
527
718
598
461
437
576
687
594
517
601
439
788
641
771
467
670
647
732
478
610
545
431
806
586
689
685
427
802
572
750
602
809
730
562
591
689
729
663
730
775
610
727
595
524
676
693
508
528
671
783
739
513
812
657
817
483
781
525
643
719
734
565
783
807
494
647
783
783
703
471
424
787
802
739
439
791
580
737
730
573
616
646
449
700
572
563
667
812
711
580
615
616
527
806
581
687
609
661
745
616
720
635
803
767
566
782
791
801
515
460
455
798
728
574
424
604
555
740
727
744
791
476
747
631
451
784
776
804
664
528
550
719
617
788
448
603
599
597
671
520
744
663
505
779
473
694
512
636
538
501
816
500
491
574
610
623
540
563
456
566
747
582
446
513
567
499
479
732
587
675
447
541
611
476
524
689
603
623
564
583
564
611
513
721
593
425
507
810
784
497
705
520
429
540
685
516
629
793
566
598
465
593
759
802
587
619
707
684
692
518
611
746
729
583
710
591
552
458
572
487
588
505
432
637
543
751
641
746
551
452
632
820
447
581
783
676
494
631
576
449
716
463
642
752
455
800
444
741
527
798
750
603
602
431
779
588
769
665
553
777
816
700
652
532
469
636
510
531
687
421
787
468
671
597
717
516
441
739
791
641
734
810
457
792
786
575
594
510
462
818
713
423
582
665
524
693
547
620
533
661
465
534
818
539
528
568
458
455
424
699
760
513
657
791
694
590
632
585
686
520
722
616
639
522
811
635
771
611
490
593
499
584
726
456
699
701
818
811
626
671
424
552
801
472
426
597
660
702
424
554
701
546
692
509
624
437
715
650
549
640
582
632
719
742
710
702
606
722
554
575
725
808
561
426
458
506
748
759
531
819
651
631
557
641
686
772
537
802
480
466
714
549
426
528
507
640
806
549
472
504
460
648
480
783
497
707
507
704
626
561
799
690
778
786
621
426
738
552
661
688
775
628
724
627
473
464
478
434
434
601
644
612
428
753
723
541
694
770
436
724
445
426
759
612
802
770
533
792
481
553
526
629
777
532
792
757
616
614
705
714
611
812
806
487
610
554
725
538
703
811
629
602
552
580
596
519
671
457
728
758
504
636
718
808
706
618
678
667
553
457
685
554
490
434
454
449
425
499
732
784
633
449
736
723
468
596
770
638
623
440
618
461
473
583
422
677
576
467
740
801
792
543
549
433
628
453
809
670
755
632
578
603
470
606
627
629
628
567
759
600
643
495
606
604
448
470
718
533
652
805
463
436
618
549
523
620
815
482
448
720
816
627
804
751
544
772
818
656
513
507
759
697
638
790
734
422
786
459
799
507
680
500
744
610
739
661
493
735
644
685
686
420
659
699
515
741
766
501
701
709
496
465
775
499
724
552
742
601
647
668
784
489
450
570
814
611
785
594
697
434
604
755
765
475
572
790
769
462
521
548
473
763
539
436
544
428
708
496
708
590
591
424
767
574
777
658
473
703
756
595
607
576
649
711
731
760
638
745
576
656
659
804
551
580
568
765
617
428
467
788
548
470
420
657
810
610
674
450
475
455
640
656
487
704
609
790
738
650
739
800
589
420
786
798
517
759
798
635
438
757
698
473
560
430
463
572
530
420
739
482
489
422
590
590
637
575
665
684
504
644
420
686
716
721
654
629
698
733
599
552
492
787
559
814
698
479
471
456
465
578
512
526
642
563
693
467
545
559
525
488
588
502
797
657
462
561
670
564
725
801
741
461
813
688
812
585
619
809
601
540
741
660
546
614
533
735
641
484
607
438
684
778
425
634
722
733
447
614
689
752
607
779
784
704
517
723
764
753
803
571
786
718
420
484
534
725
622
580
489
433
441
715
469
509
697
660
778
472
570
747
541
542
768
422
772
498
663
621
781
804
732
455
470
514
711
428
798
532
549
697
624
545
785
796
553
445
789
574
629
504
662
462
766
574
720
480
460
787
670
529
569
498
639
717
676
482
590
736
594
759
656
499
774
601
458
813
718
436
583
564
588
579
474
506
435
655
791
530
667
463
500
770
586
449
550
626
494
467
622
586
768
444
666
491
752
615
559
607
515
454
462
448
612
652
595
705
706
444
812
573
639
487
776
738
751
505
420
614
776
689
755
739
753
805
768
477
527
477
435
459
615
789
667
618
509
675
736
743
696
471
506
505
546
660
641
567
499
427
575
604
775
632
666
783
678
460
533
533
714
642
532
732
485
787
613
585
473
427
799
811
436
610
809
763
510
461
660
453
725
733
518
705
446
645
462
422
440
521
728
439
499
711
442
485
514
693
434
747
686
466
442
725
586
755
591
733
578
811
629
699
513
482
601
783
472
765
653
610
573
651
733
444
727
673
615
768
615
652
737
709
482
563
485
618
638
718
726
743
571
539
445
434
530
546
813
657
769
721
613
610
451
470
452
642
807
747
740
646
491
796
615
633
733
535
699
545
508
630
635
802
701
509
632
455
694
795
534
621
800
560
440
720
757
636
679
768
784
458
463
638
734
513
506
788
804
637
811
598
431
563
699
468
495
490
496
609
785
625
600
513
554
759
793
748
630
495
449
680
624
528
617
499
768
760
603
441
770
525
604
819
603
683
775
461
784
620
738
438
479
679
593
431
601
457
693
540
645
572
526
464
640
775
541
761
751
451
473
463
536
736
599
557
442
524
619
460
463
425
648
478
606
556
520
753
771
532
445
563
689
475
751
458
755
525
769
623
553
636
758
710
537
760
806
723
436
538
457
455
763
578
440
660
802
594
432
523
564
738
706
754
645
760
791
499
638
575
715
484
652
458
597
463
581
549
514
753
434
726
506
502
503
562
647
509
539
725
586
472
788
648
587
468
528
574
576
501
790
736
806
451
785
674
577
470
523
770
725
547
565
632
571
510
458
432
757
468
528
643
791
678
638
443
641
456
551
717
717
489
544
546
791
537
562
567
520
595
694
471
482
798
464
506
527
651
712
591
737
665
638
649
525
637
789
477
665
692
674
773
778
500
569
766
485
708
687
522
685
652
730
458
780
486
715
467
660
484
784
598
526
694
489
601
555
763
731
615
601
596
602
520
715
775
583
788
625
423
547
473
659
699
485
632
457
504
676
771
660
566
541
437
809
799
570
599
453
456
759
607
622
422
647
595
494
693
704
554
735
575
646
441
659
621
514
758
657
694
450
548
815
626
744
458
624
693
672
759
603
448
439
496
561
746
665
804
528
725
581
567
489
669
572
588
761
522
745
530
443
701
515
452
690
769
672
707
679
544
670
679
429
691
552
453
426
639
517
589
748
691
459
514
493
470
712
596
784
730
462
770
495
708
433
540
731
523
550
652
604
690
733
478
603
528
608
605
732
753
542
440
635
496
647
493
765
642
515
812
537
761
491
671
483
666
758
741
772
519
796
807
751
784
529
501
712
812
499
590
628
687
743
643
648
472
765
709
451
722
472
577
474
799
718
812
477
807
634
538
814
763
499
488
818
546
776
661
579
508
557
781
596
717
704
749
539
454
598
685
580
522
649
435
561
655
722
791
440
787
596
616
786
706
740
461
638
538
689
721
569
756
761
750
669
578
682
434
594
685
588
793
709
512
776
606
454
684
551
481
695
643
443
661
528
548
683
472
462
817
575
677
674
528
462
723
643
741
612
606
450
727
692
603
690
815
541
573
667
511
421
458
698
672
559
436
660
500
775
477
674
711
589
802
441
767
722
525
546
756
498
755
765
706
474
767
819
790
745
740
791
488
741
700
427
547
684
441
574
766
682
685
698
623
695
524
481
566
425
715
582
668
595
783
572
567
594
728
751
732
434
663
616
732
440
780
650
474
488
553
661
625
726
527
595
629
722
423
703
764
654
519
675
698
447
616
513
497
535
690
707
501
433
716
511
494
506
819
606
508
690
812
714
562
756
666
495
732
717
584
570
674
758
576
623
612
451
785
764
593
425
514
462
642
524
657
800
680
578
575
470
623
588
474
565
542
477
438
818
752
778
792
455
816
797
555
509
484
431
423
620
427
482
721
767
688
729
526
790
553
818
604
460
733
514
559
580
754
605
511
604
423
666
625
709
779
740
810
800
683
647
437
571
699
581
529
619
612
648
604
741
676
819
646
792
805
545
806
551
717
740
620
550
686
722
539
562
498
496
737
750
547
624
697
493
522
543
554
580
805
425
819
790
656
506
780
505
605
608
806
539
792
800
442
517
448
564
528
786
461
602
732
814
766
717
718
513
431
505
531
809
432
747
490
621
513
549
486
524
730
595
656
536
553
808
606
618
489
496
798
756
619
504
588
460
450
786
785
690
601
818
687
517
511
726
726
436
487
544
450
517
429
741
755
521
548
609
614
780
639
570
730
439
782
627
659
465
704
486
478
600
700
635
645
698
480
787
746
484
496
684
745
515
657
774
793
755
709
692
693
503
457
816
715
722
594
570
670
563
483
644
665
608
598
727
595
591
518
738
796
756
629
497
501
430
737
603
584
753
540
801
589
514
553
437
482
613
802
562
597
644
602
560
422
470
529
617
474
520
480
626
800
807
808
677
424
519
692
762
557
537
801
639
797
534
439
592
622
463
441
668
505
685
711
802
728
555
681
676
456
580
577
644
695
658
792
601
486
474
658
638
455
715
783
649
734
591
748
656
430
763
658
784
451
691
815
799
726
662
759
794
810
776
606
461
439
659
707
529
424
543
526
575
530
577
715
700
441
728
663
488
548
604
802
422
583
628
690
511
797
691
426
649
510
794
778
598
558
679
487
785
595
816
638
663
801
512
600
457
800
440
526
693
422
581
656
523
769
746
480
607
665
727
737
726
427
478
551
601
563
588
759
431
426
564
425
569
662
634
511
564
460
734
742
612
606
620
435
723
658
771
763
454
506
609
591
435
721
795
654
608
630
765
809
687
676
483
714
532
625
761
513
486
496
659
723
548
714
567
651
724
706
438
550
628
541
447
766
594
800
700
796
589
816
799
591
639
490
475
628
552
706
733
776
813
498
592
770
805
762
768
660
728
755
496
697
722
640
734
674
677
634
762
532
756
491
722
792
446
461
768
629
675
430
696
469
793
717
568
487
766
636
567
539
794
802
787
627
763
497
554
558
609
584
722
460
557
614
774
743
634
434
800
747
714
729
810
537
698
517
445
461
511
471
659
437
658
543
540
633
697
539
716
702
644
546
563
725
590
652
744
666
441
585
782
568
627
569
777
438
688
706
695
483
475
546
800
714
535
440
643
708
678
787
536
687
722
530
470
620
440
468
428
804
689
645
696
533
758
505
438
586
544
674
579
479
647
512
512
493
425
617
456
472
439
733
452
481
462
617
625
761
493
733
612
601
503
785
775
776
638
445
810
476
560
540
452
716
803
808
780
427
733
544
799
694
644
642
620
618
780
503
507
508
731
812
655
440
748
461
506
462
448
597
788
428
456
553
463
426
426
669
443
644
513
574
542
766
473
730
681
571
797
529
766
512
656
496
639
484
689
569
760
460
705
703
530
472
480
572
609
580
716
808
721
632
814
577
632
692
647
491
540
764
620
659
696
454
469
798
489
580
563
529
686
729
541
488
797
454
448
705
594
524
637
747
421
551
587
715
675
524
649
462
672
420
735
726
579
651
421
667
738
578
659
429
505
593
693
769
698
555
547
650
694
487
741
759
593
647
505
489
549
809
805
482
664
679
678
811
434
713
534
776
518
522
774
655
451
509
553
740
429
699
689
729
463
457
555
788
524
817
685
796
578
452
564
722
474
598
688
818
685
632
627
671
589
511
615
811
545
535
776
811
636
564
750
531
570
774
792
662
449
655
531
692
621
584
424
639
782
546
534
427
719
427
666
566
606
447
619
546
644
466
576
743
722
587
749
791
493
667
621
753
513
477
498
728
711
482
477
433
560
476
621
512
543
652
535
531
581
501
510
723
508
606
488
532
511
698
568
610
594
758
558
489
480
718
582
741
642
665
731
574
591
452
457
672
796
440
442
722
556
809
752
736
729
535
490
487
685
552
479
458
671
818
570
576
686
521
549
618
521
776
703
673
701
802
717
588
424
489
731
728
759
583
756
438
552
799
596
819
743
636
632
708
547
469
661
473
564
710
644
642
747
588
700
607
509
469
726
597
493
635
767
450
694
525
749
723
699
778
487
705
614
708
548
705
505
638
786
485
710
709
723
546
586
509
715
473
614
603
639
704
579
612
799
514
651
688
756
527
512
529
603
482
522
789
818
611
615
745
735
653
811
652
772
750
506
646
465
763
648
564
423
622
573
731
490
677
651
650
629
789
668
456
439
723
461
517
650
473
595
434
699
493
746
780
477
730
520
788
813
785
422
505
693
619
572
451
681
420
681
468
465
457
806
427
786
797
622
565
575
759
734
605
599
605
689
455
431
586
472
526
625
755
445
595
643
526
784
442
723
461
591
508
681
625
721
472
665
514
508
432
748
440
559
463
561
619
442
746
493
626
517
501
526
477
697
707
632
710
545
762
438
543
771
561
587
669
762
756
634
551
510
546
646
659
648
503
647
675
686
743
699
681
488
472
641
444
670
528
490
584
809
695
778
477
481
506
666
519
597
530
516
468
448
527
719
806
770
742
737
662
592
625
751
466
436
599
478
543
684
571
432
549
425
499
651
595
534
467
506
794
527
600
787
677
678
741
462
690
545
518
608
671
690
606
779
721
457
484
717
612
643
557
531
484
528
595
615
499
428
732
684
688
657
681
652
762
438
738
455
814
447
498
797
546
540
614
488
627
532
553
618
774
692
547
543
793
698
689
811
433
483
592
429
761
762
747
436
480
455
664
680
563
510
671
561
573
531
489
765
421
596
658
649
602
730
470
629
552
581
709
803
686
765
686
541
773
520
657
808
676
714
454
470
523
578
445
619
510
441
540
556
564
734
573
583
660
589
725
748
718
533
700
687
674
489
805
439
605
628
746
562
765
755
737
491
782
566
743
484
443
791
506
730
464
580
518
668
486
450
663
682
511
571
519
722
684
699
736
521
716
489
629
740
789
582
455
672
576
427
580
512
420
507
818
478
531
634
632
531
678
795
738
792
749
622
572
813
621
468
455
788
606
677
711
472
551
678
679
429
722
542
606
491
640
777
615
735
730
444
575
782
621
631
714
699
465
776
595
585
453
636
816
704
644
789
817
781
486
781
590
697
628
467
757
593
739
512
759
721
565
753
449
753
630
609
552
619
701
703
544
626
674
599
592
642
492
707
621
552
656
747
814
715
510
498
680
610
442
805
769
447
702
539
726
576
665
583
420
642
443
626
687
711
741
662
621
659
485
497
621
687
726
571
787
810
447
697
471
638
802
593
454
497
627
499
642
708
462
716
575
463
729
447
743
581
607
468
759
435
441
773
794
713
758
795
625
809
764
611
716
675
462
811
532
661
531
700
524
547
428
785
656
672
527
758
819
801
613
814
511
459
596
774
516
545
798
721
606
586
512
463
439
745
529
588
556
707
731
732
579
545
527
549
712
777
605
609
475
741
472
581
463
452
590
743
770
685
553
460
555
721
620
562
668
451
524
649
521
604
499
667
731
716
585
801
480
458
483
638
717
429
669
487
486
534
642
743
797
728
594
658
778
446
801
795
431
553
511
743
433
672
627
542
425
777
523
628
494
703
647
543
772
579
490
716
726
427
525
521
493
596
664
440
794
474
629
676
448
607
531
580
798
820
545
763
755
666
802
606
682
574
570
640
481
776
706
474
776
632
594
817
682
704
670
749
627
718
420
603
757
471
785
746
662
509
683
663
539
574
536
603
808
499
618
539
426
571
735
440
727
479
559
608
817
697
537
451
589
664
516
531
777
810
469
601
477
425
581
612
664
475
514
559
612
473
712
662
539
442
627
423
767
672
726
678
618
619
560
444
461
463
420
783
450
803
425
594
472
724
525
745
774
778
659
510
515
649
820
555
555
492
717
542
502
547
654
589
441
580
537
616
655
525
702
514
804
791
461
662
541
810
471
684
761
550
492
812
541
674
666
549
702
731
441
710
810
814
813
647
559
813
680
506
550
706
420
760
663
736
643
485
695
561
740
600
801
461
518
588
637
582
566
464
439
477
434
430
772
574
662
593
627
814
728
531
787
473
666
628
622
682
422
456
552
432
553
735
579
679
428
541
482
605
421
806
789
607
801
503
469
549
759
630
469
506
510
699
578
766
709
792
685
691
457
501
421
708
515
774
554
503
515
549
480
612
574
806
496
462
667
641
741
623
615
451
509
720
774
528
655
732
596
541
469
789
638
558
576
655
575
456
740
659
672
469
560
695
563
816
758
795
502
707
646
680
689
637
696
796
486
725
792
704
533
674
769
638
686
587
520
503
630
423
542
465
749
645
679
644
656
608
767
723
726
438
531
492
694
628
555
431
628
427
820
589
572
667
638
527
425
521
787
556
566
599
661
596
451
621
473
574
689
631
731
611
534
513
604
462
503
723
817
517
744
483
448
766
431
643
760
602
731
550
750
802
574
812
522
760
569
633
647
775
779
712
772
784
554
631
459
432
512
671
561
801
704
751
705
566
670
741
770
610
654
695
682
635
624
650
788
533
465
715
569
518
807
657
665
666
475
731
767
622
571
511
611
496
438
547
624
538
723
616
679
460
762
673
669
580
533
444
559
566
536
464
619
604
632
479
634
595
683
678
680
818
451
812
535
517
476
617
724
597
555
586
581
514
461
698
668
479
499
705
795
441
646
484
675
722
576
776
802
581
771
791
455
628
467
788
747
492
741
471
458
736
511
522
604
754
527
745
741
625
781
692
630
780
573
754
468
727
778
773
746
698
485
655
811
767
746
732
497
735
778
756
814
624
488
426
710
508
447
750
459
819
709
506
711
559
773
455
787
586
539
774
481
440
644
528
589
703
444
787
750
729
782
462
704
486
593
690
554
535
716
772
492
482
740
693
422
639
597
718
565
717
600
606
639
544
662
487
505
567
690
774
474
644
528
549
729
794
423
683
508
586
643
632
640
480
497
721
556
530
653
719
757
737
758
426
644
784
569
518
612
754
698
604
657
641
594
429
437
659
665
560
484
752
441
714
620
598
499
657
528
651
616
601
428
640
489
620
424
424
792
657
438
748
509
731
498
695
464
733
665
644
592
702
469
731
668
711
615
786
648
720
572
444
641
740
674
758
653
787
485
720
716
638
516
478
456
682
525
756
716
537
541
519
464
731
745
688
728
741
801
452
440
685
802
735
583
575
623
612
430
476
813
425
481
550
647
771
723
604
580
809
767
535
658
529
699
468
481
596
520
736
733
715
517
526
555
508
424
814
638
436
672
537
700
491
744
782
622
452
577
752
506
800
421
571
475
563
704
780
635
750
637
625
438
751
699
530
622
652
581
738
667
444
532
787
488
490
798
525
729
639
763
713
586
746
802
461
723
420
628
766
667
735
535
440
761
512
783
693
721
544
649
686
801
531
692
678
592
701
560
643
642
619
797
572
742
758
692
550
508
679
743
774
478
669
805
776
601
636
514
643
806
785
437
440
730
493
800
490
480
769
775
571
568
548
544
474
699
623
548
549
594
655
752
799
712
627
697
693
504
651
683
444
543
508
814
513
755
576
542
684
757
595
564
526
421
668
599
633
467
424
492
757
719
422
701
680
710
637
455
564
526
440
736
506
535
662
770
593
569
744
622
616
723
714
684
716
772
694
764
498
440
542
617
730
722
688
613
480
797
755
580
619
807
737
608
703
516
446
479
494
536
509
501
770
459
653
537
776
440
617
815
480
728
659
820
514
627
430
783
478
545
689
495
464
676
623
422
494
710
625
688
752
561
578
784
702
689
767
598
546
681
470
678
435
534
686
787
631
680
802
458
475
648
658
646
774
804
488
728
793
607
740
743
609
729
820
711
431
704
570
813
752
499
448
683
817
593
732
494
492
583
788
795
675
800
542
641
503
635
690
564
806
712
811
528
465
587
574
789
790
450
444
802
576
720
694
745
801
815
488
797
648
769
732
737
682
421
441
529
605
433
689
696
430
545
771
813
550
498
740
628
584
537
772
743
753
818
626
676
608
508
481
509
739
723
713
653
579
789
609
572
424
731
582
779
800
716
757
597
451
492
807
564
697
785
486
451
585
754
674
563
512
622
465
689
779
584
558
774
444
788
738
572
632
803
593
557
811
696
644
736
765
440
699
427
663
423
442
735
756
598
705
522
514
525
543
642
641
808
687
748
546
552
791
685
480
678
489
610
818
699
520
541
470
812
760
820
800
571
556
585
569
638
716
701
808
729
635
461
591
597
583
622
579
592
455
705
650
636
639
571
430
727
772
462
726
749
758
768
713
500
450
577
503
778
445
663
700
730
562
658
715
695
526
436
528
753
741
526
671
599
583
792
738
582
625
721
702
592
713
513
737
632
498
651
439
518
803
649
760
694
621
452
692
570
605
587
619
566
685
619
764
628
780
610
528
760
489
814
462
475
494
565
540
512
664
776
691
752
693
518
433
726
422
798
734
594
507
688
481
590
543
440
531
526
444
526
506
529
612
548
579
611
539
723
498
457
423
558
816
598
643
488
817
777
639
581
457
454
548
441
573
602
753
747
485
712
673
588
555
816
574
451
747
483
728
528
513
593
453
422
499
530
587
576
497
477
736
563
705
424
729
544
746
519
700
571
686
705
786
800
671
530
685
430
772
528
671
525
613
460
706
640
666
659
632
640
625
580
668
464
686
572
765
715
622
609
770
766
436
466
427
675
686
494
562
794
529
506
700
805
619
421
688
584
578
459
713
751
655
654
667
780
535
422
696
484
512
617
818
559
687
681
564
485
644
605
711
732
580
512
740
601
736
540
565
486
699
465
568
573
475
725
770
778
689
788
720
541
497
462
463
461
776
541
814
758
698
657
595
748
815
629
504
789
706
495
468
484
739
560
688
781
557
504
733
586
446
805
442
428
444
665
752
670
696
466
434
801
452
479
430
508
442
421
629
584
437
574
442
453
481
756
775
680
604
788
421
553
817
599
626
464
719
656
800
466
556
472
677
679
819
720
612
622
774
581
725
531
501
789
453
507
635
450
664
529
757
657
757
429
697
758
717
534
572
462
435
423
469
468
785
808
725
425
550
594
590
608
698
571
576
595
639
656
609
757
623
529
434
705
449
747
483
658
726
554
433
420
470
481
683
449
774
623
521
580
724
812
512
764
736
784
524
740
812
582
781
771
534
589
605
614
717
666
815
594
777
534
425
511
565
465
691
646
448
512
756
552
643
533
550
678
706
787
614
690
687
756
785
429
504
652
554
721
607
496
448
798
759
463
633
464
657
548
624
528
691
642
659
429
680
596
575
476
578
534
454
659
560
764
772
512
571
596
820
766
434
465
540
756
808
474
803
451
526
447
489
782
722
817
471
652
620
635
657
427
488
638
773
646
631
531
561
800
481
554
588
814
756
704
533
521
577
514
771
780
706
704
451
604
659
774
424
740
580
806
665
736
767
709
786
490
634
587
510
750
695
654
599
562
655
505
634
429
579
580
649
747
584
486
678
453
452
708
768
706
797
447
737
801
724
755
597
483
706
450
777
735
643
599
655
523
786
682
690
764
611
715
694
569
798
819
621
620
573
733
486
459
510
459
694
704
730
484
560
658
548
608
660
674
548
499
606
471
755
512
605
566
751
518
774
485
776
623
669
749
481
613
804
527
733
761
507
590
678
685
662
743
596
436
603
781
533
545
600
819
770
696
656
716
789
628
621
618
693
482
573
706
762
621
471
537
513
578
645
456
714
614
641
774
718
613
688
549
672
550
611
748
532
740
815
478
450
633
556
540
532
627
646
650
565
803
499
765
546
712
792
463
769
777
500
454
665
573
682
540
732
679
667
791
463
699
793
807
483
516
584
722
461
467
574
601
513
787
743
615
744
469
697
518
670
483
515
613
454
560
466
634
634
723
675
577
475
647
542
551
683
421
632
767
541
785
639
733
526
768
508
668
535
467
741
744
808
608
543
455
428
650
479
564
547
705
503
625
488
716
559
784
791
425
715
736
515
738
731
435
655
449
734
571
587
582
450
719
650
577
718
438
591
623
804
483
479
622
517
533
594
691
727
601
718
480
422
636
674
772
642
657
796
476
439
529
516
707
585
504
578
711
431
582
531
628
450
582
713
565
570
784
582
502
779
679
672
662
742
459
794
731
779
422
495
512
564
646
761
520
558
697
699
542
448
612
807
807
631
653
619
528
796
687
521
775
639
752
494
819
721
562
593
611
690
670
595
712
663
446
657
632
659
456
715
478
719
643
766
427
804
686
444
659
727
819
696
711
500
613
714
710
765
665
523
440
785
527
740
428
770
641
597
713
739
553
534
541
451
482
451
719
640
634
649
511
707
791
433
590
559
722
748
564
807
731
537
543
444
567
467
497
665
678
437
707
501
540
464
736
657
754
575
626
807
744
437
421
613
422
819
423
813
763
779
451
703
490
582
714
522
584
570
636
597
646
565
774
804
428
445
681
470
562
651
551
672
472
454
563
627
511
521
532
621
756
592
516
505
486
560
726
714
669
474
649
468
493
594
754
660
718
798
758
422
620
508
665
694
548
603
786
650
664
420
806
738
783
573
453
611
561
666
758
480
634
794
818
658
688
692
718
431
702
660
452
797
520
463
465
750
500
535
530
610
548
688
637
521
453
786
616
558
813
795
727
690
691
487
529
534
730
782
681
680
547
776
753
599
728
449
476
815
699
539
704
541
432
593
808
592
592
637
729
653
616
575
486
563
624
646
535
548
464
487
791
511
712
589
803
654
474
671
537
638
607
443
593
605
625
512
420
783
702
463
444
447
574
739
480
683
553
445
564
728
479
559
667
604
576
459
788
637
480
442
558
499
697
737
496
775
644
520
578
480
466
744
460
568
615
816
517
504
546
637
605
544
789
809
489
566
757
431
497
712
452
426
563
526
686
686
668
720
628
453
787
738
487
681
454
558
653
490
481
656
475
661
647
818
751
453
448
540
621
564
559
569
714
422
643
427
428
487
656
665
664
662
531
657
574
467
564
496
490
673
615
691
697
605
437
509
578
740
517
479
471
688
794
690
464
450
679
604
792
563
433
803
722
491
607
788
666
575
486
572
422
739
692
792
710
423
498
588
527
815
547
799
494
592
524
695
691
732
771
568
498
599
806
780
531
694
487
762
538
809
809
610
506
646
610
778
639
728
445
481
756
640
546
810
519
807
440
644
679
491
745
605
807
636
607
720
620
728
612
555
536
636
693
635
453
745
500
628
779
725
521
727
730
498
591
605
626
684
706
801
744
603
736
744
491
523
741
606
638
565
464
751
735
447
729
607
816
467
717
712
786
463
463
470
817
716
545
754
729
786
656
599
636
652
729
778
654
802
518
617
772
592
608
541
428
783
474
596
749
570
480
808
650
659
722
619
735
467
556
690
478
752
601
701
706
685
566
809
525
466
461
555
439
530
749
657
495
443
580
750
597
647
690
712
436
531
680
666
604
633
585
441
750
711
516
540
608
719
438
685
523
447
485
593
774
770
801
547
734
773
546
505
701
709
696
810
680
753
643
782
648
420
675
571
683
714
557
709
751
496
530
546
623
577
471
703
485
583
450
772
657
617
777
572
796
543
592
487
721
705
690
558
569
801
737
444
573
590
748
679
645
567
573
631
453
620
690
649
654
422
636
628
652
594
548
745
733
667
514
796
808
691
809
609
596
663
807
608
560
441
603
456
570
712
653
439
570
783
661
590
782
551
648
812
766
628
504
553
514
585
630
771
768
679
705
619
437
793
425
640
480
425
512
632
759
559
479
693
646
493
512
641
754
524
758
438
700
598
585
435
561
572
531
448
735
661
567
749
769
682
427
509
749
527
462
652
632
598
669
751
620
463
443
643
473
634
485
806
554
740
483
520
423
576
628
733
737
618
588
721
647
693
777
713
778
571
497
466
674
695
599
644
554
457
659
644
738
509
700
423
675
674
669
608
817
573
544
687
445
448
719
790
442
496
571
568
562
465
586
573
761
792
644
460
566
423
566
678
594
717
517
609
433
704
692
573
669
700
715
475
548
469
493
773
634
662
790
565
820
510
588
548
796
557
499
674
712
715
776
705
586
614
722
820
614
436
428
473
529
686
807
711
587
432
573
717
761
442
460
764
705
525
543
572
610
422
735
581
721
615
684
504
745
597
644
477
517
753
455
561
804
565
750
800
469
750
687
503
581
666
794
624
471
551
685
648
487
477
758
454
563
611
571
753
642
654
534
787
818
598
457
653
478
791
529
603
500
554
819
723
541
761
543
491
617
429
587
564
444
424
442
456
679
491
493
631
809
704
786
495
592
576
586
735
620
746
550
620
432
422
646
741
523
526
605
553
711
614
759
640
435
704
716
647
602
624
760
767
509
520
535
452
754
744
807
564
724
715
719
648
437
422
486
463
748
678
427
487
478
660
642
520
577
601
789
444
420
533
709
665
663
812
468
475
679
555
477
769
511
567
611
681
572
432
816
550
693
690
712
530
532
523
592
645
624
473
785
601
512
774
562
710
466
764
664
422
475
499
459
533
487
582
725
607
552
661
635
488
608
805
585
606
787
645
762
717
747
737
611
742
553
652
766
442
645
739
646
529
623
681
803
573
672
680
455
658
530
434
457
502
499
593
549
810
435
496
659
658
532
687
585
681
593
698
710
421
710
637
670
567
748
668
603
728
801
724
633
579
701
564
575
638
760
715
666
637
457
704
713
643
707
514
644
516
739
649
533
584
515
431
686
444
788
677
667
797
683
689
432
425
549
638
703
626
712
642
731
473
586
760
607
523
543
531
573
601
542
518
487
548
497
585
623
574
488
458
455
598
719
628
700
591
578
624
549
699
761
452
680
793
782
685
603
438
673
541
634
797
605
780
547
741
556
567
496
525
750
432
720
487
773
759
447
555
578
482
594
495
671
815
684
759
577
739
663
495
747
679
636
604
642
426
570
569
675
780
479
677
538
673
477
447
757
730
597
527
556
820
558
524
731
740
708
545
817
802
807
580
654
718
530
633
488
482
618
713
490
511
774
661
700
613
622
776
539
754
719
653
659
787
811
802
714
478
422
550
622
666
684
683
690
656
504
620
448
618
637
614
588
718
492
699
653
444
507
675
471
684
689
791
604
475
733
596
631
581
503
475
708
514
497
788
741
807
450
766
724
421
806
452
698
650
524
530
562
600
719
705
777
771
682
755
706
448
679
472
746
576
644
422
796
639
631
684
672
606
541
586
656
721
439
599
705
576
798
437
679
553
524
738
635
625
818
802
737
640
574
569
788
508
818
692
586
502
476
757
675
424
805
468
475
503
552
479
463
506
569
762
572
542
795
564
799
621
446
477
437
791
678
450
758
444
734
656
459
535
623
608
495
455
543
676
783
507
598
462
446
715
574
687
536
761
579
563
546
519
692
437
722
617
440
502
537
490
808
736
786
766
547
711
620
572
421
504
578
593
700
739
595
697
498
570
816
733
789
467
720
788
593
616
735
680
810
535
795
446
555
535
719
804
774
627
630
537
506
446
800
434
745
519
684
692
445
809
505
713
774
588
590
712
432
692
552
435
767
476
552
653
429
632
719
766
585
809
719
736
506
453
491
728
491
778
710
700
526
578
516
507
801
572
728
649
595
749
501
669
473
673
733
450
687
671
672
574
787
666
661
622
574
678
763
551
624
513
537
564
455
570
469
452
669
563
655
749
475
596
704
559
766
644
705
589
484
491
715
596
444
551
756
762
718
787
651
511
771
804
667
608
425
795
426
663
625
665
756
579
598
489
695
467
598
576
445
448
636
722
535
689
435
806
649
748
696
572
747
553
624
426
688
608
748
786
725
433
483
813
562
603
678
615
528
708
472
790
448
784
521
630
581
740
420
428
748
487
595
425
678
724
421
753
673
704
815
724
574
780
430
650
650
632
589
818
808
516
476
711
722
427
728
422
787
662
811
598
795
706
588
420
574
816
565
792
738
535
720
596
694
812
767
584
471
529
455
790
488
564
514
440
511
748
534
609
776
681
448
577
553
429
709
687
800
444
527
530
516
425
447
678
632
444
563
695
667
619
477
586
695
641
430
549
552
426
479
667
540
534
486
720
604
773
581
563
492
462
792
785
728
573
813
816
486
609
748
529
633
453
639
660
566
537
757
546
682
640
707
683
583
786
807
519
736
712
506
721
628
717
652
730
486
726
562
700
663
530
468
653
559
777
596
712
675
445
442
625
488
426
659
705
787
722
465
706
713
600
795
504
735
423
583
776
804
445
556
430
427
475
760
709
650
537
608
700
777
785
706
486
726
474
798
743
721
789
749
786
665
751
678
487
449
449
688
789
778
510
448
769
494
542
691
623
565
517
716
657
795
634
657
670
466
719
546
512
711
722
432
768
727
807
439
513
805
536
575
586
421
617
665
474
562
668
448
647
590
660
421
442
791
644
688
642
436
451
773
736
484
783
422
631
631
707
516
760
604
614
570
704
641
506
619
719
696
749
575
791
697
566
697
748
689
448
540
551
745
756
702
590
801
731
628
633
623
569
540
726
468
658
672
750
438
453
634
577
789
709
754
779
818
815
588
798
723
730
593
650
681
726
542
459
440
738
435
591
767
759
553
811
795
817
512
804
607
626
570
578
664
424
435
442
548
645
587
790
616
637
524
496
433
556
793
533
465
619
735
660
725
507
815
428
659
733
526
462
769
539
559
537
522
762
750
745
757
651
794
673
514
784
528
470
706
781
572
760
501
716
624
795
781
533
661
648
753
564
663
723
785
435
699
794
491
468
580
700
676
642
816
505
423
443
790
531
420
447
593
740
463
623
684
655
535
548
565
452
451
572
636
672
711
644
421
449
813
690
587
449
519
796
786
733
563
439
781
810
475
551
435
513
490
513
690
775
717
467
604
507
736
625
775
753
734
433
778
693
630
503
481
638
636
493
778
793
671
663
706
684
678
453
526
486
467
519
466
679
800
758
447
517
526
455
767
742
806
705
512
729
571
652
649
594
716
774
716
502
539
772
557
597
507
442
502
494
522
691
484
491
775
717
446
630
681
783
721
728
734
749
505
665
584
781
691
771
679
504
544
431
565
760
652
724
517
778
461
529
456
518
772
757
585
425
722
435
569
452
630
472
632
703
806
772
448
720
433
736
669
462
699
510
725
638
627
666
729
430
546
740
757
568
695
594
487
459
649
698
608
628
437
662
727
730
542
632
734
504
757
494
427
699
479
561
808
742
639
648
639
525
598
622
739
562
572
462
625
433
755
427
567
675
616
595
543
505
529
812
759
589
640
603
581
536
660
430
448
680
694
485
554
535
535
580
520
649
530
668
489
678
532
654
744
433
742
605
801
789
685
755
680
586
535
460
582
433
715
716
529
766
472
799
683
528
797
599
631
474
425
722
528
474
486
448
807
773
709
702
715
447
538
600
753
631
611
758
708
704
536
443
531
635
563
550
565
596
644
711
620
526
572
456
696
427
570
770
666
426
533
785
811
446
808
477
692
607
747
698
710
420
782
442
521
818
617
655
675
701
640
422
755
591
480
762
651
639
601
705
501
595
543
454
422
609
755
700
598
490
770
793
740
531
466
562
544
624
593
589
743
577
504
519
531
818
474
669
631
542
805
667
498
556
544
426
659
597
689
776
612
792
597
454
459
537
564
488
803
768
629
502
557
780
493
598
535
538
451
624
635
796
747
600
569
794
449
434
679
729
565
743
708
780
767
635
455
758
716
658
506
665
512
582
422
767
532
644
716
684
602
591
463
763
681
600
661
623
588
461
736
653
576
448
741
583
426
813
424
601
527
433
528
654
800
603
785
493
748
815
767
610
626
488
718
560
446
429
752
456
766
431
543
441
494
493
499
564
555
768
645
642
440
792
557
815
690
447
437
423
626
608
598
735
691
579
480
584
605
575
715
793
566
760
763
582
485
466
724
498
505
471
615
667
762
479
445
423
611
772
492
431
603
785
516
461
478
449
608
439
464
422
701
818
575
525
504
443
435
558
543
712
521
451
582
424
818
790
716
807
791
642
801
725
634
566
433
672
451
782
574
805
458
482
477
577
717
718
759
541
631
496
779
640
760
751
676
763
686
696
785
786
505
623
794
815
427
717
723
605
704
509
455
693
536
452
750
501
447
484
774
758
621
555
614
597
500
767
745
766
633
549
749
508
623
700
650
480
632
479
786
609
716
775
540
641
550
758
668
568
788
503
667
564
422
610
752
721
500
807
673
811
760
543
675
458
500
585
643
486
482
648
756
437
511
442
476
489
717
549
732
423
435
431
500
599
485
683
550
738
801
527
492
422
709
434
712
810
527
433
560
596
433
573
779
521
575
599
451
502
734
762
765
783
555
575
540
546
586
451
815
814
704
796
789
741
428
497
460
495
491
813
449
763
533
571
505
628
553
612
625
722
435
596
585
468
730
692
707
660
746
636
605
578
475
578
510
803
810
546
547
568
493
709
765
675
754
526
575
525
796
592
681
429
687
686
474
774
652
543
769
712
795
778
426
804
816
606
555
650
798
499
767
460
737
805
491
548
598
655
739
573
555
687
749
633
554
457
642
586
612
811
572
485
757
749
735
631
730
711
433
487
743
592
676
431
783
775
509
444
813
535
630
456
789
734
444
628
533
680
695
801
560
708
643
559
754
646
583
581
505
672
606
534
555
764
576
733
724
665
480
673
796
777
559
701
521
472
714
499
482
603
438
476
656
616
570
488
751
716
527
604
515
699
801
648
489
667
450
487
524
506
462
742
422
772
661
714
565
607
424
592
420
704
712
791
434
793
565
552
796
533
793
786
744
615
805
498
744
460
579
816
801
663
509
706
649
502
759
598
637
616
618
682
573
619
691
665
503
634
767
503
453
610
432
766
720
618
657
819
665
515
590
541
751
596
752
773
816
538
767
615
546
468
559
624
683
621
563
655
757
699
521
570
694
638
616
431
523
768
443
439
697
767
782
669
620
585
517
724
522
676
529
567
567
652
750
724
603
537
452
820
498
594
454
657
575
637
625
631
472
596
510
659
774
481
662
768
760
593
734
649
745
801
676
612
674
467
654
728
489
575
614
542
718
498
604
455
452
595
627
617
454
652
580
563
612
577
607
425
687
515
711
763
470
431
476
791
538
671
692
675
518
497
745
524
643
475
648
450
642
680
648
711
626
488
462
802
530
535
735
766
477
564
610
476
640
739
561
729
818
569
590
588
686
811
453
624
692
438
664
737
636
634
439
605
637
772
759
572
561
635
637
469
670
600
725
715
454
443
581
652
692
621
536
645
748
527
820
482
473
742
642
553
511
437
623
451
441
812
456
446
420
807
448
525
616
685
420
699
729
594
625
765
664
662
697
547
602
651
521
754
747
627
742
682
738
476
705
605
752
424
711
538
495
712
796
507
532
508
641
484
702
681
611
788
694
464
661
688
528
698
797
691
612
570
749
746
799
620
764
549
470
766
568
742
711
803
678
698
808
733
437
764
697
782
770
752
511
540
524
548
695
661
438
558
586
474
775
645
579
763
509
559
524
746
478
460
443
812
801
617
426
483
637
491
704
764
651
577
817
556
777
743
642
663
777
718
514
536
799
746
740
638
682
760
714
532
764
683
651
802
663
596
503
789
651
540
706
643
534
586
810
500
798
553
465
594
658
603
448
758
429
789
557
666
800
694
563
535
674
652
605
588
443
447
566
530
501
460
682
687
806
573
762
543
638
533
520
456
731
764
772
649
787
752
637
504
443
485
646
444
737
513
698
440
819
780
504
603
673
677
742
601
484
618
502
719
755
520
790
551
446
435
482
536
606
505
695
820
745
685
447
817
664
448
509
673
455
463
636
688
643
558
645
427
759
483
439
563
559
578
596
520
729
763
545
615
701
689
790
757
654
792
670
786
669
588
720
805
493
815
613
421
436
761
812
455
646
797
508
422
442
436
732
802
751
600
460
549
817
608
540
555
750
624
812
423
698
423
805
479
512
656
478
484
786
679
744
469
772
784
735
812
686
515
777
626
770
476
616
470
497
548
765
711
482
495
738
692
609
644
493
790
439
423
705
593
670
681
680
788
568
543
633
767
584
756
581
487
676
446
670
650
531
522
605
814
609
426
621
543
475
681
796
600
743
788
683
653
601
796
779
774
430
642
591
802
444
599
451
508
593
506
655
541
488
675
451
506
712
637
661
592
598
573
467
587
449
537
471
738
593
803
662
557
568
498
775
461
567
519
499
660
475
564
732
496
459
527
751
592
654
630
658
644
708
761
690
449
803
539
533
488
709
775
474
523
595
752
784
583
701
808
721
437
474
474
542
490
684
559
693
579
610
516
605
794
759
809
721
462
595
495
475
461
588
623
539
516
581
778
760
633
804
755
526
462
776
496
765
571
714
527
627
571
616
440
625
460
655
501
785
602
744
498
575
788
747
673
520
672
721
548
508
599
611
427
681
818
468
569
680
679
799
703
546
672
640
437
614
560
707
599
540
518
639
576
599
766
757
705
594
681
661
483
810
725
618
437
514
654
749
758
478
451
478
462
806
599
493
545
692
555
647
501
428
678
768
543
688
712
790
603
687
799
640
698
556
674
522
458
586
705
501
723
453
759
522
708
510
484
550
456
474
608
502
595
744
578
706
522
650
522
659
739
617
746
427
708
809
610
782
782
444
498
478
499
607
426
661
621
505
679
565
820
691
610
582
638
679
714
763
783
786
564
525
728
781
663
772
542
754
539
447
666
613
621
575
718
450
576
811
757
788
453
755
700
673
530
729
457
436
623
782
631
497
520
727
546
661
739
604
455
790
585
505
521
671
476
648
482
494
809
740
798
604
618
462
681
697
630
436
803
513
627
622
568
466
489
588
667
516
706
472
725
433
550
434
696
592
513
511
771
510
716
432
448
785
746
515
644
421
804
627
726
777
549
755
558
621
432
713
702
762
729
666
615
731
519
716
661
505
789
630
726
788
767
494
551
761
779
465
706
642
630
703
602
606
742
637
544
788
793
549
489
564
461
624
685
653
667
734
456
686
765
579
707
611
691
630
657
661
489
722
512
603
733
740
743
728
619
438
459
708
440
572
655
663
763
756
446
582
735
783
577
741
742
702
667
524
451
685
705
700
765
741
640
478
513
556
806
604
754
811
703
588
627
633
617
660
568
769
755
757
457
476
701
731
533
599
454
757
598
694
536
636
536
456
491
793
516
805
541
695
442
432
504
651
625
645
781
669
780
811
627
559
672
462
638
687
685
700
460
426
475
730
537
663
478
803
811
753
503
566
765
486
745
584
698
642
618
599
758
453
472
619
696
760
576
766
706
571
641
736
729
538
814
715
812
553
708
735
438
473
450
714
670
555
753
741
764
511
643
808
662
707
421
456
803
748
802
537
651
491
765
650
536
521
775
567
497
635
645
733
452
538
459
732
684
477
685
785
506
769
443
600
665
729
532
636
719
469
564
725
725
551
472
657
599
744
471
565
622
620
759
803
540
481
569
495
796
727
657
457
702
736
514
707
441
467
526
550
476
507
728
482
429
818
731
682
595
718
614
711
501
561
802
590
622
570
541
526
518
572
443
748
507
764
745
488
435
772
494
608
476
584
596
421
590
628
519
486
698
616
593
446
430
596
696
692
557
494
595
779
529
801
527
800
688
460
687
681
756
810
739
735
729
422
500
437
582
816
455
693
526
451
750
681
421
502
560
731
766
684
767
511
727
468
793
617
808
474
695
725
556
527
498
429
534
703
727
677
700
478
716
495
552
459
472
431
590
511
629
588
617
815
617
472
699
663
502
739
594
516
620
480
751
725
550
741
420
485
587
453
776
693
667
714
659
736
722
785
680
726
561
805
780
793
564
506
499
484
756
736
581
531
725
719
662
818
513
663
515
803
721
559
707
673
784
799
690
736
501
819
460
747
423
610
546
681
478
591
594
638
597
817
559
766
505
754
554
720
528
615
706
612
629
697
430
686
575
597
553
652
664
744
615
488
742
754
753
740
637
644
784
496
661
692
760
437
798
562
652
605
521
531
658
618
478
625
779
797
619
734
453
648
788
670
548
731
438
738
609
657
693
566
457
480
532
682
519
724
482
697
432
747
497
551
704
517
590
466
744
809
447
616
684
734
478
517
481
665
463
509
614
714
612
427
495
771
560
730
733
634
723
729
554
690
778
723
740
441
730
432
634
789
767
508
562
534
691
691
812
717
540
680
568
549
789
459
530
774
550
530
622
482
420
607
623
618
502
477
536
542
474
703
503
575
590
440
748
499
423
654
480
654
514
720
476
611
737
751
583
689
761
664
548
495
626
733
575
623
700
781
532
668
785
529
489
641
794
557
696
721
513
446
747
566
537
590
656
806
466
639
612
487
504
802
522
509
567
502
771
433
531
456
805
483
481
551
667
728
749
743
776
495
522
438
744
585
637
503
590
610
712
683
648
554
549
587
503
518
592
817
468
788
420
686
776
796
509
816
628
635
610
627
648
621
760
746
721
563
699
694
586
666
434
511
476
468
690
690
761
482
548
800
683
573
804
689
624
740
664
654
518
611
563
623
482
440
592
449
674
759
559
632
761
777
456
667
673
476
781
562
564
706
607
441
805
818
709
708
707
512
505
702
690
655
500
571
809
818
470
587
446
654
573
569
686
485
678
621
609
502
804
810
437
708
435
731
659
543
425
437
793
683
778
564
456
760
578
799
725
483
722
470
660
776
783
682
611
453
602
711
784
739
725
695
627
699
475
503
431
757
584
639
470
794
427
542
455
548
644
721
713
457
605
470
734
803
652
538
705
818
722
607
457
642
471
593
542
459
744
427
441
807
675
454
425
656
789
753
567
797
540
503
753
488
704
712
702
561
760
709
582
644
545
582
557
525
461
517
611
574
577
679
813
767
634
715
448
494
632
461
432
814
803
631
670
522
464
447
452
728
548
453
680
643
797
435
465
616
549
576
807
439
540
478
588
661
621
793
539
513
565
764
622
512
537
581
528
445
598
655
581
527
789
562
610
772
702
487
807
775
542
567
489
747
567
711
566
773
461
763
449
699
628
758
473
820
734
595
659
774
661
768
485
597
576
458
595
655
670
744
810
486
615
687
649
624
693
725
492
785
683
634
564
761
509
659
788
546
656
446
650
424
515
698
801
693
682
525
422
751
548
746
796
637
801
555
610
709
667
723
728
596
609
486
512
500
741
453
667
577
505
478
553
779
464
598
490
532
708
588
502
483
458
715
436
617
617
509
816
775
577
632
715
730
591
483
635
752
467
647
511
425
649
756
505
605
577
568
802
571
516
607
814
747
489
664
803
523
693
599
583
551
518
774
468
560
602
516
592
492
761
700
602
608
428
820
531
512
537
429
509
596
568
787
818
550
461
723
722
460
561
651
557
782
767
473
669
428
533
593
445
460
635
579
773
470
520
787
724
627
646
598
510
814
520
479
464
757
537
520
486
550
777
466
425
449
713
610
563
696
528
790
574
677
539
432
523
788
440
625
552
748
444
785
617
453
743
594
602
690
428
553
750
472
583
731
744
644
627
734
453
693
440
490
472
775
810
726
703
648
429
620
729
699
704
697
679
611
784
456
551
639
816
677
482
768
817
637
512
562
543
585
614
676
700
716
816
738
470
637
469
710
708
817
641
732
676
456
700
617
496
607
610
605
722
763
442
549
688
762
770
759
443
439
480
626
712
507
444
629
592
455
724
420
783
460
701
672
597
623
596
485
514
611
671
809
730
523
788
531
444
550
747
578
560
480
647
562
520
690
437
436
688
747
502
471
742
699
450
777
617
581
738
459
737
799
784
798
548
660
508
548
728
800
701
794
561
764
462
611
652
815
731
732
764
668
674
569
487
551
562
695
549
617
775
791
673
505
487
463
796
449
777
604
630
673
712
647
640
700
791
801
425
719
605
491
547
668
811
767
781
476
699
750
659
750
817
669
515
720
812
457
660
772
799
449
712
668
458
754
582
424
657
472
482
575
611
467
557
445
497
546
586
583
728
780
442
451
531
819
626
503
763
805
487
768
509
470
756
684
742
764
811
711
742
583
802
722
479
807
601
770
722
740
703
545
783
757
438
477
452
554
514
686
803
778
519
447
448
564
652
494
672
642
529
733
791
811
563
560
769
729
549
496
607
719
746
424
705
525
501
666
588
707
769
502
700
486
627
756
698
753
470
652
643
664
720
511
741
476
522
657
808
676
578
536
562
686
523
643
593
487
500
685
436
483
444
674
741
790
512
777
430
739
455
495
460
486
713
751
458
811
582
604
567
511
710
511
621
686
550
791
659
817
702
795
669
805
537
574
479
523
484
439
430
686
607
516
530
423
699
431
689
699
768
587
795
599
536
431
584
718
557
683
590
792
806
454
432
808
584
514
628
697
688
613
633
796
554
696
746
780
692
537
499
618
582
754
595
601
436
476
549
663
586
534
620
727
592
808
661
623
470
584
548
815
590
741
608
622
573
443
654
738
736
765
630
563
772
538
772
500
789
607
699
540
773
765
541
640
777
604
477
757
792
448
683
452
628
451
574
483
757
687
739
676
765
439
428
590
528
451
539
692
778
490
640
660
775
530
571
650
727
625
597
515
600
560
794
451
468
661
710
766
597
468
473
558
654
570
619
591
820
544
651
473
708
677
583
463
719
714
670
428
624
494
558
573
796
421
707
566
752
440
745
519
428
423
581
699
764
570
783
658
445
682
699
734
658
491
509
534
598
481
474
573
615
523
711
710
572
555
574
729
707
466
462
492
816
475
502
810
481
816
563
666
496
739
791
724
421
773
595
647
601
766
595
813
610
754
713
430
750
732
551
774
604
674
806
808
450
697
651
740
797
774
420
808
550
774
637
501
572
786
716
571
619
562
815
568
680
559
555
500
453
808
609
786
812
486
552
703
584
545
820
695
613
467
801
707
536
478
469
483
686
674
480
679
616
761
457
462
464
464
668
700
523
546
740
573
726
636
799
670
578
632
618
785
505
740
817
492
456
638
678
743
438
734
563
678
613
681
530
429
479
517
500
648
721
422
510
450
538
759
495
616
717
515
565
741
522
452
798
737
535
449
771
440
451
669
489
548
732
588
574
740
557
448
568
697
493
456
664
564
589
613
705
751
551
472
592
745
726
530
502
620
459
421
759
658
507
795
672
661
816
724
491
690
648
814
617
513
696
793
697
551
781
424
564
719
743
605
584
795
473
531
577
625
720
573
780
541
542
563
570
570
697
678
653
449
502
696
633
422
559
573
455
640
818
488
516
758
631
733
776
480
731
571
584
772
611
769
778
554
716
754
587
818
801
522
754
718
701
748
443
656
545
621
563
475
589
444
700
820
683
481
465
435
540
765
568
466
437
641
747
739
472
618
564
445
526
532
661
641
596
537
527
493
594
779
624
545
782
455
754
659
802
676
481
811
745
776
764
657
491
708
743
763
534
619
529
628
743
704
561
731
698
769
689
791
566
667
440
786
593
726
599
686
586
740
582
550
660
666
758
520
668
781
517
513
435
698
542
441
425
542
576
621
439
491
597
519
785
509
527
774
756
518
485
657
818
463
536
497
479
771
689
553
745
619
626
567
516
546
580
425
575
563
497
525
782
532
619
620
560
611
626
544
797
635
569
768
506
716
646
818
515
718
665
595
683
511
568
805
649
750
797
470
637
762
539
659
433
456
783
800
461
769
496
495
552
492
769
624
765
524
641
479
504
534
617
484
466
476
746
449
706
767
570
612
607
533
793
754
675
708
428
752
735
724
818
712
675
690
767
532
563
453
525
613
691
563
736
803
755
538
493
679
740
730
820
782
652
774
620
601
711
485
642
456
644
589
584
614
680
693
547
641
659
450
593
507
757
600
452
757
535
603
553
523
794
477
730
511
779
803
696
610
652
511
760
755
504
787
649
649
734
472
721
584
538
504
528
580
533
463
512
485
686
554
528
662
458
525
473
546
572
739
561
632
688
665
497
499
522
549
669
732
633
422
470
744
477
749
465
596
772
496
574
570
518
519
630
580
647
588
792
585
534
527
541
581
514
799
471
673
475
543
635
813
552
444
737
615
427
675
563
686
645
677
629
449
613
539
674
590
680
622
588
422
809
699
432
484
698
420
527
747
493
564
531
443
688
425
701
599
426
515
789
698
432
787
637
719
668
739
439
688
741
553
743
464
779
728
781
733
795
422
647
701
607
635
725
799
538
576
456
456
488
495
445
716
541
496
674
597
538
581
786
517
750
592
587
797
480
694
495
770
802
815
450
422
553
732
813
607
457
735
680
511
816
515
536
787
649
469
455
694
665
609
524
457
487
706
633
535
756
789
610
609
480
760
495
789
793
494
502
458
504
430
640
521
689
608
673
567
463
550
799
578
597
631
809
443
750
758
626
434
770
781
461
639
736
562
591
817
474
445
670
771
638
641
586
794
630
810
704
774
745
752
819
562
762
783
745
638
573
814
428
603
460
752
621
807
668
664
573
805
791
568
809
538
493
644
477
685
441
820
639
763
555
779
513
532
432
489
475
736
454
776
588
565
716
656
653
552
478
558
673
549
477
537
541
786
641
518
726
457
624
498
600
680
646
609
543
712
435
749
501
584
549
723
648
439
806
495
719
565
528
438
487
492
711
590
657
728
751
453
803
495
435
517
523
431
726
812
712
450
573
777
588
485
666
697
675
638
558
454
800
680
800
570
504
793
732
806
651
576
751
648
747
713
422
786
760
530
470
429
468
472
643
633
661
817
564
569
776
762
671
588
570
779
759
472
609
811
784
774
507
424
465
499
735
477
790
454
537
534
715
665
481
605
513
429
439
713
745
552
817
424
637
504
672
788
464
698
465
487
733
686
553
795
685
518
617
808
609
819
812
805
772
579
778
494
629
604
484
430
753
711
604
666
579
719
491
550
471
760
736
491
661
498
651
543
593
700
542
462
535
714
542
518
816
624
534
750
765
709
746
780
650
777
705
486
751
503
648
471
584
695
790
814
468
543
758
752
717
682
658
488
616
549
666
455
794
806
800
776
714
793
523
589
701
613
781
772
637
720
747
617
637
682
629
599
627
759
472
704
544
746
636
585
594
580
769
433
537
536
686
714
446
528
547
815
444
536
709
692
426
530
648
803
640
647
798
718
601
686
751
651
583
511
642
473
719
771
474
797
520
787
745
692
613
721
616
602
704
801
783
820
443
798
780
731
801
621
547
449
441
469
448
437
439
461
703
760
471
450
690
730
725
737
724
641
661
486
810
467
472
759
654
814
729
567
799
551
625
717
671
494
458
750
609
596
735
804
504
501
486
694
558
776
586
717
580
420
530
444
550
671
779
745
607
539
728
566
608
806
509
775
779
698
569
820
667
757
768
797
714
752
714
488
627
501
754
629
815
794
689
427
508
554
514
584
721
737
621
798
673
426
769
492
736
526
748
696
498
736
600
500
660
692
727
434
593
477
559
633
654
667
587
648
582
681
554
679
733
799
691
683
470
568
629
424
602
768
642
547
512
435
547
492
482
724
452
772
794
575
669
575
568
724
799
657
462
739
635
593
530
530
794
608
519
556
602
747
607
746
429
431
661
536
623
433
585
810
789
572
643
420
543
699
630
434
698
788
486
602
526
532
519
741
422
706
599
476
756
553
631
650
813
709
481
612
672
657
723
526
608
434
588
795
681
527
815
774
492
466
570
724
435
554
789
779
804
610
739
709
771
738
668
626
579
531
425
767
513
610
499
485
745
730
797
421
752
800
564
543
491
697
818
601
762
669
762
622
813
554
786
765
511
690
443
636
422
551
574
547
606
573
664
662
580
453
635
431
820
597
684
456
471
636
640
784
570
739
761
490
672
602
728
701
596
820
760
548
808
787
613
578
603
486
692
567
635
674
662
506
620
441
581
623
691
567
597
592
427
618
623
427
709
790
672
528
756
606
627
773
567
632
747
533
507
516
472
759
520
773
757
726
813
646
816
668
451
456
623
433
450
633
798
722
729
744
817
562
522
776
700
654
778
545
461
585
700
600
495
451
784
445
471
635
758
553
812
656
769
719
776
773
550
528
717
723
740
463
718
674
684
703
569
760
752
706
667
758
596
486
735
585
446
491
428
662
519
475
645
705
424
610
632
541
696
636
447
651
429
586
471
599
784
527
585
480
681
591
587
446
735
751
463
507
765
785
559
573
666
453
574
557
560
682
479
818
796
603
527
525
778
426
803
628
725
598
696
771
561
719
508
605
715
604
578
584
639
563
771
504
445
449
645
459
643
572
606
703
487
604
497
635
765
519
580
561
420
808
534
487
441
808
548
615
762
596
605
732
539
476
813
581
487
581
768
801
697
522
752
803
470
794
566
575
476
687
448
611
535
661
539
602
591
495
659
762
552
449
731
466
812
589
654
799
560
618
759
767
528
497
421
578
656
627
626
776
728
604
505
670
434
763
679
547
717
512
552
516
426
470
540
616
494
436
673
504
812
536
672
778
462
774
560
457
663
648
685
785
530
578
638
692
458
503
672
622
499
565
707
651
636
709
494
487
740
703
534
648
534
518
697
517
456
526
812
699
510
643
625
505
800
725
794
722
568
608
521
723
711
504
493
759
794
467
659
615
448
453
757
513
630
442
613
638
604
469
589
682
532
774
426
478
613
460
711
499
628
466
713
648
533
456
445
598
544
495
574
464
765
811
500
734
617
421
785
451
722
656
805
515
794
538
439
621
818
572
426
782
589
589
586
472
535
722
735
817
420
628
738
579
515
453
726
436
429
649
525
691
553
662
653
490
564
739
745
585
583
449
600
509
810
782
698
655
806
701
734
438
531
725
611
814
510
532
815
702
471
618
720
686
437
606
514
564
462
550
457
786
680
757
781
700
684
535
519
497
489
640
573
424
772
693
676
656
451
575
633
515
420
708
526
569
674
469
448
770
694
622
589
475
655
650
471
799
756
490
565
769
654
597
693
503
591
614
467
605
783
500
603
708
469
560
616
559
764
586
597
721
786
545
515
521
807
625
794
785
620
799
797
690
425
726
540
584
630
526
587
583
535
489
489
570
485
582
667
505
771
761
660
584
448
684
747
577
666
628
765
492
467
739
773
642
701
713
809
428
507
535
614
760
788
498
702
459
510
571
686
765
591
704
593
527
543
768
643
694
795
561
539
543
738
623
691
768
543
674
736
728
804
762
495
714
502
794
642
780
458
629
498
582
433
798
713
767
516
603
456
427
439
532
720
752
500
474
571
705
809
662
657
705
421
420
485
820
477
593
620
745
677
575
526
519
557
620
795
445
466
701
702
780
520
690
484
532
545
453
587
673
437
584
745
466
593
621
523
706
584
427
633
789
534
750
477
469
543
526
729
794
645
804
642
544
713
516
693
572
563
488
600
427
819
463
676
781
649
449
636
558
729
497
714
676
582
580
524
735
521
694
642
786
752
703
681
801
659
542
610
646
461
427
691
463
422
604
503
591
517
803
676
467
754
636
687
688
471
537
576
580
759
434
649
791
535
510
687
568
537
424
737
440
498
549
562
686
775
660
710
548
479
423
638
662
736
790
514
540
591
481
690
655
442
446
762
574
753
564
568
506
533
724
706
563
790
704
635
507
526
667
631
658
692
552
607
815
583
504
479
541
708
809
497
808
573
585
605
423
530
435
678
572
470
425
787
808
758
623
820
658
627
610
600
470
817
431
817
650
530
729
442
809
496
786
553
688
487
782
427
652
436
614
699
633
476
813
487
714
679
555
790
635
633
694
585
696
729
748
522
696
722
650
421
762
643
640
599
537
744
425
785
746
707
495
704
637
656
684
792
632
671
756
628
712
438
475
457
654
813
497
462
770
749
589
525
715
494
721
666
476
472
796
750
739
718
583
778
756
781
615
492
814
681
711
464
493
553
433
653
702
501
704
737
491
815
668
558
535
530
450
675
817
476
708
735
740
666
765
673
653
434
490
661
459
537
530
594
751
466
623
758
622
705
427
563
559
599
725
817
776
471
721
559
618
791
636
482
437
748
589
533
498
449
479
768
628
598
765
553
571
758
688
593
481
467
690
776
702
631
625
489
758
470
579
780
463
579
480
770
639
725
449
549
533
547
741
775
435
608
750
742
522
703
723
602
590
583
423
544
576
733
579
455
621
703
778
697
505
559
472
751
432
558
633
427
492
597
493
757
458
610
513
728
500
434
813
520
463
590
677
487
649
654
629
762
546
577
785
506
469
744
701
566
779
703
533
620
727
658
690
426
636
758
472
771
429
603
509
664
530
805
763
510
794
608
787
548
770
791
760
812
678
534
465
664
562
697
654
702
620
455
750
589
611
445
585
616
422
464
802
729
797
790
551
650
643
724
633
618
491
566
737
449
669
786
587
663
568
584
510
438
514
592
562
494
489
536
751
574
436
541
504
738
739
598
722
655
498
550
450
768
442
459
451
792
427
800
483
534
454
449
813
641
670
648
485
478
702
637
774
761
514
688
799
664
551
465
736
786
657
604
459
539
455
819
512
442
457
563
490
743
676
491
543
570
471
642
753
593
425
681
740
558
785
612
753
637
739
424
604
690
701
584
614
546
625
545
440
668
533
538
668
560
455
444
583
694
594
629
766
539
709
544
509
753
551
537
655
516
681
713
814
777
518
646
678
453
553
675
597
713
421
728
443
539
597
780
542
532
461
488
370
390
306
321
480
489
348
365
393
441
481
489
337
469
334
446
487
382
431
301
336
475
336
345
350
316
353
425
445
493
363
324
450
347
444
430
418
428
417
412
352
338
300
371
463
456
353
416
403
481
415
447
459
478
422
406
342
369
328
387
337
388
405
435
320
440
360
498
490
340
451
441
311
500
463
424
338
329
341
400
384
338
318
446
382
416
439
453
409
381
344
446
305
442
316
350
416
408
369
435
492
344
386
310
448
457
454
405
424
388
466
496
353
448
397
474
468
352
382
432
344
342
422
449
359
475
324
454
327
358
405
459
427
407
342
437
317
431
487
451
363
405
302
389
395
486
306
368
442
454
429
497
476
429
377
380
443
478
424
303
421
409
359
436
306
305
449
482
492
485
354
492
329
386
402
442
303
421
416
301
472
336
416
442
417
400
323
329
374
395
471
361
418
498
320
472
316
345
496
300
349
343
426
396
364
415
473
342
488
447
339
373
338
499
456
380
451
391
485
456
332
474
405
408
391
456
402
335
398
374
458
443
342
337
343
441
364
335
348
468
421
337
305
390
373
498
386
309
497
324
316
325
409
343
383
421
462
387
471
326
445
363
384
457
480
312
427
343
411
365
381
412
391
423
406
415
429
361
403
331
498
462
408
391
311
315
324
493
370
375
462
330
309
326
372
308
322
312
363
421
499
450
367
368
496
359
481
500
369
451
377
452
353
382
320
496
331
405
328
404
395
388
493
373
432
311
498
340
453
427
466
373
401
400
395
384
340
304
324
338
348
409
407
483
462
402
463
323
463
372
457
491
345
409
367
343
420
326
482
307
460
314
467
326
498
410
475
311
384
383
436
308
400
350
358
385
311
463
412
468
341
400
425
418
352
369
382
386
410
391
367
345
332
440
469
314
328
320
346
444
435
368
337
324
473
392
383
405
489
364
358
353
470
473
420
495
485
459
361
455
328
468
480
314
491
387
447
412
358
456
316
435
487
352
389
489
471
486
427
449
425
375
453
416
378
451
375
447
460
436
454
480
375
423
350
485
306
437
394
460
474
408
472
308
417
375
471
499
393
325
419
461
365
321
331
448
420
450
317
482
335
410
359
306
464
371
415
438
423
416
324
491
391
444
320
457
420
445
305
349
380
409
450
484
474
416
432
494
339
455
422
457
492
331
309
439
339
383
434
314
461
417
476
394
345
464
314
418
353
427
407
352
351
487
377
368
364
463
448
309
439
448
443
495
342
404
381
362
341
398
341
378
315
386
453
338
331
423
500
303
362
462
469
489
460
454
425
427
366
396
471
483
312
469
351
454
343
496
317
313
303
339
449
371
460
433
334
478
493
364
339
343
481
401
318
381
385
479
460
326
361
353
413
354
375
488
447
388
321
332
381
335
494
479
344
492
417
305
473
365
348
414
375
444
453
485
323
308
436
483
405
323
412
427
386
307
416
360
374
368
459
435
358
377
441
365
341
413
499
395
444
303
426
476
457
353
322
378
361
429
346
398
388
402
307
302
342
357
496
447
470
340
446
337
301
377
357
396
318
369
466
494
498
401
427
355
309
391
361
447
480
497
337
437
429
340
450
423
427
456
310
467
357
394
430
406
476
444
441
456
464
386
303
442
465
462
402
325
368
495
354
449
337
497
466
426
497
334
312
446
348
401
356
406
329
321
349
329
334
321
477
391
410
481
361
326
348
438
308
414
303
463
469
461
326
313
385
357
323
303
338
316
407
464
413
422
424
436
500
366
453
348
368
412
323
498
412
415
340
463
471
398
462
435
394
321
468
368
448
316
331
498
400
343
390
353
320
400
383
327
490
363
395
353
467
473
480
376
484
498
456
492
440
357
450
354
304
413
458
347
426
409
411
440
314
434
318
319
329
344
315
330
483
329
435
445
332
482
499
397
499
305
353
379
384
487
330
371
498
401
371
392
311
418
369
322
364
485
379
386
449
488
489
329
423
430
360
383
441
393
314
456
490
395
472
315
496
380
411
330
404
422
318
431
392
322
380
434
413
432
391
318
402
479
467
422
450
337
430
307
321
320
307
327
325
456
345
396
370
304
348
397
369
474
314
378
355
486
447
491
497
308
310
376
400
331
388
328
393
457
368
483
397
339
465
345
311
332
448
394
352
358
396
470
320
454
450
418
367
452
373
301
343
454
426
443
461
365
437
301
468
498
308
405
446
358
405
383
450
426
350
427
463
415
461
379
436
356
472
360
330
423
498
485
372
488
389
304
393
394
400
331
484
327
478
385
371
330
386
491
374
301
473
327
378
402
308
328
410
406
412
376
416
335
431
367
432
389
336
393
342
311
417
309
462
325
426
429
396
481
476
386
395
427
440
341
452
318
433
358
428
462
442
465
477
425
412
496
399
375
487
429
431
486
323
431
426
308
398
400
405
481
347
409
320
377
428
497
338
430
358
366
420
450
406
490
428
480
358
314
433
301
500
438
325
428
383
302
483
308
403
336
468
377
450
418
485
409
427
349
496
409
420
497
434
420
339
499
318
342
346
460
331
406
344
359
391
439
306
452
434
436
321
438
315
429
497
308
354
349
442
433
310
450
326
431
391
334
467
372
417
497
386
435
392
419
429
377
423
427
323
480
487
424
416
361
438
444
379
371
439
467
393
408
336
484
441
403
353
370
333
444
431
450
308
436
338
373
452
351
370
489
378
414
333
473
475
445
389
472
449
318
387
399
476
399
412
458
403
361
476
410
466
401
447
408
366
459
480
332
400
413
384
484
378
471
484
323
457
429
415
404
374
305
380
409
413
335
490
375
366
358
474
353
464
367
357
385
493
465
349
460
480
465
404
409
334
450
418
474
381
408
432
469
372
474
461
454
458
386
391
444
378
392
470
355
477
303
302
415
415
326
430
313
391
340
421
363
333
343
392
483
401
388
493
342
455
326
360
384
304
486
336
336
423
413
357
334
306
445
451
343
386
427
396
431
328
475
486
375
353
438
462
412
486
415
485
352
353
430
468
448
486
470
330
414
456
339
499
371
400
461
340
373
369
442
350
387
338
437
483
407
331
365
309
408
435
308
475
497
312
462
488
477
435
489
338
448
408
390
334
417
412
494
318
489
335
323
427
444
491
358
407
479
303
453
444
469
391
378
395
303
359
419
445
338
438
434
413
322
372
376
375
490
309
376
385
434
366
474
387
472
357
336
453
325
401
480
445
307
452
484
306
464
438
421
377
408
440
300
357
375
466
353
313
337
349
321
485
324
474
361
382
467
369
432
357
307
328
420
438
440
410
477
415
443
323
386
425
353
403
401
397
420
477
439
312
389
398
300
453
452
372
379
358
332
466
391
405
367
440
400
311
479
459
349
316
424
404
345
358
354
358
472
437
356
477
440
309
415
366
485
363
482
464
454
329
463
370
307
437
438
342
391
312
448
321
351
444
328
488
327
301
377
466
330
363
463
430
489
307
378
397
376
479
447
432
484
494
392
326
364
473
441
461
412
337
302
342
318
431
316
374
387
446
378
423
322
301
481
410
452
425
356
412
461
446
417
397
388
464
437
444
312
431
343
426
424
345
370
353
372
346
469
411
497
457
421
414
373
461
427
464
333
330
438
305
488
306
334
479
428
393
311
356
329
477
350
410
383
479
452
352
375
337
490
357
492
374
469
474
477
420
349
338
462
345
342
466
432
496
316
367
346
418
387
450
316
499
358
454
481
497
483
463
311
382
351
385
420
450
390
392
494
377
453
398
416
376
326
325
378
451
468
407
323
343
371
440
426
424
494
485
396
360
365
443
325
322
454
488
448
491
395
473
324
420
384
363
383
356
354
493
384
415
424
441
449
340
431
378
374
319
460
419
387
348
359
439
329
439
427
422
475
322
424
437
405
416
379
478
413
333
301
369
327
404
342
456
372
497
384
356
337
463
325
321
439
413
433
481
322
314
301
312
347
470
377
489
475
478
310
355
347
359
381
393
367
462
426
303
452
426
488
386
433
412
312
429
404
359
388
316
379
338
314
441
434
409
442
462
411
437
361
463
349
466
348
320
347
427
357
308
399
318
397
377
378
347
482
497
352
434
387
308
397
444
442
391
405
328
461
342
391
411
342
460
452
310
327
330
314
493
346
462
360
419
317
445
497
302
420
356
408
321
301
398
416
346
310
382
367
467
453
460
367
460
385
495
368
347
423
417
377
482
500
398
448
438
376
365
339
424
367
336
449
356
417
334
497
308
390
460
400
412
414
413
476
393
485
304
411
368
442
413
328
405
357
409
459
328
338
302
308
417
398
359
393
441
313
339
322
355
365
471
358
469
433
314
350
477
406
311
373
372
311
489
356
442
435
386
440
318
494
444
350
322
500
390
392
330
441
467
400
465
330
453
367
343
479
309
424
473
352
382
477
452
452
491
377
301
452
304
445
394
488
302
493
429
447
364
374
324
426
454
499
417
424
451
486
450
406
379
389
337
441
382
423
366
395
458
348
458
455
491
337
439
425
477
304
464
426
369
483
318
433
475
479
313
431
398
464
377
437
301
438
356
442
388
369
367
313
364
407
413
379
415
482
329
360
376
306
473
354
403
464
328
492
473
460
400
374
329
465
427
347
413
314
482
327
451
348
370
334
306
386
387
404
388
332
485
418
358
394
427
497
492
311
454
331
456
433
366
477
309
437
320
344
316
301
306
376
470
319
386
426
306
460
335
345
367
313
370
451
484
363
319
441
322
451
327
342
418
452
399
409
434
397
371
390
438
414
398
397
401
419
330
461
358
318
488
348
422
440
304
368
319
307
484
349
446
378
354
336
467
433
309
313
303
311
321
419
342
474
455
403
347
327
453
454
398
463
424
464
313
339
432
464
378
458
411
334
498
399
383
381
440
424
364
305
377
392
404
500
342
352
337
406
419
391
349
382
412
486
468
373
374
303
379
356
344
394
386
309
368
365
464
340
317
379
491
457
478
389
463
345
405
336
468
360
383
423
334
318
318
321
311
341
461
452
490
431
331
459
416
350
467
307
340
384
471
366
489
359
497
346
396
461
417
458
344
482
432
446
304
404
345
386
311
383
401
366
498
399
446
384
331
300
372
328
337
356
474
317
312
361
393
306
467
445
444
309
385
456
329
358
453
340
464
481
323
450
314
489
363
348
314
368
486
377
473
430
320
314
432
464
462
440
390
430
381
325
439
364
440
433
349
309
380
409
335
380
500
372
431
351
458
416
466
326
422
370
352
402
455
369
482
321
492
397
476
358
324
452
310
481
467
354
372
339
362
311
310
398
423
484
478
449
313
413
396
483
335
343
313
457
339
354
411
303
332
446
431
446
384
472
324
470
434
418
477
373
353
499
433
381
460
348
321
460
314
404
470
489
355
378
444
361
337
442
493
338
379
454
433
385
471
408
425
340
448
379
401
439
452
461
353
376
401
464
370
462
407
443
458
429
377
374
317
366
382
390
447
407
386
341
379
446
315
380
440
460
336
331
484
484
402
404
500
481
314
477
434
428
301
425
320
465
309
438
448
500
330
337
409
343
440
337
327
317
336
316
397
488
469
381
334
414
354
397
451
412
442
414
303
332
340
385
465
453
321
429
417
482
491
321
483
458
381
433
318
307
366
317
482
386
333
448
385
489
317
400
368
421
454
485
420
340
361
310
455
353
356
439
414
371
399
355
443
360
354
497
361
441
404
406
355
442
400
410
309
382
366
309
486
456
346
343
327
492
425
306
398
425
491
491
444
438
316
321
327
364
356
481
499
376
478
434
462
467
434
429
339
451
438
339
451
338
359
425
364
474
488
323
325
340
323
411
345
344
432
475
430
392
420
351
434
314
380
416
447
469
499
359
485
470
440
323
432
482
317
394
380
454
489
435
457
357
494
373
334
473
380
316
476
461
338
352
343
372
318
328
414
341
467
499
406
474
439
445
370
366
302
358
398
480
382
333
457
448
383
468
455
460
466
368
310
464
426
339
397
408
479
332
342
424
309
416
300
416
422
385
496
373
406
404
453
500
487
469
369
436
461
338
398
417
302
328
403
340
423
355
466
404
471
466
500
340
450
422
470
486
383
414
450
353
447
492
420
401
472
460
358
498
392
300
439
466
412
420
478
332
434
321
335
351
418
349
304
450
392
324
464
390
473
489
307
321
378
476
473
463
473
447
412
361
500
475
443
408
438
374
408
389
412
321
356
448
389
318
340
423
317
457
465
342
340
341
466
386
362
331
382
486
487
418
409
482
344
446
320
407
307
309
430
302
324
450
453
342
326
326
423
392
353
464
480
323
482
334
481
336
431
312
440
429
443
429
499
454
351
393
426
357
428
386
378
338
466
307
470
492
408
460
456
417
461
403
380
487
369
347
312
334
310
404
383
323
359
388
394
303
499
351
390
472
315
362
387
408
303
303
373
370
466
330
408
378
496
342
357
400
356
385
334
411
486
318
433
350
376
445
428
320
368
480
500
489
364
332
314
375
318
411
490
437
477
430
413
432
332
335
465
422
452
370
432
355
382
330
486
488
323
338
364
418
401
422
469
312
449
406
428
309
426
329
454
353
317
315
399
302
372
442
426
366
319
446
378
418
431
304
374
373
405
398
340
485
455
367
388
477
364
468
419
370
450
345
340
416
443
302
340
376
307
476
494
303
353
426
449
456
304
317
430
493
386
413
448
454
334
359
386
373
351
391
477
446
372
302
307
333
423
336
383
383
467
389
308
348
469
398
307
495
436
364
410
375
332
490
348
480
361
408
410
367
409
375
441
464
432
474
473
422
458
326
354
390
420
496
460
485
434
474
432
323
357
315
377
416
357
338
433
377
472
383
414
427
443
329
463
459
402
439
397
490
397
410
379
372
419
379
411
478
451
449
313
462
323
357
400
314
422
498
364
305
301
377
475
337
496
340
344
466
372
314
307
449
341
472
448
495
494
426
462
427
483
349
350
465
303
431
349
328
392
482
410
433
497
396
312
428
373
336
388
417
455
438
428
409
497
349
382
333
329
365
428
393
442
397
404
390
408
305
470
347
348
323
355
491
373
318
387
487
447
427
427
318
487
303
393
398
410
391
446
497
455
370
316
380
356
357
357
311
432
355
494
338
498
482
321
345
435
427
499
331
448
494
359
319
423
415
318
472
406
401
319
434
363
413
305
438
404
355
386
339
489
357
481
300
454
401
348
326
300
467
365
329
493
464
364
373
418
318
420
393
312
340
409
358
440
445
429
364
382
476
378
488
458
458
454
301
350
384
335
422
344
375
462
315
353
469
328
493
439
417
370
401
430
305
320
343
324
416
465
434
385
436
367
351
468
305
304
463
481
415
457
410
382
330
421
457
453
451
351
329
430
417
460
307
339
419
420
385
328
475
375
321
425
379
414
481
498
341
402
388
475
496
421
484
378
427
356
324
305
400
403
315
360
340
407
322
357
305
455
398
340
367
499
459
301
354
358
461
467
374
316
333
349
383
364
497
452
326
449
455
340
427
421
479
358
337
405
461
330
315
367
316
333
348
499
378
370
315
406
340
341
402
392
418
441
445
439
300
447
325
498
472
358
392
409
300
388
407
479
435
327
437
419
481
409
304
416
392
415
392
449
470
319
317
348
437
365
404
424
468
354
346
488
493
478
343
365
373
321
312
475
468
359
316
348
385
400
339
318
367
409
300
465
379
398
464
365
352
415
462
498
387
453
358
474
452
319
427
425
435
382
366
467
400
465
309
449
305
405
311
311
469
335
365
493
328
414
477
405
448
475
361
470
461
387
313
382
411
317
456
375
401
402
448
336
461
366
385
380
389
379
444
347
416
447
477
457
387
303
470
371
402
380
418
423
465
485
308
370
474
432
336
378
439
495
398
470
336
430
420
490
375
308
331
491
397
480
468
400
337
458
457
392
381
342
448
334
414
345
421
417
392
381
478
436
471
334
302
336
410
416
341
479
426
447
422
431
448
315
427
414
361
382
379
355
349
467
420
333
488
472
364
407
492
424
434
344
434
415
383
431
383
371
464
475
491
431
494
409
392
392
472
347
399
450
307
459
444
387
445
494
317
484
420
407
471
415
345
345
462
403
446
495
377
309
416
496
432
303
306
387
392
307
311
392
445
477
395
408
428
495
335
430
427
404
342
332
319
362
412
320
476
477
483
348
470
448
468
325
479
471
454
326
467
485
333
352
451
418
422
498
345
482
317
306
485
346
379
454
324
500
499
482
391
461
421
461
408
413
353
475
346
470
378
468
409
466
457
452
484
497
381
471
467
330
457
408
468
465
327
393
435
370
451
454
396
484
337
379
453
417
380
306
434
465
348
316
386
429
475
356
439
413
399
366
426
314
426
430
378
353
348
363
366
373
467
348
485
403
366
485
406
348
445
455
433
406
495
479
326
383
463
399
492
418
411
407
351
451
451
419
375
318
468
450
464
415
392
488
362
435
370
421
365
378
327
444
318
416
355
451
390
422
368
367
472
427
412
360
343
361
492
441
307
495
491
476
457
478
374
466
365
358
306
495
361
341
305
457
404
390
487
313
488
424
474
337
475
500
318
393
439
481
352
448
414
326
491
468
319
397
424
362
393
324
356
397
425
428
429
360
375
324
375
482
369
404
487
375
481
308
348
407
427
428
380
472
325
352
376
405
473
451
455
389
456
439
301
347
386
444
427
417
429
307
471
348
417
353
306
333
376
368
315
412
445
428
484
362
334
356
373
365
400
359
472
340
441
450
458
358
356
388
377
318
357
437
468
398
462
497
414
418
384
407
450
472
337
443
400
409
407
317
486
452
343
345
482
380
439
405
361
378
329
303
491
491
480
304
414
452
344
424
495
344
431
304
420
360
485
346
478
308
325
371
429
324
463
307
413
482
438
428
465
394
431
333
480
430
315
455
307
389
458
449
424
368
384
313
433
419
497
423
406
354
368
432
380
412
492
302
355
396
433
494
322
425
382
459
331
362
411
305
424
301
486
334
447
457
427
452
396
327
381
448
467
484
470
367
360
467
392
441
350
389
399
435
403
311
308
340
364
373
452
454
343
320
415
349
364
430
351
427
300
391
373
397
423
394
467
437
480
463
402
392
409
389
482
301
331
458
315
339
337
425
437
488
339
374
349
444
362
444
336
382
461
424
336
336
387
464
373
384
467
334
346
448
387
365
395
494
305
468
405
345
448
328
331
324
380
425
345
448
406
396
494
375
385
354
434
442
476
492
401
336
407
403
432
409
473
415
451
446
450
474
416
331
334
317
330
373
340
385
448
399
415
375
305
376
447
332
463
399
390
495
498
370
469
447
306
363
436
379
331
339
391
374
406
366
461
371
410
312
418
454
452
338
360
322
473
302
391
399
359
483
485
478
483
421
391
309
403
444
400
465
446
470
417
403
345
405
306
380
330
336
371
399
365
482
344
398
459
416
485
466
426
415
317
448
459
418
398
355
344
384
417
449
441
383
362
361
363
335
493
328
376
382
403
493
440
362
398
357
443
415
459
303
367
403
476
416
413
358
337
353
493
500
462
344
332
474
324
330
453
405
414
308
309
463
421
301
304
354
412
377
467
487
341
491
356
366
445
437
492
456
392
319
348
359
488
333
394
399
359
499
432
347
348
350
399
437
391
383
479
462
490
344
395
397
433
469
353
322
398
378
375
487
409
481
447
390
497
379
325
354
454
371
405
349
483
490
362
482
320
481
327
385
323
346
318
399
324
311
464
378
378
444
318
402
410
346
462
326
321
491
416
418
329
437
438
464
411
445
444
354
328
422
341
359
455
325
467
378
402
453
491
327
356
421
443
437
466
457
397
432
376
475
442
354
427
373
330
401
500
387
496
405
301
324
473
420
455
376
468
465
451
419
325
302
472
367
442
389
403
334
340
423
359
391
416
387
362
358
500
387
374
367
451
432
439
303
388
437
427
416
366
426
342
479
393
378
409
493
443
449
322
468
300
463
486
491
461
478
322
317
320
439
474
489
342
383
419
328
427
478
348
447
486
390
372
396
376
432
452
471
334
339
452
489
462
305
415
406
386
436
379
334
361
498
482
382
371
349
475
490
479
488
322
488
406
388
379
449
343
464
474
491
339
313
464
490
326
315
461
329
448
317
497
339
496
350
362
478
323
414
429
313
415
302
319
396
475
331
467
397
416
461
305
402
461
311
368
490
309
381
348
394
302
314
446
460
493
342
435
332
423
435
436
435
390
325
433
315
498
357
308
375
329
480
446
435
424
422
329
422
478
357
445
335
397
391
376
411
389
434
302
301
493
381
341
416
497
433
474
463
499
461
346
426
333
319
335
423
391
407
454
338
454
353
450
311
450
337
487
485
397
499
310
318
351
357
342
428
342
404
476
436
465
495
484
416
345
364
435
301
369
328
301
325
350
341
300
354
376
344
354
435
483
414
464
415
470
385
423
476
428
475
440
412
421
398
369
487
484
366
368
350
393
439
424
445
416
324
487
428
448
488
469
465
387
344
434
449
306
315
428
439
397
408
400
470
366
311
414
385
458
499
359
473
300
324
465
480
425
315
489
464
394
369
359
400
316
317
456
330
307
352
423
500
490
351
411
354
411
350
368
443
337
495
488
412
432
312
347
349
372
323
363
359
398
492
446
377
321
392
478
344
486
353
389
339
412
398
368
456
374
375
369
316
428
465
349
500
473
327
421
499
359
456
361
354
372
423
372
303
351
315
401
481
309
448
402
430
319
398
301
491
412
370
496
440
482
346
468
459
374
468
492
338
489
379
391
361
439
350
466
444
446
381
314
307
482
428
451
378
307
368
341
496
327
314
407
438
455
375
422
370
411
378
369
364
450
347
461
483
333
423
476
376
398
371
375
497
362
456
483
328
315
489
468
364
411
367
376
490
349
500
477
351
419
390
438
385
360
373
373
381
466
334
491
320
460
344
483
305
347
447
496
417
347
322
428
413
391
494
308
368
318
357
313
449
321
459
352
317
400
339
390
433
354
496
494
386
464
312
350
496
331
368
454
322
446
304
487
427
488
345
318
318
391
454
490
445
482
424
453
448
358
339
403
333
313
443
377
447
489
370
466
367
325
413
300
336
436
308
496
481
473
499
372
468
305
300
322
374
352
461
407
311
459
408
383
391
374
493
312
386
349
401
357
430
318
389
444
463
322
433
449
462
367
338
500
374
428
393
417
349
442
407
324
330
404
388
422
473
348
474
421
409
468
342
338
488
434
386
440
499
365
315
399
346
413
390
476
355
322
320
318
365
379
378
387
330
308
331
456
332
426
464
301
439
322
477
311
406
385
401
302
442
341
468
368
483
429
368
305
454
403
347
393
492
353
363
465
407
438
387
490
495
374
302
363
417
389
383
362
400
321
300
402
476
495
485
415
434
431
306
347
336
442
333
360
302
393
405
490
423
335
478
348
322
314
452
456
346
392
312
446
405
432
389
499
433
429
328
497
326
345
361
379
332
457
477
426
397
321
360
418
459
315
307
422
436
453
386
363
387
313
417
314
458
480
306
464
388
423
381
341
403
484
445
303
496
403
442
332
355
307
398
449
339
490
307
348
424
329
438
492
444
302
471
408
375
347
338
430
380
404
334
458
378
363
328
447
364
303
465
462
433
487
376
435
319
356
426
484
446
386
412
325
401
393
482
459
480
469
309
333
356
334
381
463
416
436
490
346
496
473
485
490
487
427
404
443
390
327
386
314
380
446
359
416
408
335
390
375
331
313
431
387
409
456
403
390
391
464
408
436
341
332
319
361
457
372
333
312
343
312
301
352
367
357
424
398
411
460
472
491
305
410
385
397
418
454
466
473
429
349
368
316
300
473
449
359
409
324
492
461
313
351
308
320
494
458
337
393
426
328
319
326
470
477
314
498
498
325
497
451
381
474
467
324
416
406
348
390
391
349
438
388
472
343
350
383
376
442
453
378
469
365
381
490
367
335
499
392
450
417
484
360
481
477
359
328
348
467
341
317
409
384
309
481
452
425
488
454
431
361
362
444
423
305
474
474
393
433
431
361
309
361
446
438
379
348
323
390
487
392
485
317
349
407
443
356
374
355
448
352
494
471
412
379
413
449
409
441
425
351
490
425
411
397
327
413
409
370
313
493
343
365
381
472
334
359
491
417
351
338
460
436
483
358
499
386
364
466
395
466
452
420
455
316
489
326
322
369
343
357
322
480
441
333
329
384
324
389
459
389
496
358
429
394
401
318
457
367
320
460
387
309
405
468
470
317
447
454
311
429
416
458
492
472
415
434
442
449
390
486
335
322
459
348
441
497
339
365
445
304
454
388
382
499
339
379
400
356
420
425
334
375
442
495
430
486
473
300
308
425
448
445
494
373
318
426
461
317
369
340
353
401
469
486
356
387
463
337
332
458
448
333
324
437
406
374
467
335
423
375
370
364
401
366
442
405
398
416
357
466
327
343
367
322
459
398
333
333
465
323
480
315
345
437
328
358
491
334
336
387
346
399
343
358
353
387
489
411
387
378
376
425
455
433
359
343
408
411
368
393
351
303
471
463
381
339
339
489
380
358
428
387
447
362
405
430
381
355
460
363
492
326
383
375
411
482
380
494
389
399
494
438
471
369
392
414
303
424
308
407
354
472
325
406
339
433
426
390
462
370
330
330
490
414
313
397
405
354
426
473
457
468
441
442
401
369
369
407
479
364
382
409
347
416
310
497
321
441
366
447
375
476
403
473
409
450
438
376
349
450
457
349
392
310
322
434
376
487
354
465
420
382
360
382
463
302
302
421
433
343
367
476
413
321
365
408
415
475
329
388
426
352
397
377
444
314
331
426
470
320
444
411
487
381
474
353
394
488
375
396
392
446
405
343
300
424
475
447
420
433
406
469
378
409
435
312
409
325
369
305
478
403
358
348
418
475
348
306
343
434
388
448
376
301
346
345
480
442
384
409
355
448
416
436
414
308
439
386
477
419
370
353
347
319
455
446
386
449
423
336
317
437
464
444
378
423
462
388
462
357
451
301
463
440
406
334
441
339
499
425
446
425
416
323
362
475
439
393
339
363
465
471
303
396
422
430
406
365
386
345
330
419
316
382
489
452
431
335
449
499
364
385
315
458
302
354
324
351
478
398
463
383
437
370
376
395
306
445
306
321
447
456
322
386
337
335
421
466
385
351
340
479
416
333
450
457
480
433
333
472
498
471
477
309
351
406
339
374
428
340
485
499
329
340
407
397
482
476
307
426
344
370
350
357
384
385
360
374
405
349
477
445
389
341
453
433
344
311
344
371
344
484
397
442
319
364
441
426
325
475
372
404
364
347
456
417
441
392
462
480
422
349
301
422
447
308
370
337
422
311
447
345
500
453
392
303
330
422
321
368
364
458
322
477
496
311
443
461
410
397
352
456
398
376
460
440
361
483
491
429
332
374
386
476
416
427
370
350
345
413
368
366
323
376
490
384
355
387
306
465
477
475
365
465
384
469
431
368
308
456
416
360
359
448
353
437
436
365
342
468
413
341
455
413
441
454
473
453
413
425
444
423
330
338
487
311
438
385
366
489
374
363
374
385
442
407
489
453
460
378
411
306
401
350
410
449
489
348
458
462
385
457
450
327
404
499
309
315
421
495
410
492
487
371
484
460
466
346
457
384
400
393
300
320
441
494
327
423
425
448
497
312
495
497
500
499
441
427
489
431
305
491
446
447
434
468
394
367
329
327
309
430
469
354
350
450
402
333
395
313
430
478
406
437
385
472
375
341
467
467
391
340
406
470
321
341
338
366
406
343
383
474
376
370
486
375
318
449
442
322
478
463
374
492
374
321
304
360
445
405
386
360
498
484
420
439
488
344
412
361
320
326
439
423
334
325
319
419
400
451
339
419
419
302
321
373
450
415
392
338
419
474
479
315
497
455
446
479
484
484
421
312
468
304
466
317
369
456
397
487
437
485
457
482
403
313
358
378
322
450
480
400
371
453
324
391
325
500
308
339
467
308
387
469
307
389
338
314
450
371
402
328
465
326
428
403
434
373
423
424
346
399
307
483
486
338
433
326
411
374
358
401
302
407
490
468
468
442
430
476
308
440
388
318
388
499
339
464
365
472
442
382
405
493
396
409
307
388
342
427
360
300
487
304
448
357
358
435
303
467
414
480
478
348
426
395
500
314
420
383
413
383
374
363
411
330
331
393
437
418
330
407
487
438
409
396
434
343
366
403
440
456
500
464
477
371
423
370
474
305
431
437
458
354
323
454
409
443
408
308
414
452
340
383
398
451
310
405
357
346
314
384
335
316
484
340
469
433
376
307
397
461
425
324
327
433
491
400
400
301
493
371
344
352
470
373
371
388
470
327
410
403
316
354
334
488
330
386
309
481
490
405
495
334
437
498
381
328
350
486
330
433
435
383
334
498
377
402
429
365
332
388
369
338
321
401
439
383
471
364
414
305
487
415
471
323
403
444
321
414
476
314
348
424
454
497
497
340
448
404
409
406
376
367
380
367
341
427
416
389
433
464
471
418
378
309
303
463
368
483
442
346
478
433
423
489
322
429
422
421
430
389
387
332
420
354
344
323
416
468
470
431
385
474
318
476
327
378
312
336
459
407
321
387
396
309
381
467
475
458
427
301
375
403
391
421
363
458
306
399
329
418
468
342
366
428
426
410
326
329
363
410
451
448
400
392
357
350
309
442
312
361
412
408
459
453
415
302
392
353
441
417
367
467
361
457
424
325
430
313
355
425
308
481
304
332
441
351
323
480
476
445
336
339
498
450
348
423
428
377
347
331
386
463
374
449
419
451
493
330
330
369
322
359
365
443
441
458
339
343
427
394
456
312
323
486
319
388
398
463
435
331
365
335
385
302
449
497
456
357
331
444
490
347
320
477
417
427
436
366
455
344
479
493
495
489
431
479
404
334
497
356
329
310
433
398
419
455
499
463
420
435
394
406
338
482
423
441
469
450
407
484
497
397
470
380
408
491
396
385
448
353
494
370
394
395
462
318
349
301
320
397
489
305
419
472
491
376
444
381
461
338
367
410
384
443
398
333
428
355
463
428
435
337
325
485
451
440
327
392
351
454
398
435
497
345
347
360
461
338
483
440
497
369
372
370
302
454
330
359
438
349
451
464
452
492
367
341
458
309
380
320
353
452
378
342
347
398
405
384
395
438
398
309
477
477
432
318
344
332
304
354
448
369
408
483
343
489
337
340
448
475
318
386
477
375
347
386
451
339
473
405
348
346
346
413
445
384
319
409
438
315
348
305
410
350
353
458
318
381
432
496
476
466
480
399
469
389
310
339
433
411
310
411
427
347
463
419
489
439
443
408
409
386
351
347
477
414
447
475
489
389
454
335
448
378
460
461
347
442
358
374
335
314
480
475
380
388
304
358
305
384
462
382
446
500
401
311
300
427
304
407
416
443
327
318
359
432
327
405
487
406
376
343
433
416
316
378
308
441
432
321
328
384
318
425
378
359
317
375
418
396
446
423
386
449
356
396
377
447
380
394
303
470
364
437
387
361
492
383
466
356
308
312
301
328
367
308
368
461
359
455
335
375
377
387
346
363
315
331
316
409
352
353
353
315
483
438
369
360
491
302
328
336
435
374
433
495
466
428
316
439
421
409
395
310
411
448
365
439
389
468
412
405
496
306
360
411
359
450
322
423
367
367
362
440
401
323
384
435
360
362
430
376
456
368
340
450
377
410
411
477
487
316
350
355
424
348
314
374
332
422
341
414
471
407
457
357
376
318
394
382
436
386
352
417
444
438
463
381
305
353
347
403
469
474
479
356
484
322
306
462
398
447
493
470
497
419
451
428
462
373
339
470
469
496
451
397
471
376
400
489
463
330
398
403
483
318
378
323
479
329
372
374
489
461
347
372
362
396
482
314
334
351
326
319
480
433
434
369
421
387
318
348
465
312
383
431
367
342
426
349
427
396
325
485
467
456
410
388
404
450
425
328
457
422
468
456
448
379
406
306
419
448
486
481
476
367
319
414
425
349
454
355
370
373
305
394
494
405
307
423
450
341
456
356
470
336
446
325
375
490
309
445
389
396
436
338
346
375
398
400
347
347
357
311
415
393
413
493
309
343
476
429
365
304
399
494
409
312
361
345
358
354
408
347
462
354
384
464
387
390
320
342
467
456
301
396
377
360
452
363
300
313
405
331
318
432
355
476
451
347
359
315
313
396
405
473
450
411
360
375
424
380
462
322
313
355
423
334
358
393
321
490
315
321
431
417
433
346
317
363
378
434
405
399
359
395
300
404
423
394
407
422
351
465
347
420
394
402
325
364
424
307
404
442
323
497
439
430
491
488
302
484
436
360
371
369
400
355
430
431
394
343
354
471
454
433
405
460
327
490
429
434
466
498
359
383
326
322
309
431
434
494
486
466
399
404
487
431
465
388
407
453
369
432
492
455
331
461
378
418
300
316
313
336
315
458
415
403
449
466
434
474
319
484
345
442
428
418
395
451
461
343
381
374
341
384
376
417
498
450
464
397
334
459
404
313
487
403
405
305
451
479
463
384
316
487
309
334
493
357
417
418
412
314
354
475
358
393
334
302
323
476
467
307
368
496
317
349
329
484
418
441
302
448
426
412
406
335
361
363
332
498
384
454
323
328
370
376
335
486
454
449
412
356
373
380
403
490
434
392
357
490
483
491
341
470
441
430
324
444
449
489
480
449
417
367
388
311
349
326
389
481
419
334
460
421
496
324
314
323
391
406
382
408
414
434
488
466
342
415
466
403
409
420
328
451
477
397
452
301
307
437
363
355
430
311
303
306
433
418
426
383
352
350
425
316
453
479
387
332
491
419
469
355
432
421
308
424
465
451
481
326
368
380
478
496
471
406
459
311
350
351
348
457
439
500
391
329
410
470
428
425
310
421
417
399
404
465
408
498
392
490
341
426
350
447
475
460
364
348
385
409
481
493
484
324
500
430
366
383
359
415
365
328
459
325
373
365
334
301
451
393
351
449
475
348
414
466
331
323
366
370
448
382
443
415
443
416
481
452
417
468
430
385
433
466
469
338
427
317
354
416
322
387
402
358
486
440
365
471
322
442
403
391
456
317
381
439
323
458
391
354
332
455
499
378
459
332
320
385
427
436
366
346
405
324
310
405
477
349
381
391
498
386
455
358
345
407
313
439
413
493
323
305
353
467
385
468
466
481
395
315
424
418
352
404
499
420
408
335
348
432
446
336
462
403
412
378
390
483
421
474
494
378
352
455
400
496
492
407
380
323
404
343
403
462
380
392
464
399
497
301
342
428
491
457
468
401
349
414
355
333
328
365
470
320
406
391
438
360
403
421
427
388
447
322
319
325
485
333
301
334
329
357
401
470
407
391
413
497
464
415
484
320
479
459
452
429
408
464
437
317
374
402
369
445
345
366
332
405
381
390
493
375
385
487
421
430
471
498
347
304
424
305
472
327
454
485
318
305
391
495
475
304
478
343
302
326
411
393
339
396
408
402
382
305
464
383
472
345
324
370
336
479
395
367
374
491
440
350
423
465
339
467
377
392
499
479
338
427
388
368
352
331
358
408
424
417
332
320
460
474
423
483
437
443
472
330
303
334
435
379
436
322
336
394
414
468
475
360
327
399
371
429
329
438
430
388
469
449
394
416
408
436
400
375
421
330
327
451
309
330
394
434
329
430
458
322
365
375
346
489
495
418
309
346
403
377
473
495
311
337
398
334
324
487
483
419
373
465
483
400
351
352
488
332
450
319
414
310
403
387
499
333
500
349
481
422
308
452
453
396
431
499
477
443
347
421
334
366
481
489
440
495
443
365
326
306
379
444
383
341
452
437
405
356
464
333
402
379
301
356
462
311
395
353
379
498
474
307
498
433
442
339
479
480
454
462
458
345
436
387
300
415
494
330
328
322
320
427
408
330
344
379
340
465
300
342
374
487
360
415
411
419
373
483
421
409
428
472
384
381
417
404
337
422
467
416
408
420
333
458
320
492
414
352
303
421
332
395
305
403
411
403
375
303
439
477
412
434
348
378
339
468
425
444
329
401
309
435
463
411
390
385
382
376
338
463
431
343
360
366
313
321
493
416
346
339
419
399
466
424
436
304
450
495
339
397
301
465
339
380
331
393
406
325
486
329
401
352
346
440
343
392
456
309
382
390
481
361
306
363
327
453
385
306
451
345
423
426
398
374
434
339
375
397
364
431
462
448
424
477
376
321
440
466
401
392
384
309
349
447
392
440
500
377
480
436
430
338
472
374
389
378
493
494
415
484
411
394
413
340
320
310
395
357
410
364
371
448
498
477
358
347
476
415
436
469
410
464
484
423
496
499
352
395
354
345
487
342
382
439
461
368
325
459
488
382
430
317
351
409
337
489
442
313
419
410
353
485
302
413
451
492
354
392
321
416
343
459
331
477
490
347
387
481
395
311
316
360
498
367
349
496
412
465
458
341
322
486
351
354
363
466
305
464
461
372
314
394
472
481
496
340
393
378
337
379
331
311
343
302
352
316
378
399
356
390
351
420
342
456
459
450
380
369
476
374
346
311
326
414
419
364
328
479
479
302
466
475
438
457
307
478
484
472
383
354
367
412
429
394
336
341
487
319
334
370
380
433
397
385
393
441
421
332
476
393
462
352
498
480
331
317
413
337
449
374
345
312
347
338
401
425
396
474
303
407
380
302
428
356
342
459
441
498
333
442
380
329
467
477
481
488
399
450
317
331
346
329
477
345
347
307
474
477
403
449
320
331
378
340
397
493
419
347
438
481
405
334
379
344
320
353
406
436
459
360
436
342
378
421
490
356
477
349
375
342
489
375
449
311
394
469
475
388
494
456
385
346
377
493
500
471
363
375
464
314
414
314
441
301
427
373
314
470
499
465
365
495
397
422
466
389
454
312
466
301
352
349
470
384
442
327
360
338
495
426
369
497
358
463
426
429
375
492
391
330
401
405
441
334
361
367
306
352
319
332
330
336
451
404
342
472
472
322
466
378
471
437
478
327
326
300
371
307
438
366
499
377
355
418
322
307
437
336
409
312
463
331
322
341
385
482
418
305
469
418
358
332
387
391
469
425
452
490
473
323
380
497
470
428
447
436
484
368
391
449
488
421
364
381
468
430
314
388
300
464
380
390
413
408
477
341
463
391
461
424
365
347
352
321
492
394
440
340
360
367
355
351
459
449
309
349
444
497
421
462
370
355
321
369
439
472
325
490
416
491
478
456
317
432
317
380
387
498
468
464
306
331
476
461
300
449
460
357
493
378
401
387
310
390
337
316
378
353
461
328
393
383
367
458
469
500
437
377
433
374
462
418
485
367
483
345
457
434
320
483
386
396
354
437
335
388
359
381
455
429
367
486
468
427
387
405
336
336
500
474
312
323
499
411
489
362
412
309
376
496
335
394
330
445
464
451
409
314
342
311
422
469
458
437
301
335
476
488
362
342
312
339
405
402
439
338
466
402
336
369
352
473
376
333
421
371
301
482
370
347
417
353
465
460
480
474
351
401
354
445
386
481
385
322
301
460
334
469
461
342
402
490
391
420
358
473
428
485
340
486
394
376
305
355
447
348
483
341
358
329
412
430
356
379
420
438
370
415
327
394
415
443
329
303
486
478
455
326
344
474
392
375
314
481
411
451
414
309
315
367
405
388
300
395
414
438
303
469
438
433
366
332
338
304
363
387
414
390
384
485
360
493
347
362
424
384
418
352
441
426
379
472
368
410
373
463
365
331
500
388
372
383
415
495
327
322
441
484
343
472
442
402
446
410
334
327
393
354
361
428
433
450
317
427
480
370
325
305
380
478
492
498
336
407
329
498
420
393
455
424
310
323
467
310
363
471
497
470
319
314
373
484
378
380
314
427
433
311
377
372
427
391
484
425
489
358
427
446
487
483
442
339
411
402
495
430
338
381
479
328
432
349
426
327
444
310
422
472
304
442
361
374
387
455
391
401
408
407
468
462
302
300
311
483
309
431
492
412
313
449
425
397
489
483
364
391
331
304
450
359
415
340
457
307
499
435
449
440
359
323
491
432
478
389
397
439
407
370
381
477
352
494
303
401
478
500
443
382
427
434
434
488
411
325
426
340
484
303
357
498
439
460
453
400
447
308
300
387
386
327
304
383
432
424
378
319
455
474
433
453
449
494
468
421
477
330
335
446
457
306
339
486
365
373
372
327
474
300
413
456
359
422
369
342
489
375
311
371
490
307
346
482
407
338
461
459
374
302
300
381
316
447
339
316
334
444
327
499
469
390
376
388
398
300
423
365
395
312
467
448
300
477
482
337
394
335
362
475
470
450
399
478
365
354
489
495
333
386
463
300
420
411
364
489
310
398
486
304
393
406
386
302
440
418
429
402
347
347
360
305
368
309
362
474
358
472
308
399
418
402
349
392
386
480
312
379
400
449
490
378
460
310
375
394
425
346
354
314
393
372
343
310
301
477
391
350
498
485
420
406
391
425
391
346
496
389
469
399
378
450
486
434
430
467
410
387
423
400
384
397
306
375
496
435
424
341
336
372
386
461
411
354
350
318
456
433
326
401
485
455
453
370
355
356
500
318
446
348
466
417
377
326
455
469
499
484
350
439
466
372
435
431
394
405
389
445
435
375
474
401
334
312
375
316
385
357
433
339
454
306
436
497
496
455
409
433
314
460
461
418
347
394
331
490
328
435
458
407
487
400
355
462
472
447
408
382
311
456
457
382
410
410
376
431
408
474
491
395
328
307
449
360
355
381
361
327
330
432
387
307
355
409
455
423
365
477
301
317
306
399
404
482
363
444
465
434
398
315
377
389
376
471
426
420
451
368
389
488
350
471
420
364
322
339
305
309
421
414
500
431
397
468
349
490
347
345
423
480
402
464
407
325
479
361
380
423
395
326
436
455
437
393
301
368
338
401
308
485
430
340
340
402
431
374
437
405
376
477
432
496
301
395
478
448
355
481
493
327
416
401
435
312
361
314
480
430
332
405
383
493
417
350
499
385
459
495
403
487
493
449
489
411
392
323
355
494
401
415
491
394
422
312
314
390
498
341
465
471
403
360
424
367
394
482
318
367
425
397
396
318
385
410
413
360
317
484
476
490
345
324
329
326
469
499
316
377
490
406
452
464
336
470
470
498
326
350
482
426
374
445
382
400
367
468
497
343
422
369
497
462
414
309
453
410
320
307
494
473
486
369
498
352
313
490
433
410
360
419
431
383
365
305
408
338
474
340
360
493
464
449
407
320
383
472
426
480
410
453
342
304
364
442
359
384
481
341
401
440
345
489
361
309
497
332
392
475
467
491
490
343
458
397
326
409
432
352
456
328
447
355
363
486
321
412
494
414
468
437
486
438
431
310
429
483
341
346
423
354
412
325
391
310
469
400
413
337
485
409
379
454
481
496
499
386
396
409
417
471
471
351
451
413
459
417
375
486
400
345
341
428
312
447
472
372
444
326
466
472
408
429
444
338
351
412
418
394
461
310
418
352
382
311
441
499
320
336
316
367
304
466
376
410
464
409
338
305
391
471
431
457
340
325
349
366
301
457
463
448
456
487
440
425
377
442
328
366
468
415
498
486
495
468
365
357
366
422
320
436
338
413
458
403
383
471
332
434
474
390
341
498
380
343
464
406
455
458
474
358
390
482
464
368
342
474
476
452
308
373
464
428
406
407
303
400
322
416
322
488
470
493
494
392
428
452
358
450
440
430
492
474
381
411
300
411
403
480
364
468
306
485
451
402
396
423
438
396
356
491
425
304
446
310
493
349
385
370
430
364
478
495
340
363
492
337
329
378
410
468
440
430
369
392
484
485
451
427
300
350
311
447
488
461
419
370
324
493
419
456
445
385
448
477
465
385
408
311
488
403
349
400
354
311
365
368
450
332
375
467
304
312
411
428
444
432
309
324
357
331
377
478
400
481
369
419
308
316
473
460
449
488
475
408
457
422
365
451
453
399
483
336
497
463
429
482
327
484
493
368
324
402
382
356
459
359
323
468
482
476
377
493
386
353
406
309
324
334
486
478
470
369
451
500
410
382
404
355
480
401
341
492
415
499
433
456
444
411
318
317
399
458
446
348
378
389
319
326
452
308
414
477
423
486
351
352
472
492
331
423
319
400
476
441
469
425
353
364
444
354
474
459
427
417
304
306
301
396
463
377
318
342
429
452
386
496
393
330
362
358
370
404
300
378
300
477
320
429
498
468
475
307
440
342
490
471
370
375
314
341
320
374
418
426
454
487
498
487
431
306
417
332
474
362
348
355
500
440
421
405
349
308
402
480
498
335
450
304
440
500
385
348
349
496
416
374
456
437
413
397
404
445
388
492
489
493
368
345
376
306
387
390
335
347
474
374
388
454
333
337
346
344
410
499
320
352
360
413
377
492
412
464
419
488
401
321
328
445
388
366
445
355
485
469
427
352
365
313
366
482
488
400
461
394
365
474
473
390
385
439
313
375
492
492
426
444
459
457
360
376
476
398
310
332
495
320
354
348
323
486
496
367
384
465
469
342
365
451
478
389
452
487
475
415
420
364
490
368
457
500
472
399
385
453
467
412
306
436
311
334
490
351
457
361
450
439
335
478
339
349
420
484
394
369
389
305
426
475
399
389
481
304
499
353
338
462
321
367
300
467
429
365
406
375
357
421
394
318
498
321
324
424
325
343
449
322
495
378
495
495
472
427
475
341
380
475
317
476
384
485
402
494
377
409
309
319
400
316
417
495
500
461
427
355
472
421
336
380
473
478
499
318
396
414
442
418
382
337
358
365
398
378
423
337
344
408
410
369
495
500
313
426
392
430
389
346
486
308
428
497
463
342
341
499
477
497
310
442
491
343
352
349
321
369
387
479
348
315
452
303
445
422
352
361
494
443
490
412
326
362
316
349
431
480
331
344
356
349
333
382
322
489
391
372
403
441
478
422
456
445
459
408
466
373
459
433
500
315
441
325
406
335
373
343
412
364
471
466
498
465
355
371
317
317
327
303
470
324
427
375
360
441
416
485
381
308
320
344
412
346
413
300
440
434
451
346
353
369
473
494
441
407
317
315
337
312
479
488
440
409
380
365
450
357
338
301
300
302
343
380
364
383
375
441
500
319
335
474
435
419
342
331
468
491
468
336
396
473
440
420
363
370
392
324
383
463
365
340
377
493
431
365
366
354
495
373
427
396
330
345
496
431
440
430
497
327
472
370
399
419
346
417
382
344
412
311
323
403
450
475
393
447
468
389
397
324
307
342
408
443
400
358
484
429
308
407
330
338
319
408
471
393
445
421
413
499
383
400
457
492
376
310
479
473
478
431
360
421
353
395
420
372
393
324
301
388
326
333
435
393
388
386
380
487
310
491
411
412
400
356
383
349
366
451
357
396
475
458
403
445
375
470
468
489
418
369
344
310
331
361
475
365
301
413
309
365
477
378
450
450
313
335
491
384
312
420
371
388
405
362
328
386
392
385
403
482
311
351
373
326
368
473
421
402
337
361
473
357
353
400
377
388
404
461
395
461
457
417
341
356
417
427
381
325
320
427
340
408
500
389
474
429
407
371
377
427
444
332
424
303
368
329
343
348
353
478
321
313
445
372
351
488
480
335
431
455
384
380
493
455
447
465
313
383
331
386
423
348
495
489
467
420
497
498
409
372
422
484
349
403
422
439
415
352
382
400
323
322
470
372
360
306
367
427
434
418
454
429
418
447
302
467
304
417
448
459
366
405
492
443
493
457
300
492
369
311
425
339
325
344
362
350
391
386
304
479
428
397
349
314
333
426
329
348
440
479
458
461
446
324
403
369
398
412
336
447
356
490
342
429
392
500
436
424
340
342
380
455
461
313
463
420
343
342
398
415
467
305
485
440
485
478
359
342
384
490
409
399
371
440
421
341
383
435
472
490
402
321
464
492
435
474
386
417
441
390
454
466
311
317
453
463
480
458
479
351
389
470
416
378
359
384
401
466
342
309
379
321
342
483
308
393
329
446
360
400
357
370
427
461
362
411
307
494
303
447
459
312
314
348
374
325
368
346
313
368
431
441
394
403
403
393
310
466
398
458
400
327
422
473
341
333
305
388
366
363
457
342
497
320
476
446
332
333
405
351
414
424
422
347
483
457
307
476
430
426
338
348
485
354
311
429
381
377
346
431
430
306
328
403
463
316
300
350
498
409
404
422
439
448
300
339
471
327
386
426
492
311
413
325
479
340
495
480
498
346
434
353
489
405
346
426
332
400
332
454
456
350
337
451
317
497
375
307
483
462
353
338
439
366
403
426
470
396
467
475
428
489
470
345
491
305
488
344
425
300
382
331
425
494
345
305
306
413
492
362
500
391
357
351
476
338
456
380
432
398
431
328
302
340
331
495
458
329
470
462
447
340
435
465
345
332
459
411
320
349
362
313
427
461
379
348
308
437
465
386
353
399
315
304
309
398
418
406
406
361
364
494
497
316
356
344
397
442
382
478
449
473
496
304
489
405
301
434
324
317
401
472
500
500
487
416
360
307
362
437
470
344
487
457
418
368
403
436
412
494
433
345
309
414
442
446
327
437
434
408
323
465
313
485
382
477
310
396
448
479
375
391
431
333
351
468
367
409
328
313
413
411
384
322
435
488
335
339
375
409
355
416
483
459
397
463
468
413
491
388
414
465
337
328
348
367
459
377
330
455
402
454
492
419
307
348
412
354
360
453
438
409
303
409
377
389
467
331
391
434
417
310
463
372
445
370
442
346
454
370
455
460
418
462
466
441
483
495
337
364
360
348
352
324
347
467
380
449
355
379
456
405
394
328
471
432
338
337
480
374
406
361
428
345
466
490
379
330
493
342
382
485
365
300
443
474
450
327
475
429
467
312
492
426
318
464
307
304
485
426
321
315
365
437
320
347
390
396
426
458
349
401
373
462
467
417
317
432
352
398
439
396
301
449
303
336
442
354
492
437
358
412
306
308
443
306
429
347
421
308
473
473
350
395
486
361
417
305
352
355
320
459
399
313
440
469
471
429
437
452
463
465
403
500
310
394
305
451
435
422
333
453
500
384
454
300
349
305
315
388
470
454
397
496
300
349
491
373
336
362
443
326
390
363
460
349
388
407
365
413
355
334
431
455
390
305
354
344
360
377
425
365
462
321
419
435
448
329
362
492
355
431
417
497
444
390
319
393
328
326
364
364
416
387
313
357
393
469
468
356
372
321
424
428
487
449
493
355
314
371
433
347
476
449
314
477
401
329
337
381
317
438
408
436
368
465
354
494
485
461
459
385
428
324
439
362
382
360
435
394
471
323
500
378
484
474
424
347
320
373
483
477
343
465
309
490
373
498
382
347
443
321
444
360
476
375
464
411
446
472
320
490
333
476
431
403
477
304
484
389
401
415
393
418
360
399
308
457
479
456
407
357
382
364
374
325
477
317
457
472
323
323
440
414
429
476
445
405
401
368
350
398
450
371
412
428
362
455
367
499
318
370
402
409
302
365
300
313
500
428
325
358
423
494
330
492
381
426
487
455
320
474
351
302
350
312
484
356
345
429
338
312
355
328
392
372
382
317
365
396
352
481
442
489
439
475
496
359
312
327
434
405
452
364
438
320
322
485
387
409
438
324
302
332
337
304
481
375
352
302
322
321
395
352
442
396
445
488
461
411
422
302
359
418
371
383
421
317
344
330
317
304
325
434
440
341
406
358
396
478
411
389
451
378
309
447
456
412
446
308
318
389
472
476
359
416
346
486
461
301
316
499
462
328
481
441
314
378
369
318
472
429
412
386
473
350
430
469
477
422
407
377
406
399
302
474
396
376
443
467
438
321
426
415
373
460
498
473
438
340
418
391
342
424
450
328
328
495
435
417
402
445
440
325
470
483
461
332
356
384
339
331
323
500
419
331
435
349
482
380
403
354
361
345
482
337
317
313
363
454
413
378
423
334
406
387
464
407
448
384
420
381
336
339
490
323
362
386
478
361
437
408
499
327
409
424
454
472
313
429
452
407
372
435
480
305
438
321
342
419
390
491
348
485
463
383
415
363
413
350
384
472
360
355
436
465
471
391
349
324
365
423
448
446
432
475
366
428
427
423
427
356
374
408
431
392
427
493
476
354
485
328
497
389
491
316
362
378
495
494
340
312
304
365
321
334
413
422
455
301
424
344
372
478
402
456
354
355
325
378
336
458
415
349
313
469
409
312
436
356
388
411
426
327
415
459
315
454
448
460
413
346
456
352
303
359
466
308
371
396
327
445
480
427
335
404
388
498
339
463
485
470
466
329
435
494
420
385
494
426
454
429
343
420
361
404
407
445
393
443
407
488
483
347
328
411
337
386
313
489
461
385
329
498
426
440
427
352
354
349
406
322
360
321
372
302
491
500
389
370
360
414
351
330
302
462
411
459
339
369
466
436
363
390
390
333
375
422
450
410
472
417
346
451
412
494
300
318
467
304
388
489
416
430
340
338
457
459
472
464
307
487
430
373
316
360
456
313
359
493
493
399
329
393
332
333
474
479
410
407
475
306
457
427
346
457
488
372
402
483
362
457
472
409
432
403
431
466
338
325
397
449
396
311
323
442
364
351
355
418
380
444
347
431
396
386
328
377
382
391
474
484
443
489
498
408
454
380
484
464
491
436
435
371
310
394
335
459
469
340
492
438
410
360
339
301
408
425
432
472
305
439
306
463
363
467
402
332
361
455
390
394
354
356
436
469
410
464
488
423
473
303
343
351
403
455
447
403
354
331
314
460
360
399
319
364
438
321
424
413
412
427
430
449
328
367
498
489
453
439
417
453
499
315
306
404
350
361
458
386
332
491
361
361
406
499
383
480
469
436
344
431
413
319
479
343
466
387
358
418
500
382
338
401
352
499
432
490
436
406
308
339
404
383
468
414
426
318
346
401
455
300
352
415
381
391
443
407
385
453
472
451
475
471
491
493
377
300
416
316
437
422
313
432
391
324
460
368
437
351
351
444
494
382
369
350
337
487
445
479
364
486
481
487
342
319
325
454
403
376
391
389
491
500
402
337
481
344
428
336
385
473
402
302
437
421
316
324
458
423
364
428
453
472
455
407
321
435
417
343
306
433
494
340
310
398
432
434
346
401
427
414
486
411
472
336
467
384
483
421
460
403
330
467
364
440
425
335
462
370
418
312
373
480
481
437
373
344
405
312
465
392
496
310
445
371
367
443
438
305
402
465
494
327
373
442
378
484
433
309
360
317
394
323
469
478
374
420
401
485
317
387
469
489
402
401
430
311
483
445
494
377
414
405
320
428
316
430
437
445
482
499
499
389
398
347
407
367
449
387
310
332
404
399
332
428
395
386
420
334
456
485
387
379
443
401
391
400
492
401
442
392
345
483
357
397
465
467
381
490
762
458
510
463
793
659
794
702
749
680
737
521
816
603
474
745
422
719
771
492
603
740
815
443
561
683
710
521
729
693
519
758
650
576
800
548
819
512
789
616
774
675
501
804
629
801
703
796
794
696
461
446
707
562
453
492
665
674
787
769
491
684
547
576
777
538
811
716
791
819
709
734
625
695
737
651
683
759
608
717
505
766
439
534
721
595
688
462
729
534
818
808
539
683
572
642
656
467
691
536
513
423
438
502
588
526
592
721
594
476
435
478
662
767
759
656
475
431
627
456
793
560
776
423
690
767
511
818
615
538
571
493
759
724
649
458
467
818
490
694
523
547
483
622
691
553
720
651
490
537
532
779
536
528
660
605
539
695
581
659
557
508
594
549
738
433
658
546
484
594
547
577
485
712
712
585
592
567
514
431
515
769
743
814
465
596
683
478
456
625
601
529
452
711
580
711
753
503
480
736
435
432
806
620
551
504
703
581
555
717
623
434
641
725
730
807
763
638
519
579
819
639
674
781
814
650
677
504
743
501
425
696
420
645
684
668
807
806
618
697
507
649
639
423
689
589
820
780
612
637
506
756
590
518
542
686
639
439
820
491
561
536
697
676
625
580
682
815
420
700
538
610
692
437
437
733
707
755
678
511
795
420
636
491
675
761
800
740
805
677
574
622
729
735
505
748
538
723
527
693
480
687
583
487
542
774
511
428
543
807
609
622
706
563
507
767
653
480
773
505
805
441
496
583
440
634
467
747
816
694
607
797
544
757
764
420
559
741
507
686
647
593
657
732
764
737
644
592
703
711
618
615
510
450
637
633
454
787
722
687
759
651
489
471
597
539
768
511
691
458
674
683
621
805
648
563
802
545
809
497
642
491
570
546
509
736
695
678
470
527
694
712
813
502
767
743
625
779
538
648
741
787
423
664
581
554
609
491
470
785
796
514
438
657
476
768
521
645
680
666
585
755
556
492
562
672
795
424
601
638
539
677
655
611
559
625
767
785
486
639
785
747
422
572
654
721
548
798
617
679
596
733
477
480
582
643
437
715
724
594
781
615
436
562
442
643
773
668
429
646
793
536
736
461
534
540
718
633
804
482
610
497
703
464
671
455
664
564
781
787
491
606
490
593
813
535
451
780
509
613
475
534
555
681
759
587
474
656
800
655
680
449
442
511
554
640
503
752
788
555
466
797
811
613
671
817
582
728
682
539
560
705
682
428
584
479
753
467
433
800
573
428
707
801
451
777
677
727
655
517
686
607
455
431
757
467
774
733
486
754
685
453
462
552
455
562
450
667
782
605
590
623
664
528
677
801
595
767
630
801
630
436
556
779
567
802
623
578
643
532
539
593
422
567
615
767
748
555
707
654
757
792
758
816
561
663
726
663
427
795
805
751
543
651
526
509
462
705
760
458
538
451
689
739
698
472
433
686
743
663
492
573
472
800
574
611
696
651
537
685
468
481
550
681
705
542
556
705
433
691
436
692
509
444
698
475
686
678
741
757
689
796
525
799
743
585
788
463
801
590
435
634
549
698
746
734
623
808
552
733
680
686
516
648
626
782
475
774
494
448
707
647
708
636
788
598
767
690
599
605
737
784
794
448
562
588
733
760
511
569
476
700
620
438
661
718
753
617
616
510
565
620
698
556
461
505
584
767
755
516
647
586
574
459
451
632
481
607
556
592
785
482
705
488
651
767
699
480
484
501
579
648
478
817
659
587
472
427
448
634
593
803
789
588
489
538
795
778
459
654
451
768
751
582
672
584
746
496
799
689
775
609
611
661
698
724
543
475
608
663
722
503
786
627
460
486
493
539
557
723
592
819
797
434
468
610
568
613
511
736
775
802
520
506
509
687
555
606
647
433
603
583
670
432
430
715
558
540
423
516
567
700
477
474
658
632
541
784
550
506
817
460
633
609
733
538
666
445
494
431
500
690
688
436
447
514
614
557
741
702
483
588
496
501
683
598
764
595
770
606
759
784
730
802
547
471
502
665
649
718
543
630
487
455
706
586
769
481
677
555
430
753
701
438
790
494
604
577
452
525
483
668
486
747
690
723
437
631
800
637
503
638
580
811
586
432
675
472
556
631
624
443
771
663
727
529
482
528
694
799
655
486
769
530
649
772
652
783
792
441
730
458
749
615
531
767
773
568
745
492
656
512
608
817
560
501
682
807
783
549
683
736
767
589
472
645
588
762
611
497
473
818
715
512
661
506
549
743
723
686
785
531
547
749
464
722
568
755
723
600
656
598
434
600
728
729
449
580
750
554
765
751
438
714
705
697
485
449
504
477
573
559
815
706
501
615
501
782
490
593
737
762
424
477
745
424
558
667
642
810
745
637
515
546
527
498
595
757
808
800
475
470
420
520
788
583
735
771
437
715
780
617
687
478
637
540
673
551
430
454
795
624
748
784
682
677
652
764
799
428
625
721
689
544
522
539
697
756
420
673
659
532
793
791
541
789
707
712
521
587
691
669
787
808
569
770
655
460
660
811
765
445
533
756
434
784
608
710
505
639
549
680
459
458
513
712
448
756
747
579
445
629
589
437
760
508
747
549
807
586
509
518
719
489
761
599
466
516
492
602
702
478
662
729
746
709
803
482
611
766
765
555
742
766
552
510
671
584
703
431
630
455
549
552
611
763
785
741
617
444
795
494
634
629
705
460
742
685
566
460
569
488
556
477
820
754
671
635
770
628
698
493
768
648
762
430
505
619
682
539
552
494
518
457
667
550
451
586
719
679
602
782
540
616
479
553
660
698
498
631
708
446
814
629
430
749
691
591
799
813
743
726
788
480
446
811
637
763
793
625
735
669
653
630
792
539
637
538
659
655
558
533
691
763
606
764
742
669
697
440
576
806
744
614
551
491
747
711
559
713
729
813
589
424
524
629
487
709
436
454
466
779
664
754
796
564
587
691
687
606
702
538
511
679
801
441
675
642
710
451
684
438
813
665
628
811
507
503
526
566
765
687
473
651
658
525
473
515
744
805
673
488
541
437
528
713
638
489
605
494
562
437
689
684
475
725
784
731
532
552
483
520
770
657
649
809
447
573
726
682
804
597
495
499
545
484
481
452
446
706
729
520
570
703
793
702
459
500
459
719
475
507
619
528
597
770
681
485
569
791
761
645
640
601
659
504
665
686
690
457
617
540
568
745
478
559
554
802
702
528
509
687
579
456
624
624
662
765
492
752
546
597
594
621
781
528
707
594
739
706
465
550
456
652
552
783
666
499
789
697
775
446
462
427
594
489
513
707
657
454
636
703
593
501
710
576
437
599
558
675
690
743
499
752
793
577
581
546
629
742
779
773
463
530
492
626
514
745
473
785
440
658
554
640
666
533
613
739
811
636
781
740
763
480
442
575
470
420
446
454
813
607
666
612
582
784
598
790
810
433
509
800
776
704
726
814
820
721
807
801
592
711
799
696
756
453
485
750
739
609
812
788
641
718
629
695
763
676
676
551
426
459
767
585
447
811
524
582
743
763
637
735
792
461
423
505
560
571
469
564
653
584
557
464
449
726
742
520
709
729
671
535
543
506
545
465
586
572
694
725
512
615
628
483
739
763
650
727
424
479
619
568
702
716
698
470
763
476
590
811
725
722
610
690
601
672
642
485
750
648
665
574
677
528
749
498
606
798
758
492
486
749
548
703
785
718
502
727
475
559
442
684
540
789
744
457
671
806
440
689
677
662
628
811
733
475
731
716
606
465
616
537
471
809
714
725
750
599
819
638
806
509
515
799
793
596
660
562
538
643
493
718
792
524
635
459
437
444
732
711
516
727
807
613
469
481
688
515
774
511
610
756
441
650
728
486
697
687
729
672
713
443
759
421
480
736
458
494
694
636
432
614
725
713
435
539
686
539
797
595
657
483
519
481
679
644
771
528
662
732
811
495
456
612
463
552
542
718
581
626
615
774
786
476
544
807
536
508
666
799
567
676
748
683
588
444
516
592
819
575
591
759
749
572
646
806
570
433
683
792
569
806
625
557
625
805
665
703
658
661
731
582
728
708
700
691
602
487
801
736
436
461
610
665
699
529
695
669
794
697
818
472
786
495
695
760
799
776
517
640
601
463
491
600
525
467
567
733
559
804
761
500
646
717
760
774
528
499
765
757
547
446
623
548
698
765
682
558
667
492
527
815
696
525
764
486
774
529
729
525
745
673
611
508
726
531
572
765
579
714
499
757
522
692
633
435
554
657
643
774
793
775
782
550
454
463
463
721
771
449
732
672
508
428
429
591
575
654
658
504
503
485
752
726
669
714
503
539
671
572
741
733
524
706
764
439
675
557
569
543
618
634
623
584
686
620
499
624
545
599
435
819
715
683
794
691
768
561
632
701
425
425
650
718
679
712
553
729
546
577
738
435
750
549
459
540
652
662
680
703
820
449
530
642
495
669
576
722
504
696
732
813
486
453
563
783
519
548
774
805
450
804
448
809
650
577
500
649
503
643
767
725
666
813
548
614
445
594
734
732
563
521
526
789
464
618
631
449
799
440
431
753
749
547
570
785
598
499
430
663
463
511
797
552
597
740
646
657
771
485
812
478
422
623
807
740
631
773
519
433
576
716
785
819
672
673
449
644
561
757
610
525
610
457
665
558
717
800
547
649
639
427
672
814
669
648
512
580
631
763
748
490
793
631
479
675
678
803
690
512
450
744
558
492
698
778
524
431
478
521
574
643
702
598
502
508
696
522
750
676
691
784
463
561
534
746
500
715
623
430
579
667
790
596
434
530
525
799
646
760
752
664
645
700
819
540
693
700
703
672
799
462
512
764
711
688
698
819
570
596
608
800
594
534
602
454
784
707
760
696
489
580
539
728
612
652
601
616
779
512
469
627
442
621
739
440
722
536
686
485
524
503
574
625
744
820
519
748
711
424
562
660
479
585
454
676
581
656
474
443
657
436
603
475
459
532
724
680
497
689
674
733
742
537
507
672
764
664
474
680
538
686
424
779
479
660
541
544
680
694
729
422
473
565
780
568
683
485
437
435
555
424
582
482
704
496
732
516
799
770
451
682
734
572
764
562
680
634
455
715
648
744
747
572
674
627
539
437
800
728
483
622
696
761
627
801
727
649
676
819
773
640
646
448
685
551
530
562
643
710
622
713
714
751
746
785
785
421
630
461
573
729
592
465
588
820
422
816
623
616
774
499
503
440
752
431
643
565
428
684
607
456
470
675
609
560
447
462
661
473
762
464
768
630
701
477
730
434
793
805
436
699
437
450
501
690
456
627
783
703
714
669
666
603
466
588
744
431
596
773
470
713
424
441
592
682
673
815
554
444
680
599
730
616
449
693
574
535
677
491
457
616
475
695
640
710
568
763
682
735
639
540
727
612
727
613
818
555
803
809
635
650
798
436
664
810
760
579
706
649
566
771
643
601
604
463
732
471
781
777
433
638
780
498
599
522
540
819
733
586
814
786
508
804
746
465
629
641
594
478
767
573
642
782
677
784
665
519
618
680
664
750
506
742
671
715
521
482
639
421
628
434
685
811
585
454
799
484
427
643
487
652
755
575
542
705
559
759
471
675
458
623
701
534
733
730
699
585
495
720
557
509
722
548
562
553
523
671
496
629
734
626
580
557
803
675
488
453
709
754
569
484
731
744
462
804
798
727
811
695
772
600
558
789
543
521
421
469
564
471
713
756
607
803
514
541
782
619
779
599
700
560
705
642
720
526
778
712
786
462
482
708
468
424
504
772
749
709
712
777
676
584
781
743
436
809
546
800
575
813
556
508
725
784
767
425
519
742
789
614
812
543
668
752
760
558
721
819
698
653
746
790
648
788
798
547
679
547
577
798
677
453
464
710
552
704
548
800
596
744
586
449
551
809
482
724
433
568
727
491
727
548
649
660
514
511
819
735
539
816
765
758
732
761
613
536
548
812
487
614
800
796
531
639
666
571
750
482
455
816
558
661
508
540
668
440
655
618
637
551
516
631
679
513
582
687
760
706
741
464
793
713
487
631
630
427
814
601
562
640
726
458
637
626
683
738
498
447
804
764
781
685
604
663
757
656
790
779
701
582
539
698
754
778
688
454
721
778
754
809
791
610
595
530
710
443
763
685
814
480
625
572
760
731
530
709
634
717
633
644
602
817
629
586
792
596
574
648
666
671
549
760
487
491
747
593
679
707
424
647
668
776
758
773
588
626
461
557
644
619
793
677
587
667
725
435
663
496
702
655
468
543
733
551
713
424
798
750
424
554
476
684
551
581
639
634
736
637
612
596
597
733
742
520
698
481
485
633
658
566
709
805
540
801
666
659
541
550
811
766
731
506
426
472
559
757
495
671
615
804
667
641
605
550
752
587
737
458
429
488
658
533
496
678
481
446
563
549
685
434
566
513
642
808
634
639
432
645
439
770
595
691
616
667
700
683
792
564
584
462
449
488
700
617
427
737
628
507
517
770
736
596
518
649
520
628
612
505
599
686
577
494
549
770
461
733
761
793
466
661
770
772
580
493
455
705
711
778
585
620
420
784
528
696
592
794
650
633
700
503
579
716
762
490
800
514
527
664
435
552
443
705
566
713
493
519
613
432
601
748
736
481
420
615
643
732
551
679
780
626
741
585
684
696
594
432
509
525
432
531
499
650
438
668
664
819
451
773
522
643
464
494
604
621
444
565
672
579
681
651
457
518
639
738
747
584
531
570
799
559
522
519
637
459
763
658
758
722
540
586
432
439
449
563
590
793
590
699
807
672
695
548
620
454
481
700
735
678
647
554
685
621
639
798
595
626
471
687
469
459
717
806
426
672
792
694
699
734
447
548
747
785
562
425
563
727
711
804
463
804
438
805
515
712
534
630
704
537
810
632
460
644
768
553
648
690
770
715
647
453
765
626
664
788
785
764
815
602
441
454
794
519
609
501
696
481
483
547
817
491
718
573
439
486
573
724
688
476
662
475
703
510
706
521
728
547
713
717
744
496
636
789
467
423
440
735
598
663
811
553
813
458
480
467
673
714
541
731
738
514
502
510
532
514
651
614
814
692
599
572
574
433
655
453
767
553
638
610
629
448
568
661
817
814
474
423
759
780
556
780
602
721
721
572
806
492
739
781
608
762
781
717
605
708
469
820
642
753
664
767
681
537
692
646
728
790
649
613
472
425
524
446
759
587
775
496
482
622
692
536
697
667
712
597
663
597
463
625
570
646
499
497
486
525
592
618
525
607
668
568
571
765
630
752
552
504
497
538
722
703
622
490
764
656
463
736
535
813
759
494
559
560
672
765
709
586
498
744
754
642
751
525
738
448
681
794
695
741
754
442
533
644
571
658
708
738
809
743
452
544
774
527
621
817
748
633
809
510
667
559
550
588
482
445
669
524
762
741
607
672
670
672
508
560
815
488
765
796
424
627
743
570
532
600
493
809
709
431
454
528
801
438
715
717
538
750
555
690
546
781
759
814
482
477
775
810
651
695
690
810
591
482
507
780
426
788
802
666
757
477
501
651
697
735
553
807
633
549
426
689
599
448
566
698
762
714
475
448
713
758
815
754
677
476
524
778
641
528
488
780
515
607
754
748
647
566
632
580
602
430
666
443
635
686
759
488
519
474
563
438
601
819
533
560
582
678
563
541
615
547
710
744
469
759
496
592
801
490
647
434
809
700
659
449
788
607
609
566
629
694
819
487
579
665
693
494
723
424
663
734
483
630
444
677
774
722
569
458
422
531
700
774
682
684
577
590
585
512
784
805
545
474
500
653
606
630
551
610
725
755
755
429
441
524
721
792
479
721
761
709
597
463
482
426
450
479
680
700
627
568
705
437
467
489
791
439
656
637
519
685
425
612
460
697
716
700
587
539
815
623
600
554
455
754
642
544
789
631
802
816
795
561
475
489
443
568
610
575
481
434
819
475
589
759
809
620
622
769
542
625
454
492
699
451
706
710
700
455
697
727
743
714
430
702
444
799
528
469
566
468
709
670
730
420
638
735
700
783
510
646
550
458
513
520
477
515
691
700
538
669
662
577
483
695
734
670
495
621
626
571
517
454
499
743
767
661
672
623
708
490
809
790
732
610
801
494
659
420
702
597
690
720
439
496
495
479
723
687
719
658
420
668
760
483
474
747
792
538
643
581
802
641
675
553
628
671
707
681
616
774
667
590
709
582
767
605
790
716
497
508
763
752
624
429
549
799
707
510
651
633
554
531
814
738
804
790
653
779
700
598
604
555
490
655
423
789
802
609
791
554
582
510
812
441
669
616
491
767
490
539
540
560
432
588
792
523
604
641
446
494
563
449
729
506
548
535
450
670
570
497
558
768
686
696
595
504
491
574
447
715
565
690
687
567
516
421
616
816
769
538
626
420
635
670
546
439
749
669
705
666
818
626
555
450
749
491
710
420
717
529
701
465
709
558
546
676
677
439
691
533
436
695
661
537
637
440
753
529
685
587
448
694
567
790
427
484
568
531
562
624
793
814
702
478
765
640
432
426
463
446
663
551
536
475
814
521
661
444
801
674
762
787
735
627
466
751
802
588
781
801
653
687
650
504
455
673
686
570
567
638
477
796
462
659
461
662
447
638
764
513
583
637
665
772
729
537
580
525
467
552
595
579
427
475
676
707
733
511
443
492
485
717
698
706
633
439
560
751
444
501
580
780
798
510
623
644
482
820
516
490
424
657
805
452
476
540
491
561
788
722
765
662
437
486
768
680
771
775
423
711
423
457
734
712
546
583
597
499
471
461
571
510
440
750
687
460
803
573
503
512
467
510
544
740
571
738
458
817
557
479
811
781
611
599
639
740
816
546
654
642
559
459
745
791
591
571
432
444
493
807
636
659
696
479
643
613
649
732
527
569
761
684
758
651
481
527
788
422
425
535
769
508
527
534
771
540
758
575
771
434
813
571
521
629
536
522
767
773
610
819
781
723
726
486
757
525
593
702
444
438
626
639
787
464
796
502
817
762
452
669
491
505
781
741
761
752
705
592
795
652
532
595
706
635
765
691
462
594
688
791
778
643
563
434
688
803
816
459
436
820
500
511
573
737
501
681
669
606
486
524
611
554
747
656
697
536
532
732
614
678
756
526
625
541
624
724
725
452
566
572
701
476
567
645
691
512
476
795
715
684
491
542
760
597
816
569
639
617
532
713
650
424
487
679
614
614
473
537
617
683
596
662
438
768
654
667
760
780
803
516
509
745
816
714
750
814
472
441
765
488
505
592
578
730
633
504
603
687
606
525
697
723
764
739
482
662
482
461
604
641
544
667
794
588
532
725
518
738
703
604
459
697
652
580
716
735
780
730
422
752
512
658
556
563
581
718
655
677
473
643
523
431
728
457
434
468
692
786
453
516
565
637
743
795
696
557
777
447
714
643
779
682
552
654
431
479
621
571
685
572
618
795
554
652
503
490
575
577
653
820
796
444
701
688
810
668
505
658
572
642
742
651
537
581
756
717
527
744
685
605
504
537
586
447
712
551
738
733
779
567
807
491
650
719
553
461
769
457
550
794
642
425
805
474
508
540
619
441
471
575
754
575
606
608
553
793
687
678
666
495
518
585
505
537
449
747
444
720
504
715
685
597
723
556
725
622
550
810
799
515
482
771
582
677
643
660
581
594
448
609
454
615
679
601
536
571
465
489
570
454
550
641
548
581
723
679
665
444
449
752
783
584
810
587
802
789
593
642
711
432
526
711
487
585
746
510
776
593
441
486
597
605
513
749
722
817
548
785
472
610
774
511
798
525
420
742
422
713
684
476
454
605
424
801
456
765
694
686
551
496
516
818
652
650
558
547
532
569
553
555
500
541
809
590
445
738
617
630
672
820
646
657
445
628
580
717
818
560
484
544
486
485
502
619
581
653
484
619
713
468
732
569
587
426
546
790
562
511
652
644
758
711
772
603
580
725
666
491
770
622
634
488
688
506
666
445
534
432
581
769
819
778
670
437
557
639
765
806
644
768
498
742
741
679
603
581
688
693
675
757
638
800
641
647
628
584
472
609
721
559
740
673
705
540
504
743
800
476
660
667
654
667
611
515
689
608
548
791
703
802
568
527
751
511
521
731
545
794
431
592
756
543
720
608
504
509
746
730
767
425
659
676
438
466
712
460
611
542
582
760
638
755
448
502
748
436
752
641
634
725
809
787
788
446
783
819
595
744
526
463
578
443
449
653
797
692
636
491
755
806
493
435
650
425
465
461
802
658
622
496
676
610
500
626
542
670
720
568
676
698
790
557
792
486
783
495
735
459
712
520
675
661
561
613
534
515
473
690
442
490
490
496
650
567
626
680
777
625
584
445
445
641
478
576
513
431
487
477
635
734
732
728
521
558
509
622
803
442
484
666
450
797
602
681
443
449
574
441
456
448
699
423
549
703
795
516
704
798
531
650
735
742
444
770
596
702
444
505
799
625
509
683
679
534
488
740
506
503
624
560
786
761
454
566
798
621
650
438
577
718
784
636
751
731
797
525
430
700
445
725
568
529
532
810
809
445
493
590
724
778
723
510
519
745
531
820
583
683
789
781
728
629
771
594
608
434
746
509
459
806
530
531
793
475
718
563
550
646
475
650
542
540
496
520
460
783
709
733
679
750
567
719
764
801
664
542
594
572
496
593
751
489
589
438
761
618
474
684
747
565
737
538
572
556
588
755
730
676
554
810
722
626
753
516
805
724
688
709
763
492
692
535
651
577
504
617
559
693
552
645
724
672
815
791
785
609
782
544
489
647
540
470
519
428
751
641
604
486
443
638
538
519
673
522
613
495
463
536
675
813
687
806
681
766
690
565
712
465
762
759
587
469
576
422
531
707
733
588
792
790
536
711
681
524
448
801
513
532
691
459
616
687
605
813
773
602
658
571
664
556
689
550
473
505
760
686
680
819
554
653
803
441
703
523
485
431
511
772
576
447
427
592
554
473
580
640
686
690
700
585
807
610
513
587
762
546
525
477
739
473
663
781
445
674
756
517
494
434
786
592
685
666
588
476
771
613
795
677
518
503
810
506
494
508
553
734
470
556
434
533
576
733
596
599
740
572
562
618
667
612
495
529
481
683
603
522
539
621
590
791
777
434
433
436
482
629
456
544
555
426
528
543
811
681
529
446
654
530
560
596
718
681
455
497
648
496
762
456
583
805
664
459
622
437
773
523
632
660
550
789
521
428
547
738
748
615
730
777
815
522
540
670
816
794
711
477
437
448
524
727
756
641
754
473
647
799
502
695
629
626
701
661
791
601
709
774
611
758
727
542
716
553
527
595
712
434
562
564
787
421
445
747
641
623
783
650
525
819
791
637
501
425
621
638
759
512
767
621
801
812
709
737
763
795
807
454
648
494
557
450
726
644
744
596
464
556
537
489
574
587
488
816
690
421
623
696
714
506
631
504
436
572
564
702
569
477
768
657
504
662
724
428
722
431
659
808
820
627
816
806
693
453
482
658
605
679
810
724
474
738
767
498
770
797
755
579
641
655
464
442
551
750
628
734
700
794
424
445
777
592
667
572
491
656
506
767
816
680
529
583
607
560
599
507
803
727
786
778
526
455
516
499
550
781
689
807
812
502
445
498
517
542
611
427
613
592
753
455
770
557
589
612
507
543
643
651
638
781
500
572
579
541
544
451
452
592
766
681
524
536
707
480
450
446
426
666
807
517
705
426
669
659
463
740
780
629
615
768
789
667
567
583
503
499
716
536
513
442
776
729
746
819
691
460
686
681
471
466
619
660
734
803
538
560
664
464
652
692
761
538
742
769
517
612
798
710
688
510
588
807
620
686
708
429
761
536
584
469
530
661
758
508
483
655
611
587
465
610
532
623
684
466
426
627
489
589
643
582
723
423
569
496
422
537
530
800
640
445
734
508
733
509
818
503
483
495
630
569
610
641
538
490
814
517
614
511
770
445
582
578
707
653
721
570
663
748
484
664
767
581
536
630
507
632
596
698
595
592
635
450
786
661
616
806
613
721
510
526
576
694
564
421
652
531
428
654
814
748
623
546
790
444
758
596
485
703
820
692
595
567
521
675
519
756
550
757
554
565
532
623
779
665
503
585
808
571
564
719
476
565
779
572
533
439
498
766
648
552
510
501
783
717
694
571
777
468
544
767
529
655
790
438
736
503
513
764
497
508
655
503
440
620
679
573
802
809
757
475
779
705
502
452
625
764
720
775
719
716
612
727
623
783
677
438
709
559
710
425
738
622
510
619
435
489
533
818
642
459
775
731
462
593
461
474
586
641
786
736
504
631
524
734
764
710
493
598
529
593
561
640
683
547
434
422
797
567
473
761
451
784
586
610
701
459
527
750
721
655
652
515
530
489
727
601
570
598
767
642
757
687
808
530
718
773
729
659
785
470
712
813
789
528
483
447
787
743
722
452
671
687
495
798
573
502
602
742
457
436
643
689
425
553
527
670
579
554
767
438
645
454
662
443
761
505
432
446
786
622
608
608
536
816
452
687
777
462
800
694
495
718
724
483
470
633
722
787
456
609
668
553
608
588
422
740
479
578
451
468
701
543
461
422
600
648
627
730
624
561
618
440
489
808
558
664
612
524
586
660
710
561
722
500
573
428
742
677
450
603
601
592
488
595
626
424
516
647
574
636
733
434
432
612
766
817
550
577
517
479
805
771
470
695
796
759
740
751
800
450
514
776
521
816
670
692
483
750
765
439
473
442
816
490
494
680
531
648
594
787
811
599
479
781
633
528
437
809
730
504
443
604
443
541
697
771
744
709
485
783
508
704
470
629
469
791
543
605
475
448
612
424
500
722
462
628
606
531
596
512
722
439
814
769
499
523
752
503
713
538
776
451
789
806
480
806
704
511
788
568
724
487
443
720
593
491
573
644
762
776
590
767
745
650
809
764
477
788
818
784
475
676
625
620
475
494
733
515
810
675
670
764
597
471
690
573
485
701
756
667
647
513
758
497
710
572
810
814
535
526
558
501
694
655
460
711
424
754
778
717
739
501
600
685
600
506
580
563
499
556
512
454
487
677
465
561
644
465
722
777
791
518
459
557
478
633
584
570
800
503
478
510
669
751
719
492
423
554
431
745
582
761
536
809
678
632
498
646
560
758
623
777
598
459
555
628
727
750
789
556
632
782
512
470
440
575
802
695
677
695
476
659
722
456
802
651
525
564
430
714
685
554
772
528
677
529
744
791
716
478
514
673
692
516
457
677
664
698
543
751
812
507
754
482
782
736
558
594
433
673
682
643
700
446
705
674
613
800
588
454
571
579
449
717
815
590
577
517
820
807
614
613
483
814
461
460
574
602
534
609
653
691
710
590
758
517
566
637
486
451
727
446
798
537
450
718
433
425
746
527
549
501
579
450
565
796
555
752
770
701
425
583
664
496
472
542
427
755
653
710
721
766
458
653
423
721
689
448
723
655
495
703
496
597
744
446
425
467
718
794
545
653
806
475
734
469
718
766
640
484
570
460
486
558
446
573
533
628
684
811
646
496
818
482
586
800
753
493
576
651
729
606
515
646
544
811
575
436
469
531
517
721
571
667
612
534
562
794
770
519
757
754
615
761
690
760
618
445
598
820
817
754
764
636
505
650
502
549
579
504
431
723
763
545
646
465
804
774
478
765
538
738
721
536
770
524
598
771
814
816
553
447
440
705
452
516
536
737
585
427
809
656
537
580
515
563
788
540
572
691
488
780
494
587
739
640
521
819
588
798
592
567
788
444
628
464
427
665
797
623
458
440
628
499
648
650
734
591
706
617
751
717
642
784
473
658
543
627
453
735
706
466
512
720
463
635
578
470
708
432
721
458
641
755
724
613
745
807
527
761
756
490
507
782
545
704
539
697
560
656
537
806
692
756
513
802
430
593
471
662
476
606
791
765
423
652
518
587
562
535
783
488
613
481
591
697
598
486
804
570
464
694
784
591
538
731
477
668
639
792
473
485
704
588
544
751
555
797
556
805
563
781
493
561
792
442
754
502
706
518
436
660
541
432
429
807
769
594
662
556
761
545
455
459
519
542
539
726
442
666
508
633
695
572
517
630
458
680
603
536
492
488
652
770
513
590
715
485
565
784
601
533
571
428
627
536
537
786
669
552
474
532
537
721
434
596
800
681
812
458
463
664
442
523
517
789
743
643
640
485
455
442
490
614
675
584
747
457
522
641
656
495
784
613
618
457
558
667
711
752
513
617
787
690
482
471
700
634
454
736
673
630
734
467
532
595
440
450
707
438
509
738
452
440
447
808
780
748
808
741
768
559
780
677
474
651
747
443
438
571
564
491
528
757
738
488
655
743
500
451
542
466
590
633
719
593
574
729
720
754
589
683
738
566
685
749
816
620
527
738
634
692
646
737
788
618
586
421
629
599
685
743
646
535
454
682
658
692
456
504
740
514
744
641
591
746
696
546
620
685
669
549
678
604
467
518
663
507
495
713
708
498
579
429
426
777
752
426
767
709
620
782
531
607
484
726
447
781
528
584
750
585
771
463
524
702
765
491
697
670
524
478
588
500
432
495
772
454
645
545
468
609
794
557
727
732
645
808
722
688
483
707
797
752
780
424
421
783
576
732
506
647
661
534
490
558
582
762
632
778
429
550
590
423
601
714
676
609
753
539
602
663
685
755
529
539
659
543
805
500
798
543
745
810
715
443
494
561
575
422
819
723
771
460
798
815
512
738
507
465
443
443
766
660
504
749
442
589
744
579
501
756
669
706
465
672
635
564
503
567
763
640
693
606
503
605
816
704
460
483
508
796
815
604
546
747
687
703
561
781
608
554
655
499
509
652
710
703
655
543
600
801
652
785
472
520
790
574
638
748
509
714
758
602
448
636
707
511
594
645
492
530
797
654
642
499
803
452
687
548
532
488
441
594
676
449
633
804
503
813
537
493
705
547
539
653
787
426
487
741
746
557
646
575
781
560
611
704
594
639
769
534
605
656
567
565
789
494
617
435
727
631
527
463
764
739
528
591
505
816
621
714
588
487
694
668
651
430
710
755
446
467
545
567
602
806
492
597
593
516
703
451
766
527
457
444
613
555
753
561
624
747
635
731
561
436
625
788
521
718
567
492
640
760
605
496
779
496
720
621
767
685
593
575
594
456
661
694
669
657
602
797
574
544
428
429
433
739
781
590
443
673
774
743
434
475
580
447
475
729
508
553
564
750
773
525
809
745
683
697
519
538
536
771
464
751
659
813
794
558
558
450
818
441
804
563
477
568
684
700
644
602
619
663
428
599
513
712
795
760
455
519
692
722
757
570
626
654
495
719
666
606
640
710
675
708
487
517
664
439
769
478
632
443
446
520
619
541
748
662
556
703
606
547
655
646
440
747
808
521
748
491
729
638
514
432
773
643
664
630
489
509
758
614
420
680
731
442
433
590
723
481
421
685
708
577
724
797
527
444
442
431
606
563
459
672
674
814
489
658
546
586
535
484
773
791
689
595
656
427
608
675
585
789
630
632
508
538
652
603
597
497
551
519
603
812
679
490
699
567
777
739
658
468
652
612
796
810
805
437
615
757
715
507
606
431
623
493
710
748
808
653
633
507
512
517
803
744
449
486
672
689
684
715
780
752
489
585
485
770
745
571
770
442
459
701
702
599
424
479
436
733
549
520
785
519
603
705
628
461
686
566
755
764
454
503
493
765
422
614
423
601
699
490
728
659
568
457
789
525
671
729
572
764
422
636
806
687
468
696
741
602
660
714
661
688
552
446
536
629
539
614
725
487
588
653
515
814
693
682
478
433
668
460
808
636
425
697
616
772
705
770
795
795
646
613
700
769
433
661
657
722
750
605
809
640
736
805
698
691
432
442
623
472
577
665
677
794
645
459
802
459
769
741
757
742
469
662
529
770
622
598
500
537
663
554
426
466
808
536
814
698
655
440
755
816
467
675
759
649
542
559
491
574
659
801
543
425
487
450
469
529
456
571
688
527
667
580
591
691
667
759
744
580
690
672
513
552
741
430
642
424
575
618
765
453
670
761
706
649
480
630
490
470
568
456
733
691
549
497
551
581
673
666
785
490
475
592
722
802
612
545
512
633
750
515
568
727
513
581
757
707
787
427
733
742
476
772
623
542
704
448
483
712
464
509
811
710
769
488
512
504
588
499
579
429
686
683
462
473
769
505
753
495
728
588
763
723
592
788
475
620
555
544
456
750
794
557
721
744
517
617
577
697
600
602
474
724
608
804
606
550
576
428
624
812
633
799
732
538
789
788
527
729
549
624
489
792
639
669
624
453
550
549
515
512
785
667
614
752
682
665
691
755
598
566
625
487
636
686
671
646
804
607
711
448
635
751
555
691
797
805
712
516
621
672
582
756
725
447
636
710
663
498
624
571
816
613
505
507
706
491
686
638
740
748
576
663
814
599
555
691
596
568
546
677
651
689
699
737
794
463
455
654
795
606
461
625
524
571
573
543
734
711
594
511
511
467
422
738
590
605
739
557
476
545
686
634
780
659
604
641
753
555
820
693
591
660
624
780
708
652
779
672
534
788
563
611
520
449
678
795
525
573
722
520
532
456
454
643
534
619
712
605
493
741
680
505
570
789
707
687
600
513
675
716
781
767
801
765
710
584
743
690
759
526
728
644
620
573
587
644
760
789
762
574
542
658
562
439
781
632
754
607
625
530
501
592
430
661
495
672
434
735
795
590
472
800
444
701
543
658
798
673
817
684
566
614
633
422
428
813
651
438
651
730
808
455
542
599
587
820
429
543
813
433
604
734
430
665
655
801
607
430
613
564
687
809
654
568
665
653
590
607
606
452
500
616
424
522
604
539
587
472
768
814
453
580
573
606
504
770
437
515
680
622
435
562
598
761
761
480
601
725
786
507
642
717
665
446
695
637
531
487
560
590
704
422
608
502
768
497
519
707
604
591
568
482
498
762
796
441
643
788
420
646
534
660
714
688
550
720
820
432
576
792
624
560
694
542
709
446
604
437
524
573
594
487
581
467
442
583
506
781
422
521
797
443
485
428
508
533
689
742
511
657
673
628
761
583
628
439
790
551
543
572
792
484
662
767
599
802
467
745
537
591
666
510
773
525
456
514
521
433
542
579
459
701
651
776
747
632
694
512
770
739
466
734
574
753
719
547
536
484
728
762
450
631
723
733
493
626
549
424
565
576
484
609
454
432
480
686
700
461
651
572
613
625
636
796
454
626
655
603
684
466
678
764
682
787
440
579
674
575
662
438
736
507
437
819
738
576
438
794
763
441
456
562
701
520
474
584
573
634
507
799
622
802
476
768
433
613
527
772
439
451
563
459
718
554
809
427
483
670
622
465
675
677
528
741
685
494
613
689
489
820
552
593
583
723
519
805
732
476
483
820
812
592
621
672
468
596
619
720
633
440
734
789
564
764
678
637
540
528
729
789
489
558
512
572
439
626
493
771
714
677
704
575
486
475
775
458
502
742
735
671
643
611
753
746
599
646
495
616
431
576
751
772
768
781
616
530
716
802
658
427
639
560
549
803
575
735
475
731
505
505
512
616
700
799
564
486
441
709
512
562
755
749
513
567
539
446
721
699
816
465
760
481
459
466
807
585
502
451
799
738
672
694
701
569
706
700
510
489
516
801
781
767
647
594
607
734
732
458
479
761
618
592
605
428
716
598
773
727
585
587
555
683
544
483
454
478
661
657
650
434
707
566
525
690
682
432
676
747
720
820
598
478
608
656
427
567
441
746
567
491
489
628
638
819
493
443
463
509
589
457
566
602
801
524
657
809
577
623
452
619
597
651
442
582
494
587
745
812
748
575
532
569
548
422
436
541
557
750
730
615
499
495
803
490
610
779
605
519
610
777
457
480
441
613
625
548
687
558
701
549
535
737
452
785
457
539
787
531
803
581
533
529
780
658
805
548
685
805
442
431
637
500
629
503
785
766
564
638
564
503
544
793
578
675
735
805
678
691
474
722
702
779
691
427
688
629
636
620
704
765
603
535
521
742
442
423
739
507
653
782
607
810
746
454
469
438
813
678
529
716
474
621
557
816
690
561
807
604
514
633
516
551
568
764
491
813
811
721
483
613
711
641
747
701
592
423
695
480
475
772
587
425
657
509
625
812
764
797
650
448
657
502
729
748
810
770
481
587
530
521
426
470
546
516
755
712
440
513
659
674
776
447
501
733
547
421
716
545
814
503
777
755
483
455
631
572
620
467
701
577
763
501
626
801
497
664
676
632
719
620
538
439
619
648
687
709
708
717
671
646
491
421
422
442
741
483
576
525
504
728
460
617
537
513
548
776
634
476
749
475
811
535
606
739
729
642
440
680
423
589
510
488
556
738
512
784
624
519
715
753
603
729
708
471
680
507
511
732
629
550
568
502
603
545
566
753
734
634
776
813
664
820
435
699
778
771
732
507
727
805
696
440
446
811
775
730
556
613
478
477
768
726
583
439
803
576
694
604
508
766
628
688
516
719
726
696
650
762
601
521
628
481
739
481
767
749
470
564
762
471
686
761
603
715
602
761
599
421
723
645
609
766
653
623
779
657
576
556
567
689
535
713
445
613
505
717
759
801
759
752
809
426
676
516
423
532
686
531
424
802
502
661
472
475
717
669
777
716
688
524
790
785
465
643
780
678
442
685
596
424
609
619
546
548
491
501
437
519
491
789
685
528
446
796
668
658
432
473
555
637
654
706
485
428
676
690
766
618
516
740
813
577
795
620
605
711
702
538
734
490
571
820
666
460
690
710
657
715
568
439
548
649
462
555
737
629
550
611
807
643
800
564
689
442
528
645
474
685
605
487
752
578
743
811
623
656
726
771
636
432
785
752
810
725
457
606
634
667
749
665
655
452
436
630
696
580
708
440
435
816
460
459
489
691
773
515
439
718
451
442
708
530
519
649
512
682
776
482
763
542
521
660
421
467
642
589
534
427
733
632
437
679
461
615
509
758
681
420
669
427
485
568
431
549
454
547
473
490
551
752
682
780
596
795
724
439
770
534
681
731
506
622
798
680
777
463
700
426
524
691
442
516
698
634
720
550
712
553
488
514
797
792
778
631
636
658
738
651
732
604
732
624
600
617
598
728
803
544
437
570
813
621
659
808
443
464
573
713
638
446
562
438
742
439
476
604
466
437
555
460
720
517
561
437
723
421
566
798
630
768
798
561
699
458
522
734
545
479
575
584
537
525
593
528
431
521
605
779
470
626
752
785
655
765
531
460
497
688
606
565
796
451
775
570
475
624
666
479
534
689
684
528
815
795
451
731
618
438
740
687
811
666
738
540
424
813
704
590
477
425
673
492
792
657
453
819
493
513
607
576
696
587
693
608
530
575
666
517
529
634
586
534
673
815
638
658
654
714
694
682
482
451
480
607
498
577
787
518
690
700
574
532
653
739
714
749
769
652
446
785
459
767
458
508
609
617
800
424
441
493
423
530
571
673
600
807
464
592
746
603
596
490
818
591
638
627
795
674
487
807
533
748
544
628
595
431
611
677
500
816
728
797
537
666
653
579
458
561
747
575
574
427
587
529
613
717
429
569
705
496
552
662
801
674
673
434
471
529
465
638
788
803
473
547
654
751
509
652
448
577
470
467
605
489
728
672
489
708
622
442
424
500
690
643
613
812
497
514
559
656
585
529
813
660
514
523
525
533
526
590
692
738
699
758
526
674
502
730
475
511
643
687
646
820
817
603
669
779
688
663
770
472
685
652
740
571
546
562
773
509
774
637
608
507
774
425
661
631
613
490
590
510
521
631
461
556
729
649
786
743
769
571
725
751
661
502
717
523
519
678
604
555
712
812
543
528
582
436
456
662
494
563
775
483
757
810
658
692
794
421
673
477
622
496
717
579
428
673
614
445
658
471
819
684
743
577
719
566
597
548
765
478
592
505
657
679
513
698
781
434
674
653
575
652
477
463
633
554
421
552
479
767
635
667
552
556
637
687
504
576
775
574
460
695
540
573
806
507
647
493
608
484
612
712
710
543
777
436
700
459
761
677
657
820
704
791
627
684
797
762
815
448
583
677
788
479
461
640
428
551
760
701
586
614
791
816
440
772
603
475
783
612
766
736
682
708
588
434
741
463
603
760
613
434
535
508
431
628
605
457
525
485
516
460
428
525
597
563
422
505
635
552
655
628
795
555
433
520
476
631
504
556
474
723
698
767
565
700
791
512
655
605
616
528
652
479
709
553
505
425
557
560
673
499
429
520
514
805
587
571
510
735
498
751
799
596
640
534
526
649
752
481
496
670
733
512
678
555
472
478
811
538
518
778
737
819
721
595
614
472
561
546
473
429
814
643
525
544
818
481
585
537
491
542
810
779
596
673
724
773
754
549
728
629
595
511
592
561
574
770
629
422
732
512
460
629
596
530
466
643
703
811
504
536
595
526
562
604
742
706
469
617
505
435
774
493
604
691
600
661
468
723
460
735
523
508
499
489
705
652
535
647
531
580
676
666
649
424
743
571
651
475
758
540
622
646
540
581
452
701
513
769
684
818
766
602
576
802
432
432
691
744
682
459
750
686
658
575
816
686
620
678
538
695
634
674
627
637
799
727
598
563
584
773
707
767
760
635
422
498
605
597
703
565
529
686
671
618
446
773
628
721
424
561
476
494
767
756
582
731
484
600
484
643
577
661
472
623
594
664
501
573
480
498
515
814
666
663
642
807
559
763
556
782
784
759
805
565
512
667
786
584
531
764
762
811
517
673
655
802
671
558
810
671
468
515
614
752
613
627
593
561
706
813
452
485
423
625
720
756
461
719
626
771
505
515
616
657
796
735
595
665
702
634
500
541
517
443
760
440
578
785
713
754
661
442
671
425
630
489
802
617
730
517
669
446
670
806
621
506
593
580
635
624
537
591
638
773
458
522
575
599
481
454
431
614
805
476
680
500
516
559
483
553
438
490
746
523
672
476
632
542
453
431
776
802
628
773
731
782
427
598
494
779
466
466
664
430
650
613
456
631
696
669
808
435
768
639
470
562
646
720
728
432
568
808
797
437
704
679
785
648
603
543
538
501
648
472
457
724
642
487
652
567
662
525
736
621
717
792
558
524
526
630
685
674
661
628
630
635
760
641
771
777
689
455
694
685
607
678
730
816
778
793
803
738
682
544
570
818
802
816
577
459
768
640
467
503
526
705
514
820
420
641
746
583
796
741
794
577
659
448
478
603
426
592
502
438
461
559
635
617
486
649
656
576
546
634
622
625
753
583
649
613
421
758
704
743
458
686
547
645
547
792
662
565
636
724
434
811
677
555
523
712
450
769
688
667
496
693
425
572
605
587
513
553
574
629
691
494
435
670
633
682
705
513
704
710
776
444
438
542
812
527
481
620
633
477
578
465
820
813
769
708
573
525
565
513
737
703
572
526
432
797
450
820
587
614
767
673
577
644
640
725
800
555
585
797
488
805
424
700
683
491
539
675
470
764
759
464
464
622
427
536
472
757
496
777
508
541
477
611
532
667
624
752
725
522
719
568
592
617
758
501
749
521
504
551
672
578
755
674
737
498
640
664
482
625
564
516
478
790
581
660
649
496
737
434
728
430
558
812
595
793
429
776
699
517
660
619
584
432
486
654
656
721
784
779
698
450
651
486
587
668
466
459
438
695
698
615
525
589
429
462
601
435
807
767
685
668
634
474
609
454
550
460
423
444
543
603
566
672
578
801
817
523
762
703
807
579
560
719
706
658
687
526
500
581
564
478
797
688
765
538
721
614
516
796
650
508
591
424
540
708
697
725
656
727
573
535
721
443
798
549
437
444
755
688
427
594
460
544
707
564
671
516
437
587
785
425
743
698
806
687
598
737
762
746
808
799
766
607
471
562
454
810
552
621
554
656
594
778
734
745
537
741
483
610
741
597
717
797
560
458
628
520
517
450
712
539
541
562
512
815
605
494
485
556
638
749
790
463
435
633
461
528
451
616
568
815
815
601
564
759
675
722
803
689
438
744
475
722
776
488
537
572
735
514
511
649
750
645
564
540
687
556
551
798
619
738
702
493
472
597
442
423
682
482
590
456
683
486
617
688
526
472
463
640
457
763
549
491
618
444
619
796
483
607
471
785
717
573
425
687
753
646
444
510
495
565
702
576
469
704
549
516
635
606
677
579
695
668
762
750
782
577
562
751
817
607
658
629
599
746
458
707
499
543
531
459
428
768
648
743
430
678
509
750
580
665
686
666
738
667
672
434
750
625
691
434
422
434
624
612
726
596
672
662
623
650
496
542
516
651
496
591
509
505
651
492
563
430
697
671
585
532
789
512
499
424
578
462
724
819
739
750
517
600
461
558
503
729
775
708
724
630
652
723
446
604
705
653
608
806
481
555
523
574
529
683
468
479
612
451
505
571
548
777
434
516
738
748
689
430
445
766
699
815
472
797
740
581
474
679
505
622
624
646
644
792
634
500
583
444
771
654
637
550
812
503
423
542
574
483
612
681
662
547
730
690
805
528
492
717
736
677
609
589
769
716
444
757
527
761
654
480
428
755
630
788
794
773
624
805
560
513
560
610
590
744
428
448
626
736
634
487
768
452
726
484
725
426
475
689
685
449
433
783
734
666
549
771
435
426
636
671
483
759
629
444
760
705
732
430
552
672
690
509
759
627
472
429
816
714
502
526
775
813
705
573
718
724
728
612
632
458
490
682
626
431
660
737
798
626
651
647
636
638
485
713
471
555
783
514
806
722
448
629
632
434
511
675
807
802
618
749
669
718
592
626
772
658
756
425
525
480
744
493
695
452
778
742
757
734
514
669
646
515
613
660
639
816
501
686
721
466
792
603
671
605
812
790
619
597
457
442
641
785
581
724
650
730
609
691
703
651
566
601
715
756
672
714
794
820
643
459
667
542
684
428
784
636
804
727
614
456
463
581
656
662
535
592
515
731
533
798
690
592
675
719
738
445
635
704
460
673
699
793
777
495
518
439
523
733
538
624
640
739
787
710
560
764
544
458
472
456
448
597
569
812
757
700
426
513
563
746
765
504
452
620
628
648
539
445
684
661
558
507
724
712
767
600
553
741
580
476
704
717
617
742
439
475
534
693
589
778
528
431
769
435
524
789
624
637
484
431
714
812
453
635
428
634
612
422
485
430
558
482
657
726
747
429
734
588
705
606
597
633
528
664
760
562
595
730
466
779
630
629
543
456
694
820
782
765
463
430
506
820
762
552
616
434
545
514
711
476
665
708
805
651
578
658
703
555
453
749
760
450
602
793
618
635
652
598
738
681
598
674
472
649
430
613
810
781
741
808
631
731
805
616
449
521
677
681
532
756
512
505
588
455
707
807
553
615
702
642
615
434
455
474
744
661
536
469
603
764
630
552
446
639
776
754
804
630
451
608
771
704
499
682
613
633
441
516
465
558
691
636
685
697
731
503
508
558
500
446
768
680
712
799
780
748
797
597
782
524
631
505
446
435
526
552
662
796
468
808
793
777
605
439
442
754
480
749
795
678
636
739
662
511
491
456
544
737
470
632
813
618
490
453
711
669
509
804
469
435
688
777
675
641
689
661
709
686
742
488
476
483
486
469
668
772
731
805
444
759
697
658
597
457
728
758
707
488
446
456
801
594
638
705
600
597
741
551
476
451
801
449
596
452
455
538
457
609
574
684
750
746
566
531
507
582
638
815
630
750
499
765
641
541
429
652
455
815
691
802
704
717
800
756
741
611
426
668
690
516
678
444
518
777
610
530
793
592
721
658
705
473
442
786
467
509
489
624
530
577
745
751
565
593
550
473
710
499
719
585
578
767
530
652
442
684
639
444
582
809
701
804
558
528
652
557
796
791
739
694
438
668
664
423
743
760
685
592
785
505
741
791
520
711
570
556
807
799
700
695
507
646
420
473
475
443
548
655
695
687
511
778
801
537
731
616
757
720
421
634
571
741
768
521
496
458
687
745
639
590
616
792
648
724
712
669
800
771
683
712
779
497
634
529
565
501
786
540
675
798
569
475
760
561
722
498
684
654
783
543
665
434
690
691
466
784
633
422
727
751
457
648
751
460
425
718
721
538
809
673
746
557
636
460
584
684
451
572
648
422
552
574
543
633
623
807
457
437
512
626
567
476
727
709
433
661
498
690
702
623
768
556
655
651
533
796
502
814
467
775
604
786
535
796
741
466
540
517
626
517
578
564
529
801
794
514
818
462
807
693
681
647
531
560
561
470
518
724
604
784
603
620
812
799
485
606
764
678
635
670
544
455
648
461
457
686
692
468
515
447
710
497
545
567
819
484
582
576
460
551
817
769
590
676
499
644
611
533
721
537
700
806
550
672
775
625
815
509
447
769
528
781
687
520
478
713
615
707
797
677
628
792
812
608
681
606
635
574
507
549
543
628
456
560
563
514
661
783
444
635
432
598
490
663
502
671
621
805
508
650
675
527
551
494
722
710
750
574
658
674
621
751
655
763
580
467
562
664
477
454
525
637
634
471
606
469
727
671
739
547
478
731
625
521
467
761
546
615
541
536
437
787
431
674
772
630
546
775
745
654
583
678
784
792
542
588
743
790
574
646
677
640
482
796
458
700
728
500
537
817
724
750
595
463
724
548
579
525
750
591
800
599
583
557
747
450
682
519
552
703
721
647
786
670
812
512
808
471
554
794
431
701
795
461
779
430
689
803
726
556
490
436
614
696
811
580
778
433
540
612
684
733
733
733
774
445
542
755
558
521
471
620
786
449
454
685
670
720
687
428
686
583
705
467
489
603
719
791
549
434
796
796
663
710
424
673
558
613
705
800
423
424
621
430
500
650
661
649
429
733
550
765
519
671
427
685
542
817
598
642
537
564
598
495
724
645
553
540
534
742
428
589
507
628
433
467
673
566
516
585
493
717
722
679
788
679
460
784
441
462
457
620
734
592
600
489
573
542
534
705
751
664
778
441
584
637
617
600
739
554
527
522
698
639
716
434
657
728
523
674
516
578
639
706
639
786
468
777
467
574
757
645
801
810
799
773
811
529
761
618
726
766
651
797
574
764
523
573
512
430
521
500
519
651
462
563
754
666
749
434
711
553
478
542
746
739
431
539
491
446
521
513
462
554
443
748
431
599
607
818
691
615
780
563
436
498
565
548
596
698
791
787
450
458
648
780
747
558
643
820
479
645
538
488
522
560
659
770
550
470
775
673
444
742
656
497
740
421
444
537
584
707
433
643
527
479
581
524
667
795
640
462
694
816
787
452
703
518
696
807
723
653
689
795
571
422
628
663
759
554
706
565
755
536
443
519
537
661
562
607
796
571
569
505
532
780
689
475
545
766
731
491
604
805
575
803
531
707
427
438
577
780
694
517
750
483
721
481
740
789
482
793
641
449
633
633
624
533
494
726
580
668
463
701
809
563
795
742
554
701
580
657
703
790
621
540
775
703
556
808
658
675
604
441
665
498
532
656
458
544
771
734
737
533
539
810
736
694
595
625
584
791
464
540
768
630
560
654
473
429
701
769
631
654
524
438
570
467
598
565
815
811
801
726
431
475
597
690
461
569
573
489
504
584
572
663
728
524
448
603
567
674
425
450
567
623
627
693
511
726
592
606
678
540
769
602
694
801
426
781
625
558
559
581
590
512
460
492
533
783
550
451
736
523
547
512
562
593
704
530
580
466
820
428
632
732
523
735
795
621
619
574
747
817
747
703
581
722
789
470
651
731
505
489
436
692
491
440
637
522
783
421
450
637
436
685
665
436
749
596
748
465
583
772
560
640
711
667
729
513
427
664
449
560
535
510
698
495
813
594
605
493
505
479
453
718
612
594
558
533
703
611
632
780
425
620
427
636
482
684
593
475
463
434
798
530
727
550
750
697
705
454
580
680
459
588
562
629
743
594
478
428
814
732
510
543
805
554
775
446
733
520
607
738
606
602
744
692
736
446
525
795
488
740
560
784
783
646
519
779
721
603
438
445
423
477
703
720
473
567
746
460
556
711
672
573
687
629
430
426
615
527
726
505
436
445
730
682
484
732
784
684
616
567
610
743
777
532
659
656
449
570
795
810
535
681
422
551
588
771
619
663
462
435
698
488
538
674
536
730
593
694
570
470
596
618
733
756
515
550
464
441
447
459
423
655
529
805
677
440
608
445
437
743
546
504
738
799
714
607
532
609
740
785
794
653
593
717
483
797
820
607
666
731
611
736
541
647
798
592
581
467
702
627
463
615
716
751
749
611
626
605
732
640
443
569
584
717
632
593
605
706
640
692
545
454
621
586
463
685
440
725
744
469
694
675
511
771
762
642
790
734
804
653
605
439
561
423
725
635
436
641
571
571
680
532
784
818
572
741
706
682
575
571
802
577
608
563
607
710
433
813
661
697
710
431
538
620
672
809
420
573
546
799
457
501
818
801
430
621
692
801
660
730
465
677
744
637
769
649
478
640
617
522
552
629
427
528
448
598
702
426
585
693
443
796
806
769
660
626
625
588
646
763
571
518
697
772
448
580
706
505
605
794
714
678
645
807
731
572
528
648
777
805
712
703
588
751
657
483
645
628
700
608
475
730
668
501
705
678
519
800
819
600
507
814
498
488
435
717
441
476
814
647
690
630
595
814
601
551
710
500
638
507
810
732
431
772
546
625
474
773
816
638
592
424
559
471
569
613
768
585
549
683
737
548
767
551
755
748
807
524
638
749
591
524
732
739
748
758
502
591
759
514
568
597
432
636
603
631
586
650
481
426
484
524
447
577
635
719
482
645
792
639
778
622
488
705
648
734
473
564
657
667
686
778
455
512
714
661
488
786
656
456
499
467
458
647
774
777
477
528
623
720
783
679
590
600
462
542
707
428
690
608
458
539
684
655
474
495
675
751
726
800
567
719
796
434
435
532
554
760
564
708
488
562
726
572
510
784
816
540
535
758
532
579
487
786
599
605
542
505
733
449
765
678
651
775
503
577
552
588
420
555
786
807
527
495
630
460
430
804
644
543
632
547
426
456
608
637
451
514
739
468
496
809
631
654
527
697
792
761
747
503
504
743
648
519
537
587
787
488
688
570
480
743
600
639
723
787
630
559
784
464
542
513
574
632
516
683
564
604
561
494
641
640
812
749
436
593
697
534
779
514
533
545
552
708
694
711
517
514
781
670
482
480
684
701
804
528
518
548
682
550
619
620
596
461
533
749
696
552
607
784
631
595
516
747
595
510
785
668
453
797
720
672
444
553
796
472
671
597
738
788
780
808
518
495
798
465
686
715
514
696
645
557
485
665
426
434
509
784
451
787
769
706
692
716
793
520
518
795
594
578
481
486
501
661
426
500
681
676
702
453
771
660
494
816
567
480
458
638
645
689
791
739
635
476
498
469
731
466
461
485
772
538
493
585
701
677
578
475
533
431
788
536
488
689
670
424
763
430
519
643
611
538
764
495
804
599
599
422
717
660
497
704
687
798
452
455
611
762
755
761
776
431
741
502
772
812
464
423
716
433
423
446
685
525
793
566
462
687
527
812
625
736
769
778
532
741
660
457
780
718
818
653
485
780
569
508
631
810
521
474
472
566
786
472
698
740
675
498
524
584
608
762
467
814
534
442
817
767
767
639
696
470
431
524
572
809
630
723
663
666
558
794
479
515
686
500
607
571
636
790
546
437
722
556
640
481
653
420
556
581
518
621
512
799
777
694
485
638
469
740
583
712
697
671
615
539
688
544
693
647
452
669
807
738
589
639
624
696
581
447
474
734
553
752
688
426
589
769
676
568
646
496
741
657
676
538
668
812
635
760
425
655
647
660
550
691
606
662
508
602
541
547
501
784
711
693
712
595
803
726
574
483
669
801
486
578
697
776
589
423
534
500
515
600
819
476
532
529
699
559
689
434
576
428
749
787
573
557
622
773
757
479
592
624
428
449
521
783
599
462
728
701
628
661
618
737
700
536
451
551
599
660
745
720
726
582
499
580
612
677
727
700
495
445
685
586
729
429
626
578
809
757
645
644
731
444
770
626
444
471
571
719
765
664
709
428
635
815
672
708
507
463
639
710
820
805
578
634
647
727
486
797
816
660
747
613
608
752
616
600
424
432
701
584
757
627
432
638
805
454
659
819
437
700
724
682
729
699
810
441
697
624
464
554
740
428
528
760
425
804
783
721
538
471
465
537
617
566
536
593
466
819
571
578
787
564
422
599
481
464
522
436
705
738
741
658
597
749
588
780
521
549
502
544
697
537
598
766
658
690
659
693
478
560
727
528
520
814
671
730
803
780
624
721
616
543
449
690
554
644
671
468
530
812
511
488
434
446
689
584
501
608
488
606
561
767
439
438
704
636
640
764
729
475
423
733
784
435
622
518
443
692
493
748
737
819
757
480
556
789
612
581
421
732
499
571
533
754
665
807
818
818
607
708
624
615
798
463
704
545
631
447
557
444
494
549
597
749
709
606
751
756
441
572
812
692
737
440
759
664
533
543
736
612
795
814
658
697
571
579
590
692
759
500
611
583
604
801
659
536
449
494
779
431
485
633
460
493
799
480
453
693
576
458
755
741
513
578
575
706
423
798
552
563
561
683
719
739
678
542
514
481
628
591
697
803
610
603
449
648
489
771
504
647
562
496
556
567
799
434
631
434
803
739
468
711
485
704
708
651
597
554
517
456
748
758
563
562
769
687
814
789
793
750
737
557
759
774
497
715
816
718
801
649
634
473
631
648
476
598
728
459
454
614
744
771
757
754
560
741
677
609
614
611
495
478
491
510
783
724
801
624
695
796
681
460
443
757
785
490
680
671
601
727
714
720
649
499
469
441
766
605
804
635
478
607
741
468
813
795
784
636
660
784
717
536
799
516
596
804
566
714
553
557
525
799
626
571
731
782
536
496
744
727
613
480
485
571
533
633
423
619
439
605
698
739
719
558
637
499
644
773
586
509
502
726
682
819
727
766
612
458
778
697
773
445
454
602
617
562
753
567
467
746
501
780
473
687
677
630
588
706
486
597
440
514
659
521
623
697
624
539
648
606
607
755
488
541
703
503
779
473
804
485
462
796
474
662
614
481
571
612
691
582
588
569
637
791
620
655
506
489
807
781
602
644
494
642
742
630
579
474
667
818
673
721
655
519
451
585
427
447
693
546
641
648
748
568
614
676
686
807
588
443
708
796
729
755
505
639
786
491
625
676
792
702
423
749
496
780
610
522
467
581
621
576
810
551
650
458
570
675
471
808
638
537
717
677
761
501
668
507
498
482
530
602
516
769
814
599
608
545
748
533
699
652
720
701
632
714
460
440
503
516
529
461
439
485
645
541
494
553
642
593
820
434
755
651
523
740
724
699
475
510
436
542
654
695
580
755
817
447
690
500
670
708
742
618
799
501
449
505
466
504
743
473
586
650
531
474
521
475
772
644
710
434
417
339
470
467
419
310
401
317
309
412
440
324
425
396
486
327
473
318
489
310
345
381
428
488
460
434
491
454
457
467
301
397
440
438
444
407
489
472
429
381
484
338
417
446
345
407
310
378
425
367
438
303
357
379
313
303
424
384
302
434
436
373
333
424
390
348
394
364
405
340
319
441
360
398
358
485
459
304
334
487
340
341
356
307
352
340
329
404
360
391
474
436
476
495
362
486
330
487
317
469
483
378
418
345
313
384
345
419
324
446
333
418
460
479
419
397
457
393
429
394
405
343
387
485
369
453
464
321
309
380
359
324
479
358
309
398
355
414
402
381
346
474
484
365
424
331
303
498
443
452
457
378
305
364
384
315
435
370
400
405
405
480
369
363
468
393
400
316
424
412
309
375
417
394
437
458
355
388
413
404
356
439
355
317
352
407
467
321
422
382
421
462
355
333
397
360
434
482
368
424
367
387
451
391
323
356
342
335
342
427
403
325
467
491
438
454
306
341
403
462
425
316
463
392
396
491
397
331
337
352
451
377
379
421
437
379
444
310
336
441
481
453
475
468
364
424
383
312
311
371
319
488
412
367
487
408
419
361
326
493
448
389
455
490
472
340
317
370
355
326
431
335
365
312
477
497
378
445
429
330
436
405
395
380
322
476
374
363
394
363
352
402
451
395
397
329
368
363
316
451
482
380
327
324
389
451
426
339
340
452
455
455
358
394
391
409
427
364
313
498
467
469
445
455
372
432
481
466
469
320
360
441
310
402
424
306
500
435
483
361
312
343
409
367
388
382
381
394
348
333
383
386
412
440
388
372
479
362
479
393
440
453
372
380
442
306
491
492
460
378
500
441
373
424
317
489
363
422
320
403
448
342
333
341
417
421
324
491
437
304
324
398
479
491
366
450
356
469
307
434
453
478
421
361
461
343
446
345
499
450
315
385
485
320
322
319
372
355
365
492
461
496
455
409
450
394
451
469
474
431
404
432
415
302
457
500
319
359
338
327
460
330
426
455
422
357
480
341
435
371
433
333
412
424
500
439
496
441
388
426
415
321
459
405
444
349
455
492
316
372
314
450
376
457
329
302
364
317
443
305
405
439
373
420
434
403
486
456
321
416
412
324
474
444
471
376
342
490
405
437
500
325
438
459
391
376
407
456
499
443
363
322
428
493
352
332
443
431
335
351
303
301
346
370
478
473
372
482
387
489
433
427
482
446
340
401
498
361
341
430
408
323
491
486
452
332
463
487
408
484
321
485
317
422
490
371
460
480
315
347
482
426
433
474
465
483
381
419
356
365
401
406
338
359
371
371
416
481
373
354
484
344
325
473
352
329
495
435
383
312
463
480
385
424
487
454
437
342
344
370
412
323
370
420
491
387
318
369
340
321
488
469
321
470
300
308
478
305
366
369
356
457
385
377
475
427
414
451
417
433
383
374
376
481
416
370
420
456
419
442
303
406
393
487
303
436
485
331
406
347
452
486
315
443
424
363
435
452
480
472
468
435
302
482
316
469
467
485
454
354
490
370
365
325
418
483
394
378
472
362
311
471
405
353
344
444
311
479
376
432
411
305
402
344
427
367
466
468
461
360
370
500
375
422
426
450
331
359
456
460
475
495
489
401
336
462
456
365
500
355
392
477
431
354
365
444
323
348
380
306
461
406
444
422
408
457
489
451
454
483
452
428
462
363
365
474
494
377
318
326
347
388
480
483
302
314
307
331
494
328
324
396
347
368
353
309
441
310
348
478
355
481
399
352
427
306
358
330
323
308
345
335
470
353
408
410
488
473
429
496
332
311
347
364
465
350
305
407
355
309
393
363
414
477
361
310
474
302
338
370
459
373
367
448
450
363
301
303
367
452
473
440
402
345
440
365
354
420
472
361
391
413
379
495
469
378
344
337
499
309
430
448
355
465
475
330
348
366
365
437
473
430
484
400
472
487
387
437
390
355
441
382
391
394
409
411
375
354
427
335
332
378
322
327
383
326
452
351
489
347
331
497
384
351
367
314
471
445
496
491
399
384
430
497
383
391
399
406
311
462
452
499
477
312
420
381
476
370
316
477
489
355
340
441
435
363
364
437
361
439
317
344
433
417
325
467
466
400
493
472
383
423
397
333
352
407
398
349
391
458
459
444
411
496
347
348
338
493
476
455
478
495
300
439
477
402
463
350
431
435
454
438
327
390
304
412
446
332
400
384
366
475
486
491
313
341
366
391
417
301
307
349
372
401
487
301
312
301
498
383
347
484
425
405
422
464
342
463
363
393
444
365
345
470
461
315
421
464
334
350
401
486
353
404
345
305
428
334
460
321
422
340
327
484
451
374
386
456
428
393
379
440
414
399
348
426
455
334
493
479
315
499
386
342
359
362
365
470
364
357
380
314
451
481
356
333
471
468
444
493
432
399
451
302
412
481
406
360
338
427
366
461
475
433
408
436
479
336
382
359
361
322
357
348
428
315
397
429
428
303
424
478
489
306
426
473
302
394
400
451
485
380
494
383
494
475
475
486
343
404
434
304
354
386
387
329
389
361
367
339
398
398
420
387
490
412
358
362
459
333
453
490
317
308
400
309
398
462
314
451
489
467
488
337
415
447
395
308
489
369
445
407
331
434
344
317
391
484
324
311
352
452
434
416
417
389
492
478
491
312
485
382
342
492
375
497
311
349
415
331
451
380
326
379
363
403
340
379
445
327
398
416
448
328
365
420
318
414
387
424
488
440
500
377
411
315
319
419
302
494
397
425
470
317
484
423
451
311
383
489
497
308
422
314
442
427
337
338
325
303
441
301
305
422
356
348
339
481
404
493
472
418
370
378
340
398
369
418
458
415
442
301
359
386
486
338
406
314
376
359
312
449
392
497
363
383
393
443
363
439
325
492
433
491
389
306
437
383
461
480
429
460
483
449
351
361
307
319
365
467
475
369
389
352
460
478
323
433
392
485
330
429
446
436
448
408
487
314
373
351
464
366
313
460
484
409
461
425
371
419
448
493
424
320
303
404
413
302
409
402
360
308
320
324
331
320
303
323
308
392
408
351
352
413
419
426
433
340
476
481
458
353
405
390
302
479
316
462
379
448
406
458
306
468
436
465
433
371
391
421
450
354
485
437
310
403
325
383
396
396
440
313
345
453
461
322
327
397
355
302
438
359
431
395
450
337
384
493
454
431
368
466
481
369
316
428
370
456
419
341
418
500
469
481
346
457
377
380
349
416
441
389
500
314
300
420
474
391
335
332
416
457
455
409
321
428
350
402
452
364
440
397
488
447
306
457
306
499
302
302
470
494
345
358
462
356
411
408
355
323
374
420
360
359
312
417
455
449
435
367
435
345
356
347
488
429
324
388
461
424
384
445
300
316
424
465
465
348
459
494
498
437
314
431
490
345
476
447
489
334
415
356
452
386
343
330
464
377
419
463
383
397
412
302
444
427
324
403
363
391
337
301
485
436
427
310
453
306
391
458
456
451
321
311
452
358
342
478
476
477
306
335
493
349
432
379
410
391
474
388
450
361
414
348
440
489
466
487
425
418
325
362
465
464
446
336
484
371
425
447
311
456
308
315
473
350
481
365
413
382
390
464
448
470
488
338
302
325
358
350
313
415
329
464
391
303
313
439
359
399
387
410
443
387
341
318
426
439
456
403
356
356
474
356
453
435
326
424
313
475
458
467
424
396
463
385
311
427
332
491
326
352
448
377
390
477
387
418
499
364
440
421
382
386
473
319
347
323
430
474
371
385
439
452
301
498
435
332
383
311
345
478
431
357
378
324
377
354
475
472
500
388
368
450
476
345
476
330
459
366
386
446
386
467
321
323
324
397
452
304
318
500
311
321
431
340
332
458
395
402
347
343
423
405
304
408
378
344
334
355
342
381
435
417
315
387
382
378
379
385
377
478
500
473
428
383
300
321
416
377
358
494
330
348
327
415
355
323
351
470
304
335
410
327
435
372
344
385
340
439
381
317
450
345
344
377
449
495
345
359
400
436
421
310
440
347
469
470
339
466
353
331
427
385
334
361
446
398
495
374
441
424
437
488
321
379
306
425
482
323
442
358
473
488
332
327
443
365
331
464
400
319
416
350
322
409
342
482
496
390
379
378
405
491
446
424
495
446
327
300
334
408
402
368
437
439
451
316
356
450
468
362
476
376
437
360
422
438
441
420
323
405
388
358
326
401
339
313
332
448
380
341
493
433
408
407
350
335
453
427
499
466
387
463
456
454
417
457
365
372
480
369
412
383
471
408
488
418
318
449
317
411
402
478
390
372
318
374
460
351
345
338
426
472
304
392
450
437
414
447
339
406
397
365
487
321
444
349
427
455
376
453
336
457
481
493
373
423
346
331
315
370
478
424
384
486
483
451
441
456
345
309
327
303
499
450
457
406
399
497
417
319
411
466
460
316
477
386
491
456
360
425
401
459
403
349
477
436
336
476
451
376
403
347
451
353
373
385
479
495
439
322
449
370
483
426
348
328
340
423
342
407
360
485
432
439
439
328
358
441
386
312
442
377
372
349
371
433
394
359
352
472
356
487
376
444
365
356
406
483
431
324
397
441
417
353
410
351
331
468
352
436
317
355
379
496
356
404
388
390
402
484
494
445
400
471
466
462
422
440
358
340
463
441
314
393
395
444
468
367
313
311
377
371
336
484
481
307
458
412
443
345
473
332
346
458
478
420
458
404
346
308
428
309
370
432
449
446
337
387
404
339
324
380
455
359
490
332
422
371
318
458
419
355
421
432
458
306
495
353
482
460
472
463
385
439
335
364
396
329
381
446
358
308
415
354
333
347
480
404
490
308
411
372
452
396
492
382
405
466
434
469
484
300
438
314
393
421
444
422
475
403
385
324
341
437
365
362
484
380
435
308
433
358
445
366
431
415
476
485
330
418
473
468
304
320
335
404
485
316
302
488
456
419
492
396
485
357
444
403
412
396
384
399
360
405
470
395
314
391
323
498
323
348
386
435
332
360
352
489
380
428
477
327
314
457
396
470
460
349
476
373
399
410
386
440
388
428
442
393
432
374
383
301
369
433
333
326
487
391
353
312
483
355
403
405
498
448
357
432
464
322
301
339
454
379
308
313
439
491
492
451
355
427
478
345
339
401
398
415
489
483
306
393
418
396
462
400
498
368
307
426
469
332
343
352
393
461
361
460
489
442
305
451
457
397
313
442
452
438
443
450
319
439
340
487
406
376
324
397
351
369
456
352
397
307
366
416
386
443
385
361
301
400
355
397
480
343
433
348
366
460
474
369
498
404
459
428
323
381
418
487
342
484
344
461
456
302
498
388
375
426
445
354
437
462
339
462
348
342
382
457
309
385
474
323
454
348
424
343
390
358
408
485
474
359
397
362
392
465
383
400
361
324
316
438
425
437
377
467
398
343
338
308
483
469
441
460
380
470
456
436
362
378
303
410
459
471
420
429
414
376
359
392
467
468
496
410
472
457
317
382
486
312
449
414
485
340
399
311
417
372
448
352
336
464
378
337
312
371
339
473
484
457
311
381
461
474
384
498
383
467
389
370
472
318
422
359
391
303
359
300
318
470
446
364
367
478
455
456
476
457
451
455
420
351
446
388
414
418
358
367
466
330
374
333
437
461
488
413
383
336
408
341
305
453
395
435
443
379
326
351
485
374
450
321
377
372
445
443
462
384
465
433
500
427
375
466
366
491
310
467
335
310
340
416
348
442
351
447
421
337
372
390
370
443
427
432
382
370
392
465
404
447
392
437
335
407
348
453
319
317
314
430
355
348
477
493
434
500
312
318
437
368
415
387
461
326
391
449
349
319
431
398
461
494
472
331
365
391
482
383
419
468
366
305
481
411
420
417
365
429
306
336
301
420
330
368
410
364
357
483
350
431
484
441
458
386
459
335
363
431
393
300
423
372
375
318
329
421
350
402
396
433
457
363
433
439
437
418
424
391
465
341
465
422
414
428
473
391
493
487
413
404
324
368
469
308
336
435
306
361
356
335
494
455
353
419
435
385
395
423
418
483
413
382
385
321
448
342
318
370
326
323
486
381
498
332
346
421
456
371
312
467
499
434
493
489
348
391
442
371
489
496
427
486
418
484
452
479
435
496
325
433
302
366
366
372
372
434
448
450
460
449
362
483
378
423
419
361
408
416
321
453
405
404
386
471
495
446
443
357
418
337
366
490
433
467
384
343
368
484
496
429
440
396
302
324
419
407
314
388
441
384
445
303
309
473
322
417
460
328
344
336
496
317
430
332
433
309
335
420
384
476
439
300
438
380
487
398
460
464
327
456
480
371
361
423
465
389
362
375
306
420
472
440
345
393
388
456
311
446
305
451
431
368
342
451
447
354
408
477
364
337
449
317
446
344
438
391
434
441
452
365
349
424
480
379
334
439
459
354
355
416
391
311
414
403
437
447
324
371
484
434
391
396
369
325
460
489
305
408
449
399
444
437
344
349
318
472
340
439
313
474
482
449
475
378
434
388
403
365
414
364
494
484
477
496
334
420
384
313
476
369
447
383
396
334
482
355
471
373
366
491
334
421
427
365
438
479
476
478
333
311
471
354
323
433
479
301
320
358
470
430
306
334
475
430
438
466
346
449
451
335
359
391
360
337
354
302
436
413
474
353
470
476
305
311
420
480
387
421
395
350
331
306
390
481
314
435
442
317
353
449
376
377
480
436
486
334
300
337
408
364
367
416
360
339
482
350
339
383
392
448
368
481
323
389
392
498
478
500
376
392
405
336
444
335
417
344
395
330
440
436
449
370
326
318
360
416
427
378
412
328
372
455
369
394
395
461
413
416
369
408
403
323
323
488
445
470
458
349
307
361
440
402
315
331
368
409
388
488
496
425
301
357
436
459
355
408
451
310
497
384
361
300
456
472
395
332
421
355
456
371
452
338
480
498
398
337
346
377
380
427
353
479
430
446
484
380
364
348
436
340
367
318
457
331
467
408
300
394
366
380
397
395
398
327
411
467
373
429
434
346
349
324
311
454
345
307
477
479
384
304
381
385
305
309
396
423
376
354
406
368
366
424
475
439
323
378
486
482
418
473
474
477
445
439
423
411
357
330
376
427
318
362
467
463
463
398
405
301
489
382
435
317
336
493
351
375
340
475
421
438
367
475
420
310
466
454
491
461
465
390
486
314
383
407
348
500
309
360
493
483
456
364
451
313
495
391
482
337
400
487
488
325
373
312
406
334
417
318
334
322
300
308
464
492
427
346
455
378
366
358
490
490
413
323
477
341
334
448
329
386
360
386
480
348
457
448
351
428
388
486
466
360
318
431
343
486
445
464
345
355
330
355
382
315
344
499
320
306
335
374
492
462
385
374
455
315
464
355
485
377
404
382
422
383
349
344
373
365
425
436
490
417
474
490
381
424
494
399
491
499
364
328
412
489
394
416
470
340
318
394
368
435
306
383
312
465
448
473
306
327
366
481
354
442
347
368
406
337
460
330
465
306
326
362
406
321
313
488
469
403
478
389
487
486
317
364
476
377
353
408
421
425
495
373
315
351
397
421
486
473
386
406
446
349
352
383
325
444
462
486
480
470
372
448
477
308
415
463
335
303
454
471
384
322
451
436
377
378
342
463
378
308
434
379
378
500
328
481
337
302
488
339
311
435
367
399
336
353
351
458
387
451
355
458
448
493
472
452
368
463
367
433
362
347
300
319
350
376
319
382
483
455
408
445
400
363
402
309
466
455
438
414
365
405
397
361
386
435
386
351
439
468
312
484
497
317
318
445
351
377
389
322
308
493
475
395
320
350
387
324
431
462
362
403
301
477
492
337
367
397
372
469
489
327
448
441
497
312
360
460
367
334
352
327
430
430
360
389
382
395
402
390
330
462
327
375
415
343
397
335
320
307
317
379
397
309
332
322
431
325
458
349
434
313
481
388
359
472
466
429
452
332
437
489
366
462
372
409
485
332
409
331
477
410
434
446
332
464
460
480
338
364
436
417
426
373
344
473
468
445
492
397
305
375
380
419
420
419
415
475
359
447
403
477
314
372
445
304
314
481
492
488
460
372
468
444
457
474
498
494
416
412
394
382
458
327
471
432
490
425
427
415
350
386
431
338
427
333
410
307
455
439
370
412
347
416
430
334
459
357
304
362
420
437
496
473
317
497
473
310
331
391
430
438
463
411
424
467
493
479
480
453
499
419
484
384
481
343
336
379
477
364
462
437
375
345
327
349
325
478
427
362
307
345
472
483
452
498
449
400
314
306
437
373
452
493
494
390
463
348
478
465
393
369
410
426
477
440
333
355
321
497
426
497
434
363
429
399
330
388
321
496
419
422
463
314
349
386
370
469
326
304
327
390
319
413
342
423
395
340
407
459
431
413
458
421
303
473
335
443
387
334
372
448
423
472
404
315
466
319
302
384
319
472
313
483
460
302
496
395
495
499
482
341
341
335
383
470
339
341
388
385
417
480
466
338
452
351
396
385
418
321
497
400
347
346
352
433
447
350
446
461
409
386
311
382
499
455
426
302
480
487
431
451
411
496
486
312
487
460
397
376
402
414
409
375
494
303
396
458
458
436
336
370
360
489
451
416
388
378
445
488
396
317
459
402
399
342
304
396
307
374
384
359
384
377
322
317
454
435
403
449
333
410
307
417
438
399
427
343
436
489
421
448
394
349
311
313
416
500
380
391
314
324
446
445
311
333
447
456
345
407
352
494
444
462
304
311
366
398
462
453
497
449
430
445
391
402
482
491
360
408
489
498
345
483
496
397
340
408
419
370
323
336
448
480
351
488
499
331
381
488
383
351
314
390
425
335
479
417
352
374
427
488
482
431
424
353
334
456
328
365
476
445
434
485
368
328
317
422
379
334
452
322
489
465
317
338
306
402
366
311
469
495
439
418
323
308
353
437
376
445
342
367
325
318
417
500
338
302
419
313
453
347
354
326
499
435
481
473
402
456
454
403
479
358
498
388
359
326
440
433
479
390
482
412
444
369
493
398
414
500
487
368
327
319
449
474
461
335
330
431
484
428
342
471
499
336
485
366
316
414
459
419
434
422
419
332
368
440
410
492
482
421
471
490
395
302
400
395
492
447
312
390
395
323
366
325
368
333
381
437
429
373
406
428
363
494
307
339
364
500
467
492
316
319
479
478
345
339
353
352
476
342
407
442
315
460
315
333
314
459
437
355
349
302
439
439
481
473
397
321
343
300
491
316
368
375
327
486
440
436
459
435
499
480
300
454
486
474
484
442
311
382
309
371
382
394
304
425
495
460
482
332
402
358
358
428
445
309
428
329
306
391
445
377
434
309
304
365
417
367
353
405
447
432
353
420
458
472
304
412
491
475
439
342
411
342
358
472
425
359
333
452
450
405
397
354
315
441
338
469
317
310
355
367
486
337
379
431
322
462
397
440
355
419
362
470
477
481
396
439
319
304
417
448
380
497
479
334
371
416
402
436
394
438
467
439
492
365
461
406
324
438
440
443
467
413
436
489
353
326
347
490
316
302
412
389
406
309
409
468
437
445
369
421
429
363
484
492
340
433
312
466
363
357
368
328
388
448
344
405
324
394
352
442
419
368
486
307
405
463
436
333
421
360
464
356
331
367
432
486
349
388
465
466
334
367
409
474
425
471
378
360
340
446
305
375
368
316
322
335
494
343
316
422
319
413
358
335
356
318
304
468
494
305
415
321
341
415
487
422
330
383
478
363
373
360
437
457
461
359
345
499
484
403
438
326
371
451
409
481
403
466
434
309
486
492
370
367
394
410
368
348
433
472
321
488
469
444
340
467
349
450
440
365
444
389
497
460
457
338
312
346
387
305
340
306
449
324
313
468
337
451
383
319
309
404
447
452
482
476
341
304
339
433
368
355
383
477
472
395
348
400
395
315
432
480
470
420
496
384
319
310
358
355
352
333
474
349
326
320
500
500
318
452
418
457
491
398
449
342
307
425
405
365
476
474
437
344
453
335
360
325
338
457
420
393
330
440
314
325
314
430
443
441
354
500
378
379
474
350
497
334
481
392
306
381
414
331
473
369
359
358
331
401
484
314
329
342
309
404
356
364
307
436
319
476
343
449
378
483
304
421
375
386
437
495
439
377
326
371
336
408
417
424
378
356
332
483
386
426
491
341
463
452
324
342
493
381
485
465
443
444
342
447
427
429
461
403
428
349
447
441
403
302
430
403
347
390
481
458
406
489
308
495
455
444
494
447
409
427
378
354
301
405
478
326
356
388
359
466
356
448
495
428
425
300
358
315
338
436
415
310
479
449
382
449
341
447
320
418
338
448
500
356
470
350
378
414
421
391
482
364
494
378
391
327
326
465
302
437
454
452
439
386
406
481
309
361
497
382
404
336
425
470
392
445
310
340
394
458
330
300
405
359
453
459
337
337
460
341
495
374
379
331
311
413
411
344
499
351
458
412
480
475
499
309
375
403
301
340
395
460
374
463
306
395
409
349
337
402
439
422
343
473
385
437
491
386
445
371
487
349
371
450
379
440
495
421
319
451
320
467
320
321
404
479
344
383
352
474
330
381
395
315
394
347
312
489
495
420
451
313
493
401
400
480
499
446
448
426
404
455
491
472
309
419
447
496
333
347
443
419
421
414
359
357
381
447
478
424
462
363
429
396
321
386
396
367
338
407
374
440
373
384
500
301
399
308
423
362
378
407
406
331
419
418
312
488
353
487
311
330
334
386
368
372
480
386
414
470
405
410
439
425
427
447
367
335
447
310
440
463
447
410
433
434
475
373
317
461
387
320
465
436
486
337
312
348
311
476
454
445
331
307
314
492
426
332
343
400
369
380
401
365
453
356
456
495
329
393
317
476
427
379
405
470
471
413
453
302
342
456
491
306
368
337
420
387
464
424
409
425
312
351
433
334
431
430
300
415
353
388
413
436
360
496
326
340
425
453
311
370
384
413
381
428
372
365
399
315
458
419
349
309
484
467
424
430
321
461
449
416
453
454
305
487
322
449
345
479
386
441
385
379
357
418
312
498
387
302
481
355
366
377
384
433
368
336
392
457
395
347
380
403
466
364
377
471
334
496
414
448
457
394
340
452
323
404
324
412
366
347
333
361
460
368
470
337
302
327
353
448
385
317
428
467
378
381
378
319
314
316
424
424
349
447
420
350
330
437
473
330
479
301
446
348
480
397
403
343
435
482
378
457
415
389
307
421
421
369
354
366
339
454
422
483
417
322
348
397
318
305
314
414
315
311
354
484
349
337
463
488
494
472
497
333
380
422
423
374
446
433
382
378
311
366
415
417
318
409
343
382
495
360
444
324
331
336
444
387
468
384
332
300
391
376
481
402
479
477
476
489
384
403
493
481
383
417
388
357
315
417
432
399
461
472
340
409
478
330
500
354
307
313
319
350
440
499
444
473
491
454
467
324
367
349
305
340
392
486
468
420
458
385
477
316
317
339
319
499
325
415
380
387
499
373
468
432
447
401
302
318
408
399
399
413
352
490
449
437
341
413
491
315
403
483
497
478
315
365
398
382
338
410
390
333
416
366
394
413
423
440
362
372
367
330
464
328
395
374
490
451
301
312
370
323
415
398
405
390
482
328
412
454
415
354
326
459
447
425
481
337
474
457
314
336
377
342
490
429
431
422
403
389
456
477
370
438
308
423
491
384
349
431
496
387
401
386
324
452
317
321
345
477
303
324
305
478
456
421
372
398
413
479
300
371
461
492
373
426
314
336
313
471
411
486
316
317
365
307
422
376
401
472
362
339
450
405
370
427
456
339
303
358
337
476
391
456
455
394
460
404
338
419
498
462
322
483
371
471
335
372
433
358
331
384
402
338
479
399
334
306
400
371
353
435
394
311
362
387
385
448
376
384
456
422
436
448
378
394
335
341
361
444
484
456
496
384
491
498
315
473
334
373
460
324
438
485
402
486
389
312
428
302
422
326
382
424
443
326
343
454
477
311
384
480
404
329
387
395
477
335
388
413
350
486
391
497
434
434
310
301
309
337
424
322
422
424
337
382
367
495
307
338
467
377
426
395
488
389
340
394
310
429
495
369
419
486
464
304
349
332
393
479
327
346
318
457
462
337
338
474
458
348
436
405
416
416
493
391
408
441
416
475
351
454
495
319
494
307
344
431
472
300
308
477
492
302
454
419
465
361
478
338
335
384
452
347
451
355
497
417
402
458
425
431
367
406
472
468
391
444
428
344
332
464
449
428
347
478
324
310
485
343
445
453
366
313
365
399
460
333
491
351
400
304
405
400
423
449
419
432
396
399
476
341
446
320
405
342
352
300
486
361
436
386
312
410
393
477
428
352
489
473
373
409
441
388
480
427
361
497
443
493
334
492
489
408
410
440
324
461
336
339
314
354
486
344
332
481
371
427
386
487
406
427
448
472
420
409
321
485
362
369
393
499
311
448
451
306
347
406
432
329
308
401
339
369
438
464
343
377
462
357
464
400
361
303
467
497
477
335
350
425
309
334
466
476
376
397
404
473
437
438
446
384
417
319
407
368
484
460
431
453
417
347
492
458
316
360
475
443
315
333
336
421
479
313
370
440
491
398
340
303
446
448
405
496
351
301
327
441
385
390
307
453
496
404
411
437
320
316
324
331
416
371
435
405
326
491
383
322
479
429
325
444
362
488
489
374
351
320
406
442
380
319
440
449
451
323
482
499
408
400
407
365
476
371
425
438
362
476
353
442
482
301
392
413
458
376
451
344
306
413
400
398
470
419
452
426
306
448
463
398
338
403
302
345
338
390
485
323
411
466
453
342
391
339
317
390
464
466
351
422
458
424
411
347
426
470
417
304
407
342
494
470
461
374
336
386
470
456
366
318
319
472
429
422
338
486
462
330
378
491
394
308
454
409
456
351
484
343
480
362
350
362
448
312
369
420
464
377
498
471
362
364
346
336
342
439
364
415
449
441
483
303
361
347
340
325
325
436
451
338
323
342
349
447
443
439
435
446
459
404
411
419
466
384
490
468
370
448
341
435
356
343
434
398
463
340
468
341
463
466
305
494
352
313
375
354
471
424
477
448
330
352
331
355
423
496
466
470
486
315
328
335
445
341
429
310
324
374
327
426
438
336
356
311
484
364
478
413
378
480
405
453
441
382
374
389
385
335
459
478
453
373
381
481
447
473
337
317
347
367
409
412
490
451
446
500
350
448
485
426
426
367
466
305
354
379
444
393
446
403
480
401
353
441
384
498
449
424
450
405
451
415
481
437
312
473
467
479
409
463
492
335
395
436
348
353
387
428
474
320
333
362
395
417
424
338
302
305
482
423
411
492
335
413
492
360
459
304
414
311
461
387
412
341
371
310
341
482
391
462
488
439
436
421
414
419
430
477
450
450
300
343
404
312
386
373
406
402
491
444
454
486
431
441
428
329
473
443
358
491
482
383
412
423
327
308
395
473
495
428
318
313
325
345
472
367
444
375
449
314
447
322
384
383
310
358
304
409
312
364
462
479
300
317
416
420
437
488
412
368
365
424
334
343
424
319
351
473
359
303
487
376
356
363
307
346
400
489
396
398
305
462
406
465
384
425
439
463
307
459
440
488
490
444
475
405
399
418
378
331
425
421
372
356
365
423
440
324
474
454
475
481
402
343
322
417
348
461
452
316
455
303
499
312
324
372
408
492
426
396
311
310
487
435
372
318
366
310
337
477
493
435
341
355
368
483
379
319
493
482
315
368
417
476
468
402
458
494
339
373
389
432
387
419
380
441
459
438
487
479
314
305
337
463
314
455
500
352
336
351
320
403
305
348
395
361
457
307
411
368
445
393
366
362
477
318
348
361
334
451
434
301
369
336
338
449
456
314
424
334
318
393
467
359
498
452
398
462
402
461
452
434
445
356
419
345
381
369
336
417
471
477
396
467
306
334
329
356
314
350
493
323
337
454
408
457
315
381
363
329
465
343
447
395
325
316
326
437
436
405
416
438
482
323
492
463
417
425
500
365
363
394
408
354
480
428
365
485
334
448
397
478
354
334
313
487
498
453
478
497
496
460
336
406
309
405
446
425
403
439
461
387
303
487
488
322
493
458
398
462
303
340
427
354
403
342
468
316
301
500
404
409
475
304
454
444
341
500
397
475
312
410
472
311
461
377
419
380
447
344
442
404
473
454
332
322
374
452
474
453
301
356
320
430
424
345
390
430
397
376
483
476
465
363
325
408
500
429
352
319
479
356
378
365
384
488
388
422
462
472
429
424
372
462
310
451
318
490
422
408
495
496
366
475
393
394
342
458
476
338
424
394
470
380
409
402
374
345
476
376
325
339
416
360
487
493
319
388
470
458
340
432
480
495
479
311
473
433
373
342
466
348
428
415
414
478
456
318
338
465
422
334
472
422
325
360
427
324
337
388
405
417
450
395
389
489
412
370
364
364
464
316
429
386
371
488
304
486
414
477
453
343
345
410
416
483
403
500
310
375
341
411
372
471
386
396
482
404
475
441
495
371
481
427
342
490
357
382
367
414
437
338
359
444
380
500
342
442
370
347
392
500
481
428
359
362
470
403
499
336
397
322
408
391
488
473
373
309
477
332
468
339
470
379
364
400
464
403
344
347
313
442
466
375
322
300
491
430
429
329
334
333
447
346
401
440
448
411
326
454
363
426
361
459
417
326
344
446
346
425
413
342
496
323
454
386
381
413
386
486
362
328
354
406
500
382
321
449
363
406
479
397
459
318
361
469
307
319
366
346
370
372
407
353
342
360
347
397
418
500
351
490
417
399
356
461
471
361
409
480
449
319
377
496
398
496
456
318
492
452
415
412
416
386
469
306
351
352
478
330
322
320
423
499
461
492
387
368
492
495
351
491
393
341
442
409
446
452
447
337
338
427
487
300
361
471
420
427
465
364
491
424
359
378
454
365
415
445
453
390
409
500
374
329
399
328
423
378
459
319
328
479
418
451
389
304
328
301
412
316
330
439
303
452
450
389
301
451
481
467
330
405
325
368
453
340
312
307
456
467
496
466
444
346
426
433
306
388
324
440
398
305
462
347
365
470
472
489
399
350
430
342
478
386
308
405
405
490
434
406
488
346
357
491
429
433
499
433
473
399
423
368
309
443
447
306
346
325
442
399
334
424
393
389
437
376
343
448
356
450
418
500
436
307
320
343
335
343
421
357
454
430
350
432
306
405
404
498
435
497
461
377
467
341
350
489
301
474
357
462
386
463
400
363
327
357
352
481
341
476
473
454
404
358
448
361
436
444
483
490
411
334
300
470
346
439
376
414
459
453
386
411
497
460
367
368
366
394
428
456
486
346
365
412
462
485
449
439
362
352
310
472
478
396
451
310
469
429
446
390
404
354
408
464
414
402
305
365
329
324
406
499
455
410
472
499
427
404
332
351
445
427
392
489
420
477
404
315
486
481
475
441
435
358
475
367
306
484
439
363
402
396
381
361
323
484
398
415
485
464
330
488
457
483
302
482
370
429
401
318
303
349
437
322
413
376
459
403
343
364
443
358
325
379
386
376
458
463
337
477
406
312
427
472
440
429
323
386
453
339
318
316
333
378
415
350
301
475
449
325
367
345
304
338
442
371
362
314
381
338
431
370
387
494
350
494
393
443
435
437
485
433
316
443
481
498
469
397
474
474
305
313
453
339
410
307
411
337
393
309
485
465
301
434
475
363
455
416
467
500
346
374
400
437
425
404
335
401
394
302
352
415
321
370
483
383
365
423
356
477
399
390
409
415
489
458
381
412
411
438
375
461
432
310
443
333
439
401
354
359
449
492
363
367
344
381
463
434
305
452
491
433
446
463
326
347
376
421
378
358
369
482
466
456
453
450
375
407
359
303
342
320
470
303
371
349
443
410
453
369
343
402
479
424
413
319
486
308
302
333
437
404
437
338
466
331
388
411
345
483
385
417
472
395
453
442
381
478
447
419
377
366
434
361
368
364
430
335
408
493
314
478
341
397
382
434
330
392
356
416
443
320
359
446
309
325
475
323
372
350
477
470
317
435
300
364
362
360
468
391
354
494
321
497
352
367
348
451
312
457
332
416
498
442
408
455
378
395
487
401
395
395
344
447
427
429
317
419
464
400
354
493
478
457
322
331
393
469
397
431
392
356
467
398
363
308
435
330
469
362
435
339
404
301
395
365
366
312
402
409
402
459
389
358
315
324
391
415
485
433
459
423
477
353
399
471
410
493
416
326
447
395
364
458
301
322
423
394
333
308
475
356
489
452
331
408
404
342
441
403
455
453
314
414
304
441
419
427
438
495
489
320
453
375
500
380
467
412
325
326
348
341
409
412
458
313
494
367
383
445
438
419
446
399
332
362
428
475
473
448
456
350
302
402
303
300
347
309
349
374
433
455
482
373
366
353
379
304
355
321
487
352
443
431
342
488
491
404
494
480
318
475
379
494
457
325
485
366
391
393
441
351
372
343
404
432
318
411
354
359
481
490
403
411
363
450
406
477
348
470
403
389
382
372
341
346
498
487
333
380
447
418
471
384
461
311
408
472
496
405
445
461
306
499
387
384
479
453
325
349
410
469
476
312
448
465
484
474
360
368
433
469
414
462
375
441
388
361
361
444
429
352
480
397
336
421
386
332
414
328
470
449
334
435
329
428
416
407
493
417
317
312
482
364
439
353
336
385
364
469
493
337
472
395
486
453
357
418
464
354
303
352
410
436
328
343
481
362
386
334
326
432
369
353
428
327
421
399
348
409
469
408
488
329
359
494
310
381
352
396
397
315
498
330
400
496
407
437
453
440
401
346
345
312
492
338
331
462
438
470
357
346
415
302
329
466
345
336
463
308
447
463
468
329
402
470
370
426
417
370
397
370
337
314
463
322
428
448
338
448
401
395
377
363
304
309
303
489
386
325
490
320
399
308
419
431
474
426
321
474
434
368
335
309
386
330
412
457
440
464
385
485
490
482
366
320
461
419
441
349
493
370
433
485
468
372
313
361
434
421
302
394
427
401
363
400
432
474
338
412
445
379
413
348
420
428
300
418
446
494
371
429
387
457
316
345
327
347
362
433
451
335
420
418
394
418
314
494
491
470
344
437
420
408
413
495
475
462
344
306
399
325
321
373
473
329
454
465
413
462
447
454
335
482
439
336
364
306
392
348
375
419
371
340
441
341
383
341
435
337
420
338
378
432
377
300
407
452
355
431
464
448
356
447
449
491
466
395
367
306
319
309
324
473
425
335
485
346
413
345
418
342
425
477
355
466
430
374
443
317
440
363
488
451
486
419
338
436
321
410
327
402
342
369
472
416
342
386
418
418
480
456
311
365
402
400
318
313
494
337
323
448
353
437
332
353
434
371
322
466
446
483
319
456
309
398
309
355
457
340
301
315
378
406
369
434
402
463
484
366
354
468
488
344
390
450
378
308
319
467
355
482
493
341
403
388
356
367
355
365
344
314
381
312
308
491
305
402
447
452
461
420
342
454
435
316
471
410
382
433
495
436
348
315
358
444
464
344
313
489
414
389
426
414
437
475
489
483
493
359
450
353
326
348
484
378
457
326
474
475
445
455
322
491
464
305
494
486
435
347
417
494
484
445
348
363
328
347
493
422
361
348
467
353
398
315
426
472
360
400
373
397
330
476
417
477
371
428
315
332
327
399
344
332
311
434
422
415
446
433
402
410
314
444
464
361
330
347
345
388
374
455
329
375
413
382
377
379
417
414
431
408
341
460
457
460
395
414
332
363
453
368
479
319
472
493
424
363
395
302
471
389
444
454
438
320
316
382
397
324
317
338
472
349
483
434
362
396
335
316
368
397
337
391
466
404
446
421
455
445
389
450
400
500
401
315
479
371
438
380
415
329
310
430
498
324
309
477
336
366
478
481
367
355
456
416
497
385
494
445
442
398
330
339
327
328
482
306
322
470
466
382
438
450
472
460
397
413
390
308
463
320
309
484
424
312
336
339
489
328
350
403
459
445
481
489
359
355
463
384
395
393
376
385
360
428
359
303
314
453
489
457
434
386
499
383
476
430
473
361
492
348
386
388
314
398
300
411
395
335
301
427
442
349
375
352
354
380
457
473
426
344
456
447
420
490
484
308
440
327
374
478
425
315
492
308
461
337
435
302
451
372
442
419
399
414
472
426
401
396
447
382
484
479
456
371
447
320
404
423
339
424
464
347
364
372
301
440
338
365
484
327
344
400
467
409
317
447
448
307
347
369
488
475
416
465
497
467
446
411
486
468
477
401
376
433
472
312
480
359
380
443
398
411
463
343
382
384
349
341
404
449
407
492
422
342
346
436
339
311
405
408
369
432
334
380
309
351
374
324
499
475
455
347
416
325
462
482
332
314
326
456
304
446
329
334
381
448
413
454
423
478
306
361
384
319
343
379
423
310
329
382
488
332
368
354
320
495
335
342
354
316
409
377
500
345
370
431
475
391
312
342
358
416
399
351
372
376
414
424
434
352
452
464
462
365
302
301
487
382
359
300
416
380
373
365
344
311
322
308
330
435
387
471
335
333
462
391
360
412
440
448
321
334
469
465
329
430
317
372
403
398
476
401
383
370
319
386
451
494
405
315
360
318
496
308
316
359
366
306
474
495
314
395
371
313
434
434
381
478
485
308
335
395
485
495
435
390
470
464
428
467
311
448
388
382
473
441
324
304
456
499
453
484
318
454
382
320
323
308
448
411
386
353
455
431
329
492
492
366
436
431
459
463
411
326
344
325
368
449
423
303
394
483
462
434
471
450
410
382
447
320
402
435
398
358
420
321
452
331
303
405
327
449
318
330
365
310
372
388
331
500
343
407
475
407
301
443
302
477
422
497
379
456
418
483
332
377
467
451
420
473
349
455
478
468
324
434
396
328
458
453
423
359
407
405
438
404
458
409
493
419
343
343
414
325
431
343
472
385
447
484
489
391
392
307
363
460
383
378
468
486
470
322
318
404
387
497
369
362
363
399
321
377
313
398
337
500
459
459
360
316
341
337
390
304
345
493
490
449
362
326
317
440
315
428
396
463
416
396
491
439
387
314
402
483
432
492
320
348
310
325
377
487
406
437
438
455
500
362
319
407
365
395
358
403
364
451
313
454
388
428
487
388
390
415
408
351
362
363
386
445
315
321
382
479
396
447
322
316
360
429
467
448
376
340
426
362
392
327
461
306
304
419
376
383
360
455
392
303
481
315
341
331
395
375
488
478
478
440
372
308
438
331
439
486
361
362
444
334
475
325
317
423
467
471
416
455
361
363
352
495
333
455
435
488
393
463
443
352
415
370
354
443
462
411
490
442
490
365
386
423
422
344
423
480
354
479
300
417
365
389
384
479
429
442
482
421
353
361
412
436
495
353
430
462
482
461
365
478
359
481
463
374
400
389
308
311
307
441
496
313
439
500
329
383
450
427
310
453
411
316
300
470
375
400
317
474
456
443
424
455
395
493
445
379
396
373
388
494
495
453
316
459
426
432
312
450
447
393
380
435
425
413
484
383
373
442
351
424
372
372
392
386
347
328
468
473
430
338
463
401
333
348
486
438
376
301
478
364
499
427
469
300
320
422
428
485
480
324
490
461
454
366
436
315
418
450
472
336
438
358
435
317
391
320
396
353
471
370
358
324
456
310
326
350
438
446
467
399
403
337
487
395
498
471
385
423
331
316
320
438
474
403
485
426
402
500
396
435
499
462
448
464
452
385
462
484
377
337
472
307
453
465
399
393
451
344
461
377
338
441
409
482
426
499
356
437
447
497
377
346
368
494
455
463
500
333
334
395
347
318
420
386
447
419
312
373
321
417
360
404
361
367
347
494
394
385
453
361
412
367
489
457
335
353
410
453
499
488
429
431
480
324
372
303
401
392
403
330
417
365
494
353
423
450
384
421
391
424
405
415
359
333
307
498
462
489
403
425
334
349
490
408
426
443
479
455
307
352
412
417
332
356
328
425
421
497
307
408
403
361
328
467
370
373
479
394
427
348
376
322
488
498
388
386
327
337
304
410
433
445
470
349
401
456
438
308
477
311
335
340
471
325
364
471
402
433
463
384
336
385
497
385
482
347
346
311
476
307
341
409
459
496
417
425
304
364
450
374
439
413
426
424
329
397
419
445
473
334
359
358
381
304
384
432
441
450
498
308
432
383
372
306
445
317
381
357
445
356
414
320
355
490
345
420
375
401
318
373
356
373
475
382
332
482
365
400
440
494
347
393
347
365
481
414
331
416
410
328
318
356
353
483
352
483
486
416
337
477
319
466
500
412
483
497
403
416
440
310
415
397
478
386
491
336
417
454
464
454
443
462
463
461
491
345
483
367
348
464
471
469
442
490
363
347
315
352
480
317
371
400
311
408
500
300
474
432
453
402
415
412
398
397
397
354
363
368
382
499
434
394
314
393
499
301
470
438
305
410
431
319
483
475
443
480
396
418
383
371
494
445
312
408
454
355
336
316
412
457
491
457
335
346
316
484
451
406
385
458
404
340
388
421
332
433
443
416
467
402
466
400
431
366
379
361
485
347
303
371
349
404
433
468
300
333
422
499
360
418
457
344
498
330
388
318
399
356
321
496
463
449
367
302
303
365
325
318
496
466
311
336
458
432
417
311
436
464
478
373
467
498
331
486
415
341
407
457
392
476
371
303
372
309
371
311
395
343
498
421
367
329
447
355
324
493
440
362
434
407
304
421
463
439
377
353
311
373
345
472
313
499
422
449
392
322
396
496
444
420
385
389
484
312
419
329
445
320
362
411
399
456
436
485
392
430
444
313
461
478
347
449
413
411
395
439
461
405
342
346
487
376
385
494
390
417
311
495
468
354
490
478
488
339
415
440
399
418
425
442
467
436
494
486
429
303
462
442
370
450
345
484
316
470
419
492
371
333
453
435
308
454
369
450
449
382
423
442
398
451
399
363
379
430
457
305
429
458
495
302
485
343
325
319
374
430
308
355
412
455
435
392
454
381
449
359
482
412
451
380
394
467
333
401
492
373
388
330
337
459
431
396
396
330
301
342
452
329
459
466
329
416
407
474
335
486
401
443
343
468
312
369
427
413
365
444
331
444
319
311
359
475
473
438
486
457
500
347
384
476
394
346
385
335
309
444
445
399
305
335
421
495
350
460
410
311
391
476
334
325
391
359
343
409
346
328
422
348
316
393
394
434
408
304
327
345
487
315
315
433
347
445
453
356
326
373
401
352
485
320
420
393
457
384
487
468
306
456
305
429
439
314
387
428
309
426
449
467
491
484
448
393
324
317
422
423
309
410
464
341
324
453
485
366
443
393
442
301
499
486
316
369
366
450
396
409
483
326
487
367
315
451
302
486
377
328
392
480
350
489
306
321
303
430
364
402
354
489
448
463
360
354
346
374
383
371
461
460
353
339
434
473
369
444
482
450
313
312
364
408
300
349
466
490
440
473
402
306
380
423
321
389
332
401
386
457
487
342
432
312
404
480
339
457
423
481
436
326
367
326
328
389
316
390
373
450
476
329
440
486
489
315
482
345
463
305
401
389
319
372
347
412
357
340
477
390
307
471
305
455
350
394
389
338
411
474
306
310
378
444
466
364
378
466
469
400
320
459
459
452
455
495
322
482
406
452
450
458
378
318
484
461
385
439
435
496
391
310
379
357
374
490
379
449
320
377
402
405
345
499
345
305
329
447
387
434
352
388
305
340
433
411
417
310
380
492
375
461
341
462
469
432
438
476
427
499
350
338
339
413
313
317
381
309
495
370
415
445
309
437
352
423
497
305
485
367
489
397
425
326
388
476
419
431
465
459
437
451
303
457
467
347
340
396
336
314
498
418
460
467
497
349
426
354
354
454
302
309
414
336
313
462
368
487
496
411
349
375
487
352
308
446
443
304
345
301
329
351
342
376
333
450
456
475
302
334
306
430
414
400
437
449
331
492
428
402
367
314
344
338
467
383
356
427
423
318
301
308
435
448
429
343
337
459
312
362
429
414
426
387
408
474
349
424
305
472
417
497
423
355
325
499
323
357
393
475
489
450
354
452
477
433
421
481
339
498
403
347
383
365
377
372
309
313
359
342
412
468
473
353
480
365
441
472
356
401
387
481
407
440
323
377
326
326
388
362
351
428
496
466
459
309
341
371
469
408
448
437
468
422
346
353
374
361
311
325
388
407
459
458
495
389
316
492
334
417
432
346
455
393
384
437
381
322
309
406
304
341
448
493
461
486
418
364
437
366
422
443
387
430
345
470
411
455
434
464
369
419
439
306
422
495
424
390
491
300
473
317
352
462
478
432
351
474
352
485
465
405
356
487
467
490
373
394
358
462
486
354
393
469
305
472
343
360
482
398
370
443
438
354
376
342
449
387
329
442
397
473
360
354
426
491
390
327
471
311
409
443
394
415
340
457
306
329
396
326
489
411
325
400
335
336
415
307
369
391
323
346
323
348
427
358
495
308
445
375
432
334
390
494
308
367
484
449
418
496
365
463
305
395
364
348
301
477
362
411
428
474
472
411
349
365
335
312
443
433
427
308
420
405
398
342
362
483
306
478
497
337
459
496
334
418
440
462
358
389
319
478
377
425
458
428
418
413
486
304
485
422
394
330
333
432
361
453
387
359
454
340
362
369
481
343
347
446
325
424
417
497
433
495
491
401
439
428
400
389
351
322
367
303
428
382
496
357
447
432
471
450
450
462
430
344
441
341
311
385
461
435
421
316
413
417
367
357
498
376
453
497
309
324
372
379
467
433
468
500
458
419
469
474
393
364
397
382
325
425
333
432
336
301
322
461
475
375
419
322
492
433
455
421
456
327
410
305
495
403
487
430
368
434
465
388
459
497
386
430
404
307
391
319
388
432
496
310
322
446
350
401
317
499
396
318
312
446
454
384
304
457
415
383
408
359
433
444
338
326
390
310
397
420
448
474
437
356
431
448
496
419
470
414
376
473
500
400
361
364
423
421
413
486
379
389
488
475
450
403
432
444
365
364
380
384
495
413
340
456
465
469
463
337
444
314
459
490
334
364
476
500
307
391
405
313
461
349
311
425
356
433
480
368
387
318
350
459
420
361
477
316
446
498
331
379
486
403
366
322
473
428
375
350
435
386
428
482
377
376
489
352
363
364
395
427
402
499
325
363
429
453
460
340
336
444
449
308
383
457
322
373
341
363
381
441
388
405
411
412
320
330
487
451
325
334
484
330
488
428
409
475
417
302
320
386
340
498
322
320
465
413
405
363
397
323
439
440
404
332
388
310
379
329
417
432
492
433
374
323
308
310
437
406
347
359
478
307
482
420
330
314
403
417
425
472
420
431
351
437
483
357
449
326
476
488
329
375
376
389
324
380
486
300
388
302
451
334
324
431
448
433
451
499
302
470
324
375
366
448
323
336
375
483
340
318
326
387
437
384
466
361
391
374
361
316
432
476
357
417
396
380
385
490
484
473
331
396
317
427
345
368
312
410
479
429
393
326
325
432
385
370
486
463
383
350
320
479
380
496
457
496
420
478
466
454
338
405
333
412
364
395
405
335
300
321
411
317
351
338
305
330
418
302
359
397
417
457
364
450
437
481
402
335
328
361
449
302
317
379
438
306
367
487
332
430
361
400
395
455
381
325
353
459
482
331
326
479
310
393
339
495
499
445
424
456
366
418
320
397
410
429
344
378
316
482
382
441
310
447
323
498
377
365
423
356
420
424
302
406
384
416
418
393
447
333
350
410
306
377
369
370
489
405
308
335
452
403
303
450
395
484
375
470
399
485
396
450
423
433
394
427
392
397
330
482
345
472
337
318
409
336
346
379
364
423
300
398
371
345
447
399
408
436
475
302
457
343
384
458
448
416
460
456
366
460
454
332
385
462
499
354
394
331
317
387
388
443
370
316
363
344
329
430
358
309
344
334
477
432
436
429
454
497
331
376
338
356
405
365
426
424
497
380
301
495
330
494
316
487
427
442
328
345
367
446
407
499
344
432
464
468
435
459
312
474
418
358
421
471
479
462
488
498
387
488
368
316
493
310
477
475
432
365
428
371
476
498
402
493
324
315
344
447
450
336
374
419
379
500
426
318
354
346
440
489
478
498
393
478
460
475
442
414
355
397
375
491
434
350
396
361
447
367
315
450
424
475
311
330
434
432
337
323
485
318
341
367
478
342
365
498
478
309
348
446
340
481
341
473
365
465
500
431
370
479
406
302
373
367
426
415
381
414
364
485
312
463
426
470
423
377
481
453
442
326
390
348
440
389
322
308
383
364
416
355
421
396
457
338
467
428
421
484
406
470
359
321
467
359
490
448
391
322
480
404
361
320
441
403
350
303
406
461
352
461
428
367
408
445
417
472
372
364
342
422
304
382
463
469
434
307
474
322
386
422
413
396
332
459
309
355
328
380
305
377
421
478
395
372
382
301
395
362
480
425
342
376
342
472
308
440
461
416
499
335
466
443
384
326
374
414
472
349
499
342
442
488
308
470
367
481
444
459
486
450
488
384
400
365
474
428
465
335
332
304
446
403
340
439
420
323
323
488
384
302
445
370
496
416
420
343
454
377
484
314
351
326
374
499
372
400
404
391
476
435
334
357
386
375
467
459
411
393
436
380
428
455
396
408
304
368
369
332
305
330
482
474
426
332
329
462
345
441
411
314
345
327
433
307
411
384
453
411
443
489
303
301
482
456
390
368
376
393
473
358
412
437
438
369
476
482
314
464
425
403
355
494
475
417
449
311
360
358
317
378
489
439
368
374
475
383
437
412
312
365
351
361
455
464
454
391
481
364
342
458
373
455
300
326
425
478
388
404
497
377
412
334
339
497
415
386
366
489
455
318
430
492
410
410
423
362
356
387
323
490
432
483
378
413
477
428
458
380
327
403
430
377
439
421
404
454
408
472
418
383
412
430
349
339
319
424
490
441
466
421
303
442
331
494
330
428
302
333
384
318
301
432
394
318
384
414
392
372
492
360
474
300
437
394
487
439
429
438
404
459
301
307
498
475
314
443
473
373
493
357
445
303
340
453
364
440
402
353
365
331
352
338
443
389
437
473
410
309
378
323
436
420
499
347
455
334
450
371
466
415
438
492
303
411
369
311
333
424
363
321
328
496
392
431
445
348
432
404
341
453
340
301
442
345
394
444
442
462
443
302
323
443
460
355
362
301
500
340
325
456
395
423
481
440
452
412
448
482
348
475
329
328
317
359
381
397
483
314
358
468
348
493
359
331
486
481
456
485
435
488
319
395
397
421
410
303
408
357
377
345
480
306
423
394
417
416
455
476
442
491
364
398
354
341
305
306
465
313
448
456
469
431
410
379
446
368
403
448
417
399
359
469
303
492
355
422
376
438
393
422
323
464
374
465
440
395
500
348
387
437
421
488
448
437
378
350
320
451
333
494
378
370
490
415
321
394
335
486
419
449
368
389
321
404
309
323
356
377
435
447
445
315
466
387
479
455
451
312
420
426
334
314
347
333
341
471
450
461
397
430
315
400
352
370
497
447
477
457
374
399
483
495
414
410
305
354
395
336
317
458
352
371
437
352
368
317
390
365
381
331
357
493
317
326
353
302
385
336
446
313
411
348
427
431
458
364
332
460
369
314
336
326
416
471
442
498
410
388
482
375
404
475
481
325
302
315
446
420
458
392
356
349
474
418
371
424
407
369
323
480
440
493
500
385
453
325
473
487
462
414
317
364
391
462
404
313
390
309
479
383
319
437
473
324
429
351
459
357
423
484
413
489
427
345
438
491
388
495
389
415
391
420
382
498
443
420
367
487
415
480
426
359
305
386
372
456
439
433
364
447
418
492
350
312
420
485
478
466
498
359
349
371
310
300
490
396
349
376
403
489
376
423
370
326
467
313
428
363
477
448
499
470
323
372
468
404
498
484
449
418
366
419
427
478
353
452
366
311
359
375
486
483
395
333
376
385
412
366
475
440
305
329
331
320
363
392
426
304
470
420
389
369
360
308
375
311
457
374
412
306
322
341
382
366
495
403
443
390
419
411
319
303
442
431
441
377
318
374
473
393
356
314
445
473
402
455
450
428
359
490
343
333
428
316
322
322
432
338
399
483
472
330
388
375
324
489
461
302
351
329
380
374
438
405
423
493
408
445
422
313
456
478
409
432
424
341
416
481
421
358
432
454
361
398
312
386
422
301
316
443
320
315
395
442
440
410
494
332
369
486
360
443
356
335
445
427
383
402
485
416
440
466
405
455
455
404
356
415
397
455
412
472
308
468
366
389
386
372
436
407
310
383
495
469
420
346
402
480
397
436
445
350
485
490
351
383
488
313
381
357
310
364
399
329
484
345
486
394
494
500
488
476
481
353
350
455
324
324
412
314
415
497
462
300
312
403
473
473
472
420
450
368
377
406
496
353
378
357
308
350
434
327
340
321
417
358
371
304
372
424
367
422
364
374
343
479
372
321
350
406
374
484
322
341
362
428
390
461
453
448
331
371
480
339
485
324
311
368
447
325
382
317
403
305
419
379
311
377
433
314
468
432
462
316
437
454
334
338
399
364
325
420
358
396
376
301
453
457
482
405
499
440
462
490
440
303
489
478
362
473
443
404
444
303
318
447
435
360
404
325
403
347
483
310
419
459
445
403
462
448
397
315
360
438
366
407
415
437
466
398
352
305
344
473
475
474
328
490
367
346
475
314
388
316
460
354
473
469
461
370
453
334
366
410
459
413
342
445
494
412
392
481
326
324
361
416
447
463
333
389
303
426
372
340
368
368
307
457
418
500
460
328
432
382
327
395
355
303
459
491
357
421
329
500
369
319
342
446
393
424
401
366
313
455
337
323
412
332
366
498
491
439
376
487
407
477
448
467
483
311
364
363
475
412
399
435
348
456
489
491
329
393
318
496
454
438
404
500
398
373
485
394
416
402
358
379
372
411
320
351
432
375
389
400
401
360
430
360
383
452
471
451
340
484
300
432
332
348
437
304
427
327
448
402
338
347
356
321
300
367
337
300
395
472
425
459
403
618
779
532
582
660
512
424
685
584
716
758
497
608
806
662
487
752
619
591
637
668
664
661
591
688
569
705
792
735
763
604
579
466
568
563
816
534
819
760
668
491
798
568
614
785
739
692
461
646
792
529
440
672
735
672
675
631
804
754
511
594
522
586
663
590
791
693
428
699
503
763
475
737
438
798
642
619
801
553
666
661
802
528
682
440
778
780
768
604
751
820
692
637
427
688
504
590
437
430
808
579
726
514
689
534
586
778
731
587
765
743
421
613
433
644
652
673
729
800
698
476
452
505
579
605
620
687
652
468
711
433
537
527
708
609
540
633
626
656
467
483
819
527
549
698
721
714
519
763
532
578
676
808
535
814
683
813
491
804
640
707
557
468
426
481
643
652
608
569
746
582
652
726
801
553
654
726
643
671
720
647
528
707
467
602
633
608
512
505
679
557
538
578
579
629
792
423
446
492
790
555
584
647
784
470
520
452
752
599
746
817
728
725
768
613
659
495
728
457
490
494
545
811
654
443
686
584
809
494
576
548
619
742
517
487
525
645
553
790
766
612
655
480
612
775
567
794
533
532
502
817
552
774
487
591
589
714
729
472
534
469
704
510
797
816
789
695
547
682
451
615
742
537
722
538
591
742
599
574
537
617
462
811
529
492
586
522
560
434
446
669
766
569
557
698
660
512
803
480
658
770
810
671
488
736
680
509
652
688
449
630
460
643
806
490
600
769
756
817
472
502
644
439
555
432
466
595
684
820
635
592
519
527
819
572
696
746
621
583
557
616
529
561
710
456
751
453
573
725
422
707
528
682
526
476
609
503
637
694
491
635
552
558
694
461
466
571
761
492
723
782
544
698
444
537
679
522
496
499
768
667
655
590
578
752
439
654
688
469
443
608
756
680
711
605
572
655
568
590
775
522
686
618
699
758
692
608
758
535
648
487
608
537
803
632
485
534
804
464
430
718
710
818
441
447
475
814
495
529
527
658
589
610
569
504
803
446
559
530
819
430
570
556
439
731
674
767
662
529
642
711
616
487
624
656
769
705
816
620
599
706
432
512
634
451
462
634
787
594
524
564
747
445
748
745
585
616
507
722
595
672
695
716
713
748
557
541
807
669
580
637
544
450
819
533
763
789
619
817
596
580
666
569
711
444
518
631
546
794
755
792
636
489
784
639
693
643
818
627
559
553
506
654
490
459
464
745
605
595
526
812
592
536
489
647
723
508
422
481
452
449
475
594
584
806
422
481
548
516
600
652
653
787
811
677
657
604
812
691
806
510
587
477
573
554
795
784
519
623
617
485
761
664
732
425
468
620
727
740
581
650
552
600
575
560
555
538
704
731
775
706
539
766
589
424
593
730
818
580
762
743
787
747
723
483
813
499
498
813
659
580
451
622
763
606
541
592
488
601
618
525
717
796
601
816
753
811
659
721
766
444
451
502
546
810
549
803
450
779
665
618
727
537
524
625
439
608
737
511
600
729
801
467
645
517
421
554
804
493
442
573
447
747
730
727
652
664
493
761
529
615
777
673
499
593
743
537
547
630
442
682
683
535
816
618
615
793
490
474
456
763
786
625
470
784
800
440
747
599
423
778
809
701
660
477
672
558
665
482
779
708
510
473
444
665
762
715
489
533
648
495
507
448
706
465
441
802
793
476
451
468
646
693
679
604
580
780
689
701
488
811
540
667
660
777
585
731
479
532
772
587
767
613
793
444
449
676
646
781
649
801
445
817
789
684
471
790
804
561
744
647
621
804
682
654
703
757
778
763
598
788
654
427
814
546
752
476
773
430
469
626
581
762
501
462
796
669
515
496
653
699
669
642
559
734
611
669
778
560
720
655
778
533
709
737
521
473
575
458
815
456
515
589
740
556
554
692
491
749
751
448
522
613
489
747
534
793
667
602
604
432
672
683
663
800
708
738
721
803
693
634
536
507
570
441
802
770
621
581
578
750
571
702
512
516
583
765
508
528
819
545
501
458
694
610
787
766
489
509
465
672
794
665
752
783
701
464
703
743
659
463
520
694
703
601
685
530
560
428
696
724
669
656
564
588
727
618
777
758
584
632
652
538
721
600
428
661
787
551
785
686
555
671
805
551
586
549
588
563
635
646
744
444
538
437
798
497
714
510
780
720
422
599
561
652
599
505
672
646
724
756
705
500
447
492
677
816
421
738
578
632
421
751
583
470
470
426
646
604
726
625
445
717
586
667
573
646
729
659
802
683
793
458
442
690
631
480
654
758
527
563
710
591
640
557
520
645
583
432
573
625
549
648
507
619
727
799
671
575
793
478
657
674
779
812
516
726
714
750
796
524
451
589
770
778
428
713
683
763
459
557
817
670
436
481
802
470
762
646
786
555
530
598
440
485
674
546
783
500
490
494
446
765
678
590
669
758
421
795
522
609
573
785
561
461
820
452
691
687
787
516
648
689
817
701
639
669
637
815
630
497
660
459
803
503
440
501
789
513
796
694
705
641
583
743
569
476
449
601
810
666
450
542
572
505
725
638
733
524
798
743
539
573
634
459
820
435
646
572
498
534
463
431
694
708
817
694
529
766
736
762
809
663
575
467
427
505
549
616
770
584
487
483
622
597
447
545
614
500
645
616
445
674
495
493
817
596
803
725
693
765
739
779
566
775
597
480
717
774
521
672
604
554
749
801
479
638
596
486
679
518
448
496
727
460
771
491
586
719
713
479
526
550
425
533
568
757
513
734
527
729
548
706
665
768
731
704
434
427
446
643
764
665
638
614
581
603
456
458
807
474
461
471
441
588
506
797
726
657
576
738
499
586
692
748
589
503
496
587
639
738
722
540
762
608
667
689
426
718
772
679
698
688
476
449
546
745
543
620
736
534
688
729
668
754
742
577
779
772
626
805
680
685
596
435
602
600
428
620
556
725
519
447
548
702
684
724
700
767
430
497
510
588
748
614
483
778
501
463
660
479
659
446
689
772
684
726
549
747
678
432
683
680
631
495
515
815
573
654
666
789
802
684
477
573
699
809
802
748
759
804
471
533
751
671
634
614
664
498
763
569
539
525
724
719
616
476
741
685
785
608
558
440
708
737
786
515
760
448
735
581
757
527
498
724
553
819
818
448
667
428
754
450
677
458
548
483
667
758
699
433
659
719
801
601
723
585
640
756
491
647
552
583
712
516
444
612
616
581
777
664
675
604
580
639
778
625
592
590
620
528
588
676
536
711
457
689
633
816
677
534
696
549
679
740
683
719
433
577
810
548
808
568
698
441
728
477
734
460
572
529
678
582
532
505
677
489
493
607
480
666
790
666
732
575
627
602
456
725
765
477
528
694
764
676
677
765
612
451
510
811
553
532
668
601
674
694
562
563
670
662
770
475
624
570
743
570
720
602
510
768
461
488
536
450
720
516
722
667
566
533
612
801
771
595
544
450
560
581
464
648
617
458
542
537
798
775
713
452
777
564
606
468
731
774
669
536
755
768
685
718
623
453
695
425
459
815
737
500
435
590
659
426
723
423
759
509
758
723
761
569
480
458
555
739
797
673
449
512
498
579
643
444
753
541
590
661
425
629
514
666
598
649
433
717
752
784
672
759
771
637
635
512
721
603
505
698
513
678
580
574
672
746
533
771
698
456
459
421
795
720
549
670
623
484
567
683
657
589
640
445
670
641
657
803
727
796
449
585
656
736
575
523
638
699
633
485
531
617
531
532
733
790
557
693
539
668
433
426
569
547
651
595
547
747
773
429
640
602
607
450
500
611
591
783
420
718
567
646
631
554
682
506
757
701
514
732
679
805
573
621
506
529
498
454
677
791
444
767
541
798
590
475
466
535
703
536
709
475
541
789
668
731
474
598
689
472
555
647
744
470
554
571
575
595
786
474
514
612
679
700
512
620
533
637
587
569
701
558
803
551
710
677
700
569
802
551
644
541
483
472
420
602
585
506
556
650
491
611
554
544
530
461
717
748
744
438
632
804
502
685
592
741
618
662
673
588
774
702
704
446
727
544
569
766
595
610
681
602
754
782
473
661
476
486
734
609
457
746
451
522
751
759
552
437
486
523
554
453
459
704
726
800
606
443
671
770
459
522
733
756
478
749
783
482
735
616
764
688
637
600
776
717
620
746
774
452
650
657
559
429
814
710
506
478
679
506
639
552
664
820
560
814
572
481
435
664
705
649
711
537
817
684
676
578
490
512
798
697
578
745
518
508
652
820
442
590
501
640
670
740
738
568
440
749
794
645
424
425
559
663
655
554
540
483
561
721
774
521
681
683
525
719
784
758
664
457
735
684
644
456
806
612
702
454
454
648
768
799
779
818
534
747
773
630
476
733
501
460
710
727
515
758
722
669
467
783
731
803
605
787
638
461
501
776
623
753
626
721
694
554
430
815
483
509
721
452
646
641
554
807
796
439
523
445
546
536
669
788
645
718
758
557
698
598
473
725
738
464
572
603
596
811
480
737
651
732
711
567
717
504
746
486
456
809
465
435
477
779
599
593
421
748
723
518
511
609
820
648
518
656
763
612
529
571
658
757
465
709
719
808
721
598
805
519
633
610
631
626
815
511
729
516
529
799
533
738
524
517
436
630
791
438
745
473
782
780
818
771
507
512
647
757
684
657
704
665
692
660
661
458
606
599
434
811
432
724
453
789
802
775
454
495
421
539
424
654
757
820
429
479
568
756
479
518
814
609
421
598
688
426
769
443
508
529
454
688
725
439
632
641
574
726
707
465
530
681
681
517
701
632
747
760
713
657
618
793
600
667
430
489
724
549
612
815
435
668
814
554
566
598
592
550
589
575
699
461
697
512
536
534
711
470
448
632
605
448
700
539
630
816
462
672
814
651
439
750
590
766
733
696
514
445
692
603
655
479
812
654
686
452
806
776
623
518
805
752
782
809
622
489
540
641
491
750
432
431
597
502
524
801
511
779
456
717
572
748
727
637
650
662
457
489
716
619
547
782
644
463
526
490
590
527
593
773
578
669
637
493
719
687
709
648
484
421
708
781
775
481
813
608
618
648
576
607
784
700
663
539
580
538
738
581
728
535
529
703
670
577
754
452
691
620
602
520
503
546
573
658
451
516
461
719
451
445
752
685
729
669
460
505
469
711
452
482
649
479
613
621
543
491
502
665
763
424
431
454
628
556
484
608
636
759
778
517
797
695
633
612
746
598
718
521
812
467
478
547
453
464
725
533
606
763
797
806
814
639
711
794
715
811
756
576
510
625
675
447
437
739
488
492
642
566
540
719
694
702
602
747
620
775
804
743
589
640
461
650
647
563
597
799
775
562
755
689
441
435
461
528
605
741
711
481
664
729
771
789
732
627
749
603
673
812
729
703
628
571
600
646
579
686
738
767
737
495
437
744
524
786
451
583
575
672
629
787
551
468
595
511
770
677
727
488
683
454
671
438
808
531
587
579
686
595
499
680
733
765
732
674
502
590
772
456
448
799
552
756
684
698
493
645
475
773
628
426
687
626
662
627
815
674
447
618
818
698
662
615
813
693
580
733
618
747
812
652
720
743
491
781
685
573
528
561
684
661
566
793
592
735
463
771
448
773
634
593
618
513
564
483
645
437
540
618
724
758
779
522
770
520
813
747
597
717
764
429
663
475
743
520
798
673
713
650
641
819
519
451
528
502
538
440
427
503
603
425
557
681
602
735
436
693
797
492
675
485
470
760
450
800
535
551
601
537
490
456
501
553
475
553
800
743
497
444
544
637
683
577
510
588
508
598
588
607
777
531
661
652
702
786
714
624
589
429
532
526
590
815
497
525
768
522
572
491
441
521
437
493
560
598
616
658
472
719
729
514
683
708
730
424
635
467
522
687
636
429
430
790
708
579
690
483
807
516
463
819
562
760
764
676
710
796
674
526
574
666
596
687
492
602
504
756
630
448
704
505
451
641
760
580
696
598
699
484
480
769
785
698
719
701
518
663
483
568
749
464
744
578
461
703
804
599
602
717
661
702
434
666
581
475
647
553
603
728
540
582
687
528
423
760
651
465
676
571
768
741
695
767
466
734
475
562
507
712
553
516
796
579
461
562
750
565
510
588
611
433
618
614
423
643
706
535
681
507
546
569
433
574
599
706
454
804
685
449
437
465
486
652
583
522
686
771
472
621
709
432
722
555
431
523
626
540
763
707
751
482
462
628
689
614
430
462
681
772
631
688
781
707
445
644
496
535
603
653
663
778
463
634
575
623
775
531
539
770
526
629
651
748
426
663
626
465
541
668
636
780
719
598
493
458
729
733
740
683
528
669
606
815
433
759
644
660
756
797
727
516
760
752
538
691
495
452
651
737
600
471
449
534
618
634
661
518
722
663
527
701
708
428
656
584
435
523
796
770
673
615
722
512
459
570
425
734
807
540
733
751
587
424
572
794
709
807
635
729
713
664
425
695
521
656
688
450
531
796
749
645
510
797
622
614
637
594
771
699
795
696
503
421
544
808
679
530
562
643
649
682
755
776
730
632
804
628
545
504
668
705
432
710
689
816
529
455
502
544
538
509
701
804
468
689
604
504
694
755
711
447
637
565
510
607
514
613
592
813
562
484
678
656
501
451
734
803
806
695
771
658
723
691
716
450
665
464
762
788
610
815
811
429
796
682
425
488
634
748
689
420
476
793
462
476
746
504
769
609
461
568
513
782
554
573
769
569
762
447
479
554
640
591
540
620
652
597
623
539
422
649
500
422
460
768
681
668
706
573
717
769
693
523
731
463
573
460
577
618
733
659
657
684
780
444
531
763
519
645
537
527
628
781
743
716
463
486
610
782
571
741
693
631
586
487
693
582
575
739
485
802
575
554
461
480
420
656
762
785
804
753
598
572
601
549
685
454
773
587
427
434
757
691
439
764
804
642
547
522
789
456
452
515
626
775
801
426
494
655
470
575
800
799
693
724
619
797
798
653
804
750
815
502
573
649
650
459
568
787
538
586
717
640
671
781
610
621
693
767
720
762
668
461
709
585
456
731
682
788
521
598
710
706
592
587
547
665
793
620
738
737
751
652
711
516
472
535
773
709
474
589
663
478
776
556
784
712
819
491
817
609
783
571
649
665
463
588
818
746
642
709
610
520
626
467
478
683
758
478
577
779
513
731
693
569
780
684
576
709
423
527
571
649
752
711
641
535
535
769
717
566
697
566
646
558
568
768
719
527
468
520
723
429
501
460
749
739
786
466
758
728
553
694
709
705
447
800
737
700
430
765
784
720
646
614
509
506
818
756
461
638
607
678
699
420
807
452
648
745
771
772
534
814
627
545
755
536
748
778
479
747
663
424
438
420
684
787
566
564
665
666
512
734
662
621
778
760
586
744
671
778
764
714
514
718
568
682
734
810
798
502
594
596
744
659
740
709
653
644
618
817
711
545
673
434
775
491
749
738
531
576
667
756
673
707
618
570
771
424
616
578
441
818
698
712
558
586
735
435
795
764
462
756
745
618
781
645
632
448
472
581
492
786
792
577
433
629
457
519
777
586
580
609
441
636
592
707
693
499
605
768
625
509
560
588
780
714
504
513
459
453
627
764
495
664
647
807
566
622
621
472
583
720
502
664
704
641
548
806
788
677
611
656
511
749
672
639
752
659
519
556
601
611
734
469
529
562
677
819
436
788
566
738
508
550
664
517
691
556
448
772
662
469
513
491
490
486
533
546
512
455
696
819
547
481
684
541
525
462
505
813
639
428
506
534
633
431
639
707
786
790
729
776
564
501
610
696
525
760
499
772
626
623
650
763
758
572
449
495
743
650
625
433
819
504
497
508
442
820
808
484
722
772
604
737
656
805
453
789
691
458
805
513
516
441
465
738
670
446
535
820
496
608
817
542
753
774
527
675
725
666
602
658
706
499
426
787
674
739
704
691
652
681
432
745
471
793
661
450
588
679
432
757
809
527
666
719
794
792
646
544
479
421
573
534
691
520
710
485
730
593
594
620
561
713
783
669
671
681
574
544
668
813
647
681
575
490
569
569
590
730
603
644
696
732
465
570
570
436
476
431
571
803
454
790
522
447
724
420
621
571
427
816
546
621
624
685
437
450
580
584
737
669
662
696
560
573
719
679
447
794
690
747
666
614
475
641
641
711
747
466
766
536
620
739
573
781
465
634
488
649
545
725
694
766
422
603
609
464
546
600
656
753
632
809
484
594
740
744
613
495
743
662
624
751
800
447
422
455
581
724
488
538
513
568
626
545
748
609
448
649
611
744
445
545
598
490
819
768
438
682
746
590
460
780
813
603
745
674
458
730
758
625
721
656
764
556
488
600
579
480
592
455
790
646
595
713
530
571
790
558
656
582
553
465
523
544
750
636
818
681
671
508
814
487
478
703
546
693
814
798
485
439
788
453
460
451
476
613
752
577
643
468
619
656
809
686
562
511
759
705
652
747
763
744
556
708
644
764
579
493
496
774
772
543
571
618
638
769
679
655
549
637
421
802
504
797
460
801
645
580
621
627
797
603
720
701
631
535
557
658
742
749
596
624
439
762
788
677
565
425
777
596
619
437
655
671
613
736
743
647
684
577
668
810
820
793
779
566
605
607
683
684
753
539
639
630
627
767
421
462
512
452
442
588
561
662
704
549
636
423
544
560
600
719
596
740
613
457
463
694
590
544
486
565
553
641
714
573
608
571
688
669
521
693
676
687
582
732
501
752
485
795
798
431
715
674
566
430
524
657
774
538
511
731
709
522
771
803
649
521
644
695
734
700
605
751
424
713
706
710
610
659
563
439
456
709
763
453
716
549
658
630
629
578
688
704
646
657
631
621
480
429
512
709
514
777
475
725
811
566
688
588
757
741
459
606
755
496
576
451
748
681
633
677
465
664
641
767
663
487
717
460
790
791
457
615
479
778
778
434
700
725
529
469
619
593
554
485
441
715
666
586
787
535
766
640
755
775
641
451
753
516
473
811
561
454
430
495
739
788
718
645
441
746
576
569
504
690
486
495
470
771
699
768
434
602
697
677
503
589
527
683
714
420
719
706
760
656
597
561
446
493
649
635
576
432
568
438
498
730
582
754
560
722
809
445
621
548
454
468
635
675
540
610
580
469
648
475
773
485
671
775
624
683
592
640
746
714
505
552
820
707
641
577
519
543
440
553
475
479
785
428
668
678
453
465
519
474
477
644
791
548
698
704
556
683
420
644
422
493
708
719
816
513
621
614
727
644
765
798
758
774
784
695
568
638
745
620
665
443
639
655
621
619
601
713
461
558
726
655
808
483
535
710
739
592
569
808
715
719
542
772
555
471
482
556
617
635
649
556
745
732
541
545
575
652
477
814
746
521
722
752
772
796
808
802
559
681
490
488
648
720
614
466
466
618
540
717
639
604
624
437
432
506
479
510
617
616
709
820
589
774
646
692
812
644
810
720
685
770
553
500
440
713
761
654
577
678
637
543
600
705
632
700
817
516
586
666
562
717
689
775
690
739
476
658
521
705
747
636
445
554
794
531
820
773
484
709
561
450
729
433
621
730
440
800
476
575
640
586
793
421
738
462
740
440
739
785
784
689
421
541
816
667
760
716
431
503
567
691
541
474
702
597
519
714
679
473
750
472
495
598
536
727
558
540
526
723
476
719
530
806
665
501
564
649
514
521
522
520
765
549
798
623
600
442
656
603
797
747
667
507
485
638
616
716
490
758
637
712
793
438
463
691
738
558
691
495
687
452
756
818
758
778
669
745
458
735
448
779
641
512
484
727
503
542
573
805
716
665
564
585
646
523
675
772
487
791
609
677
670
815
687
677
612
669
490
641
702
438
598
626
791
812
490
769
732
618
619
759
424
536
421
530
627
806
524
662
724
442
617
422
796
801
470
804
607
753
651
507
586
772
687
691
482
805
709
769
514
744
799
617
540
456
747
505
579
450
701
760
507
662
557
642
476
800
678
631
652
751
480
607
741
480
636
517
647
633
700
617
568
663
581
491
617
458
499
551
587
470
432
467
787
443
534
800
553
680
490
740
699
520
477
617
762
440
625
722
539
595
657
722
483
648
613
690
641
714
488
741
568
665
718
640
672
564
487
648
539
634
701
430
563
734
485
702
475
714
762
532
431
819
761
716
496
686
598
468
502
667
601
764
732
590
710
691
630
598
433
657
594
759
541
676
566
614
469
524
721
641
709
548
655
800
437
803
592
528
511
627
471
475
743
476
669
731
789
541
461
476
438
483
492
586
710
772
813
687
586
784
538
808
798
494
451
682
744
605
639
706
737
776
769
595
709
797
693
549
657
499
461
543
604
797
637
438
660
721
527
439
559
791
741
518
743
441
490
473
628
434
626
807
448
586
466
686
541
440
508
763
757
532
772
666
606
498
539
687
662
640
618
737
446
510
620
600
462
811
495
420
458
686
650
531
482
549
789
451
640
718
519
756
562
669
539
788
547
594
648
815
786
722
796
790
528
487
716
513
747
498
428
522
811
630
460
755
442
795
511
668
795
605
734
773
585
531
466
601
679
559
634
741
739
774
653
452
669
562
675
756
472
764
684
468
707
683
582
471
708
654
452
470
735
492
623
793
430
592
691
461
547
701
440
811
643
639
643
647
793
670
737
515
688
727
774
618
707
648
766
489
523
422
785
431
705
748
730
714
631
625
497
492
673
612
620
502
680
446
806
601
548
556
646
443
585
669
771
488
732
453
495
603
554
818
677
739
736
610
793
442
461
494
743
649
751
565
570
695
656
795
657
482
661
637
618
599
779
692
634
715
771
800
420
748
658
422
505
688
595
426
525
642
586
592
762
656
532
493
526
803
500
624
684
560
714
470
677
563
689
695
644
786
576
432
539
733
436
773
571
720
421
477
554
477
703
816
425
703
460
421
431
672
437
553
646
749
734
803
492
729
650
599
635
675
537
647
796
565
433
536
719
811
637
537
592
815
680
464
646
606
696
731
610
794
488
619
704
743
429
468
452
457
424
566
628
733
805
816
503
738
471
747
607
772
570
627
710
502
680
478
555
459
512
572
617
709
737
731
498
685
750
533
471
565
459
819
512
450
439
665
682
530
487
621
549
801
645
585
758
671
604
575
735
506
449
549
474
440
597
721
608
460
437
780
734
498
763
690
768
529
737
683
688
625
697
547
463
777
524
502
595
601
482
625
507
796
766
710
707
782
525
448
726
688
509
426
564
748
593
801
526
569
426
749
735
735
718
548
665
425
491
512
718
623
694
717
501
641
790
624
543
763
538
793
651
664
453
525
615
715
708
755
817
555
546
765
705
810
578
515
619
775
706
655
686
618
445
646
445
554
750
595
483
504
751
570
432
586
425
489
790
581
505
583
532
808
781
768
563
448
716
786
490
768
538
712
668
650
727
431
795
782
691
811
438
604
643
780
569
731
690
773
563
593
557
436
455
672
500
471
549
520
662
663
535
480
733
657
749
795
624
618
737
643
597
490
540
476
637
644
633
685
732
472
464
677
691
452
583
693
646
615
470
735
608
710
818
617
508
423
636
804
795
693
572
800
793
731
726
781
553
740
527
420
602
622
786
815
662
631
676
619
783
715
510
465
715
582
522
805
580
696
502
789
561
780
705
616
540
433
608
589
803
732
535
750
582
539
548
586
740
506
442
777
423
490
448
803
567
558
820
621
658
640
774
691
740
797
456
597
768
582
505
611
761
530
439
541
682
715
794
820
450
619
710
817
751
702
548
558
747
610
563
632
420
633
729
543
454
528
542
536
737
513
573
487
817
730
700
813
707
565
441
770
533
803
574
574
578
500
557
464
652
774
457
784
818
549
809
431
714
497
464
593
628
793
678
633
623
517
713
446
427
723
630
455
737
733
591
786
743
775
775
498
692
662
668
430
783
635
464
776
506
784
805
776
640
632
463
650
512
753
533
465
453
713
458
426
751
687
807
798
813
734
478
530
441
668
609
816
525
610
505
819
456
737
793
582
626
630
485
717
645
586
492
721
478
685
447
427
796
630
509
807
732
564
662
639
651
611
476
643
487
615
603
452
578
646
451
802
474
576
690
470
805
447
484
563
676
677
640
798
553
711
678
483
526
736
537
457
609
799
728
567
592
614
810
581
706
522
423
708
648
495
806
792
664
469
464
623
532
774
810
589
581
489
477
422
479
764
598
478
518
491
582
634
421
478
779
420
765
427
505
783
485
498
661
634
509
445
652
527
436
648
705
755
806
734
628
767
777
807
543
505
462
456
768
789
532
667
464
748
455
512
777
669
712
582
671
801
655
522
503
677
808
766
615
553
584
462
500
520
610
752
638
819
675
783
696
545
731
533
801
789
735
768
761
754
757
708
535
445
630
454
742
650
454
531
622
519
428
660
695
464
607
614
649
782
514
457
576
747
797
761
816
613
790
641
583
644
713
466
797
797
535
428
629
575
666
540
614
798
757
656
704
694
748
745
664
635
439
705
730
772
424
661
647
728
798
551
449
601
547
457
655
777
766
445
434
622
628
456
800
439
768
710
594
669
518
699
501
694
628
500
779
531
659
501
774
708
554
560
607
507
535
436
596
539
588
618
459
585
535
670
592
501
684
454
790
535
709
717
570
751
741
741
803
490
448
450
464
667
499
666
784
451
465
818
554
608
503
576
640
465
442
493
567
541
473
750
466
564
524
519
514
519
461
528
444
655
760
805
653
671
611
547
653
665
764
625
815
528
700
697
774
814
802
570
465
628
741
809
510
655
813
785
547
428
583
509
561
793
649
502
580
768
650
480
617
744
574
569
448
760
787
798
462
539
480
554
744
779
575
551
473
804
802
740
608
803
787
609
573
598
679
702
717
820
765
661
592
453
481
508
637
670
663
808
610
454
438
814
717
796
684
563
526
719
506
510
677
775
507
689
541
578
610
723
759
775
485
493
430
529
808
542
472
524
713
538
578
674
590
716
758
714
804
590
649
727
533
567
442
563
648
425
574
818
558
615
489
550
503
727
700
449
624
452
736
525
664
483
668
814
687
540
423
638
572
724
713
487
691
614
640
436
816
551
530
752
601
775
697
687
440
613
590
722
554
555
555
685
776
516
443
551
429
773
653
654
571
725
551
740
464
781
717
671
487
593
468
811
689
450
771
541
750
740
550
598
630
760
731
728
693
677
461
539
753
805
618
803
500
769
677
674
734
619
645
484
578
659
698
469
463
714
503
632
640
675
625
749
684
677
627
427
764
766
742
753
785
651
628
774
728
578
806
814
524
693
481
732
764
637
437
629
608
461
608
779
581
433
650
677
681
615
432
446
764
452
760
447
670
732
475
613
489
456
808
575
554
515
759
707
788
673
437
809
510
554
673
497
449
819
554
579
605
690
760
482
589
427
792
541
569
672
692
485
747
739
663
492
734
429
598
661
629
625
422
558
701
629
782
769
632
610
731
561
707
492
594
641
451
633
464
622
581
812
775
728
489
708
807
553
456
565
572
689
725
436
612
775
501
774
680
588
803
780
552
521
748
686
446
597
464
783
686
561
517
525
769
704
677
695
727
497
587
529
634
711
717
760
643
801
703
489
718
643
747
515
525
703
600
616
683
667
432
434
597
791
523
632
714
676
795
591
622
740
538
728
660
750
737
598
455
481
484
589
545
472
791
583
581
761
804
434
585
484
614
438
642
748
642
538
481
623
420
449
493
787
706
820
486
741
592
663
664
807
699
424
799
517
560
779
556
811
659
546
520
573
518
482
467
458
642
707
628
695
616
514
658
519
621
452
487
490
436
802
737
521
777
772
462
682
518
649
621
554
738
507
440
764
817
635
728
682
716
664
622
430
723
729
699
437
603
695
564
696
686
774
698
500
622
631
490
552
735
700
454
607
438
710
692
484
633
734
515
645
629
697
787
558
583
611
513
808
801
663
612
586
660
442
718
583
529
810
780
663
654
796
794
556
494
643
562
437
572
596
591
464
791
716
660
650
791
758
473
593
752
480
636
769
605
556
655
470
809
544
708
481
682
480
712
707
815
774
715
591
608
527
787
587
715
744
531
449
609
529
669
649
556
698
497
589
817
764
759
728
638
621
778
638
432
765
771
459
558
495
743
761
774
636
510
759
684
460
631
437
616
491
726
620
628
708
573
661
755
754
659
742
702
622
507
527
769
529
619
734
486
608
486
551
451
748
812
472
512
661
766
646
771
568
510
500
489
637
483
485
424
754
490
611
613
782
811
708
569
475
503
509
702
632
737
695
580
799
747
593
521
422
483
684
683
552
698
523
758
630
740
741
809
779
521
649
559
803
593
476
563
442
505
477
787
606
501
548
743
508
614
451
569
554
485
443
689
427
543
689
574
483
452
658
699
616
599
557
568
772
559
509
550
646
701
618
448
533
565
657
708
820
468
664
597
574
453
663
778
804
497
801
484
711
432
565
446
471
673
433
761
530
470
496
660
573
573
461
421
448
592
427
557
789
819
445
430
723
673
587
496
615
654
652
533
431
469
481
505
586
514
469
797
745
422
810
443
662
520
653
639
600
521
679
466
717
422
603
518
572
508
603
630
784
613
728
658
541
649
598
713
570
598
772
799
573
585
780
690
816
643
683
732
491
566
437
458
737
551
591
647
444
596
474
486
710
781
427
726
760
744
600
727
489
644
746
720
631
704
710
639
453
578
739
532
782
481
535
706
654
574
518
578
585
664
678
701
730
575
591
544
548
547
712
514
484
445
459
789
668
693
530
505
818
534
508
784
519
456
755
515
484
661
526
524
582
513
815
436
494
648
454
501
626
685
587
568
695
806
476
601
798
580
490
480
601
582
546
810
708
652
436
795
459
579
721
443
449
556
584
442
613
526
725
716
543
738
729
766
487
786
688
551
812
493
449
687
738
812
664
790
493
811
420
440
455
690
760
628
793
610
560
648
815
631
505
566
812
592
478
775
707
630
779
612
693
580
438
565
555
616
774
805
672
500
516
608
750
493
658
798
803
719
692
706
636
660
484
630
655
603
464
506
573
458
528
596
702
820
587
544
715
635
720
528
774
524
595
756
523
765
699
585
767
633
681
453
557
494
592
515
687
656
492
570
565
666
541
530
513
482
472
782
652
609
819
754
469
425
707
759
422
719
702
670
631
761
770
742
540
561
576
635
584
660
471
620
477
605
713
460
726
500
442
455
516
745
695
565
492
422
531
648
571
445
808
658
799
809
779
767
501
497
718
563
784
736
464
754
446
430
427
461
808
789
475
661
648
471
531
540
791
458
573
709
641
476
737
804
783
695
786
742
556
659
558
508
588
584
642
775
549
675
489
794
543
810
685
729
773
640
556
651
444
452
697
654
801
668
721
661
432
698
485
464
607
580
565
440
804
439
647
689
734
737
571
811
817
756
452
519
546
642
743
550
451
675
439
807
527
535
649
636
688
658
456
526
511
458
497
422
614
618
576
511
746
627
508
523
672
603
697
465
537
637
612
603
753
816
482
421
597
465
512
458
755
707
497
515
431
506
790
777
755
770
722
510
760
678
777
770
606
611
661
493
641
530
705
535
564
675
592
704
539
719
721
818
628
522
754
651
513
449
486
749
643
551
562
699
537
698
492
700
695
528
454
622
421
735
589
609
796
630
610
427
494
494
574
682
805
528
528
526
691
600
696
525
643
478
655
459
500
688
521
736
622
618
805
451
659
643
788
524
546
784
566
430
515
654
794
538
798
638
745
454
760
571
756
558
679
420
691
579
604
563
511
514
788
580
781
711
505
802
772
743
778
755
460
636
549
607
753
665
541
420
805
600
533
699
637
548
651
673
565
778
642
750
816
640
788
552
691
690
541
504
626
802
570
526
696
718
488
788
422
711
606
565
427
534
750
690
706
719
529
491
619
581
765
694
739
621
599
547
517
640
513
806
516
527
591
725
610
484
466
637
653
812
505
532
510
659
602
770
433
806
740
649
575
521
694
789
729
498
519
709
572
521
773
433
778
610
423
612
797
569
637
574
422
594
455
703
494
446
641
533
557
598
795
486
516
727
532
659
491
807
797
423
612
456
499
621
751
685
673
499
646
763
652
423
644
482
587
638
570
581
660
499
815
608
661
475
521
597
638
782
761
747
634
813
618
581
455
502
639
663
742
592
613
652
773
701
714
709
657
454
755
541
589
693
801
487
446
459
598
706
726
537
513
678
621
724
473
528
716
747
549
424
701
621
449
559
425
576
505
596
804
536
550
739
708
757
433
736
778
478
547
446
583
478
508
602
584
466
475
563
740
440
663
812
719
457
771
488
492
795
760
558
460
426
678
600
561
473
818
653
636
726
633
514
773
767
798
800
428
734
736
466
462
787
700
596
474
743
471
654
653
669
712
695
767
787
659
772
478
443
819
655
713
618
579
633
475
516
571
557
570
699
802
530
740
608
513
567
783
794
584
593
425
498
663
586
448
645
704
732
448
691
486
752
769
759
691
585
453
807
814
534
428
736
716
531
593
441
664
561
807
602
517
808
528
746
548
515
480
436
740
763
429
485
535
730
480
779
715
814
421
483
741
612
463
422
762
629
765
798
533
429
466
685
779
478
811
428
646
721
421
482
482
652
744
451
462
505
578
781
529
441
560
611
693
649
595
497
761
678
676
804
703
594
752
463
696
734
620
553
650
522
450
678
578
498
819
479
624
472
493
642
505
599
451
813
434
683
442
587
490
488
724
457
432
500
808
721
658
780
501
731
671
452
675
598
817
784
450
436
531
814
510
592
610
779
593
652
717
443
506
671
673
709
490
500
680
812
771
653
518
648
509
551
664
809
532
816
477
559
643
522
714
519
464
436
450
709
757
687
468
703
559
443
467
631
685
783
661
627
610
706
627
548
654
524
517
596
672
781
539
529
539
724
699
797
549
610
705
786
743
790
513
563
803
796
655
684
489
639
748
507
591
488
772
691
473
807
749
666
711
528
462
541
729
714
657
792
775
494
604
609
521
530
741
542
808
720
754
615
424
817
570
818
490
571
761
483
771
732
517
738
521
484
767
518
717
815
514
574
684
675
713
466
478
610
782
723
463
721
805
724
473
607
638
579
615
747
742
733
519
600
460
553
591
575
793
780
768
453
512
704
480
820
457
673
617
729
612
632
814
752
610
678
625
610
642
639
792
795
686
540
473
739
629
685
502
469
735
462
606
524
725
467
814
631
553
593
549
711
804
502
540
436
629
644
759
522
737
487
813
467
474
725
747
753
740
747
774
604
421
667
712
477
495
475
779
595
541
817
776
653
818
745
696
618
474
630
729
434
774
775
457
422
611
557
810
811
501
510
671
743
731
549
754
765
577
666
684
467
608
542
423
657
433
435
543
497
810
646
658
511
807
450
435
776
705
554
578
497
668
559
801
604
625
682
699
424
721
445
446
712
691
492
818
817
598
523
547
795
582
713
778
431
713
446
634
485
642
720
617
549
488
608
694
800
527
554
624
698
619
563
465
439
716
445
641
540
617
565
439
641
767
530
572
484
535
632
717
691
807
711
446
468
642
788
769
588
525
801
507
525
809
764
562
746
430
658
639
819
650
426
620
715
817
511
665
677
681
514
645
553
808
717
619
452
502
589
524
520
474
662
467
612
456
473
600
574
602
494
704
805
594
465
663
586
598
703
450
628
787
592
708
428
490
483
467
503
672
702
708
574
708
576
623
610
627
801
727
711
786
547
801
652
703
604
435
437
762
486
717
783
486
550
567
785
582
654
640
504
789
479
733
543
758
460
456
804
441
514
685
775
674
538
790
775
656
721
681
529
799
456
524
700
709
606
688
487
458
610
431
651
447
433
472
606
651
628
805
721
677
457
454
633
426
495
433
743
820
547
730
682
741
756
714
593
640
580
638
752
598
780
628
803
612
475
542
641
577
686
460
691
654
743
797
814
570
812
794
605
421
782
724
653
509
633
727
526
536
513
675
758
668
689
716
812
746
493
517
466
762
628
441
612
750
423
655
500
555
547
637
574
488
752
610
765
684
650
632
566
533
572
464
750
514
815
472
714
802
634
797
572
807
559
551
803
713
779
573
420
524
579
565
807
809
503
479
542
711
724
464
485
568
651
540
759
676
434
435
779
494
506
458
812
770
695
625
818
800
783
456
479
564
678
769
604
552
675
802
440
600
490
448
749
668
816
673
782
603
528
640
648
778
456
706
700
464
792
610
529
704
620
553
608
811
623
569
437
808
785
738
425
674
710
528
500
749
472
507
502
613
667
524
771
493
634
783
604
541
754
676
602
562
708
558
661
642
443
552
549
643
595
599
690
633
436
715
809
782
738
787
578
760
730
562
572
644
747
428
539
441
462
817
603
647
645
480
570
536
521
687
571
666
425
678
501
591
732
443
423
652
805
809
641
780
510
519
764
603
479
622
558
643
813
594
470
669
428
441
751
506
525
569
658
521
793
730
524
674
537
568
662
784
606
605
601
586
805
449
756
487
747
642
659
432
481
656
536
566
442
699
809
448
431
783
616
756
535
519
558
655
618
805
795
640
595
490
445
606
811
460
570
718
816
610
665
770
560
656
461
425
690
645
780
688
546
491
595
653
515
729
812
655
649
575
820
790
733
714
805
488
775
680
552
743
474
590
557
497
553
513
762
595
511
686
600
445
675
474
711
444
464
495
812
551
588
458
447
630
675
658
476
774
466
676
494
559
505
749
530
437
753
652
636
509
483
505
772
656
629
610
812
504
743
470
695
618
579
430
742
804
464
615
609
576
459
756
765
781
646
551
513
480
591
487
631
557
668
471
593
471
485
733
641
660
774
725
524
592
550
819
593
545
639
676
578
627
599
423
562
810
545
623
697
553
650
443
559
767
562
519
679
563
509
596
425
638
547
473
715
476
605
807
723
663
457
817
440
693
791
716
624
751
455
627
570
687
679
581
720
710
639
608
653
474
553
617
804
521
420
567
676
752
528
526
441
732
624
742
756
646
615
755
611
707
563
494
492
458
799
566
784
597
458
654
427
695
819
717
607
440
574
719
444
471
692
667
523
497
600
722
738
602
766
689
432
511
744
575
619
662
572
475
772
533
702
551
519
492
562
561
666
464
583
727
462
546
815
689
508
798
530
578
674
490
604
589
698
469
590
798
497
459
670
437
788
557
751
760
818
797
612
802
593
779
727
798
462
694
698
443
514
626
702
565
425
473
713
648
521
798
816
472
460
540
630
584
454
594
664
685
429
772
474
698
728
753
594
560
489
487
525
760
689
481
737
566
773
473
731
685
485
432
486
640
703
453
626
693
550
541
783
535
711
779
676
673
505
624
606
561
484
506
739
459
574
577
654
512
517
761
540
719
636
794
431
816
705
645
530
711
492
767
773
721
668
449
778
705
786
506
469
631
778
782
458
741
817
687
423
753
726
567
783
756
465
515
819
773
629
769
589
717
467
564
664
688
464
786
670
586
434
815
496
761
551
770
795
562
817
600
482
574
717
739
721
544
446
441
567
663
557
779
511
537
819
584
714
720
608
496
735
617
527
815
608
724
745
616
473
641
651
489
597
799
726
554
777
436
601
682
637
645
744
623
578
635
551
712
535
658
551
652
671
734
591
516
797
735
489
562
803
815
470
709
559
681
713
587
561
663
728
470
548
623
814
755
689
708
559
648
504
534
640
668
537
661
798
657
741
787
570
591
764
703
560
507
578
711
576
575
596
602
582
678
586
526
632
553
519
682
433
483
506
567
462
458
444
718
736
604
626
481
531
767
534
716
736
536
443
757
613
633
770
483
470
720
506
470
647
650
675
497
683
593
450
553
582
721
593
735
466
721
704
559
577
603
488
439
510
542
720
596
481
458
766
716
601
734
661
656
758
811
656
808
508
726
746
773
703
517
785
569
558
501
729
662
472
769
507
453
812
579
635
768
517
614
800
587
699
738
784
548
687
660
482
797
472
590
646
760
569
474
754
517
654
692
452
571
800
583
706
476
803
542
619
498
750
587
686
671
495
625
541
430
657
761
579
615
504
517
601
420
571
597
700
526
513
603
500
792
635
467
682
539
470
612
485
606
494
691
450
749
728
811
695
718
702
721
669
790
444
707
801
664
570
641
530
749
714
613
458
771
742
440
582
631
495
730
691
754
734
656
587
709
469
503
708
519
641
749
560
509
460
690
814
546
725
623
732
651
660
731
616
541
420
734
623
795
546
520
593
662
497
797
686
595
504
467
647
430
443
634
784
736
480
762
772
484
573
694
808
772
692
777
582
774
532
670
526
787
748
795
763
610
780
740
442
658
547
813
505
761
445
681
423
668
480
727
475
493
620
754
484
522
521
789
695
528
683
422
621
801
623
546
657
741
619
468
561
658
740
807
479
529
508
616
735
662
802
646
671
809
663
767
625
491
743
702
590
808
554
460
636
810
710
590
608
779
746
725
554
485
545
552
732
771
443
819
604
578
491
814
791
565
614
678
584
795
676
661
710
428
582
558
559
722
660
541
581
513
622
544
679
465
543
541
657
763
728
788
633
660
656
811
756
811
643
482
473
476
667
715
464
703
687
645
501
460
704
549
492
550
804
451
777
468
421
490
515
805
563
519
817
714
595
536
483
754
770
734
478
802
422
446
489
519
741
780
472
789
518
595
711
630
467
717
568
711
592
673
775
801
758
793
505
466
735
430
464
659
496
440
550
480
651
437
652
670
577
450
584
671
424
500
739
580
526
725
759
743
518
533
802
557
689
546
701
449
814
510
455
533
763
529
633
565
508
703
816
719
735
459
702
800
551
775
625
572
810
600
559
485
702
664
802
640
815
620
557
502
683
597
472
694
421
806
581
767
642
678
535
679
500
790
509
606
608
503
803
565
430
567
744
547
435
480
481
558
758
477
542
493
691
740
627
664
738
626
458
715
668
440
799
435
634
436
696
747
606
505
705
763
739
426
459
776
734
621
628
475
497
602
574
750
758
428
468
582
590
632
421
753
780
739
587
523
733
448
678
593
671
776
638
452
649
757
491
701
716
801
766
591
484
672
445
702
550
697
614
785
686
559
777
656
775
628
673
791
654
476
525
586
592
794
578
769
628
637
748
438
725
719
778
688
639
761
498
719
459
717
726
810
762
544
661
682
785
462
429
564
801
487
509
763
616
547
769
458
632
622
491
607
787
783
611
741
537
457
560
641
783
752
766
508
706
431
571
435
759
600
490
631
788
596
790
637
593
723
703
773
691
602
724
522
464
789
738
566
689
647
791
662
567
712
585
500
748
694
584
431
451
805
786
431
726
662
578
729
437
771
660
660
717
732
797
609
447
640
453
558
604
556
716
657
473
676
720
703
433
475
560
493
755
673
681
552
768
425
707
672
508
750
800
553
606
554
489
584
631
594
454
752
652
703
696
766
585
765
440
528
778
737
727
585
724
693
462
801
654
503
768
644
654
658
769
669
498
576
469
792
699
626
636
599
806
816
735
748
743
759
528
500
737
561
434
597
535
717
478
708
731
620
496
439
547
592
722
730
719
473
604
700
783
526
458
748
641
665
664
711
730
736
610
634
523
569
779
638
680
561
545
663
483
549
456
535
687
637
494
802
708
767
620
478
635
789
539
590
544
429
627
635
696
694
536
484
696
757
454
818
583
713
751
420
658
723
589
747
594
440
507
626
734
655
663
495
732
630
439
501
686
727
780
734
809
653
682
509
790
684
667
488
550
797
704
462
820
685
806
688
681
721
762
759
439
774
523
476
689
729
778
581
440
461
604
501
570
533
755
478
695
450
484
547
813
805
477
442
508
483
643
506
618
720
468
803
608
579
686
516
477
586
769
769
664
685
576
661
445
444
476
576
635
639
697
485
544
816
460
732
733
593
451
485
734
424
788
519
426
595
817
551
520
679
599
809
734
512
446
686
645
715
526
575
730
754
809
445
792
597
476
764
478
422
695
811
707
552
675
804
682
730
728
698
659
613
506
648
570
761
543
589
446
621
429
430
462
519
686
749
793
690
679
807
619
469
753
782
486
431
715
782
724
586
773
490
434
695
464
608
433
421
483
513
662
677
686
685
683
475
457
457
628
496
696
423
427
774
710
625
474
483
523
686
476
501
614
624
503
517
585
500
753
544
505
479
467
569
788
586
678
735
601
436
553
465
519
431
559
441
638
757
548
489
766
426
512
534
594
798
735
449
775
475
462
819
506
623
608
574
559
784
682
429
729
643
584
523
542
497
624
689
766
586
427
600
707
521
594
733
734
453
621
692
451
818
529
704
782
680
430
813
633
501
805
769
508
794
577
748
442
817
581
429
699
448
763
509
732
499
528
699
528
498
651
766
647
712
614
584
624
581
737
780
642
699
525
599
483
564
786
760
445
692
577
682
658
746
551
512
805
718
622
570
808
721
541
637
572
611
551
681
656
480
720
783
512
518
819
454
789
693
474
694
525
768
712
422
457
688
665
741
519
602
445
505
785
512
512
739
593
590
564
685
445
755
803
534
709
482
602
675
773
461
606
722
820
709
525
653
499
648
750
648
648
627
506
712
705
558
613
809
737
809
634
742
756
540
599
809
458
496
747
629
475
540
517
618
607
421
704
567
442
590
461
594
571
713
487
518
515
455
549
561
729
729
484
608
572
634
721
444
479
724
496
730
622
547
781
634
488
720
428
793
749
433
796
769
515
662
433
617
791
713
578
476
433
516
545
673
518
672
494
516
717
566
713
757
722
625
516
506
557
445
766
813
567
636
449
653
691
573
683
746
588
647
759
732
777
531
472
428
819
758
657
788
433
657
730
504
628
564
602
703
716
636
645
744
534
463
787
443
623
711
593
534
430
729
472
783
442
648
759
652
448
565
690
624
618
542
664
692
681
471
510
792
617
627
511
477
588
765
739
497
580
660
571
636
623
571
772
723
809
647
452
750
664
695
726
574
455
775
731
640
647
625
703
629
738
524
537
421
790
729
787
634
790
669
674
803
434
789
595
579
577
794
607
612
545
613
499
743
811
809
654
608
524
767
612
811
632
730
500
628
567
596
512
439
687
569
655
529
475
717
650
568
426
544
685
467
661
695
654
813
747
517
770
790
611
535
484
792
580
705
513
681
490
644
761
738
715
691
587
472
485
656
434
459
673
425
582
810
537
805
540
641
666
551
517
786
682
655
805
762
777
661
662
656
553
420
567
462
511
475
743
500
746
622
669
673
542
805
663
543
756
521
739
542
813
511
605
464
745
501
706
506
533
504
616
810
755
434
481
697
676
682
532
520
474
623
615
611
644
770
721
658
557
506
766
647
566
435
745
500
443
708
620
686
692
478
549
488
521
599
658
478
628
668
511
525
459
660
556
589
468
492
656
588
552
434
552
800
717
746
716
583
800
514
818
648
676
555
470
524
618
622
537
607
772
647
644
675
530
768
716
494
577
790
635
547
728
466
499
714
629
681
434
663
818
670
815
448
743
464
428
563
647
464
534
670
684
806
736
507
504
680
430
512
512
710
776
505
524
585
491
748
675
425
444
806
467
564
625
683
591
768
547
423
538
777
626
768
582
780
786
606
771
720
540
650
735
718
790
593
514
614
555
472
764
521
483
806
711
772
516
699
552
602
722
681
465
535
653
781
716
745
567
677
785
581
600
549
436
526
570
479
658
489
576
607
577
536
490
451
527
547
582
661
582
723
675
480
740
689
505
733
504
661
798
552
659
747
724
501
577
819
733
798
516
451
532
794
656
622
561
461
538
772
701
759
643
674
678
540
583
714
750
808
728
796
594
764
551
711
553
488
504
443
583
634
815
805
782
632
656
693
676
686
622
432
497
813
562
422
705
728
689
784
738
540
810
504
632
638
744
562
782
686
561
716
497
581
521
463
626
801
597
742
658
753
781
593
668
441
548
479
553
463
802
552
721
525
642
819
795
706
552
497
708
791
610
817
689
636
807
819
692
464
664
524
777
652
535
510
495
683
493
520
637
571
480
502
684
650
781
546
516
721
462
649
457
810
569
439
815
708
479
820
533
614
544
604
655
590
705
804
658
610
806
534
634
423
795
483
453
484
481
541
781
532
510
613
507
602
658
606
731
690
667
796
616
606
446
468
744
704
669
451
507
457
719
618
431
470
590
560
789
546
661
779
594
528
663
756
601
774
595
558
789
431
577
444
523
784
787
556
432
674
795
652
571
579
537
562
782
493
679
547
464
651
663
524
491
686
674
746
554
723
433
660
506
643
494
790
487
801
453
479
795
544
470
734
556
478
625
674
809
804
654
579
484
722
740
514
558
497
486
657
522
768
643
559
494
755
485
493
767
611
807
610
701
774
795
781
709
508
476
754
707
733
769
655
658
473
453
530
534
621
545
474
756
585
620
808
607
486
774
605
535
435
653
521
481
737
570
598
452
552
567
815
788
764
439
673
533
755
766
679
625
480
517
632
820
720
820
677
594
571
544
429
704
588
548
643
796
576
492
487
798
570
431
609
661
526
715
497
806
705
573
659
457
633
601
665
482
655
799
721
641
688
531
744
744
798
481
485
770
648
746
726
713
462
581
539
544
438
466
590
653
657
728
477
782
461
672
571
575
495
520
756
737
522
438
423
543
512
488
764
583
552
796
742
428
485
535
503
748
521
725
446
556
653
539
603
597
798
563
464
655
634
441
450
595
745
543
525
447
767
717
708
654
770
516
595
816
720
725
733
778
749
593
696
720
608
656
588
470
764
495
542
631
599
683
607
648
436
811
467
799
641
674
482
743
752
785
558
422
564
661
581
793
426
576
533
658
598
708
512
701
716
443
608
795
494
537
756
610
508
642
727
469
473
471
779
445
681
653
815
658
690
687
452
536
597
543
739
701
683
685
788
801
749
769
644
476
788
816
677
434
727
459
648
488
730
781
800
733
480
631
755
634
466
421
600
733
710
528
609
483
449
473
631
554
686
438
542
693
806
453
570
758
547
539
809
658
530
644
725
558
520
629
712
816
595
505
556
609
571
772
555
745
713
766
542
647
466
775
505
634
618
464
709
462
759
805
493
692
442
756
450
614
718
775
567
754
689
487
585
684
817
647
575
466
432
511
504
546
559
680
805
676
775
777
764
685
759
602
523
481
731
781
424
488
599
477
546
428
648
816
472
447
584
751
456
811
505
494
548
668
491
803
567
548
653
625
791
511
594
455
470
736
700
724
448
818
727
494
478
453
508
422
801
472
737
750
778
479
451
482
786
756
453
493
458
535
806
600
687
470
674
740
683
761
722
775
628
451
708
761
490
639
777
564
543
495
464
433
752
737
739
661
792
801
798
764
510
773
514
793
514
691
610
780
436
638
503
662
639
422
590
635
666
541
730
572
750
672
483
513
515
512
437
531
639
700
724
641
537
534
668
814
711
756
749
571
642
543
787
715
496
527
808
633
466
638
650
554
513
433
785
528
477
762
550
625
545
730
683
507
670
472
699
569
583
759
722
529
757
473
526
612
549
794
714
816
436
575
621
782
657
513
584
491
449
518
780
610
471
539
728
740
703
645
730
501
427
748
792
732
538
705
751
463
750
570
533
670
565
545
513
810
693
470
776
776
795
484
421
452
450
329
437
406
339
398
355
472
326
409
434
490
451
490
493
442
303
366
464
372
397
430
347
481
308
422
444
300
465
325
378
469
351
500
333
324
371
496
331
318
498
442
371
411
422
376
493
313
470
310
330
473
490
300
317
416
382
498
337
331
336
399
374
366
380
489
307
418
469
302
431
326
432
478
377
417
398
395
447
462
368
381
409
402
351
310
319
322
378
455
490
471
365
465
475
383
357
343
463
437
305
363
449
491
319
374
355
339
406
402
303
387
500
401
457
427
308
457
408
396
336
337
346
459
312
380
405
361
321
306
428
397
358
395
424
374
332
346
423
315
447
457
403
451
405
461
326
424
484
449
448
301
476
357
355
323
370
315
420
328
417
458
323
379
455
429
423
315
318
443
486
461
449
372
495
422
450
453
328
325
493
427
436
366
354
323
364
363
361
434
496
403
404
389
491
357
456
411
480
403
360
413
379
427
413
338
493
383
305
300
443
331
380
352
398
390
358
400
348
321
371
457
337
324
499
348
375
418
325
441
380
391
375
482
419
497
448
436
456
351
409
355
371
336
317
349
435
326
496
458
461
417
365
430
362
351
474
397
377
338
383
471
453
489
481
470
381
459
359
467
367
412
357
393
352
371
433
469
448
483
363
320
321
361
427
429
496
304
487
444
360
308
404
491
461
441
302
328
434
319
464
326
423
463
385
375
304
311
461
301
311
436
469
386
425
435
491
305
446
461
482
352
463
324
489
375
386
479
336
403
449
400
471
447
470
427
479
364
334
355
477
414
325
427
433
456
341
498
485
378
436
388
401
307
487
310
492
416
379
360
316
329
472
418
429
377
367
369
367
348
485
307
437
434
417
309
386
433
476
456
483
415
369
352
336
416
326
471
316
366
394
488
334
348
361
351
445
386
340
484
357
424
380
445
360
358
365
330
354
478
482
474
355
357
454
448
430
415
325
421
310
369
438
311
409
305
495
439
368
303
349
487
343
487
423
426
377
363
333
372
385
341
428
428
379
388
404
450
368
315
382
341
339
351
413
358
313
420
340
314
392
481
360
331
406
479
438
391
406
429
320
369
461
444
319
365
407
441
452
404
378
399
371
422
306
395
412
447
495
383
396
479
330
394
480
426
494
447
307
406
495
377
468
332
357
386
326
406
380
351
345
422
409
450
369
314
500
333
366
331
311
491
448
498
348
364
389
369
383
456
318
391
301
369
492
310
388
363
404
337
468
352
446
374
423
398
406
337
431
470
391
379
308
486
385
446
432
318
346
498
485
463
339
394
488
360
313
352
392
394
338
369
485
361
462
337
323
340
301
441
464
366
487
378
454
347
398
428
301
320
379
349
318
493
463
405
392
321
420
352
307
423
373
415
495
304
340
336
434
424
440
358
323
411
384
427
374
389
424
384
316
444
305
329
383
485
481
411
324
419
371
453
437
373
312
344
440
499
442
491
369
308
382
329
445
407
403
302
497
498
327
383
429
458
340
354
306
332
420
488
492
409
387
375
307
377
404
460
453
402
315
306
459
391
354
366
312
388
392
315
384
487
381
303
372
464
329
393
427
343
317
340
434
382
332
363
463
411
348
393
349
382
417
479
458
308
434
377
328
396
494
342
338
443
380
334
452
493
374
382
314
344
395
427
352
339
380
349
349
448
300
322
452
455
373
477
366
405
460
390
478
354
385
393
388
474
402
483
417
497
324
448
365
462
384
379
450
303
426
439
496
480
477
465
396
484
488
349
381
375
487
381
420
386
394
349
494
465
408
495
344
305
472
495
496
390
400
456
401
469
474
464
324
390
367
341
409
355
348
313
407
469
316
357
477
337
497
305
396
333
384
326
441
334
304
347
453
338
301
397
338
434
379
498
363
360
454
306
381
465
468
307
351
480
428
444
398
443
477
415
323
328
376
388
363
345
467
475
322
468
321
413
330
325
466
308
385
419
327
366
457
423
434
378
479
342
471
418
426
344
382
342
447
397
317
436
312
315
430
351
414
345
420
362
414
353
389
406
500
424
318
392
366
476
488
386
351
307
422
457
432
306
334
374
338
335
441
329
384
308
310
304
478
308
354
476
315
300
384
430
375
395
417
439
328
300
314
346
418
329
348
325
405
377
435
333
333
408
393
497
302
353
311
308
364
429
487
323
337
362
305
391
413
424
414
354
390
458
360
328
401
487
483
485
365
309
381
457
450
303
380
461
355
424
351
349
408
340
444
457
327
398
300
391
390
332
431
337
496
373
365
400
436
460
311
484
370
362
369
367
447
403
363
373
363
480
471
347
449
328
319
416
413
494
428
355
369
410
366
493
386
420
364
480
386
491
316
372
305
419
366
367
352
348
442
311
355
404
379
402
392
313
387
302
422
445
306
442
328
356
488
332
376
492
363
378
383
450
385
406
471
389
463
371
427
405
377
324
372
350
370
382
441
463
340
365
309
381
314
460
438
493
431
430
421
468
382
401
390
342
423
458
335
376
497
364
499
335
407
457
426
301
387
499
375
388
304
312
434
424
459
364
426
434
456
358
498
367
312
391
320
362
335
334
397
471
361
446
429
323
312
366
343
364
400
324
301
421
326
368
432
337
405
316
392
379
500
341
439
455
306
484
352
339
358
345
321
466
326
455
453
441
409
405
307
491
438
489
403
481
422
423
438
304
477
364
341
462
441
490
427
322
374
395
394
437
416
374
420
453
301
323
403
479
492
415
493
490
429
471
454
315
420
373
414
351
306
392
433
368
467
341
430
436
458
383
332
488
416
352
407
430
356
410
400
371
368
380
440
350
447
472
384
333
356
498
416
498
464
489
351
468
337
443
364
453
420
434
393
383
481
489
359
447
388
327
384
426
436
433
475
364
469
487
368
358
405
332
473
399
485
382
372
359
366
434
493
344
311
367
484
499
313
454
445
409
444
330
463
402
392
481
425
412
380
395
303
483
478
330
498
471
327
398
319
326
391
376
395
457
494
435
447
377
399
359
304
471
438
457
394
399
402
433
373
343
351
465
364
385
344
313
369
407
478
334
418
418
361
427
377
469
394
470
344
496
344
301
458
387
430
383
492
429
386
394
356
323
308
416
302
350
376
465
497
470
430
406
471
381
473
363
356
328
377
480
301
385
344
401
305
453
439
473
311
367
321
459
410
473
420
494
367
453
473
319
442
385
469
300
444
417
356
403
329
304
484
459
438
492
497
500
409
403
326
397
461
323
370
325
454
373
481
319
423
493
339
327
432
356
431
373
376
391
320
422
417
404
437
374
300
488
487
354
318
348
465
450
445
399
303
363
467
418
372
432
437
445
465
331
489
426
363
384
395
473
458
315
402
309
378
476
339
370
424
344
376
474
417
474
477
310
370
490
466
477
354
312
313
312
396
364
337
415
410
328
455
373
488
361
372
481
462
491
383
469
401
423
368
318
310
444
378
345
351
409
313
356
386
455
450
442
357
403
329
308
447
364
329
411
418
380
478
427
326
376
454
431
494
477
350
476
317
357
399
400
361
411
485
375
390
364
441
436
424
350
354
362
394
333
386
326
304
335
440
394
482
368
489
422
341
386
325
319
482
321
321
379
390
377
458
484
335
404
499
498
335
372
462
315
483
325
355
331
418
344
307
468
318
385
347
351
427
343
340
449
300
417
480
341
331
446
369
349
312
370
376
449
365
356
321
420
443
379
335
349
358
416
335
354
335
376
328
364
320
318
491
462
402
446
376
352
412
390
446
433
335
359
355
440
330
335
444
422
342
347
393
393
432
459
301
409
340
373
311
358
328
330
440
400
484
399
405
481
350
405
489
439
378
375
385
445
406
376
339
361
356
328
444
334
427
318
395
354
411
441
321
416
360
373
446
321
334
380
367
460
324
497
491
300
441
366
393
423
332
435
436
433
384
367
390
460
445
320
496
448
392
483
415
312
450
396
408
383
481
329
407
484
308
498
465
487
356
409
483
340
322
375
387
403
441
482
324
470
433
454
322
429
341
485
435
490
342
328
315
371
459
357
430
321
422
318
496
497
463
375
371
496
365
407
395
344
354
495
353
458
381
314
423
326
416
376
440
304
437
376
415
477
361
389
338
422
408
485
397
430
329
333
350
351
483
489
461
374
484
451
428
348
455
328
438
337
363
324
448
344
441
496
389
372
416
403
464
477
411
459
406
393
493
449
337
384
374
444
452
412
393
390
345
446
403
436
398
317
390
444
415
316
382
499
445
386
328
397
403
376
483
395
478
470
445
303
365
376
469
496
312
340
446
447
415
401
452
316
349
349
396
390
468
301
494
487
312
427
417
380
452
484
351
379
412
497
340
328
338
385
318
466
326
484
356
463
437
497
316
411
416
314
382
472
423
439
486
359
364
304
304
407
404
440
460
303
487
439
491
342
396
349
500
444
369
393
363
427
449
333
355
442
379
348
422
346
364
370
305
454
434
347
457
486
334
441
463
479
421
477
490
463
388
323
443
411
326
443
403
374
431
497
490
433
410
395
314
377
306
463
485
362
406
330
329
467
355
348
402
422
442
492
323
322
453
402
384
345
495
447
414
462
440
374
316
371
304
448
338
333
365
494
458
329
466
332
401
472
304
366
388
395
388
310
459
500
311
369
342
429
496
418
438
407
440
398
384
419
479
440
448
499
305
369
341
321
459
310
377
489
354
309
405
304
361
354
466
316
410
339
316
331
329
409
448
454
464
442
419
371
467
318
416
318
415
396
472
337
362
408
475
370
357
385
475
463
363
487
426
391
337
320
405
499
432
397
475
346
380
444
302
466
320
368
420
460
389
393
448
477
474
479
376
486
461
459
452
460
339
382
364
310
381
474
350
470
333
398
420
381
332
324
459
479
379
324
474
459
446
302
449
312
352
436
470
485
457
493
464
336
396
325
373
461
364
444
307
446
362
468
304
372
432
448
492
380
427
481
451
484
309
494
391
416
334
375
350
465
300
316
491
382
385
340
359
422
467
431
379
392
499
490
454
341
383
313
427
378
316
383
362
428
460
365
466
485
393
425
466
392
417
315
393
475
356
354
331
479
480
437
330
485
383
454
431
367
304
342
413
465
398
373
361
428
365
389
425
372
435
412
417
337
323
460
369
345
475
384
315
439
451
356
422
393
416
411
397
316
330
406
415
403
450
471
465
406
423
455
330
324
379
362
308
358
390
442
368
339
315
459
350
462
450
491
375
463
466
477
368
431
318
333
427
419
365
402
400
482
431
454
314
469
376
412
349
495
321
360
481
450
363
314
321
314
330
346
340
428
314
407
406
347
377
473
475
486
302
409
308
326
325
415
403
301
316
355
303
417
419
365
335
401
444
431
471
469
316
373
311
325
467
324
500
418
452
425
334
353
424
421
489
369
443
428
340
437
419
455
450
334
418
436
373
444
463
434
444
432
333
480
394
337
349
316
332
421
338
332
444
380
315
398
385
346
402
323
434
352
362
485
375
306
457
339
325
365
368
441
414
474
308
377
414
489
412
333
447
373
494
395
333
460
433
480
323
369
304
487
404
443
452
338
391
363
314
406
424
451
479
374
498
427
419
472
431
471
322
460
430
471
433
488
388
393
430
422
438
467
414
477
351
370
322
471
331
328
341
394
459
408
335
316
436
342
364
320
487
322
377
384
309
393
417
350
392
408
473
377
343
302
398
480
468
477
476
352
364
354
398
419
474
307
311
483
480
317
378
385
423
333
492
390
366
334
430
434
347
478
324
463
459
324
346
425
379
444
312
455
448
457
339
416
459
369
452
336
387
324
370
415
324
406
453
303
456
493
403
325
325
438
323
434
411
475
411
474
433
456
342
308
491
365
363
384
376
373
371
421
317
311
355
407
477
441
464
304
301
336
465
366
399
441
374
479
352
443
364
327
402
419
486
485
360
369
347
391
435
365
476
336
343
459
309
404
309
382
447
393
338
486
396
358
395
476
344
430
302
429
328
363
349
334
312
396
396
379
350
426
402
339
402
478
418
459
374
482
499
435
485
324
382
468
462
410
338
412
363
344
405
495
433
371
400
470
316
427
419
337
408
459
416
310
323
324
391
340
421
452
354
388
421
401
357
330
398
371
362
463
427
347
362
324
332
393
376
489
475
434
449
494
338
442
421
465
322
440
345
328
381
468
323
467
353
329
490
339
321
308
360
476
364
500
325
480
354
445
444
481
300
476
361
378
440
328
466
303
490
467
481
447
324
397
367
335
329
326
405
380
346
367
307
337
400
377
473
412
315
443
312
399
323
301
361
437
356
424
426
461
425
385
403
344
403
394
362
384
338
309
407
393
425
426
315
363
484
320
338
413
408
378
356
342
418
487
490
420
377
459
336
420
329
423
338
382
455
480
424
312
364
469
302
460
493
437
315
440
460
447
329
381
461
423
484
305
356
416
499
483
356
498
490
398
439
475
425
433
360
488
352
344
317
380
450
478
493
460
320
412
411
491
397
373
464
401
479
311
309
416
314
381
422
355
356
480
454
361
345
385
415
363
404
496
333
351
315
489
395
329
315
471
445
497
438
369
478
335
495
422
426
385
358
389
347
469
469
422
309
319
336
481
451
364
329
374
465
456
352
384
359
420
432
332
441
445
459
423
499
406
309
377
357
375
314
407
363
417
419
360
339
367
377
338
482
335
443
423
425
402
476
428
327
386
492
373
346
430
415
379
407
342
396
312
459
317
353
342
340
439
330
481
333
453
422
363
490
472
455
455
472
490
424
498
415
312
390
496
394
320
416
327
330
373
396
351
440
498
400
328
301
309
436
492
490
380
349
403
485
360
339
378
306
350
361
489
395
383
350
313
357
422
305
414
433
306
309
331
439
440
413
368
362
419
334
318
410
468
410
427
364
409
410
463
407
373
363
355
405
500
414
316
421
422
400
398
316
469
444
407
494
368
349
471
444
343
402
394
430
434
440
309
489
451
382
445
423
378
447
395
420
340
301
338
454
439
314
317
359
432
469
425
497
490
398
452
474
426
431
424
357
365
420
487
354
344
450
476
459
453
434
478
438
305
316
371
393
349
438
342
357
440
440
341
486
411
448
486
353
463
426
394
490
313
307
462
493
394
437
462
314
399
360
470
331
346
306
331
324
423
447
339
402
477
321
447
369
460
421
320
307
476
473
454
436
317
463
438
308
461
373
489
324
349
410
349
416
348
482
310
378
387
476
478
319
435
383
495
350
400
446
491
466
306
472
395
368
370
437
351
494
302
393
349
342
481
357
372
376
384
381
393
473
490
415
447
338
324
492
483
365
305
338
344
463
345
386
454
487
392
468
379
388
301
453
347
426
452
375
422
370
326
500
445
419
455
418
457
369
331
331
434
389
469
429
320
371
372
360
309
300
458
335
494
358
316
328
450
378
495
403
412
384
380
466
377
375
332
449
311
320
469
311
441
346
472
346
391
465
395
304
455
434
485
365
499
323
432
326
485
375
318
488
426
463
372
320
484
418
478
372
459
417
476
310
399
435
393
396
445
351
393
339
361
442
368
300
412
307
321
380
470
309
324
371
409
400
464
309
441
403
346
386
458
456
309
307
307
319
476
496
400
490
457
369
324
400
326
475
471
479
466
353
334
464
436
311
445
346
365
466
446
399
307
410
486
424
387
337
361
373
482
404
445
483
385
459
493
310
395
495
345
420
331
332
443
452
381
350
332
481
482
312
359
361
415
404
460
342
464
402
406
496
356
414
365
345
329
487
333
477
387
423
469
384
454
330
441
350
349
306
302
445
356
453
431
372
416
343
483
376
370
396
340
331
330
376
350
456
449
462
385
445
394
483
318
488
433
317
358
380
339
370
437
497
339
483
397
483
350
330
372
424
484
483
326
307
433
346
432
423
447
353
485
316
405
454
333
428
332
476
494
332
345
427
364
432
362
486
445
461
497
307
308
417
400
443
395
327
338
366
500
450
488
443
446
376
469
387
465
344
441
374
393
361
326
379
473
457
337
407
352
492
405
307
357
352
498
423
467
335
328
304
356
453
490
338
304
437
472
469
366
459
437
368
318
354
309
342
344
494
412
304
500
393
379
309
477
488
354
357
361
380
488
445
398
427
387
408
408
458
461
499
474
399
467
373
309
468
336
346
403
435
438
431
350
475
494
424
382
363
401
429
379
405
306
377
326
477
382
331
493
476
382
367
369
357
476
305
383
401
437
311
337
480
312
397
314
360
308
340
357
441
374
469
415
387
381
489
349
433
308
460
486
310
308
302
339
334
402
355
373
432
446
471
486
365
478
305
363
315
325
454
422
369
368
436
393
495
314
356
498
436
436
355
345
427
494
357
361
313
370
320
415
438
303
477
400
435
379
327
492
429
483
399
440
412
374
335
391
408
303
388
394
363
440
484
496
482
359
320
384
370
407
326
419
380
395
350
364
451
405
342
480
346
449
466
336
408
475
324
383
348
397
423
334
415
309
486
476
471
455
373
348
368
500
309
330
475
464
463
302
338
368
371
444
320
404
374
409
395
323
394
418
418
330
367
415
394
469
453
448
462
458
411
485
384
324
425
392
373
384
366
428
481
374
331
496
404
415
432
497
458
381
350
417
359
321
451
427
301
487
486
413
430
490
362
411
422
421
481
379
483
442
346
392
396
333
319
489
306
400
396
335
345
437
466
462
416
412
363
400
420
456
397
440
471
481
329
361
351
492
491
346
301
380
333
475
460
404
328
416
405
494
469
483
365
380
431
300
414
306
363
406
461
307
407
399
380
496
423
451
397
337
453
497
332
301
381
365
361
336
439
304
309
393
499
473
386
474
478
437
350
362
369
419
408
384
479
363
500
300
310
487
340
424
352
354
412
336
355
496
458
395
493
312
382
458
368
491
483
406
348
396
346
475
364
380
368
419
496
460
480
307
369
452
374
439
429
372
434
469
389
407
307
327
447
355
369
344
335
377
427
460
496
422
307
364
494
469
416
306
434
483
317
497
402
500
375
463
430
483
424
475
397
420
410
318
400
305
328
385
459
353
473
407
466
499
305
462
320
432
456
487
468
327
404
421
499
304
426
453
473
384
405
322
312
491
415
433
404
364
475
460
377
479
497
312
472
300
309
436
324
319
367
418
429
364
495
389
320
336
458
426
393
328
377
379
472
316
391
454
405
399
363
460
373
472
420
327
401
475
439
386
413
427
425
467
343
339
398
329
374
439
332
455
403
435
382
341
331
385
472
404
310
364
353
445
347
371
392
329
354
500
425
309
315
487
446
384
373
376
482
432
361
472
306
326
334
365
480
305
333
465
394
455
483
480
400
344
421
358
358
307
473
417
484
490
351
383
465
343
442
488
392
373
469
373
388
445
397
412
312
422
343
489
485
435
370
399
427
493
393
466
434
495
301
452
448
370
375
453
443
481
302
449
354
318
328
423
406
309
461
407
377
496
391
436
374
413
462
381
333
419
337
450
412
441
342
302
421
483
345
359
340
427
346
432
424
352
476
429
490
335
462
450
445
403
346
457
358
387
318
449
477
317
301
301
486
393
376
365
429
467
324
412
332
454
362
496
424
446
321
368
411
443
436
384
427
417
476
436
405
344
490
310
489
423
437
371
496
349
341
479
499
301
346
449
337
462
473
436
431
447
326
347
375
448
463
316
493
451
449
306
431
329
306
408
473
310
391
474
391
389
480
357
481
470
417
420
489
481
322
499
453
302
437
472
381
319
348
375
489
300
376
409
500
333
451
485
481
462
327
321
478
364
336
444
407
335
340
387
421
457
455
300
449
360
473
480
329
331
466
454
301
363
485
432
424
490
357
479
367
401
456
473
415
417
370
450
435
306
368
463
338
306
383
356
441
304
482
382
305
385
331
307
329
301
388
462
341
492
493
381
385
335
442
368
461
472
327
407
476
309
471
326
462
363
494
422
375
462
335
331
451
382
443
378
388
433
438
469
455
418
471
328
446
436
477
482
457
384
427
325
368
500
348
479
353
480
359
441
367
353
301
431
461
310
500
370
435
468
370
488
377
479
430
452
328
413
479
354
467
328
347
396
378
483
452
468
466
429
469
356
347
304
307
327
431
383
490
356
478
421
484
341
462
315
460
463
448
473
448
396
362
488
388
454
442
322
341
456
374
411
372
425
347
357
420
352
316
491
401
387
441
422
366
314
474
431
441
499
481
436
308
369
393
429
325
489
347
409
363
459
426
357
354
400
379
394
378
383
348
405
458
327
375
398
495
408
395
418
378
300
342
476
458
495
469
339
495
317
498
465
411
428
485
440
451
362
406
356
387
312
412
349
376
400
321
407
392
409
486
313
445
408
370
473
442
480
473
490
416
401
311
409
451
452
378
380
361
476
412
379
464
437
426
317
445
401
424
394
353
375
412
406
327
424
421
336
493
431
489
309
347
365
470
463
434
447
403
463
348
336
407
420
345
450
341
460
381
374
491
493
329
496
440
473
329
455
354
442
353
427
453
397
486
437
434
306
431
326
325
496
481
393
330
450
451
404
491
465
402
410
450
358
379
317
344
311
420
379
401
345
343
434
375
381
332
364
313
487
341
453
437
429
471
472
397
447
455
381
300
471
479
303
468
392
485
437
480
308
348
367
353
396
479
330
335
370
319
308
367
423
376
471
320
466
396
360
335
497
308
483
360
404
351
430
400
342
323
369
471
448
351
402
394
438
430
472
492
311
400
323
388
452
325
370
450
489
321
354
316
491
434
469
302
407
381
436
357
401
414
377
466
307
425
446
402
414
470
363
427
326
435
355
476
340
493
433
365
324
353
463
484
391
355
328
386
301
313
354
458
482
318
325
354
348
340
498
486
394
336
377
342
413
412
427
306
478
460
408
485
369
450
367
415
385
459
396
347
373
318
364
488
485
306
450
401
388
423
407
458
366
358
379
453
321
404
392
416
376
427
425
421
307
300
405
440
364
492
340
300
352
305
496
459
349
443
499
496
318
329
379
323
451
361
389
470
494
352
330
349
371
479
477
460
345
422
339
388
488
430
413
459
319
307
319
313
339
477
341
412
408
380
482
372
328
437
361
487
390
499
354
474
313
324
396
478
382
477
465
341
314
347
310
445
448
441
381
380
369
453
448
493
500
347
334
374
435
428
448
461
461
494
415
340
317
320
311
371
340
397
450
419
385
496
442
335
326
389
482
430
411
379
479
386
336
450
375
481
373
350
327
386
413
393
465
327
301
457
421
339
349
333
358
318
312
336
328
490
468
352
329
329
392
419
312
416
393
338
436
388
448
306
467
320
433
336
466
327
483
436
320
357
474
418
459
385
315
391
389
459
448
330
460
300
477
429
367
389
331
308
399
496
308
301
301
498
385
321
412
310
316
408
440
472
403
346
469
439
479
431
414
384
379
368
372
313
333
332
315
450
355
393
377
432
320
500
301
452
375
500
346
438
432
353
380
377
382
318
485
482
442
494
378
420
417
383
324
350
391
434
449
422
394
326
355
421
391
420
346
470
498
466
438
498
330
322
368
413
405
407
490
408
319
490
493
406
449
456
403
399
374
368
324
438
492
405
467
325
478
391
393
304
483
331
403
440
408
414
403
351
349
485
355
349
351
381
491
454
315
458
303
413
389
393
471
463
368
351
334
422
347
486
304
327
387
335
442
392
402
472
424
494
319
370
422
477
477
405
302
484
369
330
329
355
375
413
473
350
429
333
384
401
417
308
467
380
387
482
315
364
470
312
469
366
394
489
417
475
455
364
321
336
305
363
301
402
362
454
365
353
414
496
483
411
453
476
363
316
499
426
441
336
372
425
357
373
363
308
350
327
390
312
399
472
493
368
442
444
400
458
403
456
485
376
397
366
394
343
397
353
322
331
322
443
402
302
359
493
382
326
356
389
361
468
492
300
319
452
416
484
383
488
345
461
444
300
476
398
384
420
367
351
451
380
453
478
320
340
395
487
363
491
361
352
317
307
329
398
387
489
444
333
406
449
411
359
410
460
499
433
332
390
484
306
353
495
453
307
326
469
365
456
486
472
437
349
305
442
435
304
373
485
427
468
307
470
305
444
312
354
406
449
325
364
354
379
475
318
431
399
493
459
306
351
386
314
390
311
479
480
420
312
493
399
341
365
397
353
461
305
492
388
394
463
329
392
441
323
464
418
424
303
433
455
397
485
471
395
392
409
489
366
483
473
479
403
396
413
325
480
448
333
476
319
485
406
437
300
451
310
310
326
316
362
384
325
468
395
417
304
476
493
348
409
473
460
352
397
455
343
431
439
358
489
462
408
365
417
343
452
395
449
312
413
394
462
321
407
469
362
483
440
442
321
437
332
320
391
427
465
428
338
383
358
405
330
465
482
403
430
391
463
328
404
363
305
307
314
337
405
400
434
413
421
473
339
471
371
427
358
344
339
329
422
350
462
441
427
431
436
383
327
475
458
305
358
399
479
341
489
455
434
485
491
354
363
306
342
469
434
409
319
386
447
443
304
417
328
441
458
467
407
410
491
319
427
474
422
381
342
331
459
453
425
415
326
413
332
479
389
333
411
429
391
335
323
419
376
470
473
421
454
374
440
343
469
373
416
383
440
437
404
489
311
326
420
441
320
373
393
351
352
375
310
457
364
301
302
315
401
342
333
350
333
367
308
496
384
419
429
371
342
433
431
483
327
310
376
474
374
360
402
432
472
454
472
374
310
493
478
429
311
373
380
407
468
380
346
309
410
452
452
383
443
453
377
458
447
489
411
494
440
310
491
324
487
463
318
467
316
416
488
419
349
418
328
381
399
462
378
348
397
375
498
399
335
462
467
331
332
458
317
309
405
339
387
310
478
480
442
399
308
459
370
420
406
485
377
369
389
468
452
370
459
415
469
457
383
381
500
470
466
492
355
333
330
465
333
423
484
410
457
487
301
304
448
494
418
362
495
415
414
377
384
411
403
445
493
433
305
489
446
334
319
452
463
408
447
375
341
447
379
449
411
394
494
387
374
426
402
435
336
334
394
465
498
355
434
495
471
413
464
385
426
370
439
394
409
383
485
462
449
412
385
334
352
330
383
366
315
313
401
483
458
457
365
400
476
411
399
453
309
472
389
337
379
409
384
377
356
360
432
440
348
411
474
466
446
428
333
347
347
436
368
409
408
430
395
394
307
474
496
358
452
496
461
484
459
412
333
321
358
388
477
380
329
463
417
371
363
406
399
377
374
427
409
373
322
447
432
425
401
346
427
347
300
415
475
469
424
329
353
361
380
465
356
434
496
448
330
485
364
481
363
482
478
331
368
339
440
398
497
473
439
400
380
371
491
423
416
391
355
351
424
451
447
343
361
373
438
495
359
472
445
354
334
316
380
405
419
323
421
326
368
313
343
336
386
328
449
310
421
378
469
372
330
314
313
454
445
314
481
482
356
314
488
344
498
332
487
400
347
323
399
321
403
433
446
389
411
372
361
436
495
322
348
402
316
500
320
466
424
464
342
391
400
453
423
306
380
340
399
351
441
334
421
466
350
409
462
486
427
474
315
461
407
401
487
485
499
375
309
325
346
448
315
483
370
475
344
482
316
333
398
445
373
348
371
360
450
495
308
489
363
365
461
417
309
354
332
313
439
431
435
433
447
403
306
468
340
318
433
451
338
329
357
379
394
450
346
311
379
479
348
456
444
338
340
444
424
442
303
410
339
372
330
491
321
420
453
397
444
373
491
401
353
403
368
369
354
329
405
448
332
352
413
424
392
422
340
310
349
411
457
346
336
469
321
492
437
382
393
357
460
440
374
360
400
345
452
492
350
406
465
391
500
348
400
410
487
314
460
396
446
400
319
429
365
346
448
332
458
460
419
433
302
392
395
389
400
463
427
418
350
462
432
410
468
483
459
442
323
447
354
315
379
346
384
325
485
429
472
417
466
412
429
361
354
347
321
436
378
348
423
389
483
385
329
331
485
471
347
356
485
400
489
353
353
376
354
309
361
433
407
477
439
425
461
371
387
388
384
310
378
406
487
433
313
380
497
382
396
403
422
368
462
453
423
486
495
455
314
341
316
356
428
394
376
471
484
454
379
337
300
411
457
430
495
423
384
383
444
439
379
437
452
364
484
435
309
415
425
322
496
421
440
416
449
378
483
401
358
424
380
400
495
472
415
393
356
370
485
441
490
454
313
300
424
323
403
455
357
443
393
431
365
325
355
385
339
356
498
455
314
459
355
490
481
418
405
403
319
372
342
398
430
344
452
314
361
493
438
443
327
408
487
421
464
315
311
432
301
313
485
309
395
421
495
379
500
438
487
397
323
381
396
454
307
411
409
422
330
410
365
365
337
303
359
451
418
482
418
500
485
390
469
494
365
379
490
446
371
465
498
415
344
333
330
317
463
459
419
441
377
322
476
497
490
322
330
465
342
411
313
395
473
442
428
337
393
343
477
323
339
474
375
415
348
404
399
488
417
404
359
373
441
300
481
368
318
469
407
413
328
484
324
315
448
448
335
387
437
351
406
458
341
433
451
409
381
313
461
380
315
438
326
483
492
358
322
331
361
305
382
458
465
499
455
484
423
380
459
316
362
482
316
424
366
437
333
496
417
469
396
481
481
419
397
385
309
451
450
389
390
320
341
338
496
429
372
422
314
479
352
490
463
351
443
387
391
476
425
360
343
446
348
444
376
421
387
355
376
445
483
487
371
470
354
419
366
454
370
436
328
381
418
426
458
300
327
330
301
343
367
375
409
314
386
368
347
467
436
491
467
463
456
388
444
494
376
391
447
467
375
485
429
313
396
469
401
314
310
326
392
388
431
368
499
359
441
368
409
466
498
453
494
491
491
395
364
362
434
462
301
466
438
361
478
433
488
402
456
418
380
374
305
389
326
432
430
474
424
370
410
482
305
309
310
470
448
311
419
394
467
451
332
322
311
412
309
426
497
423
340
475
305
480
441
386
458
463
427
321
456
308
497
309
346
350
414
301
468
345
417
447
407
370
318
325
414
463
318
419
353
412
486
446
360
304
462
432
358
440
354
308
440
343
412
332
302
357
303
330
328
408
340
342
409
309
484
403
385
386
434
439
374
460
312
309
399
455
370
397
457
373
495
329
335
425
332
386
303
354
498
340
349
403
321
301
329
354
402
327
321
473
416
436
477
440
377
341
423
389
374
446
329
302
477
471
377
440
386
451
404
352
491
436
462
354
387
423
344
419
386
346
453
349
480
458
398
440
375
451
430
469
378
367
439
461
344
380
459
447
431
306
310
478
438
330
420
390
374
370
370
402
319
437
457
347
437
333
374
335
374
429
477
375
317
426
351
487
333
465
488
391
488
364
342
396
317
324
336
447
411
449
480
360
361
498
407
365
430
460
350
478
300
356
461
367
462
322
440
408
490
486
473
312
450
404
489
471
472
336
405
488
379
341
410
305
395
462
360
484
325
353
471
422
404
422
469
311
414
415
374
320
435
384
486
437
499
498
445
312
328
472
446
350
376
387
374
420
361
391
331
329
395
446
300
365
428
445
498
451
427
305
389
483
431
415
382
306
377
335
407
317
397
401
439
341
370
321
308
344
477
446
397
485
313
447
308
477
311
318
437
491
416
388
343
311
300
500
425
335
494
486
431
347
357
375
332
470
454
399
482
332
330
393
404
450
341
406
401
395
435
445
325
325
494
461
351
498
376
341
500
321
320
457
413
343
454
345
485
330
485
386
479
383
483
322
445
399
375
339
364
409
310
352
370
391
445
451
315
366
472
464
432
369
470
347
326
436
498
420
337
319
434
337
308
381
426
416
483
390
334
399
340
356
461
500
496
350
377
495
370
401
378
453
462
325
473
498
329
385
419
483
318
454
360
385
377
378
453
374
356
368
458
417
438
414
440
411
390
497
358
448
437
330
327
481
349
375
434
372
337
373
324
441
422
369
351
366
436
417
447
335
431
422
347
388
457
442
400
347
343
410
479
487
382
463
436
478
406
445
434
356
357
322
463
390
379
326
487
413
355
454
311
312
473
335
415
324
401
331
490
413
385
364
410
391
338
439
363
337
497
329
409
322
492
362
485
357
443
444
367
432
455
332
436
472
375
391
427
350
417
407
307
348
400
495
380
423
338
385
403
371
314
410
489
460
499
377
320
404
326
387
372
492
475
485
495
469
358
370
357
472
302
470
433
399
411
364
341
388
442
327
334
443
390
453
447
440
333
406
446
317
446
489
371
454
354
304
433
438
465
399
327
486
357
358
311
386
327
492
464
487
343
318
463
460
461
458
463
327
485
367
371
411
317
470
376
413
335
340
390
441
339
350
467
408
342
493
323
387
309
379
370
499
321
459
463
385
479
321
406
378
342
380
362
456
468
497
340
376
387
351
300
401
395
439
452
499
439
391
397
327
311
393
388
413
454
446
467
410
481
308
423
300
471
378
385
370
438
387
349
452
309
499
492
365
364
465
368
402
458
367
359
385
378
413
403
387
389
360
403
400
492
491
395
383
303
453
395
307
356
500
311
481
489
441
353
447
395
457
357
487
410
497
440
343
474
413
374
453
434
326
380
396
446
340
456
342
344
347
479
331
354
478
386
379
499
365
360
439
469
418
473
394
368
372
351
321
465
421
351
300
486
320
423
397
491
489
474
496
447
428
305
398
399
369
468
313
404
424
407
317
326
412
378
394
489
324
320
495
385
314
408
308
439
447
398
389
404
441
497
389
443
307
382
427
370
461
397
450
347
308
455
459
357
407
467
500
435
377
409
490
310
389
419
303
385
408
348
308
398
311
366
363
349
496
405
429
309
482
388
424
445
375
335
453
347
408
302
427
349
420
379
329
303
410
356
419
391
448
415
405
335
358
331
418
383
446
427
472
454
314
332
495
468
357
318
476
446
354
388
333
385
423
490
495
475
391
340
475
362
391
415
337
429
390
445
365
395
394
467
493
441
344
358
313
485
391
391
405
384
338
467
331
330
409
453
390
315
410
441
467
336
449
413
367
312
374
452
432
461
424
434
322
315
352
379
429
330
410
385
408
318
457
439
444
496
373
459
324
499
343
445
370
371
427
391
433
436
365
313
349
401
340
450
485
493
391
492
304
490
412
438
355
472
431
464
381
344
307
364
342
393
444
427
348
400
395
313
430
332
335
427
449
400
462
476
461
367
373
463
423
364
353
487
419
448
496
379
308
438
475
358
327
302
333
475
442
390
463
300
363
419
326
418
332
457
368
492
489
447
326
417
310
395
398
500
396
449
373
308
385
414
336
324
452
367
441
478
447
415
313
485
311
354
499
392
309
380
329
339
422
321
419
313
383
323
404
441
406
368
408
428
344
492
330
346
400
435
405
467
329
428
397
425
462
345
359
405
358
472
376
305
471
305
448
425
379
456
468
318
378
325
488
423
499
355
302
400
437
356
422
466
430
354
481
316
350
452
384
339
497
407
458
418
404
422
396
349
399
365
498
380
303
480
325
318
327
413
336
442
498
434
358
497
352
334
305
400
483
386
415
303
380
391
446
494
486
399
466
432
492
451
352
473
322
399
475
326
402
487
341
440
477
361
306
348
347
330
356
411
307
328
352
382
414
420
311
494
424
374
460
415
346
383
403
362
444
494
415
330
329
322
330
387
391
304
311
390
374
337
379
439
468
463
480
315
340
318
417
475
346
449
401
500
427
454
313
413
384
302
363
441
443
391
317
471
434
426
380
360
406
359
372
325
399
346
429
374
483
435
416
353
346
348
407
487
464
465
393
479
441
307
348
475
361
400
399
417
305
306
322
391
475
334
420
363
424
300
419
316
424
404
376
470
403
447
384
374
388
420
469
305
341
393
330
314
336
498
500
346
440
453
423
311
495
481
496
339
426
316
402
493
341
373
458
456
371
485
340
491
429
455
328
337
371
432
467
392
483
344
358
348
352
458
381
442
335
491
411
338
472
305
323
375
420
447
460
305
443
451
317
333
341
426
484
445
336
421
429
348
484
419
483
468
489
389
454
454
324
445
391
476
476
500
332
489
423
339
387
460
333
368
383
434
407
380
405
449
486
437
320
366
378
397
333
370
489
394
353
484
488
317
435
441
396
498
324
374
446
305
366
325
491
485
455
495
364
485
475
420
338
451
483
490
494
409
384
459
353
369
340
305
436
313
306
386
435
472
317
443
326
415
495
473
468
366
420
441
357
491
465
478
465
305
465
400
435
475
309
415
380
349
495
459
423
442
414
313
464
304
470
411
385
322
335
314
331
305
395
343
315
407
426
352
413
451
331
392
482
422
448
408
300
471
309
440
365
418
415
354
308
351
378
489
470
466
391
357
480
473
436
464
303
459
463
411
401
401
371
351
392
369
343
469
382
341
425
336
418
406
411
305
355
473
312
340
488
314
332
391
392
385
478
414
455
446
463
338
352
491
457
380
414
350
311
375
333
338
332
389
373
436
471
354
312
342
398
397
487
459
450
499
340
472
480
496
366
347
409
432
338
301
451
432
301
404
436
364
329
472
315
490
466
368
440
409
407
436
462
396
478
424
407
454
384
351
452
493
335
481
350
408
324
301
407
383
381
456
386
403
482
413
467
405
488
476
480
474
319
382
437
422
401
448
321
437
429
409
384
303
305
436
409
362
470
440
435
373
444
458
318
378
387
343
387
444
377
373
444
469
366
302
392
470
386
375
300
496
412
388
404
424
454
483
389
349
479
306
389
377
468
430
398
300
315
476
363
390
457
373
480
304
318
311
347
412
407
413
347
413
404
325
346
316
484
455
476
413
459
409
431
348
471
400
302
335
424
433
372
334
444
480
477
347
459
352
327
344
480
457
426
381
442
407
344
436
314
435
485
488
322
300
471
491
499
456
395
381
467
359
429
328
468
408
382
337
441
499
455
326
408
321
396
425
472
460
430
385
429
343
402
347
459
333
424
459
342
487
386
437
332
482
391
426
455
353
362
405
420
490
371
304
415
354
407
433
430
474
314
327
355
412
375
332
444
406
450
476
338
389
309
316
415
463
316
398
322
372
434
478
397
379
304
479
329
393
359
495
327
354
470
491
473
412
444
312
410
346
404
387
395
419
485
394
425
395
383
344
338
423
497
446
333
420
462
450
453
405
479
333
323
301
346
414
488
428
321
439
418
330
330
386
460
497
395
355
481
338
306
474
435
410
429
466
475
362
469
423
383
382
408
304
306
329
392
486
342
469
418
426
486
436
454
309
406
318
410
475
487
456
364
374
404
346
483
469
494
333
435
371
425
456
303
437
461
403
396
338
393
493
312
424
309
341
470
322
416
363
362
400
392
434
323
461
380
314
447
314
500
391
315
320
347
374
361
338
494
471
451
475
469
306
463
326
308
399
441
315
330
410
373
363
340
302
431
313
309
342
310
491
365
399
449
443
480
344
443
445
344
359
327
397
345
335
425
355
496
306
325
489
389
451
386
397
350
398
446
384
364
439
340
310
310
325
491
309
312
389
375
338
303
323
473
377
307
461
354
444
379
409
428
300
448
467
343
483
326
315
490
498
431
330
461
418
469
324
323
373
326
478
304
397
321
448
469
322
428
434
310
342
346
491
323
459
333
487
474
394
468
355
390
482
302
370
447
423
446
427
363
338
336
353
430
427
466
457
466
490
420
364
450
370
464
399
351
366
421
324
473
482
443
368
441
378
395
387
467
402
371
376
491
323
301
395
435
368
327
433
426
335
327
465
428
396
424
366
391
361
350
394
343
352
367
334
303
481
362
416
401
481
339
465
332
463
412
328
446
385
324
334
441
368
420
336
427
405
448
402
302
477
469
399
381
332
450
443
330
369
385
314
491
432
492
466
409
436
338
368
392
433
495
423
311
498
435
407
350
403
389
492
396
470
408
454
468
380
337
362
471
311
467
406
373
403
387
328
394
354
349
456
347
401
302
348
445
368
427
359
497
454
346
310
373
439
495
475
306
435
434
404
458
407
494
318
356
410
418
497
436
317
306
384
415
443
470
485
480
398
458
464
333
353
422
495
498
358
336
313
475
316
308
375
477
306
309
495
410
408
466
408
329
425
468
365
449
474
478
472
408
351
343
442
374
392
338
488
372
440
342
399
462
499
487
438
455
318
450
300
357
481
390
317
469
404
416
433
467
411
394
421
437
425
397
498
337
493
406
376
416
374
479
322
321
395
333
387
345
344
490
396
437
414
372
383
342
407
404
442
400
382
369
314
499
350
480
474
465
347
399
308
441
394
447
492
465
469
401
403
371
352
354
416
410
422
386
399
348
465
421
352
335
367
403
418
448
323
437
423
373
426
373
364
414
416
455
317
418
401
390
469
424
470
446
410
485
371
321
375
321
455
426
457
393
370
439
448
351
450
303
359
459
434
455
493
393
456
408
370
317
480
367
448
420
478
428
337
489
351
436
317
366
488
452
496
348
468
477
343
371
455
392
317
400
340
363
450
432
426
393
377
422
304
439
497
498
466
470
478
364
394
459
312
357
449
320
465
434
488
354
341
494
326
346
302
494
356
350
416
412
447
329
380
359
361
393
378
444
439
469
338
404
443
431
348
495
466
446
306
496
320
312
415
342
313
428
490
449
488
491
463
347
350
469
491
494
353
393
307
348
443
464
439
413
413
333
306
325
473
330
305
422
350
364
357
345
306
423
312
370
477
321
330
409
341
459
447
375
314
383
353
438
378
482
383
459
410
459
477
374
353
353
455
476
377
356
332
330
424
431
362
492
381
435
478
386
303
354
331
362
473
355
320
442
444
477
358
401
333
331
496
481
340
363
429
452
306
485
466
327
483
466
465
446
489
334
387
449
365
397
431
472
495
325
436
386
416
356
381
409
445
398
417
412
329
497
488
441
430
446
364
300
377
500
370
441
306
429
476
407
453
437
303
306
484
366
467
468
304
443
360
300
313
332
444
365
352
310
371
313
420
451
313
483
389
465
378
323
357
342
386
430
462
325
302
310
357
452
500
310
347
373
408
336
478
465
349
351
475
443
441
312
475
419
457
343
451
346
316
445
336
321
316
341
410
449
491
447
431
462
338
498
480
338
426
467
394
361
409
374
395
326
351
469
365
383
460
460
348
483
407
465
373
447
382
339
413
436
475
359
473
346
315
484
497
457
432
491
441
439
417
489
315
393
417
463
441
432
347
314
376
360
342
358
469
498
376
494
336
302
372
400
426
498
438
347
335
343
459
328
357
321
318
395
320
424
476
330
434
356
327
306
475
468
491
462
469
322
449
306
478
375
301
499
495
432
480
403
396
454
356
387
350
340
378
421
424
385
423
498
323
338
444
333
378
434
463
369
373
360
346
360
415
347
405
495
348
332
459
416
447
429
304
401
328
424
358
394
374
326
410
410
402
492
460
434
340
390
366
320
338
313
312
478
393
410
490
301
395
303
472
376
458
366
328
317
350
323
385
390
483
500
364
408
440
340
469
455
422
352
360
439
447
428
347
362
328
431
311
402
364
377
357
371
315
492
387
399
307
339
379
379
398
342
460
324
416
457
344
331
305
436
350
409
435
478
493
456
488
493
416
364
466
488
465
420
426
300
351
326
416
379
365
398
417
438
469
441
338
337
309
340
422
441
492
407
385
443
353
380
453
382
332
332
304
350
354
408
342
411
361
320
400
461
307
417
485
489
363
417
434
429
350
457
308
465
322
315
370
456
411
391
300
499
466
457
423
455
454
377
382
379
419
402
373
354
366
384
330
411
500
370
425
300
391
451
369
436
312
403
469
337
375
413
366
449
345
332
403
408
492
470
318
319
369
390
321
322
327
466
400
442
398
337
432
467
423
476
424
480
433
372
429
347
460
394
325
371
477
434
385
400
442
484
415
308
305
422
479
334
366
462
462
383
453
385
403
402
446
449
463
454
305
431
456
325
464
490
364
398
491
357
306
370
346
372
377
475
317
315
354
493
367
370
320
388
500
494
327
405
348
375
429
359
462
386
345
400
426
410
459
483
403
308
454
485
442
460
454
474
471
314
411
331
393
320
348
443
351
347
423
310
366
413
412
333
481
352
391
340
423
404
344
385
465
400
434
324
420
402
305
358
412
306
326
369
301
315
325
494
396
402
356
399
372
333
328
354
498
390
343
363
395
404
357
304
483
438
362
435
442
459
416
327
476
490
477
443
462
336
302
468
311
399
343
397
399
466
445
387
330
498
430
397
377
303
497
379
371
481
311
432
330
317
374
323
355
356
441
490
371
303
411
337
347
412
371
490
487
451
402
441
479
499
340
397
346
404
319
439
376
473
488
366
478
376
358
456
420
423
480
365
420
303
357
321
467
343
411
456
368
464
330
313
449
324
317
463
419
441
460
307
487
355
460
402
419
422
323
420
310
433
485
407
356
326
358
450
306
442
346
329
430
451
458
397
342
435
309
308
479
318
420
321
411
464
471
454
375
429
403
400
474
353
451
329
352
416
464
345
404
432
394
431
354
497
368
475
420
350
487
339
448
342
494
350
442
432
448
426
470
492
315
465
473
340
481
376
416
470
367
325
434
314
496
420
344
336
448
429
389
410
409
432
336
402
309
424
391
343
401
378
449
386
319
493
441
452
491
491
457
372
459
374
367
467
388
369
429
409
333
485
357
493
317
359
490
491
456
464
359
497
412
476
442
316
498
392
408
482
368
402
446
362
307
333
485
325
308
312
349
359
398
369
312
420
470
386
306
395
325
379
472
454
468
478
465
425
417
354
322
340
473
330
378
439
444
411
468
415
424
317
319
421
337
408
467
368
406
495
467
308
396
405
408
461
332
409
366
458
380
401
396
497
386
301
338
350
474
357
445
358
340
370
329
456
500
484
384
359
351
388
421
319
371
314
340
450
364
465
470
386
354
457
346
433
313
432
352
424
477
314
308
335
496
449
316
371
354
480
364
365
400
375
338
320
366
370
370
413
474
450
453
420
427
426
451
399
425
377
461
378
357
430
394
469
372
446
328
443
315
341
410
391
499
379
426
340
450
348
318
308
467
354
427
301
408
391
462
334
404
301
466
418
318
395
376
314
350
440
358
469
303
374
459
468
494
326
448
361
483
402
418
337
492
415
456
373
349
415
384
338
334
303
399
481
334
445
424
378
479
414
415
426
348
348
391
329
431
465
314
388
313
449
414
353
314
455
367
431
408
411
345
454
499
468
476
444
456
333
335
475
386
368
420
308
449
349
300
395
484
310
383
413
313
350
406
443
346
366
310
303
331
322
348
413
353
324
305
344
307
322
317
382
410
481
497
471
313
337
401
437
470
417
367
441
329
306
303
390
408
370
304
461
433
472
363
378
475
483
497
417
475
498
398
431
365
467
470
348
461
445
487
407
446
437
306
342
368
402
474
355
435
469
378
412
445
412
436
408
437
469
368
426
371
392
443
476
335
387
317
487
341
434
428
338
500
339
458
378
352
415
456
302
473
471
461
366
361
400
355
413
448
443
498
378
454
489
343
473
443
445
434
499
437
347
481
370
463
433
435
303
354
322
460
474
375
414
401
339
397
426
333
335
318
469
486
431
374
384
362
478
452
491
394
323
421
469
473
487
327
492
324
485
460
473
387
420
427
364
352
483
500
309
428
476
452
314
404
374
414
432
306
300
300
416
375
373
492
316
350
384
325
377
446
456
347
305
435
334
370
304
423
443
376
409
301
388
408
451
306
461
315
388
349
382
305
401
333
427
426
363
314
301
414
430
497
479
406
487
319
382
318
446
495
449
363
391
457
418
434
483
326
363
489
495
432
479
403
399
488
409
350
323
358
474
333
344
334
446
472
341
388
442
314
398
370
388
369
308
411
415
326
482
336
473
380
366
420
466
365
381
354
366
388
375
440
362
460
313
442
493
385
349
447
434
473
343
315
399
365
457
405
492
407
349
342
429
397
409
433
500
302
468
348
337
314
400
421
441
427
315
389
494
492
444
431
315
378
324
349
307
487
421
388
396
385
381
397
395
355
342
479
353
479
461
321
310
343
304
478
422
308
412
419
423
348
317
480
467
405
490
326
328
435
456
402
441
371
308
491
303
487
460
367
407
325
323
483
377
379
408
482
483
309
394
431
400
472
337
417
437
449
399
354
315
350
313
478
490
491
447
460
308
401
437
422
308
368
408
494
480
334
365
305
378
414
487
396
492
350
412
332
333
336
345
366
420
327
344
339
402
391
369
332
354
335
381
477
442
499
427
448
441
374
308
494
314
300
397
310
360
341
366
314
422
482
467
380
445
498
351
417
488
401
336
481
496
382
478
361
371
408
374
333
351
477
365
361
454
363
330
434
414
392
376
339
370
435
345
452
373
313
469
371
365
438
402
470
441
318
474
385
386
412
442
470
389
361
305
360
368
444
493
470
397
430
353
353
451
469
391
416
329
343
340
472
485
406
473
355
446
316
418
401
322
401
438
483
332
492
455
469
346
421
415
325
492
490
345
474
435
360
351
436
462
320
421
336
400
349
495
433
475
338
427
414
334
371
341
452
469
443
395
399
438
473
463
469
350
356
482
323
304
415
419
328
369
305
483
433
460
304
499
435
421
433
315
332
399
478
420
347
343
344
429
331
391
327
362
407
401
493
486
334
400
325
413
443
391
444
491
383
443
393
467
326
493
458
454
354
414
480
378
438
347
486
480
311
400
500
474
420
428
487
434
392
329
433
402
327
345
346
438
382
317
315
357
302
345
396
379
444
430
349
362
341
411
451
404
430
326
465
468
468
363
427
484
492
472
316
404
497
324
413
444
418
445
347
354
434
499
460
394
355
478
425
363
442
468
309
495
461
390
310
408
491
476
405
344
485
343
443
381
380
447
374
412
361
500
378
423
311
392
336
469
386
480
428
361
301
333
445
344
337
382
486
438
492
308
341
414
446
455
433
306
430
365
429
457
452
490
498
345
493
365
362
324
478
305
327
416
442
460
382
346
426
344
472
462
412
307
391
466
322
376
343
482
399
371
403
439
359
448
383
403
393
496
351
472
354
459
310
317
360
343
305
410
499
326
351
396
490
416
470
402
302
397
476
369
493
364
403
365
479
413
387
394
429
394
343
334
351
315
457
414
431
470
481
362
351
402
451
402
355
443
365
497
426
453
486
328
381
472
384
394
414
389
409
450
416
419
460
327
485
389
421
354
479
300
303
464
416
472
433
395
312
309
359
414
353
431
470
370
382
323
370
421
394
393
437
431
451
443
382
312
306
495
307
467
488
353
367
308
323
319
404
486
366
464
446
418
334
353
316
462
317
482
491
454
419
378
315
480
316
387
430
472
408
343
317
339
395
379
300
341
354
353
429
344
419
369
303
401
328
387
475
500
378
375
458
422
396
450
478
446
409
314
415
347
454
437
432
396
301
372
321
361
400
353
314
347
371
478
365
454
329
479
484
328
465
391
373
479
451
454
461
467
440
380
355
498
318
487
362
371
385
483
419
334
353
456
440
500
300
455
445
409
498
419
377
394
394
417
367
339
335
408
489
331
316
305
447
436
444
341
397
430
367
363
443
399
409
445
410
390
480
452
405
378
330
481
349
424
324
342
470
405
454
458
375
387
339
443
358
368
408
483
406
485
336
413
322
382
353
468
410
365
481
436
336
451
453
388
388
448
344
311
368
425
436
473
307
437
384
424
331
465
471
481
395
410
436
412
354
352
454
326
478
347
417
351
483
448
394
455
422
304
389
434
436
399
336
466
495
380
396
399
398
397
360
418
426
408
435
351
406
485
338
485
378
409
419
498
367
386
434
410
497
425
314
449
309
313
322
313
395
436
369
308
362
441
303
425
419
410
485
347
487
367
434
390
499
351
406
392
417
341
482
391
445
461
350
340
481
421
337
383
462
373
392
391
441
498
351
382
488
493
306
461
450
367
334
334
341
487
328
342
347
375
430
320
349
386
406
367
437
350
413
471
415
408
427
325
424
394
374
483
451
469
346
492
352
483
481
461
444
317
469
409
386
412
389
399
450
448
467
338
419
360
445
347
336
419
452
317
493
334
375
314
416
399
384
337
340
416
475
411
386
383
405
421
462
331
341
443
383
484
483
447
425
426
426
360
431
327
439
461
408
440
321
401
310
381
498
423
301
319
349
436
385
491
488
437
471
352
435
328
477
389
348
457
385
371
487
449
471
393
447
445
401
491
425
462
420
398
480
389
495
422
478
372
323
468
426
461
428
496
344
330
472
362
486
351
476
424
445
457
456
374
495
439
443
453
360
431
473
459
466
358
383
327
482
345
412
453
383
397
435
424
415
420
399
332
400
325
410
380
422
315
448
406
458
374
460
455
430
348
494
485
313
362
457
389
485
496
393
352
447
366
426
320
382
359
336
326
308
344
321
433
301
425
426
396
488
347
330
404
405
353
392
496
343
488
310
356
469
413
369
391
394
406
493
394
470
302
315
471
478
447
311
405
464
300
475
377
455
476
381
306
322
457
472
348
322
492
400
403
313
356
480
373
329
381
331
315
361
493
417
469
388
312
401
365
415
472
326
442
474
424
404
312
306
416
436
355
421
430
408
375
395
382
450
488
483
437
319
441
309
466
305
330
361
476
443
329
340
443
449
371
436
382
484
378
347
329
447
420
460
358
494
415
421
455
488
429
316
456
316
458
459
453
309
462
405
302
437
400
498
309
335
353
492
310
390
402
452
441
391
306
374
346
349
415
423
413
403
408
447
454
339
421
308
438
343
466
334
463
357
448
339
486
433
495
378
444
333
471
500
318
452
413
325
311
334
487
430
320
380
330
376
339
364
312
445
359
465
307
395
319
482
323
425
331
381
470
450
360
336
333
478
432
476
488
372
470
375
318
407
379
460
414
438
301
461
342
457
426
481
374
328
459
385
417
306
353
337
362
407
353
409
436
465
462
457
394
448
300
387
495
471
466
435
471
306
421
491
317
420
322
491
411
427
440
429
394
412
345
308
447
322
372
455
335
346
405
362
322
341
390
312
404
315
387
310
433
408
306
443
307
374
476
480
358
484
385
323
479
400
403
322
466
320
471
419
419
429
313
423
302
484
323
438
356
380
460
408
445
408
345
384
328
409
412
486
351
339
436
480
365
457
481
407
335
303
371
322
357
485
427
368
353
344
464
464
493
359
454
404
492
449
395
453
416
393
382
479
472
314
459
486
431
371
373
458
312
479
376
336
463
445
340
473
442
426
331
315
406
467
364
356
397
308
381
405
328
321
422
314
325
445
410
426
470
398
392
308
426
333
364
447
330
478
366
354
432
475
420
402
497
389
497
407
412
412
427
408
380
396
477
397
360
496
444
468
378
449
308
398
325
310
319
349
331
413
379
323
480
482
456
315
394
439
329
483
366
462
308
496
352
476
415
411
456
490
345
498
368
428
344
389
400
331
401
396
393
392
308
491
479
357
498
332
367
404
488
321
366
478
378
360
450
368
312
320
472
354
449
372
429
487
437
472
402
475
394
416
333
329
458
480
307
449
336
347
393
442
300
387
303
349
366
308
467
331
364
436
300
484
321
468
411
376
492
336
351
441
301
336
427
391
329
332
355
319
477
468
315
423
366
422
304
396
402
408
458
468
323
492
482
377
450
398
466
424
415
473
391
488
468
487
374
437
324
490
322
425
471
335
317
312
497
430
399
500
312
493
418
386
317
300
483
435
381
475
357
451
482
382
467
439
493
338
459
379
491
302
489
413
385
461
331
364
423
450
480
384
443
311
367
499
490
312
425
333
419
393
475
312
334
329
324
367
328
341
454
500
350
468
408
458
421
336
307
491
336
309
422
320
498
340
393
337
420
452
435
355
373
354
317
491
318
346
465
306
461
440
368
347
483
449
422
365
363
406
477
346
333
369
401
487
413
327
342
457
368
360
394
303
468
467
436
349
441
427
372
380
488
434
490
330
480
473
341
324
487
371
320
447
394
451
321
441
446
405
437
455
301
467
452
418
400
483
443
489
383
336
354
414
314
474
318
391
398
305
365
324
391
348
384
492
318
444
487
304
490
446
371
430
436
316
349
475
403
466
479
426
416
492
498
312
356
400
348
385
454
305
300
464
388
415
495
373
401
361
490
415
410
422
492
410
472
418
402
338
426
438
496
466
328
370
398
369
459
411
438
432
451
414
472
381
426
355
323
347
303
364
437
478
412
407
358
413
490
360
341
350
496
314
400
493
367
341
337
393
370
432
383
422
497
363
443
326
460
350
311
382
422
391
444
395
474
396
388
329
436
492
464
312
308
418
413
366
424
408
349
470
334
411
423
404
419
370
314
349
308
306
475
372
350
499
367
388
305
357
428
340
421
469
445
467
306
419
489
328
391
446
432
484
438
413
448
368
355
359
342
484
464
389
435
376
338
364
460
356
482
404
410
453
463
373
359
415
327
372
349
363
469
388
339
380
472
491
500
410
395
365
481
350
477
389
320
427
448
398
304
419
453
443
339
373
490
337
408
429
438
322
374
478
435
303
378
486
350
359
411
300
458
357
440
349
457
446
351
315
497
314
477
496
419
454
310
451
327
448
462
414
442
500
419
374
467
438
332
315
349
495
347
428
453
456
480
324
390
307
341
437
361
369
342
429
491
442
411
403
467
304
458
402
330
491
375
402
332
328
490
450
344
484
335
393
388
462
357
318
424
436
481
469
463
493
314
434
461
312
399
465
352
406
361
399
495
403
362
394
368
492
498
335
473
498
387
338
317
486
364
345
323
361
438
460
354
305
367
443
462
379
418
370
395
495
329
319
386
498
369
437
396
443
422
459
390
469
374
369
367
329
321
412
481
476
344
404
453
323
396
434
335
391
488
403
424
370
394
367
441
313
466
481
363
368
384
353
460
345
431
314
414
377
307
348
417
477
399
318
363
386
486
347
383
491
436
389
399
423
444
304
498
374
472
470
324
446
404
313
381
343
476
476
495
435
452
490
473
500
448
311
407
340
336
334
440
394
349
499
363
428
429
474
484
469
496
471
450
314
467
357
346
478
394
368
309
428
301
321
443
405
345
500
437
435
426
403
370
404
315
442
366
460
359
500
492
375
327
423
419
436
345
386
446
390
402
457
460
354
411
371
354
494
428
374
397
322
500
338
434
335
441
331
464
427
328
399
374
310
301
436
454
463
300
346
346
356
318
468
383
329
359
412
381
336
479
308
391
384
441
322
486
334
453
430
494
311
481
366
433
407
316
403
418
345
339
489
315
495
410
408
415
458
422
421
466
483
404
463
477
396
311
476
332
308
333
315
336
441
357
370
473
390
321
470
472
396
389
477
376
349
460
308
403
434
339
492
361
373
497
440
476
420
432
352
335
342
433
389
489
410
481
433
345
413
416
364
338
441
341
346
404
323
445
373
301
470
436
450
437
490
408
381
359
499
482
361
365
479
314
343
477
487
418
455
370
495
408
329
369
479
310
315
498
390
392
452
462
354
375
384
310
460
317
364
350
416
432
327
393
345
333
321
436
416
487
327
387
426
488
428
382
333
404
439
305
305
346
419
300
487
376
421
388
496
306
489
349
409
301
388
352
479
392
396
380
361
335
404
332
421
463
388
390
452
468
468
364
392
362
428
378
403
467
361
376
337
472
470
427
401
451
329
372
305
486
382
431
488
423
397
301
434
310
475
304
405
480
355
450
331
464
366
439
408
387
374
358
480
453
316
391
334
339
459
488
422
317
367
488
390
465
377
491
428
487
354
335
436
485
309
387
374
371
446
466
414
440
493
395
354
448
370
472
424
431
311
471
472
308
334
367
408
379
362
364
405
495
485
450
496
473
406
423
460
343
482
307
381
394
464
483
450
391
318
328
463
407
499
387
330
373
446
475
486
305
456
357
390
485
450
349
448
383
331
309
402
304
368
406
463
468
363
388
484
414
380
473
442
324
388
425
485
445
367
395
475
473
468
407
425
339
359
439
397
323
351
499
490
466
486
350
307
484
302
493
406
327
363
372
430
338
474
399
318
414
463
469
472
482
441
354
469
448
405
420
334
405
500
498
394
339
453
336
358
347
456
462
415
386
492
363
463
469
482
427
345
414
370
487
357
443
458
396
402
368
334
328
470
339
343
433
497
304
420
401
415
340
426
373
402
313
405
342
393
377
315
477
343
326
353
470
366
482
351
493
345
480
464
341
466
308
325
386
380
403
498
406
491
498
488
322
351
321
325
470
404
389
384
449
496
377
428
467
359
441
353
375
429
318
323
432
416
393
375
372
427
445
432
350
486
443
412
334
479
437
456
307
324
380
320
464
420
405
325
338
329
460
437
423
318
302
446
388
434
474
401
498
388
446
459
386
448
362
419
354
469
419
485
459
366
452
435
442
414
369
421
355
302
343
451
322
357
397
416
495
365
489
400
369
460
313
365
458
454
432
317
344
352
436
329
499
310
328
404
441
493
333
449
390
426
308
454
403
305
311
332
305
327
470
498
366
328
480
422
347
486
384
367
460
388
483
430
405
364
488
354
482
423
333
492
419
460
374
427
465
341
444
433
446
473
329
406
372
476
323
420
340
461
384
478
427
424
362
488
430
467
411
317
486
323
428
398
413
343
430
453
467
318
401
459
454
311
482
367
323
449
432
491
300
421
334
486
459
366
347
356
320
472
374
444
494
350
378
324
344
470
339
309
314
334
467
406
447
482
459
305
361
442
426
469
415
474
399
414
418
439
318
412
433
317
457
328
400
494
303
363
484
383
431
384
461
446
500
462
378
364
309
320
452
348
350
389
447
432
353
458
359
489
319
444
343
334
433
349
374
418
337
436
462
392
422
308
304
457
378
464
317
398
457
441
461
311
386
337
358
420
401
408
487
477
400
370
303
484
391
367
338
313
388
374
461
399
376
355
448
496
368
358
428
492
369
360
347
409
382
321
342
318
465
398
379
432
374
465
343
486
333
487
487
333
305
325
339
394
447
412
453
319
451
427
310
480
453
497
408
329
457
303
476
328
451
489
424
432
355
468
413
333
500
329
360
350
311
332
477
469
303
312
414
354
462
465
447
436
459
324
345
382
462
401
375
479
437
372
338
440
372
353
483
485
371
473
464
394
373
497
392
490
497
396
422
363
439
421
309
477
449
329
434
304
374
398
433
492
323
326
432
377
453
388
425
451
354
494
490
362
500
410
453
405
453
426
496
456
398
397
322
413
342
447
309
344
355
331
452
349
319
424
463
304
438
387
452
459
342
381
476
357
379
329
443
492
354
337
405
413
401
452
485
302
407
306
459
447
468
327
456
375
491
498
386
328
366
465
488
359
454
406
434
349
385
409
371
399
407
390
415
466
350
421
449
451
340
478
382
462
431
417
404
303
436
316
396
320
443
336
453
463
499
404
304
420
428
427
403
329
342
402
417
437
494
439
360
454
395
458
400
309
322
404
383
363
379
304
457
319
318
307
323
364
425
320
426
469
325
432
463
413
397
441
431
328
489
322
301
448
335
368
445
467
475
364
347
465
442
487
430
387
461
470
305
402
346
369
493
414
367
465
369
376
388
389
300
479
379
415
499
447
350
343
388
303
464
489
390
390
427
462
392
500
386
486
442
403
338
303
417
404
493
367
300
494
314
478
500
418
394
385
376
439
490
420
401
351
436
465
311
434
339
363
442
342
430
323
316
362
374
439
389
364
377
306
425
494
395
335
492
489
491
490
438
316
356
379
405
415
347
300
470
455
311
495
311
488
426
436
462
361
432
456
487
409
466
488
469
441
442
355
497
314
331
487
485
475
326
486
357
418
320
483
327
325
316
397
450
489
431
338
351
461
383
447
424
350
374
386
355
481
424
488
456
385
457
369
458
381
473
426
472
341
421
383
480
490
338
399
320
336
401
426
444
346
356
490
418
402
490
410
327
347
498
383
359
337
384
397
374
368
368
347
327
445
305
449
380
319
433
396
474
347
371
402
477
396
384
370
380
394
376
395
434
496
396
432
474
308
403
495
389
459
389
446
360
336
436
386
348
388
440
313
325
313
379
379
440
486
421
325
381
482
448
415
457
392
332
488
330
382
453
452
496
446
399
400
446
466
314
380
474
425
385
490
314
419
393
307
367
431
452
397
439
452
380
487
457
430
300
493
304
404
346
391
401
365
435
364
462
372
485
462
448
302
491
457
420
493
389
465
351
468
362
344
482
499
347
333
449
302
300
341
473
491
316
331
395
420
476
495
443
308
405
302
302
352
368
385
498
404
480
324
319
414
403
469
483
369
450
393
453
300
363
388
447
360
368
327
392
451
404
497
468
410
388
468
371
352
327
423
333
309
391
499
498
466
419
457
471
346
363
492
372
475
488
399
342
409
579
437
618
689
677
496
482
685
442
515
687
744
458
641
763
744
536
674
710
771
664
715
529
583
792
740
472
509
816
753
811
429
703
817
736
453
589
641
696
590
467
537
729
486
785
627
763
644
482
458
687
637
798
576
772
487
614
733
495
450
763
540
561
441
797
521
567
742
449
467
667
538
761
691
491
617
460
700
817
565
686
780
581
798
523
514
701
800
723
588
714
602
469
609
773
608
450
575
455
583
579
620
494
503
642
767
572
489
432
706
641
791
809
493
594
484
737
801
538
523
533
510
426
672
667
513
738
781
685
518
624
575
501
564
468
518
437
513
503
682
552
669
783
807
697
575
749
736
628
715
607
722
711
748
649
486
697
500
665
723
784
654
570
768
518
623
791
758
671
515
520
808
469
813
505
719
733
752
666
796
582
619
689
730
647
687
570
522
508
762
641
762
731
446
555
434
759
424
566
684
649
556
434
581
426
437
538
802
743
512
455
684
820
456
421
571
745
771
479
585
667
494
641
743
733
627
714
439
744
474
717
739
546
552
505
438
546
658
811
715
775
787
799
773
742
552
673
649
507
497
768
576
445
492
489
636
645
771
507
609
424
586
676
481
607
497
469
650
537
535
621
445
686
583
660
636
774
722
564
590
780
485
816
808
644
469
691
555
582
717
562
639
679
735
777
499
519
798
575
790
758
459
589
817
713
622
711
791
521
595
811
526
668
732
601
474
642
605
586
556
748
519
717
791
555
738
756
593
668
599
728
462
460
598
678
774
718
437
616
660
799
579
428
580
602
600
495
575
762
722
726
539
625
425
477
795
740
655
426
460
748
681
595
674
459
729
654
563
488
693
774
807
588
502
779
533
599
680
537
635
678
459
762
748
591
795
627
470
676
807
608
645
812
758
765
421
714
610
544
487
678
748
500
623
717
573
602
577
518
452
550
676
817
488
738
753
642
777
456
426
679
442
587
799
585
562
717
514
625
528
663
573
650
487
660
774
819
784
731
531
423
540
685
659
782
616
602
420
764
682
758
676
604
501
673
598
564
626
429
433
806
628
571
473
563
504
816
426
541
592
658
513
797
674
766
482
547
719
682
502
789
556
727
755
528
659
630
444
647
654
550
558
605
692
778
786
805
756
688
774
630
685
748
436
487
628
431
619
756
741
552
574
769
779
674
637
576
642
481
799
584
755
699
567
422
689
428
531
708
659
706
541
646
802
814
771
672
553
508
693
689
649
587
573
799
537
674
782
563
605
567
480
446
713
491
551
613
578
602
784
626
467
755
614
817
434
663
549
642
531
601
540
469
765
736
556
697
545
552
461
617
786
445
520
608
470
769
552
662
699
469
712
707
598
757
738
493
727
724
731
635
611
646
528
795
488
745
595
777
618
470
729
659
762
467
758
663
690
623
776
462
724
669
637
800
672
421
597
586
695
555
447
667
520
492
794
535
449
660
422
693
795
655
678
577
800
704
538
615
787
430
526
502
619
734
677
634
496
644
682
501
719
722
471
770
819
540
424
596
696
525
674
539
456
536
474
679
757
696
481
684
664
744
612
440
488
570
694
695
780
626
444
469
724
661
791
590
468
665
546
758
776
604
820
607
476
443
609
795
611
626
527
538
665
532
658
677
620
655
808
817
536
640
675
786
579
487
576
516
535
526
662
795
800
627
590
668
816
783
641
683
762
545
515
710
557
601
465
423
691
603
812
533
775
445
701
759
422
431
695
438
809
514
607
460
514
794
741
458
791
685
483
433
526
555
818
789
486
496
426
568
528
596
706
640
439
805
742
755
463
771
463
546
780
748
586
800
619
672
545
820
794
746
721
530
464
646
673
734
452
595
788
511
469
461
782
685
673
533
513
686
622
574
693
432
701
672
692
805
685
440
451
547
495
772
472
606
781
426
571
609
732
545
769
597
723
590
646
811
457
588
773
671
688
483
725
439
700
743
565
593
696
672
739
584
680
595
478
476
488
447
592
592
764
426
709
570
701
432
630
609
609
446
732
773
427
487
559
642
612
523
620
595
491
687
716
696
767
624
459
624
819
538
544
431
708
511
796
669
582
473
755
652
658
619
612
460
721
737
819
801
513
547
607
779
593
499
715
460
586
518
745
463
576
648
787
814
682
765
461
767
557
758
521
608
532
501
681
719
792
723
649
435
798
595
576
795
562
751
499
817
817
574
768
477
649
590
586
500
446
622
759
476
491
577
695
750
486
726
584
680
795
780
804
728
648
819
668
751
476
458
449
660
807
626
621
732
588
691
480
799
657
678
790
696
681
704
600
751
488
607
734
499
496
439
657
665
509
743
799
568
793
488
475
754
512
670
644
487
539
692
458
782
718
698
745
501
740
749
610
664
685
470
537
760
804
638
694
750
706
566
703
586
478
488
621
578
729
533
765
443
678
600
578
638
452
775
816
770
451
702
661
681
631
759
818
773
508
466
460
699
424
703
477
466
444
632
669
757
564
756
597
531
646
566
621
728
736
625
720
482
460
549
646
612
509
713
611
604
622
490
790
495
582
677
553
501
700
422
776
450
699
808
535
531
560
709
528
721
528
612
628
637
456
715
622
562
574
513
451
801
525
444
499
658
455
476
443
785
803
421
600
801
797
487
719
588
759
760
420
806
513
623
622
804
799
443
454
509
576
750
449
458
553
782
792
668
430
574
676
431
593
775
558
730
515
720
755
768
569
787
763
699
473
698
617
593
792
792
437
750
580
474
769
552
472
744
487
796
451
688
482
615
495
702
438
565
532
596
428
565
683
691
601
644
583
542
420
504
775
781
557
434
603
621
523
452
498
782
557
699
706
782
627
749
546
430
803
675
509
761
513
638
482
697
570
427
622
422
563
627
711
505
732
508
505
588
459
598
637
789
580
698
720
729
624
552
674
479
688
589
779
777
440
781
726
653
817
795
814
472
559
428
659
594
702
594
753
811
454
445
497
819
574
659
444
798
537
655
778
586
641
580
462
702
449
688
520
738
551
618
656
513
583
436
732
767
618
535
448
778
612
779
525
486
574
641
556
659
699
528
721
726
820
491
664
748
752
541
749
786
529
649
434
787
576
787
722
678
549
461
660
684
758
684
462
752
445
572
558
769
633
738
457
709
755
816
629
568
739
493
621
724
720
593
581
481
743
790
483
805
429
748
738
709
566
594
576
494
435
562
680
465
547
751
717
521
680
686
437
814
478
429
751
656
500
687
801
806
438
610
445
520
745
578
650
462
493
794
806
810
578
750
785
656
654
801
517
598
425
516
524
567
432
505
629
524
805
454
800
545
503
604
498
653
497
466
639
440
659
798
569
650
687
558
769
560
685
616
582
692
635
764
807
689
444
783
698
655
434
773
449
747
818
711
748
440
529
732
748
618
811
811
524
655
619
605
569
468
667
724
681
522
705
565
479
704
517
734
747
614
546
744
456
730
459
438
816
550
592
618
681
577
575
709
771
693
623
457
814
548
683
572
535
735
556
576
455
736
601
764
508
574
526
427
507
740
584
432
590
583
429
645
675
525
574
487
534
789
685
608
793
508
543
573
548
484
530
628
553
434
796
566
615
454
633
520
762
559
668
463
820
568
793
443
546
643
507
522
726
491
644
588
638
727
497
647
425
438
789
673
456
767
556
641
628
768
646
631
780
463
561
770
571
751
615
755
661
784
769
638
607
542
727
756
709
709
783
640
637
564
564
482
579
806
460
634
512
622
512
750
483
789
705
553
804
544
583
632
688
490
690
491
673
680
817
793
762
431
729
772
462
532
716
449
681
683
728
661
794
671
528
804
594
504
562
702
530
681
512
556
773
686
506
491
691
629
725
618
527
681
556
729
653
644
575
522
622
714
482
655
557
810
686
578
708
789
736
751
528
489
572
485
791
583
464
560
542
535
535
738
558
723
439
451
503
620
470
499
630
788
816
693
450
750
610
481
583
599
723
513
616
662
531
706
754
705
652
510
662
757
539
775
770
816
771
548
701
798
564
784
718
732
525
587
623
660
542
490
637
441
533
423
727
681
815
626
815
620
711
517
585
488
590
689
447
420
741
704
470
646
687
676
702
802
606
493
767
598
816
750
705
607
490
469
650
779
640
808
428
634
641
819
756
479
420
616
539
490
563
650
761
817
775
590
435
514
452
486
647
664
702
526
737
631
681
679
765
713
472
694
787
569
672
551
788
565
702
540
463
660
702
553
813
698
590
527
450
528
468
684
484
721
801
633
704
627
442
742
673
816
506
511
728
785
709
659
792
688
475
421
647
687
490
620
582
440
738
763
454
753
670
630
778
573
692
436
512
508
623
526
792
694
479
729
554
652
804
550
761
440
813
557
470
477
734
697
696
460
457
797
787
447
573
602
543
692
424
724
511
716
532
462
542
682
788
592
544
432
733
471
619
521
756
420
551
721
756
546
629
608
459
698
551
668
744
480
435
785
542
504
731
687
798
497
506
644
754
810
577
684
747
568
440
809
523
690
790
508
595
482
443
779
746
749
510
617
462
671
669
660
668
502
758
619
799
724
676
739
669
430
464
453
799
789
602
613
421
662
735
548
777
423
462
757
719
528
677
534
744
460
511
782
625
553
447
454
810
802
778
657
512
747
757
555
555
757
616
765
731
493
717
446
790
652
577
585
421
599
818
486
542
488
521
435
633
525
578
642
425
775
728
784
589
597
667
443
462
623
699
495
535
714
760
647
595
482
727
607
496
726
673
460
609
649
519
637
469
456
598
770
533
669
470
566
486
540
437
495
543
728
739
723
470
675
733
433
811
671
682
551
694
642
798
612
685
525
529
688
694
642
431
704
805
644
637
507
453
539
523
684
500
782
817
446
589
534
496
445
645
681
602
714
632
494
463
638
488
612
482
674
761
659
713
798
445
776
699
713
449
450
714
810
459
446
596
538
491
711
458
642
771
677
643
729
633
453
795
641
764
780
727
592
721
817
611
496
644
588
522
674
738
744
475
762
736
523
751
477
518
772
666
771
814
507
427
447
473
784
508
546
743
800
546
807
690
451
487
818
711
429
472
645
657
571
710
667
627
773
754
444
451
626
739
689
507
474
695
652
699
734
505
605
761
457
725
614
810
704
637
490
542
675
514
438
433
512
570
544
422
455
591
454
552
674
565
727
671
742
773
679
643
724
639
815
815
508
624
767
690
757
448
706
515
591
454
519
444
624
514
479
655
522
617
577
725
704
782
651
609
443
563
708
460
461
792
774
776
638
503
499
575
537
796
763
657
660
628
761
604
511
641
705
637
780
498
696
451
508
701
531
577
810
420
720
683
481
817
738
626
576
757
550
682
755
630
608
621
496
450
442
737
602
717
778
423
628
707
585
488
662
470
571
773
440
446
620
717
705
748
682
457
815
579
765
487
491
820
568
430
483
801
463
563
526
790
476
643
526
729
590
574
548
561
445
773
777
481
627
537
663
605
667
490
660
668
736
686
620
567
632
433
625
453
505
743
807
744
422
811
775
663
734
640
622
544
579
453
439
428
689
759
423
728
525
710
454
558
528
779
685
801
526
491
758
597
766
801
609
531
820
739
509
662
598
437
461
438
788
468
463
755
562
575
781
749
593
707
499
502
622
713
698
500
675
676
646
442
543
661
613
705
454
619
529
708
735
590
483
606
567
728
502
748
773
663
621
811
567
629
678
710
584
799
421
649
654
431
770
646
514
775
819
677
517
637
803
777
517
754
817
455
674
473
701
731
455
762
785
550
489
545
600
732
675
636
743
729
676
445
482
647
772
648
564
658
532
673
541
537
432
549
507
732
690
672
458
652
665
642
744
505
630
752
675
643
478
522
566
689
493
514
510
623
737
548
642
420
709
663
437
457
814
734
746
439
477
526
713
777
553
705
424
490
656
660
489
545
680
794
819
621
495
446
454
450
469
487
792
793
694
577
560
622
721
588
459
516
436
515
798
536
482
476
712
576
462
781
639
532
809
578
624
819
582
629
592
446
437
710
673
627
781
622
603
786
541
501
634
605
698
564
810
716
623
622
505
566
695
671
436
643
754
602
479
602
445
503
687
789
456
614
504
577
614
652
692
677
690
582
650
702
464
726
629
599
588
528
605
804
559
519
640
436
500
462
664
502
710
673
693
717
735
605
674
425
451
723
586
807
657
643
820
755
731
428
626
597
484
535
556
676
789
474
641
778
721
742
712
486
420
448
439
704
520
743
726
629
584
671
707
513
666
777
540
425
704
787
515
598
754
606
642
555
729
708
596
812
540
733
452
454
711
652
730
731
526
755
770
731
478
577
768
808
797
704
557
690
521
681
556
456
760
706
801
790
653
785
568
746
590
734
694
658
775
777
510
449
599
589
707
605
791
473
515
669
614
701
570
649
464
805
742
671
760
776
661
525
819
668
429
794
581
733
634
619
710
495
663
681
500
556
716
606
539
793
691
458
782
576
730
773
475
801
634
519
475
672
786
704
616
787
807
488
678
818
739
773
776
685
441
651
815
513
641
659
814
791
546
584
433
548
607
580
668
561
642
670
745
430
669
420
579
680
498
695
802
623
820
559
689
471
639
785
748
571
425
435
617
573
768
509
509
760
725
501
588
602
674
476
487
789
641
445
700
484
756
820
507
779
523
708
561
814
755
734
487
438
429
583
674
601
532
787
484
650
579
799
774
740
446
602
471
755
555
751
732
743
684
628
640
575
795
656
611
690
482
444
714
469
643
597
460
713
579
654
610
460
807
769
664
452
657
611
701
703
750
660
513
440
753
591
729
504
637
487
517
760
471
536
516
773
556
773
720
708
636
496
740
667
658
537
444
610
701
752
567
462
550
603
742
566
615
663
815
453
805
480
771
624
727
811
690
494
571
796
660
665
643
488
420
489
453
484
514
444
427
435
498
439
585
785
576
544
466
605
543
791
534
806
777
455
563
653
777
578
434
518
570
708
728
443
750
704
496
746
711
767
533
639
464
722
522
438
815
528
520
738
550
455
632
807
691
710
457
510
506
553
747
687
746
578
583
443
515
571
649
707
748
638
812
788
441
454
583
724
591
602
793
615
556
604
575
572
693
497
582
643
513
586
721
767
630
734
794
574
559
453
585
587
674
614
547
435
498
472
632
425
775
564
603
435
563
554
524
772
551
755
798
698
789
720
581
425
569
490
585
541
809
739
597
781
654
762
611
773
727
564
780
678
637
584
740
458
506
713
724
545
686
707
639
629
673
580
584
541
648
697
459
520
754
661
528
676
763
580
666
601
516
750
471
565
740
519
814
765
672
495
503
704
472
465
798
767
433
630
451
722
424
743
463
624
778
520
793
588
504
542
618
788
720
554
661
691
483
612
644
423
465
781
458
537
562
483
666
615
493
617
662
558
556
629
686
515
751
459
641
533
465
556
572
436
613
458
570
425
524
767
576
468
537
462
805
716
754
749
545
763
679
773
711
727
663
471
803
579
421
526
524
492
582
443
764
501
809
806
698
608
653
820
459
646
586
764
730
621
474
649
674
577
433
534
709
680
798
485
690
692
642
600
786
750
628
720
772
728
558
784
641
517
583
615
794
438
569
807
473
721
742
507
711
461
422
481
749
680
671
690
700
515
676
597
522
626
661
814
517
583
725
814
757
766
664
422
561
810
498
637
468
537
502
547
685
522
640
568
749
682
452
620
572
667
481
592
785
751
481
425
580
713
806
661
746
671
494
508
430
622
763
722
701
786
651
620
472
669
598
805
525
505
753
727
557
788
540
619
663
554
623
534
636
671
648
515
485
586
657
717
733
689
572
579
522
634
673
566
531
531
587
813
749
777
531
731
617
636
624
748
517
578
459
534
584
636
662
511
537
481
426
631
791
641
451
759
672
548
487
680
753
682
454
813
633
588
806
783
684
734
571
758
526
696
425
473
783
679
602
686
729
674
561
568
739
629
492
641
551
447
529
557
540
468
718
688
621
577
479
568
704
801
556
793
748
712
628
728
574
661
447
531
663
428
655
545
733
677
727
573
662
640
617
589
490
558
501
736
609
499
618
709
540
760
747
471
715
442
442
485
423
635
518
726
516
438
472
702
535
653
792
763
615
685
665
782
474
549
689
746
680
517
694
577
675
659
563
516
473
525
540
617
715
749
808
587
753
454
580
620
755
728
577
550
490
673
554
449
513
733
804
619
512
478
595
479
773
509
452
619
781
431
729
661
820
668
638
814
633
683
744
484
598
705
467
434
525
547
557
458
635
820
814
702
754
758
715
803
462
744
792
689
759
736
740
599
770
722
597
675
801
771
626
697
514
638
705
482
486
457
571
680
808
781
779
715
596
614
704
512
704
492
583
455
705
720
503
524
711
567
500
727
812
705
487
743
735
795
639
650
720
713
703
502
458
537
722
496
802
734
817
532
508
728
724
672
680
793
526
479
450
447
434
575
595
602
614
703
456
611
626
584
434
591
473
617
447
616
605
442
426
819
513
593
777
422
566
632
549
458
633
598
513
480
669
495
564
714
453
629
763
674
580
678
766
424
656
714
579
435
567
486
449
626
472
635
487
786
763
522
705
477
450
785
661
613
528
510
716
753
485
717
449
527
803
562
705
641
747
616
519
620
566
807
548
750
819
584
428
647
593
681
468
480
621
706
522
529
434
656
818
448
783
718
463
659
526
726
613
451
743
719
723
591
470
530
713
450
687
610
734
441
490
440
803
721
544
704
488
523
468
678
670
556
626
584
589
767
484
717
558
546
662
519
507
459
614
497
771
719
722
598
554
749
762
543
558
563
752
574
546
648
428
588
477
808
704
618
531
777
708
550
603
746
478
555
548
749
467
814
785
789
740
503
432
527
485
666
492
568
720
735
421
499
522
576
604
674
631
621
436
496
474
591
427
644
568
618
796
533
755
798
444
572
576
709
564
819
603
471
486
430
475
481
790
587
600
579
669
778
706
740
551
475
568
717
422
692
633
796
610
785
595
585
545
584
679
809
483
640
678
513
795
488
470
790
488
492
723
630
582
792
527
802
532
576
705
496
639
573
562
682
673
747
746
471
544
472
467
744
681
549
648
650
779
634
458
711
587
421
630
428
511
501
613
798
435
449
693
612
794
597
682
752
461
687
564
716
711
652
734
736
803
820
765
724
695
487
785
602
588
605
651
590
680
546
761
509
630
738
725
795
617
597
620
681
453
590
741
502
760
709
672
445
470
705
545
675
536
447
706
696
693
752
722
582
504
510
545
578
562
546
486
595
813
655
632
580
467
784
514
704
598
772
523
598
765
767
468
516
714
522
442
798
717
533
726
700
755
691
483
501
690
697
678
603
648
490
586
457
739
546
689
675
803
785
590
816
721
634
721
544
783
653
802
561
470
508
586
580
728
453
790
498
544
664
585
569
458
527
606
665
617
683
602
781
510
556
447
755
783
676
491
503
590
744
787
738
551
644
696
446
665
482
761
712
654
615
536
628
736
799
436
462
517
812
448
586
421
555
528
764
429
594
771
808
596
551
743
793
555
695
645
568
674
490
813
788
514
788
809
776
789
536
464
510
611
471
570
494
425
710
514
707
582
578
561
634
501
473
578
477
717
704
471
579
494
534
444
531
728
746
510
574
712
513
655
610
809
464
437
459
802
795
766
467
550
443
447
699
799
467
617
456
578
722
636
783
635
548
574
652
631
702
591
452
535
616
426
466
725
756
664
694
807
753
587
787
693
565
522
688
771
429
464
743
421
513
458
456
505
765
559
734
744
565
744
470
528
423
616
670
783
820
754
617
666
525
588
590
568
753
619
455
440
459
475
702
793
563
727
791
719
602
681
671
533
518
809
538
647
688
494
528
464
430
564
564
577
620
607
760
555
743
796
533
813
700
614
685
599
541
587
565
792
619
700
572
602
729
647
754
673
551
471
699
472
620
566
490
718
586
460
710
589
712
520
629
503
692
716
710
650
533
570
771
427
684
556
523
688
777
552
714
541
754
724
703
792
557
431
717
565
556
756
806
654
487
686
562
490
701
472
563
648
605
625
678
523
816
496
784
599
475
462
772
632
577
753
767
736
643
747
799
447
513
466
520
694
457
662
532
731
600
483
591
554
803
694
559
607
814
430
425
687
655
574
776
551
563
454
696
467
615
582
430
667
692
748
654
567
778
720
659
796
511
639
509
434
789
648
678
788
745
572
772
578
470
549
709
665
712
532
640
746
583
512
620
739
664
532
788
688
713
505
770
441
520
802
450
566
685
556
728
791
587
580
763
656
453
444
715
675
527
668
590
737
804
625
684
759
777
444
429
752
749
567
800
785
701
783
711
429
609
604
709
680
753
788
467
745
817
708
578
578
650
532
504
773
696
589
785
695
685
594
675
451
766
691
753
611
576
586
717
718
718
683
481
508
769
578
456
556
555
775
733
490
562
436
509
560
714
684
578
535
497
589
753
470
765
636
581
454
561
483
445
562
750
512
560
642
641
567
731
514
456
648
707
495
638
468
490
634
695
633
637
770
455
732
650
655
600
660
673
563
770
600
791
467
436
518
651
650
601
439
683
512
689
580
640
652
518
610
484
772
481
591
570
695
471
671
773
720
593
553
605
467
420
585
438
748
615
664
737
499
770
434
790
506
439
605
680
784
488
686
647
719
656
631
466
814
603
660
662
432
420
794
778
430
682
646
593
484
515
581
587
758
654
614
683
533
577
427
472
679
421
534
715
529
495
793
806
792
507
553
642
758
601
602
498
678
513
816
712
514
696
490
595
737
795
714
738
425
612
440
640
511
553
431
632
489
475
632
466
678
597
722
482
740
653
599
704
807
493
558
755
555
738
663
810
694
589
756
803
609
715
434
531
684
553
594
577
542
679
510
620
700
650
570
482
722
754
544
462
639
695
690
515
533
544
570
709
814
535
615
515
425
763
755
723
770
791
668
686
501
570
709
424
754
775
522
560
477
766
760
560
430
699
687
443
447
517
658
679
685
536
603
797
665
704
745
451
604
552
697
510
527
544
561
642
809
483
451
442
504
625
532
722
476
452
491
677
701
644
603
615
571
623
669
609
531
600
693
667
469
489
478
792
571
780
709
661
772
522
742
814
596
485
531
565
581
679
577
441
557
601
595
451
568
510
731
815
710
669
597
565
563
673
689
529
742
706
475
491
774
626
452
583
749
666
709
701
427
572
627
420
671
701
705
690
449
506
544
538
458
623
496
755
686
440
806
472
820
752
708
497
432
612
765
449
712
706
506
549
672
684
605
515
537
586
687
602
724
606
686
773
669
703
570
668
590
506
708
639
473
632
681
752
646
599
657
741
581
570
799
596
502
437
778
787
424
655
642
610
770
724
785
815
546
777
668
792
552
500
690
585
663
646
781
674
663
565
518
775
424
765
799
666
696
424
744
735
728
460
435
443
435
549
699
748
693
696
794
779
569
511
491
748
689
610
586
657
692
522
790
796
590
734
741
714
510
620
795
637
494
477
668
766
660
745
495
680
718
500
620
770
646
576
814
478
425
448
632
487
666
461
771
666
576
530
648
654
627
456
688
714
544
429
623
741
587
446
644
759
788
497
772
502
445
678
730
518
537
531
675
550
686
596
692
477
505
455
476
593
795
530
487
527
772
771
668
711
814
499
549
445
455
749
546
559
492
577
809
610
705
579
550
663
683
462
802
569
475
606
635
755
442
786
535
506
732
690
550
709
761
646
748
749
528
701
564
688
521
555
650
787
564
716
427
718
806
604
518
635
732
587
647
576
751
549
467
436
563
506
432
736
429
812
497
453
540
604
629
804
808
687
820
629
694
431
694
548
481
755
803
529
662
728
554
625
525
751
488
785
532
479
734
725
685
476
819
458
745
575
442
477
809
730
656
528
794
786
753
736
720
610
613
734
566
768
604
661
558
644
567
426
586
736
489
555
462
734
772
776
496
803
504
599
767
497
576
484
697
776
501
636
463
433
462
496
810
564
662
452
578
547
538
617
499
776
523
754
588
699
798
691
773
760
562
510
795
540
659
692
511
691
696
691
726
548
635
794
545
593
810
594
701
555
490
641
748
491
692
645
764
804
488
558
464
771
656
769
812
573
789
672
466
609
466
691
750
588
518
634
614
720
519
692
513
444
580
758
635
743
640
758
699
780
694
481
599
624
529
791
815
420
446
672
434
542
585
506
670
508
800
766
531
660
605
603
736
608
536
456
815
735
484
617
732
712
719
612
478
603
741
429
484
800
717
557
535
811
730
797
493
555
637
694
443
569
545
686
481
761
631
461
637
745
668
705
454
448
572
637
683
587
761
492
819
789
426
493
728
571
677
742
523
558
468
739
558
732
737
558
542
506
451
573
611
564
706
471
431
442
499
444
612
768
497
582
772
662
745
501
686
797
510
698
615
801
540
818
458
766
770
421
722
735
487
647
600
589
547
588
710
808
762
448
433
768
761
605
563
440
712
681
692
430
758
597
808
575
797
808
421
798
457
538
705
813
678
471
521
709
424
549
796
427
662
765
566
548
554
473
767
773
510
781
716
481
748
763
627
720
743
743
450
518
587
583
516
703
757
587
555
668
709
676
493
746
513
776
820
451
797
526
538
704
678
463
461
738
741
691
722
706
692
426
727
790
502
453
508
667
574
453
511
779
538
732
541
557
591
749
520
705
557
660
609
584
777
600
814
658
721
757
696
734
532
703
650
514
433
661
754
475
471
463
494
766
495
718
722
498
559
560
507
788
767
431
723
684
431
457
532
467
642
574
474
594
448
546
712
711
429
661
449
491
697
569
537
551
483
808
459
576
505
779
489
659
766
736
708
448
521
565
566
764
705
424
663
696
764
756
524
506
436
690
753
555
492
699
807
524
529
752
612
667
585
475
734
570
477
573
622
555
674
532
678
800
547
581
443
774
463
774
701
627
810
553
725
449
819
605
492
476
795
496
756
527
638
604
681
455
554
518
523
728
537
618
695
621
536
647
677
475
622
648
632
764
471
760
810
748
525
787
754
567
790
652
725
557
788
762
591
595
608
802
735
430
483
654
478
610
748
672
624
675
812
793
670
627
700
427
448
698
561
551
675
697
456
594
444
803
479
641
726
434
614
455
422
559
791
820
554
477
689
582
556
560
758
691
703
691
608
628
603
672
616
747
814
537
525
710
632
710
570
756
469
647
598
569
787
658
431
437
584
693
818
516
602
797
558
603
497
803
757
566
632
446
628
542
660
581
460
576
455
497
554
771
559
514
638
572
518
629
518
468
505
692
635
519
692
596
687
474
749
631
573
589
484
493
806
774
815
500
715
798
738
780
587
632
592
503
800
435
599
700
743
637
600
802
750
610
621
445
450
501
444
422
585
722
548
442
437
648
728
751
661
494
460
639
674
421
548
687
550
565
720
603
728
679
447
771
600
453
816
581
564
531
508
463
684
712
633
441
786
712
625
420
502
449
620
454
477
583
546
462
602
485
741
722
694
672
591
509
448
601
703
577
461
502
438
550
519
452
580
491
647
721
759
810
816
593
549
492
591
509
788
468
506
774
687
534
750
579
725
679
557
518
590
730
640
557
686
585
784
523
653
612
445
704
517
774
702
563
689
768
491
440
497
472
595
731
433
459
597
641
480
697
489
525
455
755
465
593
572
728
815
449
609
683
587
647
663
809
468
754
762
695
463
707
625
569
542
725
587
575
721
777
562
691
433
457
575
768
684
690
671
715
723
516
817
754
638
571
571
518
606
440
657
632
438
468
516
647
753
634
510
636
537
805
765
509
789
424
727
554
633
606
588
735
753
665
623
746
546
535
521
594
519
639
455
668
467
672
562
618
735
669
738
765
587
552
774
571
510
799
513
793
771
699
551
780
435
804
776
425
504
705
475
569
533
704
595
467
757
751
646
444
620
620
795
435
441
741
697
463
803
588
446
428
712
460
793
607
429
640
470
789
643
660
566
741
727
569
548
795
732
677
631
492
433
690
423
569
793
810
581
577
627
781
460
580
760
588
491
720
444
784
565
721
518
515
729
797
692
762
440
567
639
617
724
767
630
564
464
717
723
583
693
765
538
636
731
664
618
558
618
806
580
675
555
669
621
723
801
470
751
491
426
535
539
428
787
489
768
472
461
697
789
729
592
617
669
784
463
472
731
532
661
704
717
797
679
549
516
794
642
574
792
465
598
490
499
672
467
539
720
591
496
597
738
496
679
762
631
803
694
514
536
482
788
806
517
677
524
717
633
797
584
635
803
798
649
808
492
580
648
499
729
436
620
690
428
777
730
800
776
779
660
625
524
443
473
620
748
719
437
534
725
658
722
561
788
686
554
719
705
453
763
788
716
460
740
466
717
801
555
517
534
420
549
736
657
571
735
771
563
810
450
614
426
602
755
747
626
654
816
520
754
767
596
518
793
429
749
681
720
474
648
611
576
527
616
602
556
613
652
534
695
723
770
729
463
656
651
761
692
516
666
505
460
627
754
697
565
558
493
804
715
480
735
755
649
633
421
673
746
421
709
488
519
500
661
641
661
544
646
593
497
738
431
677
498
527
557
422
653
730
465
646
505
581
699
752
680
447
450
611
646
575
628
742
421
806
422
522
569
749
605
795
751
590
571
746
624
663
500
502
782
433
503
524
774
497
667
589
537
429
448
808
705
515
819
591
581
491
732
434
662
722
479
637
702
522
801
643
651
810
643
682
787
800
492
721
653
737
616
482
516
664
779
639
710
673
805
640
505
655
758
676
705
815
630
517
439
490
557
646
652
754
510
510
691
609
646
684
588
640
819
515
739
540
447
518
484
555
717
815
482
775
629
577
475
701
806
738
763
775
485
810
662
722
786
512
611
703
759
508
501
573
429
567
578
443
696
617
439
719
779
587
609
465
741
516
562
501
518
605
659
664
576
473
706
717
571
631
606
583
495
700
629
602
475
773
494
724
688
795
441
464
695
588
578
694
715
789
497
544
656
565
574
614
674
768
463
770
748
577
463
495
697
433
536
726
695
817
520
715
568
698
597
457
673
789
540
793
816
750
604
554
743
465
635
756
468
488
431
795
642
431
742
700
475
724
770
811
698
421
454
444
778
810
657
587
523
690
786
649
721
448
455
536
641
640
704
607
550
504
537
467
571
608
614
498
460
519
570
610
810
730
450
431
799
717
530
787
506
775
719
693
563
498
783
465
775
656
685
820
807
660
685
618
427
507
431
753
810
542
778
692
755
568
781
614
746
805
764
558
733
511
519
430
678
510
768
476
497
649
564
600
493
737
723
640
643
745
610
812
507
492
761
763
677
649
788
675
641
520
609
456
740
524
779
574
668
783
750
617
769
481
695
794
452
786
548
680
549
622
547
816
729
655
706
422
731
582
423
762
676
422
737
805
498
672
601
690
496
516
671
484
720
500
658
729
672
711
632
507
636
734
703
520
728
465
423
527
531
453
805
595
435
792
565
801
579
612
670
582
449
815
486
573
486
550
688
459
620
617
780
436
715
521
809
665
599
609
631
451
566
542
512
499
636
770
741
630
725
818
556
560
582
604
753
708
668
813
768
802
768
585
768
447
789
456
707
642
519
768
566
524
512
486
437
592
438
744
816
778
609
592
483
441
461
585
637
655
445
786
552
640
666
587
708
641
728
705
731
520
790
647
669
688
569
668
666
529
480
706
662
745
522
649
502
715
455
717
526
765
617
421
766
701
439
818
448
436
579
706
678
802
620
578
715
648
614
738
588
636
682
632
457
671
642
578
622
517
703
636
471
507
755
524
524
601
644
713
788
810
526
532
657
485
689
600
732
583
766
443
625
570
529
584
634
542
713
466
468
676
472
634
503
670
502
661
568
585
635
746
468
618
748
712
774
462
808
570
558
765
610
582
663
809
726
563
611
819
698
552
736
548
759
699
817
543
755
656
459
719
532
578
783
771
780
505
694
685
569
501
595
635
777
573
723
629
509
784
585
570
470
472
448
506
722
433
621
583
420
425
522
551
614
501
678
631
750
579
564
588
583
802
612
441
563
785
598
666
812
436
721
601
577
769
566
581
681
681
687
607
636
687
766
590
443
511
782
732
578
752
523
657
445
662
766
515
673
670
481
656
543
745
561
659
810
785
421
615
579
683
739
523
598
647
731
665
699
701
735
634
802
790
480
461
636
464
422
723
657
571
678
667
610
522
791
504
610
422
678
561
535
423
462
742
773
572
685
775
521
745
595
701
668
713
534
778
573
771
420
818
804
502
739
640
437
785
770
489
445
655
647
445
752
671
716
603
781
718
508
794
511
665
651
689
512
769
704
642
450
526
527
560
674
772
628
646
799
622
650
722
444
618
563
695
642
589
711
490
623
740
760
665
589
762
718
573
646
807
787
432
795
613
731
512
703
789
513
820
618
717
498
462
496
711
508
663
482
759
455
764
434
701
776
797
584
606
577
599
694
515
665
559
668
439
638
499
610
655
544
424
698
439
646
472
428
693
771
664
742
507
767
700
669
706
593
507
757
471
472
621
801
421
484
738
697
640
742
705
788
468
573
420
456
448
434
688
508
599
706
771
491
448
688
441
451
421
486
449
759
554
787
481
666
678
690
763
636
438
562
803
818
660
623
661
808
619
773
477
532
801
662
662
473
690
591
546
648
790
465
592
725
812
586
550
777
804
595
690
577
703
685
770
598
671
753
577
634
806
689
704
522
551
488
480
596
645
711
509
602
461
452
672
464
705
497
765
481
527
485
606
712
668
482
682
788
586
651
687
473
809
555
619
580
513
454
445
664
729
790
599
667
493
778
462
769
428
485
441
484
556
575
780
702
500
564
454
801
629
664
753
436
504
775
781
464
755
596
543
776
538
606
667
819
610
701
776
527
769
524
704
691
779
628
813
677
585
437
587
773
495
774
718
499
641
484
587
574
620
629
636
666
694
778
479
545
522
596
814
772
741
633
549
758
760
503
683
549
509
610
429
538
539
455
484
505
560
483
601
811
793
648
612
638
434
778
816
453
555
677
625
804
771
453
804
547
534
527
733
591
586
658
540
502
735
604
686
625
579
643
717
691
544
574
704
572
477
636
485
547
461
792
640
464
561
712
485
740
499
694
681
748
670
654
593
722
759
702
624
797
514
569
689
686
702
467
642
781
436
555
655
527
787
807
736
590
637
690
436
549
771
433
785
504
509
666
774
429
785
447
766
735
771
528
650
820
748
667
766
459
770
422
620
709
629
782
577
733
521
530
450
789
430
499
712
724
570
670
712
422
580
527
661
771
462
671
713
622
618
766
472
427
598
510
599
670
574
496
674
532
722
596
650
743
719
694
421
570
813
424
597
433
610
569
731
495
639
638
561
470
745
531
447
481
782
660
449
608
714
593
721
490
809
657
474
495
800
424
787
523
696
783
526
467
758
422
527
753
574
733
456
780
722
519
774
777
793
789
519
555
750
441
441
726
682
815
786
660
498
434
628
768
551
663
719
421
687
438
498
808
625
640
560
477
543
780
529
563
591
581
764
810
817
429
753
551
769
473
570
477
555
720
578
474
594
451
662
652
587
529
667
796
440
510
505
420
465
577
617
428
700
426
460
612
682
718
718
572
464
730
682
768
717
763
744
708
492
658
532
469
540
707
778
767
712
427
774
562
532
778
804
513
734
558
663
518
501
785
643
558
443
572
763
457
771
497
611
733
761
638
499
627
779
790
441
533
544
756
726
436
502
444
686
790
566
607
603
518
568
559
660
454
756
556
663
571
542
742
496
793
425
757
493
464
750
617
647
480
581
786
767
760
647
728
499
647
423
439
791
456
656
643
581
797
555
679
566
452
721
562
520
787
500
755
636
580
701
518
578
563
430
489
462
582
766
705
579
542
520
582
686
450
536
582
815
634
429
529
592
731
803
639
453
623
515
619
772
588
631
433
444
807
772
424
803
711
680
476
783
420
431
507
732
532
490
746
793
638
573
547
668
655
696
803
669
799
442
816
585
474
727
422
795
723
769
819
741
646
671
765
587
809
583
653
787
756
592
797
651
768
505
758
499
754
486
656
469
687
481
772
447
429
774
652
451
486
605
553
562
780
661
703
613
789
493
556
446
668
465
422
530
514
749
660
534
490
612
600
750
694
640
653
566
453
656
780
489
440
562
446
593
497
455
535
532
581
590
471
587
780
427
701
724
487
480
756
703
799
729
627
443
594
497
616
792
728
664
813
525
624
704
773
559
456
712
691
609
599
713
620
669
811
770
805
757
449
638
593
800
486
663
530
540
571
704
529
536
787
448
562
741
440
720
454
777
440
445
450
806
711
507
662
674
490
514
552
625
610
529
624
752
765
637
692
500
429
753
656
449
537
442
469
771
784
428
609
702
768
431
555
450
638
584
429
434
434
664
548
421
567
652
505
424
435
490
718
459
761
503
659
573
662
662
580
616
604
776
703
764
553
670
796
499
808
732
556
731
593
700
640
730
500
476
710
472
483
719
655
599
748
735
592
489
768
801
719
751
470
555
554
746
434
510
700
467
667
529
773
470
639
500
589
651
436
516
607
513
812
655
593
592
758
757
420
804
545
801
662
686
571
663
664
442
473
587
475
750
552
578
816
500
574
803
539
708
464
553
736
562
604
431
526
766
668
659
811
797
791
497
601
759
479
482
562
611
743
498
614
631
500
716
576
565
730
618
472
576
653
805
450
441
437
771
607
460
719
650
735
787
629
431
738
616
557
679
501
769
726
491
549
488
584
629
785
532
721
608
730
493
436
713
602
715
623
462
483
617
657
812
565
632
503
644
575
539
578
669
778
531
634
511
783
520
699
759
425
469
622
759
502
773
531
440
491
602
544
449
593
654
632
492
710
471
519
784
444
524
671
596
755
639
522
755
714
568
523
805
802
588
808
671
810
521
428
797
589
628
442
738
626
480
456
741
426
541
591
489
503
611
438
546
456
703
709
431
697
510
683
703
758
480
711
581
529
600
755
641
483
725
599
431
771
543
664
585
585
549
608
612
478
482
618
660
452
476
490
670
426
802
741
769
447
804
530
721
520
565
726
556
798
694
596
649
744
609
759
468
634
523
610
780
813
539
757
803
562
571
601
802
534
782
459
670
632
544
479
441
477
423
656
480
628
610
451
499
558
802
718
656
541
813
548
720
547
683
529
569
420
651
780
467
794
656
550
703
544
549
466
562
557
694
428
775
710
771
559
672
705
612
639
433
650
510
463
466
540
491
453
432
635
427
741
622
529
522
614
729
455
494
529
467
646
713
808
702
420
758
700
587
692
811
796
789
536
486
750
683
482
602
428
753
609
601
650
545
794
598
616
683
551
630
491
677
774
478
535
553
691
779
735
545
675
794
528
645
476
587
800
673
692
616
796
600
784
460
507
697
454
447
452
493
660
482
517
599
726
616
759
792
760
575
696
783
489
469
790
800
762
569
652
732
433
713
748
747
622
807
775
669
421
622
505
522
650
596
463
451
761
445
795
483
619
587
670
799
657
551
424
572
701
435
539
617
812
696
506
808
797
589
817
473
719
566
772
499
697
649
659
478
587
783
590
519
750
653
759
497
716
638
468
674
634
656
498
568
687
535
656
778
439
584
735
708
718
421
606
436
474
640
551
435
465
689
704
457
423
734
557
474
470
677
735
749
738
627
820
647
582
631
670
774
586
444
470
675
809
533
790
763
505
633
443
632
707
424
593
480
761
742
630
737
607
425
666
438
756
680
605
575
748
770
442
454
753
547
660
763
636
619
716
547
592
448
665
729
645
479
698
793
516
801
738
420
473
643
474
724
675
591
540
735
665
511
585
758
513
704
800
450
738
713
785
653
680
713
561
713
671
746
627
533
564
670
758
562
724
807
482
430
759
768
609
684
455
783
557
511
793
603
582
794
651
699
560
615
559
647
694
682
740
459
804
710
781
593
749
740
579
636
560
461
630
659
505
689
606
683
616
776
588
476
792
426
740
582
535
703
796
457
543
551
717
636
471
793
562
471
739
508
534
547
751
754
525
496
501
664
644
687
590
537
720
541
501
548
450
555
724
727
498
502
497
570
578
708
579
604
517
421
701
752
593
530
683
784
644
629
808
485
463
452
610
574
801
662
594
708
697
464
597
428
649
692
704
488
513
629
695
778
587
532
763
441
633
500
457
693
701
582
726
673
494
442
699
446
599
480
489
623
668
513
720
684
768
810
525
733
638
777
620
543
722
736
740
539
525
631
692
571
711
808
552
682
550
760
691
717
526
436
657
607
693
721
575
772
640
672
458
556
677
720
434
455
715
642
766
487
743
742
655
803
735
807
582
444
687
610
567
441
805
463
693
811
589
706
481
558
795
555
555
424
493
566
659
661
773
606
629
671
470
522
464
639
659
489
790
471
526
424
718
728
735
486
454
771
638
442
570
708
774
614
535
752
516
492
584
541
520
810
615
513
602
744
542
783
534
785
485
798
513
750
557
616
472
773
511
640
708
540
519
577
508
619
624
761
436
745
550
589
514
687
427
562
572
770
514
597
591
722
539
630
656
434
657
774
752
458
483
596
732
480
739
503
442
744
731
459
590
624
642
502
819
448
524
776
427
567
819
781
603
559
492
735
471
766
546
460
794
708
806
789
707
744
820
458
465
498
799
639
640
775
566
520
707
731
487
477
598
446
749
669
572
549
586
531
633
798
715
482
741
540
490
709
671
447
719
484
721
749
649
705
612
742
678
728
796
734
524
621
726
536
574
742
800
808
805
534
483
524
584
808
719
630
650
587
459
519
470
620
789
751
526
753
611
798
473
546
432
425
810
741
688
487
510
494
469
561
501
563
625
517
564
493
597
494
803
722
453
744
814
500
597
597
453
719
569
654
569
775
668
424
498
757
589
454
628
526
459
687
490
644
504
714
768
817
748
571
656
619
543
778
575
447
512
647
533
559
519
594
648
581
697
751
438
667
647
799
522
791
596
532
599
768
819
427
802
537
518
667
753
494
520
565
741
670
456
478
503
433
615
658
709
607
473
677
723
695
659
571
583
738
477
573
734
689
734
801
644
551
466
704
798
636
429
799
777
791
504
560
740
667
556
647
803
696
468
680
764
736
646
680
471
789
703
776
508
762
696
569
670
600
713
646
643
493
428
744
544
646
472
728
520
771
457
688
753
497
463
590
580
528
527
668
657
674
508
577
558
488
702
457
809
820
610
688
655
618
566
793
547
578
650
505
536
692
468
465
726
697
443
739
497
815
534
759
609
453
534
672
599
651
486
639
549
440
576
725
703
812
499
535
672
598
472
591
622
812
649
559
742
647
448
694
642
654
479
425
424
515
810
424
490
610
705
594
551
534
620
456
536
562
446
430
423
460
784
808
537
472
788
686
515
698
486
599
663
639
809
701
480
567
613
692
683
570
467
736
494
664
743
653
595
753
479
811
574
751
749
527
695
572
653
705
783
671
429
773
524
581
518
528
669
573
547
618
521
679
770
614
523
567
429
522
540
790
606
447
807
638
514
619
663
450
778
574
678
567
759
620
469
527
491
468
503
705
562
476
617
629
648
807
787
581
531
564
793
775
584
676
624
563
665
739
532
780
694
584
731
615
544
673
526
710
599
651
761
474
504
546
740
636
754
596
544
552
809
528
603
631
811
679
629
492
617
534
776
569
565
805
532
779
775
626
424
722
517
527
540
423
781
583
520
440
453
680
632
544
712
478
503
598
761
721
622
687
437
433
536
716
570
629
722
460
590
655
763
759
573
759
632
610
701
679
649
563
748
534
694
572
437
664
634
571
654
698
652
575
650
799
818
536
660
795
468
528
732
657
551
695
431
428
618
648
676
622
592
645
751
446
509
761
638
780
698
811
623
452
458
423
775
452
711
704
614
787
552
655
573
806
541
503
627
645
471
503
763
777
729
429
795
607
696
596
485
484
691
622
496
602
765
472
730
447
743
664
651
741
734
746
444
574
543
619
554
562
684
548
578
511
434
673
575
797
711
526
597
747
458
553
729
440
460
493
783
655
760
808
555
556
552
537
422
751
818
519
778
447
785
672
656
720
612
476
767
801
447
590
544
606
657
669
587
575
792
636
732
663
743
547
746
567
511
672
430
534
541
624
736
722
758
571
710
810
713
729
734
693
654
476
707
724
640
744
502
784
505
439
501
492
704
568
687
752
585
451
526
464
497
677
557
528
654
730
447
546
694
625
431
723
550
732
531
667
659
752
526
565
538
589
812
732
430
509
522
531
611
484
682
464
799
787
759
563
530
692
687
505
496
732
697
527
669
447
807
488
452
655
545
729
532
547
461
485
484
637
561
494
649
595
560
552
807
508
747
668
764
537
513
654
441
511
794
555
744
559
420
788
723
485
594
518
577
559
443
440
763
476
488
551
791
659
757
743
622
485
786
629
585
587
475
636
493
792
547
644
643
443
688
533
637
716
501
574
656
495
494
521
673
491
575
453
544
744
433
492
516
448
462
542
437
571
595
544
458
441
511
591
570
513
422
637
661
446
646
805
532
429
588
588
765
607
589
426
643
718
601
816
597
513
462
678
666
811
484
712
561
458
797
630
486
698
801
449
463
714
555
758
676
645
467
482
707
591
758
444
536
615
483
570
734
503
655
755
688
741
532
785
441
714
461
789
587
665
444
517
808
672
620
794
429
586
540
536
783
690
772
681
533
616
620
693
644
452
662
615
709
809
725
431
633
709
682
434
528
510
790
810
813
648
621
730
755
455
536
449
788
774
625
675
710
590
731
584
577
679
446
636
687
800
607
430
759
525
566
551
501
681
753
481
428
424
730
499
600
676
729
591
495
688
424
469
765
704
487
645
731
551
501
627
679
655
630
556
534
519
692
730
771
728
624
477
724
546
478
784
478
547
695
764
713
752
424
645
596
532
512
444
755
467
431
683
722
567
482
457
757
472
669
545
624
529
656
778
767
707
458
744
755
614
453
769
481
515
698
659
602
440
431
493
471
494
623
563
645
541
489
718
747
727
446
782
653
672
717
802
752
688
430
471
782
742
533
581
772
673
500
771
437
819
520
458
563
715
670
809
508
582
507
475
458
490
471
791
528
611
427
522
708
487
625
703
560
812
781
473
500
561
618
518
768
449
533
563
664
468
486
489
785
712
634
748
789
517
692
643
716
530
555
503
578
672
628
421
773
798
634
458
455
655
630
791
429
737
735
502
650
608
765
545
742
443
780
757
745
600
428
466
705
479
726
591
640
428
434
708
697
771
804
697
456
653
627
740
660
555
471
520
684
564
726
452
669
750
589
463
725
532
690
789
567
444
626
439
537
640
468
733
627
466
630
672
422
596
599
431
770
705
487
795
681
693
607
514
485
793
657
648
489
638
797
484
803
632
573
452
762
624
430
578
546
745
595
657
708
777
644
517
656
553
731
702
587
699
457
721
597
701
465
658
616
614
523
546
751
812
702
432
488
801
739
593
500
794
730
622
463
789
803
812
482
645
708
569
672
649
723
607
736
655
743
576
469
624
501
664
644
518
541
687
555
486
515
579
791
499
536
784
566
423
711
656
800
444
794
796
814
468
635
737
573
665
425
756
708
641
651
436
545
669
472
558
473
703
598
802
455
555
449
512
502
763
761
688
651
733
433
768
672
531
454
716
781
792
671
766
702
692
723
798
781
638
604
672
752
581
626
653
611
550
657
650
627
637
564
737
682
565
480
457
522
731
726
426
714
480
667
581
640
582
701
555
758
551
577
545
783
748
717
674
709
706
449
743
655
752
645
570
707
440
786
581
581
465
764
743
798
505
493
473
801
422
760
673
797
754
794
712
637
493
482
480
451
730
598
513
524
688
663
692
448
719
675
702
592
783
663
732
573
795
545
766
560
699
790
638
601
640
819
458
626
459
646
663
809
430
444
690
462
815
691
583
781
582
443
594
445
739
682
811
772
648
806
787
609
499
502
507
752
659
453
696
622
750
792
623
722
530
494
543
699
682
688
520
725
465
780
460
663
721
519
580
468
471
795
640
685
445
517
712
793
553
486
445
505
630
590
437
477
630
514
779
606
679
665
421
514
445
585
441
679
639
500
490
686
669
631
460
471
715
721
516
491
555
622
424
619
782
610
713
477
818
524
564
751
727
693
432
663
454
738
433
770
571
629
594
469
591
598
733
427
658
482
748
597
564
805
493
473
815
574
618
564
615
779
445
706
628
607
464
810
578
673
694
459
788
782
549
757
505
470
772
602
809
534
673
667
420
505
719
553
571
463
608
572
811
425
607
681
728
428
443
576
770
512
682
589
664
803
554
757
672
806
755
630
769
573
745
503
752
439
808
702
581
786
438
696
802
795
693
619
527
566
509
737
494
604
606
511
501
583
748
518
674
532
430
614
488
774
476
793
510
820
534
513
560
742
535
758
792
737
781
608
692
472
783
441
567
554
420
689
563
504
690
626
767
805
730
642
532
552
802
819
607
620
757
524
625
683
437
467
734
674
513
722
506
421
583
643
630
738
531
680
727
492
735
713
721
492
814
726
729
556
512
758
495
579
594
432
806
507
440
783
455
623
715
789
761
659
780
518
700
792
799
447
735
559
612
762
754
520
494
639
496
621
456
651
563
557
721
801
693
702
616
531
457
567
589
576
519
542
490
681
801
505
776
702
548
501
441
686
496
685
749
436
752
672
786
752
596
600
632
481
507
532
697
780
580
550
573
776
594
542
492
770
675
503
452
595
471
617
701
473
634
797
588
685
478
642
700
737
525
464
761
802
747
802
752
716
444
710
682
507
788
715
426
659
543
775
467
557
500
807
522
802
806
500
750
439
799
610
623
656
809
448
603
480
596
667
780
749
810
534
594
507
503
750
708
559
575
486
596
712
530
520
507
717
641
610
573
669
556
608
429
451
515
496
563
442
476
440
494
698
482
707
798
645
502
609
722
484
603
553
618
788
591
502
586
693
552
468
688
735
439
725
443
565
462
586
788
558
741
711
652
709
548
430
736
467
569
556
653
423
435
581
520
665
783
656
811
727
753
420
521
692
770
689
442
496
672
692
451
678
770
782
682
787
813
757
489
484
473
756
697
757
567
681
674
462
611
613
455
677
467
566
523
524
706
448
776
631
589
752
726
474
641
423
692
747
613
599
741
720
553
706
597
465
757
773
661
486
574
684
703
662
462
564
666
481
452
479
486
447
750
510
732
663
585
502
801
546
603
451
556
710
428
595
676
753
446
552
615
794
535
775
667
570
815
460
536
598
637
654
475
480
735
599
646
737
760
701
766
778
437
472
500
501
817
647
495
701
741
766
668
698
512
458
816
580
592
765
468
483
608
807
512
729
501
763
796
490
592
779
684
694
451
816
788
630
513
711
752
790
434
629
621
425
566
755
664
719
661
526
770
662
819
505
671
746
657
456
642
594
476
659
506
623
798
434
529
772
760
787
747
812
683
816
634
612
582
589
574
626
542
623
795
789
460
748
431
431
760
798
553
557
530
537
611
423
544
539
673
458
582
601
673
661
431
774
566
524
604
421
548
469
623
581
584
511
667
785
568
612
497
716
442
769
797
466
656
730
594
444
709
548
628
653
463
580
763
736
743
709
494
800
501
794
742
634
568
492
644
725
587
730
816
744
760
681
432
800
543
451
456
478
724
575
798
792
769
600
773
748
683
627
637
598
451
605
813
450
669
720
787
757
752
493
757
497
425
673
781
515
563
445
693
589
717
599
521
515
606
576
765
753
703
774
775
653
756
510
490
695
489
500
615
702
803
604
506
492
792
572
695
753
683
723
708
738
544
563
688
621
588
463
604
641
426
811
480
755
784
809
537
572
685
701
459
611
651
612
665
768
643
539
485
422
744
544
796
776
677
492
686
797
636
678
489
674
538
547
545
689
618
783
542
450
434
685
511
575
504
605
481
509
624
611
695
549
801
749
509
573
541
776
747
627
745
598
626
727
754
719
482
715
455
663
598
727
640
584
563
779
660
718
717
586
800
652
799
798
688
606
677
581
435
559
727
590
433
706
547
721
550
715
770
554
612
562
457
543
466
742
506
681
813
482
633
723
741
480
777
774
487
570
606
726
517
550
528
424
561
577
765
673
492
728
768
808
638
592
719
770
660
819
639
752
668
755
666
747
673
701
578
626
600
727
424
741
675
558
568
688
673
777
462
617
818
671
681
518
779
688
510
728
758
721
729
741
460
754
568
624
671
469
740
467
601
559
430
766
783
455
631
670
515
700
571
512
794
420
690
501
635
659
658
685
779
431
525
425
604
559
547
631
699
810
501
693
425
767
491
654
532
534
817
621
511
616
714
680
482
505
531
606
734
494
697
627
625
469
668
720
482
785
781
798
445
672
602
719
596
551
449
715
658
483
511
523
768
782
576
628
529
665
713
603
503
648
676
505
515
724
422
605
769
624
545
664
479
544
774
763
741
775
754
724
728
557
537
512
741
435
608
756
510
565
763
490
727
642
442
553
613
661
530
451
703
777
488
599
535
486
495
594
539
652
683
659
582
752
637
468
759
729
786
676
436
591
458
788
650
560
812
562
748
635
759
620
684
428
544
674
802
543
483
444
664
579
583
468
735
426
759
531
442
482
813
562
774
738
745
686
590
686
793
761
817
770
664
682
620
703
711
432
703
747
496
643
700
780
524
544
603
693
687
777
738
689
564
748
425
519
795
731
721
565
454
589
623
749
501
815
790
640
775
700
642
631
529
788
728
632
428
767
578
670
750
620
809
773
735
785
717
754
578
493
635
694
680
754
698
655
566
615
642
711
676
647
802
802
651
698
503
692
728
781
719
580
806
773
757
773
527
531
581
443
552
479
753
569
445
677
541
536
742
467
731
590
624
820
619
453
776
689
705
668
711
421
783
745
807
549
474
582
601
751
503
799
575
443
694
684
703
778
550
811
513
608
443
624
621
519
661
770
569
526
426
638
454
421
547
477
514
818
655
533
589
747
521
620
738
523
546
440
555
547
785
663
622
451
818
746
461
558
631
771
708
731
673
500
439
611
668
806
582
677
774
494
491
487
601
781
469
452
736
771
790
705
498
480
437
713
434
655
655
775
427
752
777
631
457
423
651
514
527
690
603
424
489
489
748
576
709
465
729
543
468
611
691
449
489
688
694
696
473
791
719
663
422
799
565
695
501
623
777
776
424
735
592
792
504
525
473
451
654
483
619
489
586
622
428
495
781
468
777
486
432
671
523
656
438
446
799
735
815
774
612
627
658
519
679
731
611
523
637
651
557
437
538
807
745
616
799
813
585
447
605
643
551
583
758
563
769
725
712
469
567
438
623
761
583
615
741
778
699
732
669
546
731
421
691
756
456
638
793
551
509
725
492
456
491
485
485
793
741
633
458
422
457
735
719
614
664
693
605
819
655
523
809
569
592
766
442
722
787
802
776
808
673
534
578
662
459
805
692
491
743
633
457
569
752
488
633
722
587
794
674
564
458
706
613
604
503
700
737
594
820
668
547
779
814
561
453
460
461
451
632
647
619
737
562
660
698
625
438
617
426
610
751
747
586
431
518
808
800
666
509
648
784
662
464
585
711
641
689
738
780
730
637
786
816
629
534
511
448
650
601
523
572
779
478
633
579
816
608
580
616
684
510
678
777
767
577
561
815
798
487
762
588
682
426
462
790
804
800
742
675
477
755
449
564
500
472
802
541
502
439
771
584
466
454
542
733
461
602
485
455
609
759
449
557
500
625
457
688
553
669
737
701
614
478
531
572
736
467
782
642
591
443
692
468
574
604
594
721
587
572
454
602
794
560
777
468
499
484
579
688
640
548
707
580
527
618
520
665
465
492
724
544
683
696
650
772
733
753
693
699
460
465
599
804
605
521
770
452
729
741
440
805
525
510
787
635
568
500
523
499
514
440
541
689
567
446
791
444
691
434
511
495
514
760
802
652
618
762
568
650
507
747
815
759
683
542
555
466
512
673
589
618
552
558
693
481
522
458
792
496
704
477
463
550
479
480
647
521
734
703
675
550
677
442
728
570
818
494
656
702
453
591
500
789
466
620
577
555
646
762
780
724
631
563
518
446
791
723
643
562
568
791
465
479
569
497
718
632
435
755
683
433
725
777
813
602
574
604
569
485
718
611
817
709
450
722
749
643
675
609
583
550
798
548
423
626
576
568
649
499
674
604
704
585
599
688
708
463
534
453
466
434
546
530
692
657
791
769
607
505
483
534
784
489
449
540
576
443
698
555
664
446
657
513
572
579
676
802
664
800
599
684
566
639
784
539
498
541
786
458
557
662
760
651
671
506
505
812
509
557
802
670
614
779
637
677
803
530
739
561
603
787
501
624
668
443
800
789
686
692
736
683
576
422
479
502
727
559
531
439
530
477
759
651
569
686
618
438
440
700
568
641
654
608
686
660
771
432
512
447
753
540
679
662
649
434
680
685
797
487
638
756
663
489
538
723
445
815
805
452
777
804
447
818
572
651
699
667
460
775
742
789
752
450
713
569
715
798
517
610
774
498
587
744
612
430
510
626
499
717
783
688
683
693
807
489
427
734
659
623
670
445
640
631
498
756
422
738
751
749
658
805
487
536
545
649
648
618
611
682
623
796
481
512
771
491
426
661
448
535
713
787
765
804
442
703
461
498
762
555
457
454
697
467
467
815
474
554
582
535
448
805
668
462
520
732
699
603
658
572
545
818
810
788
719
519
724
621
684
653
623
628
600
701
694
562
649
544
781
712
586
610
456
798
676
428
528
574
721
609
783
442
584
501
431
615
614
605
820
760
659
690
751
745
469
768
754
474
785
626
570
761
711
624
667
557
463
486
584
672
787
717
803
536
705
644
526
545
509
508
813
434
435
707
769
564
557
819
541
504
544
493
623
509
499
746
722
687
450
729
633
587
566
529
546
604
644
455
668
535
646
588
643
436
757
466
714
756
625
435
646
734
739
638
552
421
692
722
702
547
434
736
625
737
558
459
623
653
774
727
537
738
429
650
684
425
599
697
458
574
555
427
473
655
710
593
507
563
545
560
506
567
731
521
516
605
530
664
657
716
660
637
440
791
465
814
741
455
555
493
718
760
476
730
530
493
760
815
618
530
591
609
698
618
678
503
560
514
520
513
703
569
817
628
729
736
539
594
443
741
448
552
462
617
627
612
765
751
539
455
437
673
500
439
485
603
745
801
667
637
593
617
632
552
607
698
629
605
550
425
545
791
682
718
564
493
706
657
678
601
585
679
644
592
461
470
804
422
730
458
579
579
435
494
570
640
469
763
803
799
648
478
690
568
515
453
438
472
816
541
654
461
674
447
546
787
529
681
721
558
804
660
480
535
683
659
808
818
497
501
807
657
511
588
682
647
648
721
548
571
553
732
670
816
509
604
807
591
625
471
462
607
523
479
491
499
559
503
781
444
806
477
728
699
773
596
583
808
485
674
776
799
446
491
431
585
596
809
576
428
428
632
745
511
592
549
617
730
594
730
763
565
582
635
547
653
468
669
631
522
725
517
812
421
675
666
714
690
499
459
579
531
576
777
587
615
695
435
806
666
779
535
498
720
706
790
586
720
580
777
433
688
442
714
475
428
786
436
635
483
716
554
573
749
483
789
662
664
514
655
642
580
458
506
638
528
711
720
491
622
524
494
526
748
560
779
671
746
623
579
459
601
658
552
572
673
518
706
765
581
502
688
611
681
710
773
680
614
712
476
638
476
478
659
511
420
420
515
755
788
690
440
447
683
533
462
528
775
480
648
671
513
730
577
420
469
682
798
785
626
730
747
476
577
422
443
581
696
789
565
786
751
519
484
579
540
795
589
635
479
576
694
574
722
738
674
740
666
707
614
734
703
721
692
605
591
533
541
710
554
794
515
551
551
594
722
580
689
769
724
467
713
583
672
763
533
736
601
690
754
649
461
652
550
473
487
767
482
741
637
694
727
752
654
647
801
740
577
484
479
727
633
661
760
643
635
479
440
532
513
685
788
774
513
564
656
799
676
446
730
780
473
683
762
460
662
723
595
545
637
531
475
421
491
627
687
756
596
483
530
641
625
543
534
716
652
570
782
661
595
558
630
641
495
720
789
528
782
552
796
731
809
575
740
628
625
526
775
772
694
588
761
651
525
732
805
543
624
654
597
466
490
783
748
593
726
651
668
422
632
444
558
717
770
792
504
596
422
795
576
644
653
576
763
800
656
744
439
496
597
807
645
756
439
723
527
646
753
464
455
747
482
489
447
458
645
480
697
444
456
588
626
422
431
691
686
609
631
564
776
640
475
465
576
431
715
532
458
433
532
722
470
638
614
809
649
439
734
523
502
589
498
794
583
472
655
649
634
485
515
760
508
725
441
631
659
500
527
591
565
736
484
812
642
484
672
749
797
807
773
677
777
513
450
475
591
770
545
667
552
817
690
501
480
459
696
573
488
476
697
696
649
764
657
625
696
670
594
546
809
662
659
620
736
571
698
571
796
541
478
554
745
787
682
530
732
584
754
555
715
736
762
447
638
489
740
526
529
664
728
791
548
787
440
599
775
812
471
660
545
723
518
437
704
664
612
820
657
714
590
571
804
700
440
813
576
502
766
763
694
673
504
812
642
491
613
637
698
679
797
442
509
797
620
425
481
563
703
789
706
783
437
694
551
779
441
451
550
501
716
679
567
809
451
489
695
760
666
532
704
654
571
758
451
525
747
431
537
537
709
603
505
535
718
648
645
662
654
540
784
472
562
497
772
492
473
777
527
765
433
493
652
475
802
657
679
638
728
445
624
633
424
743
479
574
700
437
539
820
648
565
661
546
459
489
515
457
769
479
727
569
729
609
811
574
658
751
708
818
641
819
464
682
447
576
548
809
494
526
615
495
812
426
539
560
524
504
566
488
771
653
808
682
805
617
488
749
592
640
486
575
508
651
628
735
819
704
475
490
577
683
643
442
591
544
705
691
774
525
496
662
542
651
691
784
633
436
728
587
512
694
648
650
477
580
467
623
672
773
448
599
639
767
489
615
817
705
494
783
541
820
649
654
590
537
510
587
740
426
737
523
733
574
511
605
641
711
742
711
426
695
549
795
555
731
424
465
483
434
711
487
771
712
765
657
605
730
616
625
488
580
637
817
708
788
511
671
505
438
552
740
663
692
717
464
463
671
493
630
491
699
573
538
492
515
439
544
809
506
631
662
720
499
424
729
497
519
805
794
646
770
726
503
724
480
465
488
592
458
569
492
746
432
751
542
489
603
743
467
443
797
523
508
810
460
550
717
642
450
513
545
485
520
632
531
747
519
476
761
708
546
588
522
760
806
610
525
685
427
784
491
753
573
658
421
626
706
795
790
770
736
546
503
690
663
609
744
793
808
498
475
479
687
504
737
642
711
563
455
717
467
768
727
572
718
811
604
571
589
540
598
608
551
752
484
598
759
522
543
424
643
535
459
662
687
812
455
423
642
482
781
776
518
714
458
795
438
525
722
530
793
460
427
491
569
507
454
782
671
690
726
628
514
701
697
794
687
713
574
632
529
818
555
466
774
497
462
660
465
647
445
722
734
738
681
568
651
552
648
747
617
429
580
490
599
515
637
511
745
725
440
451
720
725
429
628
550
478
651
587
443
399
337
465
376
409
385
374
330
325
378
309
467
379
372
322
351
479
307
450
487
367
436
389
385
431
374
413
474
452
484
322
478
349
311
421
428
410
417
378
481
475
334
492
473
440
404
397
496
495
388
317
300
438
488
381
479
495
346
380
459
476
473
499
354
395
417
365
432
309
453
459
468
495
311
500
333
367
424
443
442
369
444
439
334
371
495
385
351
491
330
484
428
400
337
402
409
491
321
367
437
367
374
407
318
344
394
342
430
314
322
431
468
455
337
327
467
335
429
469
423
368
397
498
363
305
432
339
434
481
466
423
372
367
356
374
352
346
313
451
403
388
334
418
342
381
475
402
352
465
365
411
426
353
457
354
356
310
318
331
402
432
420
497
482
450
426
365
301
367
349
344
499
433
468
325
318
341
324
363
496
484
482
489
302
420
321
314
341
431
477
351
380
413
490
318
389
316
463
381
446
312
349
334
438
460
451
400
480
349
323
493
362
366
338
457
374
459
391
386
319
363
396
438
324
448
408
357
462
414
397
337
473
301
343
390
303
400
371
430
321
375
359
431
453
439
441
423
448
369
386
365
399
337
366
481
360
326
479
445
456
300
414
408
496
356
307
331
352
355
478
323
405
353
480
435
317
426
389
361
301
340
463
364
496
495
499
488
350
333
406
485
306
487
391
306
496
454
327
335
337
421
478
343
481
376
301
306
338
334
364
421
446
407
323
425
437
442
399
365
448
337
430
500
350
360
494
344
325
364
363
474
317
356
445
316
390
446
476
406
494
332
443
386
419
495
352
367
421
418
325
437
436
496
491
427
498
439
312
418
489
493
367
312
371
483
421
340
489
374
307
494
495
471
452
307
313
336
403
315
397
397
436
367
354
318
349
443
383
346
449
436
426
302
397
344
341
369
483
416
439
487
337
387
303
489
404
356
320
339
412
367
334
351
481
486
407
456
395
335
364
328
498
459
380
448
427
373
341
403
401
327
440
372
375
463
474
322
424
346
477
315
410
484
420
499
434
458
470
383
350
314
500
385
478
344
316
385
474
394
394
349
363
451
460
343
443
469
471
444
447
412
414
406
458
330
344
360
415
353
362
467
469
310
479
346
459
497
373
447
300
375
381
438
387
454
363
432
366
432
316
451
321
428
463
380
386
384
362
359
451
373
326
380
477
368
331
361
434
472
466
396
393
319
363
445
352
332
348
406
441
424
415
442
471
419
371
428
410
488
449
366
330
309
381
442
357
319
427
431
391
339
474
433
418
345
429
401
419
484
463
415
379
326
396
437
366
464
307
367
486
379
426
499
450
327
364
306
332
313
320
361
384
448
476
390
495
446
306
445
369
463
390
308
340
346
449
333
362
447
495
303
409
362
480
361
448
320
358
489
383
468
378
497
493
347
426
384
356
451
395
399
431
335
468
438
341
442
419
366
482
492
322
352
442
451
457
389
430
392
311
476
372
374
401
383
388
471
324
494
325
435
327
396
372
301
314
319
451
493
443
394
326
456
438
312
487
462
499
338
488
461
483
473
350
487
379
366
442
363
373
403
469
426
486
324
486
479
352
394
413
475
448
492
429
346
373
452
342
423
499
319
407
487
383
452
364
455
445
304
333
425
482
421
476
348
308
479
491
396
425
490
498
494
494
316
481
400
441
399
301
386
459
337
313
432
394
422
454
488
405
328
399
456
312
412
418
377
397
369
319
500
367
483
398
410
326
440
455
340
375
338
429
400
359
318
315
429
485
350
500
373
419
313
438
402
372
405
373
373
410
448
430
475
477
364
488
429
366
447
352
339
334
470
488
341
382
347
484
396
448
413
305
319
419
496
356
422
332
464
435
432
465
340
398
422
475
401
479
329
424
397
397
412
300
466
495
360
446
489
420
351
387
393
483
456
356
403
413
334
415
438
389
310
374
386
336
354
479
408
347
459
336
358
348
467
346
447
365
423
396
424
471
425
433
306
421
350
305
431
409
403
394
468
475
466
335
498
392
498
308
405
451
319
339
449
414
382
492
306
303
476
356
361
385
377
399
431
416
392
339
328
485
394
467
478
410
328
305
467
323
409
354
394
417
370
355
311
485
495
329
494
414
456
484
373
396
355
368
303
370
446
457
335
342
367
439
322
300
431
488
447
405
452
334
422
427
360
319
432
363
419
344
307
320
426
487
352
318
313
372
380
311
305
443
428
339
352
331
416
419
426
396
380
361
394
309
353
361
341
423
448
322
360
497
443
356
449
346
441
364
414
400
359
335
331
321
405
364
497
351
316
315
356
380
348
425
350
385
438
352
457
337
301
351
426
401
400
452
391
400
388
466
451
453
366
357
434
393
452
365
304
331
302
342
363
330
425
429
451
325
486
341
307
320
482
379
482
471
443
407
466
479
370
325
499
417
410
443
494
372
333
474
396
438
388
468
301
348
491
376
467
349
336
386
398
335
410
494
436
457
477
402
451
458
445
320
431
399
387
499
422
342
360
374
406
491
392
303
442
339
460
430
300
347
385
394
402
364
364
336
341
498
467
488
301
457
418
336
374
472
316
494
412
432
446
474
406
363
497
413
429
324
320
495
328
424
405
385
370
481
500
437
365
373
383
435
489
310
443
451
322
320
478
381
331
444
478
319
365
432
449
345
419
324
421
415
471
454
477
487
348
464
453
326
422
365
432
493
425
485
435
447
335
473
315
416
348
411
483
305
332
358
463
493
488
413
490
410
357
331
458
362
387
328
302
344
335
366
365
361
322
360
312
435
460
315
303
458
357
354
361
388
308
382
360
416
410
492
342
479
421
372
469
418
471
394
399
417
356
399
330
329
387
414
310
340
373
488
433
378
338
311
304
490
391
432
312
417
307
333
366
392
388
402
362
497
379
409
312
489
306
441
488
473
490
323
466
360
400
331
349
405
409
435
487
301
454
400
318
306
323
400
452
354
441
467
462
495
369
483
344
417
491
453
328
366
384
411
325
435
461
350
366
462
363
439
448
485
458
346
440
425
459
473
451
455
489
461
334
417
397
312
359
370
421
304
306
302
343
364
382
434
383
384
382
455
407
329
388
474
442
352
465
414
496
366
373
483
351
387
427
313
300
361
480
394
464
425
319
339
341
400
473
458
301
491
472
399
472
381
310
409
389
310
431
389
422
499
415
435
451
384
496
339
480
448
450
481
358
379
459
488
313
392
311
307
414
491
475
441
386
342
320
394
337
314
487
461
496
444
434
438
424
377
441
358
328
371
468
351
443
432
449
483
453
461
435
370
435
323
419
373
367
444
431
468
348
331
398
450
319
393
343
366
386
413
339
418
378
308
376
495
410
334
316
400
334
362
381
364
399
361
385
450
369
483
370
408
487
378
496
322
438
300
353
418
364
399
385
409
431
442
330
420
424
345
393
405
386
391
478
311
360
445
456
381
408
357
343
450
398
378
428
397
311
437
443
384
339
437
466
312
403
454
326
412
408
430
447
491
427
395
422
414
350
411
407
442
340
428
348
374
395
322
496
329
458
321
421
493
452
365
361
413
423
320
346
308
398
390
455
447
453
383
458
305
369
302
435
355
420
335
392
382
454
310
345
426
309
368
466
326
364
383
421
467
472
400
318
320
470
423
494
387
448
362
406
310
500
372
326
483
450
337
324
472
457
348
386
321
304
413
458
424
346
492
463
471
441
479
305
427
425
357
324
434
486
411
437
378
341
414
458
302
423
305
353
403
352
369
432
499
337
495
490
308
458
418
355
397
426
423
488
367
458
431
307
419
454
378
343
320
377
335
497
486
310
390
440
428
408
371
456
466
490
327
324
390
308
401
465
378
340
419
438
407
324
479
396
403
330
377
414
433
456
362
425
306
320
497
476
391
381
424
316
322
422
422
418
456
463
416
393
396
313
330
441
344
346
420
309
443
422
351
346
361
453
487
318
416
322
378
377
407
483
436
458
341
402
448
454
424
377
353
423
489
357
346
497
398
321
411
401
389
304
431
369
452
360
340
400
435
492
491
379
358
465
396
420
334
386
498
334
396
427
441
311
398
375
387
476
333
407
389
393
483
386
463
451
301
336
367
441
364
304
365
336
460
340
380
384
384
387
384
437
366
315
374
385
337
326
407
455
369
419
387
305
472
410
489
367
442
454
368
342
368
366
438
370
408
328
328
369
459
304
307
425
374
328
382
334
457
448
308
406
370
401
334
408
336
338
388
454
370
393
445
367
321
336
455
335
337
495
427
312
495
482
484
475
330
365
456
466
369
469
439
414
476
464
481
415
333
469
373
324
461
337
418
496
382
338
430
419
357
354
430
416
414
379
350
411
469
364
463
441
433
435
467
353
362
336
360
499
393
487
497
464
483
421
393
481
425
314
327
415
363
420
422
356
457
371
499
498
480
313
368
385
389
486
428
332
437
342
424
397
488
356
414
493
390
418
351
336
353
462
345
340
362
469
325
476
496
317
460
347
424
498
452
481
303
479
356
404
425
440
463
350
310
432
356
361
373
393
388
321
367
322
481
307
427
353
448
433
471
349
328
336
315
478
377
320
321
323
485
300
329
480
500
413
312
469
309
451
381
384
322
447
468
346
443
352
418
328
423
478
308
482
446
380
498
470
349
408
420
357
324
421
332
438
423
459
359
402
303
421
350
357
312
441
410
313
443
418
328
424
495
446
400
346
359
367
330
494
437
313
428
340
478
399
335
352
339
461
396
328
352
406
411
336
387
437
345
373
485
436
460
379
489
472
423
495
449
364
472
377
373
474
440
333
413
327
372
500
312
455
324
349
370
453
350
404
330
358
465
301
438
321
347
484
490
323
324
370
427
411
323
427
379
500
397
395
486
352
417
364
331
337
450
421
367
316
448
485
485
489
477
418
455
461
388
369
339
453
436
460
406
300
468
355
363
480
366
471
365
340
421
499
408
443
426
416
333
346
419
442
362
331
340
371
371
467
362
409
399
374
463
356
439
397
474
383
483
492
485
492
407
402
335
435
352
305
482
437
408
322
434
308
320
356
327
389
403
373
448
378
491
449
499
448
428
432
485
432
449
402
451
315
337
335
476
327
429
451
342
453
420
336
341
337
488
340
347
393
425
447
392
409
334
406
408
481
357
495
483
449
437
384
480
438
330
392
401
453
446
426
330
425
426
332
423
327
420
485
444
329
345
446
320
412
428
467
302
387
391
500
440
432
430
368
308
384
437
352
406
485
473
348
360
411
371
424
495
320
395
387
362
410
465
483
347
498
371
302
367
341
347
398
378
375
333
411
469
372
474
469
420
486
480
456
415
309
389
485
443
332
492
485
331
377
429
444
482
304
478
453
336
377
489
464
383
312
464
451
498
417
457
329
462
316
374
318
421
332
379
363
409
345
305
453
366
475
362
415
338
432
486
418
472
392
487
380
323
339
461
475
375
443
334
336
414
310
400
352
495
370
373
314
406
337
402
425
442
441
304
500
325
333
301
369
341
405
450
491
465
489
323
327
303
346
485
496
393
324
426
499
393
322
328
313
388
322
353
418
381
411
423
411
407
306
349
380
347
399
434
410
348
363
416
330
353
360
345
384
396
448
361
398
490
336
360
482
495
383
465
433
319
340
423
447
488
451
447
476
447
429
311
495
366
441
309
343
452
472
318
371
388
487
453
333
348
311
402
347
451
456
433
401
379
383
339
437
311
468
389
306
494
352
319
475
489
438
327
487
448
449
353
318
365
364
410
476
322
443
352
465
450
412
442
464
319
352
430
326
497
478
311
483
301
477
418
498
449
475
334
349
414
304
449
435
469
389
361
487
406
349
301
375
478
396
500
400
451
324
341
436
375
434
407
487
384
341
436
375
484
323
487
419
367
481
449
309
409
489
335
474
360
341
346
417
480
450
404
428
375
327
332
448
425
401
423
354
478
351
466
402
464
394
411
490
490
418
345
302
452
369
488
316
385
353
428
435
370
455
449
457
486
482
371
477
402
329
314
322
472
349
301
373
348
403
352
342
312
448
372
456
415
383
482
434
428
386
368
384
324
452
362
376
393
363
328
364
313
496
426
393
486
400
374
422
368
339
404
410
347
313
468
320
370
376
374
369
323
363
473
386
377
384
339
475
366
374
414
457
351
488
379
481
455
350
431
458
392
500
303
303
432
468
471
351
307
437
468
427
381
326
430
432
339
314
449
409
395
391
342
410
351
405
387
464
349
352
462
429
463
435
404
378
325
301
482
466
358
387
395
475
454
472
380
427
381
366
492
454
471
461
395
322
375
457
380
315
465
424
319
324
315
407
369
371
321
392
470
323
331
464
332
336
342
408
384
394
332
444
426
441
385
429
475
402
467
476
457
399
342
411
488
413
382
404
347
312
499
390
384
416
400
393
449
365
498
308
460
414
446
365
498
390
448
420
436
403
370
323
486
341
459
386
340
463
407
483
307
361
301
322
412
381
409
365
325
500
498
443
457
323
326
339
342
325
373
493
322
354
337
468
499
410
395
411
304
350
359
444
363
325
456
488
350
325
334
391
465
349
372
338
470
450
429
342
334
482
490
448
477
402
489
300
379
331
478
373
405
407
410
355
306
500
352
405
307
472
356
310
473
468
358
387
378
410
471
493
313
447
312
470
452
300
411
371
381
306
401
492
322
340
344
457
377
332
387
422
387
417
486
341
424
450
402
421
365
384
455
382
301
300
484
360
455
307
366
372
411
468
416
448
481
305
349
444
496
317
405
418
490
408
410
421
403
324
334
337
336
313
373
394
406
426
446
361
436
386
482
331
326
384
351
330
492
398
334
405
326
417
444
465
450
437
491
339
435
359
301
388
348
373
403
487
360
380
411
466
407
308
305
306
455
408
404
361
483
343
370
482
463
349
403
388
393
449
371
472
331
471
418
330
490
457
495
456
343
432
424
477
411
314
439
443
327
372
365
484
438
414
423
474
487
465
496
477
422
369
399
396
380
348
316
478
337
353
402
373
497
459
369
495
371
377
434
327
479
470
354
379
363
386
342
370
497
441
326
408
385
499
454
358
406
371
483
316
392
426
401
495
316
461
424
302
386
315
473
304
473
346
397
349
418
326
406
438
470
406
363
357
358
317
485
332
418
499
479
431
453
330
499
494
489
489
403
492
408
367
358
348
330
367
315
475
476
426
420
474
331
483
323
476
370
368
358
319
427
355
447
383
326
443
434
326
307
479
342
473
321
413
440
435
491
449
498
488
388
352
308
460
420
420
408
461
389
493
315
439
305
333
319
357
409
426
474
309
385
410
444
327
490
412
446
424
329
418
445
376
496
405
375
396
304
488
304
387
498
346
342
325
316
494
442
404
312
347
388
380
484
472
389
357
418
424
352
450
399
378
341
449
428
437
406
429
388
306
383
428
487
368
389
445
427
329
406
355
316
341
434
431
405
336
321
362
434
405
461
408
382
311
494
383
454
484
330
456
332
348
358
397
483
433
367
482
403
380
401
386
311
481
457
314
392
362
353
416
469
448
313
408
470
484
312
427
330
355
332
380
303
416
452
474
394
498
432
447
384
470
324
449
358
329
308
323
492
495
480
480
322
374
313
325
496
385
446
344
435
486
367
384
395
345
315
344
496
491
450
342
478
324
357
346
355
404
333
452
427
439
477
456
372
388
332
312
355
478
311
309
310
444
381
364
370
441
460
340
373
341
303
359
455
328
393
388
414
331
361
318
484
341
405
382
366
478
477
310
469
320
380
394
337
401
436
376
333
374
488
382
362
401
327
381
499
411
300
483
385
404
381
479
404
343
442
312
411
373
387
376
384
360
412
304
317
473
430
389
419
476
333
417
301
308
327
316
309
307
472
307
408
479
415
495
346
332
424
344
491
311
354
301
331
495
389
408
491
497
485
361
460
382
412
376
420
390
489
336
319
318
458
473
398
482
466
450
300
327
469
329
336
498
409
455
456
301
495
469
360
449
319
365
475
482
474
363
445
462
468
447
497
484
345
403
414
301
384
315
316
456
406
484
427
430
429
456
357
447
358
464
347
346
447
485
430
366
463
366
495
411
313
410
425
405
470
425
362
490
342
463
301
315
483
319
427
369
477
334
460
395
328
408
305
374
453
318
483
472
430
404
335
331
381
452
425
481
365
365
476
302
481
432
461
329
384
442
373
425
403
417
335
412
467
469
473
368
447
399
330
439
316
389
433
442
424
326
381
349
498
400
439
392
366
491
419
483
431
366
395
327
323
440
404
414
326
381
473
411
353
367
405
351
421
431
412
498
325
454
480
387
300
479
333
347
468
450
441
409
334
482
367
373
418
303
499
409
442
301
308
430
463
420
322
349
495
407
306
498
457
317
346
463
377
487
374
329
304
477
466
398
329
356
369
411
353
397
349
335
409
472
405
321
484
305
419
424
328
367
479
428
432
498
387
452
360
435
374
358
441
305
402
413
370
336
413
341
326
408
377
345
428
361
494
464
300
497
354
376
455
411
470
450
335
402
443
455
345
395
347
448
473
397
390
324
454
418
330
356
378
364
470
378
329
473
446
311
431
456
339
363
500
449
471
433
391
480
340
330
319
353
435
331
307
304
312
453
398
334
330
354
432
354
303
387
470
482
499
488
389
489
437
418
500
481
331
416
413
343
451
422
424
465
481
447
475
328
331
334
456
313
465
438
405
425
359
450
410
480
379
489
401
329
341
391
463
414
381
331
447
370
351
304
460
472
319
457
340
328
372
484
433
382
464
431
338
421
381
435
459
461
372
351
377
314
423
418
400
400
343
449
380
408
449
484
320
327
318
479
304
433
331
441
388
360
428
389
300
439
467
305
450
302
385
432
429
349
406
421
301
404
307
431
361
414
498
403
376
387
483
455
439
447
333
310
336
350
447
474
313
430
422
319
489
497
302
489
300
402
309
377
379
448
498
358
325
447
382
301
333
492
361
322
368
306
360
434
390
403
368
373
353
313
430
476
481
479
500
330
495
391
323
367
302
385
353
368
381
439
446
393
393
428
323
429
398
444
331
309
402
340
343
381
465
390
341
303
477
443
435
324
408
308
397
449
408
445
492
321
414
479
434
338
382
482
422
456
465
384
405
437
439
451
423
475
409
475
380
348
300
417
351
470
313
379
359
460
399
470
347
413
480
419
481
383
394
467
340
424
452
362
430
467
416
344
385
459
424
311
316
449
446
470
462
414
402
454
308
338
365
410
493
327
484
343
463
449
439
493
327
459
424
415
421
320
308
327
411
448
414
320
458
417
457
432
494
452
476
399
481
479
445
464
372
383
497
312
447
334
312
413
351
500
469
452
479
318
424
333
487
463
454
325
357
398
370
492
365
320
491
309
381
459
309
333
382
469
496
367
402
420
425
361
455
459
365
444
442
379
500
384
356
379
474
413
440
444
500
309
365
358
358
424
304
345
436
366
407
424
302
306
306
337
488
463
325
371
411
489
380
367
363
497
459
382
355
470
441
414
430
358
377
426
398
409
360
467
459
414
452
455
397
485
321
332
425
442
464
354
365
406
311
375
472
476
456
316
466
453
376
334
396
376
450
335
494
449
393
479
453
334
484
401
320
371
407
303
431
302
373
404
311
499
374
448
355
452
346
303
395
440
458
388
484
405
356
491
500
409
408
338
345
403
414
432
407
482
453
478
408
400
344
346
384
492
316
388
345
350
324
453
381
408
499
316
306
480
408
340
455
443
328
366
414
416
349
301
310
331
458
312
402
390
308
479
460
399
384
313
409
462
472
481
344
497
317
450
302
466
362
334
352
330
429
427
365
364
323
321
351
494
473
441
464
319
336
323
465
461
390
334
414
392
345
481
459
449
378
345
320
437
317
401
450
359
435
392
392
387
300
303
415
347
380
481
458
389
311
362
450
403
470
435
346
415
394
308
378
438
325
357
461
303
463
423
302
491
404
321
359
449
316
364
418
418
405
449
451
316
347
479
330
481
475
488
418
445
330
454
300
362
309
464
413
489
473
485
431
310
374
482
336
455
376
350
473
462
406
434
399
315
366
446
392
432
500
356
475
424
325
379
390
338
411
328
497
345
488
321
402
366
339
374
338
327
457
482
374
344
385
424
357
473
444
315
410
372
448
431
383
477
303
410
434
459
446
369
402
426
406
484
412
303
448
309
371
477
358
348
337
308
400
397
493
450
398
345
488
495
432
367
435
476
420
378
312
393
477
353
331
489
303
410
477
462
475
436
387
386
402
347
446
440
378
458
371
325
401
337
311
467
310
498
470
476
385
365
397
459
453
407
432
316
464
410
359
392
366
314
442
435
391
462
312
425
389
498
498
362
435
460
465
327
311
491
359
306
466
360
413
482
456
456
349
412
394
459
425
333
407
455
416
491
316
374
403
349
369
442
322
372
465
334
468
380
488
444
381
495
343
409
483
429
324
416
355
406
444
453
428
439
321
385
432
331
463
437
303
392
304
376
460
498
421
450
324
394
321
474
384
330
391
479
487
335
485
378
398
452
360
320
365
439
327
343
440
302
318
312
371
463
414
311
323
492
377
393
342
344
494
378
447
318
461
369
445
391
309
438
388
473
453
402
377
437
488
349
445
388
443
428
321
377
439
317
313
322
354
417
459
306
461
353
436
482
388
381
473
331
335
418
342
446
331
380
352
392
465
397
459
370
423
405
343
438
496
307
435
419
314
462
446
353
453
343
350
336
409
439
415
335
352
341
473
398
370
380
488
348
315
482
388
312
494
388
409
389
314
435
301
440
327
313
417
346
367
423
319
325
494
315
483
430
460
338
333
380
483
370
451
430
398
439
301
320
351
464
457
439
305
493
386
391
434
480
314
476
443
378
384
429
490
312
440
400
442
359
304
452
477
437
446
453
408
374
330
429
329
372
372
348
359
474
350
461
380
342
397
458
321
319
431
474
436
398
383
447
404
377
393
455
322
349
481
391
433
360
492
471
310
355
488
339
373
334
463
452
342
374
306
321
496
329
462
422
384
439
419
365
383
486
317
335
394
460
440
311
391
364
463
317
355
456
482
423
458
474
313
389
326
491
493
351
446
366
318
316
441
349
497
414
372
336
459
362
487
441
363
466
329
343
412
301
423
396
403
336
423
404
353
467
415
461
456
428
457
430
440
497
318
382
317
404
367
485
442
392
390
347
318
442
410
480
382
416
401
412
482
316
349
348
431
424
428
409
355
417
479
340
320
369
305
485
419
425
317
465
390
327
402
484
389
341
355
377
493
389
479
312
326
472
429
429
310
307
487
466
437
407
364
488
408
413
442
397
430
451
316
419
309
376
343
385
357
450
382
496
378
340
481
351
358
334
349
323
387
467
341
317
368
301
305
435
453
325
324
421
342
326
382
468
440
404
457
350
495
482
345
400
457
456
395
366
418
475
443
468
324
488
451
353
499
301
337
393
488
403
460
370
365
381
334
430
439
435
419
499
400
434
364
451
334
407
459
330
479
494
380
433
397
399
375
360
329
451
351
349
468
326
394
500
390
431
359
326
335
496
482
320
300
300
470
350
379
477
491
333
465
365
380
339
407
376
322
319
354
360
423
427
441
315
495
368
490
451
321
341
316
407
365
358
447
348
327
332
496
430
329
462
487
365
363
342
395
365
357
387
458
309
442
334
473
395
413
367
474
440
364
469
325
477
500
424
416
457
326
371
359
301
471
410
482
358
470
469
490
356
413
396
389
468
366
448
352
332
341
500
385
404
402
362
402
429
460
453
316
319
456
416
398
369
410
499
313
309
324
466
341
422
468
380
496
490
471
349
309
430
355
315
399
431
465
470
384
337
438
441
499
359
485
397
451
443
478
316
383
352
315
447
389
310
368
471
426
392
378
426
409
443
449
495
364
436
315
472
341
404
430
319
315
395
442
422
456
348
392
422
348
441
464
411
384
301
478
315
492
496
330
488
349
456
354
494
396
450
432
454
333
330
344
466
438
488
394
330
466
319
397
471
356
356
468
399
423
313
365
468
457
346
433
398
454
328
458
389
459
373
365
443
443
440
430
343
423
381
362
488
412
334
365
497
325
392
331
428
497
332
465
412
429
413
308
360
449
350
346
428
355
477
498
460
377
390
477
488
439
319
359
498
476
417
489
474
405
499
366
416
350
384
482
438
382
305
410
482
447
469
352
328
305
468
439
499
313
339
380
414
485
363
398
445
361
326
389
435
420
401
378
475
361
329
372
365
379
416
394
488
365
472
379
347
328
498
422
422
443
452
444
477
478
377
476
409
338
311
465
409
352
436
332
403
469
354
363
365
473
443
312
457
390
400
375
479
412
497
481
421
466
410
323
396
323
476
381
363
421
309
494
428
306
453
403
342
478
385
497
378
362
377
300
465
340
353
434
434
493
489
431
361
490
302
372
387
364
381
426
385
329
403
494
499
307
383
438
384
372
448
416
334
480
377
493
401
365
390
350
351
468
384
484
373
475
437
385
312
305
492
498
360
325
372
426
488
486
436
477
343
382
392
479
464
321
500
490
483
446
309
352
479
371
364
461
391
381
320
475
324
320
317
390
343
390
361
409
330
494
449
372
475
380
475
456
313
319
328
338
448
482
480
379
395
430
326
342
436
310
412
308
342
481
320
454
465
375
432
474
498
464
316
319
415
471
355
411
403
456
353
425
355
484
455
341
450
329
437
317
335
463
499
481
368
419
472
369
346
436
388
433
439
489
436
486
312
466
437
469
342
314
343
427
449
492
379
333
343
317
435
467
304
422
434
490
380
471
319
403
353
304
329
442
381
303
316
345
483
447
435
356
425
476
379
425
328
308
387
371
423
366
442
498
303
362
365
442
468
335
319
421
367
478
387
313
354
481
459
331
352
461
340
440
443
500
375
483
451
410
484
328
477
417
439
310
403
340
462
482
500
433
472
342
389
309
480
494
428
383
308
317
484
319
446
329
383
357
456
380
326
307
429
354
380
486
474
371
386
395
379
333
485
364
432
303
413
407
401
422
414
431
365
385
326
311
431
435
383
338
482
311
491
456
447
392
453
353
405
361
454
443
488
465
449
378
418
460
380
337
387
310
490
468
326
467
460
377
312
488
468
470
374
492
433
395
387
321
413
415
428
330
461
482
325
330
421
492
447
342
460
440
406
412
433
353
479
366
312
353
486
408
358
455
486
481
444
500
318
307
490
467
416
489
416
480
421
470
334
305
361
408
399
490
427
352
378
496
482
368
359
364
448
444
455
465
479
459
420
364
419
472
341
497
418
493
456
383
436
491
383
489
496
447
407
478
321
499
338
410
446
470
365
447
412
306
486
322
343
374
341
429
346
465
470
314
309
468
433
358
431
467
489
347
425
326
412
437
484
495
488
375
348
392
445
470
390
427
389
319
472
340
348
412
464
476
450
389
497
480
481
446
307
303
480
314
400
398
388
331
435
438
421
458
453
324
315
477
426
403
407
325
379
406
349
419
437
425
301
471
385
347
340
352
358
426
384
328
428
337
322
499
404
364
468
341
305
451
326
335
448
472
315
499
376
424
424
414
340
301
428
325
389
444
368
458
353
445
322
376
426
347
342
450
333
329
389
318
448
498
323
307
320
327
409
370
485
344
306
369
484
494
344
349
368
495
496
357
333
478
474
383
374
448
480
328
416
498
370
486
445
322
396
321
412
305
331
484
313
456
420
321
499
395
478
345
393
318
480
419
442
456
389
309
400
475
405
471
353
426
398
458
384
472
353
364
366
369
352
317
372
451
481
307
399
416
399
334
443
451
306
424
408
390
380
496
500
468
394
425
453
407
497
432
393
429
433
336
332
409
345
405
496
338
313
466
443
422
435
326
437
375
324
425
321
470
351
418
495
464
410
479
388
407
379
372
369
432
349
363
462
491
413
330
402
483
482
451
323
423
306
375
490
436
386
441
305
465
307
338
383
385
321
338
500
461
369
390
441
330
413
428
351
481
355
389
324
486
328
327
411
483
449
391
406
345
481
310
390
366
363
471
316
432
445
373
411
415
339
399
427
364
441
460
455
301
441
368
312
351
489
426
378
396
461
392
343
336
409
339
324
384
313
334
325
313
304
354
488
326
460
313
439
431
339
488
401
474
478
326
461
491
349
467
317
426
479
313
324
304
450
457
390
324
316
374
468
336
381
410
308
455
323
325
425
419
439
461
469
344
325
314
416
355
394
360
498
500
437
397
407
390
485
356
310
330
390
377
481
439
428
331
322
320
378
321
406
392
329
319
319
387
357
388
399
464
439
417
363
385
499
499
306
465
450
461
455
399
405
344
356
376
463
440
430
350
434
475
311
330
364
447
396
449
325
302
461
362
352
333
417
312
375
321
381
340
397
411
341
464
360
364
461
494
391
405
349
485
477
385
347
321
365
314
420
318
468
366
407
420
373
392
402
323
417
469
363
390
490
373
328
302
497
446
336
319
451
424
396
426
465
389
370
361
328
308
455
339
314
309
400
412
401
334
366
482
487
417
458
398
500
491
319
311
388
392
394
379
335
352
406
406
318
421
439
307
358
349
377
491
444
322
331
441
391
350
321
392
361
365
481
460
394
385
438
354
479
346
342
337
339
300
471
484
404
440
379
444
427
444
303
466
484
459
325
383
480
490
439
440
463
456
421
421
375
307
481
474
397
366
400
410
388
371
467
314
455
458
470
483
326
334
380
475
312
348
409
342
300
382
440
397
368
410
346
460
400
341
485
436
360
329
350
352
380
321
395
307
388
339
491
498
448
370
374
485
460
339
315
364
332
397
467
380
451
302
469
357
414
456
417
434
407
417
479
318
472
466
313
339
364
350
400
484
485
485
488
389
447
390
449
357
400
447
460
388
394
383
409
422
308
409
395
369
430
322
447
498
319
499
485
373
429
322
316
400
341
343
412
364
488
440
392
341
399
481
405
492
445
347
484
491
445
495
459
445
326
391
307
320
468
307
361
372
411
372
433
338
442
447
357
304
423
486
368
431
467
433
390
398
383
306
428
337
450
457
437
494
394
336
303
440
346
412
341
470
346
487
383
426
304
400
330
446
420
484
495
455
388
349
434
317
384
447
336
311
434
431
367
411
462
339
303
392
453
392
404
496
407
307
444
355
469
443
328
362
398
360
447
373
347
475
422
406
448
398
303
376
318
356
396
421
455
417
376
316
358
484
422
338
314
392
389
445
326
449
331
415
326
390
411
459
304
369
420
313
466
384
327
388
448
374
496
500
391
329
400
366
439
473
308
482
394
463
426
381
471
423
420
306
495
340
493
387
475
333
331
403
364
486
307
318
310
435
361
387
321
307
359
378
484
406
326
470
426
385
386
484
441
435
332
496
307
337
374
344
485
308
344
478
373
386
412
464
378
449
311
399
494
365
432
481
429
498
493
443
332
389
500
315
331
334
446
325
450
330
419
441
329
342
326
428
380
478
386
306
328
446
482
379
419
331
453
306
419
347
493
462
410
369
468
351
302
312
308
447
376
347
324
335
354
428
390
438
310
303
429
405
320
472
322
402
300
471
383
400
439
414
392
346
305
469
379
397
409
447
484
463
376
342
332
472
487
408
473
361
384
456
315
496
352
452
429
317
370
424
493
380
430
351
455
400
422
401
417
323
418
380
401
473
353
326
477
381
494
349
437
355
307
310
486
465
379
337
332
395
345
334
403
491
326
434
308
351
335
457
458
440
305
498
316
380
388
400
490
436
300
385
323
485
336
373
426
434
313
420
474
405
432
493
346
463
365
315
420
437
333
341
421
443
389
479
330
401
418
367
405
425
414
478
333
386
328
405
319
466
478
325
439
459
346
471
329
413
383
361
311
343
363
349
451
345
338
347
423
494
339
348
309
381
472
451
462
350
413
315
340
338
392
329
324
331
397
374
467
351
326
321
448
394
453
423
450
334
422
301
481
372
381
423
392
378
448
440
362
411
400
482
412
383
477
356
311
339
478
436
472
377
395
329
353
394
441
498
402
415
331
392
350
364
415
378
350
379
367
405
308
361
463
381
468
495
418
441
329
453
463
316
309
385
409
434
402
422
438
478
391
424
396
370
337
385
311
381
484
359
402
481
386
470
450
413
317
352
415
376
470
470
475
313
465
459
356
310
397
477
482
450
306
434
417
396
477
306
451
360
352
471
302
470
390
423
429
367
367
466
388
479
342
318
303
316
417
420
455
458
457
424
487
479
453
428
349
365
395
359
479
359
414
342
324
431
342
319
406
393
403
331
458
338
383
368
440
314
331
475
404
424
357
446
480
493
339
413
399
333
353
456
405
348
337
368
340
311
372
445
327
366
419
362
348
378
350
374
364
420
308
309
306
310
420
492
332
444
428
454
420
427
325
415
311
310
487
375
484
325
460
442
460
394
458
330
354
408
426
333
359
327
350
481
310
368
305
381
335
314
405
395
328
492
405
401
494
487
428
383
347
372
351
464
395
334
358
326
333
338
357
467
360
442
386
409
389
357
417
355
406
400
367
357
358
319
405
459
464
340
421
449
452
447
431
424
343
488
354
447
412
426
498
416
442
345
303
469
337
309
487
438
401
428
487
420
494
336
434
425
490
334
471
400
370
358
363
427
494
464
378
429
471
496
341
318
392
335
305
330
497
353
339
490
405
312
474
322
442
347
308
429
493
334
414
443
469
319
350
346
365
320
379
425
485
485
409
444
464
346
465
440
308
436
391
320
430
400
327
411
424
397
400
366
485
406
327
325
315
453
350
436
329
422
435
324
401
458
419
461
374
491
403
367
490
410
456
496
382
380
394
496
414
496
365
416
306
407
308
319
397
475
367
485
465
368
327
363
318
464
474
414
375
391
420
327
337
422
403
306
347
457
451
461
447
351
456
382
414
315
330
447
450
331
396
406
387
351
322
428
353
444
419
432
474
327
393
379
407
409
427
428
441
432
394
433
421
324
373
330
416
500
377
492
407
425
345
374
318
332
303
399
362
388
321
345
472
377
386
442
321
303
451
341
475
439
364
343
320
383
443
436
395
487
494
497
355
390
363
437
321
383
460
444
492
496
423
336
361
316
370
391
395
391
452
349
345
498
323
465
380
384
484
495
402
454
321
447
413
301
388
434
476
416
438
392
444
484
461
345
480
316
302
474
350
375
473
445
325
422
361
478
322
452
354
334
420
333
444
339
357
493
456
441
318
463
486
414
466
447
467
464
379
403
478
401
391
451
453
489
493
336
361
369
440
386
339
492
499
438
427
486
380
401
380
461
486
402
419
330
402
310
372
435
300
310
327
361
371
384
344
426
353
456
495
359
396
416
309
490
373
392
409
311
349
475
337
396
407
434
322
376
328
352
456
429
364
498
492
405
373
347
394
315
500
474
467
308
369
335
330
327
336
391
489
424
336
353
382
324
406
349
432
495
490
397
344
392
368
455
500
315
323
354
471
410
373
408
405
355
369
330
338
332
354
367
469
484
451
363
460
448
301
397
396
486
419
489
343
464
342
379
310
382
426
371
348
477
350
311
389
479
499
385
364
306
492
428
391
402
351
339
499
389
364
399
365
386
376
493
437
357
423
489
366
318
379
407
490
488
489
329
471
355
480
395
431
349
313
451
475
428
306
306
308
381
486
364
321
399
401
359
314
328
326
304
411
438
462
385
335
444
352
487
497
322
382
341
443
370
310
457
456
367
429
436
400
484
432
343
375
413
333
482
402
443
393
321
365
419
450
304
440
365
383
417
460
395
464
428
449
474
300
439
373
498
315
317
411
354
476
439
454
467
417
311
493
334
382
494
470
423
409
467
417
322
413
358
463
449
313
338
455
493
339
310
352
456
458
458
461
494
312
305
365
348
458
461
314
466
490
364
329
458
357
302
433
481
371
458
453
385
355
341
500
339
326
421
346
325
460
432
353
494
340
403
345
449
460
322
303
327
307
361
389
347
413
366
405
381
324
440
420
327
309
325
333
300
361
385
467
397
477
374
461
313
493
439
430
392
478
373
469
488
418
477
496
489
312
417
450
489
420
473
373
350
455
433
419
305
489
379
368
328
456
471
411
351
477
367
469
479
396
393
350
485
370
422
496
420
350
481
338
381
359
409
421
480
408
364
472
441
307
301
486
326
456
333
448
307
457
428
456
447
413
417
335
468
496
471
478
324
358
346
344
497
474
323
485
388
451
491
376
482
358
500
365
429
361
430
447
476
410
485
305
300
364
305
302
426
359
358
341
446
497
337
412
378
380
471
417
499
472
436
351
423
475
467
345
360
432
348
411
340
312
310
341
310
345
451
435
476
439
389
308
490
329
420
456
323
445
391
348
440
461
411
479
476
425
495
445
385
345
416
312
345
451
423
339
317
425
494
452
481
352
442
373
386
471
339
380
333
366
337
494
365
462
370
337
467
402
408
387
486
317
448
472
466
375
360
374
327
406
378
467
326
305
330
485
489
366
443
489
466
321
455
337
314
384
427
300
499
312
392
389
337
427
456
473
361
310
459
371
445
428
425
368
380
441
474
366
331
334
426
307
386
491
420
373
342
318
328
485
416
466
313
482
460
361
436
380
323
472
428
372
353
372
430
460
413
304
352
329
329
300
418
453
477
430
493
476
488
313
350
366
433
353
480
352
314
367
314
382
457
435
472
439
436
446
343
438
346
319
441
312
333
348
444
402
390
428
327
379
467
355
349
349
363
336
439
461
425
377
321
483
409
355
401
438
333
432
468
325
315
469
323
420
373
446
419
369
361
416
491
330
351
311
376
398
366
321
422
480
451
332
476
381
371
401
460
402
411
311
433
341
457
390
478
331
359
353
378
389
413
356
340
460
468
370
412
373
489
343
424
363
482
438
450
342
447
327
372
427
392
302
398
380
464
486
398
471
379
303
382
486
425
435
465
368
388
352
400
432
380
435
430
434
324
363
487
454
476
370
416
344
310
374
379
416
364
377
390
435
345
356
305
466
393
333
433
330
439
413
359
478
304
356
474
397
378
324
456
429
482
377
317
477
433
471
500
380
367
444
398
335
330
334
460
450
449
405
396
476
499
369
394
336
414
414
348
433
445
409
460
344
325
459
415
379
345
318
411
460
482
500
302
408
422
429
346
359
320
429
366
320
421
317
432
314
427
430
498
407
315
341
375
420
428
482
397
497
358
488
357
414
354
343
309
368
304
437
386
306
312
323
429
441
443
422
305
400
325
308
356
357
314
427
498
440
310
372
413
424
426
440
337
417
379
416
452
403
453
469
489
495
365
326
393
388
459
400
418
335
493
306
321
460
403
498
319
461
436
320
356
322
392
481
370
313
326
366
488
346
370
491
451
349
490
497
477
349
499
422
454
432
428
335
326
360
447
388
468
415
333
497
463
488
490
442
359
461
344
376
457
345
326
378
326
384
330
328
322
399
406
312
313
471
300
435
347
492
491
347
312
445
468
302
447
433
322
478
409
473
374
306
434
461
439
365
346
485
403
482
401
494
427
368
352
423
331
321
301
500
449
350
348
488
489
355
337
415
450
436
490
401
400
484
494
454
317
398
500
374
462
333
348
311
302
317
342
475
311
401
389
415
404
437
341
342
333
448
359
381
453
391
448
379
352
471
472
463
483
486
364
361
440
489
440
435
308
405
385
465
400
421
476
425
415
495
388
386
355
483
316
351
354
410
382
343
396
474
486
365
464
308
304
352
371
367
341
428
412
367
498
326
410
473
463
342
395
428
314
463
500
395
416
483
368
469
498
314
376
433
400
476
363
316
312
310
333
447
359
447
376
480
451
341
320
338
300
380
386
318
468
334
361
349
342
361
456
360
382
318
349
302
306
383
499
393
369
420
323
482
353
461
469
349
334
351
330
449
342
418
359
319
344
406
496
312
479
474
310
452
361
458
318
459
394
322
319
403
397
300
404
333
310
399
330
424
365
427
333
314
340
321
315
497
383
446
498
363
477
466
447
330
428
422
406
352
490
433
446
411
436
329
334
316
379
306
443
497
383
347
391
484
427
464
455
343
325
445
445
423
468
424
422
449
496
407
329
335
381
460
429
327
406
405
315
417
304
373
303
487
480
393
425
424
448
492
453
453
342
474
304
422
379
442
305
466
477
365
314
441
464
328
336
385
352
378
429
319
389
383
459
405
472
382
351
466
321
492
449
412
390
462
303
391
441
367
441
474
439
415
413
321
422
377
316
380
367
373
337
458
395
326
337
344
408
336
439
338
454
361
342
346
469
337
466
433
445
480
300
483
482
338
458
455
485
351
425
404
491
419
321
481
321
434
440
366
412
440
465
406
380
371
411
339
318
495
310
476
494
495
426
341
446
331
419
352
408
461
388
337
308
328
333
428
378
328
332
405
420
465
387
350
310
483
323
463
417
402
318
498
405
357
470
500
440
340
452
333
491
449
428
431
409
485
394
384
381
492
300
365
397
450
464
351
458
464
381
314
363
304
354
442
409
306
475
479
446
311
395
311
415
420
421
356
492
471
395
436
348
303
398
492
398
394
491
463
458
353
354
328
410
317
418
402
340
477
346
372
399
365
355
377
417
335
321
332
342
369
400
413
309
499
412
485
462
355
390
444
431
322
344
394
387
350
344
390
482
429
318
350
448
440
451
314
432
417
367
332
500
389
401
373
473
337
322
380
349
460
464
330
492
343
393
482
376
384
379
479
403
309
309
405
328
406
488
303
322
462
400
412
345
426
423
326
359
401
325
328
408
364
397
307
329
446
468
454
414
324
458
487
397
495
474
392
476
358
441
305
485
423
370
315
387
392
484
411
379
450
303
346
388
390
377
479
458
336
343
355
409
412
413
471
411
311
492
364
451
368
471
335
379
448
302
361
454
428
401
391
391
300
409
452
335
449
464
387
374
454
455
406
486
454
483
321
377
386
306
308
349
467
400
417
492
429
496
495
349
498
408
321
348
324
392
485
477
344
475
476
393
485
307
373
485
460
342
316
342
488
349
461
384
395
368
380
474
323
491
374
355
342
362
480
323
310
346
457
343
417
469
457
437
419
352
429
344
311
441
320
436
484
360
386
390
377
449
485
463
318
317
435
498
439
466
307
476
453
446
484
381
310
301
317
444
367
363
410
442
424
366
445
400
439
449
488
406
360
450
339
323
333
406
419
370
358
324
332
497
342
450
301
393
339
375
435
352
412
485
451
313
445
306
314
450
488
345
368
433
385
362
491
427
405
430
393
454
326
476
440
445
496
300
313
485
416
405
428
484
474
437
415
327
449
395
330
391
499
457
431
366
417
361
369
401
410
472
378
405
490
452
428
358
334
384
319
476
392
487
466
355
414
435
459
350
413
450
439
336
498
443
484
304
455
341
399
312
431
407
376
395
481
307
312
311
498
344
427
422
351
332
319
353
395
307
342
451
343
497
462
360
450
458
327
426
412
359
360
374
348
419
447
455
386
336
368
396
309
301
400
302
364
403
312
319
435
399
414
357
381
438
422
404
449
366
351
307
412
310
372
391
332
334
332
477
469
406
361
499
424
319
477
366
355
358
419
308
469
355
352
351
412
353
427
338
448
316
457
497
315
459
426
362
354
425
494
478
498
325
478
498
435
392
438
448
321
302
412
309
347
449
477
407
394
399
357
403
321
340
442
429
304
464
387
441
359
451
335
458
362
435
439
361
353
420
438
436
367
358
405
432
451
336
467
430
352
383
305
312
353
466
370
301
306
342
303
344
397
305
490
429
315
476
411
313
351
499
487
366
339
473
495
306
486
307
448
480
490
346
474
497
306
496
493
345
471
439
372
314
417
402
347
488
346
383
458
453
483
464
499
313
434
307
300
356
493
314
492
446
306
469
424
447
481
355
355
345
429
480
422
339
478
325
342
306
470
311
328
487
459
335
434
462
495
464
308
481
300
338
323
362
345
373
428
397
484
312
305
307
322
336
300
320
361
407
333
416
408
380
446
366
302
322
412
420
487
486
496
352
328
351
303
317
335
310
329
419
408
405
397
392
402
367
426
397
311
477
345
311
435
350
428
344
317
328
425
321
317
302
473
387
335
446
359
359
323
448
350
350
361
393
434
473
343
470
449
371
466
387
397
401
416
477
308
476
475
364
309
462
375
395
409
323
378
420
443
443
346
477
316
325
302
477
361
469
498
369
368
395
320
409
394
368
353
437
444
448
465
415
421
319
314
312
471
472
356
386
346
371
488
481
314
352
335
483
301
308
495
359
420
443
489
456
366
441
433
487
362
399
327
459
376
379
417
344
485
474
315
371
377
482
387
327
326
440
355
412
433
413
333
381
360
309
487
477
307
410
372
444
458
315
487
452
343
321
494
457
427
438
398
499
356
478
475
404
353
413
302
466
370
457
334
304
375
392
316
326
410
464
426
393
422
321
316
448
493
420
359
387
435
426
342
414
319
398
356
498
401
391
475
477
425
402
470
450
486
339
475
404
415
322
388
328
369
444
360
394
453
462
458
387
386
374
478
488
491
338
333
406
459
340
338
466
330
461
304
359
429
393
462
475
496
329
499
412
457
375
339
470
432
365
402
486
306
360
379
312
362
464
418
492
401
450
302
314
341
378
426
409
481
343
411
302
410
455
356
312
334
303
403
481
430
377
463
352
499
403
360
377
497
409
377
432
422
381
494
407
346
449
474
423
310
328
474
420
381
396
478
475
455
343
423
461
479
470
433
322
448
464
471
492
378
382
334
391
392
330
335
377
308
347
409
375
372
345
373
308
358
394
416
362
305
391
485
330
469
457
430
477
488
479
395
427
397
307
443
404
454
380
494
345
316
343
394
344
431
303
362
315
499
398
322
372
403
367
314
353
402
419
378
336
456
491
347
411
325
313
362
427
435
353
408
350
316
486
449
458
428
348
452
331
476
343
372
340
303
395
306
357
385
448
481
450
356
311
464
349
378
460
368
445
456
402
356
310
500
367
475
337
421
314
338
454
367
332
432
405
380
415
490
348
344
495
365
364
312
337
353
338
420
371
306
407
497
468
343
302
475
309
455
331
325
410
363
463
464
372
342
366
377
425
388
343
487
387
426
321
374
342
385
356
346
445
380
463
412
407
424
452
448
326
366
407
323
479
410
432
358
368
484
353
307
471
424
494
425
405
339
398
460
376
489
352
322
328
389
420
463
446
360
345
481
309
376
318
475
434
385
451
309
426
419
338
498
303
317
376
406
477
471
418
317
439
391
357
490
359
443
361
336
300
451
308
307
443
449
492
301
434
445
381
380
456
415
307
366
433
474
378
452
426
358
303
462
459
463
447
481
434
483
385
430
375
400
402
443
491
480
487
312
321
345
431
400
342
489
372
451
365
417
498
348
442
485
313
326
349
457
372
407
438
474
346
387
434
310
335
478
309
347
318
464
348
346
406
364
408
484
456
425
420
319
387
301
405
485
451
500
472
454
498
444
395
305
426
389
380
361
443
480
487
341
462
401
483
381
330
494
394
369
348
401
481
368
366
443
434
329
372
321
472
448
406
300
394
466
305
394
481
311
491
384
403
352
365
392
435
489
444
483
339
428
446
385
443
377
320
350
330
351
310
415
367
341
350
380
421
372
406
490
340
343
431
372
373
345
445
493
420
355
422
361
376
405
369
410
377
398
328
468
356
300
447
332
429
431
489
477
372
425
499
393
465
374
494
465
360
495
340
443
442
368
324
353
369
350
498
479
394
363
320
337
355
483
456
326
493
448
409
462
328
368
470
408
482
311
329
480
407
449
450
460
360
387
352
434
423
477
441
475
383
434
462
383
301
486
338
496
419
494
428
361
403
374
356
381
402
427
483
469
364
453
424
402
441
414
303
435
336
454
332
441
393
381
471
417
447
432
484
350
394
333
447
414
407
431
349
324
378
370
373
369
465
461
346
433
314
496
372
464
474
475
401
323
435
367
466
374
497
478
474
303
365
477
368
329
384
463
497
376
310
305
500
469
301
451
368
457
493
412
453
358
328
400
468
433
392
464
395
492
384
329
500
487
477
319
375
472
407
441
391
326
359
392
406
459
404
378
325
351
385
355
437
403
309
432
422
476
387
373
433
409
417
410
343
479
434
425
319
444
462
391
301
443
381
374
374
481
368
435
418
328
465
343
414
441
318
418
471
389
305
329
480
352
479
444
455
322
325
362
475
402
476
330
435
405
443
426
321
371
333
341
468
331
397
418
367
338
449
373
470
314
342
406
364
308
454
391
300
399
466
491
446
461
487
352
452
383
354
402
479
452
404
303
386
470
312
484
315
401
474
492
325
414
489
305
453
372
352
404
457
439
497
494
491
339
467
400
307
383
369
497
424
354
491
345
477
491
337
484
468
440
408
423
429
322
446
450
463
381
458
470
374
493
418
410
412
342
473
478
437
485
368
354
343
307
374
355
392
425
376
463
352
390
314
392
463
454
388
457
427
378
329
489
388
336
314
372
341
482
459
405
483
442
400
386
350
403
446
417
427
388
454
307
369
427
472
377
488
381
337
324
477
315
329
392
444
342
320
383
304
435
369
354
410
484
412
498
383
415
475
345
419
445
494
342
473
437
396
337
453
475
300
385
305
425
443
374
333
424
431
351
332
448
335
443
454
418
484
363
454
308
349
457
376
377
375
493
318
390
475
491
337
324
464
323
317
441
384
338
428
405
442
371
348
312
405
346
471
343
399
467
335
352
495
304
427
476
415
451
340
405
398
353
360
452
396
428
451
433
496
494
431
414
451
455
397
402
430
316
311
460
330
487
346
461
461
388
483
322
481
417
496
429
354
471
380
418
313
391
381
343
475
465
330
392
321
458
304
376
481
383
402
388
347
446
368
349
494
327
432
404
386
335
393
406
376
357
409
373
452
491
411
489
398
362
470
438
469
466
333
389
477
398
343
344
349
460
364
465
323
321
494
421
499
409
331
454
302
338
408
442
453
331
382
455
325
455
360
410
408
467
463
373
435
413
372
459
471
453
387
381
387
361
447
464
500
367
376
436
329
393
363
409
401
315
471
413
301
412
418
317
368
483
315
325
337
311
491
414
350
360
382
318
365
484
437
447
500
395
395
445
493
452
384
387
482
467
309
388
382
340
499
317
321
347
460
318
469
361
450
472
438
404
371
431
303
471
384
407
499
427
332
318
326
391
474
387
338
337
398
333
310
393
345
351
431
332
411
363
474
329
415
367
405
416
450
310
302
454
487
303
466
301
442
481
461
439
342
466
449
468
381
458
421
378
341
492
464
372
303
395
332
461
326
445
344
371
305
314
441
353
422
340
450
380
306
308
344
376
325
485
500
484
318
323
493
432
423
417
363
496
415
313
348
375
439
465
325
315
391
466
463
319
333
436
468
474
422
323
353
394
350
336
433
339
373
387
474
446
398
461
453
343
311
347
322
482
312
490
338
417
438
363
300
324
480
367
324
485
361
412
426
402
309
334
339
449
493
457
362
408
326
429
432
401
344
372
474
447
383
302
397
305
308
373
315
387
414
409
352
309
356
367
436
391
330
432
327
421
455
300
460
346
454
344
314
467
363
452
450
493
432
357
370
332
392
476
419
312
314
498
345
300
357
466
441
442
453
438
382
423
360
318
471
488
457
414
359
378
441
379
436
344
381
343
382
323
352
404
315
459
313
446
347
449
466
304
364
300
398
468
452
303
438
464
387
421
495
412
337
433
308
396
457
412
392
403
494
496
396
426
373
468
318
471
446
312
391
484
364
489
456
447
432
390
397
432
362
372
371
399
392
416
499
415
373
314
394
355
335
377
462
416
466
325
425
484
320
380
427
347
320
480
406
443
364
402
440
343
314
485
447
448
340
314
452
464
413
492
356
364
441
434
322
386
494
433
437
437
490
369
305
313
419
472
404
352
343
433
327
349
487
463
373
458
317
447
437
331
468
360
447
425
374
447
305
446
480
415
467
434
314
361
324
417
355
315
412
416
337
497
353
477
319
467
321
431
404
427
331
342
356
453
384
394
452
405
336
316
390
476
397
301
354
330
500
399
426
388
482
389
357
453
313
400
335
481
377
325
455
337
454
431
456
356
423
327
419
342
340
335
322
407
371
464
379
447
481
443
450
434
495
389
303
432
441
453
389
365
335
482
309
447
326
388
461
482
335
418
366
339
318
409
489
434
498
489
477
382
461
368
422
440
500
402
449
302
389
308
477
453
468
370
452
333
476
467
344
431
322
401
345
326
436
405
398
412
481
482
326
434
435
373
390
377
397
358
306
381
477
411
463
464
378
312
450
447
418
453
359
347
428
391
432
343
435
349
388
322
363
356
463
408
457
324
383
338
340
425
435
331
373
418
413
414
488
379
498
483
331
500
339
363
429
398
442
302
304
351
461
357
403
344
398
366
445
354
495
331
469
368
418
421
362
395
499
462
455
400
391
394
365
323
432
326
473
376
427
465
330
494
366
358
306
435
354
379
488
402
422
322
312
423
447
344
382
378
350
418
328
361
396
310
332
419
442
435
349
492
442
309
449
447
336
493
442
414
337
402
346
313
315
330
380
391
416
422
400
376
343
419
333
412
456
455
343
479
452
439
458
484
486
374
431
399
414
388
363
470
318
450
454
485
332
483
417
495
320
466
463
451
322
405
338
355
399
458
319
381
454
455
454
391
358
486
321
408
499
451
471
346
378
347
423
360
397
310
496
457
477
300
430
434
416
357
459
301
469
471
396
448
404
399
349
470
347
408
458
475
317
489
325
329
387
375
335
436
362
457
428
338
335
478
435
470
487
396
390
354
413
334
314
401
496
483
384
376
483
338
344
328
473
376
340
419
454
496
347
401
343
384
460
451
324
429
328
451
412
381
378
462
403
489
445
498
302
327
307
449
311
366
405
443
363
471
498
330
369
427
329
496
335
480
384
330
430
413
499
420
424
435
463
344
400
487
398
416
438
433
376
493
400
329
494
416
334
415
379
442
406
438
371
360
459
475
443
428
455
313
471
373
357
304
324
344
457
358
421
466
435
428
464
473
455
436
431
464
450
301
366
365
370
492
462
385
345
450
342
470
372
362
447
375
462
355
436
401
312
472
485
303
444
422
340
407
465
477
346
399
438
314
471
417
310
474
343
470
491
413
307
481
456
482
456
478
485
498
374
341
379
392
447
417
405
477
308
365
468
416
305
415
367
389
422
405
375
308
445
322
356
309
399
477
446
392
404
449
400
449
444
404
320
398
419
468
377
493
460
476
387
411
336
346
341
392
486
319
424
453
326
369
387
450
325
375
452
386
340
405
319
434
451
425
364
436
495
356
300
365
493
476
393
412
333
346
429
475
401
499
395
391
312
457
421
484
464
314
494
429
411
358
451
356
345
458
315
482
438
336
466
445
496
430
384
499
427
391
305
353
331
334
427
356
334
366
321
374
471
301
462
465
490
357
428
469
308
354
454
451
341
360
364
374
343
490
489
387
423
340
332
445
443
405
325
445
359
463
453
383
308
463
383
354
488
402
447
312
359
329
472
356
482
419
390
429
460
317
393
481
448
329
451
393
456
409
495
462
481
465
324
399
412
329
405
369
393
452
424
408
413
392
406
464
301
464
433
438
339
304
491
483
432
328
363
398
353
316
464
459
445
344
475
373
466
415
373
413
345
350
305
309
451
450
315
353
484
478
319
301
343
308
347
416
385
369
477
386
427
370
321
456
438
449
432
459
376
485
490
301
381
446
399
309
495
388
380
321
460
367
488
339
348
371
449
494
417
756
791
693
575
572
499
460
596
687
470
421
435
559
542
463
513
502
799
525
578
447
594
746
587
592
568
803
653
503
564
658
772
681
510
569
552
424
569
532
557
534
718
674
594
635
794
520
747
565
615
530
674
673
684
610
498
709
603
452
698
581
546
507
797
679
578
512
782
698
719
455
629
678
768
746
749
597
617
725
450
760
660
429
446
681
424
640
706
507
677
646
493
551
538
674
801
800
784
686
720
819
540
467
676
465
790
631
720
612
641
694
717
626
761
588
473
659
767
441
520
536
733
650
655
491
546
661
590
523
569
527
587
455
647
597
548
701
503
577
441
666
665
493
530
537
698
505
702
728
802
677
584
736
787
427
638
602
555
727
650
683
551
615
681
767
588
452
808
435
582
473
650
573
496
662
722
805
574
531
712
475
555
434
505
630
548
799
782
597
450
701
473
739
445
786
466
604
548
779
701
712
793
575
815
454
682
800
657
734
690
523
480
444
439
625
761
565
711
480
550
704
500
797
498
464
421
792
569
434
719
741
529
540
697
529
548
596
556
500
715
494
684
809
580
689
508
702
793
420
661
594
698
591
439
450
685
692
468
519
427
420
528
787
621
599
727
575
696
728
667
715
702
795
790
672
541
625
621
735
575
638
539
706
727
565
536
717
673
460
711
565
565
766
426
754
499
580
812
461
780
445
435
464
716
784
793
746
584
462
633
759
445
720
635
478
695
802
555
439
649
736
651
626
774
755
604
591
703
553
569
789
804
526
485
431
771
667
530
558
785
659
695
425
445
517
727
786
618
806
611
675
556
805
742
614
771
436
680
603
730
734
723
617
442
619
651
771
737
773
665
605
701
483
737
803
756
593
435
438
763
727
488
810
528
663
450
670
586
769
568
422
711
511
490
633
695
802
718
768
454
495
532
603
472
489
611
475
812
574
541
512
696
579
780
607
820
739
461
455
805
743
610
668
465
676
663
790
447
540
808
592
454
627
512
476
554
533
802
742
421
641
543
556
576
474
718
566
715
771
802
431
432
679
592
713
554
583
442
455
526
498
502
812
602
629
503
693
715
689
623
710
540
586
534
566
611
584
762
613
494
819
810
665
501
569
426
813
657
697
582
820
796
647
770
440
610
636
618
496
609
580
633
726
744
435
663
559
546
510
645
769
523
697
696
679
578
701
815
737
527
687
727
495
717
723
808
641
559
578
711
689
452
692
634
499
720
744
432
424
808
602
500
442
638
468
770
546
721
458
551
556
441
436
588
580
768
485
572
522
810
727
536
563
761
654
507
554
678
543
434
748
694
722
584
587
574
650
688
768
586
534
542
499
757
708
651
732
486
702
763
483
501
489
583
621
777
666
754
796
648
659
600
430
732
449
503
757
775
503
525
479
429
763
452
570
648
759
652
739
762
569
743
558
683
665
486
462
608
508
585
593
662
750
815
510
553
618
534
735
816
477
621
522
743
650
735
701
734
776
570
484
775
434
801
609
469
668
778
636
498
714
559
461
773
496
530
526
758
768
488
565
467
553
525
591
548
568
448
611
770
573
591
722
433
815
700
595
509
675
495
688
749
529
628
621
748
789
698
470
469
481
443
493
776
446
680
801
586
745
674
721
746
742
814
529
544
781
648
552
582
631
570
440
665
542
503
439
590
664
477
441
597
548
585
803
501
694
805
754
612
588
447
738
816
684
443
700
731
528
659
767
682
683
424
810
741
612
599
465
479
727
495
652
680
464
704
574
696
729
804
480
751
715
542
598
655
805
804
433
514
604
592
696
631
800
629
474
694
533
572
534
733
523
545
519
626
733
686
716
589
673
760
625
746
730
611
505
813
493
625
731
672
753
736
675
530
624
518
819
457
804
759
508
681
772
670
796
485
519
804
527
712
559
521
613
716
512
469
667
589
752
725
685
684
699
763
484
420
584
601
423
472
601
700
760
587
636
734
724
709
663
682
816
495
500
520
461
639
748
764
674
745
739
672
618
703
704
731
802
536
723
609
637
756
520
535
670
585
653
457
467
806
532
782
529
769
763
462
765
447
519
626
433
580
786
805
482
485
552
563
432
583
568
565
626
614
732
641
472
696
702
707
722
598
763
747
514
780
571
785
815
660
590
640
745
620
756
481
528
810
723
484
636
481
582
794
618
774
628
608
529
591
722
599
626
673
599
773
672
544
528
748
577
566
509
795
772
574
422
496
721
435
572
804
761
788
431
632
500
692
515
619
752
581
729
762
656
524
421
678
547
777
561
570
704
813
749
726
433
465
767
523
463
435
619
694
469
805
683
767
483
440
424
556
800
426
770
596
592
576
811
439
760
437
645
555
673
735
482
659
710
599
601
684
596
776
766
464
650
578
420
744
766
747
754
749
643
497
586
598
690
524
651
672
780
662
697
445
610
565
547
530
498
516
431
623
538
682
751
751
591
445
761
657
607
625
497
451
741
537
596
474
430
533
752
433
564
602
732
607
517
495
550
713
445
539
642
483
542
524
585
627
644
725
678
548
580
626
763
686
575
812
544
561
719
500
541
649
752
657
666
491
736
582
434
715
522
545
683
524
432
759
564
476
563
804
561
457
681
647
749
818
704
679
634
421
771
650
721
569
513
573
560
459
803
590
514
485
437
577
775
558
446
682
786
525
723
663
509
667
725
498
576
660
546
679
806
790
693
441
550
460
451
673
729
811
450
795
477
653
702
611
546
541
774
781
717
525
426
719
787
440
800
552
649
491
549
548
678
717
489
635
735
644
474
789
764
605
820
796
684
561
481
515
790
699
575
758
490
445
578
809
674
812
725
716
776
492
724
602
646
769
779
428
502
619
655
695
425
495
721
551
819
802
631
625
453
614
577
455
613
539
801
672
588
457
765
789
518
497
752
726
779
509
614
700
791
533
609
745
538
733
712
604
559
643
452
628
539
798
567
608
812
811
653
777
457
557
448
784
678
544
600
476
761
611
616
724
720
522
779
705
470
487
697
444
689
420
532
792
423
429
461
480
652
662
540
515
496
560
780
606
485
432
470
494
505
645
712
622
466
506
601
499
731
499
612
718
505
463
779
643
686
590
706
765
590
517
682
589
486
751
447
587
797
668
767
563
793
548
513
783
691
688
761
570
714
446
817
448
817
800
705
535
810
792
507
704
478
472
709
739
697
715
523
770
666
797
678
683
727
604
639
440
730
691
613
770
546
495
587
618
454
705
553
616
463
535
531
545
466
767
572
476
798
521
562
649
619
634
670
683
602
703
464
703
657
456
605
641
633
503
647
714
604
451
447
780
540
631
474
664
699
627
764
547
707
643
555
638
682
774
754
741
784
694
545
488
758
539
637
532
613
786
593
806
539
429
749
432
466
745
782
546
790
652
712
504
553
595
672
798
787
815
518
693
651
531
714
510
659
605
537
785
811
766
767
661
443
425
586
530
754
571
656
571
424
467
762
637
543
459
422
559
473
732
796
802
616
455
670
759
741
813
448
808
619
731
617
461
692
605
531
811
769
605
429
478
431
577
681
790
446
726
519
622
605
438
544
687
636
752
715
532
767
706
671
816
562
508
814
595
804
653
552
627
439
653
483
520
606
476
550
492
591
464
557
642
460
601
559
449
641
443
574
514
582
739
763
752
687
738
583
793
675
650
420
531
453
598
637
587
565
441
447
601
473
519
740
701
608
549
817
432
506
666
769
525
431
699
607
791
567
718
691
528
709
802
570
559
600
720
742
693
650
455
496
527
581
633
546
738
441
462
588
584
522
758
770
518
535
492
768
624
624
504
801
535
422
800
618
552
766
816
503
494
776
491
597
667
649
630
732
681
513
464
491
535
649
761
675
572
803
421
420
434
511
565
776
687
700
422
464
674
567
588
735
507
604
540
516
702
454
749
758
718
465
658
441
779
700
801
584
544
572
586
532
657
668
430
758
441
422
536
446
420
557
721
452
629
671
438
708
805
580
467
475
557
720
494
656
513
443
439
766
698
689
687
610
437
791
519
458
421
637
474
767
792
577
493
561
735
558
561
600
687
737
466
661
434
695
794
680
773
810
528
687
572
536
657
526
702
642
632
466
438
727
569
620
543
580
560
769
579
448
580
503
425
707
803
526
771
647
635
435
448
654
429
435
704
631
718
449
804
719
625
584
552
753
585
455
544
507
811
803
454
489
423
666
650
591
437
732
422
437
597
498
535
624
687
678
536
616
700
698
459
461
744
471
498
479
771
699
805
588
522
781
545
598
500
501
548
767
470
434
671
647
547
693
503
657
537
790
735
738
636
785
500
536
462
592
514
497
627
446
624
694
434
783
671
800
463
809
771
425
647
533
566
725
466
523
719
696
560
468
521
717
523
631
778
805
803
486
721
765
653
693
605
776
673
575
799
737
755
714
430
546
664
649
482
617
811
512
806
735
533
466
446
631
541
663
804
514
536
540
541
438
502
620
668
532
816
602
816
727
726
441
674
506
503
672
561
485
487
427
746
631
556
617
458
663
781
569
451
432
484
545
660
768
518
530
580
676
502
719
568
791
531
515
761
760
789
514
628
585
480
598
544
819
701
591
796
685
511
513
781
797
509
696
644
616
584
567
671
551
726
684
606
797
571
643
523
681
613
649
569
594
606
515
586
483
583
706
805
638
449
678
663
625
738
499
444
792
684
699
550
478
766
599
468
572
450
777
751
770
552
781
729
687
657
422
459
473
808
586
563
786
756
609
441
815
574
820
667
466
743
635
667
783
779
560
449
808
806
803
797
787
527
612
534
578
571
584
464
638
620
537
770
757
422
784
706
483
526
528
597
506
682
424
531
560
467
635
564
796
422
807
542
462
785
597
542
492
424
776
790
675
487
521
709
426
616
485
526
743
689
645
747
788
520
692
748
445
541
724
671
745
584
477
421
648
526
498
776
571
740
662
797
425
457
671
693
501
424
706
521
471
628
470
582
490
545
581
558
564
502
792
708
423
791
686
569
496
779
514
623
498
795
788
800
540
454
576
481
468
667
620
804
429
577
486
432
707
726
643
722
705
677
666
481
633
427
639
529
577
516
715
746
475
771
574
539
460
687
690
789
422
440
520
514
797
756
470
471
758
713
730
516
445
509
514
661
460
684
519
642
560
661
692
730
488
632
488
742
724
645
578
661
740
673
816
495
430
477
542
655
459
565
669
443
734
509
680
562
707
528
603
609
585
566
422
482
588
590
627
487
479
425
562
488
499
519
734
718
457
434
538
597
459
716
553
629
728
463
636
591
446
561
601
675
727
712
689
796
458
731
800
718
603
724
642
703
476
803
658
625
740
804
791
433
813
602
565
727
454
653
713
748
810
763
563
718
725
791
787
428
747
668
722
475
781
460
484
661
482
590
743
450
658
719
521
614
685
484
728
658
550
636
612
523
556
429
583
762
681
697
705
664
601
473
585
691
634
677
473
476
626
773
687
795
606
467
748
496
736
671
719
782
693
674
588
775
614
731
654
484
753
461
731
508
716
420
615
808
774
820
773
755
778
425
810
523
643
470
746
486
618
648
564
559
780
620
769
674
480
739
710
655
688
629
731
782
682
517
627
817
616
542
536
515
818
709
651
420
770
486
473
804
438
529
448
638
442
499
513
452
719
619
445
471
674
742
492
588
770
647
439
601
546
657
557
456
806
604
540
794
581
458
549
801
791
484
603
603
544
623
754
521
520
619
710
697
728
514
541
796
516
632
431
501
717
689
570
717
771
491
438
506
649
544
635
445
702
517
677
674
680
712
589
468
482
455
530
540
527
685
711
727
649
683
469
544
634
676
642
589
490
602
693
582
437
744
496
462
676
781
784
632
515
726
645
791
598
792
729
623
433
551
496
734
487
619
446
779
771
804
528
506
562
818
612
435
660
435
737
671
621
734
687
605
661
710
687
759
522
528
770
463
700
538
506
710
626
488
679
422
516
602
432
430
524
498
771
751
658
799
758
479
438
816
804
818
766
557
506
470
789
661
635
804
676
605
644
708
702
646
491
588
600
662
600
610
449
566
735
476
701
683
690
477
666
806
626
590
738
653
591
637
818
791
514
533
454
775
550
468
518
654
486
728
432
602
669
780
421
723
626
425
765
474
685
773
757
736
812
465
721
791
680
708
525
590
425
592
649
676
740
737
649
799
744
771
565
547
783
612
793
607
762
818
741
682
548
604
547
719
797
639
524
441
510
681
723
800
501
478
769
506
618
684
700
730
773
571
519
522
518
667
620
653
474
553
574
540
732
811
482
552
737
610
714
615
811
718
538
608
788
458
815
469
714
718
448
781
744
476
450
518
783
423
515
631
580
568
705
546
648
518
738
536
685
684
537
444
589
657
431
589
808
456
486
790
529
676
625
519
732
654
504
777
613
623
513
709
621
456
589
610
818
691
741
608
523
612
460
637
745
676
767
599
537
607
557
789
451
597
492
644
467
521
683
808
510
659
750
509
625
622
427
503
484
541
571
516
775
516
449
639
451
440
751
479
657
421
516
764
629
704
478
500
449
759
636
591
495
426
758
673
517
574
687
537
444
489
788
704
639
667
779
512
442
555
602
589
623
516
525
615
643
796
452
767
510
723
552
485
765
739
669
748
561
642
716
682
434
741
651
704
619
527
637
671
477
693
771
774
456
595
621
574
752
779
653
519
724
707
523
543
721
500
702
495
539
595
608
506
498
592
597
799
625
680
737
518
745
601
425
659
707
512
486
555
552
503
765
561
785
693
534
683
436
448
705
579
499
488
745
750
544
636
723
450
778
610
748
755
711
558
671
454
646
812
471
627
640
438
519
481
421
451
635
749
581
808
563
815
805
658
695
556
763
445
597
737
600
421
771
518
550
806
484
714
601
715
706
774
439
675
779
509
754
429
639
580
813
678
769
482
716
422
480
807
811
441
602
601
434
628
535
808
769
797
610
646
480
426
631
814
528
666
572
523
718
462
459
771
627
585
773
801
757
809
691
761
507
580
526
787
812
495
724
639
429
524
552
547
656
557
726
423
659
666
439
593
730
433
535
535
612
781
506
653
774
555
750
460
647
422
498
566
772
604
774
568
591
518
495
488
531
481
726
765
748
524
779
555
435
571
683
621
583
535
675
473
578
437
461
552
671
794
461
514
431
731
442
764
653
771
689
617
738
542
476
544
688
772
461
791
637
647
786
787
528
637
547
774
540
734
806
789
563
777
735
705
424
522
765
709
511
731
600
442
725
644
479
736
507
544
458
521
480
593
782
433
513
620
728
565
685
702
553
740
505
817
602
572
795
588
481
464
542
620
618
568
744
623
634
712
524
778
679
613
669
776
669
674
580
729
529
472
737
449
675
493
664
717
560
685
469
531
799
724
639
479
549
651
425
634
483
640
459
793
756
766
478
642
456
794
645
476
786
712
722
778
721
665
504
436
713
683
582
699
718
692
805
605
435
528
692
742
584
819
724
513
708
523
475
729
516
441
664
544
694
781
671
493
483
532
789
623
679
472
631
657
622
748
627
773
792
662
525
560
780
548
486
652
425
744
716
535
698
608
441
548
422
712
672
666
501
790
480
767
805
684
602
663
607
604
749
776
660
742
813
716
731
807
429
603
688
776
745
597
577
737
543
741
800
537
478
510
787
580
552
491
709
560
575
766
536
586
561
666
665
646
533
543
809
801
535
566
439
425
427
599
799
768
481
625
694
742
421
628
556
557
701
638
774
785
625
758
467
544
684
517
487
812
681
542
693
716
555
785
791
547
514
497
788
766
565
483
608
520
611
493
787
702
449
686
708
540
714
701
580
722
632
811
532
479
715
604
448
594
642
722
622
553
675
803
716
577
494
772
693
593
666
592
433
745
738
729
735
668
661
521
732
448
495
590
736
443
560
630
646
432
525
602
668
552
632
456
710
450
433
641
562
593
794
429
422
555
568
735
428
697
467
625
657
451
707
752
813
658
765
446
820
549
621
772
457
677
534
559
535
524
788
435
673
635
781
621
469
616
483
626
575
739
755
618
420
593
458
671
545
708
549
700
674
817
490
511
588
442
681
635
702
614
563
521
800
514
731
795
649
538
476
678
796
739
757
516
645
434
775
679
719
705
656
674
725
735
613
422
618
819
536
572
776
516
440
445
592
483
515
520
661
579
619
606
447
777
427
569
699
817
602
544
711
430
641
514
447
518
528
625
572
527
715
581
671
461
571
728
610
772
789
438
591
720
642
719
594
762
503
503
549
745
429
451
762
535
527
627
445
777
581
819
731
686
445
619
677
699
756
575
449
424
716
725
586
636
659
689
488
481
601
564
495
449
482
786
474
569
684
427
450
617
582
451
449
653
525
668
613
798
514
454
632
790
575
579
794
765
666
591
730
613
554
693
549
451
680
673
708
525
794
670
646
524
764
744
566
734
424
544
592
730
487
724
485
754
454
763
509
546
461
714
457
639
762
593
697
647
785
590
764
809
496
499
805
470
700
463
695
628
601
785
471
660
667
653
770
441
731
680
645
598
435
648
531
766
497
807
448
563
578
686
420
528
443
670
438
684
422
680
728
420
642
490
658
472
762
676
518
595
572
522
489
583
473
437
780
606
545
532
545
587
711
693
421
711
428
550
698
631
769
761
425
577
682
557
440
696
519
619
473
489
546
567
481
709
622
667
581
569
455
605
427
464
687
606
500
759
775
480
521
482
684
587
698
811
646
714
478
519
802
798
596
505
422
625
481
703
603
468
426
727
735
450
802
445
515
485
481
548
692
499
643
566
451
658
763
653
810
526
589
652
725
446
639
480
786
431
813
465
545
695
596
420
426
521
804
801
737
537
667
759
688
800
576
542
574
786
559
559
514
712
756
692
717
647
648
681
784
730
588
443
592
666
555
741
533
791
631
664
434
447
670
696
781
726
579
790
718
493
525
469
811
537
452
584
586
729
566
801
674
533
439
699
727
713
564
467
574
691
730
812
716
583
816
738
769
441
604
487
748
550
483
570
570
503
488
432
776
814
605
531
581
429
494
545
579
731
733
661
804
736
454
576
437
555
606
693
635
566
513
423
705
467
806
682
488
752
711
552
673
591
600
486
735
709
650
650
628
741
467
793
655
727
660
686
696
450
805
768
491
590
811
455
569
759
686
796
483
538
581
488
427
498
650
728
723
452
569
582
582
736
708
760
628
582
494
464
708
696
473
586
806
596
709
471
509
512
464
805
548
525
478
754
695
611
778
565
630
569
769
608
642
435
451
692
692
770
636
695
441
457
799
691
460
818
456
686
614
718
711
444
784
456
476
554
544
749
743
568
450
627
738
820
787
714
540
757
750
489
732
563
790
690
561
702
804
660
715
563
753
599
507
732
514
680
811
802
643
724
548
577
640
693
664
733
459
679
458
573
565
732
767
584
711
534
786
685
438
739
812
465
571
727
720
798
595
685
806
470
456
567
521
700
639
484
657
729
756
804
574
438
660
436
780
590
707
616
680
636
771
540
441
611
520
554
686
470
432
469
739
640
646
431
744
480
644
631
785
469
794
681
487
640
632
425
735
432
702
564
534
703
657
589
461
503
708
628
755
668
482
739
658
682
797
638
519
726
709
515
784
467
579
425
495
725
745
591
769
801
564
598
489
577
686
775
700
696
690
782
803
586
740
667
765
819
566
510
733
459
712
551
436
559
605
674
719
559
641
713
472
426
609
781
480
741
773
540
644
656
555
457
700
512
782
625
715
723
554
542
704
560
498
787
428
655
712
770
591
483
633
558
580
816
594
422
820
789
449
571
696
638
617
685
572
640
636
517
693
669
525
511
597
491
644
567
597
761
801
421
735
482
448
453
565
539
690
819
536
509
538
492
679
754
539
550
509
670
538
467
615
759
806
503
471
560
574
477
549
477
523
751
432
489
740
596
575
581
481
650
819
656
678
645
730
771
716
568
646
537
659
516
703
703
670
451
481
423
624
771
538
639
788
801
650
441
767
578
469
724
704
747
701
553
784
569
565
458
530
564
438
474
657
580
545
732
812
590
518
650
550
655
546
687
633
793
658
440
556
561
765
816
671
433
710
661
729
538
624
621
617
801
565
422
721
610
551
549
438
615
607
792
627
684
624
620
774
620
528
813
768
734
494
788
748
430
621
602
464
607
789
688
553
442
786
548
782
462
438
581
599
545
707
431
731
518
753
493
784
470
762
676
585
820
472
606
470
612
664
575
533
818
619
466
756
505
645
676
801
524
660
504
711
800
604
813
436
547
693
612
777
727
693
485
601
680
739
679
646
506
798
594
750
592
794
615
628
437
794
766
505
522
638
757
455
680
423
433
671
780
773
428
737
642
574
780
746
766
469
707
683
566
525
758
677
737
471
612
539
702
670
768
638
533
787
464
507
495
489
525
600
609
626
753
799
594
439
478
576
768
610
488
431
527
784
684
531
747
441
680
481
566
771
680
482
691
606
486
698
708
797
755
684
576
425
566
461
672
501
587
697
481
501
542
497
745
517
518
500
749
810
786
754
723
593
542
590
485
741
769
690
619
558
439
423
500
485
667
428
660
579
710
572
601
613
574
556
649
665
644
452
681
433
553
525
723
433
592
422
820
438
455
747
436
705
436
530
545
795
755
536
541
770
549
774
656
428
497
790
813
548
812
714
693
683
817
666
576
711
479
435
565
701
528
640
736
787
532
442
439
744
665
712
753
608
677
726
793
770
670
610
631
690
697
546
515
548
813
573
589
716
430
435
654
798
620
509
762
687
598
695
586
750
525
498
714
739
800
649
591
503
472
597
674
503
543
494
540
647
450
512
539
777
519
797
587
673
748
484
552
775
638
609
440
764
515
430
630
500
724
538
454
750
647
641
478
702
676
718
589
698
603
552
566
676
443
540
583
441
797
681
565
460
519
431
450
820
685
542
625
597
733
653
541
812
592
433
740
438
488
698
751
763
765
553
782
772
489
608
591
545
487
487
723
509
742
642
660
647
585
565
565
557
595
450
458
556
514
439
594
730
768
584
679
462
499
424
426
560
784
460
573
755
459
648
523
664
644
592
501
493
740
501
563
591
745
709
711
442
571
497
497
820
739
653
778
542
775
485
538
775
543
746
743
507
435
746
757
805
548
632
666
788
811
740
527
815
573
528
652
757
540
797
588
689
583
735
638
633
795
783
670
726
474
604
787
683
612
550
678
727
797
522
535
581
721
584
508
658
485
690
745
586
555
802
692
657
422
769
790
562
427
661
547
761
521
532
779
496
626
819
721
697
663
785
599
462
515
434
565
799
450
684
560
637
513
447
714
709
496
558
754
474
711
458
717
655
723
501
504
587
485
739
592
444
618
801
644
685
773
519
761
442
577
684
568
449
582
451
711
424
625
621
740
684
678
719
793
522
440
435
509
754
492
750
544
596
622
595
424
754
741
605
694
557
468
644
689
739
605
735
769
444
517
500
734
487
743
515
793
693
591
525
467
798
441
690
790
701
528
626
513
445
520
529
571
695
454
743
427
519
816
599
490
535
741
488
538
667
542
709
775
733
820
484
733
777
788
713
645
568
487
537
785
645
666
666
465
721
449
732
811
747
797
489
535
656
454
743
482
485
505
426
467
713
588
567
728
687
797
473
607
813
800
498
677
743
792
635
758
424
716
588
596
525
553
790
724
606
728
798
673
476
461
766
435
519
456
804
598
471
785
712
567
455
677
599
811
509
465
596
689
644
614
481
736
441
592
532
479
729
689
794
488
563
808
445
774
500
501
539
536
766
712
786
631
793
571
539
594
634
490
672
500
722
579
511
483
800
698
808
709
608
456
739
687
776
648
793
557
536
705
813
497
584
689
641
572
793
452
573
636
692
434
524
729
666
692
526
587
656
542
465
679
560
756
727
767
569
710
530
548
756
786
669
790
762
558
723
747
605
797
460
536
568
769
701
773
552
512
580
574
805
603
678
503
618
816
562
765
484
572
701
502
639
758
501
611
595
490
655
686
760
637
610
532
440
781
489
717
599
718
569
749
506
700
720
819
818
433
570
638
657
493
697
605
730
747
562
743
603
427
556
782
812
441
518
452
439
584
420
720
443
758
759
471
434
783
531
573
720
758
499
770
669
715
580
490
644
811
745
474
624
614
638
750
617
562
582
492
685
691
549
501
586
421
753
487
768
740
494
698
670
700
440
457
595
560
649
788
527
817
499
578
695
438
621
677
494
542
451
707
562
549
585
745
518
633
461
631
563
785
438
581
589
492
466
472
670
651
672
808
746
574
666
482
685
498
475
546
468
583
433
772
622
538
711
756
772
474
699
461
460
589
577
787
570
627
678
655
698
444
555
592
758
720
631
685
635
727
469
787
509
740
522
491
430
663
649
468
600
606
473
788
545
578
586
546
793
587
781
567
735
526
427
645
482
515
657
680
651
720
702
620
711
605
513
468
660
683
800
452
474
698
713
603
796
733
544
757
547
461
500
669
718
468
512
785
559
787
575
751
633
493
687
432
478
530
510
541
663
647
458
486
738
706
706
800
710
633
662
743
651
780
574
769
523
547
678
641
694
616
785
573
469
532
728
610
754
731
668
811
545
638
550
677
778
493
737
642
799
582
695
670
503
538
562
561
797
513
683
771
545
606
524
629
754
482
793
799
749
613
627
626
722
456
602
494
568
680
819
689
677
443
623
733
753
584
748
749
459
617
644
533
507
793
771
699
801
811
521
565
538
784
699
701
659
617
518
708
776
738
441
620
579
686
533
766
740
670
427
692
778
527
528
523
451
763
607
464
719
818
670
492
755
593
560
716
549
458
818
518
469
793
762
783
784
665
755
771
614
673
799
675
647
572
593
630
696
579
817
641
815
559
482
706
539
574
606
527
481
428
731
427
588
710
600
790
464
750
469
814
596
571
526
623
766
447
597
659
602
560
706
482
729
439
745
709
482
607
704
783
670
611
647
515
728
479
512
751
452
456
608
637
493
698
781
680
563
747
577
499
496
771
439
724
627
630
675
540
804
715
478
568
677
491
708
567
708
509
794
751
616
745
538
496
490
644
446
526
431
686
650
530
703
427
565
490
524
707
559
771
596
422
671
531
787
444
590
594
423
677
517
744
432
764
779
625
733
469
802
806
549
805
708
782
483
648
731
520
612
468
542
467
457
683
648
746
737
718
751
659
713
512
773
542
723
468
665
423
796
458
582
500
604
799
521
794
604
612
710
581
442
744
674
662
722
611
689
450
452
581
779
681
426
434
650
564
610
482
595
577
793
784
671
628
755
437
568
813
748
623
738
491
757
581
695
800
505
495
613
755
683
708
559
469
774
459
797
447
696
782
568
566
581
544
804
580
736
495
513
753
486
691
618
731
638
509
502
655
497
680
709
514
700
632
544
754
447
567
635
819
628
806
535
559
540
506
804
420
492
757
448
559
731
605
692
510
580
716
536
580
488
569
744
495
548
428
471
584
676
608
682
464
631
530
435
740
440
626
675
473
773
806
682
732
776
574
708
580
746
752
773
700
534
742
698
448
801
476
572
815
780
646
447
580
515
792
543
716
758
656
683
547
703
428
559
440
627
488
510
502
580
526
766
740
607
429
528
543
494
469
751
729
473
617
569
535
759
460
450
809
488
562
465
675
563
775
700
670
488
763
525
424
680
492
801
725
647
425
818
810
464
650
734
566
679
639
602
524
671
681
542
691
450
561
578
605
486
539
727
706
761
569
461
447
708
758
541
711
618
776
552
601
753
481
586
527
726
568
491
540
735
736
687
492
476
421
769
627
470
795
686
732
657
784
756
505
497
814
638
549
647
452
422
622
796
480
520
598
780
570
755
751
471
455
808
592
529
649
800
651
783
710
781
578
644
635
452
704
711
799
626
508
552
640
728
643
447
469
640
668
666
753
501
620
770
473
546
644
682
491
660
613
477
556
765
466
439
454
481
569
451
512
442
681
747
478
445
800
619
563
708
520
722
799
811
634
679
703
494
609
707
590
443
440
673
490
632
707
732
687
638
611
664
540
456
422
545
711
651
616
465
523
462
737
561
698
814
784
721
621
772
566
661
679
748
733
778
794
491
705
632
442
808
661
802
447
495
498
686
617
664
816
693
772
792
563
426
601
745
588
427
650
502
761
799
610
813
816
491
475
758
802
595
489
541
656
746
602
726
496
770
614
765
737
475
670
549
621
774
468
674
746
732
607
727
722
515
470
520
784
572
533
541
561
785
635
580
452
610
704
626
518
742
747
504
803
521
753
561
754
509
730
786
623
446
792
531
427
434
783
653
704
583
664
580
650
618
635
486
504
770
497
544
819
448
551
581
516
695
592
502
762
499
480
548
422
782
652
578
693
688
638
716
596
752
636
767
509
765
687
576
673
734
631
686
675
478
675
510
601
810
610
786
603
731
554
809
752
689
653
619
656
634
755
685
494
544
640
430
566
768
472
734
463
743
477
655
803
424
779
523
563
596
514
812
449
525
813
766
694
788
614
803
451
699
637
622
662
818
624
638
526
652
732
577
447
609
640
678
528
713
487
688
606
583
468
740
480
534
748
798
652
478
483
503
618
444
591
532
651
575
792
780
465
500
727
495
515
780
485
691
475
442
422
603
760
729
791
566
451
783
493
813
722
546
657
644
734
446
618
533
739
460
794
624
757
435
640
784
643
563
630
455
727
502
537
689
724
639
777
467
633
579
448
553
492
775
715
670
630
499
624
427
744
636
478
438
550
705
450
726
552
548
775
770
617
653
514
600
482
499
523
816
676
505
509
718
659
723
647
622
772
536
703
778
684
750
546
579
544
577
458
617
717
728
453
735
726
474
509
717
510
763
618
800
538
602
505
673
759
558
478
538
737
434
640
783
736
615
497
535
659
647
728
533
488
626
590
511
682
759
742
655
535
517
770
514
641
638
561
662
614
699
662
754
499
787
429
667
491
642
557
561
456
527
445
622
550
679
654
454
664
602
486
598
544
429
688
582
634
747
736
424
658
637
710
757
435
652
590
498
793
554
651
585
599
732
548
687
592
761
775
802
812
599
577
631
740
800
443
560
490
482
742
741
547
677
521
609
558
801
771
774
782
803
435
724
577
435
444
560
735
442
655
571
597
598
460
421
657
586
747
527
489
608
496
820
769
491
686
607
813
661
737
582
812
441
673
600
610
632
526
474
475
733
643
574
503
692
557
650
577
654
747
741
436
493
644
776
714
450
523
780
632
531
697
742
603
538
542
704
800
808
698
750
497
627
685
519
790
620
691
532
565
553
544
424
513
800
683
468
770
715
640
724
572
602
637
441
645
559
429
664
701
757
727
688
473
531
794
730
528
728
739
691
686
582
434
508
481
645
654
747
511
657
594
557
593
645
513
669
590
725
438
802
629
421
690
792
692
676
709
759
600
811
803
445
512
548
491
470
476
563
543
638
614
783
791
545
810
631
544
466
813
752
460
626
578
653
471
646
612
503
656
506
748
495
727
562
504
540
517
496
529
524
455
481
657
616
685
516
498
597
662
573
680
755
428
474
732
472
676
497
767
696
768
672
797
786
486
714
574
430
708
781
543
515
710
535
792
462
595
695
551
638
447
705
562
752
422
818
786
785
766
499
657
495
659
617
596
425
467
684
696
552
490
623
787
584
420
648
530
443
809
421
622
582
750
809
595
726
531
559
533
763
430
739
571
787
666
581
675
540
503
473
669
785
591
448
541
785
577
533
535
761
479
482
524
706
724
484
597
781
810
606
542
439
483
422
669
781
528
727
443
687
699
728
771
699
655
677
616
511
710
568
542
759
652
630
599
752
589
719
776
475
484
653
628
588
468
499
648
735
717
428
429
747
500
572
642
626
751
789
425
431
590
423
757
626
460
668
571
521
507
625
502
653
465
472
537
477
600
719
631
752
788
427
638
799
531
533
552
654
799
658
775
534
682
438
771
450
728
782
600
562
660
486
813
807
694
445
537
735
812
517
718
782
544
429
727
593
429
512
509
618
815
775
809
805
544
798
709
747
700
473
712
647
506
721
801
614
510
434
789
670
573
815
478
554
589
588
670
454
599
617
505
753
686
619
500
496
595
752
661
481
438
567
607
525
441
711
430
614
547
646
811
525
625
523
604
645
433
499
618
431
670
649
566
646
801
516
421
720
808
629
681
459
422
652
540
794
483
463
653
536
522
804
575
540
595
647
576
557
443
526
560
751
734
522
600
523
681
475
501
752
631
575
695
540
771
433
695
735
712
536
632
670
802
439
548
485
498
544
774
743
616
776
518
572
744
465
590
580
428
612
622
532
709
455
576
652
791
778
811
561
737
429
615
480
774
549
500
540
716
481
427
469
610
801
699
525
735
553
773
539
544
634
639
598
438
664
798
794
782
808
685
669
658
480
553
811
566
584
572
797
460
564
808
580
786
523
571
461
616
422
807
816
661
514
703
603
793
671
622
655
782
693
744
709
440
587
511
424
723
547
447
723
756
432
475
455
533
579
522
690
572
610
786
456
443
764
536
611
718
778
649
701
568
638
783
650
599
581
659
537
691
805
462
631
786
602
647
674
566
672
661
622
703
617
706
612
812
551
623
732
723
473
508
655
623
509
468
501
640
738
642
550
792
727
599
816
498
687
575
672
456
738
479
771
773
453
489
817
710
658
479
545
598
627
578
786
490
492
473
643
529
662
568
508
774
550
726
660
687
465
433
458
720
664
583
577
681
685
578
622
429
644
559
611
680
750
813
709
494
797
749
703
711
678
800
732
518
683
722
800
490
471
688
439
436
562
619
496
459
481
792
735
795
775
623
748
445
482
435
593
563
677
784
461
459
716
664
695
559
808
611
480
627
537
460
806
507
579
471
812
491
661
710
737
504
743
714
619
443
609
443
818
813
571
567
616
575
729
627
701
567
803
622
635
771
690
786
453
450
460
789
461
629
708
593
777
536
531
570
656
564
430
474
444
614
649
472
622
762
530
771
793
820
760
519
665
449
426
815
710
578
725
478
560
702
534
605
811
492
435
659
620
631
801
485
647
444
444
471
763
488
758
649
752
756
605
469
426
808
543
441
735
770
538
591
430
574
573
535
447
440
791
811
662
423
524
715
618
480
424
631
819
780
459
588
720
486
567
526
686
763
565
615
596
687
580
818
519
651
544
684
605
628
748
618
485
599
548
533
562
574
777
430
565
766
687
504
428
770
474
800
819
721
663
714
751
527
457
470
521
520
446
720
683
680
758
680
784
724
719
526
787
482
478
785
437
761
591
674
548
487
669
662
798
759
733
515
620
779
509
522
513
430
761
672
636
464
534
542
581
456
442
807
499
676
662
436
605
753
621
719
677
724
555
702
453
583
691
697
585
433
758
525
733
472
628
439
563
553
552
695
539
455
489
523
673
516
667
420
464
554
552
642
653
721
465
510
558
785
805
575
463
648
549
775
543
499
663
527
791
549
766
607
713
588
604
617
724
660
715
813
724
707
580
817
432
546
504
755
453
462
468
629
746
635
657
627
656
503
751
645
724
591
529
599
470
808
788
573
747
610
652
527
674
431
518
710
744
784
616
745
481
722
559
486
641
576
572
812
692
598
667
627
613
575
690
704
592
783
467
461
539
788
808
798
518
577
532
708
606
772
702
436
740
429
617
567
741
759
447
675
686
816
585
595
749
585
631
809
772
459
474
570
673
618
733
816
787
536
598
457
516
556
660
629
572
792
743
528
491
677
511
690
737
469
706
745
444
461
497
743
688
603
564
650
555
487
467
733
802
628
691
488
445
573
631
708
783
729
578
642
755
804
447
512
702
818
624
455
705
762
449
695
611
781
736
795
433
654
799
577
702
736
585
758
698
663
492
594
580
612
636
635
594
535
506
662
620
496
503
625
605
637
625
814
717
570
681
514
575
475
784
620
814
561
585
615
809
451
514
642
704
714
490
765
790
772
425
814
534
727
434
700
627
631
785
736
478
487
548
455
535
546
703
619
688
528
529
559
695
498
431
818
808
819
556
757
671
750
670
803
591
706
501
758
513
765
482
741
581
589
757
650
724
568
820
473
569
563
571
446
426
618
617
499
664
778
590
725
542
521
645
629
697
556
603
500
799
688
448
531
552
749
751
496
642
723
438
546
538
509
507
645
536
625
505
424
454
576
607
678
817
595
786
612
595
757
470
535
756
740
496
595
588
462
518
762
696
731
739
719
776
697
709
729
550
617
575
486
524
513
486
457
596
540
471
750
509
427
525
640
815
625
642
497
590
700
729
703
747
563
783
451
660
447
623
471
572
638
678
747
478
637
503
570
734
744
707
522
475
536
465
496
813
819
749
554
807
695
424
507
462
472
636
560
623
550
542
738
719
445
426
431
678
767
694
446
500
659
454
736
775
444
479
540
723
504
506
697
747
530
537
458
691
498
797
653
698
657
511
641
523
673
697
655
650
795
600
795
761
470
652
756
804
708
577
762
705
555
745
524
500
480
740
775
744
564
733
504
624
606
610
669
694
485
754
591
776
616
467
565
604
804
810
695
539
521
593
538
501
626
495
812
579
727
518
595
597
596
603
608
423
488
593
443
440
709
817
519
545
784
531
473
685
616
464
550
692
741
740
455
448
658
765
820
491
744
424
550
640
749
741
678
497
642
723
586
652
720
685
439
436
499
738
488
581
815
819
544
804
744
542
425
528
428
678
515
570
481
744
454
803
686
719
739
524
712
577
789
750
819
605
652
794
476
586
548
759
443
686
459
679
536
579
451
739
713
703
562
535
582
665
611
518
564
690
785
426
570
469
644
515
644
632
479
538
736
760
444
484
568
685
650
720
485
786
535
492
450
599
666
572
666
695
672
457
557
487
742
492
593
479
566
613
527
596
563
782
689
435
444
709
693
631
437
493
472
727
595
491
546
524
786
645
650
510
627
726
451
749
806
593
707
714
455
490
569
603
424
701
491
599
556
566
615
475
448
599
684
683
595
650
586
579
674
544
481
609
763
818
504
704
420
702
452
671
462
647
499
642
437
428
601
750
739
808
456
470
695
714
686
683
792
569
764
440
740
454
820
522
549
741
675
685
684
461
636
702
497
636
430
591
703
420
538
523
776
456
602
500
706
592
754
476
656
714
434
799
446
438
479
707
611
704
562
789
483
754
463
548
433
534
716
671
696
746
760
449
688
720
794
807
603
703
622
591
761
429
755
503
760
811
462
763
526
451
625
764
641
467
475
700
547
507
816
583
512
754
712
488
495
599
443
679
772
698
773
805
427
766
450
539
498
662
758
557
808
756
701
819
590
704
645
423
527
639
721
591
623
724
772
557
583
734
685
663
661
681
450
570
631
739
737
582
731
684
557
611
713
635
741
642
809
709
705
726
564
529
769
564
471
520
575
676
648
508
512
607
681
740
773
453
444
746
704
779
783
741
514
537
630
686
559
461
757
728
448
463
439
505
587
773
636
628
471
490
786
705
443
688
764
443
739
617
747
698
799
522
545
488
790
545
586
729
777
463
618
617
578
475
745
529
626
651
549
480
714
814
644
766
635
648
568
498
478
722
444
470
815
651
685
607
512
713
645
618
708
731
543
622
764
562
756
784
450
694
563
623
757
800
431
792
630
577
480
472
720
430
686
818
740
798
582
497
556
815
696
638
466
434
707
749
584
760
532
689
816
501
799
610
619
626
564
528
603
423
749
685
575
460
763
565
695
455
480
732
467
566
713
601
802
472
805
584
617
609
454
762
581
684
590
810
524
426
518
492
652
579
533
485
681
783
755
626
520
720
651
806
589
549
660
663
651
475
722
517
592
801
428
537
675
699
437
551
694
516
767
603
563
719
501
662
430
789
553
529
685
650
695
703
446
661
576
808
425
460
753
688
537
484
786
533
542
729
649
482
503
698
630
814
784
436
589
425
572
567
512
554
479
492
756
524
629
598
456
639
502
429
736
698
764
701
813
681
434
545
750
429
515
760
425
611
453
648
677
486
654
548
506
748
752
621
489
686
779
748
781
671
499
521
594
488
696
570
649
544
767
487
574
810
461
633
547
640
493
760
580
663
706
768
434
567
635
639
479
813
711
731
653
687
740
579
524
552
769
504
712
580
777
626
650
455
714
791
617
471
490
741
820
463
688
603
763
789
526
674
531
640
706
726
633
585
725
740
470
511
687
666
774
540
426
480
716
651
807
563
632
481
738
602
797
490
420
794
489
509
422
799
463
642
778
522
814
436
696
670
493
567
466
758
527
439
661
696
805
630
819
630
650
753
583
632
490
559
700
726
777
707
707
572
490
629
609
690
818
479
427
451
493
532
596
779
647
664
624
557
737
817
717
726
435
713
448
494
536
603
685
509
474
533
654
451
470
716
422
760
688
556
565
764
572
626
663
567
574
462
716
513
816
725
496
805
553
727
768
427
698
806
461
795
444
488
756
560
793
639
673
748
528
522
606
783
500
466
654
489
536
672
503
709
741
563
671
538
662
618
705
652
799
664
532
548
683
478
448
491
509
597
594
787
564
623
782
473
759
507
502
620
439
610
575
618
670
630
767
493
811
725
526
734
692
805
456
713
756
531
604
613
430
477
476
504
504
439
751
676
586
626
610
635
422
432
528
677
462
704
524
740
745
644
799
610
444
638
733
469
515
651
661
663
810
684
625
684
587
666
608
630
431
575
716
420
488
603
429
426
452
749
746
656
427
584
664
663
577
478
747
784
462
751
514
677
668
655
513
639
549
779
439
499
509
780
793
694
780
689
468
564
591
742
781
498
462
700
791
687
765
741
647
509
761
635
573
785
602
588
726
487
798
797
629
751
660
525
482
782
727
754
641
619
714
656
553
745
645
819
642
677
634
502
677
749
606
565
658
775
492
449
706
742
508
760
576
460
789
569
442
591
430
663
732
540
631
653
802
700
697
503
717
651
741
496
572
735
554
455
655
464
512
735
774
538
547
809
518
621
512
525
665
648
513
746
692
746
575
525
694
507
739
790
729
543
460
742
559
610
728
676
707
534
494
776
750
537
567
792
606
666
455
480
461
508
687
587
729
520
430
471
712
674
741
439
514
554
655
564
720
564
701
681
652
519
487
501
494
675
663
773
678
431
513
521
650
620
638
818
705
583
765
539
470
754
803
774
442
777
707
782
524
519
801
449
449
441
552
550
497
437
544
702
679
463
783
528
643
521
685
487
593
801
420
532
751
558
671
549
698
760
794
430
673
443
571
619
658
564
604
450
493
572
512
510
643
671
576
785
727
452
758
594
711
623
610
512
585
524
439
656
498
573
606
670
694
792
474
448
774
697
453
713
718
634
531
676
665
812
771
452
544
429
593
584
542
661
436
634
693
506
570
494
590
535
735
796
747
624
534
771
744
523
724
639
743
802
520
641
626
605
524
614
623
519
735
430
648
691
809
520
517
595
764
819
585
695
596
553
819
538
513
446
561
706
695
428
740
579
820
451
446
691
564
781
551
791
494
794
468
769
589
812
632
716
698
488
737
797
772
781
556
817
586
568
526
743
665
428
432
681
776
511
564
739
552
538
626
463
491
741
599
448
726
469
708
597
779
521
745
727
592
644
502
635
428
450
566
605
573
610
576
424
674
559
439
734
808
749
664
701
595
448
523
523
693
549
457
469
800
777
524
788
633
693
426
739
689
553
740
618
460
741
508
553
767
496
478
692
716
564
501
713
449
629
704
504
744
595
642
722
531
449
619
562
780
616
601
565
767
590
574
731
750
690
796
662
782
559
745
596
668
588
526
444
486
651
650
698
641
486
692
614
592
618
436
735
521
706
562
438
541
430
714
753
800
651
747
633
662
639
627
512
426
503
596
567
682
615
753
499
712
583
507
456
559
601
745
625
774
683
598
493
616
517
682
737
483
780
744
422
482
701
739
676
732
697
622
818
462
530
751
730
691
482
678
590
692
766
751
614
475
771
440
420
633
678
546
592
650
457
781
655
514
566
507
689
429
571
627
497
535
420
518
449
600
478
787
490
514
744
796
569
609
425
563
450
678
557
480
787
437
457
652
550
782
720
462
453
538
819
509
564
661
702
748
613
763
683
559
598
528
431
422
721
514
803
436
430
502
510
487
747
555
663
425
625
438
770
696
711
649
747
480
609
815
759
499
674
641
740
481
486
635
466
680
433
433
586
619
468
459
755
490
611
654
583
492
501
759
426
667
479
440
686
513
624
756
518
473
795
603
627
468
461
460
545
456
523
491
433
760
723
793
709
587
636
671
623
478
777
667
574
560
696
727
624
432
676
661
555
631
533
658
440
429
789
639
779
651
739
420
492
702
579
460
632
461
577
543
650
724
747
531
668
545
625
571
601
657
606
679
533
774
737
444
546
782
580
436
524
592
670
439
559
479
536
432
690
717
618
778
560
434
527
761
670
591
487
577
504
515
473
774
583
790
487
693
752
675
571
811
514
793
749
627
556
806
787
654
540
494
660
659
723
692
632
477
766
817
780
619
786
747
727
738
794
796
428
820
818
527
667
562
457
548
553
657
453
772
545
608
704
745
488
805
455
580
776
489
486
492
570
763
644
678
517
670
663
618
812
723
694
458
479
699
522
490
445
635
454
475
576
506
673
778
795
776
560
704
726
474
703
786
534
517
634
590
521
460
732
487
645
449
518
778
420
579
690
620
731
805
684
723
768
722
592
572
534
603
476
710
733
802
776
737
559
519
438
431
786
613
617
773
660
757
749
730
758
697
495
549
623
769
473
668
428
573
691
693
814
596
621
589
559
485
649
684
557
787
487
423
468
437
568
601
764
608
639
754
613
524
795
423
806
771
750
527
713
451
583
509
598
458
542
493
565
616
423
817
799
734
635
808
562
602
807
728
433
644
444
708
633
677
634
511
591
560
504
568
512
679
641
492
600
535
660
521
766
794
474
702
766
728
425
463
763
610
573
698
789
676
808
731
619
810
517
648
730
728
781
615
796
756
436
677
714
623
589
755
786
497
579
706
464
606
677
527
815
427
810
738
785
805
422
515
794
429
558
564
541
672
617
820
659
586
642
574
626
588
462
762
731
504
422
485
662
425
459
767
481
707
552
443
531
627
590
699
499
678
548
797
746
714
575
651
754
742
581
638
698
647
660
694
812
671
717
699
743
464
754
784
820
717
591
455
797
461
769
668
715
795
523
552
688
581
652
464
628
595
580
483
671
811
746
720
720
704
457
728
693
593
547
656
590
588
551
500
740
453
594
452
659
740
540
736
782
557
623
640
614
728
733
633
436
421
534
529
662
458
790
668
483
478
588
625
665
495
733
732
520
640
517
765
429
729
495
740
814
631
768
739
684
590
616
461
479
784
646
779
446
576
592
718
746
699
469
558
771
520
647
502
450
421
812
524
641
721
591
751
584
531
513
569
505
475
615
540
811
761
496
594
658
749
470
503
665
620
441
739
481
651
635
726
705
780
578
482
527
675
729
807
702
530
734
759
648
773
567
498
758
695
593
547
753
659
437
428
545
549
525
545
696
625
617
725
600
765
463
585
653
491
658
819
739
754
772
473
735
599
810
511
433
504
539
574
489
652
666
772
651
523
684
707
704
459
657
482
631
776
428
760
777
594
715
517
579
697
492
676
672
760
620
560
618
713
550
554
669
721
496
552
641
493
622
513
436
632
476
510
492
651
653
434
749
734
459
574
749
509
520
455
565
450
555
783
628
423
643
701
566
457
636
807
742
593
604
518
519
487
702
758
615
769
473
592
616
701
431
663
722
814
448
511
596
476
509
639
476
446
612
479
813
669
594
755
491
448
444
452
632
580
744
549
447
727
520
738
442
649
656
598
470
510
794
635
597
565
650
480
807
634
802
532
595
676
431
555
782
607
759
494
771
442
625
592
552
587
571
599
819
528
804
585
536
646
783
424
565
698
467
522
570
598
463
581
728
778
765
561
712
673
600
572
735
658
602
586
424
508
528
512
451
538
807
625
575
452
576
665
770
566
757
792
808
739
662
670
732
430
797
720
763
443
707
566
782
531
662
538
480
720
636
633
611
628
638
664
694
790
774
613
438
756
531
485
462
802
469
705
594
720
422
653
519
547
767
531
427
802
725
813
548
612
495
470
516
538
637
482
621
526
501
796
649
570
729
661
696
492
694
509
462
587
680
802
720
483
692
729
808
565
615
502
812
536
559
602
449
746
672
694
704
716
495
801
528
808
561
420
478
527
457
567
763
796
427
676
614
604
789
820
473
732
802
574
701
456
606
442
466
640
739
751
552
525
508
687
607
679
475
745
422
619
798
626
471
642
751
612
704
612
627
484
443
496
770
706
510
483
687
425
761
808
451
536
595
514
808
779
675
764
518
767
544
507
686
561
429
547
572
667
684
710
584
666
771
625
670
728
476
730
731
740
423
647
701
709
712
790
427
774
465
691
798
540
595
514
470
655
629
776
462
549
655
454
742
688
579
675
778
596
586
721
774
768
660
793
503
446
607
628
568
523
486
497
748
567
729
638
677
427
645
693
642
768
592
805
498
485
600
770
811
514
429
525
810
506
503
646
588
571
529
716
607
442
757
520
691
691
807
756
670
600
601
687
565
801
795
760
513
468
814
691
770
586
614
642
593
572
782
789
510
573
500
747
602
761
428
650
791
631
610
803
532
438
533
638
760
675
664
486
679
642
480
506
512
763
558
702
801
446
565
653
648
616
439
551
622
693
693
583
668
421
638
486
654
592
552
611
475
438
608
533
455
698
589
519
695
485
606
552
615
797
602
519
807
650
607
683
532
667
711
785
554
634
491
541
544
667
790
496
496
715
639
597
763
757
653
781
601
458
808
529
570
797
803
708
484
752
439
473
539
693
801
630
558
696
744
499
804
503
460
459
704
747
783
504
529
449
548
549
429
699
720
658
453
475
739
437
719
536
538
449
732
589
537
606
743
731
527
657
754
630
464
511
548
544
627
539
466
517
807
808
537
626
555
522
596
754
784
499
460
458
541
617
476
710
759
556
701
730
700
672
578
707
694
753
712
558
459
787
596
669
491
748
486
464
780
655
690
796
620
795
730
578
549
641
623
459
493
611
556
489
472
642
576
536
594
806
700
508
666
430
561
720
731
640
651
503
725
555
564
616
721
493
555
560
615
645
473
545
481
632
595
436
723
738
590
473
727
575
632
651
723
477
453
798
458
590
719
529
514
628
645
712
476
794
699
674
699
535
765
539
771
595
608
783
751
451
592
731
595
707
461
637
711
685
469
456
528
584
676
762
787
788
519
726
485
673
769
710
462
813
612
808
670
728
809
483
528
764
757
527
676
742
557
665
521
570
634
644
592
465
504
816
807
544
627
781
551
692
695
696
776
452
433
789
513
504
502
627
546
717
638
779
714
631
729
796
498
514
562
467
560
436
768
786
818
780
466
674
678
735
798
521
729
571
575
562
646
495
624
541
701
590
617
740
549
795
467
467
500
478
451
737
428
430
814
680
708
631
586
796
426
424
649
514
535
750
682
649
676
816
566
475
569
639
661
452
481
806
799
495
724
660
539
565
586
738
816
453
699
620
709
591
430
521
787
715
490
748
700
665
805
645
548
706
545
510
589
445
707
657
514
648
474
462
459
643
734
458
808
420
749
448
751
586
571
567
780
731
550
594
479
614
667
748
756
712
470
476
716
658
592
804
739
805
555
636
655
532
597
500
758
605
668
748
477
626
779
710
479
737
509
490
459
444
613
560
596
521
429
616
816
697
580
558
494
557
692
422
666
507
706
744
732
533
477
628
519
649
490
464
782
684
612
436
735
722
712
776
548
594
499
475
685
617
764
582
530
547
758
458
803
798
489
733
526
582
643
735
433
509
488
567
560
505
658
700
627
473
647
616
705
497
450
737
548
568
428
488
553
712
746
490
457
703
557
738
706
616
480
587
707
677
767
521
708
434
600
763
639
546
479
783
454
737
464
797
653
596
690
723
566
701
754
786
565
808
471
805
631
642
795
655
741
799
460
663
524
668
428
453
759
432
535
613
533
721
537
783
608
770
728
501
673
630
780
714
757
726
773
482
514
795
663
573
679
500
455
678
431
609
570
582
610
608
445
813
652
760
569
570
638
703
784
576
627
761
707
516
714
782
435
649
679
754
812
681
523
816
595
749
725
579
554
633
753
515
434
505
472
560
450
699
540
626
710
812
454
496
532
682
629
502
457
646
488
496
585
597
508
489
495
715
585
809
448
608
551
499
498
509
589
732
688
750
740
511
608
453
471
497
570
473
805
748
597
520
439
627
642
804
508
678
761
559
731
473
780
768
575
443
693
458
515
684
627
469
725
687
679
512
803
758
704
575
655
615
678
608
725
473
520
496
743
728
431
680
547
626
643
514
701
790
813
475
729
735
817
531
447
492
475
731
727
709
658
553
624
790
777
816
781
637
538
553
571
496
509
625
562
730
660
681
598
667
515
437
819
533
745
813
565
456
493
597
450
604
488
555
748
461
505
510
536
473
460
811
653
489
500
444
745
547
812
504
710
761
478
562
603
575
582
481
550
709
730
460
617
812
527
550
491
433
804
656
434
458
467
483
506
780
505
505
444
610
583
730
467
781
442
708
732
605
691
549
514
729
815
702
541
497
637
671
644
459
817
811
457
658
548
723
819
448
800
582
441
483
780
554
693
588
422
626
436
604
554
424
577
633
674
493
509
589
701
635
579
801
539
555
475
692
544
529
464
452
437
675
568
556
776
712
702
562
558
647
542
526
787
773
422
713
768
795
695
812
568
662
645
812
639
613
433
566
492
550
632
504
815
421
710
609
750
756
502
731
784
588
483
539
677
814
613
474
634
578
611
789
618
744
653
518
487
516
807
426
820
815
464
479
431
631
431
443
630
447
520
731
592
432
523
486
625
448
674
760
624
738
517
818
468
611
486
817
680
765
532
734
633
683
790
698
466
431
606
501
525
724
617
642
802
732
458
553
509
596
577
544
797
726
800
816
631
816
539
807
704
755
588
525
459
762
746
775
612
721
723
693
452
775
733
623
725
555
438
819
660
536
480
588
759
578
632
542
493
622
685
631
527
819
652
470
695
680
492
691
735
726
447
578
463
508
604
647
718
691
488
738
768
709
671
710
487
431
435
577
593
752
492
639
736
606
638
585
644
605
605
464
649
491
500
429
673
482
787
608
760
762
797
647
444
695
669
759
456
815
640
531
633
546
586
714
489
700
521
631
576
805
533
739
517
816
698
484
613
708
563
564
661
748
707
462
488
769
499
724
669
495
424
600
633
741
709
467
692
727
488
455
633
807
618
479
498
458
622
442
694
592
654
510
443
646
625
802
489
587
472
482
670
530
721
787
618
439
421
620
634
775
435
643
603
740
441
420
575
425
755
626
445
523
480
473
754
618
771
690
777
763
588
530
689
627
504
443
749
469
472
780
441
497
697
604
653
648
700
495
472
804
648
548
552
766
520
725
725
571
667
479
781
600
805
459
590
803
480
727
682
453
721
647
747
808
484
461
602
742
466
763
626
638
577
544
594
624
569
556
741
518
487
522
603
778
575
432
429
480
708
532
652
745
556
721
737
561
435
559
450
753
742
785
769
612
694
684
632
478
796
741
603
712
561
579
685
701
703
599
601
706
786
794
646
583
637
683
522
668
612
447
531
734
663
656
477
805
729
782
786
780
489
606
583
547
519
695
567
668
533
618
753
810
810
557
577
719
792
520
571
611
467
640
667
420
800
512
536
521
495
803
797
568
436
562
734
764
818
559
691
444
700
723
802
453
454
801
624
723
511
522
814
465
587
547
659
502
459
635
625
551
429
558
612
778
621
729
692
750
552
577
644
609
813
619
682
446
795
532
677
512
631
564
731
784
506
636
653
792
549
481
660
519
694
705
584
797
655
811
691
564
524
523
479
608
480
489
593
725
505
645
422
465
540
666
497
589
450
439
729
697
448
733
532
768
481
780
504
443
466
504
650
600
565
778
768
744
728
556
813
453
574
732
500
640
660
468
576
738
607
606
657
741
617
538
737
680
434
535
622
613
745
605
779
440
688
493
785
573
709
777
635
772
644
711
770
450
737
724
570
585
499
584
699
422
779
456
520
660
722
710
483
754
552
648
511
489
650
704
442
809
564
481
654
470
620
439
589
539
491
706
527
779
690
637
678
497
532
701
784
700
484
779
692
622
573
735
435
498
756
765
469
656
705
448
529
673
595
747
621
587
422
485
528
670
700
617
430
774
559
699
644
608
499
749
675
530
783
742
600
432
596
755
477
709
684
545
500
811
530
673
666
784
770
426
468
546
714
785
486
686
653
694
492
785
777
558
431
754
791
504
502
558
670
735
697
750
649
638
681
474
671
719
740
722
749
455
560
440
545
439
633
513
672
643
679
434
542
610
452
554
616
801
579
597
816
624
471
705
711
755
569
713
816
620
809
499
457
559
570
671
433
775
647
578
575
650
516
591
603
779
478
435
718
447
549
477
715
790
639
424
483
729
547
430
578
476
767
589
716
684
659
776
445
492
462
644
758
528
466
540
759
738
635
492
815
550
491
749
488
598
490
738
766
765
451
498
498
816
535
794
791
633
623
505
578
587
699
576
564
596
466
646
681
506
641
746
507
579
623
646
422
617
504
707
491
763
736
778
514
511
592
503
550
521
626
488
519
541
658
725
807
788
680
441
748
789
718
818
804
467
657
471
770
720
644
668
565
632
784
601
696
437
794
705
621
585
810
694
550
497
488
770
788
450
736
717
460
504
442
532
755
687
662
628
480
707
792
707
622
718
540
427
503
693
578
633
757
485
798
459
471
579
474
802
605
761
503
727
596
454
480
658
439
563
620
487
545
646
491
561
449
554
675
543
425
681
625
645
495
766
690
679
679
553
441
565
726
573
505
596
570
572
730
470
712
599
439
721
742
679
718
549
434
676
499
510
639
761
804
726
610
613
463
683
691
758
510
548
468
686
593
735
568
541
614
646
625
570
807
606
782
540
705
770
792
583
781
603
711
579
596
441
453
564
534
776
551
708
474
499
820
438
456
491
617
769
814
515
467
499
604
799
808
444
578
561
615
447
529
682
722
747
647
644
495
715
472
696
698
422
455
776
776
470
595
717
764
537
632
641
436
641
440
627
673
804
754
632
503
752
493
623
588
473
677
435
709
647
660
712
708
638
617
682
450
659
660
446
737
813
756
520
447
741
491
618
711
621
488
472
580
736
461
504
562
432
742
430
596
450
720
429
802
605
447
698
435
497
812
730
421
548
611
630
745
454
816
809
588
435
620
719
564
548
635
720
722
795
601
665
624
808
816
599
808
738
484
597
439
549
539
460
472
774
597
723
633
607
528
573
639
513
651
737
599
604
454
536
476
736
796
573
605
435
772
808
458
527
511
555
436
779
506
490
797
479
470
762
485
478
687
466
628
608
607
789
478
585
772
761
666
752
745
751
579
801
478
724
684
570
497
434
646
571
515
431
449
457
697
532
443
696
428
488
625
725
622
620
607
508
818
782
437
746
583
525
608
559
681
535
452
627
475
604
728
800
494
468
518
795
450
447
695
627
611
757
619
751
788
666
441
607
657
475
421
587
792
585
599
465
589
719
533
603
505
432
631
671
471
805
469
474
730
630
769
649
665
757
758
763
510
591
566
729
442
532
769
734
580
513
742
523
644
498
697
751
562
596
520
540
703
519
559
441
593
451
805
739
434
703
575
648
426
548
498
774
762
770
631
607
819
820
490
470
523
537
568
503
694
634
762
565
648
425
773
484
767
686
421
487
799
752
560
791
513
507
716
677
464
795
558
622
721
477
747
506
641
466
719
758
702
641
422
599
489
711
553
534
517
697
582
557
557
799
780
586
795
772
698
778
533
506
806
770
484
804
788
742
818
804
752
670
663
608
790
611
595
444
619
682
547
677
804
730
785
598
716
562
572
455
498
577
744
584
659
427
766
698
777
813
580
452
717
518
555
445
570
464
580
625
552
448
436
775
664
634
567
545
562
482
573
461
706
820
585
457
735
639
603
661
537
504
456
679
615
579
535
603
424
575
601
768
770
710
756
509
737
477
443
772
752
465
650
447
648
507
570
759
477
500
742
646
711
660
790
704
756
496
564
637
640
512
795
746
559
574
523
642
474
432
487
692
649
742
719
630
557
558
789
541
519
519
758
552
768
653
454
636
424
450
777
564
619
742
733
744
815
769
536
816
425
707
609
465
638
763
811
772
599
787
577
471
601
673
711
716
619
762
659
650
747
749
567
636
512
442
544
475
445
534
559
533
491
559
697
647
542
569
765
661
506
728
519
739
469
519
596
693
811
536
648
553
514
556
783
760
603
482
643
616
686
545
747
446
557
701
432
737
782
582
639
575
489
485
625
624
438
590
689
585
420
566
636
727
541
617
537
430
654
745
645
555
672
798
482
582
763
778
475
729
557
586
500
659
452
721
435
526
534
464
483
754
805
460
716
618
614
570
459
482
455
438
671
514
665
704
693
811
611
747
586
747
549
668
644
530
737
783
795
484
643
696
570
748
581
599
487
539
502
724
498
546
628
723
786
592
766
589
492
461
532
471
699
586
425
767
689
684
459
771
640
539
769
767
776
648
681
524
516
571
796
792
717
735
739
784
792
622
547
671
638
663
778
582
440
448
539
427
433
705
671
800
775
681
632
577
470
458
815
599
587
601
568
506
661
817
618
521
592
552
534
458
521
697
562
647
626
736
511
559
807
757
714
603
582
678
746
461
496
793
477
488
690
771
465
790
746
627
617
689
608
802
427
759
806
495
609
508
701
779
538
477
710
808
749
467
803
681
734
484
816
772
759
643
446
657
588
700
438
517
535
656
637
667
629
723
800
612
446
447
686
635
647
552
720
758
422
443
435
810
579
565
515
627
465
697
503
724
521
601
636
797
710
572
720
777
799
701
751
472
453
697
426
761
681
546
696
663
805
597
525
454
489
636
513
797
473
491
681
787
706
710
539
611
767
756
477
692
766
495
796
721
588
516
547
643
577
573
626
820
627
738
478
781
760
755
462
521
752
735
580
430
578
522
777
630
497
714
620
654
623
446
445
618
630
718
446
438
485
512
595
731
576
782
572
623
674
535
703
790
523
702
500
437
592
709
615
659
569
489
656
596
629
716
674
796
622
444
767
690
696
688
604
813
428
446
777
738
688
558
799
533
557
546
441
784
790
690
538
687
539
534
634
575
688
638
620
484
660
753
539
695
536
472
743
518
666
613
422
583
630
481
545
684
818
539
710
743
755
597
677
653
582
687
467
640
512
808
686
644
575
730
550
548
651
733
788
529
799
759
583
541
562
704
543
554
670
452
483
531
798
783
701
514
668
466
521
785
495
811
558
516
429
638
581
637
812
777
511
542
677
585
757
524
677
646
515
433
598
704
642
560
519
806
623
525
623
581
670
624
751
486
470
736
430
425
543
444
801
748
722
426
429
591
803
463
585
517
570
685
812
771
628
806
474
604
775
435
581
525
707
500
431
430
448
430
781
546
541
776
458
807
654
651
488
785
648
772
514
603
794
780
653
752
809
440
440
543
724
504
724
762
507
531
593
505
459
422
475
573
539
700
505
605
642
593
755
508
501
809
543
776
586
747
661
637
433
572
714
777
501
587
819
599
716
760
718
750
513
745
511
813
630
469
570
812
734
656
560
754
483
550
701
789
723
528
732
533
761
723
742
629
729
466
582
508
513
705
642
633
539
726
626
702
797
538
467
602
774
420
625
681
695
443
555
687
587
778
652
600
738
528
778
547
430
687
428
530
647
660
613
554
433
771
585
672
622
724
458
811
718
783
638
600
661
542
609
445
595
709
798
427
523
608
441
508
666
561
768
436
744
436
572
558
790
533
609
612
457
798
761
454
635
750
761
598
810
582
785
691
443
493
726
694
666
458
625
651
678
759
764
453
422
582
507
797
711
459
455
535
423
518
628
597
540
684
545
624
675
766
573
593
588
452
789
514
579
497
526
600
549
545
656
791
623
637
686
506
814
544
583
527
588
689
565
599
751
543
702
646
813
462
749
653
424
752
493
465
634
675
678
431
420
816
477
535
513
633
785
769
694
514
626
679
464
683
591
729
802
673
480
739
814
529
663
542
566
774
799
459
490
534
669
791
570
536
563
769
760
471
778
668
568
597
680
638
512
813
795
511
702
540
552
785
634
710
427
762
439
588
547
562
539
707
756
624
497
545
783
791
813
793
804
639
722
769
809
516
759
759
630
624
606
461
696
481
459
471
450
766
708
792
531
483
753
521
780
500
429
579
539
684
626
780
463
675
514
662
810
586
467
810
582
722
749
676
817
728
612
671
655
646
508
699
685
483
491
500
579
636
706
535
731
578
539
799
579
773
679
791
462
799
556
553
499
698
712
449
610
443
465
685
562
778
490
508
436
694
450
710
576
469
566
551
700
763
574
518
688
534
752
619
434
770
571
542
467
458
477
623
678
602
602
705
602
473
708
609
798
660
472
435
657
727
599
564
704
545
658
636
765
465
516
672
430
610
577
516
803
436
519
664
688
486
816
442
433
500
786
472
461
714
771
739
540
447
449
726
726
526
516
768
472
451
429
721
726
755
811
669
539
515
665
690
430
450
733
700
656
669
685
534
715
766
437
473
549
512
511
518
690
616
637
655
675
742
612
710
730
683
575
700
705
703
691
432
772
615
580
705
457
704
470
462
442
493
746
599
484
704
773
601
728
584
578
621
583
473
679
485
643
563
641
685
691
627
741
705
468
802
602
816
804
664
636
637
780
804
461
660
610
432
627
620
781
464
633
448
765
741
745
619
424
554
463
526
445
444
667
677
782
434
655
738
773
679
568
588
544
797
641
787
782
787
601
470
543
658
775
770
808
435
656
445
450
626
523
640
751
461
558
565
496
519
676
746
763
636
435
621
444
521
641
624
779
493
790
805
517
686
773
730
704
455
614
460
563
804
624
604
744
687
650
633
553
452
786
780
491
665
703
465
470
606
771
591
697
767
634
738
688
773
451
425
440
647
681
699
516
586
518
795
790
504
753
455
542
629
663
807
521
531
457
567
607
772
675
679
518
731
676
718
567
480
703
629
816
712
657
746
429
457
582
664
640
757
590
777
593
751
507
647
683
592
564
478
685
502
574
600
540
739
668
561
553
458
813
457
780
726
550
817
803
722
575
488
501
452
491
428
547
582
454
493
423
696
573
579
476
693
553
790
723
449
537
443
529
812
678
498
507
458
655
804
722
722
707
590
520
435
448
431
662
557
331
435
361
392
317
474
353
374
500
457
317
337
469
483
349
476
423
481
358
301
374
340
364
445
345
387
440
315
439
449
415
435
348
443
340
375
444
353
433
473
479
382
461
399
319
357
460
489
437
395
421
398
410
325
437
435
452
339
338
396
469
396
337
490
342
305
416
443
425
397
316
465
323
483
339
388
410
319
423
366
471
359
411
377
438
340
350
333
394
322
459
329
452
466
362
473
394
338
492
317
372
462
393
396
423
499
444
377
419
410
470
442
457
375
316
318
397
493
383
321
314
335
488
447
375
349
486
496
340
344
369
465
391
471
351
372
426
417
347
309
424
486
484
480
383
381
327
312
301
403
307
304
368
493
373
398
351
408
418
332
440
462
475
475
449
414
333
316
464
444
337
496
426
361
374
345
392
370
461
380
416
341
398
440
369
345
321
379
336
349
378
303
386
454
315
313
344
486
480
378
347
381
418
307
460
362
319
316
429
464
389
359
500
430
377
319
417
316
439
376
463
413
408
329
380
370
459
459
410
396
464
446
454
323
363
388
466
350
444
379
420
363
396
449
348
326
391
433
429
320
428
424
433
396
397
470
489
402
451
354
466
487
427
311
490
361
437
372
448
308
306
362
451
311
488
428
391
462
365
385
455
402
359
302
417
346
367
465
422
352
345
500
300
403
500
304
440
356
359
401
485
450
428
402
367
437
479
324
439
322
337
341
405
352
467
382
370
498
369
473
495
455
480
304
366
382
467
405
445
364
349
314
389
429
429
454
479
396
478
412
348
335
330
434
452
302
468
409
451
314
396
317
404
309
358
438
335
349
435
489
468
338
357
432
413
385
402
325
344
311
357
462
469
488
441
491
340
490
489
397
308
438
500
314
446
464
331
435
482
365
324
409
485
380
321
457
401
390
453
314
348
351
324
314
419
312
378
374
438
342
335
346
371
337
330
465
440
408
386
395
421
300
431
442
360
365
475
427
346
465
421
309
358
498
461
412
395
498
465
449
384
360
465
480
309
412
374
435
400
471
432
444
322
399
449
480
410
368
364
487
433
412
417
400
335
476
428
398
346
467
480
499
423
493
486
358
336
346
320
445
463
331
343
488
439
368
420
338
490
467
323
399
391
368
395
405
418
403
443
374
350
336
325
435
347
416
335
400
498
421
470
444
459
372
301
429
343
315
447
413
367
392
467
483
386
465
388
401
405
356
405
388
395
434
384
300
422
370
418
390
391
478
375
448
492
306
394
421
397
456
318
339
330
457
423
497
366
359
475
423
420
411
354
360
307
305
343
403
312
330
470
340
326
481
327
411
412
395
306
437
368
420
371
409
372
430
449
438
452
381
371
466
419
394
480
500
401
477
311
312
301
395
348
391
470
442
317
462
352
386
434
482
486
329
448
498
363
443
433
344
425
497
343
357
383
414
308
468
457
396
410
376
355
311
332
462
417
440
393
471
346
493
424
412
487
472
387
383
450
487
372
358
362
480
393
331
356
349
493
416
428
455
498
401
481
308
410
390
464
400
451
484
318
446
341
402
353
347
379
487
345
397
395
394
378
316
478
476
307
318
376
426
488
314
319
453
481
328
468
329
349
469
464
488
460
339
470
467
401
462
386
450
387
476
459
318
500
452
437
320
401
452
417
432
333
421
454
475
349
358
471
476
395
352
394
492
361
493
430
332
490
345
484
385
445
498
386
385
348
326
368
315
334
454
431
440
496
431
410
470
421
304
347
355
423
349
400
437
397
405
490
312
398
463
369
465
495
411
332
330
370
459
347
392
435
412
445
469
403
313
392
355
399
388
308
396
460
442
470
428
409
436
380
328
422
449
440
478
387
319
339
320
312
358
455
354
477
496
316
358
344
432
313
381
449
412
376
303
379
487
453
442
340
324
314
446
477
490
491
432
486
308
468
472
444
344
497
370
351
455
325
387
496
376
411
312
313
404
498
421
477
465
365
352
474
324
415
446
480
430
470
366
356
450
471
355
379
438
475
431
310
304
318
352
389
496
428
344
447
340
463
452
431
328
346
335
465
493
426
312
488
471
369
367
362
357
345
485
449
361
410
317
470
365
478
324
348
478
439
460
322
486
464
458
454
304
443
396
387
388
402
307
462
394
317
391
472
413
321
394
366
364
414
333
426
329
352
451
416
319
493
329
398
318
304
422
464
500
382
468
461
416
431
415
387
484
353
386
369
397
331
430
388
453
356
336
330
494
454
388
496
453
499
309
371
472
349
390
313
414
482
487
454
399
415
420
424
415
357
324
419
498
367
455
489
450
336
452
493
362
466
391
492
363
332
476
380
308
481
420
387
497
448
442
462
329
406
301
456
349
407
338
304
358
313
454
460
354
352
321
430
319
423
466
454
303
380
301
448
309
337
472
439
422
410
488
309
498
447
316
478
391
402
463
394
313
329
447
324
331
315
391
441
368
450
488
379
408
460
478
427
354
464
441
465
447
392
351
337
419
402
350
375
348
302
422
500
368
446
371
393
455
426
381
488
490
417
441
313
458
475
329
377
406
442
440
315
446
417
339
349
318
357
500
497
361
385
342
411
449
411
303
370
482
479
447
498
422
464
407
310
427
444
367
404
343
484
480
338
477
461
487
303
470
306
328
368
485
326
444
459
417
413
410
402
421
343
371
467
305
383
433
496
401
322
340
474
348
308
435
305
370
473
471
463
393
458
304
343
333
443
413
472
494
485
435
432
493
317
393
393
454
425
453
327
463
437
471
341
435
320
417
430
350
301
450
336
310
474
308
406
380
354
304
403
341
351
366
442
430
402
484
456
332
357
334
474
408
473
393
358
441
482
434
369
434
300
477
384
457
329
474
351
476
418
374
300
423
500
390
309
317
358
335
425
418
406
375
479
476
417
322
435
452
440
402
451
359
418
335
407
488
414
449
421
463
327
390
396
306
338
423
338
475
329
462
317
316
493
377
352
500
308
379
491
448
331
397
406
435
479
349
406
468
440
392
472
317
426
375
390
347
346
433
309
376
447
368
384
411
351
427
439
395
495
492
355
325
307
461
466
434
400
418
323
435
500
435
338
482
450
429
459
421
491
484
467
319
452
415
496
467
302
445
415
449
383
357
358
347
437
383
458
443
343
323
352
448
332
483
438
371
375
476
353
326
394
376
458
422
347
360
400
314
499
445
324
446
322
475
319
314
460
410
433
364
409
462
385
418
432
432
466
429
347
405
316
348
473
310
461
476
420
350
491
448
422
361
479
311
412
496
381
358
445
312
375
475
355
344
419
320
420
373
332
455
311
422
500
435
423
438
480
423
494
433
339
340
418
438
445
426
334
392
482
376
433
335
449
483
475
332
305
438
312
308
447
474
434
447
496
335
373
489
314
492
347
419
440
384
321
333
312
362
489
438
431
366
382
307
489
440
381
332
467
428
394
313
327
386
466
481
417
303
487
446
498
304
468
467
322
445
364
338
440
449
379
361
477
311
311
332
355
409
462
478
340
492
391
409
426
357
498
461
391
459
488
438
464
395
367
472
468
333
440
460
423
445
357
365
461
422
431
389
353
485
439
322
394
497
351
468
425
436
367
490
411
316
427
371
481
352
382
317
352
403
437
366
353
302
378
366
382
463
384
460
459
411
393
369
380
356
368
449
334
409
392
496
340
374
423
447
418
310
444
434
492
360
431
402
344
335
396
339
342
348
318
331
301
312
300
411
451
474
322
407
427
393
369
322
423
318
402
459
468
481
424
331
357
448
405
457
351
472
440
302
494
375
468
305
318
320
382
356
360
376
458
423
421
361
395
303
311
386
402
369
413
427
402
477
398
438
366
363
349
369
466
441
427
460
369
492
405
308
311
316
434
374
476
374
498
445
494
357
389
394
382
381
393
317
315
395
437
464
399
345
416
463
442
327
308
326
336
311
439
323
388
331
325
313
317
467
464
388
379
424
308
427
494
376
368
492
317
473
420
446
307
441
416
425
419
482
357
446
470
335
302
330
372
302
435
439
417
355
304
366
472
418
482
446
405
400
483
389
484
380
385
358
355
427
492
303
420
325
474
316
371
321
327
399
327
462
314
416
338
337
383
456
343
327
482
398
494
475
467
301
416
448
390
495
385
427
460
478
326
427
401
363
447
393
490
407
431
459
498
457
375
318
417
325
467
372
448
400
488
342
456
382
447
308
463
376
435
462
402
496
324
436
398
414
465
426
319
482
442
325
351
397
350
460
319
475
456
467
354
475
475
343
484
372
394
399
499
454
394
484
478
364
358
474
390
398
300
411
322
458
437
457
352
346
424
306
359
497
345
440
323
361
412
384
347
354
361
326
493
497
444
357
420
388
385
343
478
425
492
333
408
331
345
373
300
371
388
429
478
379
315
451
364
323
351
474
395
404
342
483
312
444
499
373
407
303
386
354
428
331
366
478
430
468
313
301
494
458
386
406
440
491
315
324
397
438
466
357
486
422
424
393
307
425
372
456
314
357
440
477
425
464
496
447
440
466
314
437
339
310
466
474
330
456
468
372
311
378
348
373
380
374
486
352
411
497
453
305
445
488
389
391
350
423
418
358
494
324
384
462
336
476
444
312
385
399
331
492
349
428
397
304
386
399
351
436
421
459
347
436
492
399
379
480
473
398
480
354
478
407
306
464
386
305
471
495
480
447
339
499
326
388
389
442
402
433
339
470
434
321
333
344
475
483
382
365
466
359
454
340
485
423
369
449
425
394
455
475
485
492
403
427
490
417
431
359
405
451
410
357
451
362
341
478
465
336
447
433
436
396
319
433
466
491
329
456
443
500
469
347
441
357
332
480
493
416
395
395
390
366
320
474
439
484
431
429
420
387
493
455
335
357
329
442
370
430
339
418
411
300
442
335
302
386
325
339
371
339
349
434
458
412
413
314
312
402
453
486
376
493
361
447
427
440
480
411
318
332
333
324
456
425
366
403
334
476
480
419
487
408
348
463
443
368
426
462
473
401
357
404
341
465
370
328
487
433
415
488
371
460
484
379
438
321
340
397
499
428
464
341
309
397
487
365
452
422
378
357
419
450
486
434
489
417
336
363
403
302
449
353
312
418
407
406
378
304
490
464
383
310
368
447
381
423
359
394
385
330
325
385
308
449
363
320
363
478
386
455
325
339
455
438
345
465
493
415
441
482
455
394
466
476
309
433
362
303
480
382
375
410
500
326
349
388
411
411
433
483
435
320
353
390
433
443
396
443
489
494
457
319
376
443
485
338
419
471
356
323
460
377
398
485
410
306
489
378
474
337
351
386
313
373
368
459
496
492
326
437
349
423
312
476
432
480
328
463
386
452
326
423
491
374
306
455
433
322
478
344
368
492
421
443
310
380
367
437
470
343
362
423
495
472
473
486
479
357
339
412
481
474
479
382
447
316
346
323
311
466
488
347
430
346
410
364
458
378
432
407
479
390
324
323
385
356
423
303
447
320
346
355
332
336
397
437
381
337
379
452
342
474
358
419
347
355
325
347
383
419
404
474
490
457
480
366
402
430
346
398
332
479
440
384
441
339
439
393
498
433
440
465
376
419
482
414
393
302
488
323
359
365
491
360
337
492
490
300
349
491
463
313
399
314
393
388
338
496
335
465
361
369
362
440
354
484
483
491
478
381
412
329
416
376
381
300
458
406
438
455
402
421
409
375
478
358
474
391
341
329
402
410
490
467
483
394
356
376
331
494
467
371
445
452
350
437
341
481
413
356
393
315
338
491
385
363
471
356
491
500
396
402
301
450
436
330
456
451
334
424
446
376
471
448
396
344
403
376
320
379
414
426
359
340
459
444
382
382
306
449
394
402
465
374
473
479
491
495
306
311
464
312
484
473
480
434
339
464
478
430
484
365
384
343
464
491
491
399
478
344
301
382
404
439
462
386
402
307
383
372
442
406
470
351
472
356
440
395
351
381
328
499
358
433
482
311
369
354
334
384
471
406
416
400
394
474
375
432
371
349
353
464
351
343
383
436
325
498
473
411
317
413
492
342
360
302
351
416
390
383
491
433
479
411
372
460
452
330
335
499
344
438
473
322
458
342
364
434
353
412
424
355
436
428
331
321
473
408
341
341
425
425
428
368
421
493
317
467
399
381
478
454
475
488
430
485
469
417
352
471
307
410
315
494
425
469
389
433
415
392
494
421
388
365
337
445
369
329
349
304
331
404
396
339
360
342
317
491
472
436
347
438
359
325
424
490
434
405
335
477
364
301
460
448
317
315
423
380
336
356
375
420
474
344
489
370
465
457
392
337
430
443
349
452
481
307
466
387
368
300
429
330
409
379
480
315
324
313
477
446
324
488
398
301
452
435
353
439
386
469
473
420
478
397
446
380
446
338
353
389
302
309
387
306
409
303
439
315
426
315
499
441
463
338
387
328
332
480
466
424
393
410
421
391
303
371
446
328
440
461
357
320
459
435
351
453
346
444
344
471
360
307
492
336
418
413
406
393
430
395
313
457
458
401
458
323
499
326
418
388
385
383
450
490
486
322
316
349
416
492
472
377
442
351
307
496
378
489
446
304
374
410
407
485
458
441
305
385
336
344
424
391
483
445
441
420
344
311
313
343
370
467
431
375
500
401
462
462
459
363
360
322
304
375
351
400
471
323
382
315
360
332
352
381
358
313
303
399
492
475
498
476
452
451
362
434
399
457
409
476
449
455
399
456
470
435
450
414
343
456
401
470
361
480
352
495
384
483
342
335
425
362
339
462
317
392
441
361
355
441
479
364
316
364
402
452
355
457
354
342
499
397
490
361
363
357
369
303
406
358
495
486
378
334
480
392
475
343
362
482
473
406
422
407
402
335
433
451
316
417
453
493
319
451
304
419
499
348
475
311
331
448
431
340
471
349
379
350
383
312
497
437
429
465
327
413
380
328
483
429
438
407
365
460
324
336
465
495
332
427
450
378
494
382
337
430
307
394
482
403
486
354
462
403
386
459
384
394
403
445
307
303
453
430
315
420
459
351
490
342
489
428
417
432
465
490
399
339
398
364
481
347
402
317
473
385
346
396
479
333
314
468
488
329
485
381
306
486
490
366
346
437
469
401
367
469
392
410
303
439
455
486
442
491
389
440
352
369
432
371
477
409
449
342
467
411
494
414
433
363
410
419
408
470
423
465
398
437
442
356
360
385
321
443
428
378
388
496
330
318
311
312
346
408
340
383
318
450
360
389
496
466
397
428
463
388
317
340
482
407
314
415
336
423
385
492
487
357
363
338
343
357
304
311
464
447
428
318
345
310
312
456
346
480
336
368
397
498
447
342
358
430
461
345
301
467
407
486
385
344
342
404
323
459
473
371
357
336
367
409
343
321
489
323
390
387
487
304
470
477
300
440
350
329
373
469
447
332
495
431
310
321
499
500
346
325
398
347
339
492
334
404
458
446
402
365
468
445
422
345
458
491
418
476
452
382
487
354
456
499
492
404
311
387
320
458
410
312
397
350
476
355
344
423
404
485
435
452
489
363
312
303
456
320
406
469
347
430
392
349
308
364
307
353
416
339
393
375
322
405
415
493
389
446
302
379
430
448
387
428
458
447
430
470
487
350
334
305
396
436
359
351
431
386
364
363
431
307
356
369
479
477
313
450
352
379
376
468
388
370
302
316
341
333
491
406
464
303
448
327
300
319
435
373
475
371
339
345
319
375
368
314
338
408
435
311
468
368
499
405
458
377
454
363
476
442
481
490
426
351
364
408
390
330
492
357
454
388
313
449
417
346
359
354
492
391
311
403
379
341
392
432
416
354
497
357
478
425
408
331
466
464
329
414
387
307
398
375
300
340
376
447
417
499
336
384
436
385
349
341
433
385
326
413
421
425
341
397
482
372
393
499
427
432
304
372
490
428
399
384
329
455
431
390
495
387
470
459
382
313
358
310
456
461
440
302
436
416
494
432
393
375
340
354
407
389
425
456
338
384
311
362
380
383
458
389
311
383
492
438
319
359
406
477
345
399
348
307
313
488
449
397
459
343
385
361
471
499
483
335
346
461
480
500
307
421
431
354
497
460
321
334
320
404
373
473
470
409
477
318
382
409
476
466
454
323
385
343
414
387
375
398
315
478
353
475
401
486
333
431
459
419
304
311
397
365
421
465
432
322
314
431
481
338
343
316
495
324
333
312
354
450
387
481
465
441
313
385
463
416
386
486
437
312
424
437
443
371
471
445
343
449
343
494
452
350
382
498
457
303
459
410
457
353
388
416
343
361
381
360
302
374
471
474
317
346
434
372
339
450
345
461
361
468
405
342
479
425
447
361
427
446
355
455
392
302
304
350
312
324
470
427
343
329
367
378
349
446
406
483
336
484
312
404
386
431
478
304
486
420
314
301
408
411
401
465
333
462
462
375
304
384
369
312
352
388
483
423
369
339
301
429
452
392
402
304
375
351
441
305
381
322
325
303
403
322
447
328
427
488
462
368
301
449
429
301
373
301
452
399
331
309
414
470
496
386
369
422
362
404
358
432
415
368
363
359
460
324
450
348
359
315
360
466
399
354
414
320
436
325
317
325
495
311
375
311
409
431
330
346
394
310
447
496
469
400
338
324
493
331
480
491
348
458
394
478
376
371
318
385
322
410
445
321
358
410
489
460
484
393
500
454
476
389
456
420
374
442
441
409
461
494
366
407
373
458
458
495
415
496
498
326
404
387
357
360
417
481
421
412
344
451
443
451
327
483
337
360
460
453
310
305
427
457
470
457
436
454
369
336
365
483
407
372
439
486
408
433
453
483
434
320
459
477
439
496
460
410
487
402
370
417
478
344
423
438
491
351
305
348
346
490
414
308
416
409
439
398
380
348
455
396
410
480
363
390
450
348
497
443
307
400
471
341
409
442
492
344
353
405
302
439
319
435
400
374
367
355
445
377
458
441
421
324
319
489
366
331
353
345
432
499
350
483
419
453
436
428
343
409
438
458
357
300
401
368
429
493
321
312
476
378
440
467
440
476
443
491
314
405
490
459
473
315
338
458
428
500
383
312
483
471
323
344
460
387
344
413
439
467
444
319
386
436
318
403
353
492
426
334
439
445
455
478
467
497
405
481
341
449
379
478
397
365
430
497
341
379
359
317
366
441
473
399
392
334
349
337
347
314
488
418
366
448
476
475
325
433
318
321
399
497
368
418
377
420
332
490
438
498
319
300
357
309
489
398
409
362
342
413
482
304
368
446
359
331
474
390
321
336
375
445
372
418
357
500
485
456
317
467
441
418
418
484
434
386
455
466
309
311
335
313
485
442
476
427
362
307
406
408
387
419
323
340
481
424
405
322
364
383
357
360
375
305
323
315
354
335
360
388
389
462
395
452
402
475
472
327
491
330
453
397
433
369
460
419
435
373
356
497
496
472
383
393
473
490
385
484
424
365
348
308
304
458
399
445
448
457
362
373
369
463
432
444
324
379
458
452
406
331
364
421
442
357
424
378
314
418
375
324
413
330
430
488
421
418
495
401
313
333
467
352
362
415
401
450
472
468
410
380
423
329
456
382
338
311
495
389
321
396
398
316
457
346
433
470
433
447
391
388
436
461
352
415
355
449
394
419
378
455
364
471
454
435
390
303
325
468
346
388
415
407
427
368
329
366
453
483
484
471
423
365
412
379
341
432
475
412
300
412
459
384
415
433
350
409
303
462
425
448
325
475
426
418
456
395
441
367
427
333
371
324
403
495
433
415
334
390
468
382
467
496
309
389
340
443
386
433
304
348
360
447
481
386
375
415
382
495
304
445
457
406
500
317
393
466
404
338
458
354
462
441
444
449
350
321
350
370
408
369
500
468
422
420
490
420
493
477
409
495
444
432
412
488
362
302
365
352
447
302
378
359
383
407
315
367
366
357
320
414
380
487
371
361
365
327
486
462
370
374
418
363
447
406
333
406
374
416
431
485
478
384
435
375
316
306
415
380
427
322
344
495
489
384
442
421
418
432
488
486
354
462
419
446
377
331
409
448
332
326
359
394
367
358
447
500
412
443
471
358
351
354
419
451
438
362
478
441
416
348
400
352
402
389
370
500
483
343
302
477
384
458
469
381
387
321
488
323
334
410
397
441
350
416
499
348
317
449
491
493
495
461
307
488
455
463
371
364
394
311
465
446
414
355
397
362
428
354
322
475
319
453
358
399
415
456
385
336
448
333
424
500
461
373
434
357
357
375
333
326
489
343
430
352
389
349
304
369
454
380
331
377
462
371
434
416
383
374
380
468
404
337
386
481
420
488
453
470
393
327
310
424
443
369
308
381
332
445
405
448
488
458
385
305
311
422
348
459
353
427
425
471
317
353
376
395
485
468
466
323
432
424
472
394
433
373
363
409
446
409
321
450
374
430
452
389
460
413
360
421
320
389
313
334
350
474
389
455
493
427
321
338
323
416
478
303
343
396
318
429
460
400
429
427
474
344
417
314
476
397
311
392
418
406
379
438
310
379
483
434
396
348
361
480
418
362
394
382
371
491
478
441
442
373
417
417
392
344
431
487
485
357
489
360
327
305
404
401
321
421
470
358
416
483
402
462
376
434
370
437
320
396
347
368
474
494
443
475
382
371
464
475
496
492
441
392
442
445
417
329
451
317
408
377
369
432
346
448
303
442
443
311
367
465
487
333
441
319
500
364
337
438
392
427
423
386
462
439
301
320
402
475
431
331
329
324
362
404
380
330
334
463
409
384
448
360
312
465
387
340
427
428
350
422
300
320
362
497
383
370
327
312
395
492
441
328
315
312
350
357
496
304
330
377
486
314
320
305
414
309
335
494
443
369
470
465
453
368
347
360
420
390
336
492
447
413
387
453
361
405
469
414
358
427
431
414
367
313
308
354
500
377
479
432
406
320
477
458
328
427
419
316
338
480
344
361
423
320
487
342
328
390
330
415
337
463
372
355
334
427
454
310
477
339
371
363
359
371
495
472
391
352
377
409
475
315
405
361
416
433
456
356
494
312
339
494
441
368
402
391
362
439
465
322
480
314
353
397
399
377
324
481
463
300
445
352
318
470
391
458
396
385
342
440
492
369
376
440
363
465
367
300
367
383
315
472
381
403
474
318
327
482
427
324
428
446
407
321
452
436
452
442
433
384
478
467
486
469
400
433
430
497
450
314
365
480
494
344
436
310
445
458
332
421
465
363
451
425
421
308
362
438
422
420
439
398
410
445
452
433
372
467
410
382
317
462
464
427
398
342
433
372
343
495
341
489
439
335
467
455
347
309
492
307
399
361
397
328
408
469
433
379
336
493
327
395
479
306
415
323
485
369
354
412
397
410
366
438
399
337
390
480
349
461
475
403
431
327
309
410
356
479
500
500
434
450
490
338
402
453
354
438
413
321
309
357
415
409
463
387
395
468
498
488
424
378
412
445
364
324
370
494
360
463
345
304
321
475
310
358
386
347
348
311
343
397
375
482
302
412
432
415
340
445
319
411
384
480
322
439
404
331
371
311
494
375
475
419
421
389
302
436
348
305
482
416
430
401
446
462
323
300
392
466
324
436
367
340
392
411
491
417
492
339
475
424
365
388
431
403
374
316
314
329
463
430
346
329
417
434
460
304
346
385
333
432
447
457
463
377
328
371
490
370
430
438
371
348
418
363
426
364
325
430
340
395
469
397
376
431
483
467
325
346
435
388
452
407
333
334
455
395
316
417
450
343
343
346
455
310
347
461
492
490
318
332
321
447
419
343
336
459
379
453
420
416
425
480
410
465
484
396
491
396
340
335
500
478
372
448
334
347
362
310
497
490
362
462
369
462
361
322
444
485
432
473
395
368
445
496
479
401
348
364
317
472
457
440
410
411
408
369
406
417
404
424
334
344
362
379
429
406
455
302
360
452
322
471
355
389
420
451
361
359
487
380
447
307
408
328
350
475
311
361
371
462
465
373
465
359
327
340
418
424
367
493
409
433
442
321
336
466
379
432
484
318
460
434
343
499
423
427
306
452
319
477
459
382
357
303
493
393
485
483
408
433
410
454
356
454
470
437
359
331
435
344
384
461
442
423
379
401
478
488
458
383
440
343
444
467
344
467
392
426
420
417
325
390
349
341
332
425
473
359
494
320
319
334
415
453
433
316
416
500
487
370
464
481
331
349
327
477
461
337
463
453
335
370
395
316
314
385
302
401
494
333
383
452
496
355
380
308
476
349
493
357
353
481
315
387
375
455
400
483
445
396
395
330
372
382
358
482
424
492
333
447
485
431
331
322
325
378
450
466
432
471
450
386
358
347
388
400
320
473
377
473
372
304
303
331
402
419
382
309
409
450
468
324
352
439
312
480
312
385
308
342
311
473
407
445
452
399
366
435
436
439
314
446
385
393
474
463
443
421
488
487
361
390
376
340
396
304
382
352
391
350
378
305
407
475
427
312
329
332
417
309
431
481
445
383
438
382
389
442
382
374
377
391
321
458
383
317
388
302
361
408
457
372
420
323
335
336
481
487
424
330
435
412
326
333
495
353
376
328
350
483
480
428
325
479
397
496
468
320
418
497
427
476
389
477
367
377
336
373
302
451
371
320
485
339
352
313
326
401
340
451
489
488
325
318
322
435
314
374
475
363
378
484
322
388
451
430
490
411
373
461
497
383
440
334
322
475
440
378
402
314
300
475
423
355
333
445
477
441
355
493
420
364
444
374
424
445
347
370
480
384
392
483
325
318
398
308
351
334
494
395
329
367
461
418
349
496
382
357
377
448
383
379
398
333
313
406
432
393
410
348
373
364
386
467
461
456
481
383
318
447
413
350
381
413
402
485
335
349
394
344
355
416
486
303
325
310
345
455
409
374
379
490
399
327
362
418
463
477
449
495
390
409
381
466
385
333
493
405
342
476
366
475
415
318
479
445
301
386
482
465
351
344
317
409
361
442
372
495
314
346
401
316
418
323
361
353
302
492
438
437
302
443
434
345
358
403
361
474
394
470
345
381
453
463
476
406
436
366
384
421
396
486
424
438
440
310
411
380
369
301
438
500
373
484
435
438
378
424
336
326
392
340
410
305
403
498
488
459
467
325
432
399
456
427
396
302
409
449
405
471
472
337
348
489
301
402
364
372
454
378
490
364
498
500
342
351
432
396
413
342
322
449
394
459
474
477
484
376
321
447
368
418
393
368
494
409
356
352
373
425
301
410
368
357
464
451
426
415
428
440
462
303
351
399
301
300
324
330
435
373
364
493
375
484
444
484
330
444
479
310
357
441
387
424
486
458
386
337
400
411
315
496
471
310
441
497
385
483
427
484
318
467
312
325
308
356
405
485
318
441
498
478
396
412
392
468
415
410
340
302
431
365
448
458
354
304
484
395
490
399
351
390
308
458
452
399
426
400
309
428
434
432
412
469
326
500
440
369
360
479
462
406
500
416
309
339
365
377
349
404
484
349
403
385
320
428
492
356
451
406
396
479
401
432
493
481
465
321
475
441
419
379
434
417
478
486
493
455
469
449
351
400
336
453
371
487
436
342
357
448
355
493
384
361
460
351
393
354
321
386
357
345
419
323
463
316
407
348
318
345
391
479
331
353
385
354
303
469
478
350
432
466
381
406
482
335
498
404
388
363
308
385
452
479
450
463
410
368
376
430
395
446
370
369
334
475
376
317
392
315
484
430
313
368
394
459
315
303
378
424
316
343
437
442
390
303
468
302
464
451
449
347
315
459
431
355
349
339
395
375
340
494
421
473
327
422
475
336
487
349
326
472
453
397
415
314
472
413
347
412
417
314
341
373
339
300
473
387
394
331
417
500
435
459
302
322
302
479
404
432
354
461
308
461
434
446
480
449
492
490
396
452
487
341
351
356
475
314
421
448
363
408
498
437
354
376
494
407
409
426
423
443
494
378
478
313
412
406
382
494
410
393
379
399
433
337
376
455
481
359
393
365
474
487
386
318
379
480
370
360
455
477
343
412
382
335
357
442
418
404
405
365
487
343
453
495
376
473
497
429
323
303
434
354
366
456
426
426
491
489
320
495
341
416
379
467
306
317
388
411
347
475
433
323
369
384
404
436
416
403
495
346
416
356
360
467
362
359
479
386
323
371
348
423
482
403
336
358
356
461
372
363
349
499
307
338
393
446
403
330
438
394
384
449
396
451
474
402
326
494
493
477
447
310
458
462
424
327
313
347
326
433
372
395
304
463
486
385
381
378
457
315
428
323
325
377
386
358
491
337
322
495
329
500
412
367
407
400
348
360
465
442
317
337
411
485
497
323
479
416
312
340
334
422
481
439
309
412
357
462
481
325
493
322
397
371
472
399
485
342
403
372
329
330
488
459
424
413
468
384
448
365
331
413
386
361
306
340
367
471
416
410
379
393
321
495
338
437
416
421
404
416
325
443
313
362
405
334
314
401
328
424
380
381
434
360
484
306
385
417
405
320
489
327
352
319
467
469
326
392
485
427
374
360
452
329
498
388
356
405
368
390
494
449
418
492
440
315
411
339
368
467
313
348
440
453
445
368
439
312
464
328
487
447
383
420
349
436
337
378
443
357
303
322
326
387
472
394
494
371
421
409
426
410
394
442
482
343
473
390
486
387
385
344
306
323
316
377
306
343
347
410
447
430
344
377
357
362
492
332
354
342
340
484
354
493
479
337
373
345
398
434
478
409
475
327
412
416
481
340
435
476
378
444
378
476
327
362
363
356
461
498
306
477
449
481
407
483
300
373
452
389
407
479
461
325
476
494
499
330
361
306
373
494
471
448
342
425
430
444
416
449
449
308
413
395
350
485
454
401
306
405
458
500
463
322
339
423
320
307
391
424
395
351
317
465
358
321
439
463
431
498
396
352
352
383
448
330
365
489
410
407
432
482
402
373
410
494
491
395
351
409
372
478
366
378
391
366
444
323
384
408
394
441
479
373
381
469
460
391
426
334
335
301
466
338
310
333
414
367
411
348
410
311
372
413
323
349
395
310
479
489
305
498
335
484
321
359
479
376
364
423
334
319
410
450
469
491
469
389
493
456
479
362
371
470
497
409
466
378
406
349
308
404
421
485
408
471
391
485
451
373
479
350
370
398
432
417
484
300
392
381
331
454
467
487
448
464
499
366
302
395
488
315
379
423
388
432
477
482
385
468
422
373
428
315
424
456
342
320
413
392
356
380
403
306
412
399
329
392
341
482
490
441
414
479
459
388
425
322
310
478
486
321
349
495
340
393
367
330
408
396
470
442
484
419
308
485
432
395
447
350
318
406
422
315
405
492
413
342
471
418
358
354
317
341
366
303
319
352
456
399
499
433
357
314
455
477
424
480
359
392
331
307
355
422
314
465
415
357
354
451
358
430
348
493
388
375
428
333
307
401
415
417
466
475
419
477
477
351
328
406
360
361
487
311
463
305
440
371
337
428
386
408
320
495
370
419
324
432
399
492
417
320
464
369
315
379
312
405
309
484
426
479
478
474
303
461
331
346
403
480
470
430
433
356
418
355
474
350
394
470
382
486
357
337
366
325
484
409
416
371
426
362
455
494
315
483
449
388
426
367
368
331
391
372
354
492
351
347
313
465
435
371
337
491
491
433
320
358
347
366
396
424
454
389
388
330
330
407
493
369
316
343
428
432
338
473
346
479
435
397
350
302
400
403
454
384
362
338
433
415
304
468
412
345
366
373
327
411
479
361
304
441
416
314
369
369
458
328
385
405
360
367
496
383
323
312
453
426
324
371
472
350
329
312
484
453
356
433
329
386
368
385
446
444
396
316
442
330
409
498
348
490
431
371
426
414
352
401
447
498
435
405
356
314
394
337
450
432
342
375
479
367
409
461
422
327
316
437
312
310
328
318
485
338
317
381
329
310
489
393
474
447
490
334
384
353
372
364
428
310
430
387
351
344
326
345
392
472
433
497
423
361
408
461
405
351
399
301
471
356
359
431
500
438
489
317
334
358
306
339
472
360
492
307
458
396
369
476
431
488
411
358
494
301
429
497
482
420
322
443
350
329
491
407
487
450
433
313
460
338
356
414
332
442
305
450
445
485
380
446
394
364
475
306
370
402
309
399
410
333
390
309
471
417
461
381
478
392
455
307
464
485
465
410
466
436
458
313
315
345
313
410
300
455
463
309
321
337
314
384
480
326
375
485
498
442
356
437
459
357
327
467
406
304
398
440
393
405
464
398
461
361
362
452
304
413
415
396
424
413
467
459
416
329
360
480
337
329
363
457
371
401
415
494
499
353
406
496
400
346
397
400
360
429
337
378
436
360
419
371
310
302
331
420
417
466
405
433
401
392
499
456
318
407
490
410
325
489
416
354
352
433
484
312
391
362
449
336
340
361
433
339
338
427
348
408
427
396
334
325
383
301
339
426
310
366
350
379
363
465
433
352
344
326
462
463
415
440
344
354
377
320
472
323
338
474
334
414
341
467
313
437
436
366
391
334
302
411
403
323
411
453
478
465
311
452
400
451
362
329
350
344
470
443
424
438
372
366
341
493
406
399
382
326
352
469
389
390
338
455
494
363
334
301
437
468
375
479
388
323
398
375
316
446
418
319
324
407
369
484
323
320
398
334
334
455
491
491
310
312
314
426
356
368
460
425
341
499
309
363
378
499
390
442
419
417
458
420
462
391
389
361
318
368
495
323
354
475
369
404
306
463
307
428
456
465
484
377
370
443
330
463
401
330
303
481
458
424
385
314
338
452
387
354
487
318
379
466
397
364
442
452
443
434
387
478
449
315
444
407
420
487
363
440
443
419
451
308
371
378
429
348
466
432
375
482
411
439
386
348
431
433
399
441
370
407
320
326
450
455
334
499
450
329
383
350
479
316
461
345
390
368
332
401
470
468
386
482
460
410
383
329
363
420
399
478
496
348
473
359
451
488
450
342
454
367
322
428
430
424
362
378
364
490
489
395
474
371
365
440
453
406
380
327
388
307
371
410
388
495
401
370
397
457
323
342
351
389
471
436
479
331
338
322
471
322
337
491
439
341
333
342
499
427
343
353
315
335
304
375
330
466
486
482
480
464
478
399
400
491
328
475
395
306
430
413
346
358
307
475
340
400
377
395
329
439
327
393
419
479
458
438
410
366
367
471
374
360
436
388
334
458
349
460
433
421
475
350
462
416
427
346
449
403
341
360
310
456
461
386
315
473
400
492
302
478
357
448
443
497
395
359
328
351
347
452
383
379
347
415
409
315
423
441
441
318
369
427
343
394
405
411
471
353
377
304
346
466
318
452
390
488
498
426
372
480
493
453
497
331
316
344
327
390
450
494
424
450
392
332
350
463
409
356
424
445
458
475
313
449
358
329
434
338
423
382
436
366
461
358
413
337
471
326
307
353
346
452
486
359
303
371
393
464
444
405
448
317
453
424
358
376
341
342
468
384
428
310
441
348
424
481
364
370
312
449
475
451
423
375
457
489
445
317
381
397
337
354
480
331
368
409
478
360
428
359
351
339
409
315
469
479
311
370
376
470
401
483
496
325
486
485
401
489
321
466
461
419
324
444
474
462
330
473
347
376
367
420
487
466
357
394
428
359
390
411
451
331
433
300
324
417
431
388
367
435
383
495
392
347
407
475
443
457
393
353
456
416
322
337
422
345
386
334
358
469
426
415
495
447
370
439
365
412
434
322
421
411
382
357
464
430
480
436
361
467
317
342
376
355
353
475
443
376
458
458
347
430
415
439
327
482
343
403
431
394
348
315
330
476
493
377
435
408
366
469
404
427
385
447
488
323
423
403
490
469
377
328
323
324
339
301
441
357
460
450
408
489
464
302
392
491
466
380
323
340
314
492
455
395
380
400
330
493
468
387
467
466
436
364
373
432
303
324
429
361
440
321
376
355
414
434
357
345
490
386
468
320
408
311
399
339
412
478
404
420
498
460
369
416
474
312
429
332
385
467
326
419
307
311
331
374
391
371
393
333
488
482
487
459
387
496
481
351
300
311
360
399
394
409
459
320
389
371
430
429
469
342
366
343
452
428
414
335
323
477
347
470
471
449
363
411
480
331
344
491
401
461
388
475
395
318
458
481
469
341
410
476
346
428
444
495
498
377
342
372
496
454
458
480
377
479
471
460
402
392
303
458
349
327
328
366
339
464
435
468
418
305
349
385
406
399
455
364
402
317
390
337
436
411
497
460
418
345
432
303
306
398
376
409
440
483
454
398
329
408
413
347
355
446
411
492
424
309
330
324
400
470
439
488
405
343
423
467
311
358
312
446
313
430
457
335
322
382
464
441
415
362
328
429
461
498
337
483
302
303
407
404
334
440
409
352
439
480
321
431
419
377
302
339
379
333
308
443
442
451
391
413
343
339
492
409
340
324
331
449
312
318
336
368
481
369
471
355
498
345
332
494
372
355
433
481
448
429
430
347
436
452
390
344
425
425
316
448
387
389
353
448
382
361
483
491
454
331
433
338
476
399
444
374
403
496
472
310
301
470
303
364
478
319
469
440
375
488
500
343
366
347
391
433
439
492
309
363
467
457
358
322
358
381
401
455
359
485
316
321
380
395
415
315
385
484
460
420
314
465
301
475
395
386
356
301
390
420
305
410
317
468
472
470
441
330
492
300
433
441
359
355
406
385
300
435
464
359
445
396
393
433
406
408
497
480
451
449
469
305
495
338
379
323
422
450
352
317
397
390
466
490
500
475
481
462
470
385
370
476
500
434
484
344
404
465
340
393
406
455
415
486
341
382
360
433
454
439
382
301
308
340
418
348
380
467
378
492
308
480
415
460
403
450
489
468
472
446
418
409
500
473
418
491
340
499
480
337
478
429
363
343
381
486
318
498
471
413
469
484
396
311
428
329
472
492
467
329
372
386
404
494
485
336
494
347
491
447
358
493
498
327
315
399
427
403
477
358
427
311
438
440
466
334
464
476
392
301
433
415
439
498
346
441
356
487
431
317
420
370
472
432
494
455
487
318
414
394
378
348
490
448
330
500
473
357
478
359
345
317
367
419
400
498
495
303
375
414
465
417
335
314
374
330
352
439
459
422
403
307
330
402
418
418
344
487
405
340
434
399
374
460
349
408
375
384
456
304
429
309
422
337
319
351
426
496
361
461
496
333
324
373
406
421
310
468
351
404
407
351
486
416
333
394
409
329
464
382
497
334
303
342
395
379
462
479
454
457
346
391
418
444
415
372
488
485
356
466
409
373
489
317
336
385
398
344
444
484
399
498
311
423
488
394
329
345
431
334
356
385
374
477
409
378
432
476
492
489
325
447
307
330
449
306
331
323
391
368
353
394
412
342
342
414
394
366
456
402
382
488
391
315
401
374
447
493
327
361
310
496
394
499
362
414
445
335
319
450
425
393
399
438
446
457
418
393
455
495
324
393
361
435
466
441
427
333
378
478
499
406
336
320
410
355
325
404
413
360
448
377
369
363
370
377
329
314
339
480
339
390
378
470
381
384
402
415
458
470
359
340
459
403
433
418
377
343
351
306
485
357
384
371
420
487
434
395
312
320
484
428
350
334
445
327
407
337
304
373
417
444
337
338
475
346
411
359
448
484
391
446
467
367
364
452
397
460
382
342
300
340
362
376
380
454
305
463
413
357
411
365
313
480
309
301
423
461
492
310
480
443
379
442
408
342
466
304
404
431
320
333
457
322
390
367
457
496
485
429
439
397
337
305
366
388
311
403
472
431
369
402
398
389
394
400
432
407
467
482
357
340
307
448
449
403
411
416
396
481
367
465
322
349
355
482
475
426
486
305
424
378
424
448
320
403
475
436
448
311
472
368
324
457
370
336
413
457
483
342
391
317
341
423
342
313
474
334
455
466
438
325
388
347
472
401
441
492
357
467
495
358
322
440
491
335
334
388
323
425
324
456
362
330
461
473
418
435
343
346
317
452
411
366
466
377
424
320
429
401
311
475
402
371
335
329
329
477
375
491
316
490
366
459
340
307
437
398
383
357
315
349
311
308
406
406
455
441
477
467
429
340
301
451
332
382
462
440
351
496
336
309
368
329
363
337
366
364
301
374
466
454
482
438
464
443
314
427
481
319
466
305
383
352
449
309
498
361
384
413
461
358
415
307
342
318
417
340
364
315
494
438
378
364
461
311
426
302
401
382
337
436
495
348
451
442
312
422
350
318
327
447
484
368
367
434
330
460
300
482
391
479
377
385
439
466
314
466
472
363
353
461
459
335
333
493
352
351
479
382
404
499
465
317
460
313
481
353
460
457
355
486
454
471
423
466
377
395
422
458
460
483
468
340
402
368
395
409
358
448
316
487
379
495
332
400
303
335
412
395
452
472
377
306
404
346
323
401
387
410
370
328
434
490
464
436
402
465
470
372
304
409
438
449
370
402
387
344
379
338
403
392
443
324
484
436
355
378
378
353
311
399
410
500
339
425
431
488
349
478
495
482
305
309
479
375
342
399
432
399
447
375
347
439
458
475
470
497
316
371
455
411
314
328
378
371
440
428
356
444
331
453
432
342
483
316
384
324
409
311
325
342
467
328
348
441
347
349
387
407
460
381
472
335
401
344
379
499
440
418
330
385
452
320
333
371
353
487
308
335
375
460
310
354
482
468
470
383
471
447
471
497
398
407
361
420
314
404
391
467
305
478
488
489
460
318
412
422
483
364
481
484
365
333
384
357
403
348
327
339
352
439
487
485
398
339
350
500
480
367
478
498
499
381
473
491
310
484
390
330
334
333
476
449
317
349
377
442
478
384
432
345
376
406
378
409
357
488
369
491
479
464
322
352
407
315
491
336
381
376
422
481
451
425
399
479
472
442
328
306
355
369
312
325
307
307
424
326
306
408
335
323
375
374
422
367
434
306
437
424
373
370
334
443
475
429
492
448
360
435
474
487
392
318
498
324
405
497
456
303
387
315
360
446
411
485
350
383
485
336
460
387
366
430
337
328
495
400
478
318
443
395
473
352
497
411
322
436
351
467
437
333
398
492
428
386
461
307
329
362
322
409
500
381
360
347
311
320
440
385
452
303
357
308
300
489
369
397
451
403
433
437
495
497
367
425
456
376
304
474
326
496
354
464
412
395
372
472
457
419
350
328
397
464
356
309
334
446
482
309
416
355
334
431
316
485
449
404
319
336
360
434
354
394
348
336
371
423
462
448
478
414
386
308
344
323
454
313
499
428
347
392
376
462
483
480
448
437
334
492
314
321
381
350
301
481
482
315
451
411
471
343
472
467
369
453
469
371
318
457
402
336
338
381
347
437
358
384
412
324
450
393
426
475
370
480
305
409
359
400
442
317
388
391
455
380
369
479
467
311
320
396
496
473
384
351
343
348
349
336
471
355
411
316
440
303
398
451
417
481
324
341
495
490
428
465
448
472
412
311
383
420
477
359
410
432
374
415
340
383
330
360
410
423
366
323
318
398
498
492
355
341
485
457
345
455
437
421
342
324
482
336
305
341
353
410
470
454
490
339
460
417
430
461
324
378
347
419
302
383
309
489
450
482
430
360
469
393
358
375
375
412
356
375
320
436
306
409
384
330
339
313
467
388
423
333
467
445
461
332
387
308
301
354
327
413
316
415
374
408
326
396
394
339
432
437
430
337
489
343
467
300
323
438
436
479
367
497
397
452
329
491
474
370
446
426
380
487
347
469
411
330
328
379
472
300
321
461
378
435
447
498
337
366
406
407
442
494
354
473
356
477
333
434
396
479
408
370
488
409
307
343
427
427
484
446
360
369
304
465
498
330
426
500
389
390
307
468
307
359
463
494
380
432
345
363
319
397
356
367
413
334
407
464
487
440
490
415
455
444
346
400
405
474
366
301
447
412
311
373
484
457
374
461
336
327
417
345
316
487
477
305
453
459
374
398
394
430
349
497
487
380
470
408
324
310
314
342
340
304
446
462
328
480
391
323
412
428
414
490
314
413
459
352
417
493
455
322
468
396
354
476
377
476
392
424
453
468
371
490
319
443
463
425
430
379
467
318
367
428
392
478
368
363
437
340
458
432
317
310
376
309
398
498
328
345
365
399
362
452
456
359
434
310
410
409
419
435
486
420
435
424
482
333
459
379
356
322
376
360
406
494
376
369
350
353
469
345
492
407
387
425
448
382
496
423
396
453
424
404
413
303
399
305
308
479
314
393
336
345
487
345
306
388
405
411
313
470
481
441
331
471
396
402
413
479
369
340
338
357
428
452
434
476
308
447
374
480
412
435
467
394
400
377
356
306
487
306
432
489
496
422
432
378
311
379
395
487
391
492
313
441
305
316
319
409
373
461
472
495
388
489
498
455
420
334
420
327
428
308
385
462
362
357
365
364
396
374
439
356
311
392
393
480
313
394
333
451
444
407
415
346
444
373
310
397
403
356
356
343
342
374
396
482
333
407
326
386
454
400
439
484
471
320
322
384
470
365
407
483
480
363
445
449
408
320
440
417
487
487
354
487
305
456
308
471
424
367
437
410
336
307
411
371
443
441
387
453
327
490
314
351
343
448
358
317
437
480
366
470
485
320
454
465
387
454
480
470
396
369
367
491
418
455
395
428
473
482
333
475
388
442
310
356
434
408
458
325
478
313
316
343
387
333
344
379
322
343
404
425
307
416
313
468
378
344
481
385
370
312
364
399
417
366
320
307
456
358
377
339
414
480
334
479
440
452
341
459
353
312
446
370
335
327
385
300
496
493
306
366
403
426
437
402
489
323
443
387
361
384
380
465
433
500
457
432
423
461
493
468
361
319
498
476
474
463
352
323
361
313
489
364
447
368
399
436
491
302
302
380
443
448
475
416
367
357
465
335
463
459
418
443
320
325
404
475
345
459
363
386
489
433
378
417
483
376
471
408
303
429
472
413
495
357
412
382
309
445
330
397
439
332
417
484
339
426
411
411
394
443
451
361
358
474
336
460
306
406
408
399
441
338
381
313
465
435
346
487
356
328
450
391
376
351
470
490
327
471
327
318
387
312
326
349
347
368
394
406
322
379
471
363
421
338
310
318
389
408
378
385
470
473
315
359
484
416
354
497
400
388
366
469
350
339
410
386
346
432
427
462
463
466
470
313
437
498
312
463
313
393
413
451
368
478
325
430
372
381
302
454
403
330
342
452
416
339
488
306
318
482
375
423
392
429
317
498
463
468
416
363
442
448
495
463
341
367
433
407
376
383
481
305
330
333
355
322
398
468
366
362
485
458
462
350
419
361
461
341
318
429
471
479
376
371
364
313
337
360
385
434
404
392
347
366
310
351
425
484
332
431
352
435
359
329
317
332
417
389
308
402
409
471
457
324
331
378
338
384
323
323
345
312
386
468
446
390
432
351
415
429
447
422
326
418
410
374
303
472
387
458
403
330
420
301
448
306
498
360
311
386
378
417
462
308
356
385
370
442
447
379
461
481
389
323
391
330
313
376
334
458
381
390
483
438
348
487
486
455
314
327
435
410
397
420
365
310
381
481
313
318
304
438
375
431
345
335
421
308
492
353
454
472
375
426
377
433
335
417
305
393
360
486
459
357
385
448
314
318
368
496
347
351
414
443
321
429
409
314
375
376
392
454
461
367
441
433
362
304
381
462
379
443
438
393
410
316
459
301
425
444
430
301
422
480
445
483
458
427
337
449
422
494
447
326
437
441
331
451
337
431
364
488
400
365
379
406
330
325
488
452
485
386
370
378
357
398
495
409
447
312
420
387
370
482
478
323
323
477
404
405
409
379
343
380
493
347
360
499
449
382
452
370
314
470
426
415
351
469
457
483
345
459
323
301
365
478
478
308
350
475
308
355
354
382
462
369
412
312
408
376
314
486
475
327
359
458
385
315
378
366
396
498
346
404
351
307
444
321
489
409
470
366
370
462
387
362
435
456
369
336
341
361
419
484
330
397
375
377
310
326
304
333
375
413
413
454
487
422
495
411
307
479
430
496
481
387
357
321
447
358
442
434
450
473
319
388
326
484
398
473
389
476
350
473
301
409
358
461
340
421
490
398
394
388
364
307
386
317
345
337
318
389
318
445
391
374
461
310
463
340
309
318
428
326
306
493
302
407
418
429
486
490
462
402
343
486
472
486
333
367
348
323
337
310
319
300
494
478
341
407
360
421
428
407
339
393
405
342
390
461
421
343
302
472
308
361
464
391
346
304
311
351
406
343
471
331
356
486
476
451
382
440
317
324
454
402
472
426
352
459
452
357
454
468
353
358
490
300
385
500
319
333
305
347
370
438
379
462
372
328
455
436
492
365
392
314
441
467
363
405
450
337
365
497
414
336
417
330
404
492
406
472
491
496
343
371
418
360
310
472
457
336
345
479
424
419
452
388
414
500
309
302
487
427
311
322
420
446
462
388
303
379
318
490
417
492
452
440
448
475
354
310
458
464
480
409
445
335
406
367
416
303
351
305
421
398
345
393
452
344
420
384
444
496
487
489
397
419
461
450
376
456
473
423
461
374
472
440
382
467
358
490
457
461
465
408
329
475
319
396
499
481
300
394
317
393
446
461
417
304
465
398
426
309
490
476
411
331
463
409
440
486
437
373
337
439
481
357
346
403
317
446
495
338
362
341
426
416
350
490
481
442
328
360
398
443
408
384
410
336
494
495
493
334
440
478
424
451
457
435
321
375
491
443
399
437
464
305
487
489
500
447
360
384
358
367
391
351
437
351
500
496
476
428
499
356
420
393
347
351
329
421
368
390
404
351
325
419
482
443
368
498
460
422
428
346
461
435
464
458
492
352
379
482
377
471
485
330
328
473
304
337
361
306
431
424
477
344
310
497
404
435
324
333
310
371
459
411
468
395
434
370
459
434
347
380
363
444
307
382
346
393
488
477
322
340
336
433
395
314
483
444
337
397
449
478
343
444
314
490
350
481
423
489
436
407
433
323
445
372
439
403
330
361
312
349
475
314
324
423
415
306
369
443
345
318
428
355
332
424
447
344
402
356
339
435
429
408
460
310
494
480
462
390
488
445
322
416
377
396
405
439
435
311
408
470
400
414
316
375
356
408
387
311
308
410
309
376
329
401
335
320
456
349
311
446
376
354
494
345
352
485
397
485
309
433
339
301
460
457
416
392
391
444
396
338
327
437
486
322
399
347
481
304
481
331
415
402
477
340
365
368
369
323
346
305
381
318
310
498
465
464
464
302
308
301
408
367
370
484
318
474
380
369
330
328
307
425
474
453
338
403
374
344
345
440
318
446
361
406
304
304
358
327
435
311
389
364
486
434
441
434
498
381
321
476
337
438
409
351
452
455
405
364
364
409
305
432
378
386
318
348
335
341
472
438
357
436
398
347
462
466
311
461
300
367
472
340
427
322
347
497
357
344
457
388
341
370
413
337
489
338
420
436
420
353
391
457
373
481
422
479
344
346
373
364
375
307
390
488
319
415
432
353
420
375
383
335
412
396
362
449
349
478
487
357
405
349
434
430
384
347
464
473
369
373
371
324
416
413
483
426
452
473
395
483
369
457
378
306
320
403
388
463
356
331
391
364
383
404
311
303
433
464
359
408
347
333
450
443
428
440
340
393
309
456
368
370
466
380
410
409
307
328
487
320
343
358
326
308
412
448
391
377
362
403
394
441
323
478
499
353
496
333
369
304
316
436
428
301
414
436
412
433
428
455
308
388
454
430
363
443
464
416
305
457
476
367
341
489
379
410
406
413
420
461
361
308
326
494
481
485
496
424
306
335
335
322
358
326
439
401
329
447
385
492
409
459
462
316
453
487
483
469
304
418
375
475
311
335
436
461
383
495
429
302
341
439
326
394
364
394
488
439
335
460
440
354
377
395
474
307
327
470
458
334
431
398
331
313
325
373
334
485
445
410
343
323
465
439
404
348
464
352
436
436
459
492
457
373
407
419
333
477
468
376
475
373
427
385
336
334
471
320
377
455
414
424
337
322
356
424
346
441
450
497
300
335
326
390
459
308
455
305
372
488
373
423
374
456
406
312
480
381
373
423
311
434
500
496
398
381
453
306
300
331
488
386
396
336
472
488
403
302
436
488
461
373
327
417
466
364
308
385
304
391
355
387
354
414
419
378
406
398
334
461
424
427
337
402
383
362
374
453
300
332
351
374
318
437
456
417
392
473
320
384
406
427
416
426
335
326
497
487
448
433
340
385
306
359
408
463
390
462
371
321
392
499
428
478
414
400
444
444
442
371
338
340
324
304
457
482
344
364
424
341
471
311
406
303
443
458
355
456
315
373
466
383
360
433
493
377
349
363
417
448
458
304
440
391
325
446
400
332
378
377
423
452
386
300
379
351
426
465
464
381
463
315
450
397
393
434
352
383
475
407
429
357
403
360
305
459
430
324
345
375
462
365
431
374
424
442
357
302
499
348
331
468
452
348
319
365
386
478
358
392
347
414
320
344
477
373
344
411
428
486
432
487
459
396
427
315
429
310
450
429
324
455
327
434
308
460
312
378
499
404
384
447
415
424
328
375
371
374
367
389
391
363
424
327
351
429
332
305
311
484
315
495
316
361
404
444
334
419
385
427
490
420
431
374
451
360
320
369
349
305
472
377
363
471
365
352
369
404
310
315
494
324
323
487
333
465
341
340
459
455
457
335
414
398
443
339
449
444
374
401
302
435
471
384
465
382
348
375
335
395
381
344
448
436
438
439
436
370
386
482
412
406
352
453
455
324
361
381
335
379
491
301
324
436
379
411
465
344
405
496
456
323
338
308
445
328
329
380
313
470
322
353
335
445
458
319
353
344
381
398
335
469
344
457
425
308
450
488
464
333
414
316
482
429
381
442
386
301
409
430
461
320
398
428
315
420
473
399
327
317
397
329
350
358
369
413
357
481
366
449
404
325
421
487
413
472
450
499
346
444
491
471
386
459
321
367
356
322
428
380
348
307
399
432
302
364
388
367
430
485
328
319
383
378
342
474
326
320
479
477
406
347
315
415
314
467
465
350
312
374
349
334
347
341
368
450
424
414
364
421
388
323
358
496
397
471
318
415
341
378
444
326
434
390
471
500
320
473
498
404
423
391
434
462
477
351
461
386
429
438
411
470
377
463
483
484
391
300
498
356
363
353
384
499
365
328
463
426
463
461
316
466
405
461
430
329
310
477
444
359
322
313
369
499
477
409
301
435
430
402
383
307
367
403
418
415
387
417
381
376
389
454
360
492
497
401
372
403
493
466
479
420
442
313
381
375
465
361
372
336
386
400
300
343
449
434
485
333
458
476
424
326
300
361
314
393
404
385
471
369
431
374
442
445
386
313
348
342
403
404
327
301
492
353
481
318
478
321
474
486
383
346
305
330
382
304
314
375
305
392
312
403
330
460
458
497
326
385
431
403
458
376
428
314
409
432
312
427
461
384
387
403
489
491
487
312
344
450
477
304
359
323
358
475
475
496
307
411
410
468
376
466
431
318
322
469
320
421
465
480
463
377
487
480
492
378
329
472
384
319
378
424
409
351
353
398
307
356
406
442
390
419
390
471
385
313
460
476
476
472
378
368
481
444
368
305
363
464
372
442
347
464
425
398
456
327
392
482
498
430
354
442
402
338
344
388
481
440
410
397
418
376
313
458
326
387
483
400
349
358
439
421
317
465
404
361
419
328
336
302
459
460
455
452
457
327
469
494
497
377
371
458
365
335
337
361
324
491
478
361
432
391
310
456
412
388
389
383
418
456
388
343
353
404
313
368
495
471
481
403
419
376
401
441
368
351
457
386
453
318
382
310
340
458
380
494
393
332
418
353
390
324
426
358
360
329
440
426
351
301
456
355
374
373
484
394
424
467
339
320
455
465
469
465
306
365
430
483
436
363
429
372
480
409
435
336
358
420
348
457
425
388
428
344
357
422
355
480
372
374
486
443
444
322
406
394
331
464
430
303
375
351
421
461
369
428
302
304
487
322
398
307
417
458
334
389
321
425
432
390
435
479
431
468
484
464
334
357
380
473
463
388
398
450
415
388
469
331
366
329
422
402
434
451
421
489
340
475
313
474
396
497
500
374
310
408
457
384
441
483
339
340
327
425
463
311
349
402
310
379
315
300
470
342
324
486
431
493
456
413
303
498
467
470
493
372
446
439
457
500
452
359
365
355
407
449
323
412
320
439
499
324
400
470
488
500
342
488
355
362
486
483
487
466
402
331
494
349
492
369
422
429
321
443
437
389
425
419
376
452
354
382
352
484
499
468
416
301
496
309
391
409
422
338
303
445
420
328
496
500
364
457
391
309
396
409
495
385
458
382
456
314
329
398
374
368
483
479
439
306
398
365
361
468
314
443
397
468
403
339
448
344
474
349
303
452
320
376
492
384
442
422
313
359
381
477
449
396
452
392
403
449
499
321
460
444
490
383
340
304
382
300
402
354
384
455
321
439
415
474
430
397
491
394
338
320
455
448
314
416
302
310
418
450
340
427
307
372
343
340
334
394
387
366
489
388
338
342
439
399
455
482
454
362
391
346
363
382
382
391
327
465
330
338
367
361
431
442
322
470
433
455
350
371
343
389
344
470
351
324
370
383
463
366
336
395
424
430
362
316
471
490
335
338
410
423
349
430
349
308
491
353
444
300
369
321
373
433
372
304
369
312
479
466
303
481
314
430
459
341
483
452
416
418
450
489
352
328
372
339
305
426
310
397
411
339
381
316
500
458
356
323
454
367
472
342
399
425
322
355
324
302
374
491
459
316
437
389
303
361
337
377
438
452
334
410
303
344
379
328
499
386
448
370
475
407
349
358
337
456
473
329
401
425
391
373
333
467
437
383
361
430
427
376
421
378
483
348
315
304
451
485
414
488
317
465
382
367
411
434
403
312
384
404
390
467
351
327
307
390
367
433
380
355
370
326
300
470
355
347
386
341
384
339
463
354
327
301
481
427
470
316
359
497
413
319
406
364
318
472
458
302
356
368
306
310
476
478
448
431
471
492
309
316
409
494
350
490
307
495
345
470
373
379
494
465
471
457
492
417
334
460
439
391
392
429
342
474
435
445
382
336
342
408
373
389
400
382
388
328
420
388
428
320
334
450
363
369
454
419
462
435
477
460
391
448
424
455
438
400
494
459
420
435
391
486
347
322
424
401
409
438
467
368
407
371
412
439
466
368
457
361
468
397
321
445
488
476
319
431
372
453
397
379
346
329
393
479
447
493
447
411
393
492
383
300
386
475
310
486
498
385
447
409
441
477
479
407
472
347
317
460
455
470
498
440
347
312
361
385
343
387
326
429
385
314
481
453
377
378
473
369
343
383
377
313
400
365
430
437
340
393
401
406
318
423
343
313
477
494
417
454
351
465
427
492
376
421
428
456
483
331
443
379
400
391
401
453
449
324
390
326
454
390
454
367
428
371
321
310
382
424
337
368
364
400
362
309
478
408
421
347
470
326
380
393
334
443
481
477
432
328
471
486
301
424
338
456
341
308
437
438
467
311
452
412
412
387
411
496
411
498
346
345
438
414
327
435
331
420
304
478
480
392
372
480
342
306
371
315
325
342
399
305
353
342
358
311
424
488
363
432
327
384
393
420
425
458
344
372
360
357
488
374
314
385
374
491
352
470
399
402
326
486
486
383
493
435
489
406
461
480
436
411
460
380
393
478
417
459
491
498
342
301
328
464
491
479
354
386
394
462
486
339
404
417
316
449
314
350
452
495
498
399
376
313
448
367
312
456
489
466
321
304
488
383
414
334
355
437
499
370
390
467
500
394
455
353
366
310
335
387
363
415
383
391
472
314
442
341
332
327
496
314
486
343
430
490
371
402
484
329
306
345
379
327
403
378
314
303
318
397
399
387
411
350
497
393
359
322
436
427
423
314
357
448
389
424
429
456
310
351
437
351
377
442
316
400
352
415
439
368
371
478
373
317
407
409
325
339
341
401
472
316
402
459
333
309
301
496
474
449
383
408
401
458
335
326
409
351
443
340
318
428
383
459
390
418
322
390
353
491
389
370
333
389
346
405
489
328
439
372
354
479
463
410
442
301
500
466
449
341
369
360
422
336
464
400
380
375
462
474
409
431
312
438
403
362
332
346
362
322
382
345
478
401
448
458
388
441
332
471
324
451
327
494
419
485
411
416
458
461
316
386
374
497
473
365
308
451
380
469
366
488
424
326
413
337
345
323
493
404
490
452
386
442
382
476
387
480
341
438
395
445
408
302
312
475
495
415
439
482
381
472
441
467
407
489
373
496
366
327
411
364
493
448
440
364
331
449
346
499
418
469
401
377
369
418
499
474
385
478
444
357
469
478
437
350
377
438
374
461
455
481
357
480
407
474
440
441
326
407
329
448
417
493
390
493
454
450
417
422
452
375
356
464
383
374
363
496
441
423
337
427
475
345
440
338
441
385
413
361
397
327
371
305
349
433
305
478
484
427
322
436
362
313
494
398
479
342
452
497
333
490
467
356
491
307
360
422
352
307
432
387
333
364
344
361
313
461
422
473
336
391
459
414
327
391
437
375
311
368
490
358
387
459
472
426
300
316
450
373
423
300
367
475
360
321
412
444
303
302
418
431
362
494
490
403
404
413
493
359
390
388
425
428
470
413
453
353
357
442
365
430
491
468
396
317
336
393
472
349
461
403
472
456
489
303
348
340
382
366
469
325
394
421
381
478
411
494
397
359
401
497
475
368
306
307
430
588
702
710
585
650
425
718
518
721
786
809
762
780
498
659
528
669
556
788
484
521
755
488
667
566
719
749
456
435
461
534
790
778
566
680
666
705
485
438
680
535
562
505
724
692
794
783
601
446
626
634
797
722
692
734
610
548
600
498
466
454
534
819
488
645
683
789
626
466
454
610
728
718
514
607
558
521
520
814
613
774
454
716
514
437
781
481
636
457
792
607
472
741
484
671
549
694
428
469
764
711
773
624
483
751
561
495
520
737
666
594
816
479
524
783
478
647
565
677
734
547
777
582
576
536
809
706
581
569
788
643
582
733
752
745
659
734
605
620
746
518
562
593
491
611
470
488
507
492
590
727
795
785
570
744
618
439
535
701
748
586
647
652
475
518
497
615
482
437
625
605
510
756
634
618
639
574
607
701
442
497
701
585
523
446
512
545
579
685
757
468
678
747
591
477
516
589
617
642
737
781
506
475
642
486
433
514
778
553
482
611
797
554
595
790
585
469
636
767
681
450
563
709
588
604
802
686
560
729
697
632
623
426
767
479
600
784
581
794
724
663
514
618
536
426
628
500
533
658
466
806
820
486
762
625
685
577
790
503
479
735
747
585
421
627
556
609
514
547
533
450
783
568
536
695
754
804
583
639
469
473
716
601
466
420
474
711
778
709
732
446
430
520
486
719
602
759
584
689
769
431
723
461
502
807
588
558
595
774
693
434
690
604
465
459
439
612
463
810
791
538
516
500
461
468
659
583
732
779
597
626
441
501
765
681
543
620
731
702
574
458
436
706
815
599
465
713
819
606
570
591
649
812
768
461
549
445
668
446
791
714
761
575
553
681
560
680
445
443
738
477
473
571
443
525
819
621
721
771
804
581
430
637
591
571
666
800
803
658
773
499
548
742
610
546
613
630
525
777
535
453
816
485
768
708
555
458
753
433
701
795
425
593
597
597
674
550
768
814
623
774
726
521
616
769
678
462
735
787
436
579
497
756
559
632
750
708
743
690
626
788
745
635
564
812
496
582
663
642
471
696
672
641
643
697
502
426
476
535
506
578
769
700
514
481
646
541
613
739
737
807
677
745
639
585
600
612
751
528
580
647
484
590
673
526
449
654
637
782
622
753
557
599
587
492
567
769
624
532
746
528
427
472
502
775
515
739
555
761
719
688
794
668
447
581
566
637
445
805
677
462
805
675
510
649
805
696
666
612
451
553
764
566
769
773
538
517
597
534
650
755
745
501
434
632
579
624
661
779
804
422
430
553
726
671
441
426
710
625
733
605
427
452
664
543
759
714
799
617
497
496
513
596
650
658
560
735
728
741
813
635
616
604
441
598
496
745
426
561
566
553
761
570
541
486
699
502
814
639
438
769
457
464
422
521
537
452
703
725
498
448
817
592
693
617
650
611
428
575
610
655
490
491
584
522
539
736
753
497
617
618
644
437
467
774
568
514
564
730
557
569
719
550
737
780
509
738
645
696
433
526
462
799
706
456
515
812
433
607
584
774
566
524
610
616
782
796
454
749
480
485
657
669
635
662
809
622
437
585
531
682
492
681
548
460
568
548
424
717
492
446
553
758
531
640
694
510
786
622
788
763
638
805
663
498
802
641
490
714
531
447
774
747
472
691
547
624
619
816
445
686
466
590
779
636
457
719
689
499
676
645
462
699
675
566
458
797
728
735
709
811
444
691
437
637
805
741
693
794
759
632
601
568
626
621
775
725
580
553
734
787
805
534
683
610
707
571
637
509
691
521
643
497
453
452
769
753
678
573
580
676
482
478
495
607
474
691
582
593
609
531
763
481
451
739
608
666
525
676
635
664
446
442
469
710
662
738
699
620
558
564
536
748
817
808
648
721
576
648
629
563
772
680
551
608
701
503
697
529
695
514
692
715
615
602
642
510
546
520
525
657
446
464
711
568
615
470
692
735
431
576
530
699
711
675
663
431
778
700
763
789
696
748
802
530
533
537
729
461
656
729
499
483
515
663
552
631
746
629
818
556
659
553
744
582
597
523
723
761
489
748
715
537
760
818
582
683
746
570
788
678
422
765
456
713
741
714
657
565
550
444
739
550
716
803
502
645
745
502
742
750
749
446
445
763
676
716
791
448
461
736
631
812
461
437
623
771
725
425
715
500
641
584
661
586
458
454
739
544
552
494
486
517
452
449
439
792
647
459
449
763
501
673
639
798
472
649
721
670
542
541
517
537
661
508
466
762
585
508
577
551
509
624
523
455
428
773
803
718
505
627
520
454
614
738
429
619
751
659
583
459
696
522
553
744
722
684
756
817
588
574
549
666
624
810
579
474
788
748
685
787
431
686
801
519
583
757
567
469
693
745
747
489
441
653
541
528
569
420
505
631
788
760
692
714
690
708
559
695
688
725
524
466
577
449
594
514
503
561
566
812
575
801
764
804
485
741
634
452
757
435
619
724
790
787
786
686
558
618
479
701
642
696
533
769
733
630
425
516
620
698
658
789
546
550
698
562
787
732
429
749
713
716
750
672
748
553
676
775
515
735
549
776
495
606
639
473
797
490
661
656
532
488
544
718
425
699
441
509
445
477
489
594
478
464
487
766
435
426
772
526
428
741
605
430
502
602
575
583
524
585
800
510
496
482
424
763
673
663
621
740
788
535
619
562
734
674
505
791
536
799
657
648
625
558
817
707
619
751
819
506
621
501
585
681
711
621
500
767
497
547
455
611
663
483
806
595
482
763
517
658
798
546
769
576
456
704
516
521
484
436
700
714
751
662
776
639
744
725
421
665
624
664
467
712
602
680
470
608
560
628
787
563
699
485
786
514
778
602
442
749
505
578
768
625
783
656
743
424
427
510
819
616
794
554
661
435
794
648
753
546
803
694
735
477
474
507
803
512
617
511
556
470
779
578
700
745
556
731
496
685
719
800
590
794
776
786
569
657
569
448
517
598
517
648
633
454
605
572
492
488
560
780
657
659
436
632
658
574
620
712
485
609
749
589
782
749
641
458
660
819
649
486
779
673
556
496
432
807
474
439
721
702
802
429
760
607
791
637
777
524
588
812
436
482
510
657
441
476
808
807
484
617
587
631
637
808
538
463
584
692
619
719
564
778
566
630
479
566
752
553
573
574
433
456
601
801
432
479
708
616
663
615
505
562
485
471
494
765
799
758
428
616
540
611
456
705
734
483
508
540
592
762
446
650
814
557
749
655
623
569
544
712
583
570
538
626
566
511
459
732
731
526
798
504
691
503
525
788
647
578
597
495
642
556
447
513
477
639
633
713
602
690
731
470
465
731
798
612
441
467
578
605
614
810
665
779
537
744
431
661
441
587
631
424
622
777
519
816
710
610
430
783
591
671
432
820
420
786
693
499
736
763
616
696
711
503
470
610
761
466
802
567
426
423
448
674
808
695
591
467
785
558
780
730
747
470
810
437
624
642
639
537
670
682
649
622
754
548
590
730
542
529
599
538
661
423
595
555
462
449
720
633
592
499
475
526
613
584
736
520
504
698
434
450
507
526
619
787
812
753
771
662
455
428
562
447
507
469
734
639
599
613
657
598
538
722
713
496
469
547
760
545
681
633
445
504
716
473
453
695
587
814
599
729
687
485
434
448
459
534
518
538
709
720
659
695
618
639
692
756
798
536
628
459
598
721
635
800
478
507
525
736
487
800
575
476
794
521
589
501
533
753
517
764
763
717
590
527
793
599
743
738
735
815
725
692
564
744
534
686
578
818
818
647
477
789
431
533
647
424
719
497
454
477
634
437
560
750
570
579
576
459
723
617
454
495
522
562
521
819
591
705
805
614
767
507
519
577
721
698
618
619
592
601
523
785
666
469
750
562
486
642
477
458
614
447
658
508
708
582
682
588
496
817
429
592
708
777
576
725
627
631
446
797
422
820
634
734
667
578
727
439
550
508
505
493
420
721
486
434
448
426
463
717
450
513
715
564
811
601
643
735
749
629
795
434
716
588
626
458
497
794
605
446
461
570
557
635
467
502
627
526
595
692
520
467
645
671
465
763
666
770
777
779
474
747
767
485
467
725
581
661
701
599
785
775
806
756
498
713
730
587
767
572
689
497
680
562
520
770
420
639
536
468
423
776
588
582
700
498
651
710
474
505
579
472
692
574
533
613
741
765
496
443
671
606
506
628
607
557
711
735
712
432
548
462
509
442
536
653
610
753
744
756
545
496
674
627
789
685
475
449
801
666
664
617
811
752
471
807
553
748
658
432
436
700
806
730
575
726
556
533
766
455
547
682
513
807
487
778
804
672
510
499
719
522
615
642
655
543
574
544
443
722
692
515
561
432
616
706
751
605
726
738
492
540
577
499
704
635
761
744
469
678
766
817
682
451
499
757
622
623
766
816
490
519
799
557
495
780
745
814
655
596
515
707
807
536
685
544
542
569
721
427
704
806
617
505
525
552
785
522
813
683
555
538
627
521
695
574
718
514
600
653
670
633
633
429
526
765
816
446
433
779
486
502
607
596
705
511
773
692
589
482
507
606
737
652
813
693
655
677
765
814
447
748
469
657
469
536
610
455
512
507
626
548
542
429
676
614
637
478
480
456
742
642
797
767
464
705
657
718
563
461
671
482
700
528
643
451
488
456
473
507
469
622
646
542
656
710
642
610
802
515
646
654
682
471
820
450
784
603
585
603
696
541
755
518
600
819
447
551
727
764
688
565
815
581
525
773
785
506
659
691
775
764
634
546
484
561
698
439
529
656
530
684
761
690
801
684
776
799
732
658
567
527
529
561
663
793
747
726
551
703
440
703
420
722
768
601
646
602
476
805
753
590
712
513
634
662
731
483
800
545
443
460
729
743
485
563
619
631
772
528
480
725
640
597
600
514
756
608
492
688
593
693
716
726
748
510
669
798
716
720
677
619
810
700
751
477
564
481
818
712
590
636
793
732
534
483
654
747
539
625
643
512
433
554
559
662
447
766
747
647
564
693
803
758
744
783
433
772
643
515
439
785
589
462
805
733
604
736
652
637
520
624
523
424
670
468
701
706
506
788
468
541
429
568
758
816
618
713
491
701
522
436
813
747
480
647
669
819
774
794
522
669
517
471
740
460
585
697
747
447
659
756
743
493
696
540
640
555
530
476
758
583
744
524
796
594
479
482
639
535
436
784
606
631
763
681
793
683
681
698
435
811
638
706
587
446
817
446
515
490
498
439
652
512
773
716
456
760
701
809
641
537
814
710
478
737
581
501
560
479
706
509
541
729
501
678
634
540
455
605
721
740
610
690
512
569
543
430
608
667
448
456
748
769
583
713
676
675
697
468
539
774
747
780
750
582
654
759
541
584
817
786
548
601
445
697
722
630
600
723
713
499
808
522
683
514
454
437
806
750
649
472
511
639
648
444
726
799
808
556
781
563
426
578
475
798
444
684
569
754
431
732
715
606
434
564
523
514
621
727
450
562
708
525
638
727
534
784
631
561
462
568
512
636
451
657
769
700
636
627
785
762
534
797
654
679
450
437
690
659
503
437
710
721
787
778
436
619
426
692
473
558
749
518
747
543
603
507
510
793
642
494
774
732
633
522
758
734
476
786
655
720
781
811
610
786
763
510
804
706
698
524
790
556
819
449
789
681
662
565
634
490
616
757
571
721
792
785
519
700
723
510
471
556
556
672
513
568
598
559
715
677
540
488
746
517
688
609
814
580
441
455
584
685
657
479
430
630
533
426
645
773
502
574
689
459
745
468
542
615
817
505
690
470
434
698
479
606
766
667
739
552
567
781
692
550
461
444
496
795
528
715
757
509
784
678
474
516
682
471
730
619
662
703
820
772
699
439
459
634
573
644
678
662
641
452
723
535
652
614
463
578
766
781
762
722
632
620
775
743
722
438
731
478
475
687
682
560
769
735
797
500
505
693
786
612
807
775
754
630
748
446
700
479
483
524
487
557
745
760
481
636
633
455
495
698
773
516
806
784
814
691
444
585
596
442
690
775
629
787
812
680
739
566
789
498
736
545
656
680
652
469
549
506
446
774
682
637
772
540
610
608
777
789
788
620
744
477
705
610
820
658
546
545
493
496
789
536
683
481
670
477
502
747
534
782
421
819
476
646
638
492
610
745
688
718
429
738
431
499
601
441
539
453
570
608
784
646
466
792
586
775
683
536
665
702
722
542
444
794
564
818
422
583
703
543
741
740
440
563
531
604
778
663
747
485
454
671
566
467
712
732
598
653
622
769
456
681
488
538
609
610
779
488
498
602
573
645
774
608
728
730
534
560
759
666
502
516
504
575
435
806
726
651
699
681
451
655
434
501
772
783
548
457
686
693
753
799
507
815
507
525
443
515
624
593
804
642
771
700
734
490
806
700
709
563
719
649
763
550
576
463
587
480
455
736
452
495
749
455
508
751
676
429
441
561
489
535
791
613
529
793
555
636
509
704
508
444
625
572
456
780
494
429
776
793
672
584
750
551
772
450
619
808
619
545
582
798
721
818
614
727
486
583
778
741
685
668
525
615
764
560
648
493
707
470
457
582
489
707
434
492
619
491
674
630
441
737
763
506
509
434
560
668
767
757
706
645
744
575
758
698
606
736
466
628
744
562
539
784
688
577
728
769
511
749
604
583
728
771
495
498
630
795
485
451
694
637
717
713
639
495
763
434
696
581
748
601
450
800
792
630
598
639
462
600
646
808
536
690
607
645
506
666
568
573
625
768
490
723
700
804
580
619
814
752
627
723
666
634
558
513
457
817
639
586
613
684
741
726
785
472
600
664
486
782
758
570
690
518
684
732
629
593
519
691
513
707
729
653
605
499
688
669
721
612
763
571
718
631
427
803
482
634
594
752
635
777
600
653
516
460
520
690
599
725
581
547
753
704
762
536
426
556
749
796
743
699
706
778
581
567
765
643
720
689
695
629
452
807
639
557
614
691
735
542
630
597
467
520
615
450
616
798
455
472
611
810
685
572
549
587
793
485
787
721
644
515
671
726
420
769
675
455
589
566
638
813
590
473
423
624
425
527
787
522
699
754
815
605
591
738
456
790
507
427
621
504
689
579
564
751
523
624
571
502
588
609
655
475
610
576
740
556
656
598
549
629
491
573
495
594
584
545
621
627
706
585
521
581
515
554
544
534
607
781
747
583
621
449
526
673
794
705
481
505
757
754
687
755
627
517
490
687
775
533
573
507
579
593
753
500
478
576
510
555
775
783
747
575
620
538
442
744
563
500
555
492
717
739
789
767
719
618
460
621
777
640
436
737
539
465
666
541
778
424
723
523
464
673
476
513
586
577
656
561
440
598
493
589
474
447
658
614
573
674
723
713
498
432
818
629
692
605
557
554
770
638
729
636
540
590
427
723
749
604
811
711
701
604
817
472
682
422
549
469
640
813
789
776
504
634
540
712
774
761
565
755
573
696
472
737
789
461
746
482
759
460
559
659
422
737
723
468
589
562
571
779
784
701
651
734
448
816
791
771
639
467
723
462
683
653
799
511
436
502
593
501
748
794
443
602
423
610
541
445
806
467
737
705
547
707
664
657
650
699
712
480
753
793
622
731
507
497
467
721
539
727
480
727
658
613
785
593
597
807
686
524
492
766
796
818
620
654
462
472
792
551
640
669
618
547
675
620
442
456
668
702
526
799
657
810
529
682
509
648
486
654
647
615
820
684
525
639
785
782
806
479
441
710
791
744
524
717
656
671
529
470
624
721
576
700
584
619
474
512
754
785
502
677
691
576
523
639
514
728
657
739
497
581
533
738
681
736
421
511
641
576
691
442
704
749
690
540
585
799
667
505
586
523
458
714
698
764
773
759
512
610
734
774
803
475
661
778
803
538
738
590
510
771
654
706
585
773
616
723
782
688
471
427
626
782
457
444
690
507
627
771
752
474
733
530
664
635
632
670
590
590
758
519
707
474
522
687
516
442
480
625
618
420
783
763
535
655
731
750
819
507
703
622
694
497
572
512
495
647
436
727
567
445
436
640
726
644
466
547
733
720
474
722
544
686
680
674
551
591
557
729
643
795
586
553
632
450
794
601
444
737
495
572
465
468
501
793
578
422
552
555
440
619
673
760
421
447
629
503
706
482
644
808
491
753
728
729
621
674
560
591
560
547
767
637
790
787
607
569
443
540
809
625
624
559
564
646
538
429
688
514
486
739
660
668
766
457
616
683
680
459
704
623
792
478
531
643
506
685
648
650
438
461
462
760
530
772
453
580
611
749
755
766
660
719
444
700
672
434
741
548
631
499
783
423
497
474
672
705
463
670
532
426
707
674
457
748
636
765
799
597
519
458
732
816
772
529
524
665
457
770
776
499
443
773
423
477
737
816
523
757
789
439
635
454
762
681
707
654
455
447
545
556
680
761
584
635
811
440
626
716
423
610
662
803
496
606
568
784
758
540
739
608
714
422
710
434
749
679
636
460
785
471
632
628
463
498
449
632
654
667
658
690
532
719
463
536
500
435
816
553
688
754
810
682
523
752
428
449
425
549
626
600
473
583
708
627
730
551
442
546
697
635
819
589
428
565
513
798
483
461
751
759
637
721
668
692
615
579
565
648
511
666
620
560
534
436
487
496
700
800
464
471
669
808
687
614
634
769
643
575
577
458
784
545
474
628
684
676
431
524
751
689
652
431
818
482
591
525
592
802
505
432
646
434
423
614
819
446
556
797
767
722
721
524
751
632
791
775
551
475
763
629
735
687
630
692
445
541
758
661
475
751
479
533
680
566
487
567
623
818
729
816
477
798
808
537
759
576
520
806
716
595
714
691
745
651
703
501
543
634
528
545
672
568
776
440
660
770
728
532
620
516
808
770
432
564
526
630
814
596
450
464
470
589
523
529
762
688
527
422
753
420
552
564
673
754
599
718
761
663
662
611
671
724
639
657
491
758
667
809
506
737
444
689
771
545
749
522
630
465
489
533
814
812
567
729
431
788
721
444
467
613
479
723
450
611
679
725
555
787
627
602
820
642
614
652
557
424
467
776
593
469
781
507
676
675
523
662
734
778
682
820
547
536
602
445
801
517
542
690
565
594
727
553
627
773
804
788
750
630
468
552
649
615
765
574
642
663
526
752
622
540
673
805
514
485
512
782
817
651
535
468
684
754
802
612
505
741
479
557
465
486
580
704
591
507
690
626
725
590
670
687
513
509
429
599
488
629
480
475
651
602
597
622
494
754
695
584
793
439
584
646
514
593
504
502
725
450
730
463
591
430
771
420
555
529
430
500
542
775
594
481
486
706
620
613
746
441
514
431
615
789
799
801
791
793
490
538
790
424
810
732
506
476
752
450
494
694
598
622
620
513
504
502
791
470
652
621
589
518
753
555
746
486
451
460
687
754
787
445
481
498
715
670
568
565
468
557
492
784
673
425
463
728
477
625
553
712
480
664
523
778
650
653
491
662
473
639
676
482
688
439
598
453
500
686
612
578
543
779
471
567
492
637
426
563
437
524
637
649
731
444
758
703
669
673
593
699
479
590
808
435
673
819
740
590
463
595
663
772
483
760
480
691
639
440
484
696
596
520
619
663
623
642
706
571
526
711
659
540
546
815
519
772
658
791
436
609
763
607
792
614
771
502
683
611
697
502
680
658
523
421
540
674
510
754
726
450
715
662
734
716
690
789
592
731
430
770
644
443
555
662
526
771
774
555
688
431
537
727
550
745
627
594
727
757
682
781
564
679
744
640
618
476
456
733
722
657
480
422
809
484
684
703
692
711
443
539
620
765
809
615
520
561
521
516
517
625
689
476
807
455
621
654
607
641
547
757
611
804
589
809
777
538
492
455
440
636
572
676
801
635
631
637
515
441
492
728
768
691
466
590
444
527
722
639
605
589
769
672
783
659
584
597
752
629
549
771
709
557
602
425
619
653
478
425
437
785
754
550
792
715
629
581
435
728
503
687
423
570
749
479
590
564
643
700
741
640
463
757
722
485
718
445
673
552
682
610
443
617
467
594
502
697
593
615
767
548
437
625
574
576
430
768
571
531
706
775
635
513
554
698
559
649
797
422
794
581
763
444
753
445
762
773
691
587
509
764
592
557
753
627
723
558
816
690
432
810
490
564
762
696
618
685
442
682
578
816
465
494
431
426
653
622
790
448
546
643
421
814
533
424
494
658
628
694
685
764
604
524
577
467
560
645
480
782
697
439
635
790
683
614
603
450
545
800
479
787
474
671
659
801
604
662
507
702
746
716
607
456
570
682
501
463
493
760
444
728
703
571
473
722
693
680
451
666
581
796
685
467
706
463
664
521
683
495
748
509
777
594
637
542
646
781
535
704
519
516
540
575
467
444
463
565
566
576
625
711
517
791
650
807
728
730
602
642
739
804
753
646
707
796
546
471
428
619
648
794
744
816
427
667
613
551
540
607
790
638
566
581
777
618
578
498
761
627
509
526
535
452
502
725
560
615
787
804
692
432
735
659
451
631
664
535
704
699
497
563
507
490
476
504
480
784
424
629
605
512
439
615
731
468
526
794
503
632
466
726
574
709
627
727
627
426
718
669
803
643
817
652
513
730
541
447
465
685
817
623
783
763
429
716
802
584
502
425
782
814
605
702
720
804
618
703
673
580
423
775
444
585
425
469
785
707
577
667
644
784
811
505
511
571
790
554
574
460
732
626
772
509
724
721
580
499
532
473
727
468
476
456
539
621
592
607
598
725
630
797
803
551
690
813
587
588
559
534
485
813
488
759
490
790
495
803
520
811
651
613
790
688
734
767
645
700
592
434
731
652
741
491
608
739
723
536
551
456
588
679
523
766
536
463
707
456
555
627
683
563
601
726
553
652
679
528
426
671
658
693
477
514
467
754
643
616
816
455
476
551
534
507
675
580
812
494
670
771
437
552
527
549
430
783
433
428
705
698
506
728
574
694
820
461
452
557
558
554
711
468
753
613
686
446
740
564
436
650
592
598
441
519
685
618
593
794
676
767
524
444
487
485
640
474
589
702
504
814
640
600
500
719
524
810
551
497
774
484
770
805
728
795
655
487
576
638
766
639
776
674
708
429
696
528
670
535
611
554
784
507
427
598
587
636
480
734
604
618
690
727
429
424
548
719
817
541
645
642
497
425
815
441
554
789
695
481
790
430
690
604
444
575
709
650
508
500
679
659
529
588
485
542
708
552
703
769
466
601
818
737
495
448
450
602
660
606
463
465
560
724
717
626
470
780
706
602
665
608
642
512
810
818
561
651
621
799
746
744
590
673
819
459
589
441
787
690
499
559
675
666
652
480
552
429
557
742
690
526
587
768
621
441
749
673
758
759
747
684
437
789
603
420
498
759
548
514
570
437
495
658
513
440
674
457
797
620
466
434
713
737
715
481
716
597
695
667
602
482
607
464
578
576
640
578
699
809
661
568
440
420
700
501
766
632
502
704
693
566
528
578
741
545
468
526
568
693
601
555
481
642
566
671
745
745
658
593
535
501
780
423
487
447
648
806
535
460
473
761
557
472
723
610
585
746
671
561
472
814
494
679
736
657
546
438
456
816
754
482
531
468
791
564
654
771
776
476
461
512
440
792
540
617
501
549
528
599
764
747
420
765
477
460
572
554
548
808
741
734
700
765
452
690
528
477
683
611
683
472
501
444
703
723
755
734
764
556
701
562
703
778
435
669
785
424
760
764
628
598
493
537
626
498
665
582
659
765
486
713
666
667
441
489
714
604
641
556
492
705
794
571
524
564
703
760
611
725
471
446
644
522
746
501
737
780
570
669
773
557
584
507
749
782
794
488
529
474
608
767
526
522
700
600
482
758
746
462
451
754
775
521
488
493
708
647
643
496
509
567
596
567
815
799
442
602
739
422
721
471
623
807
723
532
609
758
630
680
488
633
766
430
720
605
695
700
576
784
713
766
680
698
635
592
710
525
623
482
642
439
465
649
529
627
728
611
814
630
580
779
810
569
605
637
713
510
702
525
605
589
567
727
659
780
696
524
773
562
750
595
492
751
445
759
440
648
575
748
739
447
600
597
606
624
697
531
568
629
765
626
647
578
463
567
684
747
648
457
715
686
748
753
608
571
548
465
574
516
526
480
659
421
519
733
760
793
644
673
672
773
465
440
715
813
555
764
494
594
426
776
753
752
454
647
796
469
602
618
792
564
624
764
547
691
478
441
538
636
437
580
535
628
507
543
569
654
563
754
809
567
477
430
509
667
785
450
632
633
809
477
423
528
816
804
797
424
441
773
467
462
803
754
577
545
747
420
576
439
558
465
502
647
564
760
724
757
596
809
644
749
602
731
743
785
770
787
730
781
677
649
769
495
597
669
501
542
603
619
531
737
559
660
745
674
646
777
572
531
519
795
609
471
478
717
731
597
632
658
740
494
453
768
550
497
817
497
566
578
678
432
778
623
809
651
623
531
563
423
733
490
450
645
639
662
495
670
565
445
502
508
709
535
680
460
678
733
452
434
689
528
506
498
493
556
670
755
529
663
811
474
430
448
805
522
528
626
775
658
791
522
434
531
504
483
634
460
817
613
598
783
448
674
645
573
447
635
763
662
663
701
623
572
771
710
814
421
446
500
593
670
474
550
588
636
470
476
470
720
624
648
621
795
689
693
742
800
456
469
766
623
683
498
568
608
488
455
443
549
451
425
566
430
447
504
520
639
706
771
806
716
424
781
734
496
514
502
597
804
472
438
597
435
619
433
674
643
423
585
735
802
550
507
591
463
714
532
437
694
785
809
668
498
762
596
735
646
779
516
594
795
517
564
445
595
570
518
548
452
594
488
675
751
448
448
731
554
625
799
437
746
556
578
518
718
632
459
420
628
645
490
569
539
539
763
487
449
607
518
458
602
426
808
780
484
790
785
517
598
421
429
794
791
584
753
775
738
634
577
792
510
641
569
420
469
497
648
733
693
661
637
469
630
648
489
479
490
486
460
679
802
776
556
661
648
570
479
805
771
721
506
706
746
595
812
570
558
586
454
671
578
764
802
505
516
585
518
660
726
820
518
784
783
647
817
606
708
548
777
423
539
769
692
804
628
556
750
818
801
489
420
749
487
509
692
729
669
793
489
758
767
493
808
439
424
739
693
523
706
613
448
473
774
725
788
475
491
466
763
438
532
554
605
453
706
686
597
772
468
589
435
729
449
516
563
502
679
432
594
652
491
501
562
590
530
440
765
610
666
795
643
625
636
723
646
806
723
561
502
620
757
731
557
664
724
698
800
730
491
718
463
639
563
768
420
752
724
651
476
517
689
719
678
508
623
585
433
691
443
729
511
540
767
712
639
795
451
538
611
494
804
682
719
534
464
757
459
814
586
737
633
448
658
428
792
613
595
420
507
704
506
475
522
628
486
726
678
463
576
626
560
807
782
462
526
563
566
752
428
621
696
677
733
469
755
732
456
539
492
642
487
525
703
633
795
507
674
680
657
758
716
524
517
424
470
593
744
609
525
447
486
691
567
588
593
678
445
590
816
491
796
625
798
658
433
482
577
562
442
653
504
685
507
473
666
546
766
761
483
471
794
763
570
711
633
642
657
612
439
653
655
765
658
512
536
568
482
729
459
691
605
719
802
721
643
542
767
488
570
560
781
535
546
559
749
749
709
663
472
806
747
761
524
798
519
747
634
631
780
447
749
447
563
546
595
739
518
521
670
574
477
672
432
584
749
551
722
613
715
815
534
798
672
565
562
728
760
790
723
569
647
797
774
424
507
509
708
623
808
515
505
740
686
657
423
634
819
566
745
498
451
790
558
497
753
597
601
649
762
687
564
625
426
627
714
713
696
683
590
598
542
819
579
622
713
634
494
784
665
754
707
728
689
451
602
658
597
673
797
786
712
747
790
728
551
422
766
657
767
695
429
437
780
704
786
802
548
475
511
676
680
543
427
458
481
484
511
628
748
741
817
522
676
779
641
429
455
683
684
738
500
695
609
526
498
430
552
759
722
524
451
717
813
717
574
464
696
548
756
485
507
488
642
715
557
504
728
468
483
491
624
798
535
794
675
633
751
707
659
631
442
529
575
495
546
762
469
734
566
693
537
670
561
445
664
753
611
583
817
591
653
671
541
619
460
509
679
591
493
672
727
712
750
631
750
562
496
498
781
433
688
636
530
728
537
569
440
425
470
701
463
753
677
470
454
481
799
475
535
527
716
512
762
713
611
799
698
578
632
547
470
804
812
478
524
454
494
770
756
618
471
491
678
612
578
584
799
723
606
528
775
525
750
626
505
723
658
785
483
488
472
566
457
449
550
637
640
594
809
624
438
732
810
498
785
582
646
502
795
551
796
620
504
728
487
576
591
740
658
561
467
581
597
659
624
587
420
592
438
483
445
733
638
644
513
785
582
448
485
523
627
775
812
557
770
455
808
501
606
661
776
812
630
714
687
618
553
463
698
740
548
555
768
474
508
525
434
726
529
748
576
818
621
436
705
459
621
677
455
665
765
443
570
625
524
708
540
780
667
729
720
516
576
770
674
745
715
795
597
680
430
473
484
764
763
523
451
545
678
706
485
484
450
503
503
699
601
621
645
494
807
590
689
433
602
527
581
616
790
433
554
663
621
601
752
496
793
606
666
514
713
817
603
499
492
435
613
661
739
643
447
719
514
588
442
558
733
582
649
774
664
501
421
459
527
663
641
605
493
735
459
802
768
733
816
510
701
663
779
623
660
654
472
733
548
711
458
690
531
683
455
499
526
481
701
772
627
519
783
537
513
698
461
774
481
434
772
475
806
803
589
554
427
762
727
609
534
795
701
727
583
683
492
817
721
660
426
644
814
616
779
452
512
754
526
542
696
433
728
481
627
451
772
556
819
433
795
618
639
442
765
694
547
526
525
497
541
792
669
549
590
619
797
534
753
677
594
483
596
439
537
427
552
584
657
624
805
506
444
816
452
680
652
559
802
587
605
726
518
619
703
760
723
796
595
755
761
531
601
811
728
445
514
816
559
572
552
426
615
447
581
580
463
692
519
512
474
738
769
423
707
424
795
584
620
581
754
591
661
803
679
781
699
421
544
447
700
532
723
809
489
774
748
556
596
629
484
813
584
597
474
545
531
596
459
489
579
642
606
728
646
564
467
644
637
492
673
616
723
542
787
790
539
808
566
768
510
512
813
754
801
741
666
496
735
570
537
688
714
425
422
746
604
587
722
756
689
678
437
607
568
676
438
654
809
420
716
516
449
768
599
546
784
790
647
429
640
648
807
609
526
805
504
543
500
529
536
740
544
789
523
562
620
446
438
426
702
598
462
628
658
567
586
637
660
461
653
713
570
607
628
583
616
678
605
581
740
560
691
797
456
717
542
815
729
487
499
659
674
629
662
761
535
641
428
537
693
559
606
818
804
706
747
626
668
629
627
800
509
801
605
732
747
810
520
661
611
483
813
675
680
571
579
628
807
770
646
757
571
779
676
595
798
545
649
637
491
655
513
587
622
483
651
774
423
606
720
775
421
570
812
574
444
564
726
531
443
720
437
532
686
789
692
698
683
652
522
681
529
694
698
652
552
484
446
544
566
529
667
502
655
443
692
711
747
588
505
721
455
451
768
813
663
539
610
510
767
710
478
750
700
609
718
560
737
702
608
645
570
442
726
805
656
477
677
511
820
517
521
646
545
530
593
751
798
607
798
566
666
738
753
436
704
531
618
726
746
592
774
815
606
697
597
626
497
698
760
741
646
807
643
672
808
718
601
790
699
631
424
632
654
558
684
520
592
620
762
616
781
587
476
729
663
770
645
691
810
642
798
530
434
706
731
520
701
657
717
642
698
744
746
811
787
666
712
750
694
679
724
679
690
562
644
672
596
644
585
656
535
490
689
534
513
486
578
796
512
777
467
521
686
613
733
534
544
460
751
596
559
790
637
444
633
636
456
761
610
616
610
556
434
463
498
531
768
806
694
690
497
742
460
489
435
637
817
656
815
455
425
684
800
597
664
607
790
475
439
424
792
429
702
677
529
764
815
599
464
761
775
445
475
490
643
420
810
440
800
650
515
681
767
708
665
589
747
778
431
536
652
663
708
473
679
791
457
586
765
812
701
582
790
798
590
484
509
795
750
817
616
604
685
634
677
723
482
445
622
589
611
683
495
630
460
667
533
557
565
689
584
441
559
652
678
770
713
438
686
767
565
610
665
529
653
660
756
525
600
491
596
769
805
589
449
524
487
426
567
715
532
709
429
622
463
460
586
457
455
684
696
520
747
614
569
635
717
508
724
611
783
515
759
725
804
618
785
552
460
615
428
690
653
724
581
592
440
484
427
489
489
447
483
674
681
699
589
681
668
819
532
626
558
532
592
720
744
445
700
480
613
787
455
717
806
505
581
671
425
502
691
684
510
580
444
457
562
751
480
584
717
622
718
469
557
802
739
740
672
777
657
478
582
455
725
744
471
585
557
782
699
760
498
783
720
800
799
451
519
583
505
673
558
773
468
528
585
476
754
785
469
625
785
676
730
709
663
494
630
504
578
430
484
813
530
480
539
661
728
797
754
658
752
439
763
432
427
431
437
819
616
512
808
670
798
492
541
499
506
793
586
795
776
454
640
561
600
614
589
527
805
623
451
524
538
475
458
456
490
661
420
721
744
662
819
686
713
686
695
632
624
771
713
515
476
583
690
458
714
684
519
527
607
620
441
691
635
779
753
820
618
442
765
682
448
566
722
496
507
514
545
716
448
521
646
739
685
778
609
814
725
720
491
782
796
602
628
547
768
585
736
685
433
452
753
548
640
639
488
430
529
521
472
579
760
542
794
460
522
452
432
445
583
504
635
451
690
583
469
590
669
421
563
800
811
711
800
429
470
584
615
532
740
730
701
499
542
698
474
421
540
779
655
524
816
447
737
788
686
562
422
732
667
478
736
805
508
679
429
619
509
692
424
649
463
428
474
549
631
518
789
815
503
692
611
506
709
547
773
603
563
680
465
550
691
487
666
635
463
644
490
436
696
789
446
527
779
594
432
805
767
726
727
647
593
459
688
608
675
564
432
573
558
455
676
716
452
746
784
440
473
809
820
731
612
489
648
772
653
528
788
545
694
460
566
729
420
731
444
528
595
755
659
659
561
575
749
647
553
430
811
490
564
529
762
532
596
547
819
427
636
767
568
436
546
680
610
427
628
663
431
512
602
511
651
466
601
452
577
474
582
733
769
726
667
611
564
469
636
544
621
609
689
749
439
795
789
787
559
780
554
678
709
457
505
610
765
580
818
740
577
720
658
662
557
547
762
446
715
581
722
499
712
623
480
430
481
641
755
587
741
750
556
715
769
633
475
756
670
613
795
702
540
720
497
585
705
649
721
420
805
779
501
642
498
761
664
733
676
820
752
470
542
785
477
719
565
722
787
657
453
454
762
724
542
477
511
605
481
511
537
473
809
668
800
448
722
503
613
549
669
431
601
658
743
578
727
522
654
454
809
650
652
707
471
808
782
604
504
686
466
631
762
692
812
475
441
679
781
478
487
482
433
440
524
706
659
675
559
565
711
738
514
765
541
529
767
567
759
631
582
491
764
474
570
495
806
576
423
642
662
733
479
516
712
799
781
482
593
536
685
750
620
443
729
544
553
721
644
699
503
720
718
702
800
522
576
541
582
712
632
564
818
704
474
498
759
607
602
603
623
589
634
571
622
547
545
790
810
599
428
723
484
693
662
603
445
472
478
570
422
460
557
728
675
653
518
444
449
561
747
695
489
817
597
531
659
708
430
644
791
630
626
740
449
531
561
640
641
695
795
517
784
637
600
640
813
469
790
667
590
748
632
578
761
452
537
807
451
767
573
747
439
603
597
473
688
633
721
473
624
571
525
795
500
814
458
585
600
427
752
639
619
449
714
695
729
513
643
612
766
583
623
709
730
570
607
696
440
516
421
453
730
563
690
612
706
534
796
767
704
604
455
814
688
455
645
618
717
740
434
488
471
712
605
695
672
646
475
487
593
738
663
576
560
658
690
665
797
435
506
428
553
509
658
484
444
653
690
626
754
720
455
566
648
693
535
598
421
762
469
477
744
459
578
613
577
568
548
437
551
807
820
429
552
659
555
518
557
456
690
484
818
625
427
476
805
653
585
632
597
779
538
709
562
518
448
819
561
433
606
531
480
596
531
557
536
819
467
623
765
769
722
566
613
785
682
616
511
627
724
752
678
816
487
539
610
804
735
673
502
571
720
742
538
624
541
575
677
673
429
670
511
674
735
689
782
795
644
808
782
728
754
800
638
461
742
423
763
766
653
796
439
500
584
683
421
551
438
719
486
621
433
667
481
423
634
744
536
665
549
648
647
622
734
536
714
476
787
721
677
567
754
734
581
689
550
514
515
565
527
643
494
440
639
459
464
420
434
460
452
744
467
806
651
592
637
469
619
609
552
454
725
778
801
485
483
660
583
453
645
706
667
500
814
602
770
517
506
733
470
747
591
510
494
811
805
668
466
490
642
548
785
624
437
716
671
464
515
475
728
557
570
624
446
562
460
642
780
449
628
441
646
704
642
550
678
484
734
716
662
553
636
491
442
744
500
788
446
736
771
547
665
494
458
435
463
629
432
477
644
641
620
687
439
700
645
813
444
699
427
721
701
466
807
593
707
472
768
525
650
652
787
681
593
714
632
657
501
607
633
639
683
455
437
795
451
709
600
631
482
537
502
488
656
705
791
712
490
740
634
808
543
780
631
783
431
804
539
765
730
620
660
495
463
646
643
703
789
456
802
595
680
768
548
742
476
446
729
790
714
526
505
722
653
429
542
631
505
482
477
768
579
500
775
601
609
521
791
590
547
473
623
549
584
554
441
515
645
745
547
445
581
787
692
429
475
704
702
571
542
727
686
420
566
642
470
448
486
480
549
658
422
472
541
487
606
626
694
556
538
771
683
527
769
720
778
450
814
765
545
555
662
441
548
501
648
556
576
671
544
752
662
467
572
492
710
676
518
704
709
483
819
723
810
661
767
452
629
593
457
582
450
615
790
641
757
457
423
638
664
764
722
815
781
518
688
754
454
420
472
797
478
677
712
715
510
602
579
500
577
753
619
658
610
434
643
625
490
666
686
517
464
451
700
594
528
791
484
526
713
443
472
729
505
755
788
549
757
536
692
629
610
634
516
596
682
732
800
520
581
548
712
466
518
615
730
546
744
505
697
768
669
616
485
697
631
618
808
524
452
814
647
553
786
646
566
572
646
531
764
516
458
431
696
566
754
732
679
649
420
722
559
501
719
563
564
524
464
464
590
580
661
481
805
643
759
661
503
701
786
646
454
580
526
460
743
705
672
712
626
505
705
753
481
705
566
715
442
714
427
793
789
551
524
761
739
620
565
547
785
468
611
583
543
820
729
777
691
727
582
671
509
452
778
513
745
753
751
712
751
748
692
621
541
759
562
756
492
806
666
728
446
615
685
599
718
553
690
440
704
669
664
589
680
551
670
582
477
751
500
712
787
564
696
665
452
436
717
695
622
812
561
481
607
600
670
638
435
710
550
766
510
805
568
775
771
769
703
668
648
761
509
577
639
799
666
483
514
456
773
577
547
676
582
607
468
667
753
633
731
758
615
782
548
545
669
797
780
597
623
476
512
617
547
467
587
511
435
439
523
587
677
481
451
494
663
470
803
472
517
490
690
459
644
428
657
602
425
645
770
483
550
614
504
615
727
724
427
720
496
784
755
610
685
691
699
497
576
441
681
534
471
533
693
620
684
519
642
698
734
536
699
631
516
747
732
693
793
621
795
659
601
801
795
693
651
535
465
714
639
606
804
788
559
604
688
666
515
444
569
756
617
552
473
734
628
758
710
560
677
521
554
719
627
634
562
642
599
602
540
608
652
787
581
760
768
541
645
744
724
535
674
438
453
701
781
678
491
658
455
791
715
562
710
764
777
807
617
453
685
442
441
627
790
773
485
746
757
582
628
685
421
563
786
784
748
737
626
695
641
517
592
815
748
529
548
512
814
618
762
466
587
510
492
455
696
769
674
747
431
449
574
766
658
536
604
697
482
773
478
508
599
638
724
584
433
632
568
566
579
584
479
441
482
573
545
741
674
484
430
738
548
732
485
782
814
654
577
780
443
669
446
670
449
692
430
439
762
731
437
713
504
485
759
625
776
629
496
722
717
441
642
584
621
619
520
526
613
426
506
628
482
787
508
483
485
658
481
601
735
546
646
532
675
516
620
595
665
604
727
422
431
769
820
715
800
548
798
798
791
814
463
456
631
801
710
587
623
779
793
519
500
714
752
560
495
476
561
718
733
744
519
425
518
745
555
730
460
767
700
604
501
793
448
697
799
534
578
455
807
570
483
707
625
565
446
671
749
574
814
439
435
643
789
535
588
677
651
797
514
482
663
435
511
476
587
646
617
654
769
673
742
457
646
654
771
766
673
564
667
778
585
461
612
455
579
593
654
599
446
513
505
492
796
523
661
773
454
692
459
533
755
773
794
794
485
644
502
627
506
572
685
614
706
733
521
789
638
564
519
787
546
454
470
766
436
448
609
500
627
758
442
801
458
544
806
668
605
591
818
687
671
756
641
616
778
539
627
649
612
689
695
743
509
781
764
517
749
462
685
629
805
679
471
737
626
467
805
457
545
462
420
509
592
640
519
603
747
570
784
747
734
803
526
458
648
776
678
729
547
472
763
659
450
620
776
679
660
670
500
786
621
661
682
469
497
516
773
747
660
625
574
591
766
592
568
664
552
703
544
617
436
431
772
433
635
703
716
467
657
430
489
611
670
680
766
769
648
728
507
453
435
655
785
537
721
438
724
734
667
465
612
769
687
816
778
729
810
623
818
483
606
641
475
482
702
705
486
615
598
558
536
785
729
537
677
796
495
506
553
598
510
736
779
546
771
545
501
809
622
675
563
454
638
524
712
455
531
581
617
448
461
668
695
744
505
781
429
776
811
778
475
744
427
671
622
668
674
450
688
614
548
619
465
639
718
505
689
589
585
525
740
584
745
733
774
437
546
578
504
765
754
437
488
771
565
497
730
647
590
761
679
755
651
707
589
637
478
553
638
650
628
470
730
470
490
521
460
686
679
539
549
677
608
695
646
549
729
791
797
745
684
684
484
658
742
526
560
797
434
548
754
799
478
797
618
728
740
684
708
639
530
667
635
591
675
819
445
504
547
765
734
533
802
442
671
483
483
544
557
589
601
638
546
722
781
426
565
634
816
471
542
565
819
422
621
536
802
635
620
583
742
471
683
513
536
795
595
473
650
707
747
489
528
605
520
542
784
625
767
719
589
620
615
796
786
511
649
689
660
661
424
530
807
644
669
559
779
629
741
536
608
647
641
573
714
491
722
610
544
496
753
481
788
474
705
710
555
617
712
809
669
743
495
806
421
425
644
513
808
819
683
761
526
544
572
475
513
812
551
494
748
729
651
595
573
715
753
489
732
442
733
755
744
772
574
811
795
781
680
701
663
666
640
450
454
510
804
749
665
501
682
749
455
711
534
785
685
572
549
422
452
603
596
818
650
515
817
560
464
660
683
767
647
734
732
489
572
732
565
426
466
713
426
449
641
512
646
513
716
583
732
813
498
792
569
463
463
547
760
427
531
736
539
476
586
460
617
593
785
496
590
604
429
518
558
607
459
747
572
725
475
593
689
569
491
508
632
548
604
766
420
767
776
439
551
695
513
673
513
476
637
527
772
585
642
757
807
478
609
497
429
763
647
816
464
449
713
786
520
594
776
591
507
443
702
794
640
761
773
547
787
659
477
679
485
808
762
661
491
797
776
799
449
704
435
704
447
640
526
435
530
800
584
426
694
815
591
572
698
546
546
568
438
437
610
785
539
814
435
627
516
497
612
472
797
620
546
433
506
781
502
565
496
576
704
687
487
791
758
516
654
665
808
434
599
506
498
691
813
508
733
746
537
754
452
423
510
630
581
588
586
803
499
672
649
691
631
491
752
734
559
513
465
527
819
496
639
702
535
459
677
488
449
532
550
721
641
482
649
606
702
693
723
743
604
636
654
767
434
580
801
636
665
612
722
425
599
762
588
451
590
447
751
621
543
598
808
462
652
809
657
681
692
481
688
696
802
595
819
534
662
729
728
439
450
566
590
499
599
661
642
764
514
756
746
513
463
686
745
623
499
603
798
632
719
709
437
534
660
816
752
483
570
807
549
497
592
668
452
629
726
424
656
674
430
772
634
533
789
629
741
524
565
658
751
767
707
442
741
560
434
648
523
592
762
770
754
791
782
637
796
775
433
630
686
581
659
483
798
574
787
760
743
646
502
491
785
557
739
656
536
453
487
649
687
666
477
547
657
763
528
491
615
465
421
644
426
471
591
537
434
531
746
597
420
805
462
439
661
585
431
790
541
806
481
650
623
509
640
508
450
632
577
637
708
585
522
756
792
674
432
620
726
776
647
761
612
566
769
629
632
432
449
686
425
519
561
488
811
760
573
763
801
814
426
553
689
568
789
765
636
480
443
581
593
526
525
682
817
667
537
578
799
777
612
518
637
507
573
436
640
605
752
815
686
677
435
670
818
499
566
741
648
679
757
783
673
511
472
467
812
563
561
661
592
568
787
504
779
451
499
683
707
783
551
504
645
577
786
507
580
742
761
708
670
719
695
544
636
609
728
625
718
584
813
453
434
776
808
630
773
739
785
663
646
555
787
786
507
636
632
440
432
692
814
532
552
590
654
535
692
479
548
440
752
656
648
726
510
665
640
532
659
762
615
751
614
770
592
581
544
468
809
530
485
680
549
743
695
639
701
615
557
590
611
746
807
459
723
680
579
717
588
670
812
723
733
777
782
812
550
765
515
464
495
584
796
798
580
498
659
424
787
708
809
449
486
705
598
705
513
796
764
592
797
551
572
539
718
588
618
709
627
572
755
598
572
656
436
649
685
549
784
717
761
462
586
724
525
524
726
498
570
707
465
756
480
806
797
493
473
449
440
468
769
562
429
820
420
744
478
711
588
674
486
645
806
473
625
456
588
762
693
554
743
607
765
482
547
556
554
629
515
789
501
777
439
768
774
656
544
494
767
663
569
567
515
633
430
490
703
427
468
796
548
671
803
786
625
664
457
606
769
767
637
483
713
659
493
452
595
649
605
455
669
558
554
482
579
494
732
431
788
514
459
767
677
630
575
688
537
474
596
511
588
819
798
453
546
740
725
587
571
561
719
809
547
640
518
711
775
622
584
420
743
548
790
752
627
768
644
648
631
482
758
622
552
717
649
443
493
445
798
432
545
545
613
763
607
759
535
802
620
479
573
573
569
661
538
757
567
802
489
567
804
495
741
489
451
488
768
466
786
423
562
530
561
578
625
520
800
579
692
724
571
659
758
680
695
469
728
517
429
421
664
797
553
749
534
456
789
451
562
665
513
632
742
473
599
531
636
535
537
707
531
532
562
719
782
474
443
550
506
680
594
772
502
471
575
532
619
489
594
582
767
819
552
778
598
474
749
496
804
451
589
518
798
799
452
478
617
490
721
756
479
425
766
715
668
548
753
734
516
514
745
434
492
674
626
651
694
813
589
812
490
657
759
775
646
614
505
464
611
772
819
420
695
665
762
516
661
494
569
438
427
440
582
635
501
597
804
615
679
626
788
596
585
458
646
611
598
789
511
630
809
580
777
788
478
445
573
544
791
616
816
542
473
447
675
600
684
486
804
764
782
592
564
600
684
505
702
578
642
728
501
505
780
569
662
779
730
519
454
558
564
686
527
797
733
480
682
804
548
520
491
706
768
665
638
817
491
569
578
422
653
769
687
635
805
497
757
734
616
714
687
606
456
585
598
819
620
529
512
740
533
717
768
816
669
785
668
595
810
440
767
670
551
443
737
630
608
429
580
733
443
782
562
421
707
773
543
709
814
797
510
546
815
437
569
799
700
611
570
573
428
687
798
802
480
817
423
451
798
463
430
477
517
549
463
695
624
465
781
471
813
805
654
581
743
587
569
492
790
629
694
627
485
531
504
716
540
716
595
527
441
596
700
636
471
676
661
661
708
817
573
683
531
423
742
450
721
756
494
492
501
751
819
668
658
798
803
610
696
753
450
573
796
742
801
622
594
704
655
539
434
614
472
503
441
702
713
595
504
599
780
786
758
762
597
547
677
658
475
474
449
500
458
500
776
434
488
590
561
486
761
581
641
704
773
542
792
709
796
646
804
723
441
564
709
519
810
476
623
470
765
583
434
810
600
578
426
674
678
528
783
761
421
683
453
621
626
697
699
456
708
667
768
526
436
663
807
576
655
737
651
745
737
543
654
446
608
455
657
683
696
481
511
774
729
789
734
559
512
773
635
529
672
464
626
747
500
665
775
665
758
636
480
580
516
691
814
486
662
624
671
572
599
616
446
609
766
795
725
706
456
777
749
665
682
454
716
682
490
448
796
682
721
536
668
559
797
736
791
811
635
531
500
467
718
617
577
578
807
563
677
473
803
779
736
681
726
691
618
761
810
807
611
585
545
725
715
713
685
746
661
760
474
589
626
488
444
739
661
579
723
563
536
613
547
601
700
714
487
623
716
772
751
435
611
538
585
483
441
468
807
733
452
617
806
501
472
768
516
653
606
806
589
543
728
645
643
531
549
642
435
474
583
534
733
569
646
619
506
732
812
762
567
469
766
667
793
723
499
813
789
433
608
725
424
650
674
487
598
762
741
494
656
715
600
486
657
719
651
600
740
434
719
713
481
812
731
792
431
642
559
806
625
714
644
522
501
547
530
768
588
521
516
472
666
804
544
525
789
566
550
563
503
609
454
534
743
488
494
735
714
728
751
621
678
696
748
718
494
617
589
589
472
721
677
702
426
612
422
660
570
449
421
703
717
798
601
649
528
584
643
431
450
713
574
763
557
708
708
788
648
789
774
619
790
699
722
504
706
486
429
497
797
730
621
637
763
448
617
562
745
743
529
454
779
426
702
517
756
722
509
604
481
440
740
766
770
553
571
464
775
429
710
796
454
554
569
806
531
752
446
776
453
472
543
608
584
703
640
506
575
557
716
755
677
584
472
485
759
624
680
601
555
514
533
468
622
482
561
714
794
489
739
605
780
588
745
708
520
576
648
522
608
503
569
426
678
535
435
550
684
817
778
785
533
437
587
675
680
682
441
445
599
804
593
755
452
648
788
479
733
735
816
626
663
510
611
759
753
465
430
793
668
425
776
600
559
575
717
762
705
528
628
788
820
446
458
585
440
574
564
497
645
714
444
675
499
816
594
668
819
446
522
505
709
672
742
587
454
491
452
558
464
633
460
450
686
768
494
506
467
776
473
744
663
448
688
665
747
481
706
469
604
684
709
614
584
423
610
568
514
704
593
715
710
722
723
769
644
546
805
487
659
451
519
779
814
459
512
660
587
786
451
516
682
712
551
778
661
715
764
798
445
666
513
480
623
557
726
517
576
529
775
585
493
541
700
568
616
633
760
571
819
709
479
507
620
577
591
526
658
763
611
678
594
724
783
573
662
673
432
501
555
546
493
482
510
642
667
546
750
731
438
490
600
658
476
722
736
699
469
565
338
443
395
318
336
411
481
305
351
458
442
348
377
452
333
336
305
498
407
414
488
407
428
413
429
450
451
346
425
452
374
464
319
326
500
490
344
393
336
407
407
489
497
327
430
371
446
468
331
414
340
428
321
399
336
454
474
455
468
499
471
484
358
498
387
326
354
441
453
417
331
313
471
411
376
388
311
338
498
344
421
481
493
379
331
475
327
414
487
325
464
480
393
412
500
386
320
392
476
391
334
391
342
353
452
452
358
465
413
321
393
407
358
433
386
329
329
420
389
312
398
461
415
362
445
434
446
417
466
333
349
424
491
428
370
392
496
300
335
341
419
349
465
448
451
334
481
333
326
332
358
431
404
418
339
408
451
351
429
490
470
345
384
346
337
464
364
452
324
327
406
382
450
352
364
421
480
394
315
447
384
412
451
316
358
344
475
495
440
383
467
411
351
498
390
448
483
393
466
398
437
499
407
496
335
335
322
320
348
362
436
325
468
417
421
388
467
458
317
399
330
436
385
473
432
371
372
448
300
430
433
428
307
313
407
411
321
424
399
377
406
486
393
448
320
365
307
440
463
424
377
303
450
352
450
409
303
307
442
347
467
380
321
333
385
449
333
348
355
394
447
359
357
437
491
376
439
359
303
436
432
492
434
354
353
408
366
322
351
356
493
361
486
402
347
452
408
466
413
497
452
368
460
312
358
357
335
448
427
305
426
413
367
466
316
397
388
438
340
359
465
393
497
311
419
417
417
406
405
481
497
435
497
408
441
493
353
426
394
446
447
309
397
421
326
438
331
459
344
418
407
341
354
417
367
452
420
365
473
424
465
344
496
463
322
307
309
333
426
485
309
357
444
411
431
320
422
466
414
312
410
369
415
495
411
335
494
445
357
355
415
498
396
335
356
322
427
498
418
416
363
345
311
358
479
343
481
473
458
348
479
487
462
471
494
397
311
428
378
430
301
313
346
378
454
315
493
435
411
341
314
322
476
398
346
486
375
342
341
426
398
401
494
455
452
390
307
409
374
482
314
489
352
483
476
400
408
397
306
469
408
340
362
434
377
410
496
440
422
419
464
406
339
336
352
475
494
328
302
328
461
476
306
402
369
455
456
450
473
471
319
480
386
442
305
365
382
468
315
467
407
487
321
498
359
484
370
301
329
387
397
489
474
424
332
407
356
416
481
460
432
347
490
336
343
395
343
305
393
308
416
323
389
303
342
378
322
370
330
357
412
434
444
312
451
318
346
339
487
372
315
498
377
410
441
304
417
316
349
431
423
405
360
483
451
313
392
352
309
436
301
418
402
402
410
320
409
389
429
385
490
488
481
384
338
326
478
429
497
447
347
372
355
330
453
458
459
458
369
469
352
370
302
461
442
338
316
347
335
356
324
358
383
301
372
398
431
432
408
469
496
427
386
471
379
329
499
320
334
386
306
360
397
371
498
332
393
383
438
453
368
347
320
393
398
359
342
317
491
457
460
481
320
357
419
376
320
367
452
389
336
383
434
306
422
329
333
367
442
396
331
449
339
317
481
361
367
423
407
395
325
390
301
408
316
376
328
331
449
339
435
369
315
448
339
365
331
391
453
482
330
368
308
369
397
475
349
404
355
493
418
369
313
329
302
363
343
380
313
308
477
311
343
497
416
438
304
482
403
488
353
478
448
323
394
404
487
459
420
491
341
310
361
414
404
313
500
322
482
454
318
423
332
457
380
497
406
364
331
464
315
446
328
309
448
317
478
428
327
383
382
435
349
426
321
465
326
353
460
356
325
393
420
358
381
386
369
445
308
305
440
395
376
371
395
408
480
315
349
442
383
423
468
448
487
395
420
392
500
484
442
378
350
446
408
358
366
322
346
330
355
471
360
447
333
404
406
333
342
368
431
412
327
314
432
492
417
430
320
349
340
370
305
427
420
386
434
383
402
468
483
446
490
433
452
491
333
399
355
475
456
326
339
316
368
311
339
421
458
446
460
365
439
482
471
366
315
308
338
444
331
413
488
302
500
452
458
456
312
436
403
475
453
443
348
343
402
342
428
430
346
355
490
362
466
375
475
322
356
363
455
486
487
387
446
389
347
431
389
487
339
343
312
410
431
418
325
450
481
424
327
328
340
354
304
420
357
391
427
381
440
300
492
350
317
314
319
306
373
359
452
349
385
462
495
345
393
479
377
460
416
438
410
381
388
361
423
367
481
307
416
480
478
363
338
302
375
437
454
379
453
432
385
379
301
311
310
334
332
310
466
338
333
350
445
322
371
391
454
361
475
416
410
355
498
484
301
373
453
363
336
418
378
312
466
437
371
409
351
355
457
362
478
448
324
352
330
334
434
494
368
402
369
446
310
339
392
332
314
464
390
435
362
486
439
367
458
450
413
433
352
337
420
458
419
425
346
487
486
405
319
316
410
437
385
415
452
309
384
476
477
427
341
397
454
378
426
500
480
317
321
335
345
474
427
331
418
398
417
405
317
389
354
484
360
386
312
476
449
331
489
421
417
403
486
413
331
408
391
300
480
394
397
412
354
325
304
471
445
477
456
354
395
310
384
357
433
477
461
441
448
367
341
382
437
387
372
417
352
441
479
347
357
489
471
310
310
409
449
335
492
470
425
391
404
412
303
354
482
488
499
356
421
366
470
432
376
442
351
361
482
351
353
427
413
300
418
496
372
331
477
371
327
434
318
436
454
495
347
500
341
498
411
397
412
426
339
472
462
454
433
313
395
323
464
399
383
311
307
312
316
450
418
414
446
358
491
345
418
311
475
390
472
411
394
314
376
389
485
388
423
427
390
482
361
417
445
436
452
411
306
398
426
337
403
339
308
414
493
325
474
493
400
337
491
318
317
407
480
399
320
479
499
371
436
455
500
484
449
457
308
492
303
490
308
366
435
385
316
344
396
421
481
476
334
473
409
443
477
442
332
303
336
413
304
384
448
310
375
452
486
332
324
320
397
341
301
356
478
488
332
430
474
487
455
379
469
437
405
331
365
497
435
462
414
413
342
466
412
340
320
451
423
389
322
424
353
429
362
429
309
339
433
435
313
435
429
468
358
474
401
409
431
356
309
499
344
419
369
438
466
449
433
465
496
376
470
309
475
461
401
382
397
443
353
376
496
425
361
459
314
416
324
448
302
431
494
465
402
326
415
391
314
461
407
470
394
495
368
344
386
389
490
480
441
459
328
483
455
468
385
487
483
466
334
444
457
475
369
392
375
460
302
437
489
359
348
401
341
478
360
376
488
366
417
446
384
387
357
419
394
427
449
497
388
430
466
500
499
327
302
459
407
306
468
439
383
428
458
458
305
436
335
402
426
401
420
483
350
391
423
307
495
333
350
444
366
340
396
428
438
354
320
441
332
300
335
496
435
324
310
481
408
310
452
489
421
471
312
491
486
416
340
406
429
453
466
331
452
327
440
452
425
368
348
433
437
464
391
360
475
410
448
426
305
379
309
386
477
472
388
316
487
335
455
389
305
357
310
346
469
492
348
330
481
439
484
404
306
492
411
350
433
461
415
302
326
484
488
443
484
432
418
500
379
356
312
334
378
352
459
387
311
361
444
380
494
386
431
415
345
500
388
403
303
483
415
363
430
499
434
420
413
360
481
347
385
342
490
412
442
417
442
494
488
412
317
318
303
420
473
379
392
413
314
373
470
357
405
406
416
329
368
492
454
406
483
302
488
350
346
483
380
484
496
457
458
415
400
411
357
403
349
432
350
322
411
360
442
446
460
328
357
448
334
415
486
308
306
453
389
380
479
486
357
497
448
392
315
350
451
430
449
315
331
493
316
325
315
350
449
468
329
347
439
304
429
323
497
407
453
425
313
497
352
354
356
349
500
491
331
497
320
375
479
339
396
486
422
336
360
374
493
496
307
311
312
486
309
341
339
437
365
466
495
306
488
461
418
455
444
478
492
334
330
454
453
452
344
455
429
336
319
426
413
468
355
490
314
493
440
372
382
339
496
417
378
459
413
387
427
346
441
354
385
485
427
420
300
380
323
439
328
336
441
364
311
316
479
500
394
419
375
407
343
357
493
473
392
457
437
479
337
354
362
498
340
401
351
428
479
417
447
433
353
330
442
356
430
324
357
306
404
490
459
468
475
339
347
484
485
384
325
371
406
475
302
491
421
449
486
389
343
456
460
419
341
367
495
462
300
380
483
315
458
411
432
400
330
440
405
385
384
346
451
361
366
351
313
463
303
342
413
348
414
371
357
479
404
458
481
470
390
328
350
389
446
379
398
318
481
421
373
384
428
332
457
431
399
410
394
357
333
468
304
359
450
335
348
325
411
348
427
405
365
358
460
303
367
495
390
444
359
499
316
362
458
482
374
432
353
300
416
460
344
464
472
387
424
319
419
422
364
388
413
453
311
440
456
379
316
389
409
342
361
346
331
339
434
324
371
318
464
491
443
460
317
430
494
347
454
333
495
409
399
455
361
401
321
351
348
450
450
305
303
414
424
339
464
404
322
334
448
487
362
422
490
417
407
356
357
430
480
302
452
379
473
328
348
390
371
347
410
407
492
448
375
420
456
404
409
403
345
495
359
471
442
313
483
462
389
475
482
316
305
329
426
406
476
319
448
396
384
425
456
339
426
323
373
372
492
466
495
453
307
483
445
435
306
381
350
350
498
327
498
369
434
444
421
419
483
398
396
311
330
380
350
489
429
461
317
403
465
496
363
349
433
413
381
381
389
347
317
403
416
464
460
415
362
342
365
489
478
384
438
312
402
411
347
349
338
324
408
455
388
353
369
310
429
357
379
498
440
378
432
302
470
348
467
462
323
460
365
397
371
323
496
420
489
352
457
343
409
396
414
442
406
439
434
415
311
364
326
378
333
352
391
473
466
404
319
404
340
431
312
480
432
484
469
399
365
322
344
487
356
354
351
382
359
381
470
367
358
408
362
425
412
456
307
360
481
411
329
303
422
489
335
346
320
388
357
308
390
395
308
371
390
330
382
365
367
436
306
463
371
342
338
323
381
417
419
306
357
440
317
369
326
346
500
323
385
318
314
432
416
428
386
351
431
302
314
373
432
328
434
336
466
427
434
363
494
462
335
322
496
448
413
408
363
475
355
433
457
500
420
460
448
424
398
439
322
365
418
390
439
498
401
300
472
459
339
365
447
457
488
392
339
452
345
429
461
451
493
478
356
359
442
449
381
393
305
403
371
498
334
376
401
385
435
316
314
485
300
405
354
330
308
341
474
468
483
409
375
316
380
328
303
319
464
445
427
301
468
431
433
447
410
422
443
484
460
315
398
359
331
408
339
374
463
432
365
475
465
417
420
346
319
410
440
457
492
474
365
475
362
394
429
312
477
414
369
472
488
397
376
435
487
328
455
324
417
417
301
448
333
409
475
331
381
388
347
452
493
343
394
325
497
468
461
402
300
387
486
358
309
423
477
305
353
398
413
329
306
476
492
318
304
468
322
422
304
461
383
407
306
472
449
395
495
417
497
480
370
436
450
372
460
495
404
323
349
468
306
337
331
307
447
395
443
463
373
482
384
444
415
397
429
470
373
419
312
428
315
491
471
314
319
352
479
374
358
321
347
463
331
329
416
410
486
366
370
369
345
406
465
368
365
343
385
303
407
457
384
308
369
374
387
389
336
333
499
337
322
414
402
385
393
364
336
306
318
465
435
348
454
454
425
413
462
370
463
464
424
339
403
488
345
412
336
438
312
491
430
376
464
346
349
373
438
423
366
416
495
316
413
481
447
435
421
306
346
431
491
303
390
338
323
374
464
404
346
447
335
471
419
322
421
378
360
311
496
322
387
424
346
493
363
371
397
316
466
414
480
375
323
498
370
500
301
375
362
383
450
455
441
435
355
431
435
458
375
305
302
414
320
386
379
455
370
406
355
386
320
386
374
426
425
360
409
495
307
317
411
464
325
500
454
442
454
379
324
342
485
395
443
455
473
439
418
344
345
473
334
479
473
351
306
400
458
388
402
448
377
331
485
371
469
453
385
486
484
326
356
349
438
383
312
378
451
500
304
376
406
387
427
419
323
465
410
346
314
465
346
367
383
435
447
456
438
465
408
379
419
496
410
454
303
314
362
373
445
307
384
369
419
494
449
364
460
455
357
317
320
430
483
363
443
336
445
444
392
445
389
393
346
402
435
477
410
311
394
409
372
418
355
428
475
453
306
430
496
372
460
310
460
423
415
363
305
377
377
317
364
301
340
335
386
363
451
354
332
457
355
381
354
336
464
372
361
315
401
500
440
337
364
400
332
433
372
415
419
452
405
431
402
469
386
440
416
412
345
463
411
390
431
302
338
441
498
357
491
334
352
424
427
447
368
481
392
426
394
341
370
466
450
413
411
340
447
496
372
477
360
466
367
452
376
454
459
468
429
449
360
303
410
461
493
466
378
352
347
427
464
378
420
468
432
497
315
447
336
431
395
319
431
368
401
333
406
482
448
319
366
330
465
445
482
492
396
490
334
423
304
485
463
366
496
426
340
341
366
379
426
445
344
449
307
345
436
478
374
423
331
484
389
479
408
315
301
440
393
439
335
498
478
380
325
371
491
320
497
478
461
313
424
491
426
334
380
373
440
345
402
356
321
338
308
305
449
316
416
456
310
421
427
332
330
430
409
318
370
335
450
301
426
486
425
353
376
392
441
343
308
369
352
388
496
457
445
483
457
370
411
415
357
381
385
383
441
325
468
346
319
316
421
380
453
351
469
484
360
378
399
420
407
424
410
468
329
305
492
474
398
302
300
475
352
310
371
414
497
369
393
424
469
477
366
371
487
365
468
324
430
455
425
333
480
345
439
431
357
483
347
346
432
487
311
341
487
402
377
447
463
301
308
347
348
421
500
442
439
486
451
391
390
304
410
319
381
358
462
332
340
359
322
359
338
445
379
359
339
411
445
431
432
463
327
390
474
362
334
352
488
495
476
451
489
428
392
493
455
349
364
343
362
310
429
403
408
371
440
497
494
360
370
494
445
359
415
483
359
463
478
454
356
401
347
450
494
332
355
470
443
305
363
352
481
487
380
386
357
498
484
308
398
358
488
315
443
456
368
406
313
314
347
376
330
460
365
338
463
408
450
463
500
396
459
369
359
392
489
424
306
336
500
397
326
349
441
489
494
325
344
404
465
494
443
500
450
465
427
353
392
393
470
340
425
367
495
490
454
445
463
406
394
320
438
348
446
437
323
342
398
325
364
360
310
309
389
315
497
366
302
388
352
325
463
351
307
386
356
310
379
395
450
433
340
314
412
417
413
387
466
459
464
432
357
402
412
319
429
354
351
461
319
371
317
439
453
312
437
338
425
403
477
366
490
432
454
327
468
337
444
401
340
306
325
344
331
311
395
490
497
470
343
403
371
392
468
336
332
466
425
434
417
492
471
473
412
375
486
343
492
380
310
424
410
458
413
357
440
416
455
483
485
339
327
391
482
474
496
367
421
440
447
361
488
390
320
500
379
495
327
403
485
438
302
466
394
428
327
350
323
432
425
479
487
307
500
424
449
345
426
425
351
345
491
301
358
389
458
353
389
346
357
411
378
408
325
462
381
499
467
333
389
449
382
322
399
306
485
335
388
320
344
452
360
312
427
495
317
404
427
336
323
357
427
431
469
397
305
300
310
309
399
330
326
455
479
416
336
368
426
342
355
364
344
467
364
316
387
354
345
375
453
436
442
493
300
317
333
381
441
434
494
490
500
355
406
405
359
480
450
464
334
477
479
468
324
392
341
344
361
348
301
424
372
436
338
390
482
331
475
485
449
301
360
455
370
423
463
439
449
354
381
482
394
383
456
370
408
410
493
350
405
319
451
470
482
451
431
318
495
341
445
362
363
449
445
390
481
314
463
482
485
379
400
381
429
340
320
329
363
420
408
309
417
425
342
440
404
420
369
410
399
313
395
354
483
355
393
306
498
422
406
446
409
463
481
496
472
304
425
389
445
467
421
392
370
464
427
406
426
335
328
455
315
478
354
437
415
448
360
327
473
392
366
425
411
419
421
448
403
486
432
455
436
375
463
406
373
327
484
401
440
425
411
432
332
342
337
308
423
434
483
345
480
354
410
327
383
452
338
373
377
325
482
406
414
309
349
498
480
332
430
364
375
367
397
493
369
380
332
410
412
320
440
422
403
304
302
354
320
315
418
399
381
324
316
371
360
484
377
422
474
379
446
325
471
369
492
385
473
464
313
483
327
394
488
345
329
362
450
325
437
453
486
442
483
418
329
441
303
394
349
331
409
398
472
458
391
465
326
331
426
471
433
317
488
390
481
382
493
482
325
491
422
374
475
400
496
494
417
337
401
309
459
316
327
307
479
324
386
335
313
441
438
444
392
484
480
333
371
447
311
350
376
439
371
413
331
416
499
416
462
429
450
433
398
482
371
324
469
493
436
497
439
383
331
412
494
454
436
404
397
304
345
433
371
301
352
464
356
494
368
490
470
301
395
413
333
413
433
382
376
339
354
359
317
345
487
373
313
300
432
375
337
394
486
398
379
396
441
456
326
372
408
329
481
317
359
388
406
385
496
343
369
329
462
303
344
344
364
490
462
304
462
389
316
340
309
348
481
462
500
404
374
315
352
419
487
437
427
472
488
359
360
329
498
333
373
334
345
328
490
483
313
319
474
496
425
480
376
329
317
445
475
499
329
448
463
476
326
377
346
322
322
417
316
390
331
314
310
338
476
482
419
306
425
401
401
324
480
325
437
346
380
418
431
317
421
314
494
459
384
430
480
312
322
342
497
345
357
358
323
332
428
466
363
464
469
304
497
431
366
303
436
402
414
353
361
385
347
336
454
475
367
471
436
367
496
385
325
357
313
423
435
360
423
473
447
444
359
378
351
318
408
420
420
495
334
427
434
395
405
489
494
483
386
478
387
414
377
472
353
333
477
325
446
328
427
405
417
416
443
492
485
385
314
499
492
397
302
477
403
384
383
467
479
401
411
487
376
348
448
499
334
456
490
309
369
346
486
370
304
484
433
349
357
453
477
410
378
485
404
395
373
471
412
387
443
448
485
359
355
410
454
324
488
393
396
340
418
497
394
405
413
346
354
344
309
409
420
462
334
491
448
325
422
393
393
322
333
402
315
439
415
477
362
391
354
390
460
480
423
317
435
313
376
435
484
396
471
342
312
378
416
425
315
488
413
410
316
417
469
389
314
362
396
464
417
500
385
382
447
300
406
362
441
336
338
383
302
425
492
485
331
402
385
464
374
361
489
459
466
341
361
431
323
371
437
451
434
308
330
499
437
314
483
320
442
323
348
338
396
315
461
348
438
326
389
496
348
450
491
464
413
371
436
436
486
420
467
403
444
389
302
483
447
355
320
419
420
500
337
454
358
316
374
374
354
402
317
347
403
447
306
362
350
416
315
439
303
332
366
425
378
458
496
453
339
314
426
330
464
336
399
318
449
481
500
314
395
321
485
362
432
437
361
330
460
412
315
335
339
415
434
364
447
358
479
482
343
382
388
461
422
350
309
323
412
328
403
487
369
437
343
313
413
303
312
465
463
315
485
426
456
408
376
487
411
473
389
419
500
402
400
355
452
370
403
358
478
369
300
357
316
446
314
358
459
462
307
331
478
369
371
387
452
447
389
405
453
338
456
421
480
468
336
321
329
435
423
350
344
440
433
347
372
362
359
490
398
498
489
460
489
411
380
364
328
416
471
392
381
487
375
488
478
491
311
368
403
392
448
430
439
346
370
472
469
463
314
423
448
346
454
403
324
354
451
393
412
457
430
424
344
487
308
499
320
359
489
378
342
397
329
396
500
478
430
341
364
359
413
478
454
468
433
348
361
470
384
428
350
368
367
375
372
370
488
357
452
314
426
484
398
351
360
394
498
318
327
404
405
348
371
304
489
351
499
344
470
330
388
368
310
468
457
393
371
453
342
490
389
422
421
323
405
391
404
307
474
490
447
355
316
343
319
342
312
485
353
371
496
362
467
431
318
339
350
462
414
485
329
490
353
464
338
362
334
475
449
355
319
338
484
378
481
378
492
331
335
397
405
385
486
454
330
467
333
440
480
459
314
359
398
431
418
466
489
439
304
407
388
302
369
495
412
450
337
490
455
355
500
359
460
302
336
476
406
387
361
351
485
395
408
441
439
369
331
499
395
421
328
425
456
434
384
439
330
441
478
332
454
436
413
367
308
459
453
464
461
369
474
433
387
398
317
500
377
462
412
374
303
442
427
311
453
426
358
483
372
324
408
313
398
458
449
473
480
357
370
448
378
378
498
421
441
327
364
325
461
328
316
356
386
401
328
372
424
449
403
411
447
370
452
363
305
497
497
310
435
442
431
355
398
376
310
333
479
440
481
491
372
432
324
462
384
387
377
397
470
307
461
385
452
461
329
422
496
330
432
412
482
412
394
407
408
381
421
366
484
325
351
491
495
340
404
337
398
413
341
425
421
465
451
459
311
490
377
471
485
445
390
465
379
307
432
492
300
325
392
397
409
302
467
493
358
322
492
324
464
384
464
450
392
400
332
457
331
424
381
370
434
431
349
320
311
388
358
376
380
362
497
381
372
432
455
452
487
465
500
443
428
475
422
479
337
403
313
461
438
404
417
345
399
478
376
435
401
487
312
448
487
415
331
402
447
337
420
392
309
375
439
420
410
429
488
377
304
357
468
468
430
316
444
334
477
443
330
365
443
499
357
444
314
434
355
467
476
496
460
403
399
362
475
331
411
330
326
321
382
303
499
493
412
440
301
471
465
488
477
392
378
499
384
308
361
388
375
358
440
388
446
447
411
340
439
348
311
343
459
439
335
344
365
307
499
415
429
496
309
379
306
409
488
450
495
341
405
370
422
427
445
312
430
339
439
372
434
485
310
469
318
303
403
371
401
465
445
401
365
339
468
404
473
478
376
382
425
374
367
483
320
492
303
414
456
387
446
330
338
404
318
430
408
361
472
348
351
357
339
346
382
338
407
411
332
301
422
367
304
485
416
337
340
431
403
327
310
446
491
347
402
485
371
362
354
324
363
460
391
321
441
391
301
329
424
300
342
424
325
358
308
340
487
493
355
382
460
376
322
339
390
339
498
383
309
492
373
390
350
308
322
316
369
395
487
462
399
301
331
329
319
479
489
332
451
390
418
331
450
349
444
449
474
308
311
309
331
363
366
374
482
338
455
304
430
441
426
301
365
302
306
486
420
382
300
332
409
443
305
363
447
377
346
459
371
328
489
356
304
458
394
425
448
353
499
500
411
462
487
448
415
301
448
428
303
352
412
500
471
421
378
448
318
431
388
478
401
354
315
384
452
364
467
395
388
408
358
476
402
402
307
444
427
374
486
437
468
327
458
302
415
328
398
340
489
377
391
416
435
365
461
357
302
480
470
404
448
302
484
439
338
340
322
498
374
310
413
361
461
465
367
391
386
335
429
417
456
357
406
489
312
437
301
397
459
324
358
500
435
438
315
456
468
306
358
495
354
307
480
429
461
325
348
341
470
456
483
369
427
415
372
465
384
335
361
326
380
432
377
309
409
435
395
303
337
304
325
479
301
448
324
357
410
461
492
392
355
473
448
346
410
401
418
406
457
353
377
382
441
401
413
403
431
460
370
471
418
381
432
366
370
422
344
404
456
309
379
354
378
462
371
343
465
486
315
449
417
359
481
375
345
380
406
430
397
412
354
432
379
355
378
335
350
340
336
359
343
394
461
472
498
461
316
340
428
486
412
318
350
393
462
410
368
352
460
473
376
325
342
369
310
382
342
491
304
489
394
334
367
486
339
344
455
386
482
446
376
398
375
343
443
424
446
457
409
363
352
385
485
471
434
422
352
338
435
459
489
320
313
492
475
417
479
404
469
359
332
381
325
413
466
446
485
351
446
437
416
445
490
483
419
431
391
338
407
437
344
415
337
350
410
415
372
458
404
311
305
356
303
319
320
373
364
342
395
427
386
451
322
382
323
320
413
474
379
341
467
464
458
425
444
379
346
333
398
443
443
345
345
335
421
425
305
307
387
361
457
407
355
377
308
326
460
484
319
397
327
452
376
499
469
479
500
470
362
470
430
364
451
416
418
487
423
439
382
474
500
470
318
486
362
464
472
455
314
354
308
423
378
438
355
348
308
489
321
500
379
407
317
361
369
376
381
394
421
313
303
416
465
479
408
408
491
433
471
366
380
340
332
466
304
459
311
469
475
379
397
428
445
321
408
330
438
400
323
340
404
302
408
434
303
345
363
407
448
488
333
436
384
493
320
441
358
381
406
408
314
493
419
431
456
481
431
326
373
409
462
363
325
342
432
422
376
306
324
325
412
379
389
449
397
423
489
410
407
453
313
325
371
375
483
396
324
474
433
334
400
373
309
455
492
337
418
409
429
316
443
463
432
422
351
493
352
460
318
457
381
344
490
331
484
444
321
495
417
383
428
444
367
352
488
361
483
496
398
378
366
356
402
410
456
424
493
385
396
416
307
302
466
493
425
316
340
329
407
359
446
357
438
330
448
465
458
479
371
411
425
433
484
304
406
495
485
463
364
350
409
332
398
358
311
418
310
342
493
494
493
388
320
374
303
339
327
394
405
402
422
343
327
342
380
473
374
428
345
424
395
490
463
441
359
403
476
342
390
368
325
331
314
359
308
489
385
439
488
330
432
415
495
410
465
439
477
408
314
310
432
345
356
395
383
396
308
310
393
377
368
496
482
388
439
312
315
338
332
368
312
341
309
435
375
452
353
334
418
464
446
387
427
362
441
462
412
386
389
500
377
468
466
451
341
373
367
300
352
483
446
400
300
329
388
393
462
330
394
498
477
425
396
361
388
360
313
439
372
406
431
428
439
306
425
326
465
426
433
454
390
387
355
406
499
376
358
382
375
348
318
348
395
361
353
350
413
389
425
385
325
406
366
469
354
449
457
313
331
339
319
413
450
446
342
334
333
309
439
482
326
383
392
409
326
382
396
368
416
372
346
404
392
465
331
469
332
400
499
405
398
380
451
381
370
465
428
388
428
422
445
347
459
363
484
431
463
323
471
437
491
480
319
442
406
326
429
449
341
457
404
374
400
312
314
384
470
360
354
370
405
353
391
384
401
402
437
416
322
328
300
472
380
355
472
310
383
313
365
484
440
314
302
424
469
383
415
409
334
432
384
422
474
476
485
331
335
420
311
475
353
317
441
356
335
498
410
430
434
364
355
420
449
387
437
326
302
440
439
498
499
348
488
435
469
445
386
331
333
478
431
323
465
344
368
434
428
445
462
435
427
432
351
332
393
437
463
423
490
375
414
317
499
352
306
303
406
450
319
362
313
348
397
468
472
302
463
392
451
374
405
405
300
314
439
353
386
464
441
461
346
457
484
337
326
489
451
452
398
337
403
399
346
397
452
432
408
459
477
309
477
394
348
370
382
452
406
307
423
416
485
398
455
314
367
487
350
392
369
452
383
476
476
441
451
352
373
413
362
485
495
353
455
302
392
474
494
392
431
414
368
346
340
342
458
432
434
306
390
350
405
460
321
395
335
374
481
341
404
337
379
429
380
329
362
447
497
366
479
336
392
483
313
353
392
307
416
343
368
347
406
383
430
404
448
321
340
392
400
499
372
399
483
374
367
389
343
339
374
359
300
342
494
391
469
457
434
406
360
371
402
302
440
488
362
334
485
485
464
452
408
456
341
388
313
490
430
392
456
477
442
461
324
467
322
454
470
413
323
302
414
483
428
387
376
402
450
372
334
472
352
489
486
304
302
351
442
466
307
365
454
472
352
469
418
410
362
471
489
317
453
363
310
431
387
460
404
394
358
429
460
396
456
322
358
477
499
305
492
353
454
475
332
330
429
492
376
347
390
412
340
389
493
460
426
369
337
327
495
356
410
315
450
472
397
472
326
408
487
374
445
323
335
497
400
398
331
484
482
372
380
339
446
449
322
469
408
497
392
355
331
378
482
478
379
306
319
496
404
369
487
372
400
436
409
345
468
493
426
308
472
467
445
467
406
430
362
382
324
322
493
404
309
334
403
320
350
483
373
457
483
429
312
423
413
381
405
353
416
317
385
408
354
486
431
442
314
481
499
404
455
374
301
322
332
390
466
406
377
322
373
413
355
381
346
474
397
329
382
355
380
455
343
358
375
475
397
436
437
342
475
465
349
412
329
316
484
473
482
346
347
444
312
426
309
309
343
383
451
455
430
474
362
336
433
377
379
494
451
396
437
330
404
319
385
444
477
329
341
318
396
461
441
480
377
393
480
359
424
413
446
407
413
422
301
302
369
370
433
425
321
349
455
387
458
415
439
396
319
339
467
478
417
486
412
358
475
304
375
306
451
403
390
470
400
437
443
433
377
330
336
395
436
333
343
435
482
489
456
479
405
373
491
500
378
396
432
447
374
425
367
325
448
378
305
419
431
394
345
364
361
368
394
373
432
315
456
454
476
492
332
315
337
393
318
318
480
431
301
334
443
440
442
454
496
304
483
349
477
453
442
487
312
300
478
331
325
443
335
304
463
382
450
315
476
333
440
433
314
477
464
356
352
484
372
365
474
378
490
418
391
420
399
370
463
378
497
392
315
341
308
387
310
305
473
454
477
378
301
324
469
408
344
439
335
489
304
480
482
346
468
358
342
311
415
371
331
459
411
479
392
377
432
433
348
343
490
452
350
332
481
419
404
490
492
439
306
302
310
486
347
388
381
390
442
424
425
475
466
419
306
451
430
329
397
435
340
384
481
412
444
426
436
400
418
424
387
364
332
381
453
346
372
451
344
474
413
398
444
357
311
325
352
305
391
375
478
421
446
434
418
500
461
321
342
449
391
473
317
371
374
408
421
373
367
411
365
497
490
306
418
495
499
384
429
350
410
428
492
349
491
489
341
389
399
405
364
400
302
471
458
460
315
431
482
487
361
344
460
356
469
470
409
432
497
497
338
497
383
447
360
363
326
492
483
498
314
421
463
464
438
406
412
335
479
373
389
480
367
500
426
432
435
350
439
353
375
403
378
429
395
344
423
356
445
359
498
485
372
497
380
319
365
449
434
324
415
320
476
426
361
310
356
339
491
337
470
320
304
325
354
486
454
467
451
300
338
496
498
492
308
417
475
476
453
354
387
498
384
325
385
402
467
337
345
441
313
488
344
445
498
354
306
424
306
322
422
338
463
464
457
349
384
428
471
395
303
499
385
460
420
390
350
441
359
357
388
426
411
473
459
339
340
426
320
345
363
332
493
330
390
351
500
474
408
339
457
398
384
443
489
339
365
471
308
497
323
388
427
403
407
482
445
404
328
499
304
449
302
332
424
376
423
454
318
420
385
419
366
467
469
493
364
441
460
398
408
402
477
344
340
306
329
370
439
440
323
476
450
351
442
439
413
430
440
381
331
489
344
479
388
441
327
323
355
408
440
484
305
484
452
302
375
374
466
375
411
493
479
467
356
334
380
375
428
352
362
347
305
391
499
345
362
455
428
500
473
341
489
434
354
415
343
322
473
331
439
421
473
330
329
450
451
303
460
408
494
445
498
481
481
399
316
486
370
419
488
420
333
480
307
301
337
381
410
443
440
345
386
443
453
499
451
469
457
379
351
393
381
424
495
362
357
320
388
357
493
397
385
449
381
382
432
500
330
433
492
386
312
497
415
351
401
406
337
496
413
451
455
335
453
386
443
390
382
460
304
421
367
470
368
476
402
380
314
341
420
446
339
368
317
359
410
412
457
344
395
457
448
412
427
351
461
500
325
317
396
438
325
470
372
302
425
465
467
478
306
355
451
475
451
440
371
399
317
423
444
334
302
489
442
449
372
452
392
446
407
472
334
413
358
323
400
389
305
472
372
472
312
319
422
418
424
324
428
492
432
497
386
360
387
407
311
373
362
424
482
335
443
392
391
461
331
300
354
312
404
313
410
464
488
471
466
413
364
378
468
446
404
448
500
369
326
493
362
456
418
389
406
471
359
455
326
392
330
338
353
322
432
499
385
454
450
389
426
347
310
410
437
399
416
489
394
372
455
460
428
399
369
400
458
388
462
356
497
440
420
444
391
479
368
358
356
368
352
447
422
312
314
321
466
378
358
465
318
457
451
427
377
463
376
469
397
445
413
394
426
384
487
356
354
422
388
447
432
421
357
442
303
411
339
448
304
370
486
366
450
496
328
376
345
428
383
443
481
434
437
302
398
445
412
329
413
400
324
432
487
460
326
443
347
401
362
324
474
364
425
472
434
423
459
462
349
420
333
344
418
344
445
434
338
360
421
472
351
421
456
361
382
340
460
417
397
460
490
362
440
450
461
414
323
401
498
407
312
462
304
321
358
301
384
449
320
332
307
366
374
423
378
468
458
398
499
471
491
428
343
387
304
444
468
483
305
460
340
457
487
387
372
360
308
399
316
394
314
365
336
494
465
411
452
401
477
385
490
374
377
317
337
336
469
316
424
302
490
329
384
465
475
342
489
401
317
362
363
300
451
463
474
386
403
459
433
344
496
306
344
349
379
458
389
434
456
345
327
439
427
434
419
379
348
439
477
325
309
310
376
410
484
473
337
430
496
388
382
366
330
382
324
485
445
499
421
311
315
377
434
487
492
337
474
423
428
495
309
492
419
489
482
325
369
339
388
356
315
354
401
446
357
347
416
323
334
360
344
457
440
409
352
484
395
500
443
372
399
435
442
343
482
500
352
339
492
452
381
475
348
463
409
441
301
478
428
325
360
333
430
315
396
427
311
358
462
335
414
369
391
424
330
464
380
468
347
389
401
402
408
348
350
336
481
379
459
415
437
496
403
374
363
465
439
323
335
451
489
479
434
395
345
305
306
409
489
445
379
332
354
340
301
362
365
375
385
439
416
456
352
445
331
459
443
493
425
313
335
417
464
354
471
370
492
432
338
378
473
390
349
407
470
437
485
478
454
307
336
458
451
445
322
415
451
424
303
350
465
329
467
464
318
304
408
418
319
344
393
469
494
303
318
462
474
391
331
336
425
332
492
423
467
430
365
434
406
372
338
354
429
421
450
454
392
468
450
302
454
345
341
473
467
333
335
308
372
401
358
347
487
412
357
348
376
324
447
486
414
308
444
369
334
329
398
353
428
323
448
383
479
420
411
342
468
329
405
465
462
424
450
476
348
399
399
327
361
334
323
312
340
344
414
335
487
314
381
443
332
425
485
494
361
301
378
465
349
425
465
305
412
456
499
410
389
362
461
426
426
380
487
332
469
390
358
428
356
313
319
478
466
311
495
481
375
340
318
450
407
365
349
403
488
340
435
486
478
305
330
448
341
445
371
432
365
401
468
315
463
445
377
451
391
300
376
327
326
455
387
318
300
309
417
385
496
311
471
338
311
477
421
395
465
414
367
434
416
314
355
340
432
399
496
315
467
457
450
331
426
395
358
466
373
488
456
478
322
302
382
455
304
320
495
344
363
443
394
333
432
355
344
357
370
319
349
455
432
403
405
414
318
437
497
418
384
425
362
461
492
441
408
413
349
329
304
473
312
461
327
462
315
319
378
390
363
378
470
462
346
346
492
488
304
491
341
371
432
421
396
463
362
373
382
368
421
429
479
302
438
307
440
321
300
421
437
347
486
383
328
474
323
350
302
362
365
384
466
412
446
450
451
377
452
301
495
470
405
467
321
386
345
306
444
390
499
379
467
459
435
433
481
347
306
475
300
342
342
315
403
430
415
413
460
448
500
320
466
386
328
432
354
414
387
415
349
455
362
467
466
311
331
310
488
463
405
456
385
478
457
380
347
361
383
460
309
342
447
364
469
355
349
330
432
323
409
367
469
360
328
343
337
469
444
359
333
304
457
358
401
452
492
310
369
317
340
319
499
342
417
386
457
337
410
346
392
461
456
394
396
440
454
351
300
482
470
464
476
372
362
370
345
366
314
404
409
405
369
443
348
413
410
467
483
455
399
399
377
460
486
330
327
411
438
351
467
333
353
353
392
318
442
313
410
474
352
448
383
420
395
456
351
449
339
406
337
424
416
335
348
420
399
354
351
347
449
312
464
482
455
312
360
416
363
449
319
500
425
445
468
340
442
380
488
494
447
373
322
476
310
484
463
490
383
312
487
374
318
449
445
376
404
466
431
314
492
351
308
364
361
329
447
341
432
458
366
490
450
359
484
381
360
480
351
374
416
473
494
484
305
464
330
426
357
415
337
453
411
472
450
344
436
382
386
459
457
444
441
347
311
490
497
444
432
400
407
370
485
474
373
326
474
327
439
452
439
460
449
381
322
479
412
337
389
494
474
324
427
405
396
401
464
369
402
413
479
380
313
493
461
340
496
426
479
369
452
376
489
311
302
380
354
429
323
358
311
319
384
399
452
494
413
324
383
305
488
464
470
435
404
328
454
400
315
310
488
362
317
447
440
442
392
440
460
468
464
492
412
388
306
333
448
461
351
493
476
364
336
483
456
310
343
367
354
422
366
426
493
462
387
463
301
430
479
341
416
418
366
336
304
443
305
364
374
406
311
448
418
339
306
441
468
341
348
332
314
345
392
363
410
382
441
372
479
391
301
337
368
383
340
493
380
500
490
351
394
319
417
412
355
416
335
410
405
491
329
465
316
485
307
317
379
490
448
372
389
305
470
347
325
304
456
439
387
379
410
345
319
498
468
310
306
396
322
368
398
338
421
424
330
383
395
408
391
480
309
487
375
320
456
493
346
474
408
422
461
403
318
340
434
367
479
379
318
319
332
398
368
365
434
339
408
430
332
340
372
415
452
390
407
364
461
304
377
346
484
463
498
375
313
365
334
320
373
343
343
390
392
475
311
373
490
366
409
329
456
363
492
303
431
419
379
379
338
313
484
376
408
490
438
417
485
406
369
461
470
327
350
405
488
401
325
353
494
410
381
493
499
431
376
382
349
415
405
313
342
313
436
329
448
437
344
439
451
424
381
467
476
385
466
432
315
479
360
397
470
395
356
369
327
356
300
399
440
313
450
385
469
417
480
434
343
408
427
424
446
440
353
409
368
460
348
348
340
475
417
348
444
350
453
405
396
366
383
343
498
372
315
301
493
423
467
361
396
474
429
489
397
374
362
490
390
421
344
322
393
471
420
354
346
344
454
498
494
305
310
322
391
429
410
408
434
476
373
325
332
322
400
356
403
306
475
478
371
320
325
403
482
473
479
397
397
338
329
317
363
481
463
448
463
409
316
384
423
348
321
386
481
442
380
417
452
336
362
330
374
434
449
413
448
439
483
385
468
380
493
379
422
314
418
306
462
357
307
424
446
409
442
405
471
364
326
388
391
308
353
448
316
473
471
489
378
369
487
423
332
372
349
385
345
335
461
498
471
481
446
309
435
458
339
358
437
339
394
470
487
447
452
466
459
468
463
330
363
372
466
486
385
488
322
461
448
325
471
400
459
499
389
423
300
354
453
306
461
313
469
347
484
353
449
441
478
342
485
497
418
434
372
326
404
496
337
469
435
406
460
459
380
416
381
406
493
462
461
420
309
391
445
437
354
408
447
460
499
447
422
308
384
468
417
388
475
490
362
407
454
386
442
407
500
404
388
440
361
336
436
461
354
414
405
433
303
340
379
354
468
428
364
451
364
322
438
343
312
485
472
493
408
335
354
344
314
389
335
445
451
425
399
462
353
400
304
397
458
351
490
484
483
419
359
435
322
356
454
446
453
357
470
484
475
434
305
305
399
476
425
438
490
361
364
326
500
467
347
498
459
404
408
317
457
464
406
395
473
434
399
458
328
454
367
422
336
440
383
446
403
300
463
458
458
479
385
470
390
313
373
340
492
416
438
498
353
304
365
414
385
484
499
485
318
399
384
475
409
384
431
458
468
386
466
360
406
462
448
327
460
477
434
448
376
321
336
344
396
356
422
424
321
424
425
340
340
467
408
446
350
336
335
447
494
426
426
366
355
462
311
358
380
407
377
389
381
387
413
442
497
354
408
435
355
359
385
319
301
402
467
488
495
440
438
403
482
305
453
392
446
463
441
362
488
311
430
498
357
388
413
415
467
323
320
343
302
385
402
343
457
311
461
376
326
429
404
478
319
373
478
426
406
406
398
500
458
372
426
341
497
500
321
443
388
379
316
310
347
419
370
426
471
443
316
492
442
356
466
499
500
336
336
337
390
459
412
417
369
425
442
439
397
497
405
409
326
352
491
483
328
438
305
454
479
493
489
362
378
406
417
399
429
459
304
436
370
399
468
476
321
422
429
469
323
455
374
384
350
487
431
421
464
444
469
484
465
354
391
358
342
421
348
432
360
377
426
458
354
498
321
344
374
345
493
429
457
433
330
406
383
319
461
325
445
332
486
316
377
484
427
309
410
355
317
343
484
436
433
355
306
454
484
435
351
310
331
336
498
391
383
483
429
329
407
474
367
446
489
323
321
312
443
414
371
300
313
489
325
427
407
417
339
436
323
308
368
421
361
331
358
439
455
397
417
470
307
498
418
419
460
363
486
333
382
371
492
334
416
359
313
347
394
484
323
333
450
420
321
459
307
320
301
379
307
436
426
417
340
479
419
318
388
441
385
375
417
460
372
441
485
341
398
471
456
500
346
399
464
385
346
432
331
325
333
328
450
363
376
309
491
325
419
473
330
311
406
452
329
490
333
358
453
338
438
429
462
409
457
306
324
495
341
450
470
410
425
476
472
426
349
343
400
428
430
342
390
376
310
499
363
399
437
490
397
438
396
315
386
334
403
457
405
484
316
364
310
479
396
324
360
454
480
466
440
343
333
386
450
421
481
392
333
367
485
350
366
381
346
488
439
309
349
494
496
454
346
432
336
396
383
379
340
486
421
372
375
499
315
361
363
399
342
499
405
483
409
373
330
471
492
347
394
382
450
464
406
467
305
394
300
326
413
453
394
494
435
401
355
383
427
475
308
308
466
356
326
380
387
301
437
446
343
428
367
427
393
494
466
422
458
434
416
446
408
369
460
384
451
336
383
307
474
466
307
309
349
440
331
314
498
490
350
338
312
343
423
333
449
458
367
355
424
389
389
371
301
450
462
394
362
348
326
404
376
441
435
336
481
406
400
471
446
495
382
345
307
455
395
345
494
412
409
334
357
499
352
322
438
335
309
365
373
453
392
335
468
439
365
455
325
477
439
463
397
317
314
386
452
400
484
376
440
323
486
470
393
362
351
338
376
488
488
371
394
452
357
404
307
302
449
355
408
342
360
347
309
494
466
317
355
432
357
334
435
307
377
317
313
372
329
380
381
437
313
408
340
395
305
362
479
370
480
453
351
314
445
497
432
480
439
498
400
427
495
467
371
369
427
354
432
356
311
496
469
452
481
493
370
372
463
431
357
436
390
410
367
492
495
337
362
338
325
347
382
351
371
309
414
347
479
391
336
307
393
411
337
412
373
337
436
430
456
413
314
325
431
480
465
427
465
428
302
475
430
308
427
396
434
469
439
313
351
306
466
417
422
440
455
342
467
468
463
460
460
364
335
381
347
309
392
358
448
420
385
461
458
360
499
368
387
498
438
477
316
425
482
436
487
314
381
310
300
315
349
371
466
417
431
330
320
373
405
389
487
460
397
472
473
473
437
307
447
405
437
387
316
362
434
401
300
338
395
480
486
315
448
431
444
302
455
402
361
412
423
337
471
308
419
305
366
324
341
349
465
318
380
402
438
413
420
491
490
366
309
479
326
374
457
387
472
382
420
423
378
448
404
425
331
464
467
464
343
301
480
421
323
469
423
446
376
457
324
383
429
391
388
425
346
386
451
313
362
472
425
421
332
416
413
343
417
348
450
467
475
465
343
431
396
482
449
485
398
410
324
455
329
318
351
363
309
478
471
380
303
378
311
458
378
364
454
361
406
300
318
384
419
453
378
492
332
448
391
444
353
489
458
429
473
448
487
364
453
450
450
454
402
332
356
460
340
419
448
348
365
328
300
440
349
393
414
389
353
491
375
395
332
427
465
412
351
441
390
327
417
391
352
420
484
432
327
333
467
323
428
452
481
369
307
491
363
500
315
377
376
365
468
426
371
399
442
482
301
392
474
405
482
496
393
383
499
370
328
387
382
389
324
332
496
357
489
431
386
392
485
428
496
361
402
337
401
345
316
413
447
492
395
426
310
454
328
395
487
341
411
475
354
469
319
407
319
357
405
307
416
341
336
451
349
427
305
476
398
412
387
459
481
489
304
487
383
391
373
453
445
425
468
345
318
395
444
398
484
346
444
329
458
378
367
371
485
455
349
329
432
486
382
309
355
344
422
346
453
431
333
477
357
443
357
329
315
492
390
339
483
312
469
376
450
395
358
479
463
336
304
427
352
492
385
316
473
339
313
395
335
411
326
470
373
301
341
318
333
350
318
395
454
359
390
399
379
455
368
427
314
374
326
342
337
445
324
492
417
371
319
461
470
466
304
491
400
350
418
331
412
369
381
323
488
318
336
328
438
387
453
313
331
419
383
344
424
457
393
368
349
453
322
352
366
471
378
364
394
483
362
381
457
474
439
414
343
475
340
322
376
348
480
405
460
313
471
414
493
345
464
494
342
301
456
389
475
498
439
357
319
449
359
320
364
391
390
364
479
392
322
316
434
316
377
495
327
458
320
406
302
308
343
425
369
432
374
360
388
328
418
346
349
409
454
498
399
305
352
482
439
459
349
416
376
347
315
352
379
383
391
317
317
494
332
414
447
384
398
429
465
391
470
491
436
355
383
430
346
319
452
378
314
382
429
350
361
471
328
313
337
348
307
308
377
427
405
391
367
415
473
359
342
445
471
348
427
368
431
442
450
493
411
330
459
500
485
402
304
449
322
401
330
492
476
337
479
302
454
440
345
362
409
343
415
334
401
358
300
442
416
479
388
446
497
443
468
341
423
359
325
366
310
344
439
458
459
428
487
370
460
474
301
334
332
347
456
307
493
458
390
449
446
474
383
432
372
371
317
410
311
445
447
484
500
477
459
382
363
470
406
330
418
394
459
364
361
463
449
440
405
461
333
418
359
340
342
474
353
349
431
457
374
458
475
436
300
331
339
450
443
344
393
392
343
360
424
439
500
317
316
371
323
432
464
357
437
329
437
326
369
432
484
485
430
302
424
433
480
419
332
451
322
328
366
424
482
336
335
455
306
402
311
413
331
466
369
431
445
305
463
401
479
378
446
339
404
475
332
449
346
445
471
376
320
383
463
425
449
450
450
328
377
350
451
303
355
411
344
344
399
480
391
308
391
413
314
377
435
386
424
327
325
368
303
454
454
312
447
484
377
481
382
400
358
334
362
487
331
357
315
423
313
425
394
374
342
326
383
379
449
496
344
321
413
394
460
472
443
363
459
416
340
355
300
493
365
422
425
347
457
304
307
399
364
390
369
318
426
346
498
484
436
383
358
444
331
310
475
447
491
338
364
483
483
377
461
346
390
485
425
461
444
301
426
353
396
301
328
352
378
456
396
466
485
321
424
408
448
406
393
423
469
460
450
486
380
461
303
476
465
480
449
499
471
376
340
499
390
355
396
300
466
477
451
492
484
448
415
374
352
487
431
325
474
486
319
453
356
301
393
403
499
479
350
408
337
419
330
433
368
405
317
380
491
300
426
465
365
483
329
343
303
467
364
388
341
383
428
342
371
497
306
396
494
370
499
489
462
412
330
375
369
387
421
412
427
343
395
444
321
345
491
451
425
465
483
434
483
353
478
436
379
460
432
300
469
458
399
496
480
371
488
373
457
440
302
431
386
437
328
361
369
371
339
405
478
373
364
437
376
362
341
461
353
476
403
424
415
387
400
438
389
376
319
497
495
367
302
440
475
392
381
307
483
418
319
386
423
427
419
432
432
377
405
340
321
458
397
303
464
309
374
461
452
464
489
345
464
334
359
454
457
414
408
417
469
484
497
330
468
450
500
352
413
350
437
426
377
491
473
436
327
332
325
415
380
354
417
304
337
418
306
487
475
428
329
467
468
356
377
378
355
459
432
376
478
366
419
364
404
327
465
336
317
303
328
460
438
405
430
451
353
335
395
488
427
353
416
383
398
326
311
456
478
426
415
390
430
434
468
385
423
374
428
414
468
432
497
361
324
336
481
368
341
427
312
462
341
449
437
362
369
485
491
372
491
315
340
317
340
342
352
434
341
422
428
372
348
445
325
318
472
334
351
457
449
369
470
490
418
452
363
336
445
482
481
305
448
426
331
409
321
359
412
316
345
324
435
322
429
475
314
481
327
481
301
402
427
439
341
440
359
334
443
414
369
415
359
493
388
493
391
302
332
349
375
448
430
418
317
334
380
340
369
453
498
357
427
493
349
313
473
422
473
456
337
466
449
440
370
360
343
321
342
400
433
474
358
306
425
339
484
437
383
404
483
486
378
377
314
341
459
362
436
483
463
492
311
333
444
404
397
425
343
357
407
398
311
423
489
341
361
433
480
413
473
473
341
300
342
495
375
462
443
383
411
401
441
391
347
329
415
495
453
469
351
449
332
398
369
372
344
443
432
313
429
394
329
428
412
460
373
333
356
387
325
432
359
318
379
475
366
316
433
428
428
330
491
347
461
418
381
421
469
355
393
356
478
393
372
395
405
463
348
398
384
310
452
481
370
366
329
408
363
324
389
441
366
338
450
338
445
434
403
311
464
416
405
452
442
345
391
492
422
486
366
361
447
405
381
339
406
438
385
460
452
444
473
321
446
399
330
428
455
318
364
370
386
323
429
439
396
386
322
425
319
459
478
321
393
366
427
448
371
451
414
392
381
464
495
349
331
478
378
449
425
366
353
388
391
490
442
343
474
329
484
457
365
327
313
493
480
393
352
424
423
402
374
483
348
434
384
424
441
385
354
418
461
457
437
320
325
371
470
301
409
390
382
370
312
348
465
361
386
432
360
346
408
472
461
431
395
368
480
497
479
308
481
325
415
366
325
423
309
480
346
442
431
457
494
354
309
482
448
437
323
311
350
430
496
360
484
491
347
374
337
343
435
396
492
369
432
408
321
314
477
425
471
345
314
351
412
345
479
407
343
304
308
496
406
491
331
482
469
347
434
325
337
451
397
434
452
416
318
471
412
466
403
389
352
318
366
301
418
332
385
390
452
474
388
321
305
314
442
436
496
408
300
305
464
379
331
439
421
367
368
345
396
473
486
333
409
491
430
490
372
468
422
324
381
390
380
405
469
444
406
335
362
397
407
302
473
489
381
376
454
496
475
390
356
455
316
424
342
475
324
364
369
491
388
467
351
486
303
489
360
384
327
367
384
310
317
419
440
357
325
447
434
438
345
489
364
484
413
407
321
409
348
389
478
459
427
306
377
337
435
449
451
378
376
307
460
324
418
380
344
351
357
416
491
307
397
390
381
494
325
498
443
307
415
439
386
451
309
427
421
473
456
401
469
335
382
416
489
414
436
317
482
333
478
495
467
469
411
356
489
414
317
462
399
436
460
398
428
458
382
394
372
430
415
459
465
448
344
338
442
330
383
442
414
383
306
411
497
369
368
323
424
441
465
419
324
353
379
346
470
461
459
394
399
415
394
495
368
401
391
439
442
328
300
492
500
300
403
397
401
346
390
486
334
376
434
483
497
382
482
446
482
398
422
396
471
316
431
461
405
424
362
485
492
410
474
329
459
420
311
358
489
385
358
484
391
308
475
479
418
433
334
330
467
302
470
360
314
460
497
397
308
429
486
468
364
420
455
354
469
364
314
357
367
500
352
315
327
310
384
445
352
317
407
371
464
398
327
329
428
324
333
358
335
395
482
327
444
396
407
363
397
498
309
384
475
323
397
315
425
426
355
307
491
412
323
366
426
307
349
308
384
306
444
429
340
397
357
455
469
386
395
337
308
481
341
485
361
412
394
482
480
379
330
348
322
359
357
304
466
313
489
327
494
484
444
356
337
369
427
353
443
362
462
368
473
367
312
386
438
311
308
442
323
366
440
440
487
324
479
483
466
496
304
401
459
374
463
469
377
366
328
380
430
348
388
307
429
353
497
471
383
491
331
417
464
374
457
369
328
432
305
476
323
304
337
407
328
312
458
465
317
407
366
443
324
349
449
468
361
375
483
447
467
384
464
404
485
433
374
493
431
460
398
341
399
370
323
478
499
409
428
486
454
426
339
374
310
499
448
336
383
347
317
378
325
451
307
427
466
489
305
316
311
475
310
429
399
456
330
449
320
472
396
459
338
397
357
318
393
345
348
491
425
460
331
500
360
500
392
455
457
463
359
310
440
460
486
485
423
425
322
421
444
372
328
426
365
416
390
343
311
419
382
386
338
411
413
447
484
466
305
319
486
341
427
456
360
434
457
345
480
473
405
490
323
321
432
343
397
460
500
359
381
431
306
436
496
401
468
368
340
471
456
477
302
437
459
316
352
378
447
342
477
465
400
476
461
483
441
417
451
402
358
371
421
303
392
463
410
463
475
455
325
322
388
448
416
482
443
447
338
393
366
384
333
434
343
481
355
301
423
349
478
454
300
329
452
386
448
302
305
496
473
456
428
301
387
358
474
457
322
379
421
308
311
355
455
392
365
341
445
321
478
386
303
467
414
322
435
448
442
421
400
342
302
400
472
494
484
417
470
487
423
489
484
485
417
488
487
348
448
306
456
415
307
419
462
301
303
363
429
461
497
384
341
477
323
363
431
344
339
377
304
481
361
343
409
414
301
454
332
497
363
468
338
451
381
385
336
417
458
314
489
403
437
394
306
320
488
337
493
324
395
352
424
487
420
383
466
457
423
437
301
394
432
360
312
327
465
425
451
472
430
367
482
358
362
475
455
320
439
300
446
411
344
453
459
432
346
322
361
332
374
408
312
473
324
366
455
445
397
485
462
395
421
448
448
386
416
426
393
321
366
332
464
477
368
384
384
394
321
452
459
498
334
440
482
346
322
391
441
384
336
385
353
477
433
486
324
332
388
430
340
488
435
429
418
453
495
360
446
300
411
398
375
428
372
433
322
383
426
389
377
435
345
375
435
413
369
454
467
412
357
470
315
465
425
324
434
390
473
488
398
300
316
431
474
332
442
413
372
338
474
361
389
379
356
303
384
335
411
373
379
439
364
353
317
451
341
401
373
352
323
354
450
378
326
491
397
325
438
358
383
345
305
411
455
366
314
483
354
389
380
396
300
322
440
402
474
458
432
358
412
302
446
443
341
431
465
359
453
428
496
335
489
370
493
411
492
498
355
413
320
393
438
337
496
411
497
488
438
423
433
475
349
374
358
405
313
492
379
390
372
336
489
315
487
476
300
332
377
311
413
349
336
453
373
449
445
300
331
444
358
464
366
422
407
334
445
351
464
313
438
395
433
356
439
461
498
391
480
339
395
462
361
335
484
356
458
336
446
443
495
418
491
344
318
430
454
481
332
453
445
404
364
441
306
463
407
378
387
351
389
339
346
407
486
322
437
414
412
421
318
473
471
500
379
421
370
499
336
434
322
367
346
464
321
337
461
427
354
500
467
335
434
350
493
495
379
306
417
393
381
393
416
428
320
440
435
348
453
408
471
462
409
317
476
329
494
453
397
357
388
375
404
477
453
428
321
446
338
357
351
338
413
355
329
442
381
500
489
430
362
332
497
493
349
445
469
375
372
461
383
377
470
352
419
375
362
456
476
497
367
458
490
339
407
472
371
376
496
338
330
368
397
500
392
423
318
323
496
359
318
415
324
345
410
307
385
472
346
343
473
432
484
436
413
338
364
437
383
427
330
371
329
456
355
405
395
408
416
390
449
432
451
413
437
428
479
366
362
437
309
394
435
430
489
313
455
425
349
316
330
375
430
432
391
476
403
414
400
341
410
491
433
345
354
425
349
461
353
432
440
464
427
427
348
399
387
341
413
431
363
307
470
408
312
352
491
436
450
429
344
375
381
485
430
469
305
325
411
302
473
497
415
376
448
363
442
420
470
302
475
306
476
404
302
429
451
380
499
419
355
391
425
428
458
380
314
305
431
329
481
394
343
409
324
397
454
378
400
442
440
353
382
450
465
403
404
396
492
333
476
358
480
345
467
480
495
464
397
365
322
437
368
300
337
383
462
320
476
310
482
469
368
330
406
414
367
454
385
450
307
493
473
482
325
341
404
356
495
362
423
437
444
381
455
305
401
408
350
456
448
332
481
461
429
498
326
324
439
447
433
409
351
458
485
441
321
444
320
457
378
410
490
328
339
381
324
395
357
393
305
318
438
440
396
327
313
460
349
464
426
406
427
318
326
467
415
397
340
489
356
356
391
387
326
388
329
353
419
445
306
328
345
345
408
393
491
319
483
362
341
374
444
406
349
307
467
375
405
441
321
337
473
415
314
464
389
306
321
428
400
437
387
369
444
455
499
482
352
384
345
462
406
329
363
459
302
351
387
480
456
380
463
432
376
361
359
374
418
450
343
368
443
441
324
385
434
337
398
486
402
307
322
480
470
462
311
362
480
448
433
322
424
406
380
301
404
472
461
338
312
359
500
450
478
419
438
394
351
330
481
420
357
467
482
477
459
375
482
422
396
438
307
386
415
472
431
363
428
381
364
464
366
403
402
392
374
497
445
401
379
483
438
316
331
427
425
363
339
354
345
442
419
397
352
308
491
306
403
330
407
444
459
452
421
433
419
394
419
407
315
471
429
399
319
490
498
400
482
430
351
407
334
377
406
479
492
447
479
340
319
457
313
470
348
478
430
386
497
335
475
300
480
315
381
426
368
498
485
486
355
311
399
358
325
464
394
308
344
461
401
366
410
498
410
362
423
474
441
310
354
315
403
482
432
357
408
319
376
379
487
336
486
322
490
429
439
357
452
499
491
397
390
455
451
306
346
479
318
445
385
419
304
321
453
302
334
408
349
345
418
436
359
451
454
477
427
359
339
347
425
308
309
336
442
366
310
388
409
445
479
378
443
419
435
326
370
393
376
473
480
423
366
449
424
439
459
376
403
369
306
483
400
367
373
398
494
410
429
346
492
347
397
441
411
437
476
316
370
446
476
477
477
344
335
481
413
469
388
490
346
321
358
476
359
453
309
451
395
452
490
335
312
473
320
417
494
395
328
355
432
481
492
358
475
337
497
414
469
331
301
343
467
362
434
411
352
328
468
386
402
322
482
310
312
477
430
486
448
347
325
318
355
419
325
488
329
360
335
384
439
445
420
454
306
412
339
335
464
386
359
404
308
412
405
475
495
499
330
344
307
368
500
321
441
395
378
355
309
480
471
487
473
414
421
377
439
346
453
405
444
446
352
344
417
383
364
325
440
306
317
409
354
491
392
365
432
364
461
330
453
489
362
481
462
440
485
396
324
320
435
358
482
469
481
492
376
358
403
407
322
394
408
370
320
407
465
322
425
300
345
395
499
456
348
429
483
334
362
370
459
427
403
354
402
313
421
480
372
378
329
401
495
451
396
323
338
465
453
347
456
350
327
492
335
412
403
319
387
376
428
383
387
458
363
479
346
419
421
457
433
384
437
379
480
431
415
357
422
475
472
475
385
319
381
300
374
375
379
476
345
478
310
498
355
344
304
467
326
323
455
465
330
369
405
343
324
405
340
412
445
314
361
388
322
311
466
433
488
401
426
414
373
300
411
402
475
405
495
401
419
461
428
468
408
416
357
474
315
308
331
447
400
346
438
381
499
357
438
499
423
482
435
364
432
365
344
478
376
314
301
418
373
448
357
447
495
333
389
473
408
463
325
431
357
330
435
438
325
493
301
391
433
418
372
407
303
372
423
398
333
333
450
439
322
390
499
452
497
445
359
359
304
456
470
488
350
345
348
403
499
376
425
300
330
338
419
373
327
417
310
397
317
418
466
314
351
437
303
410
385
320
452
461
316
440
401
369
313
364
469
424
492
410
442
436
460
441
318
445
333
303
464
379
472
430
304
399
407
350
376
347
443
409
444
457
309
337
363
430
496
435
322
439
500
442
317
387
393
432
374
434
322
475
407
391
376
422
362
422
438
474
300
360
427
470
455
371
389
467
328
328
327
456
448
423
363
378
447
388
339
394
497
409
492
416
330
333
366
339
370
351
359
470
473
361
378
345
444
316
369
475
403
382
416
323
433
434
499
425
425
315
386
389
413
495
323
493
430
342
410
440
378
452
452
397
357
314
450
342
334
327
323
441
481
402
436
415
383
481
405
442
398
453
500
398
423
472
498
409
370
404
426
320
371
436
438
316
495
497
332
348
405
410
488
484
396
328
301
439
352
428
331
318
476
479
454
450
308
404
331
487
332
492
411
376
415
411
490
432
327
405
500
462
338
324
324
393
456
337
442
378
405
467
418
475
392
318
472
427
349
306
441
490
447
435
471
408
446
458
415
409
437
435
300
399
443
380
347
367
485
464
452
354
446
438
446
319
411
484
300
413
341
402
473
344
446
461
391
368
387
420
476
485
449
300
365
421
386
470
316
317
448
337
336
471
420
315
416
342
390
361
489
424
316
411
469
319
418
470
479
346
456
320
383
445
336
336
423
342
345
409
376
379
376
484
450
389
489
337
434
368
390
343
454
329
471
378
445
452
315
382
483
300
446
434
424
453
310
383
315
349
481
325
374
404
436
443
318
330
477
301
368
376
482
466
402
445
483
394
448
470
426
318
438
477
307
391
369
439
390
302
433
399
459
514
471
496
708
503
500
506
788
480
605
638
440
787
650
425
750
663
749
477
706
448
478
693
484
716
585
751
786
644
630
512
555
690
466
619
729
652
627
606
621
547
667
678
464
543
739
657
654
677
516
673
602
492
580
676
692
496
789
738
601
559
444
800
542
651
705
433
522
750
731
676
717
526
551
776
592
534
431
680
509
673
730
528
799
663
776
458
570
798
636
778
618
522
672
610
546
437
460
791
653
614
663
555
453
599
609
797
708
622
504
446
533
787
637
781
773
721
706
807
636
482
626
700
714
430
596
718
454
431
757
699
585
434
732
459
639
495
757
768
633
569
571
574
509
449
581
715
638
458
503
687
705
589
494
754
433
770
719
507
714
816
468
513
504
752
427
685
663
642
568
610
818
502
473
424
451
643
750
755
496
729
623
793
748
486
741
761
780
476
510
510
773
629
802
471
528
509
654
761
661
441
542
476
660
618
804
781
624
671
435
723
658
674
534
567
596
793
754
668
623
457
451
428
599
513
439
437
672
693
725
586
478
726
493
789
637
478
648
603
686
445
757
496
587
427
800
630
447
809
604
761
636
479
555
549
740
764
635
734
771
472
528
424
552
562
594
557
718
454
604
708
586
673
726
654
493
598
602
747
622
719
750
607
543
771
520
787
591
670
485
548
706
602
523
601
696
531
597
561
546
572
581
577
697
627
669
646
602
571
503
673
776
443
655
544
768
556
729
721
483
801
783
734
445
459
570
674
688
428
812
559
567
492
731
679
612
549
447
815
699
721
550
780
686
719
616
478
552
469
479
786
742
576
623
735
541
769
811
559
760
638
742
811
631
790
577
792
442
687
708
806
699
566
559
492
468
791
757
708
664
441
475
526
519
786
774
483
426
549
480
512
729
694
785
609
518
446
446
593
782
530
596
526
625
802
534
613
461
550
588
801
713
814
478
628
807
515
603
642
494
699
428
814
661
673
763
445
564
815
467
555
599
683
510
799
622
728
628
774
591
747
530
449
773
600
790
670
790
557
779
727
693
660
752
740
734
552
565
732
750
705
425
445
550
490
553
813
706
604
535
481
814
765
793
523
662
497
630
678
580
425
586
773
761
613
633
738
766
488
424
638
470
657
717
568
586
816
706
589
739
577
569
563
784
508
699
695
581
798
529
519
622
679
625
521
469
629
570
752
618
744
615
763
521
686
468
758
434
723
670
460
605
706
731
566
754
480
493
483
656
552
681
483
706
760
586
580
485
773
444
660
564
543
668
706
668
793
742
587
775
681
458
793
503
467
428
781
672
502
427
771
699
801
607
594
514
676
513
712
588
747
450
689
740
815
601
710
453
698
637
750
421
625
490
653
428
529
741
723
808
712
660
698
665
615
749
546
562
481
762
562
435
778
568
518
669
778
531
477
672
463
805
699
704
688
594
760
818
550
794
572
751
471
536
709
702
708
756
473
544
491
666
650
553
806
660
468
463
568
484
431
783
789
483
457
687
775
441
614
785
476
663
810
677
488
802
790
522
536
462
594
587
662
775
555
420
584
578
469
597
427
447
479
440
573
637
677
800
499
694
633
583
561
769
446
796
464
569
630
616
720
689
681
464
675
603
568
672
608
528
754
553
732
462
486
782
696
682
751
642
643
549
582
594
520
557
694
663
530
786
527
675
445
697
752
574
641
678
579
497
549
461
435
784
514
718
435
703
802
553
579
797
536
631
791
504
451
462
534
542
563
457
776
486
476
735
548
494
434
784
714
807
604
563
545
768
572
586
520
817
566
809
734
612
650
438
789
584
691
810
523
729
764
746
530
716
493
555
778
672
739
656
451
801
534
653
545
751
739
714
596
447
438
638
783
599
546
666
655
454
474
751
575
668
792
741
688
790
768
726
478
563
462
763
684
561
559
653
465
819
504
680
645
586
675
566
724
726
560
468
518
795
517
690
820
774
566
446
605
476
749
572
777
535
463
769
438
767
593
471
523
740
493
679
725
428
763
638
633
426
765
530
660
789
814
739
714
759
572
645
503
531
600
468
802
535
643
452
692
634
465
743
583
493
818
601
789
720
560
778
516
426
717
583
562
486
478
809
737
665
550
443
797
615
560
734
643
781
484
524
775
697
818
573
728
801
612
586
434
528
653
701
567
572
496
741
493
639
534
592
660
706
545
719
761
732
634
652
430
526
820
554
590
728
501
547
731
446
812
575
708
569
686
517
706
577
739
520
620
649
773
812
465
453
465
667
798
715
545
791
641
594
636
465
442
742
768
457
428
702
474
755
697
477
510
590
605
581
683
685
652
659
645
505
614
807
444
718
628
502
779
679
748
785
672
748
538
526
575
464
684
528
450
707
485
657
690
528
452
814
637
463
577
655
602
701
628
680
742
806
761
792
548
802
760
432
710
702
820
479
724
580
650
457
788
510
707
442
547
444
559
773
463
819
771
762
586
685
628
666
682
691
457
513
663
685
750
603
608
757
512
711
673
575
780
554
677
466
602
520
552
477
795
646
581
725
576
782
675
762
525
536
634
756
440
429
777
634
653
491
769
662
655
542
439
638
791
762
460
675
684
487
797
479
764
784
593
629
469
661
556
549
750
807
670
739
713
689
704
552
449
552
456
740
561
643
562
672
694
759
654
725
554
420
463
720
465
467
539
704
745
490
504
754
642
513
799
551
565
458
437
558
436
520
644
512
722
574
595
607
686
771
491
719
569
488
476
607
667
450
683
455
465
752
560
769
805
463
758
592
439
678
711
531
798
752
636
628
767
714
482
727
450
698
676
713
799
436
702
513
421
784
760
808
459
452
782
771
727
441
580
764
763
681
702
476
607
592
455
570
518
727
661
432
701
811
602
720
523
561
594
553
775
558
450
553
452
530
496
735
550
808
644
584
575
582
637
628
595
613
463
754
682
442
581
541
450
480
808
694
449
630
680
644
738
435
808
701
738
630
808
482
790
808
503
552
546
629
597
572
563
647
559
738
754
623
802
572
789
578
755
570
657
700
572
509
685
501
761
498
637
762
501
441
463
510
716
817
726
500
621
740
507
731
579
620
438
549
678
810
783
453
619
647
615
449
482
782
422
471
648
805
608
466
516
815
546
447
811
779
501
656
430
590
658
590
597
621
655
467
595
652
426
809
554
537
781
715
794
551
719
612
532
817
724
574
542
478
677
509
471
546
422
621
489
611
536
531
724
499
526
714
693
647
626
708
457
672
664
801
728
634
588
420
642
716
694
509
690
623
648
687
445
658
814
630
424
473
771
473
549
734
649
683
744
460
525
592
608
563
668
509
738
679
480
645
811
479
740
696
600
768
696
570
682
680
716
782
463
780
636
766
442
436
671
