0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
2
3
3
3
3
3
3
3
3
3
4
5
6
7
8
9
10
11
12
13
14
14
14
14
15
15
15
15
15
15
15
15
16
18
19
21
24
29
34
39
44
44
44
45
48
54
64
79
92
107
122
150
182
214
243
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
302
302
303
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
305
306
306
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
308
309
310
311
312
313
313
313
314
315
316
317
318
318
319
319
319
319
319
319
319
319
319
320
320
321
322
322
322
323
323
323
324
324
324
324
324
324
324
324
324
324
324
324
325
326
327
328
329
330
331
331
331
331
331
331
331
331
331
331
331
331
331
332
333
333
333
333
333
335
335
335
335
335
335
335
335
335
335
335
336
336
338
338
338
340
340
340
340
340
340
340
340
341
341
341
341
341
341
342
344
346
351
353
353
356
359
363
368
373
373
374
374
377
380
380
380
385
389
394
394
394
394
394
394
394
394
395
397
397
398
400
400
400
400
400
400
400
400
400
400
400
400
401
404
409
414
419
421
426
429
434
438
443
443
443
444
444
444
445
448
448
451
459
472
478
484
494
509
522
525
525
534
548
563
563
563
566
566
566
566
566
566
569
577
591
606
615
625
639
651
654
655
665
679
705
734
768
776
810
840
867
867
867
867
867
867
867
867
867
867
867
867
867
867
867
867
867
867
867
867
867
867
867
867
867
867
868
868
868
868
868
868
868
868
869
869
869
869
869
869
869
869
869
869
869
869
869
869
869
869
869
869
869
870
870
870
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
871
872
872
872
872
872
872
872
872
872
872
872
872
872
872
872
872
872
872
872
872
872
872
872
872
873
873
873
873
873
873
873
873
873
873
873
873
873
873
873
873
873
873
873
873
874
875
876
876
877
877
877
877
877
877
877
877
877
877
877
877
877
877
877
877
877
877
877
877
877
877
878
878
879
879
880
881
881
881
882
882
882
882
882
882
882
882
882
883
883
883
883
883
883
883
883
883
883
883
883
883
883
883
883
883
883
883
883
883
883
883
883
883
883
884
885
886
887
888
888
889
890
891
891
892
892
893
894
895
895
896
896
896
896
896
896
896
896
896
896
896
896
896
896
896
896
896
896
896
896
896
896
896
896
896
896
896
896
896
896
896
896
897
898
899
900
901
901
902
903
903
903
903
903
903
903
903
903
903
903
903
903
903
903
903
903
903
903
903
903
903
903
903
903
903
903
903
903
903
903
903
903
903
903
903
903
903
903
903
903
903
903
903
903
903
903
904
904
904
904
904
904
904
904
904
905
905
905
905
905
905
905
905
905
905
905
905
905
905
907
907
907
907
907
907
907
907
907
907
910
915
915
915
915
915
915
915
919
922
922
925
929
929
929
929
929
929
929
931
932
934
934
934
934
938
942
942
942
942
942
942
942
942
942
945
950
955
960
962
962
967
972
975
975
978
982
982
983
983
983
983
983
983
983
987
991
995
1000
1005
1010
1010
1010
1012
1016
1016
1016
1016
1016
1016
1016
1016
1016
1016
1016
1016
1016
1016
1019
1024
1024
1024
1027
1032
1032
1032
1032
1032
1032
1042
1057
1072
1080
1088
1103
1113
1128
1142
1150
1165
1180
1195
1205
1220
1235
1245
1245
1245
1245
1245
1245
1245
1245
1245
1245
1245
1245
1245
1245
1245
1245
1245
1245
1245
1245
1245
1245
1245
1245
1245
1245
1245
1245
1246
1247
1247
1247
1248
1249
1249
1249
1249
1249
1249
1249
1249
1249
1249
1249
1250
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1251
1252
1253
1253
1253
1254
1255
1255
1255
1255
1255
1255
1255
1255
1255
1255
1255
1255
1255
1255
1256
1257
1257
1257
1258
1259
1259
1259
1259
1259
1259
1259
1259
1259
1259
1259
1259
1259
1259
1259
1259
1259
1259
1259
1259
1260
1261
1261
1261
1261
1261
1261
1261
1265
1269
1274
1274
1278
1282
1286
1291
1295
1300
1305
1310
1310
1314
1318
1322
1323
1324
1325
1326
1327
1327
1327
1327
1327
1327
1327
1327
1327
1327
1327
1327
1327
1328
1329
1329
1330
1330
1330
1330
1330
1330
1330
1330
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1341
1341
1341
1342
1342
1342
1342
1342
1342
1342
1342
1344
1347
1349
1353
1357
1362
1367
1372
1377
1377
1377
1378
1381
1387
1397
1412
1425
1440
1455
1484
1516
1548
1577
1634
1634
1634
1634
1634
1634
1634
1634
1634
1634
1635
1635
1635
1635
1635
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
1636
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
1638
1638
1639
1639
1639
1640
1640
1640
1640
1640
1640
1640
1640
1641
1641
1641
1641
1641
1641
1641
1641
1641
1642
1642
1643
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1644
1645
1645
1645
1646
1647
1648
1648
1649
1649
1649
1649
1649
1649
1649
1649
1649
1649
1650
1651
1651
1652
1652
1652
1652
1652
1652
1652
1652
1652
1652
1652
1652
1652
1652
1652
1652
1652
1652
1652
1652
1652
1652
1652
1652
1652
1652
1653
1653
1654
1655
1656
1657
1658
1659
1659
1659
1660
1661
1662
1663
1664
1664
1665
1665
1665
1665
1665
1665
1665
1665
1665
1666
1666
1667
1668
1668
1668
1669
1669
1669
1670
1670
1670
1670
1670
1670
1670
1670
1670
1670
1670
1671
1672
1673
1674
1675
1676
1677
1678
1678
1678
1678
1678
1678
1678
1678
1678
1680
1682
1682
1682
1683
1685
1686
1686
1686
1686
1688
1688
1688
1688
1688
1688
1688
1688
1688
1689
1689
1690
1690
1692
1692
1692
1694
1694
1694
1694
1694
1694
1694
1694
1695
1695
1695
1695
1698
1701
1706
1708
1710
1715
1717
1717
1720
1723
1727
1732
1737
1737
1738
1739
1742
1745
1745
1745
1750
1754
1759
1759
1759
1759
1759
1759
1759
1759
1760
1762
1762
1763
1765
1765
1765
1765
1765
1765
1765
1765
1765
1765
1765
1768
1769
1772
1777
1782
1787
1789
1794
1797
1802
1806
1811
1811
1812
1814
1818
1821
1825
1828
1828
1831
1839
1853
1859
1865
1875
1890
1903
1906
1906
1915
1929
1944
1944
1944
1947
1947
1947
1947
1947
1947
1950
1959
1973
1988
1997
2007
2021
2033
2037
2038
2048
2062
2088
2117
2150
2160
2194
2224
2252
2252
2252
2252
2253
2253
2253
2253
2253
2253
2253
2253
2253
2253
2253
2253
2253
2253
2253
2253
2253
2253
2253
2254
2254
2254
2255
2255
2255
2255
2255
2255
2255
2256
2257
2258
2258
2258
2258
2258
2258
2258
2258
2258
2258
2258
2258
2258
2258
2258
2258
2258
2258
2259
2259
2259
2260
2261
2261
2261
2261
2261
2261
2261
2261
2261
2261
2261
2261
2261
2261
2262
2262
2262
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2263
2264
2264
2264
2265
2265
2265
2265
2265
2265
2265
2265
2265
2265
2265
2265
2265
2265
2265
2265
2265
2265
2265
2265
2265
2265
2266
2266
2267
2267
2267
2267
2267
2267
2267
2267
2267
2267
2267
2267
2267
2268
2268
2268
2268
2268
2268
2268
2269
2270
2271
2271
2272
2272
2272
2272
2273
2274
2275
2275
2275
2275
2275
2275
2275
2275
2275
2275
2275
2275
2275
2275
2275
2275
2276
2277
2278
2278
2279
2280
2281
2281
2282
2282
2282
2282
2282
2282
2282
2282
2282
2283
2284
2285
2285
2285
2285
2285
2285
2285
2285
2285
2285
2285
2285
2285
2285
2285
2285
2285
2285
2285
2285
2285
2285
2285
2285
2286
2287
2288
2289
2290
2290
2291
2292
2293
2293
2294
2294
2295
2296
2297
2298
2299
2299
2299
2299
2299
2299
2299
2299
2299
2299
2299
2299
2299
2299
2299
2299
2299
2299
2299
2299
2299
2299
2299
2299
2299
2299
2299
2299
2299
2299
2299
2299
2300
2301
2302
2303
2304
2305
2306
2307
2307
2307
2307
2308
2309
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2310
2311
2311
2311
2311
2311
2311
2311
2311
2311
2312
2312
2312
2312
2313
2313
2313
2313
2314
2314
2315
2315
2315
2316
2318
2318
2318
2318
2318
2318
2318
2318
2318
2318
2321
2326
2326
2326
2326
2326
2330
2330
2334
2337
2337
2340
2344
2344
2344
2345
2347
2347
2347
2349
2350
2352
2352
2352
2352
2356
2360
2360
2360
2360
2360
2360
2360
2360
2360
2363
2368
2373
2378
2380
2380
2385
2390
2393
2393
2396
2400
2400
2401
2401
2401
2401
2401
2402
2402
2406
2410
2414
2419
2424
2429
2431
2431
2435
2439
2439
2439
2439
2439
2439
2439
2439
2439
2439
2439
2439
2439
2439
2442
2447
2447
2447
2450
2455
2455
2455
2455
2455
2455
2465
2480
2495
2503
2513
2528
2538
2553
2567
2575
2590
2605
2620
2630
2645
2660
2670
2670
2670
2670
2670
2670
2670
2670
2670
2670
2670
2670
2670
2670
2670
2670
2670
2670
2670
2670
2670
2670
2670
2670
2670
2670
2670
2670
2671
2672
2672
2672
2673
2674
2674
2674
2674
2674
2674
2674
2674
2674
2674
2674
2675
2676
2676
2676
2676
2676
2676
2676
2676
2676
2676
2676
2676
2676
2676
2676
2676
2676
2676
2676
2676
2676
2676
2676
2676
2677
2678
2678
2678
2679
2680
2680
2680
2680
2680
2680
2680
2680
2680
2680
2680
2680
2680
2680
2681
2682
2682
2682
2683
2684
2684
2684
2684
2684
2684
2684
2684
2684
2684
2684
2684
2684
2684
2684
2684
2684
2684
2684
2684
2685
2686
2686
2686
2686
2686
2686
2686
2690
2694
2699
2699
2703
2707
2711
2716
2720
2725
2730
2735
2735
2739
2743
2747
2748
2749
2750
2751
2752
2753
2754
2754
2754
2755
2756
2757
2758
2759
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2784
2784
2785
2786
2786
2787
2789
2792
2797
2802
2807
2812
2817
2822
2827
2832
2837
2842
2847
2852
2855
2866
2879
2889
2904
2919
2934
2949
2964
2979
3008
3042
3075
3102
3154
3154
3154
3155
3155
3156
3156
3156
3156
3156
3157
3157
3157
3157
3157
3158
3158
3158
3158
3158
3158
3158
3158
3158
3158
3159
3159
3160
3160
3160
3160
3160
3160
3160
3160
3161
3162
3162
3163
3164
3164
3165
3165
3165
3165
3165
3165
3165
3165
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3175
3175
3176
3176
3176
3176
3176
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3186
3186
3186
3186
3186
3187
3188
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3198
3198
3198
3198
3198
3198
3198
3199
3199
3199
3199
3199
3199
3199
3199
3199
3199
3199
3199
3199
3200
3200
3201
3202
3203
3204
3205
3206
3207
3207
3208
3209
3209
3209
3209
3209
3209
3209
3209
3209
3209
3209
3210
3210
3210
3210
3211
3212
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3221
3221
3222
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3231
3231
3232
3233
3233
3234
3235
3236
3237
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3309
3309
3311
3311
3315
3318
3318
3319
3322
3327
3329
3329
3330
3335
3340
3340
3340
3340
3340
3340
3340
3340
3340
3342
3346
3351
3354
3357
3358
3360
3363
3367
3367
3367
3369
3371
3376
3379
3384
3386
3391
3394
3399
3404
3409
3413
3418
3423
3428
3433
3438
3442
3447
3452
3457
3461
3466
3471
3476
3481
3486
3491
3496
3501
3506
3506
3506
3506
3506
3509
3513
3517
3522
3527
3532
3537
3542
3544
3547
3552
3557
3561
3565
3570
3575
3580
3585
3589
3594
3599
3604
3609
3614
3619
3624
3627
3632
3637
3642
3647
3652
3657
3662
3667
3672
3681
3691
3704
3719
3734
3746
3761
3776
3791
3805
3820
3835
3850
3865
3880
3880
3895
3910
3916
3917
3920
3926
3932
3947
3962
3977
3992
4004
4019
4034
4046
4060
4073
4088
4103
4137
4167
4200
4235
4268
4298
4332
4332
4332
4332
4333
4334
4334
4334
4334
4334
4334
4334
4334
4334
4334
4335
4335
4335
4335
4335
4335
4335
4336
4337
4337
4337
4338
4339
4339
4339
4339
4339
4339
4340
4341
4342
4342
4342
4342
4342
4343
4343
4343
4343
4343
4343
4343
4343
4343
4343
4343
4344
4344
4345
4345
4345
4346
4347
4347
4347
4347
4347
4347
4347
4347
4347
4347
4347
4347
4347
4347
4348
4348
4348
4349
4349
4349
4349
4349
4349
4349
4349
4349
4349
4349
4349
4349
4350
4350
4350
4350
4350
4350
4351
4351
4351
4351
4351
4351
4351
4351
4351
4352
4352
4352
4352
4352
4353
4353
4353
4354
4354
4355
4355
4355
4355
4355
4356
4357
4358
4359
4359
4360
4361
4362
4362
4362
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4374
4375
4376
4377
4378
4379
4380
4381
4381
4382
4383
4384
4384
4385
4386
4387
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4408
4408
4408
4409
4410
4410
4411
4411
4411
4411
4411
4412
4412
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4425
4426
4427
4428
4429
4430
4431
4432
4432
4433
4434
4435
4436
4437
4438
4439
4439
4439
4440
4441
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4467
4468
4469
4469
4470
4470
4471
4471
4472
4472
4472
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4504
4504
4504
4504
4504
4504
4504
4504
4504
4505
4506
4507
4507
4508
4509
4509
4509
4509
4509
4509
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4520
4521
4522
4523
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4546
4546
4550
4554
4557
4557
4557
4557
4560
4564
4564
4564
4564
4569
4574
4574
4574
4574
4574
4579
4582
4587
4592
4596
4601
4606
4610
4610
4613
4617
4617
4617
4621
4623
4627
4627
4627
4627
4632
4637
4637
4641
4641
4644
4644
4644
4647
4651
4656
4661
4666
4671
4674
4679
4684
4689
4694
4699
4704
4709
4712
4715
4719
4723
4728
4732
4737
4742
4747
4752
4757
4762
4767
4772
4777
4782
4787
4792
4792
4792
4792
4792
4792
4792
4792
4795
4799
4799
4799
4799
4799
4804
4809
4809
4809
4814
4819
4819
4819
4819
4822
4826
4841
4856
4871
4886
4901
4916
4926
4941
4955
4970
4985
5000
5015
5030
5045
5060
5075
5075
5075
5075
5075
5075
5075
5075
5075
5075
5075
5075
5075
5075
5076
5077
5077
5077
5078
5079
5079
5079
5079
5079
5079
5079
5079
5080
5081
5082
5082
5083
5084
5085
5085
5085
5086
5087
5087
5087
5087
5087
5087
5088
5089
5090
5090
5090
5091
5092
5092
5092
5092
5092
5092
5092
5092
5092
5092
5092
5092
5092
5092
5092
5093
5094
5094
5094
5095
5096
5097
5097
5098
5099
5100
5100
5100
5100
5100
5100
5100
5100
5100
5100
5100
5100
5100
5101
5102
5103
5103
5104
5105
5106
5106
5106
5106
5107
5108
5108
5108
5108
5108
5108
5108
5108
5108
5108
5108
5109
5110
5110
5111
5112
5113
5113
5113
5113
5114
5115
5115
5119
5123
5128
5128
5133
5137
5141
5146
5151
5156
5161
5166
5166
5171
5176
5181
5182
5183
5184
5185
5186
