0
3
3
3
6
6
6
7
7
7
8
8
8
8
9
9
9
9
9
9
12
12
15
18
18
21
21
23
23
24
24
28
29
29
29
29
31
31
31
33
34
34
38
38
43
46
46
46
47
50
50
50
54
64
70
73
79
79
88
93
95
119
130
141
166
181
217
263
317
372
412
412
412
412
412
414
414
415
415
415
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
417
417
417
419
419
419
419
419
420
420
423
423
423
423
423
423
423
423
423
423
423
423
425
425
425
425
425
425
425
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
426
429
429
429
429
430
430
430
430
430
430
430
430
430
430
430
430
430
430
431
431
431
431
431
434
434
434
435
437
437
437
437
437
437
437
437
437
437
437
438
438
438
438
438
438
441
441
445
445
445
450
450
450
450
452
452
453
453
455
459
459
459
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
463
463
463
463
465
466
467
470
473
475
475
475
475
475
475
477
481
483
484
488
493
498
498
503
503
503
506
510
513
513
514
517
517
518
518
518
521
521
521
521
521
521
521
523
523
524
524
524
524
528
528
528
533
533
533
533
533
534
539
539
542
552
552
561
561
576
576
582
585
596
599
604
617
617
630
630
639
642
642
644
644
644
654
654
654
654
655
655
655
655
655
655
655
655
655
655
655
658
658
661
661
664
664
670
679
679
679
685
687
687
694
694
697
697
697
700
706
715
718
724
737
742
743
748
757
767
782
786
801
831
831
866
878
897
916
950
969
974
983
983
1006
1013
1013
1013
1013
1013
1013
1018
1027
1027
1034
1036
1062
1062
1084
1094
1123
1151
1155
1171
1200
1235
1296
1357
1392
1405
1428
1484
1545
1545
1545
1545
1545
1545
1545
1545
1545
1545
1545
1545
1545
1545
1545
1545
1545
1545
1545
1545
1545
1545
1545
1546
1546
1546
1548
1548
1548
1548
1548
1548
1548
1549
1549
1549
1549
1549
1549
1549
1549
1549
1549
1549
1549
1549
1550
1550
1550
1551
1551
1551
1551
1551
1551
1551
1553
1553
1553
1553
1553
1553
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1556
1560
1560
1560
1560
1560
1560
1560
1560
1562
1562
1562
1562
1562
1562
1562
1562
1562
1562
1564
1564
1567
1567
1568
1568
1570
1570
1570
1570
1570
1570
1570
1571
1571
1575
1575
1580
1580
1581
1581
1584
1584
1588
1588
1588
1588
1588
1588
1588
1588
1588
1588
1588
1588
1588
1588
1588
1590
1590
1591
1591
1594
1594
1594
1597
1597
1597
1599
1599
1599
1599
1599
1599
1599
1599
1599
1601
1601
1601
1601
1601
1601
1601
1601
1601
1601
1601
1601
1601
1602
1602
1604
1604
1604
1604
1604
1604
1604
1604
1604
1604
1604
1606
1606
1610
1610
1610
1610
1613
1617
1620
1620
1625
1625
1628
1630
1634
1637
1642
1642
1642
1642
1642
1642
1642
1642
1643
1643
1646
1646
1646
1646
1646
1646
1647
1647
1648
1648
1648
1648
1651
1651
1651
1651
1651
1651
1651
1652
1652
1652
1652
1652
1652
1652
1653
1653
1653
1654
1654
1654
1655
1655
1655
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1656
1657
1657
1657
1657
1657
1657
1657
1660
1660
1660
1662
1662
1662
1662
1662
1662
1662
1663
1663
1663
1663
1669
1683
1683
1683
1683
1689
1703
1703
1704
1711
1711
1717
1723
1723
1723
1736
1751
1751
1766
1766
1773
1773
1783
1783
1783
1786
1788
1791
1791
1791
1791
1791
1791
1791
1791
1791
1791
1791
1793
1793
1793
1802
1802
1812
1812
1817
1817
1829
1843
1848
1861
1876
1890
1890
1892
1893
1893
1893
1893
1894
1894
1897
1897
1900
1900
1904
1914
1914
1914
1922
1930
1930
1930
1930
1930
1930
1930
1930
1930
1930
1930
1938
1938
1938
1938
1938
1938
1938
1938
1948
1948
1954
1954
1954
1968
2003
2038
2073
2108
2143
2161
2181
2194
2228
2263
2283
2295
2330
2350
2370
2405
2440
2440
2440
2440
2440
2440
2440
2440
2440
2440
2440
2440
2440
2440
2440
2440
2443
2443
2447
2447
2447
2447
2450
2454
2454
2454
2454
2454
2454
2454
2454
2454
2454
2454
2454
2454
2454
2454
2454
2454
2457
2461
2461
2461
2464
2468
2468
2468
2468
2468
2470
2470
2470
2470
2470
2470
2470
2470
2474
2474
2474
2474
2474
2474
2474
2474
2474
2474
2474
2474
2474
2474
2474
2474
2474
2474
2474
2474
2474
2474
2474
2474
2474
2474
2474
2474
2474
2474
2474
2474
2474
2474
2477
2477
2477
2477
2477
2477
2477
2481
2481
2481
2481
2481
2484
2488
2488
2488
2488
2488
2488
2488
2488
2488
2488
2488
2488
2488
2491
2495
2505
2520
2530
2530
2545
2555
2555
2565
2575
2575
2585
2600
2610
2625
2640
2650
2660
2665
2670
2675
2680
2685
2688
2688
2691
2694
2694
2696
2697
2700
2705
2706
2707
2708
2710
2711
2712
2713
2716
2720
2723
2727
2729
2732
2737
2740
2745
2750
2754
2758
2763
2766
2771
2774
2779
2783
2787
2794
2794
2800
2808
2810
2819
2833
2847
2859
2869
2872
2872
2885
2889
2889
2893
2908
2919
2929
2934
2951
2959
2988
3013
3045
3079
3113
3148
3174
3194
3231
3277
3334
3390
3430
3430
3430
3430
3430
3432
3432
3434
3434
3434
3435
3435
3437
3437
3437
3438
3438
3438
3438
3438
3438
3438
3442
3443
3443
3443
3443
3445
3445
3445
3445
3448
3448
3448
3448
3450
3450
3450
3451
3451
3451
3451
3451
3452
3455
3455
3459
3462
3464
3469
3469
3472
3474
3479
3479
3481
3484
3487
3490
3495
3495
3495
3499
3499
3499
3503
3506
3510
3514
3518
3523
3523
3528
3528
3528
3532
3534
3536
3538
3540
3544
3544
3548
3548
3548
3553
3555
3556
3561
3565
3565
3565
3568
3568
3570
3574
3574
3574
3574
3574
3574
3574
3574
3574
3574
3574
3574
3574
3574
3574
3574
3574
3574
3574
3574
3576
3579
3579
3580
3581
3581
3583
3583
3585
3585
3585
3587
3589
3592
3595
3600
3604
3605
3610
3615
3618
3620
3623
3627
3631
3631
3633
3634
3634
3637
3637
3638
3638
3643
3643
3643
3643
3644
3648
3648
3648
3648
3651
3651
3655
3657
3661
3661
3664
3668
3670
3675
3675
3675
3680
3682
3685
3690
3694
3698
3703
3706
3710
3715
3718
3722
3722
3727
3732
3736
3740
3740
3745
3746
3750
3753
3758
3763
3767
3772
3777
3777
3782
3786
3790
3790
3792
3797
3797
3801
3801
3804
3809
3814
3819
3824
3829
3834
3839
3844
3849
3852
3856
3858
3862
3862
3862
3863
3863
3866
3871
3876
3879
3884
3888
3893
3898
3903
3908
3911
3911
3911
3911
3914
3919
3923
3928
3931
3936
3941
3946
3947
3960
3969
3969
3983
3991
4005
4005
4008
4020
4022
4029
4029
4035
4045
4045
4045
4045
4045
4045
4049
4056
4058
4062
4065
4070
4070
4079
4080
4080
4092
4094
4095
4099
4108
4123
4137
4141
4154
4169
4173
4187
4196
4211
4220
4232
4241
4256
4270
4280
4295
4309
4324
4330
4345
4360
4363
4378
4380
4380
4394
4407
4413
4419
4433
4433
4433
4433
4433
4436
4438
4447
4455
4465
4480
4488
4494
4508
4514
4521
4535
4549
4561
4570
4585
4600
4615
4625
4639
4641
4656
4662
4662
4672
4687
4699
4714
4729
4744
4754
4768
4783
4798
4813
4828
4862
4896
4931
4966
5001
5031
5064
5099
5134
5168
5183
5212
5232
5267
5296
5296
5297
5301
5311
5321
5330
5363
5398
5416
5441
5475
5495
5525
5559
5594
5624
5658
5693
5728
5763
5824
5885
5935
6004
6043
6099
6160
6160
6160
6160
6160
6160
6160
6164
6164
6164
6169
6169
6173
6173
6173
6178
6178
6183
6183
6183
6183
6183
6183
6186
6186
6186
6191
6191
6191
6191
6191
6191
6191
6193
6193
6196
6196
6196
6196
6196
6196
6196
6196
6196
6196
6196
6199
6199
6199
6203
6203
6203
6203
6203
6203
6203
6208
6208
6208
6211
6211
6213
6217
6219
6219
6219
6219
6219
6219
6219
6219
6220
6220
6222
6226
6226
6226
6227
6230
6230
6230
6230
6230
6230
6234
6234
6234
6234
6238
6242
6242
6242
6242
6246
6246
6246
6246
6246
6246
6246
6246
6246
6250
6250
6255
6258
6258
6258
6258
6263
6266
6266
6266
6266
6267
6267
6267
6267
6268
6269
6269
6273
6273
6273
6273
6274
6274
6278
6283
6288
6293
6293
6298
6303
6308
6313
6317
6322
6327
6331
6335
6335
6340
6345
6350
6355
6359
6362
6365
6368
6370
6373
6377
6382
6385
6390
6392
6397
6400
6405
6405
6408
6411
6415
6418
6423
6428
6430
6434
6439
6444
6449
6454
6454
6459
6463
6468
6473
6473
6473
6473
6477
6477
6477
6477
6477
6477
6477
6480
6480
6484
6488
6491
6496
6496
6499
6501
6506
6509
6512
6515
6520
6524
6524
6528
6532
6532
6537
6542
6545
6550
6554
6559
6559
6559
6561
6563
6567
6571
6576
6581
6586
6591
6595
6599
6604
6604
6604
6606
6611
6616
6616
6621
6626
6631
6631
6635
6638
6643
6647
6651
6651
6656
6660
6665
6670
6675
6680
6685
6690
6695
6700
6705
6705
6705
6707
6711
6711
6715
6715
6717
6717
6722
6725
6727
6729
6733
6737
6739
6740
6744
6744
6744
6746
6751
6755
6755
6757
6761
6764
6764
6768
6770
6773
6777
6782
6782
6786
6790
6794
6799
6803
6807
6810
6815
6820
6825
6830
6830
6830
6830
6830
6830
6830
6833
6835
6840
6843
6847
6852
6857
6862
6867
6871
6874
6874
6874
6874
6874
6874
6876
6880
6885
6885
6889
6893
6898
6903
6907
6908
6910
6914
6919
6923
6928
6932
6932
6932
6936
6939
6943
6948
6948
6948
6953
6958
6963
6968
6972
6972
6972
6977
6982
6987
6992
6997
7002
7007
7007
7007
7007
7013
7013
7013
7013
7028
7043
7043
7043
7043
7058
7073
7073
7080
7094
7099
7112
7127
7130
7139
7154
7169
7169
7184
7198
7213
7223
7238
7238
7238
7250
7255
7265
7265
7265
7271
7281
7281
7281
7281
7281
7287
7297
7309
7309
7319
7333
7347
7362
7377
7386
7398
7412
7427
7442
7457
7472
7487
7493
7500
7510
7516
7521
7521
7531
7531
7541
7551
7564
7576
7591
7606
7620
7635
7650
7665
7665
7665
7665
7665
7671
7681
7681
7681
7681
7687
7701
7701
7701
7701
7711
7711
7711
7711
7726
7726
7741
7741
7741
7756
7791
7826
7861
7896
7931
7966
7986
8021
8055
8090
8125
8159
8194
8229
8264
8299
8334
8334
8334
8334
8334
8334
8334
8334
8334
8334
8334
8334
8334
8334
8334
8334
8338
8341
8346
8346
8346
8351
8356
8361
8361
8361
8364
8368
8368
8368
8368
8368
8368
8368
8369
8369
8371
8371
8371
8376
8381
8386
8386
8388
8393
8398
8398
8398
8398
8399
8403
8403
8403
8403
8405
8405
8408
8408
8413
8413
8413
8416
8416
8420
8420
8420
8420
8420
8420
8420
8420
8420
8420
8420
8420
8421
8423
8423
8423
8426
8430
8430
8430
8430
8430
8430
8430
8430
8430
8430
8430
8433
8438
8438
8438
8438
8442
8442
8442
8447
8452
8452
8457
8457
8462
8467
8467
8467
8467
8467
8470
8470
8470
8474
8474
8474
8476
8476
8481
8486
8496
8511
8521
8521
8536
8546
8546
8561
8571
8571
8586
8601
8616
8631
8646
8661
8676
8681
8686
8691
8696
8701
