192
194
196
199
200
200
200
200
201
203
203
204
206
207
210
213
215
218
222
226
230
235
242
249
250
252
254
257
260
260
261
261
261
264
266
271
275
274
270
270
269
268
266
266
266
265
264
266
273
278
276
274
275
276
276
276
277
279
284
290
293
293
293
294
295
295
297
299
301
301
301
301
301
301
300
296
295
290
286
285
285
282
278
276
275
275
275
275
277
278
281
285
288
293
298
302
307
314
320
325
326
327
328
330
334
334
334
334
334
334
334
334
334
334
334
334
334
335
335
335
336
337
339
341
342
343
344
345
346
347
347
347
347
346
346
346
346
345
344
343
343
342
338
335
334
333
333
332
332
339
342
345
349
352
356
358
359
359
359
358
357
357
357
356
354
353
352
352
350
350
351
352
354
357
358
359
357
354
354
354
354
354
356
357
357
357
357
357
358
360
360
361
361
361
360
360
358
357
357
357
358
358
358
359
360
360
361
362
364
366
368
374
375
376
379
378
378
378
378
377
377
377
377
377
373
371
370
369
369
366
363
363
361
358
356
354
351
351
346
344
344
344
345
345
345
345
343
340
336
336
334
332
331
331
330
329
329
325
323
321
319
317
318
318
319
320
321
324
327
329
330
337
336
335
335
334
332
331
327
323
320
320
321
324
326
328
328
333
338
339
340
341
344
345
345
346
350
352
353
360
368
376
382
386
390
395
398
402
404
412
415
423
429
436
444
445
446
448
449
452
453
455
457
458
459
461
464
467
470
472
473
475
477
477
477
476
474
471
470
468
467
467
467
467
467
467
467
467
467
467
466
464
463
463
462
461
461
461
460
460
459
460
461
461
460
459
460
461
462
465
466
467
470
473
475
475
476
476
476
476
474
473
474
475
476
478
483
485
488
491
492
493
494
495
495
495
495
495
496
496
497
497
497
498
499
500
502
503
503
503
503
503
503
503
503
503
503
504
506
508
510
512
513
514
515
515
515
515
515
515
515
515
515
515
515
515
516
516
518
519
520
521
521
522
525
527
528
529
531
531
532
533
533
534
534
534
534
534
534
534
534
534
534
537
540
540
541
544
548
552
553
552
552
551
551
549
545
541
541
541
541
541
541
543
544
544
545
547
548
549
549
551
553
554
554
556
558
558
558
558
558
558
558
557
557
557
557
557
558
560
562
565
572
576
580
581
583
584
589
596
597
600
600
601
601
602
601
601
600
600
601
601
602
602
602
603
605
606
607
607
608
611
614
616
618
619
620
622
623
624
626
628
630
630
633
635
638
640
644
649
653
657
660
665
670
671
671
671
671
671
671
677
686
689
689
689
689
689
691
692
696
702
709
715
716
717
720
724
729
731
736
743
749
752
758
762
767
772
776
779
783
786
789
789
791
793
794
798
802
806
812
816
818
821
823
824
826
829
830
831
833
834
837
840
840
839
837
836
834
833
829
829
829
829
829
831
835
838
839
839
839
840
840
841
843
845
850
854
860
861
862
864
863
863
861
860
858
854
851
850
848
846
845
843
841
840
836
833
828
826
824
821
820
818
814
811
807
803
800
798
795
792
791
790
790
787
784
779
773
761
748
740
738
736
736
733
729
725
722
720
720
720
720
720
720
720
720
716
713
707
701
695
687
679
672
668
664
657
652
646
641
636
633
633
630
628
621
612
605
599
594
591
588
585
583
585
586
587
588
587
585
584
583
582
581
575
568
565
565
564
563
563
563
563
563
559
555
554
553
549
544
541
536
531
528
528
528
528
527
526
525
525
523
519
517
514
512
511
511
509
508
507
506
505
504
504
504
504
504
504
504
504
503
503
503
503
503
501
497
493
492
491
489
490
492
490
485
480
473
466
459
454
449
445
441
437
434
431
430
429
428
423
419
419
420
421
421
421
421
420
418
416
415
412
411
409
408
407
406
405
404
402
401
398
395
392
388
381
374
370
362
356
349
346
345
343
341
341
340
339
338
338
336
336
336
336
336
335
332
332
330
330
331
331
331
331
331
335
338
341
343
346
348
349
361
367
371
376
382
384
389
390
392
394
393
390
386
381
378
375
371
366
359
353
348
343
342
343
346
349
348
342
340
339
336
335
332
330
328
322
318
313
307
301
296
294
292
292
292
292
292
292
292
292
290
290
290
288
288
287
286
286
286
287
288
288
288
288
288
288
287
287
287
287
286
286
286
286
286
286
287
289
290
290
292
294
295
296
297
298
300
301
302
303
305
307
311
318
321
326
329
334
338
341
347
353
358
363
370
377
381
385
386
387
388
394
400
405
408
413
414
418
419
419
419
419
419
421
424
427
431
438
441
446
450
453
455
458
463
467
468
468
467
467
470
472
473
474
475
477
478
480
483
486
493
502
508
515
520
527
533
536
538
539
543
548
552
554
556
564
566
575
584
590
596
602
609
612
617
620
627
633
640
647
653
659
664
671
677
681
685
689
692
700
707
714
718
720
727
732
736
742
748
749
752
753
754
754
753
751
750
749
749
748
747
746
744
742
740
740
741
741
742
742
742
742
740
740
739
739
740
740
742
744
747
747
746
746
747
748
750
754
757
760
760
760
758
758
757
757
757
757
757
759
760
761
762
763
765
768
770
771
772
772
770
765
761
756
750
745
741
739
737
736
735
733
730
727
722
720
717
714
710
706
703
703
701
698
694
692
689
686
682
676
672
669
667
667
666
665
664
661
659
658
657
656
656
656
657
657
656
655
654
654
656
660
662
665
665
666
666
668
668
667
665
664
663
661
659
657
655
657
660
662
664
665
667
669
670
671
673
676
679
685
693
697
699
701
703
704
706
709
712
714
716
719
721
722
723
726
727
728
728
729
729
730
731
734
736
738
740
742
744
747
749
751
753
754
757
759
759
759
759
761
765
767
770
777
783
786
789
791
792
794
795
796
797
799
799
799
798
798
797
795
793
792
792
792
790
788
784
783
782
781
778
776
774
774
777
783
786
789
790
793
796
800
804
809
812
815
821
824
827
832
836
838
840
842
844
845
845
845
846
848
854
857
858
858
859
859
856
854
853
852
851
853
854
855
855
856
859
862
861
859
858
855
853
852
850
849
846
843
840
837
835
833
830
829
831
832
832
832
830
828
826
823
821
819
817
814
810
806
805
802
794
789
786
781
778
774
771
769
768
767
765
764
763
762
761
761
761
760
758
756
753
750
748
745
741
738
736
733
730
727
724
722
718
715
712
709
705
703
701
699
698
696
694
691
689
687
685
681
677
676
670
663
656
650
647
640
635
632
630
629
628
627
628
630
631
631
631
631
630
628
626
623
620
616
610
606
601
595
592
590
590
589
589
589
588
585
583
582
578
569
557
546
535
533
532
531
531
530
528
526
517
511
503
492
479
470
464
464
465
466
467
468
468
467
467
466
466
463
462
461
458
456
454
453
453
447
443
440
438
435
429
426
425
422
420
417
414
410
409
408
407
407
406
406
406
406
406
407
408
409
410
410
412
415
419
422
423
424
426
426
427
428
429
432
436
438
438
438
435
434
432
431
431
432
433
434
435
436
438
440
442
444
447
449
451
453
454
454
453
452
452
451
452
453
454
455
456
457
459
463
469
474
478
482
483
485
489
492
497
498
498
497
496
495
494
494
494
494
494
499
501
504
504
504
511
516
519
517
514
512
508
503
503
502
501
501
501
501
500
502
505
509
512
515
517
517
520
522
524
526
528
528
526
524
523
521
518
512
507
502
496
492
492
492
493
494
494
495
495
492
489
488
488
488
489
490
492
493
497
498
501
504
506
512
518
519
519
519
519
518
518
518
518
520
523
526
527
527
529
529
529
529
529
529
530
530
531
532
533
532
531
529
529
528
526
524
522
521
523
524
524
525
527
527
528
529
534
537
540
541
542
543
546
548
548
547
547
547
547
548
549
551
552
552
557
558
559
561
564
567
569
570
572
573
576
577
578
580
584
589
593
596
599
602
604
607
609
610
611
614
617
618
619
621
623
623
624
625
625
625
626
626
626
627
627
628
628
629
630
632
633
633
636
639
641
645
650
653
654
656
658
661
663
664
666
668
670
672
679
685
687
691
698
703
708
714
717
720
724
729
735
740
745
755
766
778
786
791
796
800
805
811
819
829
835
842
856
870
884
888
893
894
899
901
905
907
910
913
916
917
918
920
922
924
924
924
924
925
925
925
925
926
927
928
929
930
930
931
934
936
937
938
940
941
943
944
945
946
947
948
948
949
950
951
953
954
955
955
953
952
950
950
948
947
946
946
945
944
942
940
937
934
932
931
931
931
931
932
934
935
935
935
936
937
937
939
941
946
950
954
958
961
964
966
964
962
957
952
949
949
946
944
944
943
942
940
938
937
937
936
936
936
935
933
932
929
922
918
915
913
911
911
910
905
899
891
884
882
879
878
875
871
868
864
859
856
852
851
849
847
844
839
834
829
827
825
823
823
822
822
821
820
818
816
811
806
803
802
794
783
774
769
765
761
758
758
758
757
756
755
757
762
767
768
772
778
783
784
784
784
781
778
775
774
776
780
782
783
784
783
781
780
779
777
775
775
774
774
774
773
773
776
781
784
788
792
797
797
800
803
804
806
808
811
816
818
821
824
827
829
831
831
831
833
835
838
840
843
846
849
853
857
860
863
868
873
876
878
880
881
884
893
902
908
911
916
925
933
934
936
936
938
939
940
939
936
933
930
927
924
923
924
925
926
930
933
935
935
935
935
934
933
932
931
929
929
927
925
923
921
920
919
918
918
917
916
916
916
915
914
913
911
910
907
904
902
900
899
897
895
893
891
891
892
893
894
896
897
898
898
899
900
901
902
902
903
904
905
907
909
910
911
911
911
910
909
907
904
903
903
903
903
903
903
901
900
899
899
899
899
899
901
902
904
906
908
909
909
909
908
908
907
907
906
904
902
900
900
900
899
899
899
898
896
895
893
891
889
889
889
889
889
889
889
889
890
891
892
892
893
893
895
896
898
900
902
903
903
903
903
903
903
903
905
906
907
909
911
911
912
914
915
916
918
921
924
928
929
930
931
932
933
933
935
938
938
938
939
942
944
946
949
951
953
957
959
960
962
963
964
965
965
962
959
957
954
952
950
950
951
951
952
953
953
953
953
952
952
951
951
951
949
948
945
943
942
940
943
946
947
947
949
951
953
953
956
957
958
962
964
966
966
966
965
965
964
964
964
962
958
956
955
952
949
946
944
939
937
933
929
925
922
918
915
914
910
907
904
899
895
893
891
888
884
882
879
877
875
872
868
861
857
853
853
853
853
854
853
851
847
845
844
841
838
838
838
838
838
838
838
838
835
832
831
831
831
830
832
833
835
837
840
842
843
844
845
846
847
848
849
850
851
853
853
854
854
854
854
855
857
857
856
857
869
876
880
876
875
874
871
868
864
860
856
853
847
845
845
844
842
842
842
841
838
835
834
832
827
822
818
815
813
812
809
806
803
798
797
797
797
794
793
792
789
787
786
783
782
783
784
786
788
790
793
795
802
809
811
810
810
806
802
799
799
799
800
802
803
804
803
803
799
795
792
790
789
788
785
784
783
781
781
782
783
784
785
786
787
787
787
786
786
786
786
787
787
784
782
780
780
781
781
779
778
776
774
773
771
771
771
770
769
767
765
766
769
772
774
775
776
776
777
781
786
791
796
801
804
806
809
812
815
817
818
820
822
825
827
831
834
838
841
844
848
849
850
851
855
858
862
867
871
878
880
881
882
884
885
887
888
891
895
899
903
909
906
900
895
893
892
892
892
892
892
892
892
891
888
886
884
883
882
878
875
871
870
868
867
864
860
858
857
856
860
862
869
874
879
881
881
881
882
884
887
891
895
896
899
902
904
906
907
907
907
908
909
910
911
915
920
924
926
929
932
935
938
939
940
941
941
942
942
942
942
942
942
942
943
943
943
944
945
945
946
946
947
947
948
949
950
951
952
953
953
954
955
955
955
955
956
957
958
958
958
958
958
959
961
962
962
960
959
958
956
956
957
958
958
958
958
957
957
957
955
954
953
952
952
952
953
953
953
954
955
956
957
958
959
960
960
959
959
958
958
957
957
957
957
957
957
957
957
957
957
956
955
952
948
941
935
929
923
918
916
915
913
912
912
912
912
912
912
913
914
915
916
917
918
919
920
920
921
922
923
926
926
927
927
928
928
929
929
929
929
930
930
931
932
933
933
934
934
934
932
931
930
929
928
928
928
928
928
928
928
928
928
928
928
928
927
927
926
926
925
923
923
922
922
921
920
919
919
918
918
918
918
918
918
918
919
919
919
919
919
919
918
917
917
916
915
915
914
913
913
912
912
911
911
911
910
910
910
910
910
910
910
910
910
910
910
910
909
909
909
909
909
909
908
908
908
908
908
909
909
910
910
910
911
911
911
911
911
911
911
911
911
911
910
910
910
910
910
910
910
910
910
910
910
910
910
910
911
912
912
913
914
914
915
917
919
918
916
913
908
905
901
899
897
896
895
895
894
893
893
894
895
896
896
897
897
898
901
903
905
905
905
905
904
902
900
898
895
893
892
890
888
887
886
886
886
886
886
886
886
886
886
885
884
885
885
885
886
886
887
888
889
890
891
892
894
896
899
901
901
902
904
906
909
911
914
916
918
919
919
919
919
921
922
925
929
933
935
937
939
943
945
947
948
948
948
947
947
947
946
946
947
950
951
952
953
954
955
955
956
957
958
959
960
961
962
962
964
965
968
971
974
977
979
982
985
987
988
989
992
995
997
999
999
1001
1004
1006
1006
1006
1007
1009
1010
1011
1012
1013
1014
1015
1016
1016
1017
1019
1020
1021
1023
1025
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1037
1038
1038
1039
1039
1040
1041
1041
1041
1041
1041
1042
1042
1042
1042
1042
1042
1043
1044
1045
1047
1049
1050
1050
1049
1049
1049
1049
1049
1047
1046
1044
1043
1041
1039
1037
1034
1030
1028
1026
1024
1019
1014
1010
1009
1004
1002
1000
998
997
996
994
992
991
990
989
987
986
985
982
980
977
972
969
966
964
961
957
954
952
949
946
941
938
933
928
924
921
921
920
920
919
919
919
918
918
918
917
916
913
908
905
902
900
898
896
895
893
892
891
890
890
889
889
888
887
885
882
880
878
877
876
874
872
868
865
861
858
858
857
856
855
854
853
851
849
845
837
832
828
828
827
826
826
825
822
820
816
813
806
805
802
799
790
789
788
786
785
783
776
774
772
771
765
758
757
755
752
750
749
748
746
744
742
740
738
737
736
730
729
728
727
723
722
719
716
713
709
706
704
697
695
694
694
693
691
690
689
685
684
682
680
677
676
675
674
673
672
670
669
667
667
666
665
663
661
659
659
658
658
657
656
656
655
654
653
653
652
652
650
648
647
647
647
646
646
645
645
644
644
643
643
641
639
638
637
637
637
636
637
638
639
640
640
640
638
636
634
629
628
628
628
627
627
626
626
625
625
624
624
624
624
625
625
626
626
627
627
629
630
630
631
631
632
633
633
633
633
633
634
636
637
639
641
642
640
639
638
638
638
639
640
640
640
637
634
631
628
629
630
631
631
631
631
630
630
630
629
629
629
628
628
628
627
626
626
625
624
623
622
621
620
619
619
617
614
611
609
615
620
622
620
614
610
608
608
606
603
597
591
591
593
593
594
594
592
590
590
589
577
568
563
561
562
562
562
563
563
563
563
562
558
554
550
548
545
540
530
525
522
521
520
520
524
527
528
528
530
531
533
534
536
545
545
545
546
548
549
551
556
558
561
563
564
565
567
569
571
572
573
575
576
578
579
580
580
584
585
586
587
588
588
588
590
592
592
593
593
594
594
595
596
596
597
597
597
598
600
601
602
602
602
603
604
604
605
605
606
606
606
606
607
607
607
607
608
608
608
608
608
609
609
610
610
610
610
611
611
611
612
612
613
613
613
613
614
614
614
615
615
616
617
618
618
618
618
618
617
617
617
616
616
615
615
614
614
612
613
614
615
616
618
619
620
620
620
619
619
617
616
615
615
615
616
616
616
617
617
617
617
617
617
619
619
621
622
622
623
623
623
624
624
624
625
626
627
627
627
628
629
629
630
631
632
633
634
638
639
640
640
642
642
643
644
645
646
646
647
648
648
649
649
650
651
651
652
653
660
662
665
669
672
676
679
680
681
683
685
686
686
686
685
685
684
685
689
693
695
696
699
703
706
709
712
713
716
716
718
719
723
724
725
726
728
730
732
733
735
736
736
736
736
736
738
739
739
741
741
743
750
752
756
760
766
770
772
774
774
773
773
772
772
772
772
772
772
772
772
772
772
772
774
776
776
778
778
779
779
779
779
778
776
775
774
773
772
772
772
772
772
773
774
775
776
776
774
773
771
768
766
765
764
763
763
762
762
762
762
762
762
762
763
764
765
765
767
769
772
774
775
777
779
780
781
782
783
785
785
784
784
783
781
780
778
778
776
772
770
769
768
768
766
764
763
762
761
758
758
756
755
755
754
754
753
752
751
750
749
747
745
741
738
735
732
728
725
724
724
724
723
723
720
719
715
714
712
712
711
709
702
695
689
684
679
674
670
667
663
662
662
660
661
662
663
664
666
668
669
669
670
670
670
670
670
670
670
670
670
670
673
677
683
683
683
683
684
684
684
684
684
682
678
676
675
672
669
667
669
672
673
675
675
676
676
676
675
674
674
672
672
672
672
672
672
670
668
667
665
664
660
654
649
647
644
644
643
643
642
639
639
634
630
627
626
625
625
626
627
628
629
629
630
630
630
630
630
629
627
625
625
625
626
626
626
626
627
628
628
628
628
627
623
617
614
612
611
610
609
607
607
605
608
610
612
617
621
623
624
625
626
627
632
635
638
640
642
643
644
647
651
653
654
655
656
656
656
655
660
664
666
669
670
671
675
676
677
678
679
679
678
678
678
677
677
676
676
675
675
674
673
672
670
669
665
664
663
661
662
662
663
664
665
666
667
667
666
666
664
664
665
666
667
667
665
663
661
659
655
649
644
644
644
643
643
643
642
641
641
641
640
640
640
640
640
640
642
642
640
638
635
633
631
629
627
623
620
620
620
620
620
619
618
616
610
606
605
605
602
601
600
598
595
594
589
587
585
582
580
575
570
567
563
561
561
558
557
555
554
552
549
545
539
534
529
529
529
529
529
528
528
523
520
516
515
512
511
507
503
502
501
498
497
496
494
492
491
491
490
489
488
487
486
484
482
481
479
476
475
473
471
470
469
465
461
460
457
453
449
444
436
435
433
430
429
427
424
422
421
421
421
422
422
423
424
425
425
426
426
427
427
428
428
429
429
430
433
433
434
434
434
436
440
442
446
452
452
452
452
452
451
451
451
451
450
450
450
451
451
452
452
452
452
452
452
451
450
447
445
444
442
442
445
447
450
451
452
448
445
443
441
440
436
436
435
435
434
433
432
430
429
429
429
429
430
432
432
433
434
433
425
422
419
415
414
412
409
406
400
400
400
400
399
398
397
397
397
396
396
394
386
378
376
375
374
374
375
375
376
376
377
378
378
379
380
381
383
384
388
391
393
394
396
400
404
407
408
410
414
419
425
426
426
426
426
427
429
431
432
433
435
435
436
437
431
423
422
421
420
416
416
414
410
405
398
393
388
382
378
374
372
369
363
356
352
349
347
343
342
341
340
339
339
338
337
335
335
332
330
327
327
327
327
327
327
327
327
327
327
327
327
327
327
326