559
558
558
558
558
558
558
559
559
559
575
582
582
581
581
582
580
574
572
572
571
570
569
568
568
567
567
566
565
565
565
566
566
566
564
563
562
562
563
565
566
566
566
567
567
569
570
572
573
574
577
577
578
579
580
581
582
582
583
584
585
589
601
602
607
613
614
617
621
624
629
629
629
629
630
634
636
640
646
650
658
661
672
676
678
687
691
693
694
696
698
703
703
705
708
711
714
715
716
718
722
724
726
732
734
736
739
739
739
741
743
744
745
747
749
750
752
753
755
755
759
760
761
761
761
758
753
750
744
743
739
738
735
734
726
725
724
720
719
711
708
707
701
698
698
698
698
698
698
706
706
707
707
707
708
708
708
708
708
708
708
708
707
706
706
705
699
700
698
698
695
693
690
687
686
686
686
686
687
683
678
676
675
675
674
672
672
672
672
671
670
669
668
667
665
665
664
663
663
661
659
654
651
651
650
650
649
649
648
647
647
643
642
642
641
639
639
637
636
635
635
630
629
625
624
624
624
621
619
611
608
606
606
606
606
605
605
606
608
609
612
609
604
590
581
581
580
580
580
580
579
579
580
582
585
587
585
582
579
577
588
590
590
590
589
589
588
588
588
586
585
583
582
577
574
572
570
567
563
560
558
544
542
527
527
527
528
528
526
522
518
516
512
508
506
505
505
505
497
490
471
474
490
497
480
471
469
473
473
441
445
445
446
447
447
444
438
435
434
435
441
443
443
440
440
442
442
441
441
440
439
438
434
432
441
449
452
453
451
447
440
436
442
450
445
440
440
440
440
441
444
444
444
453
456
458
458
458
456
455
455
454
453
453
452
453
454
455
455
456
456
456
455
455
455
454
454
454
454
454
454
454
455
457
458
459
460
461
461
461
461
461
461
461
463
467
468
470
471
471
472
472
471
471
471
472
473
473
473
474
475
476
480
481
482
483
484
484
484
485
485
485
485
485
485
485
486
489
493
493
494
495
497
497
498
498
498
498
498
497
496
495
494
493
493
494
495
496
496
500
500
499
497
495
492
491
489
489
489
488
487
487
486
485
484
483
483
483
482
481
481
477
476
473
472
471
468
467
464
463
461
460
459
457
456
455
453
451
450
446
445
445
443
442
440
437
431
427
427
430
434
440
437
437
437
436
435
432
426
417
399
409
415
419
419
419
418
417
412
409
406
405
403
396
394
392
388
384
382
383
376
370
367
366
366
365
365
367
368
367
368
368
370
368
368
368
369
370
371
374
372
371
371
372
380
387
397
399
402
403
405
412
414
416
419
422
425
425
425
425
425
429
430
436
435
434
433
432
429
427
426
425
426
429
431
433
434
434
435
435
436
437
436
433
432
431
431
431
432
432
433
429
419
419
420
421
422
424
426
426
427
428
428
434
438
443
446
451
452
454
457
455
453
449
445
442
441
440
438
436
435
434
434
433
434
436
439
440
439
434
428
425
419
416
412
406
401
399
397
411
417
419
416
415
414
413
412
410
407
394
383
384
385
385
387
383
382
380
375
371
379
388
381
370
362
361
361
360
360
365
371
375
375
374
373
373
372
372
372
373
374
376
376
376
375
375
374
374
373
372
372
372
373
374
378
378
377
377
377
379
382
385
385
385
385
385
384
383
382
381
383
386
387
391
392
392
390
388
385
382
381
381
381
381
382
382
382
382
382
382
382
381
378
370
371
372
375
378
380
380
381
384
389
393
394
398
400
398
396
396
394
390
390
387
386
385
384
384
383
381
379
376
374
374
374
374
374
373
372
372
371
370
369
367
366
368
368
369
369
369
370
374
381
380
377
379
380
383
386
387
388
387
387
386
386
385
385
384
383
382
382
381
380
379
378
378
377
377
377
377
379
380
381
379
370
363
358
360
363
365
368
372
374
374
374
374
373
373
374
377
376
375
373
373
374
373
372
369
367
367
367
368
371
373
376
377
376
374
373
372
368
365
365
366
366
373
378
385
385
385
390
391
388
380
375
375
374
374
373
373
373
373
379
381
384
388
388
388
388
389
389
389
388
388
387
387
387
387
387
387
386
384
382
380
377
375
371
370
368
369
374
378
382
384
383
382
381
381
385
389
390
391
390
382
377
372
369
368
367
367
366
365
365
365
365
365
366
368
370
373
375
372
370
367
364
361
358
360
362
365
371
374
376
378
382
383
382
381
378
380
383
386
388
388
388
387
387
384
383
381
379
378
377
378
380
382
384
388
391
403
406
401
399
398
396
396
397
397
398
399
401
403
412
410
407
403
403
403
403
403
402
401
401
400
398
394
391
389
386
384
378
375
373
374
377
385
384
382
377
372
371
371
370
370
371
372
372
378
383
386
389
388
387
386
385
383
382
381
381
381
381
381
381
379
378
375
370
364
360
359
364
369
372
370
369
368
367
365
366
368
369
371
371
371
371
367
364
360
361
366
369
372
374
376
377
378
378
375
368
364
355
352
348
351
355
362
366
371
372
372
371
370
375
376
376
376
376
375
374
374
374
373
367
365
363
361
358
356
351
350
352
353
355
356
359
362
362
363
362
360
358
357
364
366
369
369
368
367
366
360
355
350
351
354
356
360
362
365
367
366
365
364
362
361
361
361
361
362
363
367
372
375
374
369
368
368
369
371
371
371
370
370
370
370
369
367
365
362
354
352
349
350
351
353
354
352
349
344
340
338
337
336
336
335
334
332
330
329
328
328
326
323
323
323
323
323
323
324
322
320
318
316
315
306
301
299
299
300
300
300
299
297
290
287
284
277
276
271
270
269
268
268
268
268
268
268
265
263
262
261
260
259
258
257
256
254
251
247
244
242
239
241
241
243
243
244
244
244
243
245
247
248
250
253
258
259
264
267
269
276
280
281
287
295
297
304
307
312
313
319
320
325
327
329
331
332
332
334
335
337
338
341
343
344
344
347
350
351
352
353
353
351
351
350
349
350
352
357
361
362
362
362
361
360
360
360
361
363
367
374
376
377
381
387
390
390
393
406
412
412
412
412
412
412
412
412
415
418
422
424
425
425
426
426
427
426
425
425
425
425
427
431
435
437
438
439
438
437
436
433
433
434
436
438
440
445
450
453
455
457
459
462
468
468
468
469
470
471
473
474
481
485
488
489
489
492
496
504
511
519
528
538
543
547
553
558
560
561
564
573
575
577
578
579
580
580
580
580
580
580
580
584
591
602
607
610
610
610
610
610
610
614
617
619
620
622
625
628
630
631
634
637
640
642
645
647
651
660
664
666
666
667
668
670
671
672
672
677
679
680
681
685
692
697
700
701
704
706
707
708
708
710
714
717
723
726
728
731
738
742
744
745
746
747
748
751
753
756
760
764
770
771
772
777
783
789
790
791
792
792
792
796
801
806
807
808
809
810
811
811
811
813
814
814
815
816
816
816
817
817
817
817
817
817
817
817
813
806
803
803
803
801
800
798
800
803
807
809
811
818
820
826
826
827
827
828
828
828
828
828
828
827
827
825
825
825
825
824
823
823
822
822
821
820
819
817
816
814
810
812
812
813
813
813
813
812
810
809
809
808
807
806
806
806
805
805
805
805
805
804
803
801
801
802
802
802
804
808
809
809
811
812
814
819
826
831
835
837
839
842
844
846
847
848
849
852
854
855
859
861
863
864
867
873
876
878
879
881
883
885
886
887
893
895
899
903
905
905
909
915
917
918
920
923
925
927
936
941
942
943
945
950
956
958
961
964
968
972
978
994
996
998
1002
1003
1006
1012
1019
1022
1025
1033
1036
1040
1044
1051
1053
1054
1055
1055
1056
1058
1061
1062
1064
1065
1067
1069
1072
1073
1074
1076
1079
1080
1082
1086
1088
1088
1090
1091
1092
1092
1091
1090
1095
1097
1098
1101
1103
1103
1103
1103
1103
1103
1104
1093
1091
1092
1094
1097
1106
1108
1109
1110
1110
1110
1110
1109
1109
1109
1109
1109
1109
1109
1110
1110
1110
1109
1108
1107
1106
1105
1095
1093
1091
1092
1094
1104
1103
1103
1103
1103
1103
1102
1100
1097
1094
1090
1091
1092
1092
1091
1089
1088
1087
1086
1085
1083
1082
1079
1076
1069
1066
1065
1065
1064
1061
1060
1060
1059
1058
1057
1056
1055
1051
1045
1043
1040
1037
1034
1031
1029
1019
1016
1014
1014
1014
1014
1014
1015
1016
1019
1022
1027
1031
1032
1033
1035
1036
1039
1037
1034
1032
1029
1025
1027
1035
1036
1036
1036
1035
1032
1032
1032
1031
1030
1029
1028
1025
1022
1022
1021
1019
1018
1017
1017
1017
1018
1019
1018
1012
1010
1004
983
980
978
977
973
966
962
956
955
955
954
953
953
952
948
942
938
935
932
932
932
931
931
929
928
923
919
919
918
918
917
911
910
908
903
900
899
898
897
896
896
896
899
899
899
900
901
902
902
904
905
906
908
909
909
909
909
909
908
912
921
922
924
924
924
924
927
932
933
935
939
941
944
947
949
950
950
950
950
948
948
947
944
943
941
940
938
937
936
935
934
933
930
925
921
920
919
917
911
908
906
896
887
882
871
865
860
865
866
865
863
856
861
863
867
869
877
885
887
891
894
897
900
900
900
900
900
900
900
900
900
900
900
900
900
900
900
900
900
900
900
900
898
893
888
885
883
878
877
876
876
875
872
869
865
849
820
811
807
802
800
818
827
828
827
822
819
821
825
834
832
829
827
826
824
822
816
816
816
817
817
819
821
821
821
821
822
824
827
829
829
829
829
829
825
822
819
818
818
817
817
817
813
809
808
805
803
802
800
797
795
791
777
773
767
762
756
750
744
731
730
730
729
728
727
726
729
734
740
742
745
749
749
750
750
751
753
757
760
763
767
767
767
766
766
765
764
764
765
773
776
781
785
788
789
790
793
797
798
798
798
798
798
798
798
799
799
799
799
800
801
802
803
804
806
807
808
809
810
812
813
813
815
816
818
820
821
822
823
836
844
845
843
841
838
835
833
833
833
833
833
836
848
848
847
845
843
836
830
829
830
831
832
833
842
857
859
859
858
858
859
870
874
875
877
879
879
879
878
877
876
873
871
870
869
869
870
870
870
870
868
867
866
865
864
863
861
862
863
865
869
867
863
853
849
846
845
845
842
841
841
841
842
843
845
847
846
845
843
843
844
844
844
845
847
848
850
853
855
859
861
864
865
866
867
868
869
870
871
872
873
877
878
878
878
878
878
878
878
878
878
877
875
875
875
875
875
880
879
878
877
876
886
888
890
891
892
892
894
897
898
901
908
909
910
911
914
917
918
918
919
920
921
924
924
925
926
928
929
931
932
933
935
944
946
947
947
947
947
947
947
947
947
951
955
955
955
959
960
962
963
964
966
967
968
968
970
970
973
977
978
978
978
978
978
978
979
979
980
981
982
984
985
986
987
989
990
992
994
995
1000
1000
1001
1005
1006
1009
1010
1011
1012
1012
1011
1010
1007
1006
1008
1011
1015
1015
1014
1012
1012
1015
1017
1019
1021
1025
1028
1032
1036
1038
1041
1043
1044
1046
1050
1055
1059
1061
1057
1054
1061
1063
1066
1073
1077
1078
1079
1079
1080
1080
1080
1080
1079
1077
1074
1069
1069
1069
1070
1070
1071
1071
1071
1071
1069
1068
1067
1066
1065
1065
1067
1071
1073
1073
1073
1076
1076
1076
1078
1082
1082
1079
1074
1072
1067
1066
1058
1039
1037
1038
1039
1040
1046
1048
1052
1053
1055
1056
1057
1059
1059
1059
1060
1060
1060
1058
1056
1052
1048
1045
1041
1038
1035
1035
1035
1035
1032
1029
1027
1027
1026
1024
1023
1020
1019
1018
1017
1016
1014
1011
1010
1010
1010
1010
1006
1003
999
998
996
993
991
988
988
988
988
986
986
985
984
984
984
983
983
983
983
984
984
984
983
983
982
982
982
982
982
982
981
980
980
979
979
977
970
964
962
957
954
952
951
948
946
943
924
920
913
913
911
907
902
901
900
899
898
910
911
913
912
905
897
892
889
887
886
884
883
882
881
879
878
878
877
867
868
868
869
869
869
872
876
883
887
890
893
898
900
899
898
898
897
897
896
896
896
896
896
896
896
897
898
898
896
895
894
894
894
894
893
891
889
887
883
883
883
883
883
882
882
882
883
883
884
884
885
885
886
886
886
887
888
890
891
896
898
898
898
898
899
902
907
909
918
926
927
928
929
929
928
928
930
932
933
934
934
935
936
936
937
938
939
939
940
946
947
949
952
952
953
953
957
959
962
963
964
965
966
966
967
967
967
967
966
964
963
963
962
964
966
969
974
981
983
980
978
976
975
975
975
974
974
978
979
980
982
987
991
994
996
996
996
996
996
996
996
997
997
998
999
1000
1000
1001
1001
1002
1006
1011
1012
1013
1013
1013
1014
1017
1018
1019
1021
1023
1024
1026
1029
1029
1029
1029
1030
1031
1031
1031
1031
1031
1030
1029
1028
1023
1021
1020
1018
1017
1013
1010
1007
1006
1003
1003
1003
1003
1003
1003
1002
1002
1000
999
998
997
995
995
993
992
992
991
990
990
986
984
981
981
979
979
977
977
978
978
978
978
978
978
978
978
967
965
962
961
960
955
952
948
947
945
938
936
935
933
933
930
923
922
918
917
916
914
914
914
914
906
893
891
887
885
884
883
879
878
872
871
869
866
863
861
859
859
858
857
857
856
855
853
852
851
850
849
849
842
840
836
832
831
828
826
821
815
812
807
805
805
804
802
801
799
798
797
794
788
786
777
774
770
768
767
765
764
763
762
759
755
750
748
744
742
739
736
731
728
727
725
723
722
720
718
715
713
710
706
701
700
699
698
698
697
696
693
693
692
692
691
691
690
690
689
688
675
675
675
676
677
680
681
682
683
684
685
687
690
694
695
693
693
694
694
691
688
688
688
687
686
681
678
674
672
672
675
672
667
666
666
665
664
662
662
662
662
659
657
655
652
647
643
643
642
641
640
639
635
634
634
633
632
632
635
636
638
639
642
644
640
638
638
639
639
640
641
642
643
645
646
646
646
646
646
644
643
640
639
636
635
634
633
629
629
626
625
623
621
618
616
614
609
606
605
605
605
605
605
605
605
604
602
601
599
594
591
589
587
586
584
583
583
582
580
575
573
572
569
561
559
557
553
548
547
546
545
545
544
543
542
541
540
539
537
534
533
531
537
540
546
548
547
545
542
541
540
538
536
536
535
534
534
533
531
528
528
528
531
531
533
534
537
537
535
534
532
531
531
519
519
515
514
511
510
510
510
511
511
511
511
511
508
505
503
501
498
496
495
494
493
490
488
485
484
483
482
481
480
480
480
478
477
477
474
472
467
465
464
463
462
459
457
456
454
452
454
456
458
463
468
470
472
473
473
473
473
471
471
471
470
470
469
467
466
465
464
463
463
463
462
462
461
461
461
459
458
457
457
456
455
453
452
452
452
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
452
453
455
456
456
459
460
461
462
462
465
466
466
467
470
471
473
476
477
478
479
479
480
481
481
481
481
481
481
481
481
481
481
481
482
482
482
482
482
483
483
483
483
483
483
483
483
482
482
482
481
481
481
476
475
475
476
476
477
477
477
479
480
480
481
481
481
484
485
486
486
486
488
490
491
493
493
494
495
495
496
496
497
497
497
497
498
499
500
501
501
501
502
502
502
503
504
506
506
507
508
509
510
510
510
511
512
513
516
517
519
521
522
523
525
527
532
534
535
535
535
533
530
527
525
523
521
519
516
513
511
509
508
507
504
503
501
500
499
497
496
494
493
490
489
488
488
488
487
485
485
484
483
483
482
481
480
479
478
476
475
475
474
473
473
470
469
466
466
466
466
466
466
466
466
466
466
468
469
470
470
471
472
470
466
465
464
463
462
462
463
463
468
468
469
469
471
474
475
475
482
482
481
479
477
475
472
471
470
469
468
465
463
463
461
458
456
452
451
444
443
441
438
433
433
432
432
432
432
432
431
430
430
430
431
431
431
431
432
432
433
433
431
429
428
428
428
428
428
431
431
432
437
442
442
442
444
438
436
435
434
436
440
441
442
449
453
455
455
454
454
454
453
451
451
456
460
464
470
473
475
480
482
483
486
489
491
493
494
496
497
498
499
501
502
503
504
505
506
506
505
501
499
497
496
495
494
493
493
494
494
499
499
500
506
511
513
516
520
524
525
517
517
509
508
507
507
507
512
519
525
530
538
541
542
542
543
544
545
546
546
547
547
547
545
545
545
544
544
545
546
546
547
547
547
546
546
547
547
548
550
554
557
558
558
558
558