0
0
0
0
0
3
6
6
6
6
6
6
6
6
7
7
7
7
7
7
8
11
11
11
11
12
15
15
18
20
20
20
21
21
22
24
29
29
29
31
31
32
38
38
38
44
44
44
44
44
44
44
45
52
59
59
64
64
66
78
83
94
114
118
134
159
191
216
276
322
403
403
404
404
404
405
405
405
405
405
405
405
406
406
406
406
406
408
408
408
409
409
411
411
411
411
411
412
412
412
413
414
414
414
414
415
415
415
415
415
418
418
418
418
420
422
424
424
424
427
427
427
428
428
428
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
432
433
433
433
433
435
437
439
439
439
442
442
442
443
447
447
449
449
449
449
449
449
449
449
449
449
449
451
451
451
454
454
454
454
454
454
456
456
456
456
456
456
456
456
456
456
456
458
458
458
461
461
461
462
464
464
464
464
464
464
464
464
464
464
464
464
464
465
465
465
467
467
467
467
467
467
467
467
467
467
468
468
468
468
470
470
470
470
470
470
470
470
470
470
470
470
470
470
470
473
473
473
473
473
477
480
483
483
483
483
483
483
483
483
483
483
483
483
483
486
486
486
486
486
489
493
496
496
496
496
496
496
496
499
501
505
509
509
509
511
511
511
511
511
514
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
519
519
519
519
519
519
525
525
525
532
532
533
533
533
533
533
538
538
538
545
545
548
548
548
554
554
557
557
557
563
563
563
563
563
566
566
566
566
566
569
579
579
579
584
593
599
611
615
624
638
638
638
638
638
638
638
641
641
641
641
646
646
646
651
656
666
678
681
691
705
705
705
705
705
705
708
719
728
733
747
747
747
747
756
757
761
772
773
779
786
786
786
786
786
786
786
792
792
792
799
799
799
799
805
808
808
808
809
818
818
826
851
869
903
933
933
933
933
933
933
936
960
979
1014
1043
1045
1062
1081
1110
1139
1149
1171
1181
1204
1235
1235
1241
1241
1251
1273
1279
1279
1289
1296
1321
1380
1429
1487
1548
1611
1659
1705
1705
1705
1705
1705
1705
1705
1705
1705
1705
1705
1705
1705
1707
1707
1707
1709
1709
1712
1712
1712
1715
1715
1717
1717
1717
1719
1719
1721
1721
1721
1723
1723
1723
1723
1723
1723
1723
1723
1724
1724
1725
1725
1725
1725
1725
1727
1727
1727
1727
1727
1727
1727
1729
1729
1729
1731
1731
1731
1731
1731
1731
1734
1734
1734
1734
1737
1737
1737
1737
1737
1737
1739
1739
1739
1741
1741
1744
1744
1744
1744
1744
1744
1744
1744
1744
1746
1746
1746
1746
1747
1747
1747
1747
1747
1747
1747
1747
1748
1748
1748
1748
1748
1748
1748
1748
1748
1748
1748
1748
1748
1748
1748
1748
1748
1748
1748
1748
1748
1748
1748
1748
1748
1748
1748
1748
1748
1748
1748
1748
1748
1748
1752
1752
1752
1752
1752
1752
1752
1752
1752
1752
1752
1752
1752
1752
1752
1752
1752
1752
1752
1752
1752
1752
1752
1752
1752
1752
1752
1752
1752
1752
1752
1752
1752
1752
1753
1758
1760
1762
1766
1766
1766
1766
1766
1766
1769
1773
1775
1775
1779
1779
1779
1779
1781
1784
1784
1789
1789
1793
1793
1793
1793
1793
1793
1795
1795
1799
1799
1799
1799
1799
1799
1799
1800
1801
1801
1801
1801
1803
1803
1803
1803
1803
1804
1804
1804
1804
1804
1804
1804
1804
1804
1804
1805
1805
1805
1805
1805
1805
1805
1806
1806
1806
1808
1808
1808
1808
1808
1808
1808
1808
1811
1812
1812
1814
1814
1814
1814
1814
1814
1814
1814
1814
1814
1814
1814
1814
1814
1814
1814
1815
1820
1824
1824
1828
1828
1828
1828
1828
1828
1828
1828
1828
1828
1828
1828
1828
1830
1834
1834
1834
1834
1836
1836
1839
1839
1839
1839
1839
1839
1839
1839
1839
1839
1839
1839
1839
1839
1839
1839
1839
1839
1839
1839
1839
1839
1839
1839
1839
1840
1843
1848
1852
1855
1860
1860
1860
1860
1860
1860
1860
1864
1864
1864
1865
1865
1865
1865
1865
1865
1865
1866
1866
1866
1867
1867
1867
1869
1873
1873
1877
1877
1877
1877
1881
1881
1881
1881
1881
1881
1881
1881
1881
1881
1881
1881
1881
1881
1881
1881
1881
1881
1881
1881
1881
1881
1881
1881
1881
1882
1882
1882
1882
1882
1882
1882
1886
1886
1886
1886
1886
1886
1886
1886
1886
1886
1886
1886
1886
1886
1886
1886
1886
1886
1886
1886
1886
1886
1886
1886
1886
1886
1886
1886
1886
1886
1886
1886
1886
1886
1886
1886
1886
1890
1890
1890
1890
1890
1890
1890
1890
1890
1893
1894
1894
1894
1894
1894
1894
1894
1894
1895
1902
1914
1928
1943
1943
1949
1949
1955
1965
1972
1985
2000
2000
2015
2015
2018
2024
2024
2034
2034
2034
2035
2035
2038
2041
2041
2042
2042
2045
2045
2051
2051
2055
2064
2064
2064
2064
2064
2064
2064
2066
2066
2076
2090
2090
2090
2090
2090
2090
2096
2096
2096
2101
2111
2112
2112
2112
2112
2112
2119
2132
2147
2162
2162
2168
2168
2168
2178
2178
2178
2178
2178
2181
2184
2184
2184
2193
2203
2203
2203
2203
2203
2203
2203
2203
2203
2203
2203
2203
2203
2213
2213
2213
2213
2213
2213
2213
2213
2213
2213
2213
2213
2213
2213
2219
2219
2219
2233
2233
2267
2280
2315
2350
2370
2380
2380
2414
2414
2424
2459
2472
2492
2527
2547
2582
2582
2602
2637
2637
2637
2637
2637
2637
2637
2637
2637
2637
2637
2637
2637
2637
2637
2637
2637
2637
2637
2637
2637
2637
2637
2637
2637
2637
2637
2637
2637
2637
2637
2637
2637
2637
2637
2637
2640
2644
2644
2644
2644
2647
2651
2651
2651
2651
2651
2651
2651
2651
2651
2651
2651
2651
2651
2651
2651
2654
2658
2658
2658
2658
2658
2658
2658
2658
2658
2658
2658
2658
2658
2658
2658
2658
2658
2658
2658
2658
2658
2658
2658
2658
2658
2658
2658
2661
2665
2665
2665
2665
2665
2665
2665
2665
2665
2667
2671
2671
2671
2671
2671
2671
2671
2671
2671
2671
2671
2671
2671
2671
2671
2671
2671
2671
2671
2671
2671
2671
2671
2671
2671
2671
2671
2671
2671
2674
2678
2678
2678
2678
2678
2678
2678
2678
2678
2678
2678
2678
2678
2678
2678
2678
2678
2678
2678
2678
2678
2682
2682
2682
2682
2697
2712
2712
2712
2722
2722
2732
2747
2757
2767
2782
2782
2782
2782
2797
2807
2817
2827
2827
2827
2832
2837
2842
2847
2847
2847
2847
2847
2850
2853
2853
2853
2853
2853
2854
2854
2856
2859
2862
2864
2866
2868
2871
2873
2876
2876
2877
2880
2882
2885
2889
2892
2894
2898
2903
2907
2912
2916
2920
2926
2926
2929
2933
2941
2950
2956
2960
2967
2973
2980
2994
3003
3015
3030
3042
3055
3067
3079
3094
3114
3124
3142
3163
3191
3221
3242
3274
3305
3336
3374
3427
3481
3527
3592
3592
3593
3593
3593
3596
3596
3596
3596
3596
3596
3596
3597
3597
3597
3599
3599
3602
3602
3602
3605
3605
3608
3608
3608
3608
3608
3610
3610
3610
3612
3614
3614
3614
3614
3616
3616
3616
3616
3616
3619
3619
3619
3620
3624
3627
3630
3633
3634
3637
3638
3640
3644
3648
3652
3657
3657
3657
3657
3657
3657
3657
3657
3657
3657
3657
3657
3657
3657
3657
3657
3657
3657
3657
3657
3657
3657
3657
3657
3657
3658
3658
3658
3659
3661
3665
3668
3669
3672
3675
3676
3677
3681
3686
3691
3695
3695
3695
3695
3695
3697
3697
3697
3699
3702
3706
3709
3709
3709
3712
3713
3715
3719
3723
3727
3732
3732
3732
3732
3732
3734
3734
3734
3735
3738
3740
3743
3743
3743
3746
3746
3748
3750
3755
3755
3759
3759
3759
3759
3759
3763
3763
3763
3763
3767
3770
3773
3773
3773
3776
3776
3776
3778
3782
3782
3786
3788
3791
3794
3797
3801
3801
3801
3804
3804
3804
3804
3804
3804
3806
3806
3806
3809
3813
3813
3818
3822
3827
3832
3836
3839
3844
3849
3854
3859
3863
3863
3863
3863
3863
3863
3863
3863
3863
3863
3863
3865
3868
3872
3875
3880
3885
3890
3895
3900
3905
3910
3915
3920
3923
3928
3933
3937
3942
3947
3952
3954
3954
3959
3960
3962
3965
3965
3970
3975
3979
3979
3979
3982
3983
3983
3986
3986
3991
3996
3999
4004
4009
4014
4014
4019
4024
4027
4032
4037
4040
4040
4046
4049
4049
4061
4063
4064
4065
4067
4073
4073
4077
4077
4080
4092
4092
4100
4101
4104
4116
4116
4126
4127
4127
4139
4139
4146
4146
4146
4156
4163
4163
4163
4163
4173
4183
4190
4198
4212
4227
4242
4254
4267
4282
4297
4297
4300
4303
4307
4319
4331
4340
4347
4357
4369
4373
4377
4381
4393
4408
4423
4435
4448
4463
4478
4481
4487
4500
4513
4528
4543
4555
4570
4585
4600
4605
4620
4627
4638
4648
4653
4665
4680
4695
4710
4711
4714
4719
4719
4725
4731
4743
4749
4764
4779
4782
4788
4794
4806
4815
4828
4831
4842
4857
4872
4881
4907
4924
4956
4987
4987
4987
4987
4987
4987
4987
5010
5043
5077
5106
5138
5169
5204
5239
5270
5303
5333
5367
5401
5432
5441
5463
5484
5518
5549
5565
5585
5614
5644
5675
5735
5776
5821
5885
5942
6003
6066
6066
6066
6069
6069
6072
6072
6072
6072
6072
6072
6072
6072
6077
6077
6078
6081
6081
6085
6085
6085
6090
6095
6100
6100
6100
6105
6105
6109
6109
6109
6113
6113
6113
6113
6113
6115
6117
6117
6120
6120
6122
6122
6125
6125
6125
6129
6129
6129
6129
6129
6129
6129
6134
6134
6134
6139
6139
6139
6139
6139
6139
6142
6142
6142
6142
6147
6147
6147
6147
6147
6147
6152
6152
6152
6157
6157
6161
6161
6161
6165
6165
6165
6165
6165
6167
6170
6170
6170
6170
6174
6174
6174
6174
6174
6174
6174
6174
6179
6179
6179
6179
6179
6184
6184
6184
6184
6184
6186
6186
6186
6186
6186
6186
6186
6188
6188
6188
6188
6188
6193
6193
6193
6193
6193
6193
6193
6193
6195
6198
6203
6203
6207
6207
6210
6215
6215
6219
6222
6222
6226
6226
6230
6233
6234
6237
6237
6237
6239
6239
6241
6241
6241
6241
6241
6241
6241
6241
6241
6241
6241
6244
6248
6253
6257
6262
6267
6272
6277
6282
6287
6287
6288
6289
6293
6298
6303
6308
6313
6318
6323
6327
6332
6335
6340
6345
6345
6350
6354
6359
6364
6368
6371
6374
6379
6384
6389
6394
6394
6399
6399
6399
6403
6405
6410
6415
6420
6425
6425
6429
6429
6429
6431
6431
6435
6438
6438
6438
6438
6438
6438
6438
6441
6443
6448
6451
6451
6451
6451
6451
6451
6453
6453
6455
6460
6464
6464
6464
6464
6464
6464
6469
6474
6478
6478
6483
6483
6483
6483
6483
6483
6483
6483
6483
6483
6483
6483
6485
6490
6495
6495
6500
6505
6509
6514
6519
6519
6519
6519
6519
6519
6519
6519
6519
6519
6519
6519
6523
6528
6533
6536
6540
6545
6549
6549
6554
6554
6558
6560
6565
6570
6570
6572
6572
6572
6576
6576
6576
6577
6577
6580
6584
6584
6585
6586
6589
6589
6594
6598
6603
6608
6613
6618
6623
6628
6633
6633
6635
6635
6640
6640
6644
6649
6653
6658
6663
6663
6665
6668
6673
6677
6682
6687
6687
6687
6691
6695
6698
6703
6708
6713
6718
6723
6725
6729
6734
6734
6734
6734
6734
6734
6734
6734
6734
6738
6743
6743
6743
6743
6743
6743
6743
6746
6748
6753
6756
6760
6765
6770
6775
6780
6785
6787
6790
6795
6800
6805
6810
6813
6818
6823
6823
6823
6823
6827
6827
6829
6833
6837
6837
6841
6845
6845
6845
6845
6845
6845
6850
6854
6856
6861
6865
6866
6868
6872
6872
6872
6876
6879
6883
6888
6893
6893
6893
6898
6903
6908
6913
6915
6920
6925
6925
6925
6934
6940
6946
6946
6946
6946
6946
6946
6946
6952
6966
6981
6996
7011
7011
7021
7030
7043
7057
7071
7086
7101
7101
7116
7116
7129
7144
7144
7159
7162
7171
7181
7181
7191
7196
7196
7197
7197
7202
7203
7211
7214
7226
7240
7240
7240
7240
7240
7240
7240
7249
7261
7275
7290
7290
7290
7290
7290
7290
7298
7308
7320
7334
7349
7355
7361
7361
7367
7381
7396
7411
7426
7441
7451
7465
7479
7492
7507
7507
7516
7522
7536
7551
7564
7579
7594
7609
7624
7624
7624
7624
7624
7624
7624
7630
7640
7640
7640
7640
7654
7669
7669
7669
7669
7670
7673
7673
7673
7679
7679
7679
7679
7689
7689
7704
7704
7704
7719
7719
7751
7786
7821
7856
7891
7921
7921
7953
7953
7987
8022
8056
8090
8125
8160
8195
8195
8230
8265
8265
8265
8265
8265
8265
8265
8265
8265
8265
8265
8265
8265
8265
8265
8265
8265
8265
8265
8265
8265
8265
8265
8265
8265
8265
8265
8265
8265
8265
8265
8265
8265
8265
8265
8270
8275
8280
8280
8280
8285
8290
8295
8295
8295
8295
8296
8298
8298
8298
8299
8299
8301
8301
8301
8301
8303
8308
8313
8313
8313
8313
8313
8313
8313
8313
8313
8313
8316
8316
8320
8320
8320
8320
8320
8320
8320
8320
8320
8320
8320
8320
8320
8320
8325
8330
8335
8335
8335
8338
8342
8342
8342
8342
8344
8349
8354
8354
8354
8354
8354
8354
8354
8354
8354
8354
8354
8354
8354
8354
8354
8354
8354
8354
8354
8354
8354
8355
8355
8355
8355
8357
8357
8362
8362
8367
8372
8372
8372
8372
8372
8372
8372
8372
8372
8375
8379
8379
8379
8379
8382
8386
8386
8386
8388
8388
8392
8397
8397
8397
8397
8412
8427
8427
8427
8437
8437
8447
8462
8472
8487
8502
8502
8502
8502
8517
8532
8547
8562
8562
8562
8567
8572
8577
8582
