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