0
0
2
2
3
5
5
5
6
6
8
8
8
9
12
12
13
15
16
18
22
22
22
24
27
30
30
30
30
33
33
34
34
37
37
41
41
43
43
43
45
47
47
54
58
60
60
60
62
64
64
71
82
86
86
95
98
104
106
112
133
151
157
182
206
233
242
282
339
383
447
447
447
447
447
447
447
447
447
447
447
447
447
447
447
449
449
449
449
449
449
449
449
451
451
452
452
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
454
457
457
458
458
458
458
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
460
460
460
460
461
462
462
462
462
462
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
465
465
465
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
466
467
467
467
467
467
467
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
470
470
470
470
472
472
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
473
474
474
474
476
477
477
479
482
482
482
482
482
482
482
485
486
486
487
487
491
491
491
492
492
495
497
497
497
497
497
497
497
497
497
497
499
499
503
503
505
505
505
505
508
510
514
518
518
518
520
524
524
528
528
528
531
531
531
531
531
531
531
532
532
536
538
542
542
542
544
544
544
544
544
544
544
544
545
545
545
545
547
547
547
547
550
550
550
550
552
552
553
553
555
555
555
555
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
563
563
568
568
568
569
574
577
577
577
577
577
582
582
582
582
582
582
582
582
585
587
591
596
602
602
613
621
635
635
635
635
639
644
657
665
665
668
668
682
682
690
696
696
703
708
708
709
710
716
720
727
739
739
739
745
745
756
764
764
764
774
777
778
783
784
785
785
797
817
820
835
864
897
897
901
914
943
948
974
974
1006
1012
1035
1053
1070
1086
1100
1129
1151
1160
1172
1185
1218
1261
1326
1378
1437
1496
1541
1592
1592
1592
1592
1592
1592
1592
1592
1592
1592
1592
1594
1597
1597
1597
1597
1597
1597
1597
1597
1597
1597
1597
1597
1597
1597
1597
1597
1597
1597
1597
1597
1597
1597
1597
1597
1597
1598
1598
1598
1599
1599
1599
1599
1599
1599
1599
1599
1599
1599
1599
1599
1599
1599
1599
1599
1599
1599
1599
1599
1599
1599
1599
1599
1599
1601
1601
1601
1601
1601
1601
1601
1601
1601
1601
1601
1601
1603
1603
1603
1605
1605
1605
1605
1605
1605
1605
1605
1605
1605
1605
1605
1605
1605
1605
1607
1607
1607
1607
1607
1607
1607
1607
1607
1607
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1609
1610
1610
1610
1610
1610
1610
1610
1610
1612
1612
1614
1618
1618
1618
1621
1621
1621
1621
1621
1621
1621
1621
1621
1621
1621
1621
1621
1621
1621
1621
1622
1622
1622
1622
1622
1622
1622
1622
1622
1622
1623
1623
1623
1623
1623
1623
1623
1623
1623
1623
1623
1623
1623
1623
1623
1623
1623
1623
1623
1623
1623
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1624
1627
1627
1627
1629
1631
1631
1634
1634
1634
1634
1635
1636
1636
1636
1637
1637
1637
1637
1638
1639
1641
1641
1641
1641
1641
1641
1641
1641
1641
1641
1643
1643
1643
1643
1643
1643
1643
1643
1643
1643
1643
1643
1643
1643
1643
1643
1648
1649
1649
1649
1651
1651
1651
1654
1654
1654
1658
1658
1658
1658
1659
1662
1664
1665
1669
1669
1671
1673
1676
1680
1683
1683
1683
1683
1683
1683
1683
1683
1683
1683
1683
1683
1683
1687
1687
1687
1687
1691
1695
1695
1698
1701
1704
1704
1708
1708
1708
1708
1709
1710
1712
1712
1712
1712
1712
1712
1714
1714
1716
1716
1717
1717
1718
1718
1718
1718
1718
1718
1718
1718
1718
1720
1720
1724
1724
1725
1725
1727
1727
1729
1729
1729
1729
1729
1729
1729
1730
1730
1731
1731
1731
1731
1731
1731
1731
1732
1732
1735
1735
1738
1738
1738
1738
1738
1739
1740
1740
1740
1740
1742
1742
1742
1742
1742
1742
1742
1742
1742
1742
1742
1742
1745
1748
1748
1748
1749
1749
1749
1749
1749
1749
1749
1749
1749
1749
1749
1749
1749
1749
1749
1755
1767
1767
1767
1772
1779
1779
1783
1783
1784
1790
1790
1790
1790
1793
1793
1793
1793
1794
1794
1794
1794
1800
1814
1814
1820
1831
1831
1831
1839
1848
1848
1851
1863
1877
1891
1893
1893
1901
1911
1911
1911
1911
1911
1920
1920
1930
1935
1935
1941
1950
1950
1950
1951
1954
1954
1961
1961
1961
1967
1967
1967
1977
1992
1992
2006
2008
2014
2014
2020
2020
2020
2020
2024
2024
2032
2034
2041
2041
2050
2050
2050
2051
2051
2054
2073
2108
2139
2143
2159
2194
2229
2263
2294
2328
2363
2376
2396
2430
2461
2495
2525
2558
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2576
2580
2580
2580
2580
2583
2587
2587
2587
2587
2587
2587
2587
2587
2587
2588
2590
2590
2590
2590
2590
2590
2590
2590
2590
2590
2590
2590
2590
2590
2590
2590
2590
2590
2590
2593
2597
2597
2597
2600
2604
2604
2604
2604
2604
2604
2604
2604
2604
2604
2604
2604
2604
2604
2607
2611
2611
2611
2614
2618
2618
2618
2618
2618
2618
2618
2618
2618
2619
2623
2623
2623
2623
2623
2623
2623
2623
2623
2623
2623
2623
2626
2630
2630
2630
2630
2630
2630
2630
2630
2630
2630
2630
2630
2630
2630
2630
2630
2630
2631
2631
2631
2631
2631
2631
2631
2641
2651
2666
2666
2673
2683
2693
2708
2708
2714
2729
2739
2748
2758
2758
2768
2778
2788
2792
2802
2807
2812
2817
2822
2827
2832
2837
2837
2838
2838
2839
2841
2841
2843
2845
2845
2847
2847
2848
2850
2853
2855
2858
2860
2864
2868
2872
2875
2879
2883
2887
2891
2895
2898
2903
2906
2911
2915
2920
2925
2929
2934
2934
2941
2943
2947
2954
2959
2970
2978
2987
2995
3005
3019
3031
3044
3059
3071
3085
3099
3114
3129
3135
3151
3156
3173
3198
3223
3255
3285
3316
3347
3357
3398
3451
3495
3561
3561
3562
3564
3564
3564
3564
3564
3566
3566
3566
3569
3569
3569
3569
3573
3573
3574
3574
3578
3578
3578
3578
3580
3580
3581
3581
3583
3583
3583
3583
3584
3584
3584
3584
3586
3586
3586
3586
3586
3588
3588
3588
3588
3589
3592
3595
3600
3602
3604
3606
3607
3607
3608
3609
3610
3610
3610
3611
3615
3615
3615
3617
3619
3621
3625
3625
3625
3628
3632
3634
3636
3636
3640
3640
3641
3642
3644
3644
3647
3647
3648
3651
3651
3651
3651
3651
3654
3654
3655
3655
3655
3657
3660
3660
3660
3662
3662
3664
3664
3667
3671
3671
3674
3675
3677
3677
3680
3682
3685
3688
3692
3696
3701
3705
3710
3710
3710
3710
3710
3710
3710
3714
3719
3721
3726
3729
3734
3735
3735
3735
3737
3737
3737
3737
3739
3741
3744
3744
3746
3746
3746
3746
3746
3746
3749
3751
3751
3753
3755
3755
3757
3757
3757
3757
3757
3757
3758
3759
3759
3762
3765
3770
3775
3775
3775
3778
3781
3782
3785
3785
3785
3786
3790
3790
3794
3797
3801
3801
3805
3809
3809
3813
3817
3821
3826
3831
3836
3836
3840
3844
3849
3854
3859
3861
3865
3869
3873
3877
3877
3877
3880
3881
3885
3888
3889
3889
3893
3894
3897
3901
3906
3908
3912
3916
3921
3925
3930
3933
3937
3941
3943
3948
3953
3958
3963
3968
3973
3978
3983
3988
3992
3995
3999
4003
4007
4011
4016
4019
4020
4024
4029
4034
4038
4043
4048
4048
4048
4057
4059
4061
4062
4064
4071
4071
4071
4072
4072
4072
4077
4091
4091
4094
4094
4100
4103
4110
4110
4122
4122
4127
4127
4129
4129
4129
4129
4135
4135
4135
4135
4137
4141
4152
4156
4156
4161
4175
4185
4193
4196
4210
4216
4231
4245
4259
4264
4275
4286
4293
4298
4300
4303
4313
4320
4332
4342
4344
4349
4355
4369
4383
4385
4396
4408
4422
4436
4451
4465
4480
4495
4510
4513
4527
4536
4551
4566
4581
4595
4607
4620
4631
4645
4654
4668
4677
4688
4697
4709
4724
4734
4746
4752
4765
4778
4792
4803
4815
4829
4841
4855
4870
4870
4880
4900
4933
4936
4942
4945
4970
4993
5026
5056
5090
5123
5157
5190
5209
5235
5269
5304
5319
5353
5388
5420
5429
5452
5471
5488
5505
5532
5563
5585
5597
5609
5623
5654
5713
5779
5848
5910
5972
6018
6081
6081
6081
6081
6081
6081
6081
6081
6081
6081
6081
6084
6088
6090
6090
6090
6091
6091
6091
6091
6091
6091
6094
6095
6095
6095
6095
6095
6095
6096
6096
6096
6099
6099
6099
6099
6099
6100
6100
6100
6104
6104
6104
6104
6104
6104
6104
6104
6104
6104
6104
6104
6104
6108
6108
6108
6108
6110
6110
6110
6111
6111
6113
6113
6114
6119
6119
6119
6119
6119
6119
6119
6119
6119
6119
6119
6119
6122
6122
6122
6127
6129
6129
6129
6129
6129
6133
6133
6133
6133
6133
6133
6135
6135
6135
6139
6140
6140
6140
6140
6140
6140
6140
6140
6140
6143
6143
6143
6143
6145
6145
6145
6145
6145
6147
6147
6147
6148
6148
6148
6148
6148
6148
6152
6157
6161
6161
6161
6162
6165
6168
6170
6170
6170
6173
6178
6178
6178
6179
6181
6181
6181
6182
6182
6182
6182
6186
6186
6191
6196
6200
6200
6200
6203
6206
6209
6211
6211
6216
6219
6224
6226
6226
6227
6230
6231
6231
6231
6235
6239
6241
6245
6249
6249
6252
6257
6261
6261
6261
6261
6262
6263
6263
6263
6265
6266
6266
6269
6273
6273
6276
6280
6280
6280
6282
6282
6282
6285
6285
6286
6289
6290
6293
6294
6295
6295
6295
6296
6297
6298
6298
6298
6301
6305
6310
6314
6316
6316
6319
6322
6326
6329
6333
6335
6339
6343
6343
6344
6347
6350
6353
6357
6362
6366
6371
6376
6381
6386
6390
6394
6398
6399
6403
6407
6412
6416
6416
6416
6420
6424
6428
6431
6431
6435
6439
6444
6449
6452
6456
6460
6464
6469
6473
6478
6480
6485
6485
6485
6485
6488
6491
6494
6497
6502
6507
6511
6514
6515
6518
6522
6527
6531
6536
6541
6546
6551
6556
6558
6561
6566
6570
6570
6574
6576
6581
6586
6586
6588
6592
6596
6599
6603
6608
6613
6617
6622
6627
6632
6637
6642
6642
6644
6649
6654
6654
6655
6658
6663
6663
6663
6664
6666
6670
6675
6680
6685
6690
6695
6700
6705
6710
6715
6720
6725
6728
6733
6738
6743
6748
6753
6753
6754
6755
6755
6759
6763
6768
6772
6772
6776
6780
6784
6785
6786
6787
6791
6793
6798
6802
6805
6807
6812
6816
6821
6825
6828
6832
6837
6841
6846
6849
6850
6853
6858
6859
6863
6867
6871
6875
6880
6881
6883
6888
6892
6896
6901
6905
6905
6909
6913
6913
6916
6918
6921
6925
6930
6934
6934
6937
6937
6937
6937
6937
6937
6937
6937
6937
6937
6937
6937
6947
6956
6962
6962
6968
6968
6968
6968
6968
6968
6968
6975
6980
6982
6982
6982
6988
6998
6998
7013
7028
7028
7028
7042
7056
7056
7065
7074
7087
7100
7109
7109
7118
7128
7128
7128
7131
7145
7145
7145
7145
7160
7175
7175
7190
7205
7205
7216
7231
7246
7246
7257
7272
7287
7301
7310
7310
7325
7340
7340
7344
7344
7347
7361
7374
7389
7401
7415
7430
7445
7455
7456
7464
7477
7479
7493
7495
7499
7513
7527
7540
7552
7567
7582
7596
7609
7623
7638
7652
7665
7678
7690
7705
7720
7734
7748
7763
7778
7793
7796
7803
7812
7822
7837
7872
7907
7941
7972
8006
8041
8076
8111
8144
8178
8213
8248
8283
8317
8350
8384
8417
8452
8485
8485
8485
8485
8485
8485
8485
8485
8485
8485
8485
8485
8485
8485
8485
8485
8485
8485
8485
8485
8485
8485
8485
8485
8485
8485
8485
8485
8485
8485
8485
8485
8485
8486
8488
8488
8488
8491
8495
8495
8495
8495
8496
8499
8504
8504
8504
8509
8514
8519
8519
8519
8520
8522
8522
8522
8522
8524
8529
8534
8534
8534
8537
8541
8541
8541
8541
8541
8541
8541
8541
8541
8541
8541
8541
8541
8541
8543
8548
8553
8553
8558
8563
8568
8568
8568
8569
8571
8571
8571
8571
8572
8572
8575
8575
8575
8580
8585
8590
8590
8592
8597
8602
8602
8602
8602
8602
8605
8609
8609
8611
8616
8621
8621
8621
8622
8622
8624
8624
8624
8624
8624
8624
8626
8631
8636
8636
8636
8639
8643
8643
8643
8643
8645
8646
8646
8646
8646
8650
8650
8651
8651
8655
8655
8655
8658
8658
8662
8662
8672
8682
8697
8697
8706
8716
8726
8741
8741
8751
8766
8776
8791
8806
8806
8821
8836
8851
8865
8880
8885
8890
8895
8900
8905
8910
8915
