0
0
0
0
2
5
8
11
11
11
11
11
11
13
13
13
15
15
15
15
15
17
18
21
21
24
24
24
26
28
28
28
30
30
31
34
39
39
39
39
39
45
46
46
46
47
54
54
64
64
64
64
70
70
71
75
80
80
83
85
95
117
125
149
153
178
212
239
298
354
443
443
444
444
444
444
445
447
449
450
450
452
452
452
452
452
452
452
452
452
452
452
452
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
453
454
454
454
454
454
454
454
455
455
455
455
455
455
456
456
456
456
458
458
458
458
460
460
462
462
464
466
466
466
466
466
466
466
468
470
470
470
470
470
470
470
470
470
470
470
470
470
473
473
475
475
475
475
475
475
475
475
477
477
477
477
477
477
477
477
477
477
478
478
478
478
478
478
478
478
478
478
478
478
480
480
480
480
480
480
480
480
480
480
480
480
481
481
481
481
481
481
481
481
481
481
483
483
487
487
487
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
488
490
490
494
494
494
495
495
495
495
495
495
495
497
497
497
497
497
497
497
499
499
499
499
499
499
502
502
504
504
506
506
509
509
511
511
515
515
520
520
523
523
523
523
523
523
523
523
526
526
531
531
535
535
535
535
537
539
542
545
550
553
553
553
556
558
558
558
563
563
563
563
563
567
568
570
575
575
575
575
575
575
575
578
581
587
588
593
593
593
593
593
593
593
593
593
593
593
593
594
594
594
595
597
597
597
597
597
597
597
598
600
600
600
600
600
600
603
603
609
610
619
619
619
622
622
622
622
629
632
635
635
643
644
654
659
671
677
677
677
679
679
685
688
699
707
710
713
713
723
723
723
723
726
726
737
743
756
761
774
774
786
786
792
798
811
811
824
824
838
838
839
839
839
839
839
839
852
852
865
875
889
889
895
895
907
927
933
945
957
973
973
989
989
999
1022
1032
1039
1058
1092
1122
1141
1161
1196
1216
1236
1252
1286
1320
1320
1320
1320
1320
1339
1358
1393
1428
1478
1527
1592
1656
1718
1767
1831
1831
1831
1831
1831
1831
1831
1831
1833
1833
1833
1833
1833
1833
1833
1833
1833
1833
1833
1833
1833
1833
1833
1833
1833
1833
1833
1833
1833
1833
1833
1833
1833
1833
1833
1835
1835
1837
1837
1840
1843
1845
1847
1847
1849
1852
1852
1852
1852
1852
1852
1852
1852
1852
1852
1852
1852
1852
1852
1852
1852
1852
1852
1852
1852
1852
1853
1853
1853
1853
1853
1853
1853
1853
1853
1853
1853
1853
1853
1853
1853
1853
1853
1853
1853
1853
1853
1853
1853
1853
1853
1853
1853
1853
1853
1853
1853
1853
1854
1854
1854
1855
1855
1855
1855
1855
1855
1855
1855
1855
1855
1855
1855
1855
1855
1855
1855
1855
1855
1855
1856
1856
1856
1856
1856
1856
1856
1856
1856
1856
1856
1856
1856
1856
1856
1856
1856
1856
1856
1856
1856
1856
1856
1856
1856
1856
1856
1856
1856
1856
1856
1856
1856
1856
1856
1858
1860
1860
1860
1860
1860
1860
1860
1860
1860
1860
1860
1860
1860
1860
1860
1860
1860
1860
1860
1864
1864
1864
1864
1868
1868
1872
1872
1872
1872
1872
1872
1872
1872
1872
1872
1872
1872
1873
1873
1875
1875
1875
1875
1875
1875
1875
1875
1875
1875
1875
1875
1875
1875
1875
1875
1875
1875
1875
1875
1877
1877
1877
1877
1879
1881
1881
1881
1881
1881
1881
1881
1881
1881
1881
1881
1883
1885
1885
1885
1885
1885
1888
1888
1891
1891
1891
1891
1891
1894
1894
1897
1897
1897
1897
1899
1899
1899
1899
1901
1901
1901
1901
1901
1901
1901
1901
1901
1901
1903
1905
1906
1906
1906
1909
1909
1909
1909
1909
1909
1909
1909
1909
1909
1909
1909
1909
1909
1909
1909
1909
1909
1909
1909
1909
1909
1909
1909
1909
1913
1913
1913
1913
1913
1913
1913
1913
1913
1914
1914
1914
1916
1916
1916
1916
1916
1917
1920
1920
1922
1922
1922
1922
1926
1930
1934
1934
1934
1934
1934
1934
1934
1934
1934
1934
1934
1934
1934
1934
1934
1934
1934
1934
1934
1934
1935
1935
1936
1936
1939
1941
1946
1951
1956
1956
1956
1956
1956
1956
1956
1956
1959
1962
1965
1968
1972
1972
1972
1972
1972
1972
1972
1972
1972
1972
1972
1972
1972
1972
1975
1975
1979
1979
1979
1979
1979
1983
1988
1988
1992
1992
1994
1996
2001
2003
2007
2007
2007
2007
2007
2007
2007
2007
2007
2007
2007
2007
2007
2007
2007
2007
2010
2011
2016
2017
2022
2022
2022
2024
2025
2025
2025
2025
2028
2028
2030
2030
2030
2030
2030
2030
2030
2030
2033
2033
2033
2033
2033
2033
2033
2033
2033
2043
2043
2043
2049
2059
2059
2059
2059
2059
2059
2059
2059
2060
2063
2063
2063
2063
2066
2069
2069
2072
2072
2075
2078
2080
2083
2083
2086
2089
2089
2089
2089
2089
2089
2089
2089
2099
2109
2109
2109
2109
2109
2109
2110
2113
2113
2119
2119
2125
2133
2133
2133
2142
2152
2152
2152
2152
2152
2152
2152
2152
2152
2157
2170
2185
2200
2200
2200
2200
2200
2206
2206
2212
2222
2222
2222
2222
2228
2228
2238
2238
2239
2239
2251
2263
2268
2281
2296
2309
2309
2309
2309
2309
2309
2309
2314
2327
2342
2357
2363
2363
2363
2369
2377
2377
2411
2444
2444
2464
2499
2519
2539
2551
2586
2606
2641
2641
2654
2667
2701
2736
2736
2771
2779
2779
2779
2779
2779
2779
2779
2779
2779
2779
2779
2779
2779
2779
2779
2779
2779
2779
2779
2779
2779
2779
2779
2779
2779
2779
2779
2779
2779
2779
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2783
2786
2790
2790
2790
2793
2797
2797
2797
2797
2797
2797
2797
2797
2797
2797
2797
2797
2797
2797
2797
2797
2797
2797
2797
2800
2803
2803
2803
2803
2803
2803
2803
2803
2803
2803
2803
2803
2803
2803
2803
2803
2803
2803
2806
2810
2810
2810
2810
2810
2810
2810
2810
2810
2810
2813
2813
2813
2813
2813
2813
2813
2817
2817
2817
2817
2817
2820
2824
2824
2824
2834
2834
2834
2834
2844
2844
2859
2869
2869
2879
2889
2899
2914
2914
2929
2929
2939
2954
2969
2969
2969
2974
2979
2984
2989
2989
2989
2989
2991
2994
2997
3000
3000
3002
3002
3004
3004
3009
3010
3010
3013
3017
3022
3024
3029
3033
3034
3039
3041
3046
3048
3051
3055
3060
3064
3069
3073
3078
3083
3087
3090
3090
3093
3100
3108
3120
3129
3136
3150
3151
3165
3172
3187
3199
3213
3225
3240
3254
3268
3282
3297
3307
3327
3349
3378
3409
3434
3469
3501
3533
3569
3623
3680
3730
3799
3799
3801
3801
3801
3801
3803
3806
3809
3810
3810
3812
3812
3812
3812
3814
3814
3814
3814
3815
3815
3815
3815
3816
3816
3816
3818
3819
3819
3819
3819
3819
3819
3819
3819
3820
3820
3820
3820
3820
3824
3825
3825
3825
3828
3832
3834
3834
3837
3837
3837
3837
3840
3845
3845
3850
3852
3854
3858
3860
3862
3865
3870
3874
3876
3879
3884
3888
3890
3894
3899
3902
3902
3902
3902
3902
3902
3905
3910
3914
3918
3918
3921
3921
3921
3921
3923
3923
3923
3923
3927
3927
3930
3933
3938
3939
3939
3939
3939
3939
3939
3940
3944
3946
3946
3946
3946
3946
3946
3946
3950
3950
3955
3960
3960
3965
3965
3965
3965
3965
3969
3969
3974
3975
3980
3985
3989
3994
3994
3994
3994
3994
3994
3994
3999
3999
4004
4004
4004
4004
4004
4007
4007
4007
4010
4012
4016
4016
4021
4024
4026
4031
4031
4031
4031
4031
4031
4031
4031
4031
4031
4031
4031
4031
4031
4032
4034
4035
4038
4039
4044
4045
4050
4055
4060
4065
4068
4073
4073
4078
4081
4081
4086
4090
4094
4099
4104
4108
4108
4113
4114
4119
4124
4129
4131
4136
4140
4145
4145
4150
4152
4157
4159
4164
4168
4173
4178
4183
4186
4191
4191
4191
4191
4191
4191
4191
4196
4201
4206
4211
4216
4221
4226
4230
4231
4236
4241
4246
4251
4256
4261
4261
4263
4268
4272
4274
4279
4284
4284
4284
4284
4284
4288
4292
4297
4302
4302
4308
4308
4308
4310
4317
4325
4333
4338
4339
4345
4345
4345
4346
4350
4350
4351
4356
4368
4375
4375
4378
4393
4393
4396
4402
4406
4408
4408
4411
4413
4413
4413
4420
4425
4428
4436
4439
4439
4452
4467
4473
4485
4498
4513
4516
4521
4536
4539
4544
4555
4570
4584
4595
4601
4616
4626
4635
4647
4662
4674
4674
4679
4689
4694
4704
4715
4730
4744
4758
4773
4773
4786
4800
4814
4829
4844
4854
4869
4884
4899
4909
4924
4938
4953
4959
4974
4985
5000
5012
5027
5041
5056
5066
5076
5077
5087
5095
5105
5118
5133
5146
5161
5176
5191
5200
5226
5247
5282
5316
5332
5362
5392
5405
5405
5421
5437
5465
5500
5530
5549
5583
5618
5653
5686
5721
5756
5791
5810
5842
5877
5909
5909
5909
5909
5909
5928
5962
5997
6029
6094
6149
6214
6272
6326
6369
6431
6431
6431
6431
6431
6431
6431
6431
6435
6435
6435
6435
6435
6435
6435
6435
6435
6435
6438
6438
6438
6439
6439
6439
6439
6439
6439
6439
6439
6439
6439
6439
6439
6439
6442
6445
6445
6450
6450
6454
6458
6462
6467
6467
6472
6475
6475
6475
6475
6475
6475
6475
6475
6475
6479
6479
6479
6479
6479
6479
6479
6479
6479
6481
6481
6481
6484
6486
6486
6486
6487
6487
6487
6487
6487
6487
6487
6487
6487
6487
6487
6490
6490
6490
6490
6490
6490
6493
6493
6493
6493
6493
6493
6493
6493
6493
6493
6493
6497
6497
6497
6501
6501
6501
6504
6504
6504
6504
6504
6504
6504
6504
6504
6504
6507
6509
6513
6513
6513
6513
6517
6517
6517
6519
6519
6519
6519
6519
6519
6521
6523
6525
6525
6525
6527
6529
6533
6535
6535
6535
6535
6535
6535
6535
6535
6536
6536
6536
6538
6542
6547
6552
6557
6557
6561
6565
6570
6574
6574
6574
6574
6574
6574
6574
6578
6581
6581
6581
6581
6583
6585
6589
6590
6595
6598
6603
6606
6611
6613
6618
6623
6628
6628
6628
6628
6628
6628
6628
6628
6628
6631
6636
6641
6645
6649
6653
6653
6653
6653
6653
6655
6655
6655
6660
6665
6665
6665
6669
6669
6669
6670
6674
6676
6678
6678
6683
6685
6689
6691
6696
6699
6699
6699
6699
6699
6699
6699
6700
6700
6704
6707
6712
6717
6717
6717
6717
6717
6722
6724
6729
6732
6735
6735
6735
6739
6742
6747
6747
6750
6752
6757
6759
6764
6767
6772
6777
6777
6777
6777
6777
6777
6777
6782
6785
6790
6795
6797
6797
6798
6803
6806
6811
6816
6821
6826
6826
6830
6832
6832
6834
6838
6842
6846
6846
6846
6846
6846
6846
6847
6852
6856
6861
6866
6871
6876
6881
6886
6891
6894
6897
6902
6906
6911
6915
6920
6925
6929
6929
6929
6929
6933
6937
6942
6942
6946
6950
6955
6960
6965
6970
6975
6975
6976
6981
6986
6988
6992
6997
7002
7002
7002
7002
7002
7002
7004
7009
7014
7019
7024
7029
7034
7039
7044
7047
7052
7057
7062
7067
7072
7072
7072
7072
7072
7072
7072
7077
7082
7087
7092
7097
7102
7102
7105
7109
7109
7109
7111
7116
7119
7119
7123
7128
7132
7132
7136
7137
7142
7146
7151
7151
7155
7159
7164
7169
7174
7179
7184
7188
7193
7198
7203
7203
7203
7203
7203
7203
7205
7210
7215
7215
7215
7215
7215
7215
7215
7220
7225
7230
7235
7240
7245
7245
7248
7252
7256
7259
7263
7268
7273
7273
7277
7277
7277
7277
7277
7277
7277
7277
7286
7286
7289
7289
7289
7290
7293
7293
7307
7322
7322
7325
7340
7355
7355
7355
7355
7355
7355
7364
7367
7380
7394
7394
7394
7397
7404
7413
7413
7423
7423
7432
7444
7446
7456
7456
7466
7473
7473
7473
7473
7476
7476
7476
7476
7491
7506
7506
7512
7522
7522
7531
7541
7551
7554
7564
7569
7582
7597
7606
7616
7631
7646
7646
7646
7646
7646
7646
7646
7652
7662
7672
7687
7702
7717
7717
7717
7717
7717
7731
7743
7757
7772
7782
7782
7782
7795
7809
7824
7834
7842
7854
7868
7881
7896
7911
7926
7941
7941
7951
7951
7951
7951
7951
7966
7981
7996
8011
8023
8038
8050
8064
8079
8079
8114
8149
8149
8184
8219
8254
8289
8319
8354
8389
8424
8424
8459
8494
8526
8561
8561
8596
8630
8630
8630
8630
8630
8630
8630
8630
8630
8630
8630
8630
8630
8630
8630
8630
8630
8630
8630
8630
8630
8630
8630
8630
8630
8630
8630
8630
8633
8636
8641
8641
8641
8641
8641
8641
8641
8641
8642
8644
8644
8644
8644
8644
8644
8644
8644
8644
8647
8651
8651
8651
8651
8651
8651
8651
8651
8651
8651
8651
8651
8651
8651
8651
8651
8651
8651
8651
8651
8651
8651
8651
8651
8651
8651
8652
8654
8654
8654
8659
8664
8669
8669
8671
8676
8681
8681
8681
8681
8682
8684
8684
8684
8687
8691
8691
8691
8691
8694
8698
8698
8698
8698
8700
8705
8710
8710
8710
8710
8710
8710
8710
8710
8710
8710
8710
8710
8710
8710
8710
8710
8710
8715
8720
8725
8725
8725
8725
8725
8725
8725
8725
8725
8728
8731
8731
8731
8731
8735
8735
8735
8740
8745
8745
8750
8750
8755
8760
8760
8760
8770
8770
8770
8770
8785
8785
8800
8810
8810
8820
8835
8850
8865
8865
8880
8880
8895
8910
8925
8925
8925
8930
8935
8940
8945
