0
0
0
0
3
3
5
8
8
10
11
11
11
11
14
14
18
18
19
19
22
23
24
24
24
27
27
31
32
32
32
35
36
39
42
47
48
48
48
49
49
51
53
53
59
60
60
60
61
69
69
78
86
92
104
115
118
120
122
129
137
153
158
179
209
238
243
282
332
380
433
433
433
433
433
435
435
435
435
435
435
435
436
436
436
436
436
436
436
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
438
439
439
439
439
439
439
439
439
439
439
439
439
439
441
442
442
442
442
442
442
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
445
445
445
447
447
447
447
447
447
447
447
447
447
447
447
447
448
448
448
450
450
450
450
450
450
450
450
451
451
451
451
451
452
452
452
453
453
453
453
453
453
453
453
453
453
453
453
453
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
456
460
460
460
460
460
460
460
460
460
460
460
460
460
463
463
463
464
466
466
467
467
467
467
467
467
467
467
467
467
467
467
468
468
469
469
469
471
473
476
479
484
489
489
489
489
489
489
489
489
489
489
489
490
490
490
492
494
499
499
501
501
501
501
501
501
505
507
509
509
511
511
511
511
511
511
511
511
513
516
516
518
520
524
527
527
531
531
531
532
532
535
535
538
538
538
538
538
542
545
549
549
553
553
553
553
553
555
555
555
555
555
557
557
557
557
559
559
559
559
559
561
561
561
561
562
562
562
562
562
562
562
562
564
564
564
564
565
566
566
567
567
572
579
582
593
602
617
617
617
618
618
618
622
622
629
629
629
629
629
633
637
640
640
646
646
647
647
648
648
650
650
652
655
659
659
660
665
669
669
669
680
689
704
704
714
714
714
714
714
714
722
725
731
731
738
739
743
751
755
763
775
776
784
794
800
809
822
822
825
838
867
900
901
901
906
926
932
935
941
941
945
945
945
961
990
1023
1032
1032
1055
1062
1074
1083
1111
1128
1143
1155
1185
1209
1218
1221
1244
1274
1335
1370
1435
1476
1528
1573
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1626
1626
1626
1626
1626
1626
1626
1626
1627
1627
1627
1627
1627
1627
1627
1627
1627
1627
1627
1627
1627
1627
1627
1627
1627
1627
1627
1628
1628
1628
1629
1629
1629
1629
1629
1629
1629
1629
1629
1631
1632
1632
1632
1632
1632
1632
1632
1632
1632
1632
1632
1632
1632
1632
1634
1634
1634
1634
1634
1634
1634
1634
1634
1634
1634
1634
1635
1635
1635
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1637
1637
1637
1637
1637
1637
1637
1637
1637
1637
1637
1637
1637
1637
1637
1637
1637
1637
1637
1637
1637
1637
1637
1637
1637
1637
1637
1637
1637
1637
1637
1637
1637
1637
1637
1637
1639
1639
1639
1639
1640
1640
1640
1640
1640
1640
1640
1640
1640
1640
1640
1644
1644
1647
1647
1647
1647
1647
1647
1650
1650
1653
1653
1653
1653
1654
1657
1660
1663
1668
1668
1668
1668
1671
1675
1679
1679
1679
1679
1679
1679
1679
1679
1679
1679
1679
1679
1679
1679
1679
1679
1679
1679
1683
1683
1684
1684
1684
1684
1684
1684
1684
1684
1684
1684
1684
1684
1684
1684
1684
1684
1684
1684
1684
1684
1684
1684
1684
1684
1684
1684
1684
1684
1684
1686
1686
1686
1687
1688
1688
1690
1690
1690
1690
1691
1691
1692
1692
1692
1692
1695
1697
1698
1698
1702
1702
1702
1702
1704
1706
1708
1708
1708
1708
1708
1708
1710
1710
1710
1710
1710
1710
1710
1710
1710
1710
1710
1710
1710
1710
1710
1710
1710
1712
1712
1714
1714
1714
1714
1715
1716
1716
1716
1716
1716
1716
1716
1716
1716
1718
1718
1718
1718
1718
1718
1718
1718
1718
1718
1718
1718
1718
1718
1718
1718
1718
1718
1718
1718
1722
1724
1724
1727
1730
1730
1731
1734
1737
1739
1744
1744
1745
1746
1750
1754
1758
1758
1758
1759
1759
1759
1759
1760
1760
1760
1760
1763
1763
1763
1764
1764
1764
1764
1764
1764
1765
1767
1767
1767
1769
1769
1769
1773
1773
1773
1777
1777
1777
1778
1778
1778
1778
1781
1783
1783
1783
1784
1784
1784
1786
1786
1786
1789
1789
1789
1792
1792
1792
1792
1792
1792
1792
1792
1792
1792
1793
1793
1793
1793
1793
1793
1793
1793
1793
1794
1794
1794
1794
1800
1814
1814
1820
1834
1834
1835
1842
1852
1852
1856
1866
1880
1894
1894
1894
1903
1913
1913
1913
1913
1914
1914
1914
1914
1914
1914
1914
1914
1914
1923
1933
1933
1933
1933
1933
1933
1933
1936
1936
1939
1939
1943
1952
1952
1952
1959
1966
1966
1967
1967
1967
1969
1972
1972
1972
1972
1972
1972
1972
1975
1975
1983
1992
1996
2008
2023
2037
2038
2038
2047
2057
2057
2057
2057
2057
2057
2060
2060
2064
2064
2068
2074
2074
2074
2083
2093
2093
2096
2096
2096
2097
2100
2100
2100
2108
2118
2118
2118
2118
2125
2131
2166
2201
2236
2267
2301
2336
2354
2370
2378
2410
2445
2476
2510
2529
2536
2571
2591
2626
2656
2656
2656
2656
2656
2656
2656
2656
2656
2656
2656
2656
2656
2656
2656
2656
2656
2656
2656
2656
2656
2656
2656
2656
2659
2663
2663
2663
2666
2670
2670
2670
2670
2670
2670
2670
2670
2670
2670
2670
2670
2670
2670
2673
2677
2677
2677
2680
2684
2684
2684
2684
2684
2684
2684
2684
2684
2687
2691
2691
2691
2691
2691
2691
2691
2691
2691
2691
2691
2691
2691
2691
2691
2691
2691
2691
2691
2691
2691
2691
2691
2691
2691
2691
2691
2691
2691
2694
2698
2698
2698
2701
2705
2705
2705
2705
2705
2705
2705
2705
2705
2705
2705
2705
2705
2705
2705
2705
2705
2705
2705
2708
2712
2712
2712
2712
2712
2712
2712
2712
2712
2712
2712
2712
2712
2712
2712
2712
2712
2714
2718
2718
2718
2718
2718
2718
2718
2718
2718
2718
2718
2718
2718
2718
2718
2718
2721
2723
2733
2748
2758
2758
2773
2783
2783
2793
2801
2801
2816
2826
2826
2836
2846
2856
2866
2876
2886
2896
2906
2911
2916
2921
2926
2931
2936
2941
2941
2941
2941
2944
2944
2946
2949
2949
2952
2953
2953
2954
2954
2957
2958
2962
2966
2970
2974
2977
2980
2983
2987
2992
2996
3000
3004
3008
3008
3013
3018
3023
3028
3032
3037
3037
3039
3045
3053
3055
3062
3070
3079
3087
3091
3101
3116
3127
3141
3155
3168
3182
3196
3210
3225
3225
3231
3243
3266
3286
3309
3335
3361
3394
3423
3423
3462
3511
3558
3599
3599
3599
3599
3599
3601
3601
3603
3603
3603
3605
3606
3608
3608
3608
3608
3608
3608
3609
3612
3612
3612
3612
3612
3612
3612
3615
3616
3616
3616
3616
3619
3619
3619
3619
3620
3620
3620
3620
3620
3620
3620
3621
3622
3623
3625
3625
3628
3631
3633
3636
3640
3644
3649
3653
3658
3660
3661
3665
3666
3670
3670
3672
3673
3673
3673
3673
3673
3677
3677
3680
3680
3683
3688
3688
3692
3694
3697
3701
3704
3705
3707
3711
3713
3713
3714
3717
3718
3718
3720
3720
3723
3723
3724
3725
3726
3726
3726
3730
3732
3735
3735
3739
3739
3739
3742
3746
3746
3746
3746
3746
3747
3747
3747
3748
3748
3748
3748
3748
3751
3755
3758
3762
3766
3771
3776
3781
3786
3786
3789
3789
3789
3793
3793
3793
3793
3795
3795
3795
3795
3795
3798
3799
3799
3803
3804
3806
3806
3808
3810
3812
3815
3815
3815
3815
3815
3815
3818
3818
3819
3822
3827
3831
3835
3835
3835
3836
3838
3838
3839
3839
3839
3840
3844
3845
3847
3851
3855
3860
3864
3868
3873
3878
3883
3888
3893
3898
3902
3902
3904
3906
3911
3916
3921
3925
3928
3931
3935
3940
3945
3950
3955
3955
3959
3963
3967
3967
3969
3973
3977
3982
3986
3987
3991
3993
3993
3993
3997
4000
4004
4008
4011
4015
4020
4025
4027
4032
4037
4042
4047
4052
4052
4056
4056
4061
4064
4069
4074
4077
4081
4084
4089
4094
4099
4101
4106
4106
4106
4106
4108
4122
4126
4126
4126
4129
4132
4134
4140
4140
4140
4140
4140
4141
4150
4164
4167
4167
4173
4181
4181
4182
4190
4191
4191
4191
4191
4199
4199
4199
4199
4203
4211
4221
4231
4238
4251
4265
4278
4292
4307
4322
4325
4329
4344
4348
4361
4376
4379
4394
4408
4423
4432
4446
4460
4474
4489
4492
4507
4509
4518
4523
4533
4537
4537
4543
4553
4564
4574
4576
4584
4593
4608
4621
4635
4650
4665
4680
4680
4694
4704
4710
4716
4730
4735
4745
4756
4765
4779
4793
4803
4815
4823
4836
4850
4863
4873
4888
4902
4914
4929
4943
4943
4977
5009
5043
5076
5088
5108
5137
5172
5198
5231
5246
5246
5246
5246
5281
5316
5350
5383
5412
5432
5467
5494
5504
5515
5538
5554
5562
5592
5620
5644
5659
5665
5688
5720
5778
5838
5903
5959
6015
6047
6105
6105
6105
6105
6105
6105
6105
6105
6105
6105
6105
6105
6105
6105
6109
6109
6109
6109
6109
6109
6109
6110
6110
6112
6112
6113
6117
6117
6117
6117
6117
6117
6117
6117
6118
6121
6121
6121
6121
6121
6121
6121
6121
6121
6125
6125
6125
6125
6125
6125
6125
6125
6125
6126
6126
6126
6130
6130
6130
6130
6130
6131
6134
6135
6136
6139
6142
6142
6142
6142
6142
6142
6142
6145
6145
6149
6149
6151
6151
6151
6156
6156
6156
6156
6156
6156
6156
6156
6156
6156
6156
6156
6158
6158
6159
6163
6163
6163
6164
6164
6164
6164
6164
6164
6164
6166
6166
6166
6167
6168
6168
6168
6168
6168
6169
6169
6169
6170
6170
6170
6170
6172
6172
6177
6177
6177
6177
6177
6180
6182
6185
6187
6187
6190
6193
6198
6199
6199
6200
6203
6206
6211
6216
6221
6225
6230
6234
6234
6237
6240
6244
6248
6251
6256
6261
6265
6267
6268
6271
6276
6281
6285
6290
6295
6300
6305
6305
6310
6310
6315
6315
6315
6316
6320
6325
6330
6330
6330
6334
6338
6341
6346
6351
6356
6360
6365
6370
6375
6380
6385
6385
6385
6385
6385
6385
6385
6385
6390
6395
6395
6395
6399
6399
6399
6400
6404
6405
6407
6408
6412
6415
6418
6419
6423
6425
6429
6433
6438
6443
6443
6447
6450
6450
6452
6456
6460
6464
6464
6466
6470
6474
6474
6475
6478
6482
6486
6491
6496
6500
6505
6510
6515
6519
6522
6527
6531
6536
6538
6543
6548
6552
6552
6552
6557
6562
6566
6570
6570
6575
6579
6584
6589
6594
6599
6604
6604
6604
6604
6608
6608
6612
6613
6616
6619
6624
6628
6632
6632
6634
6638
6638
6638
6640
6643
6643
6647
6647
6649
6649
6653
6655
6658
6660
6665
6669
6669
6670
6670
6671
6673
6675
6675
6676
6679
6681
6682
6682
6683
6683
6684
6685
6687
6692
6697
6701
6706
6711
6716
6717
6722
6727
6732
6737
6741
6746
6751
6756
6761
6766
6771
6775
6780
6785
6790
6795
6800
6805
6810
6815
6820
6820
6820
6824
6824
6824
6826
6830
6834
6834
6836
6841
6844
6844
6848
6848
6851
6855
6860
6860
6864
6868
6872
6877
6881
6885
6888
6893
6898
6903
6908
6908
6910
6914
6917
6921
6924
6928
6933
6936
6939
6940
6940
6940
6944
6949
6954
6959
6962
6966
6971
6972
6975
6979
6982
6987
6990
6993
6996
7000
7004
7004
7004
7004
7004
7004
7004
7004
7004
7010
7010
7010
7010
7025
7040
7040
7054
7069
7069
7078
7093
7108
7108
7119
7133
7147
7161
7170
7170
7185
7200
7200
7200
7203
7209
7218
7218
7218
7218
7224
7224
7224
7224
7239
7254
7254
7260
7270
7270
7279
7289
7299
7299
7310
7322
7336
7349
7349
7349
7364
7379
7379
7385
7390
7396
7403
7413
7413
7413
7413
7413
7427
7429
7439
7451
7466
7481
7494
7509
7524
7538
7551
7566
7581
7596
7599
7604
7604
7613
7613
7623
7633
7644
7656
7671
7684
7696
7711
7726
7741
7743
7756
7763
7769
7783
7798
7813
7828
7843
7858
7868
7883
7898
7913
7927
7962
7997
8032
8063
8097
8132
8167
8201
8231
8266
8301
8333
8368
8403
8434
8469
8499
8534
8566
8566
8566
8566
8566
8566
8566
8566
8566
8566
8566
8566
8566
8566
8566
8566
8566
8566
8566
8566
8566
8566
8566
8568
8573
8578
8578
8583
8588
8593
8593
8593
8596
8600
8600
8600
8600
8600
8600
8602
8602
8602
8606
8611
8616
8616
8618
8623
8628
8628
8628
8628
8628
8629
8631
8631
8633
8638
8643
8643
8643
8646
8646
8650
8650
8650
8650
8650
8650
8650
8650
8650
8650
8650
8650
8650
8650
8650
8650
8650
8650
8650
8651
8653
8653
8653
8658
8663
8668
8668
8670
8675
8680
8680
8680
8680
8681
8683
8683
8683
8686
8690
8690
8690
8690
8693
8697
8697
8697
8697
8699
8704
8709
8709
8709
8709
8709
8709
8709
8709
8709
8709
8709
8709
8709
8712
8716
8716
8718
8723
8728
8728
8728
8728
8731
8735
8735
8735
8736
8736
8736
8740
8740
8740
8740
8740
8745
8749
8759
8774
8784
8784
8799
8809
8809
8819
8829
8829
8844
8854
8854
8864
8879
8894
8909
8924
8939
8954
8969
8974
8979
8984
8989
8994
8999
9004
