466
465
465
464
464
462
462
461
461
460
460
460
460
460
460
460
460
460
460
460
461
462
462
462
464
465
465
466
469
472
476
480
481
488
488
492
497
500
502
503
504
506
507
509
511
512
513
517
520
521
522
529
529
530
531
530
529
529
529
529
529
529
530
530
530
530
530
530
530
530
527
527
526
525
524
523
522
521
520
518
516
514
514
515
515
515
516
517
520
518
516
515
514
513
510
506
504
500
496
492
489
488
486
485
484
485
487
489
490
490
490
489
486
483
482
480
479
477
477
477
477
477
477
477
477
478
481
483
485
487
488
492
492
491
490
490
489
489
489
488
487
486
485
483
479
478
475
475
474
473
472
472
471
471
472
473
473
473
472
471
470
470
468
467
465
463
463
463
459
457
455
453
453
453
451
450
450
449
448
446
446
446
446
446
448
449
450
450
452
454
455
456
456
459
462
463
463
463
463
463
461
461
460
459
457
455
453
453
453
453
454
454
460
462
465
468
469
471
472
477
483
484
485
485
485
486
486
487
488
489
490
491
492
492
492
492
492
492
492
492
492
492
491
491
491
491
492
492
492
493
493
494
496
497
499
499
500
500
501
502
505
506
506
506
506
507
508
508
509
509
512
515
516
516
519
521
521
521
520
519
518
517
517
517
518
518
518
519
517
516
516
516
515
514
514
514
529
539
548
549
550
550
546
548
549
551
553
552
551
551
551
551
551
551
550
547
544
541
539
535
534
533
533
532
530
529
529
528
527
525
523
507
502
499
498
496
494
488
486
480
476
474
466
465
464
462
461
460
460
460
459
456
455
455
454
453
453
441
440
439
438
438
438
437
437
437
437
437
437
437
437
437
437
437
438
438
439
439
439
440
440
439
438
438
434
433
432
432
432
432
432
432
432
431
431
431
429
428
426
425
424
424
424
424
424
424
424
424
425
425
424
418
417
416
416
415
415
415
415
414
414
414
414
414
414
414
414
415
415
416
417
417
418
418
418
418
418
418
419
419
418
418
418
417
414
413
413
412
412
412
413
416
418
427
430
432
433
436
439
439
445
451
458
465
467
474
478
482
487
496
500
505
508
509
511
513
515
516
519
521
523
521
518
516
514
511
509
505
504
501
500
499
498
496
492
485
481
478
474
471
466
447
444
440
440
437
443
448
450
457
458
460
463
469
473
482
491
497
498
499
499
500
500
501
501
501
501
501
498
497
500
504
506
506
506
506
506
506
508
509
510
510
511
511
512
513
513
512
511
510
505
504
504
504
504
504
512
518
522
524
527
532
531
531
531
532
533
536
547
551
553
559
563
565
565
565
565
564
562
560
559
559
559
559
559
559
560
560
561
562
562
558
558
558
558
558
558
556
553
552
552
552
551
550
549
547
545
543
540
539
539
539
540
540
541
543
544
544
544
543
542
542
543
543
543
544
544
544
543
543
542
542
539
538
537
536
535
534
534
534
534
534
533
532
530
529
528
528
529
529
530
530
532
534
534
534
532
532
530
530
530
530
530
530
531
532
532
532
532
532
532
532
532
532
532
532
532
532
531
531
531
530
530
530
530
531
532
533
535
534
534
534
534
532
529
527
523
522
520
519
517
517
516
515
515
513
513
512
506
504
503
502
502
502
502
504
505
507
512
512
513
513
512
510
507
506
505
504
503
502
502
502
502
502
502
503
504
504
506
506
506
506
505
505
504
504
503
503
503
503
503
503
502
501
501
500
499
498
497
493
489
489
491
493
496
498
497
497
497
492
489
484
484
484
484
484
484
486
489
490
491
489
488
487
486
481
480
478
477
474
474
478
478
480
481
482
483
486
486
486
484
483
482
480
478
477
476
475
474
473
473
473
473
473
476
477
479
480
480
481
485
487
489
490
492
493
497
495
494
493
492
492
490
489
489
489
489
489
488
488
488
488
488
488
488
488
488
487
487
487
486
486
486
486
485
485
483
478
475
472
469
468
465
463
461
457
454
453
449
449
448
447
445
446
447
447
447
444
443
442
436
433
431
427
418
417
416
415
414
412
408
407
406
405
400
398
395
393
391
390
387
386
378
372
368
365
363
363
363
363
363
362
360
359
359
359
358
358
358
359
359
359
359
360
362
362
363
363
364
364
364
365
365
365
365
364
363
363
362
362
361
361
359
359
358
358
358
359
362
362
362
361
360
360
360
359
359
358
357
357
356
356
354
354
354
354
354
354
354
354
354
354
354
354
354
354
354
353
353
352
351
351
351
351
349
346
344
345
346
347
346
346
345
344
343
343
342
342
341
341
341
340
340
340
339
339
339
339
338
338
338
336
336
335
333
333
333
333
333
333
332
332
334
338
338
339
343
344
347
347
349
351
370
371
372
397
402
406
407
408
411
412
413
414
419
420
421
422
422
423
424
426
429
429
430
431
435
437
441
443
442
442
442
439
438
437
436
435
433
432
431
430
417
413
410
407
402
400
397
395
381
378
374
372
368
359
355
354
350
349
349
349
350
350
349
348
347
347
345
345
344
344
342
342
342
342
341
340
340
339
338
337
336
336
335
335
334
334
334
335
335
335
335
335
335
334
333
333
333
334
334
336
336
336
336
335
335
335
335
335
334
333
332
331
329
329
329
328
328
328
326
326
327
327
327
329
330
331
331
332
340
342
347
353
355
356
357
364
365
369
371
373
377
380
382
383
384
385
385
385
387
387
387
388
388
391
391
390
390
391
391
394
394
395
398
400
403
405
408
413
414
417
420
422
427
432
435
437
441
443
444
448
455
459
461
464
465
466
466
467
468
468
468
466
466
463
463
462
461
460
458
458
458
458
458
457
457
456
456
456
464
464
464
459
458
456
450
449
448
448
448
448
448
448
447
447
447
445
445
444
443
443
441
440
439
436
433
431
430
429
427
426
425
423
420
418
417
416
416
415
414
408
404
403
400
399
399
396
393
388
387
385
385
380
377
369
363
360
358
357
354
349
343
344
340
336
335
335
335
335
334
333
333
333
333
333
334
334
334
333
333
332
332
332
333
333
331
331
331
330
329
328
327
326
326
326
326
326
326
326
326
326
327
328
328
329
329
329
329
329
329
329
327
327
326
325
325
325
326
317
315
315
315
318
318
318
317
317
317
317
316
316
316
316
316
315
314
313
310
310
310
310
310
310
310
310
313
316
319
329
332
334
337
339
343
346
348
350
358
368
375
379
380
379
378
377
376
369
360
351
349
346
342
340
339
338
337
336
331
330
328
327
326
325
324
324
326
326
326
325
323
321
321
320
320
319
319
318
318
318
318
318
318
318
318
318
318
317
317
317
317
315
317
318
319
320
320
318
315
315
315
315
314
309
308
307
307
306
305
305
305
305
305
305
307
311
314
312
312
311
311
310
309
309
307
308
308
318
312
308
308
308
307
305
304
304
304
304
304
304
303
303
303
304
305
307
307
307
307
307
306
306
306
305
304
304
304
304
304
303
302
300
299
299
299
298
298
297
297
297
297
296
296
293
293
292
292
291
291
291
291
291
295
300
300
304
308
320
323
325
328
330
337
341
344
349
352
354
356
357
358
358
359
360
363
364
365
368
369
369
370
370
370
371
371
370
369
367
363
362
353
352
349
346
342
333
332
331
329
327
323
301
300
299
299
298
298
297
296
295
294
292
292
291
291
291
291
291
291
291
291
291
290
290
289
289
289
288
288
289
289
289
288
287
286
285
285
285
285
285
285
285
287
288
288
288
288
288
288
287
287
286
286
286
285
284
283
282
282
282
283
285
286
284
283
277
276
275
275
273
273
274
274
274
275
276
276
276
276
276
278
278
277
276
276
274
273
273
272
271
270
269
269
269
269
269
270
271
271
270
268
267
267
265
263
263
264
267
267
267
266
266
266
267
268
269
270
270
269
269
269
268
268
268
269
269
269
269
270
270
271
271
271
271
271
271
270
270
269
269
269
268
268
268
269
269
269
269
269
270
271
271
271
272
272
272
272
273
273
273
273
273
273
272
271
271
271
271
271
273
274
274
274
275
275
275
275
275
276
276
277
277
278
278
280
282
284
286
288
291
291
294
297
300
301
302
303
304
306
297
285
284
282
282
281
281
281
280
279
275
275
275
274
274
274
274
274
273
272
272
271
270
269
266
263
260
259
259
260
258
256
254
253
253
251
251
251
251
251
251
251
251
251
251
250
249
248
247
246
246
246
246
246
246
246
246
246
246
247
248
251
251
251
251
251
252
252
252
253
253
253
253
254
254
254
255
255
256
257
258
260
260
263
264
267
269
269
269
269
269
269
269
270
270
272
275
276
277
278
279
280
282
284
287
288
289
292
292
292
292
293
293
293
289
286
284
282
276
274
273
270
269
268
268
264
255
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
251
251
251
251
251
250
250
250
250
250
250
250
250
251
251
252
254
255
255
255
256
257
258
260
261
262
268
274
278
283
284
286
288
290
295
307
306
297
295
294
294
294
295
296
298
298
298
297
297
296
296
295
294
293
293
293
293
293
294
295
296
297
298
300
301
303
303
305
307
311
314
316
324
326
330
331
332
337
338
340
341
339
331
329
326
324
316
306
301
299
298
297
296
293
290
287
279
274
272
268
266
264
261
256
254
253
250
247
247
246
245
245
245
245
247
250
254
254
254
254
254
255
255
255
255
255
255
255
255
255
255
256
257
257
257
257
258
258
258
257
256
257
258
258
259
260
261
262
264
264
265
265
265
265
266
266
266
266
266
266
266
265
265
265
265
265
265
265
264
265
266
267
267
267
267
267
267
267
267
266
266
266
266
266
266
266
266
263
262
261
262
264
264
265
265
263
263
263
263
263
266
266
266
266
267
267
267
267
267
267
267
267
268
268
268
268
268
268
268
268
268
268
269
269
269
269
269
269
269
269
269
269
269
269
269
269
269
270
270
270
270
270
270
270
270
270
271
271
273
273
274
274
274
275
275
275
275
276
279
280
282
282
286
287
287
287
287
287
289
290
291
291
292
292
293
293
293
295
299
300
302
304
305
306
310
314
315
325
334
335
336
337
338
339
339
339
339
339
339
339
339
339
339
339
341
341
345
345
346
345
345
345
343
343
340
339
337
336
336
335
334
334
332
332
331
330
329
328
326
321
315
309
299
296
295
294
293
292
292
291
292
293
296
298
301
309
312
318
327
329
329
330
332
335
342
343
344
344
345
345
346
348
349
353
354
356
359
359
358
357
357
356
354
354
354
354
354
354
354
354
354
355
355
355
350
353
354
355
357
358
365
365
365
366
368
372
372
373
374
380
379
378
378
377
376
375
373
370
368
365
362
360
359
358
357
356
355
353
351
346
343
342
342
341
340
339
338
334
325
320
315
313
313
313
313
313
303
303
303
302
298
296
295
295
296
296
296
296
296
296
293
293
291
290
289
289
290
285
281
281
281
281
280
280
280
280
282
279
279
278
277
277
277
277
276
275
275
275
275
275
275
275
275
275
275
275
275
275
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
277
277
277
279
279
280
281
281
281
284
284
284
284
285
285
282
282
282
283
284
284
284
285
285
285
286
291
291
291
291
291
291
291
291
286
283
283
283
284
284
284
284
285
286
286
286
287
287
287
287
288
288
288
288
288
288
288
288
289
290
290
290
289
288
286
284
284
284
283
282
281
281
281
281
281
282
282
282
283
283
283
283
283
283
283
282
282
283
285
285
285
285
285
285
285
285
285
285
284
284
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
284
284
285
285
285
285
285
285
287
289
290
291
293
292
292
292
292
292
292
292
290
290
289
289
289
289
289
289
289
289
289
289
289
290
290
291
291
291
292
292
292
292
296
296
296
292
292
293
293
293
293
294
296
296
297
297
297
298
298
298
298
298
298
298
299
299
300
300
298
297
297
297
297
297
297
297
297
297
297
297
297
297
297
298
298
299
301
301
303
303
305
305
306
304
303
303
303
302
300
300
299
297
297
296
296
296
297
298
299
299
300
300
303
303
302
302
302
302
302
303
306
306
306
307
308
310
310
311
311
310
308
308
307
307
306
304
304
303
303
303
303
303
303
303
304
305
305
305
305
305
305
305
305
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
310
311
311
311
311
310
309
309
310
310
311
311
312
313
313
313
313
313
313
313
313
312
312
311
311
311
312
312
312
313
313
313
314
314
314
317
317
318
318
318
317
317
317
318
318
319
319
320
320
320
319
319
318
318
318
318
320
322
322
322
321
316
316
315
314
315
316
317
317
317
317
317
317
318
318
319
319
320
321
321
321
323
323
322
322
322
321
321
320
320
320
320
320
320
320
320
320
320
322
322
323
323
324
326
326
325
325
325
325
325
327
328
329
330
332
332
332
331
331
331
330
329
329
329
329
327
327
327
326
326
326
326
326
326
326
327
327
327
328
328
329
332
333
334
336
336
336
336
337
337
337
338
338
339
339
338
337
335
335
335
335
333
332
332
332
332
333
335
338
338
337
337
338
340
340
340
340
342
344
344
344
341
339
339
340
340
341
341
341
342
342
342
342
343
343
344
344
344
344
343
342
342
342
342
342
342
342
342
342
342
342
342
342
342
343
344
344
346
348
348
351
352
353
352
349
349
349
349
349
349
349
349
349
349
350
350
350
350
350
350
350
350
350
350
350
351
351
352
352
353
354
354
355
355
357
358
359
359
360
360
361
361
361
361
361
361
361
360
360
359
358
358
357
357
356
356
356
357
357
357
357
357
357
357
358
358
359
359
359
359
359
359
359
358
357
357
356
355
354
353
352
351
350
350
350
348
348
347
346
346
346
346
346
346
346
347
347
348
348
349
349
350
351
351
352
352
352
352
352
352
352
351
351
351
351
351
351
351
351
351
351
354
357
358
358
358
358
358
358
358
358
358
358
357
360
360
362
363
363
363
366
366
366
366
366
366
365
365
365
365
365
365
365
365
365
365
367
368
368
368
369
369
369
370
370
370
370
369
368
366
366
367
368
368
368
369
370
370
370
370
370
370
371
371
371
371
372
372
372
371
371
371
371
371
371
371
371
371
371
371
372
372
374
376
377
378
378
380
383
383
385
386
386
387
388
390
389
388
388
387
386
385
383
382
382
381
380
380
380
379
380
381
381
382
384
385
386
386
386
386
386
388
388
388
388
388
388
388
388
388
390
390
390
390
389
389
389
389
389
389
389
390
390
390
390
390
390
390
390
390
391
391
392
392
393
393
393
394
394
394
394
394
395
396
397
397
396
396
396
396
396
396
395
394
394
394
394
393
392
391
391
390
390
389
389
389
389
389
389
389
389
389
389
389
389
389
390
390
390
390
389
388
388
388
388
388
388
388
388
388
388
387
387
385
385
384
383
383
382
382
380
380
380
380
380
381
384
385
385
386
386
388
388
389
391
389
388
387
386
385
384
384
383
380
379
378
378
378
377
377
376
375
375
374
373
372
370
370
370
370
370
370
370
371
371
371
371
371
371
371
371
371
371
371
369
368
366
366
366
366
366
366
366
366
366
366
366
366
367
368
369
369
367
367
366
366
366
366
365
365
365
365
365
365
365
365
365
365
365
365
365
365
366
366
367
367
367
366
365
364
364
364
362
362
361
359
356
356
357
357
357
357
357
356
354
354
354
353
353
353
353
353
353
353
353
353
353
353
353
353
351
351
350
350
350
351
351
351
351
351
351
351
350
350
350
350
350
350
349
349
349
349
349
349
349
349
349
349
349
349
349
348
348
348
348
347
347
348
349
349
349
349
349
349
349
349
349
349
349
347
347
347
347
351
352
352
354
354
357
358
358
360
360
360
360
360
360
360
359
359
359
359
358
358
357
357
357
357
357
357
357
358
359
360
360
363
363
363
364
366
366
366
366
366
365
365
365
365
364
364
364
364
364
364
358
357
357
356
356
356
356
356
356
355
355
355
356
357
357
359
360
360
360
360
361
361
361
361
362
362
362
361
361
361
362
362
361
361
362
362
363
364
364
364
365
365
366
367
368
368
369
370
371
372
373
374
374
374
374
372
372
372
372
373
373
373
373
372
372
372
371
371
371
371
370
370
370
370
370
370
370
370
370
370
369
368
367
367
368
368
369
369
370
370
370
370
370
370
370
371
371
371
372
373
373
372
372
372
372
372
372
372
372
372
373
373
373
373
374
376
376
376
377
377
377
377
377
378
379
379
380
380
380
380
381
382
383
384
385
385
385
386
388
390
391
394
395
395
395
395
395
395
395
395
395
395
395
396
399
401
405
406
406
405
405
404
404
401
399
399
399
398
399
400
401
402
402
402
402
403
403
403
404
404
405
405
406
407
406
406
406
406
410
410
410
411
414
414
414
415
415
415
415
416
418
418
418
418
418
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
420
422
422
422
423
423
425
425
426
427
427
427
429
430
430
430
432
433
434
434
435
435
436
437
437
437
438
439
440
440
440
441
441
441
441
441
441
441
441
441
441
441
441
442
442
443
443
443
443
443
443
443
445
447
464
459
457
456
457
457
458
458
459
462
467
466
467
476
476
476
476
476
476
476
476
476
476
476
475
475
474
474
475
476
476
476
476
479
477
477
477
478
478
478
478
478
478
477
476
476
476
476
477
477
478
479
482
483
484
484
484
484
484
484
484
484
484
484
482
480
478
478
478
477
477
476
474
469
467
465
465
463
463
463
463
463
463
463
463
463
463
463
463
465
465
465
466
466
468
468
469
469
470
470
471
472
472
472
473
473
473
473
474
477
477
477
477
477
478
478
497
497
499
499
499
501
502
505
505
506
507
508
509
510
511
512
513
519
524
525
526
524
523
516
514
512
512
513
513
514
515
515
515
515
515
515
515
515
517
533
534
534
535
536
539
540
542
542
544
546
548
546
545
540
535
533
533
533
533
533
533
533
533
535
535
536
536
537
537
538
538
538
539
540
541
543
546
548
555
558
558
557
557
557
559
559
568
570
573
576
576
576
576
576
576
576
576
576
575
575
575
574
574
574
574
574
574
574
573
571
569
566
564
563
562
559
558
559
559
560
560
561
560
558
556
555
542
542
542
542
540
540
539
538
538
538
537
537
537
534
533
532
531
531
531
531
533
534
541
547
547
546
544
538
537
536
536
536
536
536
536
536
534
531
525
523
517
516
515
515
515
514
513
513
513
514
519
520
522
522
523
523
523
521
521
521
519
517
510
509
507
505
505
503
502
502
502
502
502
502
502
502
500
498
492
492
490
488
487
485
482
481
472
471
471
471
471
471
470
469
469
468
468
467
467
467
467
467
467
466
466
465
465
462
462
462
462
462
462
462
462
463
463
463
464
464
464
464
464
465
465
466
468
468
468
468
469
469
469
469
469
468
468
468
467
466
465
465
465
465
465
465
465
465
465
464