0
0
0
0
1
1
1
1
1
1
1
1
1
4
6
6
7
7
7
7
7
7
7
7
7
9
9
9
10
14
18
23
28
33
38
43
43
43
43
44
44
44
44
44
44
44
44
45
49
51
54
58
68
83
97
112
112
112
113
119
122
133
155
185
220
255
306
370
435
498
608
608
608
608
608
608
608
608
608
608
610
610
610
610
610
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
612
612
612
612
612
612
612
612
613
613
617
617
617
618
618
618
618
618
618
618
618
619
619
619
619
619
619
619
619
619
620
620
621
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
624
625
626
628
628
629
629
629
629
629
629
629
630
630
630
631
632
632
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
634
638
638
639
641
644
648
653
655
655
655
658
661
666
671
675
675
680
680
680
680
680
680
680
680
680
682
682
684
687
687
687
689
689
689
689
689
689
689
689
689
689
689
689
689
689
693
697
701
706
710
714
718
723
723
723
723
723
723
723
723
723
726
730
730
730
731
734
734
734
734
734
736
736
736
736
736
736
736
736
736
736
736
737
737
741
741
741
745
745
745
745
745
745
745
745
748
748
748
748
752
757
770
773
776
787
790
790
794
799
812
825
839
839
840
840
845
850
850
850
862
872
887
887
887
887
887
887
887
887
888
891
891
892
895
895
895
895
895
895
895
895
895
895
895
900
901
906
916
929
944
947
952
963
975
985
999
999
1000
1004
1010
1015
1026
1032
1032
1036
1049
1078
1090
1100
1120
1154
1183
1186
1186
1202
1232
1266
1266
1266
1270
1270
1270
1270
1270
1270
1273
1287
1317
1352
1370
1390
1419
1450
1457
1458
1474
1503
1553
1616
1684
1697
1765
1829
1881
1881
1881
1881
1884
1884
1884
1884
1884
1884
1884
1884
1884
1884
1884
1884
1884
1884
1884
1884
1884
1884
1884
1886
1886
1886
1888
1888
1888
1888
1888
1888
1888
1888
1889
1892
1892
1892
1892
1892
1892
1892
1892
1892
1892
1892
1892
1892
1892
1892
1892
1892
1892
1892
1892
1892
1894
1897
1897
1897
1897
1897
1897
1897
1897
1897
1897
1897
1897
1897
1897
1897
1897
1897
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1899
1903
1903
1903
1906
1906
1906
1906
1906
1906
1906
1906
1906
1906
1906
1906
1906
1906
1906
1906
1906
1906
1906
1906
1906
1906
1907
1907
1911
1911
1911
1911
1911
1911
1911
1911
1911
1911
1911
1911
1911
1911
1911
1911
1911
1912
1913
1913
1916
1919
1922
1922
1926
1926
1926
1926
1927
1928
1930
1930
1930
1930
1930
1930
1930
1930
1930
1930
1930
1930
1930
1930
1930
1930
1931
1931
1934
1934
1935
1938
1942
1942
1945
1945
1945
1945
1945
1945
1945
1945
1945
1949
1950
1952
1952
1952
1952
1952
1952
1952
1952
1952
1952
1952
1952
1952
1952
1952
1952
1952
1952
1952
1952
1952
1952
1952
1952
1955
1957
1962
1967
1972
1972
1975
1976
1981
1981
1986
1986
1989
1993
1996
1999
2003
2003
2003
2003
2003
2003
2003
2003
2003
2003
2003
2003
2003
2003
2003
2003
2003
2003
2003
2003
2003
2003
2003
2003
2003
2003
2003
2003
2003
2003
2003
2003
2007
2011
2012
2015
2020
2024
2027
2032
2032
2032
2032
2033
2034
2035
2035
2035
2035
2035
2035
2035
2035
2035
2035
2035
2035
2035
2035
2035
2035
2035
2035
2035
2035
2035
2035
2035
2035
2035
2035
2035
2035
2035
2035
2035
2035
2035
2035
2035
2035
2035
2035
2035
2035
2035
2038
2038
2038
2038
2038
2038
2038
2038
2038
2042
2042
2042
2042
2043
2043
2043
2043
2044
2044
2046
2046
2046
2046
2049
2049
2049
2049
2049
2049
2049
2049
2049
2049
2055
2069
2069
2069
2069
2069
2074
2074
2084
2090
2090
2096
2106
2106
2106
2107
2110
2110
2110
2113
2115
2118
2118
2118
2118
2128
2138
2138
2138
2138
2138
2138
2138
2138
2138
2143
2156
2171
2186
2191
2191
2203
2217
2223
2223
2229
2239
2239
2240
2240
2240
2240
2240
2240
2240
2249
2259
2266
2279
2294
2309
2310
2310
2317
2327
2327
2327
2327
2327
2327
2327
2327
2327
2327
2327
2327
2327
2327
2333
2347
2347
2347
2353
2367
2367
2367
2367
2367
2367
2387
2422
2457
2470
2490
2525
2545
2580
2614
2627
2662
2697
2732
2752
2787
2822
2842
2842
2842
2842
2842
2842
2842
2842
2842
2842
2842
2842
2842
2842
2842
2842
2842
2842
2842
2842
2842
2842
2842
2842
2842
2842
2842
2842
2845
2849
2849
2849
2852
2856
2856
2856
2856
2856
2856
2856
2856
2856
2856
2856
2859
2863
2863
2863
2863
2863
2863
2863
2863
2863
2863
2863
2863
2863
2863
2863
2863
2863
2863
2863
2863
2863
2863
2863
2863
2866
2870
2870
2870
2873
2877
2877
2877
2877
2877
2877
2877
2877
2877
2877
2877
2877
2877
2877
2880
2884
2884
2884
2887
2891
2891
2891
2891
2891
2891
2891
2891
2891
2891
2891
2891
2891
2891
2891
2891
2891
2891
2891
2891
2894
2898
2898
2898
2898
2898
2898
2898
2908
2918
2933
2933
2943
2953
2963
2978
2988
3003
3018
3033
3033
3043
3053
3063
3068
3073
3078
3083
3088
3088
3088
3088
3089
3089
3091
3093
3096
3099
3102
3105
3110
3115
3118
3123
3126
3131
3136
3141
3146
3151
3156
3161
3166
3171
3176
3181
3186
3191
3196
3201
3206
3211
3216
3221
3221
3221
3222
3227
3227
3227
3227
3230
3236
3245
3258
3272
3285
3300
3315
3329
3344
3359
3374
3389
3393
3411
3439
3461
3494
3529
3564
3599
3633
3667
3721
3788
3855
3914
4017
4017
4017
4017
4017
4020
4020
4020
4020
4020
4023
4023
4023
4023
4023
4025
4025
4025
4025
4025
4025
4025
4025
4025
4025
4026
4026
4028
4028
4028
4028
4029
4029
4029
4029
4031
4032
4032
4035
4040
4040
4040
4040
4040
4040
4040
4040
4040
4040
4040
4044
4049
4051
4056
4058
4063
4065
4067
4069
4073
4073
4073
4077
4077
4077
4077
4077
4077
4082
4084
4089
4091
4096
4101
4106
4111
4113
4115
4115
4115
4115
4115
4115
4116
4116
4116
4116
4120
4124
4128
4132
4136
4141
4146
4151
4156
4156
4156
4156
4156
4156
4156
4156
4156
4156
4156
4156
4156
4156
4156
4156
4156
4156
4156
4156
4156
4158
4158
4159
4160
4162
4163
4165
4167
4168
4168
4169
4171
4171
4171
4171
4171
4171
4171
4171
4171
4171
4171
4171
4171
4173
4176
4179
4182
4185
4189
4194
4199
4204
4208
4213
4217
4222
4226
4226
4226
4227
4228
4233
4236
4241
4246
4251
4256
4259
4262
4266
4266
4266
4268
4272
4272
4277
4282
4287
4292
4292
4297
4301
4306
4311
4316
4321
4326
4331
4336
4341
4346
4350
4355
4360
4365
4370
4375
4380
4385
4390
4394
4398
4403
4408
4413
4418
4423
4428
4433
4436
4441
4446
4451
4456
4461
4465
4469
4474
4479
4484
4489
4494
4499
4503
4508
4513
4518
4523
4528
4533
4538
4543
4548
4553
4558
4563
4568
4573
4578
4583
4588
4593
4598
4603
4608
4613
4618
4623
4628
4635
4635
4638
4638
4644
4653
4653
4654
4659
4674
4676
4676
4676
4687
4701
4701
4701
4701
4701
4701
4701
4701
4701
4703
4713
4726
4730
4739
4740
4743
4754
4762
4762
4762
4764
4767
4781
4787
4802
4804
4818
4823
4838
4853
4868
4874
4885
4900
4915
4930
4945
4955
4970
4985
5000
5009
5023
5037
5052
5067
5081
5094
5109
5124
5139
5139
5139
5139
5139
5144
5153
5162
5177
5186
5198
5212
5227
5230
5234
5241
5253
5256
5258
5267
5275
5285
5300
5313
5328
5343
5358
5373
5388
5403
5418
5430
5445
5460
5475
5490
5505
5520
5535
5550
5565
5584
5603
5629
5663
5698
5728
5761
5796
5831
5865
5898
5933
5968
6003
6037
6037
6071
6103
6112
6113
6117
6127
6137
6172
6207
6242
6277
6308
6343
6378
6409
6439
6465
6499
6534
6603
6667
6734
6803
6871
6935
7004
7004
7004
7004
7008
7009
7009
7009
7009
7009
7009
7009
7009
7009
7009
7014
7014
7014
7014
7014
7014
7014
7016
7020
7020
7020
7025
7027
7027
7027
7027
7027
7027
7029
7030
7034
7034
7034
7034
7034
7039
7039
7039
7039
7039
7039
7039
7039
7039
7039
7039
7042
7042
7042
7042
7042
7047
7051
7051
7051
7051
7051
7051
7051
7051
7051
7051
7051
7051
7051
7051
7053
7053
7053
7057
7059
7059
7059
7059
7059
7059
7059
7059
7059
7059
7059
7059
7063
7063
7063
7063
7063
7063
7068
7068
7068
7068
7068
7068
7068
7068
7068
7072
7072
7072
7072
7072
7076
7076
7076
7079
7079
7084
7084
7084
7084
7084
7085
7086
7088
7092
7092
7095
7100
7104
7104
7104
7104
7104
7104
7108
7112
7115
7119
7124
7129
7134
7139
7141
7146
7150
7155
7160
7165
7170
7175
7180
7185
7185
7185
7188
7192
7192
7193
7196
7201
7201
7201
7202
7204
7206
7211
7216
7221
7226
7231
7236
7241
7246
7251
7256
7261
7264
7269
7274
7279
7284
7289
7289
7289
7289
7294
7299
7299
7299
7299
7299
7299
7299
7299
7299
7302
7305
7310
7315
7318
7320
7325
7328
7332
7334
7339
7342
7346
7349
7353
7358
7363
7368
7373
7378
7383
7388
7388
7388
7390
7392
7394
7398
7403
7408
7408
7408
7412
7415
7415
7417
7422
7427
7431
7435
7440
7445
7450
7455
7459
7464
7469
7474
7479
7484
7489
7494
7499
7504
7509
7514
7519
7524
7529
7534
7539
7544
7544
7544
7544
7544
7544
7544
7545
7547
7549
7554
7556
7558
7558
7560
7564
7565
7567
7572
7577
7581
7586
7591
7596
7598
7603
7608
7613
7618
7621
7626
7631
7636
7641
7646
7651
7656
7661
7666
7671
7676
7681
7686
7691
7696
7701
7701
7701
7701
7701
7701
7701
7701
7701
7701
7706
7711
7715
7715
7720
7725
7725
7725
7725
7725
7725
7725
7728
7730
7735
7738
7742
7747
7752
7757
7762
7765
7769
7773
7778
7782
7786
7790
7795
7800
7805
7810
7815
7820
7825
7830
7835
7840
7845
7850
7855
7855
7855
7856
7861
7865
7870
7875
7880
7885
7890
7890
7890
7900
7909
7915
7915
7915
7915
7921
7931
7931
7931
7931
7946
7961
7961
7961
7961
7961
7975
7981
7996
8010
8019
8032
8046
8056
8056
8062
8072
8072
8072
8082
8087
8096
8096
8096
8096
8111
8126
8126
8136
8136
8140
8140
8140
8146
8156
8171
8186
8201
8216
8225
8237
8251
8266
8279
8293
8308
8323
8328
8334
8342
8352
8366
8376
8391
8406
8421
8436
8451
8466
8481
8496
8511
8526
8541
8556
8556
8556
8556
8556
8556
8556
8556
8562
8572
8572
8572
8572
8572
8587
8602
8602
8602
8617
8632
8632
8632
8632
8638
8648
8683
8718
8753
8788
8823
8858
8878
8913
8947
8982
9017
9052
9087
9122
9157
9192
9227
9227
9227
9227
9227
9227
9227
9227
9227
9227
9227
9227
9227
9227
9228
9230
9230
9230
9233
9237
9237
9237
9237
9237
9237
9237
9237
9239
9244
9249
9249
9254
9259
9264
9264
9264
9265
9267
9267
9267
9267
9267
9267
9269
9274
9279
9279
9279
9282
9286
9286
9286
9286
9286
9286
9286
9286
9286
9286
9286
9286
9286
9286
9286
9289
9293
9293
9293
9298
9303
9308
9308
9310
9315
9320
9320
9320
9320
9320
9320
9320
9320
9320
9320
9320
9320
9320
9325
9330
9335
9335
9340
9345
9350
9350
9350
9350
9351
9353
9353
9353
9353
9353
9353
9353
9353
9353
9353
9353
9356
9360
9360
9362
9367
9372
9372
9372
9372
9375
9379
9379
9389
9399
9414
9414
9429
9439
9449
9464
9479
9494
9509
9524
9524
9539
9554
9569
9574
9579
9584
9589
9594
