298
298
298
298
298
300
300
302
302
302
302
302
303
303
303
303
304
303
302
302
302
302
304
304
305
299
301
301
301
297
298
299
299
300
300
300
300
297
296
297
297
297
297
297
297
297
298
298
298
298
298
298
298
298
298
298
298
298
298
294
295
295
296
295
294
293
292
290
289
288
288
288
288
289
288
288
287
286
286
286
286
286
287
287
287
287
286
286
286
286
286
286
286
284
284
284
283
282
282
281
279
279
278
278
278
278
277
277
277
277
277
274
274
274
274
274
274
274
274
274
274
274
274
274
274
276
277
277
278
278
279
280
280
281
281
283
283
281
285
286
286
286
286
287
287
287
287
286
286
285
285
285
285
285
285
285
285
285
285
285
286
287
287
287
287
287
287
287
287
286
286
286
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
286
286
286
286
287
287
287
287
288
288
288
289
290
290
291
291
291
291
291
291
291
291
291
291
292
292
292
293
293
293
293
293
293
293
293
293
294
294
294
294
294
294
295
296
296
296
297
297
297
297
297
297
297
297
298
298
298
299
299
299
299
299
300
300
301
301
303
303
304
304
305
305
305
305
305
305
305
306
307
307
307
306
306
306
307
307
307
308
309
309
309
309
309
309
308
307
307
308
310
311
312
319
319
320
321
321
322
326
330
331
333
334
335
334
332
330
330
328
328
328
328
331
335
335
336
336
338
341
342
344
349
352
353
359
361
362
363
369
375
375
376
376
379
380
380
382
386
388
400
407
409
412
414
416
417
417
418
418
418
419
420
421
421
421
421
421
421
423
435
436
436
440
444
449
450
451
456
466
468
470
473
475
478
479
482
488
489
490
493
494
495
495
495
496
496
496
499
499
500
503
504
505
508
510
515
517
519
520
521
523
524
527
529
530
531
530
528
525
523
522
521
519
523
524
530
531
532
536
537
537
538
538
541
543
543
545
545
546
546
547
548
549
550
551
551
547
547
545
543
545
546
547
549
551
551
555
554
551
550
550
548
547
546
545
544
543
543
543
543
543
543
543
543
543
543
543
544
545
547
547
549
549
550
550
552
553
554
556
558
559
560
562
563
564
567
568
568
567
567
566
566
565
565
565
565
585
591
594
596
596
596
591
589
586
572
571
568
563
563
563
561
561
564
575
578
580
582
583
584
585
586
584
583
582
578
578
576
575
570
563
551
546
539
529
527
522
518
510
492
491
492
492
488
483
478
476
470
468
468
467
465
465
464
464
463
462
464
466
467
469
470
470
470
469
470
471
473
477
479
480
480
483
486
487
491
492
493
494
495
496
497
497
501
504
505
508
508
509
512
512
514
515
518
519
520
520
520
521
523
525
529
534
536
543
552
554
555
560
566
571
573
575
578
578
577
573
572
571
570
570
570
573
574
575
581
582
586
587
593
597
609
616
629
632
635
641
650
657
662
668
668
667
667
658
658
657
655
653
653
652
651
650
648
646
644
636
634
633
629
612
608
601
591
585
579
578
576
574
572
572
566
563
561
560
559
551
548
546
544
542
542
537
536
535
534
529
528
527
526
524
522
522
522
520
520
520
518
518
520
520
521
522
522
524
524
522
520
518
517
517
514
512
509
506
505
504
504
503
503
503
503
502
499
494
493
491
489
488
488
488
485
484
481
480
479
478
474
473
472
470
469
467
465
463
462
462
461
461
461
461
461
460
458
457
456
455
454
453
453
452
452
452
451
451
451
450
449
448
447
448
448
449
449
449
449
448
444
438
431
430
432
433
434
438
438
438
437
437
436
436
435
434
433
431
430
426
416
414
412
411
408
409
410
411
413
412
412
411
406
407
407
410
410
409
407
405
403
402
393
392
391
389
388
388
387
387
386
386
384
384
385
385
386
387
387
379
377
376
376
375
375
374
372
371
370
370
368
367
367
366
366
363
362
359
356
353
350
349
347
347
347
346
344
344
343
342
342
341
340
335
333
333
333
332
332
331
329
328
327
326
326
326
326
326
326
325
325
324
323
323
323
323
323
323
323
323
323
323
321
320
320
319
319
319
319
319
319
319
319
319
319
319
319
319
318
318
318
318
318
318
318
317
317
317
317
317
317
317
316
316
316
316
316
316
315
315
315
315
315
315
315
315
315
315
315
315
314
313
311
310
309
309
309
309
310
310
310
311
312
312
312
313
313
313
313
313
313
313
313
312
310
309
308
307
306
306
306
305
305
305
305
305
304
304
304
304
304
304
304
304
304
305
306
306
306
307
307
309
310
315
317
323
327
328
328
328
328
328
328
328
328
328
327
326
326
326
326
325
324
323
323
323
323
323
323
323
325
330
331
337
339
341
347
348
351
352
352
352
353
354
355
356
357
357
357
357
357
356
356
355
355
355
357
357
360
361
362
363
363
363
364
364
364
364
364
363
363
363
363
363
367
377
379
381
383
386
385
384
384
384
384
384
386
386
386
386
387
388
389
389
390
390
391
391
391
390
390
388
388
388
386
385
384
384
383
383
382
382
381
381
381
381
380
380
380
380
380
380
380
381
381
381
381
382
382
382
382
382
383
383
383
383
382
382
382
382
382
383
383
383
382
380
367
360
360
357
357
356
354
354
352
349
347
347
345
344
342
341
340
340
340
340
340
339
339
339
333
328
324
323
317
311
310
307
304
303
301
300
300
298
298
297
296
295
293
292
291
289
288
287
287
286
286
286
285
285
285
285
285
284
284
284
284
282
282
281
280
279
278
277
276
275
275
275
275
275
275
275
275
275
275
274
274
274
274
274
274
274
274
274
274
273
273
273
273
273
273
273
273
273
273
273
273
273
274
274
275
276
276
276
276
276
276
276
276
276
275
274
273
273
273
273
273
273
273
273
273
273
273
273
272
272
271
270
269
269
269
269
269
269
269
269
270
271
272
272
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
271
271
270
271
271
271
271
271
271
271
271
271
271
271
271
272
273
273
273
273
273
273
272
272
272
272
273
273
273
273
273
273
273
273
273
272
271
271
271
271
271
271
271
268
268
266
265
264
262
258
257
257
257
258
257
257
257
256
256
256
256
256
257
257
257
258
258
258
258
258
258
257
257
257
257
257
256
256
256
256
256
256
256
256
257
257
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
260
260
260
261
262
269
269
269
269
269
269
268
268
267
267
266
265
266
267
267
269
270
271
272
274
277
278
279
280
281
281
282
282
283
283
285
286
286
286
287
287
287
289
290
291
291
291
291
291
291
291
291
292
293
293
294
293
293
292
292
292
291
291
291
291
293
294
295
299
301
301
301
301
301
301
301
300
297
290
292
293
295
296
298
303
306
306
311
316
317
318
319
320
323
324
324
325
328
332
332
331
331
331
331
333
335
337
339
341
342
343
343
344
344
343
343
342
342
342
341
341
340
340
339
339
339
338
338
337
335
333
326
321
324
327
329
332
334
336
342
347
351
356
360
367
372
382
388
393
396
396
386
380
376
370
365
362
359
355
353
340
348
346
346
346
351
352
355
356
360
361
362
360
358
359
370
373
374
375
376
379
381
382
384
389
394
415
425
435
438
440
441
441
441
441
441
441
441
443
446
450
448
446
443
441
440
436
433
429
426
422
422
422
422
418
411
407
403
401
394
389
388
387
386
386
386
387
387
387
387
387
388
388
388
389
390
391
392
392
393
393
393
394
395
397
398
398
398
398
399
399
399
399
399
399
400
400
400
400
400
400
400
400
400
400
400
400
401
404
407
409
411
409
407
405
409
415
418
421
421
421
421
420
420
420
420
420
420
420
420
420
420
420
420
420
421
422
422
423
425
426
428
430
434
442
443
443
438
433
437
447
454
453
452
449
448
448
449
449
449
449
450
451
452
455
458
461
469
473
475
476
477
477
478
479
479
481
481
482
482
482
482
481
480
479
478
477
476
475
475
475
475
475
474
473
473
472
471
471
470
470
469
471
472
474
477
478
478
477
475
474
480
480
480
480
480
481
484
487
495
499
503
504
504
505
506
507
508
508
509
507
505
504
503
502
501
499
498
494
492
491
491
489
490
491
492
493
496
497
500
501
501
501
503
503
504
510
515
521
528
532
541
543
545
548
550
552
552
551
550
550
550
548
546
544
541
540
536
534
533
532
531
529
527
526
524
524
523
523
523
524
526
529
530
532
536
539
539
540
541
541
545
549
550
551
553
554
555
557
559
563
568
568
569
569
569
569
571
578
585
590
590
590
590
590
592
594
595
596
597
598
599
599
597
595
596
598
600
601
602
603
603
604
606
595
591
583
582
582
582
583
583
581
579
578
577
576
575
574
573
571
569
564
563
562
560
559
559
554
551
550
549
549
548
546
544
542
540
537
535
533
533
533
531
528
520
519
519
518
518
518
516
515
515
515
515
516
516
514
511
508
508
507
505
502
501
498
498
497
495
494
493
486
482
478
477
470
467
465
464
462
461
460
460
458
451
448
442
439
431
431
431
430
430
430
429
428
427
424
424
424
424
424
424
424
424
423
421
419
418
418
417
417
417
417
417
416
416
415
415
414
414
413
412
411
410
410
408
408
408
408
408
408
409
409
409
409
409
409
409
408
408
406
403
402
400
399
399
399
399
398
398
398
401
406
406
406
407
408
408
409
410
410
414
415
416
416
416
416
416
416
416
413
412
410
410
408
407
405
402
399
398
395
394
391
388
388
388
387
387
386
386
385
384
384
378
377
376
375
374
373
372
371
371
371
370
369
369
369
369
368
368
368
367
365
365
364
363
363
361
361
361
361
361
361
361
361
361
360
360
356
356
352
352
352
352
350
348
348
348
348
348
348
348
348
348
348
349
349
349
349
349
349
348
348
348
348
348
348
348
348
348
348
346
345
343
343
342
341
340
340
338
338
339
340
343
344
344
345
345
345
345
345
345
345
346
346
347
347
347
346
341
340
340
339
339
339
338
338
342
345
348
350
352
355
357
358
360
361
362
365
364
364
364
363
362
362
360
359
355
351
351
350
351
357
357
358
358
358
358
358
359
366
369
371
370
370
372
372
372
372
372
373
374
374
375
375
376
376
376
376
377
378
378
378
378
378
378
374
368
366
364
361
359
359
359
359
359
358
358
358
358
357
357
356
356
356
356
355
354
354
354
355
361
358
355
353
352
352
350
350
350
350
351
353
350
344
344
344
345
345
346
349
351
353
354
355
356
350
349
349
349
349
349
349
349
349
347
344
344
344
343
343
343
343
342
341
341
341
341
341
341
341
342
342
342
343
345
346
346
347
348
348
348
350
352
353
354
355
358
362
364
370
372
373
375
375
375
374
373
372
371
369
368
369
370
371
359
358
359
360
360
361
362
363
364
365
365
366
366
367
369
369
369
369
369
369
368
368
367
366
365
364
365
369
373
378
382
382
379
377
373
372
371
368
366
363
363
363
362
362
362
361
360
360
359
358
358
357
356
356
356
356
356
357
357
357
358
358
359
359
359
360
361
361
361
361
361
362
362
362
362
362
362
362
363
363
363
363
363
363
363
363
363
363
366
366
366
366
367
367
367
367
366
366
366
366
366
366
366
366
367
367
367
367
367
367
367
368
368
368
368
368
368
368
367
367
367
367
367
368
368
368
368
368
369
369
369
369
369
369
369
369
369
369
369
370
370
370
370
370
370
370
371
371
372
372
372
372
372
372
372
372
372
372
372
373
374
374
374
374
374
375
375
375
375
376
376
376
376
376
376
377
377
377
377
377
377
377
377
377
378
378
378
379
379
379
379
379
379
380
380
380
381
381
382
382
382
382
382
382
382
382
382
382
382
383
383
383
383
383
383
383
384
384
384
384
384
385
385
385
385
386
386
386
386
386
386
386
386
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
387
388
389
389
389
390
390
390
390
390
390
390
390
390
390
390
390
390
390
390
391
391
391
391
391
392
392
392
392
392
394
394
395
395
395
396
396
397
397
397
397
397
397
397
398
398
398
398
398
398
398
398
398
399
399
399
399
399
399
399
400
400
400
400
400
400
400
401
402
402
403
403
403
403
403
403
404
405
405
405
405
405
406
406
407
407
407
407
408
408
409
409
409
409
409
409
410
410
410
411
412
414
414
414
415
415
416
416
416
416
417
417
417
418
418
418
419
419
419
420
420
420
420
421
422
423
424
424
426
426
426
426
428
428
428
428
431
431
432
432
433
434
435
435
436
436
436
436
437
437
438
438
439
440
441
441
441
441
442
443
443
444
444
444
444
444
444
444
444
444
445
445
445
447
447
449
449
450
450
450
451
452
452
453
453
454
454
454
454
454
454
454
454
454
454
454
454
453
452
450
450
450
450
450
450
450
450
450
452
452
454
456
458
458
459
459
460
461
463
464
464
464
464
465
466
466
466
466
466
467
467
468
468
468
469
469
470
471
472
473
473
474
474
475
475
475
476
477
478
478
478
478
478
478
479
481
482
485
485
486
488
488
488
488
488
488
488
488
488
490
491
488
487
489
491
492
494
494
494
495
495
495
496
496
496
498
498
498
499
499
499
499
500
501
504
504
504
504
506
507
508
510
514
514
516
516
516
516
516
515
514
514
513
513
513
516
518
518
519
519
519
520
520
520
520
520
521
521
521
523
523
524
524
525
526
527
527
528
529
529
530
531
531
532
533
534
535
536
538
538
538
539
540
542
547
552
555
556
556
556
556
555
554
555
555
556
558
564
569
572
576
582
580
577
576
576
574
574
579
579
579
579
579
579
578
578
578
578
578
578
578
578
578
579
580
583
585
586
586
587
589
589
589
589
589
589
589
590
596
598
598
598
598
599
601
602
603
604
605
605
605
605
605
605
605
605
606
606
607
607
608
610
611
611
611
611
611
611
612
613
613
615
615
618
618
618
618
618
618
618
618
618
618
618
618
618
619
619
619
620
621
622
624
624
625
626
627
628
629
631
631
632
632
632
633
633
633
634
634
634
635
636
636
637
638
638
638
639
640
641
642
642
642
642
642
643
643
644
646
647
650
651
651
651
651
651
651
651
651
651
652
653
654
655
656
657
659
659
661
661
662
662
662
662
662
663
663
663
663
664
664
665
666
667
669
669
670
671
672
672
672
672
673
673
673
674
674
675
675
676
676
676
676
677
677
677
677
678
678
679
679
679
679
680
681
682
684
684
685
685
686
686
687
688
688
689
691
692
693
694
695
696
697
698
700
700
700
699
698
698
697
697
696
695
694
694
694
694
694
694
695
695
695
695
695
695
695
695
696
696
696
696
696
696
696
696
696
696
696
696
696
697
697
698
698
698
699
699
700
702
702
703
703
703
704
704
704
705
706
710
714
715
715
715
716
719
720
722
722
722
722
722
722
722
722
722
722
723
723
724
724
724
724
724
725
725
726
726
727
727
729
730
730
730
731
731
732
733
733
734
736
740
741
743
744
745
746
747
746
746
746
746
747
749
749
751
754
756
757
757
757
758
758
758
760
762
762
762
765
766
773
773
778
782
785
786
786
786
790
790
791
794
794
794
796
797
797
797
799
800
800
801
802
802
804
805
807
808
808
809
809
810
811
813
814
814
816
819
819
820
821
822
823
823
824
825
826
826
828
828
829
829
830
830
831
832
835
835
836
837
837
838
839
841
842
842
843
844
846
846
848
848
849
852
860
861
865
869
872
877
879
881
883
885
886
887
888
889
890
891
896
900
900
900
900
900
900
900
900
901
913
920
920
920
920
920
920
920
920
920
920
920
920
924
927
930
931
934
935
947
949
953
961
962
962
962
962
962
962
961
961
961
961
960
960
959
959
958
958
958
957
956
956
955
953
953
952
952
951
951
950
948
946
943
940
936
934
932
925
915
909
908
907
905
904
904
900
899
899
899
899
900
901
901
901
901
899
899
899
898
897
896
896
895
894
893
893
891
890
888
888
887
887
886
883
883
882
881
881
880
880
879
878
877
875
874
874
873
873
873
872
872
872
872
872
872
872
873
873
873
874
874
874
874
874
872
872
869
869
868
867
867
866
864
863
862
861
861
859
858
857
857
855
855
853
853
853
852
852
851
846
842
838
837
837
835
834
834
833
832
831
829
828
828
828
824
823
823
822
820
819
818
815
814
813
812
811
811
811
810
810
809
808
806
805
804
800
800
800
800
800
797
795
794
793
792
791
790
789
788
786
784
783
781
780
780
780
780
780
780
780
780
780
780
780
775
773
771
771
771
769
768
768
767
764
763
762
761
760
756
756
755
755
755
754
754
753
752
751
750
750
753
754
756
752
750
748
741
739
739
738
734
734
735
737
738
740
741
736
731
729
725
725
725
725
725
725
719
717
717
717
716
715
714
714
713
713
712
712
711
710
710
710
710
709
709
708
708
708
708
706
706
706
706
706
706
706
705
700
697
697
697
696
696
695
693
692
692
689
688
688
686
686
686
686
686
686
686
685
685
685
684
684
683
682
681
681
681
681
682
682
682
681
681
681
681
681
680
680
680
680
680
680
680
680
680
680
680
680
680
681
681
681
681
681
681
681
681
682
683
684
684
685
687
689
690
690
687
686
685
685
684
681
671
669
667
665
668
670
672
674
678
680
681
682
683
687
688
690
691
694
698
700
701
702
704
701
693
683
683
683
684
685
686
686
686
686
685
685
684
684
683
683
683
683
684
685
687
688
688
693
696
696
696
694
690
689
689
689
689
689
689
689
689
689
690
691
691
691
694
696
697
697
697
698
698
698
698
699
699
700
700
700
700
700
700
700
700
700
700
695
693
692
693
693
694
694
695
697
697
698
698
699
701
703
706
707
708
709
710
710
710
710
710
710
710
710
710
709
708
707
705
705
705
706
706
706
706
706
706
706
705
705
705
705
705
721
729
738
743
746
747
747
746
746
742
732
730
728
727
726
725
721
719
718
715
714
714
713
713
713
715
717
714
713
712
712
711
710
710
709
709
708
707
707
706
705
702
701
701
702
703
705
707
710
713
711
710
709
706
705
704
701
700
700
700
700
700
700
700
700
700
701
702
702
702
702
701
701
701
701
702
702
706
709
709
713
713
714
720
729
737
740
742
744
745
748
751
752
753
761
761
761
761
761
761
760
758
762
764
766
767
768
771
773
774
775
777
776
775
774
774
773
771
768
768
767
767
767
767
766
766
766
766
763
761
760
757
755
751
745
744
743
740
739
735
734
729
728
726
723
718
716
714
713
708
708
708
708
708
708
708
708
708
708
708
708
708
709
709
709
709
709
709
706
704
703
703
703
703
703
703
704
704
705
705
707
708
708
708
709
709
709
708
707
708
709
709
709
709
710
710
711
711
712
712
713
715
716
716
717
718
720
720
722
723
723
723
723
722
722
722
721
721
720
719
716
715
714
711
711
717
718
719
719
719
717
716
714
713
714
715
718
718
720
721
721
721
721
721
721
721
722
725
726
727
728
732
733
734
735
735
744
748
749
750
751
750
750
749
748
748
746
744
743
743
744
745
747
749
749
749
750
750
750
750
750
749
749
749
749
749
749
749
749
749
749
749
753
747
746
744
742
740
739
737
726
716
717
717
718
718
718
719
719
719
719
719
719
719
719
719
719
719
719
720
720
722
728
733
731
729
729
729
729
729
729
729
729
729
729
729
729
730
730
730
730
730
730
730