343
343
343
343
343
343
343
343
343
339
337
337
336
335
335
335
335
335
335
334
334
334
334
334
334
337
337
337
337
337
337
337
337
337
337
337
337
338
338
338
338
338
338
338
339
342
343
343
344
344
341
345
347
349
349
350
350
351
351
351
351
351
349
348
347
346
346
346
347
347
349
352
352
353
353
355
360
360
359
358
360
363
366
363
360
355
354
355
356
356
356
356
356
354
352
347
347
347
347
347
352
355
362
363
365
366
366
367
370
372
373
375
377
389
391
390
387
385
384
383
382
380
378
374
375
375
375
375
375
381
384
386
388
389
390
392
393
395
398
400
402
404
404
402
402
403
405
407
408
409
410
412
412
413
414
414
414
414
415
416
416
417
419
420
422
423
425
427
428
429
429
429
430
430
430
431
431
432
433
433
434
435
437
439
438
438
437
437
438
438
439
440
437
436
434
431
429
427
426
426
426
426
426
424
423
426
434
436
437
437
436
436
436
439
440
440
440
440
440
439
437
437
437
438
438
439
439
440
442
443
443
443
441
440
439
436
436
435
435
439
440
443
445
446
446
447
447
443
442
441
441
441
441
442
443
446
447
448
449
457
458
460
461
461
463
464
464
465
466
468
470
475
477
479
478
477
475
468
460
454
450
447
444
431
426
422
420
420
420
420
420
418
419
427
429
431
435
437
438
449
458
459
460
461
461
460
457
456
455
456
457
458
461
462
462
461
459
459
460
466
477
478
478
476
475
473
470
466
475
481
483
486
488
490
491
492
498
501
503
511
515
521
522
522
523
524
526
527
529
530
533
538
539
540
542
544
548
551
554
557
559
561
567
572
580
584
587
596
599
604
607
611
615
616
619
621
621
622
624
627
628
629
630
632
633
633
634
634
634
637
638
639
641
642
641
637
635
632
627
625
623
621
618
620
620
620
620
623
625
630
630
631
635
641
646
645
644
643
642
645
647
653
653
653
653
653
652
651
649
648
650
651
652
654
657
659
661
662
664
665
666
670
671
673
676
677
679
679
678
675
672
670
668
667
667
669
668
665
662
660
660
656
649
646
635
641
630
625
623
622
626
627
627
629
613
606
604
605
605
608
611
614
622
627
635
646
650
655
657
652
650
644
636
636
637
637
640
644
648
650
651
651
651
655
659
662
662
667
672
675
675
675
676
676
677
677
678
678
679
680
681
685
687
689
696
704
710
715
717
720
723
728
730
740
739
736
734
731
727
723
719
717
710
704
690
690
687
681
676
674
662
655
652
647
643
636
633
632
632
631
631
632
634
635
637
640
643
648
650
651
651
647
645
644
644
637
626
625
623
621
618
613
610
597
595
594
589
587
585
581
579
576
569
568
565
564
562
561
559
559
548
548
548
545
542
535
534
534
534
534
534
535
537
537
538
540
542
547
550
551
553
562
564
562
558
554
551
549
547
546
540
538
538
538
540
542
547
548
544
543
538
537
537
533
530
527
528
529
530
534
536
539
543
551
552
553
555
559
560
562
564
565
566
570
565
565
565
557
561
556
550
542
537
533
530
528
526
532
536
542
546
546
544
537
531
529
528
527
525
524
524
525
529
531
533
535
536
537
537
537
537
540
548
552
553
555
556
556
557
558
560
561
562
562
564
564
565
566
568
569
570
574
571
560
558
563
566
566
567
568
567
566
563
561
560
558
550
545
542
538
537
535
533
533
533
533
533
533
528
524
521
522
522
522
523
524
527
530
533
533
533
532
530
526
524
517
516
514
510
509
507
503
500
497
493
493
492
488
485
485
486
486
487
487
488
488
487
486
485
483
481
479
477
474
471
469
467
464
463
462
463
465
467
468
465
458
449
441
440
440
440
439
439
439
439
436
429
424
421
421
418
417
417
415
413
403
397
393
392
392
391
389
388
388
387
386
380
374
371
369
371
373
371
370
368
364
362
361
367
372
378
376
376
373
366
370
370
370
354
354
353
351
346
345
345
346
345
342
337
337
337
337
336
335
335
335
335
334
334
334
346
348
349
347
346
346
350
352
339
342
352
344
341
345
347
347
344
341
337
334
334
337
342
346
343
342
340
340
341
341
341
341
341
342
343
343
345
346
348
348
348
341
338
335
332
330
329
329
329
328
326
322
321
319
319
319
319
319
319
319
319
315
315
316
316
317
317
315
314
314
314
314
313
313
313
312
312
310
310
312
314
314
314
311
310
309
308
304
304
303
302
303
302
302
302
302
300
299
299
299
299
299
299
300
299
299
299
298
298
299
299
297
295
295
295
295
295
295
293
294
293
293
305
305
301
302
303
301
293
287
287
291
294
293
293
299
304
301
296
292
291
289
288
288
288
290
291
291
292
294
305
307
302
298
293
293
295
298
302
301
312
294
289
287
286
283
283
283
285
286
287
288
289
289
290
290
290
292
292
294
301
304
305
308
319
329
327
326
326
329
344
355
351
351
356
360
372
375
366
361
356
352
350
356
363
366
374
374
380
383
383
383
384
400
405
405
405
408
409
408
411
415
419
421
423
424
416
414
413
415
419
433
440
440
440
441
442
443
444
445
446
447
448
448
448
449
449
450
448
440
433
435
439
439
432
427
423
417
415
416
421
428
412
410
409
406
402
405
408
406
405
405
400
394
390
378
381
381
379
378
376
367
365
360
354
355
359
366
372
376
378
364
356
355
354
352
345
332
326
327
327
327
326
314
305
303
303
302
293
292
291
290
290
289
288
287
286
285
284
283
284
285
287
294
299
303
308
307
297
297
294
293
293
294
298
301
306
301
290
288
286
287
290
291
296
301
304
303
300
295
295
295
291
288
288
291
297
303
301
301
302
305
303
292
293
294
294
296
297
298
299
300
301
303
303
304
306
307
309
313
319
331
334
339
339
336
335
332
331
329
328
325
325
325
323
320
319
317
315
314
312
312
312
312
311
311
311
311
311
311
313
321
322
315
312
313
308
307
307
308
310
312
312
313
314
315
315
316
313
309
307
306
305
302
302
301
301
305
308
309
309
309
310
311
312
316
330
327
325
326
328
331
334
334
334
335
337
338
339
340
346
348
348
348
348
349
351
354
356
358
358
357
356
353
341
344
345
346
346
344
343
342
344
345
347
348
350
349
347
346
339
336
334
339
344
356
359
363
365
363
359
358
357
360
361
363
363
363
367
368
370
372
374
382
385
389
386
383
380
378
378
377
376
381
389
394
402
405
408
412
411
411
409
411
418
423
426
427
426
425
425
425
430
431
434
439
443
452
461
458
455
443
443
444
445
445
447
447
448
448
448
448
448
448
448
447
446
446
445
444
443
443
441
441
440
437
436
435
433
429
428
427
425
424
423
422
421
420
419
418
418
417
413
407
399
395
385
377
374
368
370
372
372
369
366
363
359
357
355
353
350
348
344
345
346
348
348
348
349
350
350
345
342
337
331
326
325
321
323
326
329
330
331
328
325
332
333
333
335
336
337
338
336
333
331
331
330
329
329
329
331
334
337
330
329
329
328
330
337
340
347
347
347
347
346
349
352
353
353
359
366
368
368
367
366
365
363
362
353
351
348
347
351
351
351
351
358
363
363
364
363
361
360
358
353
355
356
364
360
359
355
353
351
354
354
354
354
354
354
353
351
349
348
344
343
331
326
318
318
312
311
302
303
305
307
309
309
310
310
308
307
304
302
299
300
302
305
301
299
297
296
294
293
292
289
289
290
290
284
280
278
273
276
279
287
289
289
284
283
283
281
275
275
280
281
284
287
289
291
286
281
280
278
277
275
273
272
269
269
270
270
270
272
272
272
272
271
271
270
268
266
262
257
253
252
249
248
245
244
242
242
241
238
235
232
228
228
227
227
226
225
225
224
224
224
224
224
224
224
224
224
224
224
224
225
230
230
230
230
230
230
230
230
230
230
230
229
228
227
224
223
222
221
220
219
218
219
221
225
226
225
224
220
217
217
219
218
221
223
224
225
224
223
223
222
222
223
226
226
226
226
230
236
241
242
254
247
244
249
257
259
261
265
268
269
267
269
272
277
277
278
264
256
259
260
254
254
263
267
267
263
264
265
265
266
267
270
271
276
280
280
298
298
278
269
268
267
266
266
265
259
263
265
267
269
285
285
283
279
283
285
280
275
276
276
277
280
280
280
280
280
281
285
287
288
288
286
286
288
290
297
298
301
303
305
307
308
310
310
312
313
313
313
313
312
312
304
304
303
304
307
300
293
293
291
290
288
288
288
288
287
287
286
286
286
286
286
286
289
292
305
307
309
312
311
308
305
305
307
308
309
316
317
313
306
303
301
297
293
288
288
287
287
286
285
285
280
278
268
265
260
256
251
250
248
247
244
244
243
243
247
254
260
256
254
255
255
256
257
257
257
242
246
248
250
250
250
255
256
256
256
255
255
255
255
255
255
256
257
258
259
259
260
260
260
260
260
259
259
258
261
262
264
265
264
264
263
263
258
259
263
260
258
257
256
255
255
255
254
254
253
252
252
251
249
249
248
248
247
246
245
241
240
241
242
242
242
242
243
244
244
244
244
244
243
242
241
241
240
240
240
240
240
241
241
241
241
241
244
250
252
252
252
252
252
252
251
251
250
249
249
249
251
249
247
245
245
245
244
244
244
244
245
247
248
250
252
254
256
256
253
251
249
251
257
263
263
260
257
251
251
251
250
250
250
250
249
249
250
254
257
258
264
264
263
262
261
261
261
261
261
261
261
261
261
259
257
256
256
256
259
260
261
265
265
265
265
265
265
265
265
266
266
266
265
265
265
267
268
270
270
268
267
266
266
266
266
267
269
269
271
272
272
273
273
273
273
273
279
280
280
276
275
273
269
273
276
280
280
279
277
277
277
277
275
274
273
270
270
278
279
279
279
279
282
285
286
283
282
281
281
280
279
278
273
273
273
273
273
273
273
273
274
274
275
276
276
276
277
277
277
277
276
275
274
273
273
273
278
280
279
279
279
276
274
271
273
271
272
271
270
269
269
269
269
269
269
269
270
270
270
270
270
270
270
270
270
270
269
269
268
268
265
265
266
266
267
267
280
284
284
285
285
284
283
282
281
281
281
280
280
283
288
291
295
296
297
298
300
301
302
304
306
306
300
298
298
312
321
328
330
331
332
335
337
339
342
342
342
342
342
343
344
344
350
363
368
380
383
390
392
395
397
397
397
400
401
399
397
395
401
399
408
409
407
406
406
405
403
404
406
409
412
414
413
413
414
415
416
417
417
421
422
423
424
425
425
425
426
426
427
428
431
434
437
441
439
439
443
445
444
440
442
448
452
455
457
455
448
437
434
436
435
435
425
424
425
427
428
425
420
417
417
418
423
425
419
408
398
408
410
401
389
385
386
387
387
386
385
386
385
382
379
386
378
373
368
363
361
359
357
356
356
356
356
356
357
357
358
359
364
365
365
365
363
362
361
361
365
373
374
374
372
370
369
367
367
366
365
364
358
356
354
356
357
363
363
363
363
365
369
374
375
377
377
377
377
377
377
377
381
385
387
385
383
378
376
378
383
385
387
388
391
392
392
392
393
393
393
393
392
392
391
390
388
386
375
374
374
373
373
372
372
369
369
368
370
372
372
372
372
371
370
369
369
369
370
377
378
380
380
379
379
379
380
380
381
381
381
373
371
368
366
366
367
367
368
368
366
365
365
363
363
354
353
351
347
346
345
344
344
343
343
342
342
341
340
338
337
336
335
334
333
332
331
331
331
330
327
326
326
326
326
326
326
326
326
326
326
326
326
326
325
325
325
325
325
329
331
333
329
330
331
332
333
335
335
336
337
337
337
338
338
339
341
343
343
342
342
342