0
4
8
11
15
17
20
24
26
27
30
31
33
36
38
42
42
44
45
45
45
47
49
51
54
62
62
64
65
67
68
78
78
83
95
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
104
104
104
106
107
107
107
109
109
109
109
110
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
113
114
114
116
116
116
116
116
118
118
118
118
120
121
122
123
123
123
123
123
124
125
125
125
128
129
130
133
133
133
133
133
133
133
133
133
136
138
140
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
146
148
148
149
153
153
153
153
155
155
155
155
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
160
161
161
161
163
164
164
164
168
169
169
169
169
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
173
173
178
183
194
194
200
200
207
207
212
212
213
215
219
223
235
235
235
235
236
236
242
242
242
242
242
242
242
242
242
242
242
242
242
242
246
253
271
271
271
285
292
293
294
304
322
322
322
330
348
348
389
419
433
441
463
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
501
501
501
501
501
501
501
501
501
501
501
502
502
502
502
502
502
502
502
502
503
503
503
503
503
503
503
503
503
503
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
512
516
516
516
516
516
516
516
516
520
520
520
524
524
524
524
524
526
527
530
534
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
538
542
542
542
542
542
542
543
543
543
543
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
548
548
548
548
548
550
555
555
555
555
559
559
559
559
559
559
559
559
559
559
559
559
559
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
576
576
576
576
576
577
577
577
577
577
586
586
586
586
588
599
599
599
599
599
599
599
599
599
599
606
606
606
606
606
615
615
615
615
623
625
636
645
659
659
661
663
663
663
666
673
676
678
682
689
689
689
696
696
696
696
696
696
701
704
704
708
721
735
737
737
737
737
745
770
770
770
770
782
799
821
850
872
894
919
946
973
1005
1013
1017
1040
1046
1074
1100
1100
1100
1100
1100
1100
1100
1100
1100
1100
1100
1100
1100
1100
1100
1100
1103
1108
1108
1108
1111
1111
1116
1116
1119
1119
1123
1123
1127
1127
1127
1127
1127
1127
1127
1127
1127
1127
1127
1127
1127
1127
1127
1127
1128
1128
1128
1128
1128
1128
1128
1128
1128
1128
1128
1129
1129
1129
1129
1129
1129
1129
1129
1129
1129
1129
1129
1129
1129
1129
1129
1129
1129
1129
1129
1129
1129
1129
1129
1129
1132
1132
1136
1136
1139
1139
1142
1145
1150
1150
1150
1150
1150
1150
1150
1150
1150
1150
1150
1150
1150
1150
1150
1150
1153
1153
1153
1153
1153
1153
1153
1153
1153
1153
1153
1156
1156
1159
1159
1159
1164
1164
1164
1164
1164
1164
1164
1164
1164
1164
1164
1164
1164
1164
1164
1164
1167
1171
1171
1173
1173
1173
1173
1173
1173
1173
1173
1173
1176
1181
1186
1191
1191
1191
1192
1192
1194
1194
1197
1197
1197
1197
1197
1197
1200
1200
1200
1203
1207
1207
1207
1207
1207
1207
1207
1222
1237
1252
1267
1267
1267
1269
1269
1273
1279
1286
1295
1299
1314
1314
1320
1334
1334
1348
1363
1373
1383
1397
1407
1422
1435
1445
1455
1465
1465
1470
1474
1479
1484
1484
1484
1488
1488
1492
1492
1497
1502
1507
1512
1512
1517
1522
1527
1531
1535
1538
1542
1544
1547
1551
1553
1554
1557
1558
1560
1563
1565
1569
1572
1577
1581
1583
1586
1590
1594
1598
1603
1612
1614
1628
1637
1655
1671
1693
1697
1718
1743
1768
1768
1768
1768
1768
1768
1768
1768
1768
1768
1773
1778
1783
1783
1786
1789
1792
1792
1794
1798
1800
1800
1803
1807
1810
1810
1813
1816
1819
1819
1819
1819
1819
1819
1819
1819
1819
1819
1819
1819
1819
1819
1819
1819
1819
1819
1819
1819
1819
1819
1819
1819
1819
1819
1819
1819
1821
1821
1821
1826
1830
1834
1838
1842
1846
1846
1846
1846
1847
1850
1852
1855
1858
1861
1865
1868
1871
1871
1871
1871
1871
1874
1874
1875
1877
1880
1882
1884
1886
1886
1886
1886
1887
1890
1893
1894
1897
1901
1905
1907
1911
1911
1911
1911
1911
1911
1911
1914
1917
1921
1925
1929
1933
1933
1933
1933
1933
1933
1933
1933
1933
1933
1934
1936
1938
1942
1945
1949
1953
1956
1960
1962
1967
1970
1971
1975
1978
1978
1979
1982
1987
1987
1987
1989
1991
1991
1991
1991
1992
1992
2003
2014
2026
2029
2036
2044
2047
2047
2056
2064
2070
2073
2079
2088
2098
2098
2110
2122
2133
2133
2133
2134
2136
2141
2146
2147
2148
2153
2159
2165
2171
2183
2183
2183
2195
2207
2221
2221
2228
2238
2251
2264
2277
2282
2292
2300
2315
2329
2336
2336
2345
2356
2367
2373
2385
2385
2385
2385
2397
2409
2423
2423
2423
2423
2423
2423
2423
2423
2423
2424
2453
2457
2479
2494
2501
2524
2546
2549
2555
2575
2592
2608
2616
2641
2664
2692
2716
2749
2782
2830
2882
2928
2967
2989
3029
3080
3080
3080
3082
3085
3085
3085
3090
3094
3098
3098
3103
3108
3113
3113
3118
3122
3124
3124
3129
3131
3134
3134
3139
3144
3146
3146
3148
3152
3157
3160
3160
3165
3170
3175
3175
3180
3185
3189
3189
3194
3199
3202
3202
3207
3211
3214
3214
3219
3224
3229
3229
3229
3229
3229
3229
3232
3236
3241
3241
3246
3251
3256
3258
3262
3267
3272
3272
3277
3281
3285
3285
3288
3290
3290
3290
3290
3290
3293
3295
3299
3303
3303
3307
3311
3316
3316
3318
3318
3318
3323
3327
3327
3332
3336
3341
3344
3344
3347
3352
3355
3355
3360
3365
3370
3370
3375
3380
3385
3385
3390
3395
3400
3400
3405
3410
3414
3414
3417
3420
3421
3426
3426
3426
3431
3436
3441
3441
3445
3445
3450
3455
3460
3460
3460
3464
3469
3474
3478
3478
3478
3482
3487
3492
3496
3496
3496
3496
3501
3506
3511
3511
3516
3521
3526
3526
3531
3536
3541
3541
3546
3551
3556
3556
3561
3566
3571
3574
3579
3584
3589
3594
3594
3594
3599
3604
3609
3609
3613
3613
3618
3623
3628
3628
3628
3632
3637
3642
3647
3647
3647
3651
3656
3661
3665
3665
3665
3665
3670
3675
3680
3680
3680
3680
3680
3680
3683
3683
3683
3683
3686
3686
3686
3686
3688
3690
3694
3694
3699
3699
3704
3709
3714
3718
3718
3723
3728
3733
3738
3742
3742
3747
3752
3757
3762
3766
3769
3773
3777
3782
3787
3787
3787
3790
3790
3794
3794
3797
3799
3799
3799
3804
3804
3804
3807
3808
3812
3817
3822
3822
3826
3829
3834
3838
3842
3842
3843
3843
3848
3853
3858
3858
3858
3858
3861
3862
3864
3867
3872
3872
3876
3877
3877
3877
3881
3881
3881
3883
3888
3893
3898
3898
3899
3899
3903
3903
3903
3903
3908
3913
3918
3918
3918
3918
3918
3918
3918
3933
3933
3933
3933
3933
3934
3934
3934
3934
3934
3937
3937
3937
3937
3939
3940
3940
3940
3940
3940
3940
3940
3940
3940
3940
3947
3947
3947
3947
3947
3955
3955
3955
3955
3955
3964
3964
3964
3964
3971
3983
3983
3983
3983
3986
3991
3994
4008
4016
4022
4035
4040
4054
4068
4083
4098
4107
4111
4119
4133
4142
4157
4171
4185
4192
4197
4205
4212
4212
4220
4230
4235
4247
4261
4274
4278
4292
4306
4321
4328
4343
4350
4350
4360
4369
4376
4390
4405
4420
4429
4433
4441
4455
4469
4502
4529
4557
4585
4608
4633
4658
4687
4716
4746
4777
4810
4844
4878
4906
4935
4967
4993
5026
5058
5058
5058
5058
5058
5058
5058
5058
5058
5058
5058
5058
5058
5058
5058
5058
5063
5068
5068
5068
5073
5073
5078
5078
5083
5083
5088
5091
5096
5096
5096
5096
5096
5096
5096
5096
5096
5096
5096
5096
5098
5100
5100
5100
5103
5103
5103
5103
5103
5103
5103
5103
5106
5106
5106
5111
5111
5112
5112
5112
5115
5115
5115
5115
5115
5115
5115
5115
5115
5115
5115
5115
5115
5115
5115
5115
5118
5122
5122
5122
5127
5127
5132
5132
5136
5136
5140
5145
5150
5150
5150
5150
5150
5150
5150
5150
5150
5150
5150
5150
5153
5156
5160
5160
5164
5164
5164
5164
5164
5164
5164
5164
5168
5168
5168
5173
5173
5178
5178
5178
5183
5183
5183
5183
5183
5183
5183
5183
5186
5189
5189
5189
5191
5195
5199
5199
5204
5209
5209
5213
5218
5218
5218
5222
5222
5222
5225
5229
5233
5238
5243
5248
5251
5251
5255
5255
5259
5259
5263
5263
5263
5263
5267
5271
5275
5275
5279
5284
5289
5289
5289
5289
5289
5292
5296
5311
5326
5341
5356
5366
5381
5393
5408
5420
5432
5442
5457
5472
5487
5502
5517
5531
5546
5561
5576
5591
5606
5621
5636
5651
5666
5681
5696
5711
5711
5716
5720
5725
5730
5730
5730
5734
5734
5738
5738
5743
5748
5753
5758
5758
5763
5768
5773
