0
1
mirror of https://git.sb/baoshuo/OI-codes.git synced 2024-11-30 19:16:28 +00:00
OI-codes/AtCoder/ARC068/E/data/24.out

100001 lines
413 KiB (Stored with Git LFS)
Plaintext

300000
300000
294764
288396
282005
273955
266169
259113
251737
245990
237734
228515
220455
213466
207288
201945
197255
192198
188501
185874
181933
179216
176914
175300
173294
170152
168000
165767
164356
162586
161527
160090
158451
156511
153873
152306
150828
148890
147736
146646
144818
143501
142630
141107
140126
138617
137604
136816
135123
134392
132374
130769
128924
127540
126184
124606
123251
121828
120971
119563
118508
117539
116230
115082
113917
112760
111289
110257
108997
108168
107371
106253
104859
103820
102872
101646
100837
99382
98340
97362
96249
95414
94518
93441
92356
91432
90472
89510
88589
87632
86816
85630
84833
83608
82783
82069
80845
80079
79388
78827
77053
75496
73961
72521
71064
70102
68984
68296
67224
66415
65923
64893
63817
62975
62028
61463
60600
59847
59367
58615
58332
57608
57028
56652
56153
55227
54856
53760
53291
52525
51727
51353
50770
50324
49544
49126
48516
48244
47486
47273
46763
46842
46158
45678
44840
44345
43821
43203
42916
42491
42003
41590
41206
40760
40563
40206
39538
39400
39175
38874
38446
38109
37883
37449
37123
37115
36681
36200
35665
35303
34706
34612
34072
33517
33271
33101
32716
32501
32185
31998
31980
31657
31320
31356
31278
31026
30801
30473
30448
30116
30288
30098
29847
29588
29598
29644
29226
29366
28908
29151
28790
28565
28110
27971
27756
27377
27275
27283
27025
26677
26774
26502
26415
26064
26323
26032
25657
25596
25478
25530
25703
25602
25374
25231
25210
25034
24934
24781
24907
24681
24708
24453
24409
24174
24223
23972
24155
23972
23857
23692
23960
23788
23725
23725
23394
23274
23254
23285
23125
23217
22822
22644
22396
22397
22199
21870
21974
21729
21450
21321
21224
20994
21071
20884
20427
20422
20565
20402
20204
20201
20005
20031
20047
19877
19863
20040
19864
19557
19621
19511
19465
19308
19294
19461
19284
19230
19211
19205
18989
18887
18842
19187
19127
19169
19096
18983
18949
18968
18898
18881
18764
18799
18668
18432
18453
18477
18282
18315
18284
18448
18300
18410
18071
18108
18018
18028
17902
18084
18013
17909
17839
17727
17667
17652
17525
17440
17446
17341
17551
17336
17556
17567
17522
17101
16969
16806
16551
16485
16329
16381
16436
16059
16291
16106
15822
15725
15520
15345
15310
15149
15132
15242
14942
14883
15034
14793
14889
14803
14797
14633
14659
14660
14570
14495
14513
14504
14354
14496
14460
14467
14393
14240
14026
14238
14175
14009
14004
14024
14115
14021
14210
14129
14156
14021
13914
13922
13810
13727
13674
13677
13739
13676
13699
13567
13683
13796
13745
13470
13725
13545
13651
13540
13555
13315
13294
13257
13360
13337
13259
13280
13219
13153
13224
13245
13216
13277
13014
13091
13135
13027
12949
13009
12836
12979
12962
13138
12939
12842
12881
13002
12936
12942
12814
12736
12859
12629
12654
12557
12593
12798
12643
12688
12703
12622
12590
12767
12633
12589
12667
12596
12462
12497
12453
12525
12428
12376
12347
12332
12247
12236
12314
12323
12239
12212
12349
12210
12209
12177
12086
12011
11985
11840
11937
12096
12112
11859
12005
11901
11929
11757
11717
11986
11805
11760
11711
11780
11866
11784
11725
11813
11731
11640
11573
11626
11647
11680
11681
11656
11592
11660
11424
11248
11045
11083
10918
10801
10801
10759
10624
10683
10521
10445
10324
10522
10412
10318
10152
10200
10064
10014
9907
9927
9976
9807
9765
9729
9752
9680
9427
9312
9325
9279
9289
9299
9223
9127
9143
9111
9124
9175
9069
9075
9213
9143
8991
9066
8835
8931
8971
8910
8967
9129
8983
9031
9001
8773
8868
8898
8893
8798
8775
8766
8753
8661
8769
8765
8713
8826
8757
8604
8700
8700
8658
8671
8597
8727
8619
8563
8560
8535
8589
8434
8606
8672
8574
8635
8782
8697
8412
8484
8422
8465
8380
8480
8486
8423
8230
8365
8380
8382
8431
8523
8449
8574
8447
8497
8407
8392
8468
8378
8378
8402
8343
8268
8312
8247
8510
8292
8226
8303
8296
8289
8247
8358
8337
8154
8075
8150
8165
8115
7983
8097
8176
8064
7997
8121
8040
8053
8064
7952
8004
7951
7927
7989
8083
8016
7952
7984
8099
7978
8033
7924
7947
7838
7879
7796
7835
7957
7910
7857
7986
7935
7898
7884
7937
7966
7842
7724
7704
7693
7710
7621
7667
7573
7534
7478
7549
7486
7486
7595
7526
7666
7618
7480
7518
7524
7593
7505
7446
7496
7488
7499
7511
7566
7420
7388
7295
7330
7351
7306
7402
7330
7352
7342
7263
7283
7346
7302
7301
7419
7347
7267
7362
7289
7325
7299
7219
7357
7257
7202
7199
7145
7299
7264
7190
7069
7206
7108
7212
7220
7171
7293
7106
7109
7085
7108
7036
7081
7021
7082
7064
7037
6998
7079
7086
7042
7074
7089
7063
7029
6944
6917
6987
6923
7003
7065
7067
7004
6967
6978
7084
7081
6977
6931
7039
6973
7005
6980
6978
6880
6984
6953
6831
6801
6833
6726
6793
6697
6753
6743
6694
6778
6661
6713
6777
6733
6643
6629
6744
6771
6761
6784
6733
6760
6706
6644
6723
6736
6703
6650
6845
6795
6859
6703
6655
6762
6653
6713
6626
6681
6672
6702
6612
6747
6639
6718
6620
6639
6639
6581
6545
6615
6699
6643
6618
6598
6597
6645
6611
6592
6659
6651
6581
6425
6490
6487
6491
6448
6339
6354
6261
6235
6291
6368
6305
6344
6326
6342
6313
6320
6317
6370
6283
6285
6271
6243
6233
6283
6315
6342
6351
6276
6226
6277
6310
6142
6271
6188
6241
6159
6181
6154
6180
6199
6166
6197
6208
6213
6265
6305
6245
6244
6355
6321
6330
6382
6285
6361
6322
6263
6361
6404
6289
6321
6245
6243
6301
6349
6227
6285
6149
6191
6254
6241
6279
6285
6232
6240
6236
6141
6071
6011
6065
6030
6033
6026
5932
5963
5886
5981
5937
5986
6068
6042
6035
5926
5970
5911
5940
5994
5914
5877
5831
5935
5912
5994
5924
5939
5890
5832
5795
5851
5859
5676
5740
5686
5698
5847
5804
5839
5786
5722
5728
5874
5866
5880
5928
5854
5742
5735
5726
5698
5775
5863
5747
5767
5824
5708
5798
5739
5662
5766
5788
5778
5711
5802
5755
5764
5839
5849
5771
5758
5691
5695
5647
5696
5787
5824
5766
5783
5728
5815
5760
5854
5698
5822
5779
5769
5794
5788
5667
5595
5454
5468
5332
5294
5306
5240
5158
5195
4952
5012
4979
4983
4940
4926
4782
4818
4808
4880
4797
4712
4780
4689
4726
4582
4702
4723
4723
4615
4538
4494
4490
4355
4344
4369
4372
4377
4366
4380
4364
4248
4236
4224
4131
4224
4213
4119
4119
4098
4005
4016
4052
4083
4066
4056
3982
3950
3832
3878
3947
3875
3846
3887
3828
3832
3765
3834
3805
3768
3776
3753
3740
3791
3780
3670
3732
3684
3652
3697
3786
3674
3716
3684
3607
3741
3664
3690
3666
3632
3684
3685
3583
3538
3559
3627
3629
3599
3571
3573
3522
3597
3606
3671
3612
3598
3632
3610
3564
3612
3583
3432
3506
3492
3444
3438
3369
3401
3335
3395
3359
3414
3404
3406
3374
3326
3258
3322
3275
3313
3330
3341
3351
3345
3371
3445
3386
3392
3392
3295
3324
3355
3380
3306
3351
3279
3346
3246
3325
3310
3412
3312
3336
3294
3225
3228
3321
3304
3240
3233
3229
3249
3230
3210
3204
3277
3224
3260
3254
3203
3299
3216
3302
3289
3223
3303
3208
3175
3169
3167
3211
3206
3198
3326
3243
3241
3246
3362
3306
3309
3288
3228
3210
3118
3222
3245
3296
3256
3252
3203
3317
3244
3277
3316
3365
3263
3279
3331
3342
3203
3259
3213
3208
3247
3278
3219
3236
3221
3192
3235
3257
3197
3128
3228
3187
3156
3180
3102
3177
3154
3167
3118
3190
3235
3125
3088
3106
3141
3105
3135
3091
3132
3127
3109
3122
3113
3119
3172
3168
3219
3030
3039
3017
2946
2987
3008
2977
3020
2986
3026
2977
3014
2947
2950
2977
2969
2964
2961
2916
2914
2899
2976
2940
2979
2943
2930
2958
3026
2993
2899
2863
2933
2857
2883
2913
2903
2910
2898
2900
2978
2907
2968
2887
2917
2945
2887
2961
2994
2946
2959
2980
2970
2925
2973
2930
2914
2879
2857
2938
2881
2886
2867
2846
2779
2828
2857
2847
2880
2902
2898
2885
2866
2879
2875
2875
2879
2848
2865
2919
2886
2862
2903
2913
2907
2902
2851
2908
2951
2892
2901
2862
2871
2847
2832
2792
2862
2838
2752
2788
2786
2797
2703
2792
2777
2715
2801
2784
2817
2796
2921
2873
2841
2881
2911
2871
2847
2842
2805
2879
2858
2866
2834
2825
2824
2766
2766
2802
2763
2815
2846
2845
2793
2778
2826
2825
2866
2859
2872
2847
2778
2729
2742
2718
2668
2829
2735
2795
2738
2736
2739
2760
2766
2755
2722
2736
2696
2696
2711
2650
2649
2738
2682
2694
2687
2753
2638
2728
2643
2688
2744
2719
2716
2731
2700
2728
2713
2657
2635
2626
2598
2657
2678
2596
2610
2577
2632
2540
2567
2557
2565
2566
2521
2517
2560
2593
2651
2537
2583
2554
2525
2536
2518
2578
2567
2529
2507
2602
2625
2637
2669
2592
2626
2663
2653
2650
2592
2594
2589
2606
2628
2622
2562
2529
2548
2577
2572
2563
2526
2506
2587
2561
2489
2488
2526
2522
2471
2594
2555
2544
2560
2609
2550
2519
2587
2587
2568
2581
2519
2502
2529
2495
2465
2429
2490
2480
2503
2397
2449
2466
2465
2494
2494
2505
2506
2458
2426
2423
2451
2403
2389
2411
2515
2528
2479
2446
2414
2443
2437
2467
2482
2485
2461
2436
2487
2507
2462
2419
2484
2411
2440
2494
2523
2465
2542
2480
2465
2455
2448
2474
2459
2401
2434
2417
2488
2468
2430
2436
2472
2463
2445
2493
2454
2452
2468
2465
2391
2369
2398
2473
2504
2491
2420
2463
2391
2425
2366
2408
2433
2503
2456
2460
2475
2502
2507
2440
2417
2435
2355
2385
2413
2470
2448
2455
2479
2470
2427
2487
2443
2401
2341
2417
2471
2441
2454
2465
2485
2433
2360
2411
2424
2441
2442
2405
2385
2436
2423
2437
2368
2437
2435
2440
2469
2397
2373
2353
2343
2442
2430
2455
2407
2405
2453
2424
2389
2413
2407
2392
2418
2432
2375
2289
2315
2327
2406
2423
2445
2381
2365
2370
2392
2420
2329
2385
2416
2429
2472
2451
2433
2426
2407
2454
2469
2453
2421
2407
2365
2292
2266
2333
2318
2322
2310
2275
2296
2278
2256
2245
2186
2164
2169
2082
2131
2184
2097
2100
2161
2155
2181
2149
2136
2113
2155
2176
2146
2160
2183
2145
2156
2195
2180
2167
2196
2207
2248
2263
2168
2200
2165
2184
2123
2172
2163
2134
2119
2175
2169
2169
2214
2205
2207
2219
2178
2141
2143
2074
2100
2119
2135
2125
2120
2070
2042
2064
2115
2177
2099
2089
2132
2094
2088
2105
2060
2140
2105
2064
2084
2038
2093
2119
2089
2079
2107
2120
2056
2049
2055
2124
2099
2106
2139
2141
2106
2074
2085
2129
2147
2062
2052
2073
2091
2101
2129
2099
2130
2129
2182
2131
2114
2087
2060
2111
2128
2093
2149
2149
2113
2072
2104
2091
2076
2044
2026
2058
2052
2073
2070
2037
2033
2063
2073
2086
2022
2050
2055
2053
2110
2106
2077
2073
2098
2113
2156
2187
2141
2089
2126
2152
2129
2093
2030
2036
2074
2099
2049
2026
2107
2161
2102
2057
2053
2083
2083
2082
1999
2012
2041
2045
2042
2053
2065
2046
2027
2045
2006
2052
2070
2071
2059
2079
2105
2117
2007
2021
2010
1989
1974
1929
1954
1935
1949
1949
1910
1896
1922
1905
1888
1914
1973
1973
1966
2020
2019
2014
1996
2020
2015
2016
1976
1983
1990
1949
1926
1988
1998
1996
2018
2006
1942
1962
1941
1909
1906
1901
1929
1993
1997
1929
2014
2042
2042
2006
2011
1996
1969
1980
1927
1982
2032
2034
2027
2032
2065
2009
2006
2015
2039
2010
1974
1985
1945
1927
1942
1975
1954
1922
1939
1970
2037
1964
1996
2004
2027
2046
2048
2022
1971
1995
2001
1995
1968
1946
1952
2003
1953
1989
2031
2002
1977
1964
1948
1964
1983
2019
1943
1998
1923
1921
1946
1952
1982
1902
1940
1980
1985
1951
1914
1933
1894
1867
1888
1944
1952
1986
1984
2009
2008
1942
1984
1956
2009
1988
1956
2000
2020
2020
1982
1980
2040
1931
1882
1932
1962
1961
1994
1930
1929
1930
1956
1951
1927
1866
1881
1866
1862
1835
1799
1817
1850
1812
1787
1752
1747
1790
1789
1802
1777
1716
1771
1771
1763
1705
1713
1698
1769
1762
1743
1726
1760
1739
1744
1693
1747
1718
1722
1725
1736
1697
1698
1742
1813
1760
1749
1721
1769
1774
1782
1793
1778
1794
1765
1725
1706
1731
1784
1795
1777
1788
1794
1795
1780
1786
1742
1749
1713
1730
1704
1718
1711
1705
1728
1778
1778
1776
1750
1783
1778
1794
1809
1808
1846
1843
1822
1803
1774
1738
1743
1726
1707
1689
1661
1678
1781
1737
1729
1754
1702
1687
1675
1683
1683
1702
1713
1707
1725
1745
1726
1736
1721
1712
1711
1736
1693
1631
1678
1671
1686
1606
1621
1641
1688
1685
1749
1708
1685
1673
1657
1672
1662
1639
1674
1706
1672
1666
1647
1655
1665
1661
1697
1673
1662
1669
1656
1620
1618
1661
1657
1679
1723
1709
1735
1729
1685
1711
1759
1723
1722
1730
1714
1759
1731
1721
1771
1727
1714
1703
1700
1756
1739
1774
1723
1705
1789
1749
1741
1761
1695
1715
1675
1657
1673
1710
1752
1768
1747
1741
1724
1705
1675
1639
1638
1606
1653
1666
1707
1683
1749
1744
1740
1688
1730
1774
1722
1660
1717
1705
1676
1707
1753
1733
1708
1680
1687
1684
1716
1698
1705
1687
1668
1676
1675
1684
1699
1640
1589
1676
1662
1676
1682
1660
1709
1715
1710
1699
1677
1668
1706
1713
1692
1694
1682
1659
1657
1681
1666
1656
1690
1674
1662
1652
1660
1642
1644
1602
1589
1623
1618
1608
1570
1622
1635
1688
1634
1634
1651
1654
1665
1698
1729
1692
1715
1747
1719
1708
1651
1656
1624
1657
1684
1678
1648
1645
1677
1696
1696
1673
1667
1635
1631
1590
1620
1634
1580
1588
1621
1628
1570
1623
1621
1657
1632
1650
1692
1706
1670
1647
1665
1662
1661
1602
1622
1581
1628
1685
1688
1686
1684
1686
1639
1642
1645
1639
1622
1612
1670
1650
1612
1606
1568
1551
1589
1624
1652
1631
1587
1661
1623
1653
1599
1649
1577
1631
1656
1618
1592
1628
1640
1677
1679
1613
1628
1643
1620
1611
1579
1630
1626
1635
1593
1569
1537
1564
1589
1593
1570
1599
1588
1597
1619
1615
1647
1642
1619
1594
1589
1638
1654
1611
1653
1622
1632
1610
1612
1583
1583
1572
1597
1555
1533
1548
1616
1605
1586
1637
1622
1616
1603
1600
1595
1589
1587
1663
1671
1648
1615
1638
1643
1640
1666
1699
1712
1669
1648
1657
1638
1641
1637
1668
1685
1622
1599
1644
1652
1665
1621
1616
1602
1597
1604
1620
1633
1609
1600
1605
1617
1574
1616
1597
1587
1551
1567
1624
1641
1637
1601
1568
1554
1586
1645
1633
1639
1590
1606
1592
1586
1556
1553
1573
1576
1572
1564
1520
1569
1541
1561
1575
1574
1611
1632
1616
1572
1561
1583
1602
1561
1563
1577
1559
1549
1546
1557
1539
1561
1580
1615
1616
1564
1583
1557
1571
1548
1514
1556
1547
1569
1586
1582
1584
1567
1561
1612
1543
1487
1494
1495
1473
1480
1436
1389
1423
1401
1434
1380
1397
1385
1389
1384
1365
1392
1414
1399
1343
1336
1360
1379
1350
1357
1353
1351
1333
1378
1408
1446
1395
1404
1397
1423
1386
1387
1447
1424
1435
1381
1381
1431
1434
1397
1403
1409
1405
1400
1370
1381
1380
1402
1410
1435
1399
1402
1379
1358
1356
1343
1391
1397
1306
1289
1328
1348
1349
1338
1352
1361
1399
1395
1355
1379
1375
1368
1374
1387
1374
1351
1379
1368
1357
1356
1331
1326
1327
1368
1375
1357
1370
1381
1376
1380
1306
1318
1323
1322
1389
1391
1391
1370
1431
1361
1371
1386
1380
1363
1344
1382
1388
1366
1339
1344
1339
1409
1387
1341
1316
1367
1380
1354
1349
1348
1321
1288
1327
1323
1327
1347
1352
1320
1345
1361
1354
1347
1292
1321
1326
1306
1300
1300
1325
1301
1303
1318
1331
1320
1297
1332
1341
1340
1340
1341
1354
1376
1387
1348
1339
1329
1350
1402
1434
1368
1330
1339
1351
1327
1324
1333
1370
1377
1361
1390
1353
1323
1312
1347
1346
1362
1346
1355
1332
1328
1338
1326
1296
1337
1320
1344
1335
1328
1285
1285
1295
1340
1350
1336
1319
1339
1276
1303
1291
1302
1311
1289
1304
1247
1293
1260
1263
1236
1315
1298
1309
1309
1341
1355
1316
1250
1287
1292
1255
1305
1322
1342
1301
1276
1293
1270
1249
1221
1233
1222
1246
1252
1254
1291
1287
1281
1285
1282
1306
1281
1285
1287
1280
1242
1249
1253
1262
1273
1245
1229
1236
1278
1312
1333
1352
1329
1289
1298
1282
1293
1307
1352
1369
1341
1333
1381
1346
1361
1396
1384
1368
1336
1307
1275
1310
1267
1282
1264
1245
1271
1290
1260
1342
1336
1331
1322
1290
1324
1316
1285
1261
1272
1244
1243
1246
1279
1315
1299
1287
1288
1264
1288
1292
1302
1303
1292
1259
1259
1266
1278
1247
1226
1224
1192
1237
1230
1240
1289
1302
1289
1283
1260
1288
1333
1264
1212
1273
1284
1247
1234
1235
1266
1265
1279
1256
1251
1275
1260
1257
1256
1248
1268
1275
1276
1285
1274
1243
1244
1239
1216
1236
1210
1213
1237
1287
1295
1294
1305
1302
1274
1305
1311
1281
1274
1309
1301
1272
1239
1244
1269
1286
1296
1282
1284
1230
1227
1236
1211
1232
1231
1252
1274
1262
1251
1294
1301
1286
1251
1244
1285
1258
1257
1286
1288
1270
1253
1218
1207
1262
1288
1273
1253
1232
1213
1208
1227
1203
1260
1297
1293
1290
1298
1305
1307
1295
1251
1249
1267
1248
1302
1295
1340
1327
1321
1295
1302
1304
1316
1335
1278
1288
1288
1307
1303
1309
1271
1255
1249
1255
1251
1228
1219
1242
1272
1231
1260
1234
1234
1256
1230
1222
1216
1240
1268
1270
1257
1261
1261
1239
1248
1251
1282
1256
1255
1217
1259
1255
1277
1258
1293
1310
1309
1304
1287
1302
1329
1256
1249
1248
1245
1309
1314
1294
1290
1320
1286
1307
1306
1277
1246
1258
1255
1255
1251
1217
1232
1231
1218
1198
1218
1259
1241
1213
1284
1260
1284
1262
1198
1224
1260
1254
1275
1325
1330
1317
1314
1310
1283
1289
1310
1283
1314
1333
1301
1249
1219
1251
1240
1234
1279
1228
1212
1264
1215
1258
1227
1229
1262
1281
1255
1277
1280
1247
1218
1202
1187
1224
1226
1221
1231
1266
1238
1272
1273
1245
1269
1265
1276
1262
1223
1229
1246
1248
1282
1239
1237
1254
1243
1293
1277
1257
1246
1261
1279
1312
1335
1331
1322
1347
1298
1297
1330
1321
1294
1281
1281
1286
1262
1227
1226
1223
1261
1237
1232
1192
1198
1219
1203
1190
1197
1218
1233
1280
1233
1247
1214
1236
1242
1202
1241
1243
1239
1247
1249
1275
1278
1281
1233
1219
1232
1206
1223
1210
1226
1235
1214
1215
1179
1160
1181
1228
1212
1259
1274
1258
1268
1237
1216
1221
1245
1223
1194
1233
1223
1212
1190
1195
1223
1202
1220
1238
1257
1231
1220
1255
1222
1274
1244
1234
1254
1231
1250
1252
1245
1232
1226
1269
1256
1197
1157
1181
1147
1166
1191
1223
1194
1194
1208
1198
1180
1186
1189
1176
1207
1212
1235
1227
1234
1210
1196
1173
1154
1125
1091
1101
1148
1148
1202
1175
1190
1231
1203
1168
1175
1200
1219
1215
1231
1189
1163
1203
1180
1182
1208
1240
1238
1232
1225
1211
1177
1174
1167
1154
1188
1217
1214
1212
1227
1204
1191
1190
1225
1224
1197
1235
1223
1238
1240
1235
1229
1225
1220
1206
1194
1211
1167
1233
1234
1226
1233
1250
1240
1242
1217
1232
1230
1208
1224
1191
1210
1185
1210
1223
1212
1232
1199
1219
1218
1205
1215
1194
1240
1178
1186
1162
1112
1131
1138
1154
1155
1189
1210
1210
1223
1233
1222
1195
1183
1166
1166
1184
1181
1199
1209
1216
1226
1175
1159
1186
1199
1194
1216
1201
1202
1213
1247
1246
1233
1194
1210
1187
1222
1219
1202
1209
1251
1270
1262
1268
1232
1205
1192
1180
1187
1174
1194
1172
1118
1112
1095
1124
1158
1134
1113
1112
1126
1094
1075
1069
1082
1054
1064
1032
1032
1062
1040
1051
1032
1029
993
970
966
990
979
946
949
959
948
984
998
983
944
965
955
1003
983
1020
1014
973
965
925
929
922
903
894
894
911
948
940
929
923
912
935
950
965
984
969
966
931
955
986
983
967
993
991
984
994
1016
1034
1027
1063
1059
1037
1075
1072
1033
1034
1025
1029
986
1017
1007
1007
977
1007
1012
996
1024
1024
997
996
997
1045
1011
1015
999
990
1002
1006
1028
1037
1014
1027
993
1027
1022
968
979
976
972
959
991
963
950
949
946
960
951
935
942
928
964
978
995
976
962
922
946
927
906
905
935
998
999
969
980
975
923
933
959
947
938
948
925
913
918
921
893
921
973
949
925
929
898
912
943
930
922
930
950
963
968
946
942
945
943
959
968
964
962
947
954
994
930
944
932
937
931
933
932
945
950
943
949
973
943
921
929
928
948
947
944
955
963
965
984
972
936
929
929
918
926
927
936
948
928
918
959
969
933
928
947
955
968
1008
995
987
976
953
962
947
933
889
906
903
966
977
975
957
952
968
982
1012
1005
961
931
930
882
895
896
895
920
962
921
903
886
892
905
911
916
916
923
958
942
958
937
954
904
909
918
928
927
922
907
909
944
954
931
911
907
903
907
884
882
908
902
918
940
970
980
955
934
925
976
946
947
979
969
970
965
977
954
905
922
956
947
945
959
974
941
929
940
940
916
906
930
971
968
961
966
933
916
913
943
955
973
991
999
949
929
936
916
933
962
938
971
992
984
972
966
921
883
900
904
913
923
892
916
921
911
883
904
897
902
900
893
924
875
895
910
895
876
906
925
924
933
952
936
894
883
909
914
916
931
926
941
920
862
877
863
854
848
872
873
850
844
842
857
837
872
847
849
826
863
892
889
886
878
881
855
876
881
846
852
853
834
841
858
856
887
875
862
867
871
878
887
889
913
914
913
901
915
913
911
902
898
889
901
916
886
881
889
895
887
872
858
868
870
894
880
888
893
880
871
871
904
937
920
888
866
872
884
903
890
855
866
888
889
863
880
874
879
880
913
898
905
916
873
894
909
903
900
921
919
961
934
916
939
926
920
899
892
904
885
883
905
903
920
917
939
908
930
927
924
913
938
935
952
931
924
913
901
904
900
932
948
924
926
932
923
925
932
899
893
850
851
829
862
872
900
873
860
834
857
848
866
868
887
881
916
872
877
857
882
892
907
875
916
918
923
912
907
923
916
933
894
899
889
893
907
893
894
867
875
865
865
865
865
908
903
905
866
872
875
871
903
915
902
903
905
876
876
893
876
906
903
912
894
888
894
901
877
898
915
907
885
897
855
852
852
842
851
860
865
868
855
858
877
898
896
886
916
871
874
858
846
853
858
855
862
849
834
859
833
843
847
860
849
845
874
896
878
898
911
904
907
909
879
889
925
944
917
892
942
922
913
911
881
885
881
904
907
919
935
895
908
901
901
908
935
908
895
878
844
863
889
883
887
899
881
909
896
857
853
850
878
870
882
889
879
899
902
889
870
855
871
858
884
870
880
876
894
914
906
878
908
916
926
913
912
892
867
884
863
846
837
854
833
864
888
881
887
892
882
864
880
844
824
851
852
848
878
860
863
849
835
833
828
819
826
844
838
862
862
880
881
864
844
861
862
854
841
874
855
844
825
839
832
804
819
837
856
824
835
860
862
872
851
837
844
863
889
920
941
932
936
932
925
916
897
866
893
900
900
894
906
906
911
884
897
884
908
885
853
860
835
850
838
857
871
916
921
915
918
901
877
884
883
869
886
884
880
893
886
901
858
832
823
836
851
843
824
859
848
837
852
852
852
870
876
885
861
860
862
860
873
884
890
887
856
851
856
872
882
871
883
889
885
901
915
915
921
913
920
923
927
898
909
897
894
861
849
870
848
868
848
820
832
845
827
822
815
813
808
815
800
844
868
875
839
843
857
864
848
857
831
828
797
780
774
814
813
819
819
813
831
841
839
831
817
812
810
829
841
833
834
837
852
846
865
872
837
817
834
835
840
818
813
807
791
800
825
827
835
871
889
878
835
823
829
837
809
839
852
862
843
850
873
881
858
839
832
816
832
853
824
833
813
812
829
819
807
814
829
844
856
856
836
831
855
846
845
878
853
839
860
873
855
877
867
860
867
826
839
813
825
817
811
807
805
816
798
793
805
807
822
815
826
858
850
844
837
846
865
868
859
853
818
826
815
834
837
814
837
867
842
854
857
843
853
851
863
885
869
847
847
847
857
852
843
840
818
810
804
840
846
871
873
866
871
871
899
870
838
853
820
829
875
872
859
868
858
864
859
834
811
822
816
827
823
818
811
842
825
821
825
813
839
842
873
845
853
842
854
884
873
874
869
843
847
838
830
840
834
829
815
795
832
860
856
845
844
843
824
842
858
860
868
868
862
837
850
838
872
876
895
864
848
806
817
827
837
858
854
867
849
870
865
854
868
842
850
847
849
864
857
836
856
846
843
831
858
833
838
829
842
851
840
845
830
849
832
837
833
820
833
837
817
798
807
792
791
793
827
824
841
847
850
864
849
818
813
862
848
860
864
860
860
842
853
863
855
861
850
861
879
880
852
826
854
866
889
862
861
876
862
859
853
870
871
878
841
866
849
844
863
844
820
857
841
844
842
856
844
843
822
818
834
797
806
809
802
807
826
803
825
820
820
841
806
795
832
806
780
795
833
799
816
822
816
803
812
838
828
825
838
870
881
875
881
854
842
862
856
852
854
855
853
841
826
834
805
782
804
806
787
789
807
810
808
806
811
793
778
807
800
815
829
833
857
855
837
836
806
788
785
777
782
781
779
749
748
767
779
786
784
772
772
752
759
764
798
819
801
781
762
800
798
789
780
775
791
789
814
823
823
841
857
849
861
840
826
832
807
800
820
847
849
831
819
813
777
815
817
801
802
809
830
836
850
870
858
846
837
828
852
826
844
849
835
827
846
833
817
804
806
797
799
812
798
809
808
797
798
791
800
813
801
802
772
768
761
777
798
809
809
821
836
813
826
821
801
818
832
814
794
811
810
814
802
814
806
824
793
809
836
832
851
853
837
826
823
847
825
843
840
848
865
856
858
826
815
815
792
778
806
790
785
790
800
808
803
833
825
795
810
830
791
779
782
799
766
787
750
753
754
768
778
781
771
757
746
762
765
764
757
745
770
771
784
826
790
794
808
814
817
806
819
802
803
787
793
813
814
805
819
797
785
789
806
793
788
784
794
784
746
730
753
728
738
739
742
742
754
762
766
779
763
747
762
749
771
788
819
809
803
791
788
827
807
800
790
781
790
794
797
805
812
794
801
761
760
750
752
767
777
789
782
794
800
795
786
796
782
790
796
796
800
819
819
811
841
829
837
817
782
774
774
796
814
811
812
780
800
792
796
803
804
809
796
792
796
780
787
794
809
808
822
801
814
804
771
747
783
768
764
784
771
765
773
782
793
783
792
804
800
767
783
789
797
793
790
775
755
793
784
781
757
759
762
772
742
757
770
795
799
811
799
800
799
808
788
773
773
770
770
768
780
805
796
802
786
818
819
799
787
815
816
820
823
829
820
805
793
763
766
779
776
779
783
795
787
773
774
748
727
725
756
757
757
776
781
778
790
786
796
777
789
793
792
820
833
818
805
789
764
781
788
783
795
788
779
771
792
790
799
810
789
763
765
784
786
781
783
781
781
762
787
790
789
794
828
793
843
833
798
792
825
793
769
788
792
786
784
777
771
778
790
797
787
807
810
802
798
794
784
778
801
767
779
786
769
790
795
751
740
738
715
723
715
702
704
717
703
704
707
693
660
662
653
662
672
668
659
666
672
628
621
621
625
628
611
628
607
606
616
610
603
600
601
600
613
605
599
577
546
551
560
568
556
563
597
582
587
594
556
568
573
550
567
579
555
571
600
601
594
579
605
574
561
559
580
574
589
607
601
591
596
578
576
580
589
575
579
588
604
602
588
584
571
586
594
602
603
595
577
574
576
581
586
596
597
615
605
600
583
575
579
593
596
607
611
623
597
623
616
618
617
606
616
587
592
601
599
598
567
586
588
601
609
611
603
571
558
569
569
604
594
611
603
603
599
592
582
581
581
566
569
596
609
596
618
599
586
601
592
597
598
615
614
594
606
595
611
630
602
600
587
591
588
596
568
576
565
571
584
560
557
559
552
553
570
599
598
610
595
601
593
602
596
618
602
612
597
597
568
564
523
543
561
566
548
544
550
565
596
610
614
628
622
617
598
630
637
599
596
619
617
636
609
611
611
597
598
587
588
601
605
593
579
581
578
593
568
576
567
588
568
594
609
621
603
602
580
583
568
562
600
606
595
601
573
601
580
589
581
577
583
537
545
557
564
559
549
573
555
607
579
575
580
579
580
576
572
577
593
570
575
565
556
553
536
544
559
558
553
543
528
523
548
547
552
560
571
551
536
540
537
543
548
548
566
554
533
533
529
527
542
548
552
573
555
564
556
565
555
574
568
582
593
593
610
600
605
585
581
575
570
579
592
621
617
620
606
593
579
575
576
552
566
566
556
532
540
541
541
552
554
580
576
567
563
568
568
589
589
586
599
566
562
568
568
588
590
564
583
579
562
550
550
583
560
582
552
564
564
553
560
549
559
557
536
558
556
565
570
563
578
563
575
578
556
556
544
553
556
552
538
548
546
547
555
563
559
556
547
566
586
588
557
572
560
555
556
539
560
555
554
572
564
584
566
545
536
543
559
543
540
525
524
520
511
517
549
537
533
540
559
537
569
580
598
598
607
617
597
567
552
560
555
566
578
562
570
586
596
607
592
582
581
579
571
562
549
567
567
556
551
547
538
534
529
528
540
557
532
533
540
523
548
550
554
558
594
578
589
573
575
560
559
558
561
559
569
552
549
558
570
574
578
572
564
540
535
517
525
531
537
538
521
532
537
524
519
520
530
524
537
540
546
559
575
557
573
584
569
575
570
557
547
548
537
546
532
529
538
542
546
566
578
592
589
594
583
593
565
559
581
575
574
587
598
621
624
601
605
598
607
605
587
563
549
540
527
556
537
551
530
541
537
547
543
530
516
503
511
533
529
522
516
510
524
527
519
511
523
526
514
508
506
511
539
543
547
546
538
515
516
510
514
522
506
503
509
514
511
508
526
537
557
569
553
561
557
562
566
557
548
560
557
550
562
567
561
574
574
586
567
559
540
545
529
515
533
539
532
534
518
520
515
522
507
510
519
518
517
502
514
509
519
537
545
559
559
564
549
539
552
559
546
555
556
571
598
587
571
552
542
559
563
553
558
537
537
542
543
536
538
534
544
545
553
562
565
552
553
570
566
570
556
554
540
527
541
522
520
528
555
578
573
579
568
569
574
575
583
560
568
549
561
546
557
549
546
521
521
550
531
545
536
518
520
529
544
548
569
558
569
577
562
569
577
565
556
550
559
559
560
571
564
561
535
547
527
535
544
556
539
550
549
540
541
542
543
559
549
554
564
585
579
569
572
567
569
560
539
546
530
547
541
532
543
535
548
549
543
548
546
543
548
532
510
515
516
517
546
554
557
551
541
532
527
527
546
552
566
547
550
560
553
576
583
582
576
548
565
559
563
549
549
529
523
559
565
566
548
546
542
547
537
548
544
542
547
558
532
527
543
546
528
550
557
580
565
556
547
542
566
560
584
573
579
576
561
566
557
562
560
555
552
564
564
546
538
572
570
550
569
561
568
555
563
563
554
573
552
553
565
568
555
551
535
550
548
523
498
509
517
515
527
528
548
573
544
530
549
507
515
511
505
519
514
509
501
519
521
506
509
523
501
497
506
506
535
516
491
492
510
508
492
506
507
525
523
530
499
493
503
507
507
502
518
542
554
550
550
543
547
545
550
553
538
550
523
532
547
540
545
546
571
557
569
537
556
523
515
509
532
537
529
529
536
529
523
533
527
521
529
542
533
529
536
533
534
526
547
545
558
550
523
516
508
498
489
486
497
507
528
526
523
553
527
523
542
549
559
546
533
541
536
541
534
506
519
520
505
526
508
509
519
509
505
525
509
506
493
514
527
522
521
491
493
502
480
507
506
523
529
518
517
489
483
501
523
532
525
528
544
511
505
499
488
491
487
490
507
505
509
516
507
515
543
555
546
550
562
549
531
548
541
529
524
498
514
499
529
525
536
530
538
527
549
537
520
526
503
510
505
513
523
526
514
514
523
537
559
552
546
547
539
553
542
511
518
527
536
530
540
537
528
540
529
547
530
511
505
494
512
506
519
504
509
505
509
494
500
486
498
506
510
514
499
514
504
485
490
481
500
516
503
523
538
537
544
527
505
511
503
510
508
487
510
509
498
519
516
528
520
519
522
525
519
525
530
528
541
519
529
538
526
535
520
540
536
522
527
519
514
515
511
509
518
523
537
551
564
583
573
583
558
555
557
559
559
547
540
516
534
561
540
548
554
527
545
557
552
550
534
533
526
530
532
529
523
518
499
520
505
505
527
504
496
502
510
515
501
495
498
505
522
503
505
509
523
530
546
559
565
583
564
558
586
565
544
543
556
560
548
547
543
551
549
547
540
546
552
555
543
553
548
537
557
558
558
564
570
580
574
573
590
575
561
557
563
530
552
542
519
520
537
535
538
529
531
536
536
531
514
521
513
495
480
496
471
486
492
497
522
522
512
528
529
516
531
519
516
532
530
538
526
540
513
504
498
503
497
484
494
504
495
493
507
519
504
504
510
494
506
511
519
526
531
544
530
524
526
523
524
513
512
501
489
478
479
499
507
498
489
499
503
497
508
493
497
510
510
498
496
488
504
491
503
472
481
495
502
508
496
512
514
528
509
499
478
460
468
466
488
492
477
470
469
486
481
503
510
503
495
498
494
510
504
500
514
495
502
484
488
491
492
479
479
483
482
480
477
494
485
472
489
470
470
455
469
474
498
484
484
479
475
473
462
441
431
423
431
429
458
446
460
456
490
467
477
469
495
506
501
477
505
478
480
482
475
477
471
472
494
506
490
498
485
476
475
487
455
469
463
477
456
464
453
451
465
466
484
489
495
496
486
481
493
489
492
508
497
499
506
490
491
497
496
508
511
522
520
498
502
492
506
513
527
514
511
502
489
474
505
510
532
542
520
512
506
489
496
508
499
506
520
518
520
515
517
521
528
532
523
514
508
490
485
495
497
503
502
498
493
507
526
532
533
540
531
538
534
522
529
519
530
529
545
523
520
522
525
510
507
500
482
493
488
499
479
497
490
467
456
449
465
453
481
472
493
500
505
507
495
510
525
514
519
510
509
511
520
500
494
523
525
495
500
485
500
500
490
479
465
478
454
444
449
438
455
443
461
458
477
482
485
480
485
480
491
494
505
511
514
492
494
503
500
489
499
504
496
517
512
511
488
476
495
490
506
514
532
549
520
506
481
446
457
471
470
468
476
457
479
476
490
472
472
460
461
478
475
503
497
495
507
519
508
503
495
493
489
491
497
490
503
492
503
499
494
495
505
501
519
513
532
540
538
549
544
534
526
518
510
506
517
499
508
500
487
493
486
505
500
506
507
466
480
487
485
491
474
503
499
513
518
508
499
508
499
496
499
507
520
519
510
524
518
503
504
487
494
502
490
506
501
493
505
505
508
511
522
502
494
504
490
484
500
515
507
506
486
472
483
492
485
490
475
460
469
475
449
443
443
443
451
440
456
463
475
464
469
491
474
467
460
472
468
459
464
476
485
475
475
483
490
480
491
503
479
474
473
460
449
450
456
447
439
436
429
438
430
449
439
461
448
446
453
452
442
443
445
454
436
411
418
441
456
480
482
482
489
493
487
467
470
477
492
466
474
483
467
483
483
475
490
488
485
503
505
508
501
495
511
494
507
512
518
515
518
516
508
529
538
523
535
519
508
522
527
540
521
502
505
503
500
503
499
502
511
503
493
518
511
522
516
520
520
497
496
492
515
518
516
517
515
528
532
537
534
526
520
512
516
517
504
505
530
525
518
528
522
510
503
500
498
485
501
483
482
491
506
500
496
473
469
472
476
466
465
486
495
499
502
487
469
484
460
458
456
456
457
447
456
460
474
483
484
466
471
484
465
454
461
472
464
478
470
475
454
457
461
459
461
481
470
475
492
499
503
501
480
469
470
458
452
466
461
471
466
453
448
441
456
464
464
483
498
484
496
480
482
497
490
498
478
471
461
458
466
495
483
469
454
448
448
448
463
463
453
447
451
448
449
448
447
451
437
433
449
479
502
485
481
481
465
463
466
449
434
458
455
462
468
472
466
467
461
474
478
480
479
475
477
491
494
483
478
473
471
468
450
463
462
484
477
495
485
505
494
510
479
475
466
478
481
503
499
489
464
462
471
477
472
494
485
484
479
472
472
470
465
470
482
472
482
485
476
489
475
494
508
506
497
490
474
467
483
478
473
477
502
499
475
483
473
474
482
475
492
506
483
489
497
489
494
474
478
482
489
487
487
465
468
472
463
442
443
433
441
460
450
450
460
463
461
466
470
461
459
458
446
448
464
477
474
468
495
475
482
488
510
491
475
489
478
468
470
464
472
480
476
455
453
481
458
430
428
447
444
437
428
465
486
498
488
482
491
499
485
476
491
481
489
485
496
486
513
510
523
520
502
477
468
483
454
454
429
431
433
446
448
446
444
455
459
469
484
479
464
461
454
450
438
437
445
439
454
475
465
476
465
461
460
451
454
468
479
469
455
473
455
442
446
451
472
456
441
434
445
437
443
448
443
422
429
434
434
436
431
435
444
447
467
476
466
462
453
448
423
434
428
432
416
425
423
425
426
439
440
444
438
432
431
450
447
455
454
487
478
484
484
471
463
459
451
457
444
454
468
450
446
455
451
448
464
466
455
467
470
464
469
466
478
489
464
446
450
458
459
464
471
490
478
474
486
485
490
483
497
482
474
465
468
482
484
473
476
466
470
460
449
460
468
482
479
488
496
490
486
475
480
464
463
459
456
445
458
462
488
480
489
502
480
483
493
504
520
517
496
487
477
478
487
480
454
445
456
465
468
458
458
479
493
496
493
501
495
498
487
496
483
474
463
449
454
449
457
459
466
460
471
472
486
495
475
494
500
496
484
487
476
467
461
468
452
437
437
438
440
434
433
429
416
416
439
410
422
434
441
430
442
437
448
460
448
449
453
455
459
453
443
457
463
468
478
483
479
460
459
451
450
448
443
460
443
447
452
462
471
485
475
491
482
495
471
453
447
440
444
444
452
426
427
432
433
457
457
464
463
456
443
430
408
421
436
460
449
430
430
437
437
421
423
435
427
409
415
421
421
429
428
441
437
439
446
447
440
435
443
435
442
434
437
447
449
436
421
431
427
432
425
424
419
424
440
438
438
429
425
453
450
440
450
428
447
446
450
451
459
446
461
473
467
470
458
468
480
466
463
460
458
442
454
453
457
446
453
457
451
449
453
437
442
447
438
454
453
441
465
437
436
437
430
439
454
437
453
465
454
450
448
436
437
439
433
443
420
438
438
434
427
415
413
414
419
427
433
443
435
443
432
440
453
441
445
441
434
432
408
408
398
403
394
393
399
410
418
407
415
399
391
399
400
405
419
430
423
427
413
417
428
420
415
408
420
432
429
435
428
426
422
431
440
456
452
438
429
435
435
433
448
445
420
422
442
441
449
438
434
442
472
477
463
459
464
490
479
470
473
473
461
465
449
452
458
474
481
464
471
464
473
485
490
488
481
490
480
474
485
500
505
500
500
493
506
492
496
495
507
497
481
493
487
467
480
479
481
486
475
461
476
469
472
455
456
444
451
452
459
452
460
449
460
446
454
450
444
434
449
448
448
456
449
443
439
439
432
430
427
422
412
416
414
402
399
413
428
430
422
439
443
398
411
389
402
396
375
397
393
401
395
406
414
411
411
412
415
422
423
421
442
427
424
427
432
426
432
439
442
437
449
452
449
445
439
445
456
455
446
448
449
449
450
442
441
437
446
442
452
465
468
445
439
442
446
435
444
444
448
446
443
429
431
425
429
432
421
421
431
427
418
412
414
413
425
416
425
450
463
454
449
451
446
412
413
413
442
438
430
448
434
442
439
450
455
450
455
438
450
433
432
428
420
425
422
427
433
416
399
430
428
441
440
437
449
445
436
438
442
453
450
448
452
465
430
423
440
433
429
446
439
443
443
440
451
438
425
425
426
433
426
415
426
421
440
441
430
446
438
437
452
456
444
459
444
447
448
452
458
442
468
470
462
466
474
456
440
442
437
430
419
407
418
425
429
453
454
444
445
449
449
447
446
430
437
454
441
425
425
423
433
413
438
429
437
439
434
435
426
440
451
448
460
461
459
461
459
476
470
462
456
459
461
456
464
447
451
465
456
461
460
458
468
460
456
455
450
460
469
454
455
443
446
444
444
446
438
444
445
422
431
419
436
441
451
447
449
445
438
436
436
450
454
456
456
462
462
473
478
474
483
471
470
482
474
468
464
445
449
445
450
457
461
472
465
469
453
445
460
458
448
451
468
455
440
448
429
435
417
399
417
430
420
422
408
428
423
417
428
438
434
443
448
441
447
433
428
419
418
427
414
419
429
434
432
433
430
422
425
422
433
435
439
454
455
479
470
462
468
453
441
443
448
449
451
450
458
458
453
443
454
429
431
422
410
414
430
430
425
426
422
436
424
439
444
435
416
425
454
465
455
451
451
450
458
455
464
470
461
461
444
441
454
444
444
439
431
438
435
437
436
428
428
440
449
442
445
442
441
431
426
433
433
424
423
426
429
427
424
437
437
446
448
453
445
443
445
448
452
463
463
442
465
458
458
460
456
466
471
444
450
434
439
432
421
418
433
428
429
417
413
410
397
412
410
411
412
399
386
393
401
412
420
422
426
419
410
414
420
430
416
425
429
439
436
417
414
405
402
417
419
427
438
439
444
450
452
455
474
478
459
457
458
455
439
472
448
455
457
443
454
439
424
444
441
452
450
453
450
452
454
460
457
448
461
459
451
444
434
433
442
453
452
436
447
437
425
415
410
404
396
391
386
385
413
413
398
404
415
411
419
429
440
437
443
448
454
467
450
441
434
434
424
425
438
442
439
435
423
435
444
436
447
447
425
442
434
422
419
430
432
419
404
388
381
391
395
383
401
407
407
404
403
404
394
405
412
396
399
413
402
402
413
414
408
415
416
434
441
422
440
439
449
445
446
447
440
431
438
448
431
441
449
446
444
436
431
430
448
447
432
414
420
418
424
419
436
431
447
446
447
457
463
473
469
472
476
484
477
474
490
469
476
479
492
483
479
461
473
461
460
465
483
487
467
468
463
473
457
454
453
446
419
407
412
436
426
432
413
431
422
424
426
413
410
412
428
439
432
437
420
413
412
409
428
415
422
422
432
425
438
422
413
429
425
458
457
468
452
436
437
434
442
453
447
447
434
418
428
423
434
439
434
428
427
424
412
412
400
401
387
398
409
391
392
399
397
390
387
384
388
394
388
397
406
411
419
422
417
422
421
416
408
410
415
415
424
428
416
411
418
420
421
410
425
428
435
440
442
449
442
434
439
443
419
409
400
400
410
416
411
401
412
407
414
397
408
405
395
391
392
397
390
405
411
418
409
427
398
413
422
443
442
430
430
418
410
415
413
413
427
435
434
432
414
423
428
426
437
438
436
432
408
413
420
429
440
446
446
438
434
426
416
404
405
418
414
427
417
422
424
411
407
410
418
411
414
431
415
418
424
420
422
429
410
418
421
423
428
420
434
439
438
438
438
436
423
420
416
409
423
415
410
417
417
411
417
423
407
402
414
424
424
422
428
432
431
429
427
430
429
436
421
427
426
412
404
409
414
406
399
400
409
411
409
414
411
413
400
403
394
385
401
398
389
390
384
396
400
423
419
421
424
419
420
427
413
431
420
412
427
427
428
420
415
416
415
414
429
431
434
434
433
436
425
424
419
420
413
414
411
419
428
425
417
419
414
409
417
421
421
417
410
411
420
431
422
421
418
420
425
423
428
428
430
425
438
437
432
421
416
417
401
409
397
401
402
390
397
398
392
389
398
385
374
375
385
393
389
411
420
415
412
423
430
423
419
409
417
413
434
436
434
451
440
428
430
436
416
422
414
408
391
390
390
396
413
411
413
415
414
413
414
409
423
436
440
430
440
427
421
419
398
404
398
379
383
379
384
380
388
393
404
418
408
419
424
430
426
419
408
406
403
386
382
390
396
394
386
396
412
390
383
395
398
389
402
392
397
410
413
408
419
419
430
426
426
422
412
410
408
419
410
411
414
414
419
423
420
412
415
411
406
394
381
392
399
388
390
393
401
394
383
377
389
400
385
376
378
402
413
434
432
428
439
444
428
424
438
436
435
421
415
431
429
419
418
427
437
438
453
456
459
448
441
430
431
416
415
429
414
409
424
421
421
431
442
452
439
445
439
439
430
440
434
422
431
434
444
439
450
446
428
437
438
419
426
428
419
422
417
411
412
413
402
415
423
421
431
420
435
418
414
427
423
413
419
423
423
409
401
419
427
438
450
434
419
414
433
415
415
429
423
417
414
418
433
423
424
420
411
428
418
432
433
423
433
425
420
416
429
430
427
423
399
400
404
416
426
421
422
428
432
436
431
421
421
430
437
434
429
413
414
422
419
415
440
428
419
424
417
426
421
410
428
421
436
436
421
427
435
437
443
441
428
441
436
433
435
438
445
435
443
444
451
438
455
436
419
424
428
439
430
440
431
434
429
437
435
462
443
429
433
429
427
426
419
430
426
442
427
434
444
428
430
445
447
425
412
417
422
408
419
426
420
410
399
412
427
416
424
414
419
421
415
425
421
422
419
418
409
406
403
409
407
414
414
405
393
403
400
399
402
407
398
401
407
419
414
411
409
403
413
411
407
409
431
437
447
431
419
417
430
435
448
421
426
436
411
411
402
415
429
417
417
402
427
432
421
412
418
423
416
434
436
444
457
448
454
441
447
450
455
443
467
475
473
464
462
444
445
440
425
432
427
440
455
460
448
446
454
442
452
459
461
470
459
461
452
417
415
412
410
416
400
396
401
404
406
417
412
398
397
400
401
422
426
411
410
410
414
408
407
428
431
429
419
418
410
409
425
436
430
422
426
428
435
430
431
442
447
451
445
441
434
428
424
405
411
415
402
408
419
415
406
404
411
411
395
390
389
381
382
377
368
378
379
387
392
395
403
405
403
404
398
396
393
384
377
390
388
401
389
400
410
426
429
422
416
407
407
407
400
414
428
434
431
434
430
408
412
408
407
412
406
398
399
394
405
402
402
408
406
418
433
425
432
443
431
417
428
415
419
416
416
429
423
416
400
399
399
408
419
420
433
437
438
436
430
423
424
413
423
411
405
419
443
439
430
431
423
429
429
436
428
442
439
427
439
439
427
426
436
432
429
421
424
408
414
416
424
445
438
431
423
433
438
429
430
425
424
417
432
436
441
418
426
412
401
390
384
396
395
395
394
407
399
402
402
401
393
396
403
408
388
387
386
385
387
386
380
373
378
375
389
390
381
385
386
384
367
376
362
363
360
370
373
390
376
376
383
396
382
391
407
421
412
406
386
395
394
393
401
401
391
413
399
399
406
396
401
388
377
382
381
381
377
385
376
373
372
380
378
388
369
380
388
381
374
377
389
395
412
412
400
403
416
420
416
410
395
396
390
387
389
396
419
410
408
408
411
409
406
407
406
395
416
419
418
423
426
416
403
411
400
399
395
387
379
376
368
384
377
370
382
367
371
381
377
386
391
373
382
384
398
407
408
410
408
406
399
397
391
401
403
395
382
373
366
367
367
371
383
389
380
388
388
379
373
377
368
370
364
362
372
363
369
362
369
375
371
381
374
363
367
375
375
362
366
371
377
363
371
362
354
364
374
376
380
397
388
398
407
413
399
409
396
383
398
400
405
415
410
388
392
394
402
412
413
406
410
407
399
404
404
405
405
398
406
411
402
400
409
396
393
403
401
402
405
399
396
402
415
412
417
409
410
420
421
417
408
390
389
377
366
363
370
354
362
369
366
369
364
364
370
370
367
382
384
390
398
397
394
386
387
380
379
385
383
384
390
378
384
385
375
377
382
385
393
388
388
381
381
379
376
376
375
391
400
412
414
400
396
398
401
397
400
402
397
392
391
399
410
407
397
415
405
409
404
395
397
385
388
385
382
387
370
375
368
365
369
364
370
385
392
388
386
390
398
401
410
401
407
397
393
393
400
390
407
418
415
401
404
400
400
397
401
401
399
405
407
413
400
412
423
419
426
417
421
416
410
407
394
395
397
400
389
403
408
413
416
416
408
414
415
404
416
419
424
431
425
422
421
432
428
437
417
420
414
400
397
403
401
396
398
390
379
382
387
382
395
405
406
403
394
395
403
411
409
409
419
423
407
409
401
395
388
392
405
392
398
394
403
401
405
397
403
401
400
402
399
409
404
406
414
404
400
395
401
402
420
420
420
420
402
401
410
409
422
429
425
436
419
414
409
410
402
406
402
412
418
412
408
401
407
395
401
401
398
394
406
404
405
394
389
397
395
395
408
409
416
438
433
437
439
435
426
439
427
435
425
427
430
432
422
407
422
409
412
428
419
423
405
414
404
397
399
416
411
416
407
418
404
415
416
429
428
420
431
409
404
396
401
406
420
424
422
425
425
425
432
440
430
423
415
420
411
410
404
408
394
397
396
392
398
400
394
398
393
390
400
402
407
392
390
378
378
386
379
377
366
358
344
347
344
353
378
369
371
380
383
388
401
390
396
393
389
395
396
394
383
390
387
385
374
392
394
388
404
406
405
419
425
422
422
426
421
405
408
404
389
375
363
357
366
366
380
403
394
400
405
392
396
391
393
409
397
397
415
405
409
407
407
414
407
402
387
380
365
356
375
379
391
399
400
392
404
403
397
404
392
401
409
406
388
385
398
402
405
408
416
418
414
414
426
421
403
418
430
426
424
421
401
389
396
400
411
399
387
383
370
381
383
386
380
392
390
399
391
388
392
396
397
397
394
388
400
398
400
408
390
404
400
394
394
388
393
395
398
388
389
372
388
379
375
373
382
372
364
375
369
384
378
384
370
363
375
381
389
358
338
335
324
313
313
303
298
284
299
293
293
308
306
297
294
292
301
287
289
289
290
292
303
282
293
279
268
261
268
269
252
262
262
268
260
257
270
261
261
255
263
254
256
229
217
217
222
214
216
220
232
228
232
221
222
223
229
214
212
208
203
196
207
208
200
205
195
191
192
192
185
186
192
202
212
200
209
198
194
187
176
178
159
163
171
165
159
161
166
158
144
150
161
175
179
183
185
191
191
183
185
178
178
179
186
185
185
173
172
167
181
178
183
174
166
169
173
187
192
213
216
210
207
203
191
185
194
174
168
156
155
144
155
158
177
175
170
168
164
169
169
161
173
170
162
163
167
157
160
150
159
163
160
149
167
178
167
169
167
177
172
169
187
191
192
186
181
167
164
161
165
161
170
168
183
187
179
187
195
189
189
173
178
171
174
181
166
169
184
180
183
163
175
179
178
178
197
190
193
189
195
176
179
190
187
176
192
192
195
195
202
207
204
211
209
208
212
204
217
219
212
200
209
197
206
204
208
210
200
216
215
200
196
196
191
186
191
183
199
186
190
181
178
189
185
188
189
186
199
187
200
195
187
187
190
178
185
186
176
179
184
195
187
191
204
199
197
193
206
207
202
196
198
195
198
196
192
193
187
193
189
202
193
186
194
199
187
193
200
193
207
211
209
215
223
215
200
204
190
202
207
198
196
188
183
183
181
183
191
188
199
189
192
196
203
211
200
192
197
207
211
219
208
209
206
212
205
188
195
205
187
192
189
190
193
192
191
182
179
200
199
206
205
189
202
190
191
176
185
192
189
187
180
188
186
201
206
209
216
218
211
210
202
200
196
194
190
187
191
190
202
197
198
202
198
200
204
202
210
212
211
203
191
196
203
192
177
174
179
188
195
188
192
174
175
179
163
163
166
175
179
190
189
199
202
207
198
216
215
220
209
223
226
225
221
222
226
214
228
222
206
215
210
205
214
207
201
199
214
206
198
203
208
218
206
209
201
198
191
191
196
194
192
201
198
193
197
195
194
187
184
182
185
187
184
190
201
188
183
182
188
185
170
172
192
186
180
187
192
189
185
202
200
200
193
195
204
193
181
186
188
187
180
167
167
182
200
192
197
202
200
197
204
200
190
197
204
197
191
199
202
200
203
204
196
206
196
184
168
171
173
174
176
184
184
181
177
178
177
189
196
198
192
206
216
213
217
207
203
202
209
213
204
200
205
208
211
189
185
190
185
193
200
189
184
186
183
179
188
188
179
179
181
180
178
180
175
180
178
183
174
170
166
163
165
157
158
162
157
171
173
179
180
182
186
185
198
199
200
187
190
190
179
179
172
181
168
170
173
189
191
178
179
181
183
180
180
181
177
188
183
190
188
181
175
186
191
188
180
182
183
193
190
183
184
192
187
181
184
188
193
183
179
178
179
183
190
178
183
196
200
207
192
207
209
206
196
199
194
188
190
189
186
175
176
188
188
193
199
193
208
226
234
236
227
218
225
209
206
207
201
194
189
194
183
181
177
175
165
169
179
185
175
164
160
157
143
154
150
141
156
154
153
160
170
181
178
194
198
199
200
200
202
196
202
201
202
209
202
203
208
200
210
196
212
219
214
210
210
207
201
178
175
173
177
192
188
193
182
179
169
167
182
176
173
185
182
181
183
176
178
181
199
196
196
205
211
210
193
194
196
196
194
185
183
196
197
202
190
194
205
211
201
194
196
195
194
181
191
196
188
187
192
192
196
209
209
200
197
186
189
191
188
179
186
195
196
194
179
196
184
195
190
193
193
186
178
184
196
183
182
172
181
182
183
178
185
175
172
164
163
163
161
170
179
190
195
207
204
198
193
192
200
183
193
194
188
192
193
185
177
189
191
188
181
177
172
173
170
175
176
188
184
182
180
187
170
178
173
179
171
185
191
192
190
191
204
192
189
192
191
194
187
185
177
186
181
184
207
199
192
190
186
186
186
193
200
192
187
196
202
203
201
211
218
201
214
211
220
221
232
217
212
211
189
191
182
186
187
186
198
199
193
198
199
194
192
193
194
201
203
208
218
223
223
212
215
208
205
209
211
205
205
208
209
212
206
198
190
183
189
183
195
189
198
193
199
211
195
192
188
187
180
170
171
178
173
162
177
180
178
174
163
159
164
175
173
183
167
166
179
173
183
171
180
183
174
183
192
186
183
183
185
180
174
178
171
173
175
179
182
174
172
169
172
180
180
181
191
188
183
189
188
186
199
201
211
215
219
216
212
207
207
203
205
204
193
192
187
180
170
180
172
179
173
172
179
178
180
176
159
165
172
173
178
178
176
173
173
179
174
177
173
170
166
172
160
148
148
147
150
157
165
175
176
179
178
186
190
193
194
185
190
184
186
185
181
192
174
182
173
179
185
173
174
174
178
176
162
164
165
177
166
162
171
177
181
194
205
212
210
207
213
215
217
223
215
214
215
220
215
204
191
188
179
187
191
190
184
195
194
187
194
193
205
218
216
211
213
214
202
200
212
202
210
201
201
200
209
214
179
169
164
162
148
148
149
149
148
156
156
153
151
157
165
160
163
168
171
178
176
173
165
159
160
154
156
151
148
152
151
159
168
169
173
180
179
175
168
164
158
156
165
158
164
156
173
174
174
179
172
173
175
175
181
178
172
177
169
174
166
170
165
170
170
169
173
179
186
184
174
180
176
178
159
158
157
158
153
159
161
156
159
157
145
143
137
145
148
155
151
154
145
138
147
164
157
145
148
154
160
162
167
167
163
166
169
164
173
175
179
178
177
171
167
163
166
162
171
175
172
169
167
170
172
175
175
169
165
173
172
173
175
173
179
178
178
172
165
160
162
158
156
158
159
153
153
161
159
161
168
158
166
162
159
158
157
160
162
159
164
176
171
166
151
154
155
162
156
153
150
148
145
149
142
154
153
155
152
149
163
171
175
180
179
177
174
198
178
190
183
185
188
189
178
170
177
178
174
172
171
181
176
176
181
186
191
201
204
203
195
189
183
174
179
177
168
172
171
168
181
178
181
187
178
166
167
166
172
177
167
171
173
171
167
167
163
165
167
175
170
179
176
176
179
179
171
180
177
170
170
168
176
181
180
173
173
173
170
169
164
167
157
148
152
155
154
153
159
155
153
162
162
164
169
163
167
174
187
182
175
177
175
179
164
179
178
183
181
188
186
196
197
186
183
187
183
174
184
184
186
185
171
176
179
169
164
167
173
172
162
157
153
156
163
149
152
152
151
161
151
153
149
154
159
146
159
158
161
163
161
168
173
174
171
172
170
167
167
155
159
163
166
171
172
168
162
158
159
154
143
155
162
165
173
167
165
170
168
173
168
169
166
163
163
159
162
164
156
165
158
164
167
159
164
157
161
151
165
162
165
170
163
169
167
177
161
165
167
176
183
177
182
184
187
196
184
185
191
196
188
182
187
190
188
176
186
192
189
185
175
171
172
161
168
161
161
161
171
164
167
169
173
168
175
174
167
158
171
176
173
169
159
163
172
165
174
184
180
178
183
168
164
167
163
155
163
158
159
158
158
162
169
165
174
172
177
177
176
171
164
169
172
174
163
165
164
172
165
162
172
177
175
172
168
179
164
157
171
165
169
172
178
181
179
183
177
180
179
171
164
176
179
175
179
184
183
174
166
177
169
178
163
150
154
157
173
173
171
165
156
160
154
164
168
163
165
161
171
165
163
165
170
169
166
168
165
163
152
160
159
149
136
146
147
150
150
153
143
139
136
144
151
152
167
169
178
180
165
168
151
150
155
140
141
152
163
160
157
170
179
176
177
192
190
189
193
190
177
182
183
185
176
179
182
191
192
186
177
162
173
171
168
154
157
167
160
164
164
175
184
180
178
172
170
168
181
183
175
170
171
174
172
166
178
177
177
168
161
175
185
174
174
175
179
184
184
176
177
176
171
182
182
183
184
190
196
182
190
187
175
158
150
159
161
153
150
140
149
150
151
147
148
159
151
156
160
151
146
151
154
155
163
157
153
158
164
153
157
159
151
156
153
161
155
156
160
164
160
163
165
168
178
168
167
160
160
167
169
157
163
150
157
148
154
153
159
164
161
160
160
161
155
160
163
167
166
161
164
165
159
158
156
161
165
165
164
156
161
157
163
158
150
146
142
133
140
148
151
154
148
149
147
145
155
154
154
155
160
165
163
170
172
168
172
175
181
184
188
182
185
186
188
181
178
176
178
182
167
167
168
162
170
173
170
161
174
177
178
188
198
195
195
189
192
187
179
183
193
187
177
173
169
169
156
161
164
165
162
170
167
178
182
170
167
165
163
155
161
173
172
163
164
165
166
167
164
160
183
171
177
171
170
171
175
166
175
178
179
178
171
169
180
188
181
186
189
184
183
179
168
169
166
157
152
155
149
142
144
147
139
147
155
147
158
159
175
175
169
162
172
179
183
175
172
164
165
178
171
184
192
184
185
186
176
172
172
179
176
176
179
176
179
175
182
173
165
169
168
171
164
166
156
155
170
162
154
151
154
165
169
172
168
167
166
177
175
162
166
175
172
174
171
182
181
181
180
174
171
181
177
169
161
157
167
163
163
164
153
156
169
161
177
192
197
197
203
208
201
195
194
182
175
182
179
182
179
179
189
183
191
185
195
187
188
187
186
174
171
173
162
161
162
159
158
167
162
161
157
162
153
160
169
166
154
151
160
167
164
157
151
164
157
167
172
180
180
172
173
180
175
174
180
175
173
172
169
173
177
180
170
172
165
165
174
163
155
157
159
145
151
155
169
167
164
167
160
148
159
163
159
152
157
168
170
148
150
140
146
147
153
145
148
144
153
148
145
151
152
157
163
158
158
156
152
147
150
151
156
150
156
150
153
160
156
155
146
160
156
155
153
163
165
167
166
155
140
144
144
151
143
158
159
164
154
157
164
154
158
153
153
155
154
150
162
169
177
171
165
155
158
155
157
158
154
157
149
153
147
146
153
141
136
139
148
157
150
159
163
164
166
168
176
169
163
167
171
171
168
169
170
173
177
168
165
165
175
173
166
161
162
159
166
158
159
163
167
166
176
178
168
181
185
181
195
199
202
203
204
198
201
187
183
185
185
186
192
192
199
193
186
189
177
183
184
178
187
190
179
176
182
177
173
178
185
176
169
170
169
173
169
158
172
166
166
165
157
162
172
165
169
174
169
160
154
158
152
155
165
155
154
153
166
167
157
157
162
149
155
156
150
150
150
153
143
147
151
156
157
149
144
148
144
142
146
154
167
174
176
178
173
177
181
182
188
183
185
193
187
185
173
170
169
171
169
168
173
176
178
176
172
168
171
163
152
164
160
166
173
173
175
180
175
189
192
176
168
165
180
183
195
192
184
189
175
170
165
154
155
159
150
139
142
154
152
157
165
168
160
162
160
154
146
159
163
156
150
153
150
152
157
149
144
137
135
140
146
141
146
154
147
154
145
150
140
140
160
170
168
172
176
170
166
172
167
172
168
175
183
174
179
173
179
180
182
178
184
193
190
183
184
175
172
181
193
178
171
165
162
166
168
170
173
179
182
179
174
180
185
179
177
179
174
173
170
155
163
162
165
168
166
170
169
175
176
172
167
158
167
162
164
165
167
172
178
169
162
161
168
161
165
172
173
179
179
166
166
162
165
177
181
172
172
173
166
170
173
182
181
150
148
159
155
161
155
157
140
143
141
151
147
143
147
150
146
138
132
131
137
139
130
127
134
131
147
151
144
138
142
139
147
137
133
129
128
134
138
123
122
124
127
134
138
143
139
149
152
148
152
147
149
156
158
156
152
146
141
135
151
149
149
157
152
159
158
155
157
151
140
142
143
151
151
135
127
126
126
124
118
125
126
126
125
118
116
124
122
127
139
137
126
130
133
137
140
144
155
144
137
131
133
133
132
126
136
135
142
146
149
147
148
137
146
141
145
148
144
147
147
146
136
133
132
130
133
137
142
145
139
134
138
140
138
139
130
126
120
126
127
131
144
149
139
136
139
144
143
141
146
142
145
150
135
139
135
129
131
130
137
144
149
143
148
142
139
131
126
127
126
135
134
131
121
131
138
136
130
142
142
141
149
149
143
144
149
151
148
157
154
161
158
169
180
175
171
169
164
161
146
141
137
135
139
137
132
133
141
137
138
134
132
123
125
129
131
136
151
146
148
154
163
170
166
162
163
156
152
146
152
148
154
154
159
160
159
159
155
155
150
147
148
150
154
148
142
150
151
151
149
145
148
152
147
142
144
145
144
152
155
150
143
152
151
150
152
161
154
143
141
139
145
141
132
127
136
139
141
157
152
146
147
155
156
148
151
155
154
157
152
157
152
152
143
146
144
140
135
136
130
136
136
140
139
133
128
139
141
136
136
141
146
141
151
153
164
156
150
152
158
146
144
155
159
161
161
167
160
163
146
148
155
155
152
149
145
137
136
136
141
134
132
130
129
137
131
129
140
143
146
144
138
138
132
131
133
142
145
140
144
142
152
149
141
145
148
141
134
141
137
129
128
133
132
133
132
134
129
134
144
138
135
142
139
142
140
151
144
141
145
138
141
137
139
139
138
147
143
145
149
152
156
149
144
143
150
139
145
149
135
135
134
140
134
137
136
140
137
136
139
148
150
150
152
139
141
143
150
147
148
148
154
154
155
150
152
153
148
153
154
161
149
152
153
151
143
143
157
154
155
166
169
155
162
163
150
160
164
158
158
157
148
152
153
145
157
150
157
152
158
164
160
154
153
160
153
157
151
158
151
156
152
143
150
144
141
138
143
145
136
134
133
130
131
133
130
136
139
134
132
129
137
134
135
139
137
145
140
142
149
157
159
165
156
146
154
152
152
156
146
149
158
165
154
158
150
152
156
151
147
146
144
148
141
148
149
145
145
146
153
145
154
160
165
155
155
160
153
148
153
151
144
143
146
144
137
142
140
137
131
132
138
130
143
137
132
136
129
131
123
121
126
129
122
134
138
144
138
142
141
146
149
140
140
136
142
137
135
144
149
148
150
151
154
154
157
165
163
162
157
154
154
152
158
151
148
142
153
153
161
164
165
157
149
160
156
159
148
151
159
156
154
158
153
151
147
148
148
151
152
147
143
136
134
133
129
126
117
132
136
128
119
123
128
133
128
127
134
132
137
138
139
135
140
140
145
135
137
142
140
139
132
142
144
151
142
143
140
139
130
129
132
129
136
134
134
134
127
135
144
134
150
144
144
158
154
155
155
149
152
155
151
147
141
144
140
145
149
153
156
158
161
162
168
163
172
164
164
154
149
145
136
135
121
122
126
131
131
131
136
141
135
147
150
147
133
133
142
142
139
152
159
149
135
140
134
132
128
132
128
127
135
130
130
136
150
142
141
134
137
141
139
144
147
132
139
140
141
141
137
141
147
150
149
151
146
149
147
140
145
141
154
146
141
138
139
136
136
140
131
132
137
149
144
134
141
139
145
153
143
147
150
157
158
168
163
160
166
163
161
155
160
147
155
151
146
141
145
140
140
150
151
149
148
152
147
146
152
153
151
148
150
148
144
145
145
153
145
141
141
145
136
124
124
128
132
130
138
141
139
134
140
141
138
141
146
148
151
154
155
149
154
148
150
152
155
153
153
153
150
158
145
143
148
158
154
158
157
147
152
152
144
156
149
151
157
157
148
154
148
143
142
152
152
147
153
142
138
141
144
145
144
141
138
137
140
143
140
143
149
154
150
149
148
146
144
152
143
147
146
143
143
143
144
156
162
174
171
171
155
146
152
148
146
142
142
149
153
160
161
154
155
158
168
161
154
154
149
154
146
159
155
145
132
128
129
136
134
127
132
127
132
135
134
149
143
143
143
148
149
141
135
141
144
149
158
156
151
156
151
152
146
148
155
151
156
156
151
148
143
144
142
142
149
149
143
146
149
156
160
155
165
152
162
164
165
174
180
170
170
177
178
178
174
164
156
144
147
148
148
146
151
140
139
131
132
134
138
143
141
138
147
146
138
141
144
140
138
139
146
125
129
125
136
144
148
152
153
146
138
142
138
146
147
145
155
155
145
138
120
119
130
143
143
148
149
146
146
144
133
130
140
138
143
145
142
139
136
135
123
137
140
145
146
149
146
136
132
138
134
129
132
134
125
134
142
145
142
139
140
140
141
143
142
145
140
142
150
147
148
148
149
150
144
153
146
148
147
132
127
143
149
141
143
149
147
149
145
150
153
153
153
144
138
141
153
157
157
160
152
157
163
153
151
150
140
145
145
148
148
155
154
145
148
140
136
138
137
136
138
149
136
144
138
136
135
140
135
136
137
139
132
125
129
141
142
140
139
150
145
145
145
142
137
134
142
132
122
128
124
125
129
136
135
145
147
148
144
144
148
131
139
144
147
147
149
161
162
162
159
158
150
148
146
146
141
150
143
143
142
149
136
143
140
140
140
143
147
152
153
146
151
157
156
138
141
130
138
132
138
134
138
139
135
140
135
137
135
132
141
144
144
153
151
154
150
143
150
139
130
132
130
118
124
129
123
130
125
127
125
118
132
133
140
151
141
147
144
140
135
131
121
120
123
119
107
113
116
118
109
112
114
115
114
111
105
104
109
106
116
115
129
125
129
139
135
129
124
132
136
149
148
147
139
137
130
130
137
132
135
132
135
143
152
143
145
149
151
140
138
143
145
153
140
141
149
146
143
159
148
147
143
141
140
142
141
141
147
147
152
161
156
158
150
139
140
138
137
132
129
133
133
135
135
136
141
143
147
146
149
145
137
144
137
143
138
144
147
151
149
154
155
158
161
170
173
172
165
169
169
170
164
158
172
168
176
166
164
165
167
151
148
146
142
149
138
138
134
129
138
149
157
161
155
157
146
142
140
136
139
137
138
145
143
154
144
142
146
146
145
142
135
134
124
128
130
138
129
118
128
132
133
139
131
125
125
132
122
127
134
142
153
156
157
153
159
155
159
158
159
158
148
144
150
155
152
147
150
152
140
145
148
150
145
145
145
146
153
153
159
159
159
149
152
148
143
151
160
153
151
145
146
146
151
150
152
148
150
158
166
162
162
145
150
141
146
150
141
140
151
146
144
144
136
137
150
147
143
149
144
138
134
141
149
149
143
152
157
165
155
153
161
146
146
147
148
144
137
139
144
142
146
152
153
146
151
156
147
148
141
143
147
149
148
156
158
158
154
161
169
167
164
167
164
169
172
173
166
163
164
161
164
166
158
147
158
164
157
157
150
142
152
157
157
150
153
162
165
153
153
155
164
169
169
165
168
159
151
142
143
141
140
132
136
137
131
139
133
133
133
136
136
134
145
143
147
142
129
128
125
122
126
127
124
134
139
134
136
141
150
163
164
160
152
153
167
161
164
167
158
162
156
147
148
146
144
149
152
151
151
150
150
151
148
142
145
146
149
138
149
144
145
141
129
131
136
137
122
123
121
128
136
128
129
141
122
120
123
134
136
129
135
131
141
142
142
144
134
135
138
134
132
134
120
122
125
133
141
136
146
146
151
145
144
143
152
148
144
142
143
143
151
146
157
156
159
154
149
149
151
156
151
142
139
147
154
145
141
140
140
141
144
138
146
140
130
131
131
141
140
139
139
139
137
118
126
120
122
124
132
129
134
132
128
130
152
152
155
156
161
150
149
150
142
146
152
155
147
144
139
138
133
137
139
134
131
130
139
140
137
134
143
146
141
149
149
147
148
161
161
149
150
144
143
146
117
115
111
118
121
119
112
107
114
112
110
111
113
111
112
120
124
121
124
129
138
131
134
134
138
144
135
139
134
138
143
144
141
150
142
144
137
135
138
136
137
134
131
129
120
122
129
128
127
135
141
146
151
148
144
147
144
148
139
134
139
142
136
128
127
124
122
135
132
136
142
131
131
129
127
129
136
130
128
129
124
128
126
119
123
130
138
127
128
127
123
127
124
123
128
128
128
136
132
128
129
129
134
132
125
119
123
125
121
124
120
120
120
119
120
115
117
109
109
115
117
114
113
122
128
120
118
120
124
120
114
113
117
114
112
114
113
117
110
116
112
113
108
104
107
105
106
103
100
113
112
114
118
116
114
118
122
121
121
115
113
108
104
107
110
114
115
117
119
121
109
116
129
118
120
126
124
127
130
125
122
117
121
120
119
119
113
117
121
115
118
124
131
123
137
125
128
121
120
122
119
114
125
128
127
130
126
126
128
124
126
135
129
133
137
128
118
122
127
130
123
117
119
130
127
113
115
111
106
108
104
108
113
110
115
113
116
120
127
128
138
130
129
132
126
128
130
125
129
122
122
127
127
134
138
129
123
123
113
117
114
116
119
129
129
133
137
127
127
127
133
128
132
139
135
124
129
130
126
125
128
126
120
125
131
124
129
130
130
127
128
126
127
126
120
116
123
127
126
125
121
125
114
115
107
105
111
111
113
108
122
131
131
132
131
124
133
136
139
142
145
136
135
135
125
128
131
139
137
132
137
138
135
141
132
129
128
128
118
123
122
123
135
123
127
126
110
107
109
117
123
122
122
126
131
124
126
124
117
132
125
121
132
128
135
126
135
146
143
139
142
142
141
139
144
141
147
138
135
124
121
129
125
123
123
118
119
112
114
112
117
117
116
114
115
118
113
112
119
130
127
130
131
142
142
136
133
132
134
142
143
149
145
138
136
135
137
130
128
130
122
128
127
129
130
128
125
119
118
111
117
121
120
122
121
121
115
113
113
114
113
114
109
110
107
106
114
104
107
110
113
113
116
127
123
119
119
123
131
132
126
117
126
130
140
132
124
126
124
113
124
125
122
121
126
132
127
118
121
126
123
122
128
128
130
138
138
133
142
137
136
134
129
127
131
126
123
122
128
132
124
117
120
116
120
115
114
119
117
125
128
134
127
124
127
125
125
123
127
136
139
135
129
133
144
139
133
140
135
136
135
133
120
120
121
121
112
113
108
102
97
107
108
111
116
120
118
125
131
127
134
131
132
137
138
137
129
116
119
111
116
106
108
107
114
114
116
120
125
117
123
122
122
126
118
115
118
113
112
108
100
100
102
100
105
109
106
102
98
101
102
106
112
106
110
114
116
119
121
122
127
124
127
123
126
123
128
132
130
128
126
125
123
126
128
125
122
123
132
130
124
124
123
131
140
131
138
138
137
125
122
121
124
115
114
121
115
112
108
112
110
113
110
107
109
119
123
116
126
125
126
129
122
120
115
122
131
126
132
126
125
125
126
109
109
109
117
121
121
127
130
128
124
131
136
136
139
141
144
150
146
141
134
139
143
138
134
137
132
136
139
136
135
141
134
134
142
142
135
124
123
125
130
134
131
133
137
126
120
126
130
131
121
125
116
118
123
122
122
119
117
117
121
119
118
120
120
121
120
120
120
118
114
121
117
115
110
114
112
114
117
122
117
120
128
134
142
143
138
147
149
143
140
146
145
142
139
137
130
135
134
136
131
142
139
132
134
142
143
131
134
142
143
146
141
135
131
135
135
138
126
119
118
113
109
106
114
124
124
124
128
129
133
134
137
140
139
132
129
130
139
140
138
137
139
140
142
137
141
140
141
141
138
133
126
134
128
117
119
120
124
127
121
116
114
116
113
118
116
114
117
123
113
115
116
112
107
107
100
113
102
104
101
106
112
112
119
117
120
120
107
114
108
103
105
109
114
109
121
121
115
114
118
117
116
118
125
123
126
118
112
115
119
116
111
115
120
117
121
121
120
126
127
133
136
133
135
130
128
129
131
135
143
140
144
144
142
148
148
143
139
135
123
124
123
129
133
127
132
128
124
121
121
128
119
122
131
133
148
145
145
140
132
129
124
123
127
135
136
135
134
135
135
130
140
145
142
141
141
148
138
133
129
124
122
126
127
126
126
130
122
113
119
131
126
131
128
127
133
134
136
139
141
141
143
142
143
134
144
145
140
142
139
139
140
144
149
141
151
153
154
149
153
146
145
144
151
149
146
150
145
146
147
144
152
152
147
146
143
147
143
143
145
133
132
142
148
156
144
147
143
154
144
140
145
141
136
138
137
136
130
130
145
136
131
133
132
136
131
124
136
129
132
130
135
132
129
131
135
132
126
129
117
119
112
115
116
114
109
112
115
112
114
126
130
130
129
135
132
128
136
138
137
135
133
128
130
131
128
132
123
126
124
126
124
116
111
117
112
109
105
109
109
113
112
104
113
117
116
124
122
116
114
116
113
113
116
125
122
116
116
118
127
129
120
128
124
122
126
129
115
122
125
131
125
129
131
126
129
138
133
141
140
139
137
140
137
129
131
128
127
129
127
120
121
125
119
117
131
126
112
115
110
108
115
112
115
112
116
114
119
130
129
128
126
127
123
127
131
132
135
129
132
137
131
125
131
138
139
137
145
150
138
135
140
135
135
138
145
145
132
140
140
135
134
137
134
133
135
134
140
136
135
134
128
137
135
136
144
135
128
122
129
131
135
128
135
126
122
124
125
125
125
130
131
135
129
125
125
115
115
109
117
108
113
119
121
120
123
121
124
126
123
124
123
127
124
113
108
113
118
112
114
114
113
115
119
117
118
123
129
141
136
135
140
138
134
125
127
133
133
123
128
118
107
112
106
107
111
121
127
118
124
121
122
132
138
123
122
130
132
133
130
138
137
133
137
124
121
120
125
123
113
116
117
113
114
110
114
117
122
126
123
116
125
123
116
113
115
118
123
118
113
112
110
116
120
116
129
128
134
139
141
137
135
141
140
138
137
134
133
137
125
124
125
133
137
139
137
135
132
135
137
138
148
137
136
125
126
134
134
139
134
138
134
135
139
132
136
144
144
140
137
136
135
146
150
158
143
148
136
127
130
128
129
130
134
127
127
124
124
119
130
135
128
129
135
134
129
126
122
132
131
132
132
141
136
130
136
145
151
140
133
129
140
139
138
139
139
144
136
139
141
149
141
137
133
131
140
142
143
133
134
137
144
157
150
142
140
128
129
129
136
127
128
123
127
127
119
116
113
118
121
117
120
119
129
126
135
137
136
134
132
138
137
143
138
140
134
132
136
140
134
125
118
126
122
131
131
131
132
129
126
122
123
127
125
127
129
115
109
110
120
111
113
112
121
122
121
113
112
117
118
110
110
117
126
128
121
126
118
121
130
130
133
134
140
135
138
138
133
131
138
134
135
132
128
128
130
126
124
124
123
123
118
121
125
124
124
130
126
135
141
137
132
135
137
134
134
132
133
132
138
127
125
122
123
126
120
118
115
112
117
119
124
125
113
113
112
118
104
106
111
114
111
114
110
111
106
107
107
114
113
113
117
114
108
111
123
130
123
125
130
126
129
124
126
132
128
122
130
128
127
123
121
116
121
118
117
121
123
122
117
115
113
112
112
116
117
116
113
113
116
118
110
116
114
127
128
127
127
127
125
123
130
125
129
120
126
121
123
120
121
126
127
126
116
121
119
121
120
115
119
121
124
122
120
126
122
121
116
120
114
116
120
120
120
114
116
122
124
126
130
130
128
125
129
131
131
124
122
125
130
134
133
126
117
121
124
124
122
112
115
114
113
109
103
106
117
116
111
114
116
121
124
127
125
133
121
120
125
125
122
125
119
116
115
109
106
110
105
98
99
105
100
105
108
110
103
95
98
101
107
115
114
108
106
103
105
104
101
97
99
99
100
96
93
97
93
92
99
97
103
106
111
110
123
125
137
146
144
141
139
142
142
131
125
121
116
114
115
118
119
114
117
116
118
125
122
135
133
122
128
135
132
136
129
134
132
121
125
128
125
115
119
116
112
115
117
122
126
129
128
122
120
123
128
122
123
121
123
128
120
119
124
123
126
124
128
122
122
119
119
122
134
135
134
129
131
132
137
131
131
137
128
132
129
134
125
135
140
132
135
135
136
139
134
132
127
128
126
132
130
131
124
117
113
118
113
113
115
113
110
110
108
110
114
118
112
111
118
113
120
117
129
127
131
130
127
127
122
122
130
131
134
131
130
128
122
128
132
130
124
122
133
136
134
142
136
130
134
124
122
122
116
124
119
118
119
128
125
129
128
130
136
128
129
139
129
131
133
131
134
131
128
125
129
129
135
134
126
126
137
136
135
138
142
136
140
134
134
135
136
133
141
139
141
135
137
129
129
132
131
127
127
131
127
121
124
127
135
135
127
128
127
124
121
124
129
126
123
122
124
128
134
132
128
134
128
137
123
116
117
110
109
109
111
108
112
122
122
125
122
121
122
124
124
119
115
113
118
110
113
118
119
123
128
127
119
125
121
116
120
126
129
124
122
118
114
115
115
112
107
107
98
103
113
117
116
114
118
116
123
126
129
131
126
123
130
127
127
130
134
142
141
139
142
147
134
125
136
136
139
127
129
129
123
131
131
125
123
124
124
128
134
132
129
129
136
135
133
131
127
132
134
130
129
139
139
138
140
146
141
149
140
133
138
133
132
139
137
135
136
140
133
136
135
137
135
127
124
124
123
123
117
117
115
125
116
118
125
126
136
133
123
130
128
129
127
117
120
121
111
109
110
108
111
111
111
106
103
99
96
92
96
100
112
118
111
109
101
104
108
105
108
113
107
116
124
118
121
123
127
117
127
127
129
130
132
136
139
143
155
144
147
143
146
140
142
140
136
145
134
133
130
135
131
134
135
130
125
117
124
128
123
126
128
133
134
128
127
130
131
130
134
127
126
130
136
135
125
119
119
115
117
125
138
133
133
130
127
125
120
117
113
105
110
112
117
125
120
113
112
118
117
106
117
114
113
117
112
113
112
105
110
107
105
105
112
115
113
108
101
100
98
99
99
102
102
102
99
97
108
103
100
97
92
88
97
98
95
102
105
107
113
115
105
111
115
117
112
113
118
122
118
121
121
130
132
128
124
120
120
114
119
119
123
127
120
115
117
121
117
119
119
119
116
118
116
111
111
118
118
119
127
126
119
109
112
113
99
108
104
103
106
108
107
111
108
121
116
103
109
111
119
121
117
124
120
124
120
117
122
126
137
129
131
135
125
133
131
134
135
131
135
141
131
137
146
129
126
131
127
125
132
132
139
140
136
140
136
124
128
131
134
133
128
128
129
132
133
137
134
136
142
140
137
128
133
132
133
137
139
138
132
131
135
131
138
126
132
104
103
104
96
99
98
98
103
98
98
100
100
92
93
94
102
102
93
96
91
101
101
97
91
91
86
93
95
101
102
102
105
106
105
110
112
111
99
94
99
101
98
96
95
97
100
98
89
89
99
97
89
88
92
88
88
84
92
90
83
87
95
95
97
93
91
99
103
106
98
97
100
96
93
97
87
82
81
78
86
93
91
92
94
98
94
95
91
92
87
89
88
96
98
91
95
101
101
100
100
94
100
99
101
100
103
101
106
110
99
100
99
90
88
88
86
86
88
87
89
92
87
86
88
89
97
98
94
92
94
94
94
93
93
91
91
94
91
95
95
94
91
93
98
98
96
99
98
97
101
100
107
101
100
102
102
99
97
91
94
96
91
87
95
97
96
98
100
102
107
104
108
109
103
100
97
101
103
101
94
94
93
93
89
94
106
102
110
111
108
105
106
103
106
107
110
107
108
112
112
113
112
118
116
106
106
102
100
97
95
91
88
92
95
95
90
87
89
89
85
81
86
87
91
91
91
92
83
90
93
93
94
89
93
93
93
93
91
88
91
93
92
100
95
100
95
95
97
93
94
96
108
108
99
104
104
102
100
107
110
112
108
99
110
108
105
106
100
104
99
100
98
97
98
94
100
103
107
113
115
114
112
109
106
103
101
102
110
114
112
107
105
108
108
105
105
102
106
105
105
100
92
94
93
96
93
96
94
101
102
107
112
114
117
111
114
114
111
112
109
107
100
101
98
94
95
95
99
99
100
100
109
104
99
101
103
105
101
98
99
94
99
102
96
104
103
101
105
109
114
119
115
109
105
104
107
111
109
116
105
107
109
107
109
99
97
103
109
112
111
110
110
105
110
99
99
101
103
101
110
108
111
118
115
114
120
118
116
114
110
104
101
102
102
102
99
99
100
98
95
91
92
96
102
99
99
88
90
92
84
83
89
86
81
90
83
95
94
99
104
103
105
98
107
107
104
105
99
102
96
93
93
89
93
91
83
91
92
97
105
98
94
94
100
103
103
104
95
92
92
97
98
102
98
94
95
100
97
101
101
102
101
93
98
99
95
95
96
98
97
101
92
96
94
99
101
100
100
101
105
106
105
108
104
95
93
92
96
100
97
107
109
109
112
107
123
124
120
118
116
116
115
108
111
113
110
111
106
110
105
106
108
112
107
113
108
113
108
109
111
110
107
109
108
112
111
108
107
110
116
114
117
118
120
125
117
119
117
120
119
117
120
117
116
116
115
113
111
111
107
110
110
109
104
104
104
105
100
101
103
113
107
102
103
98
100
102
105
105
106
112
109
108
114
107
110
112
115
118
121
116
115
116
111
111
114
123
116
111
113
116
111
111
108
110
108
110
111
115
110
114
114
114
122
117
113
116
112
113
114
120
118
118
116
113
115
114
104
98
113
104
110
111
105
100
103
94
105
102
103
103
100
101
104
106
110
110
109
109
108
105
111
110
109
109
98
96
95
98
98
99
102
104
101
98
105
107
110
106
102
100
97
94
100
98
97
93
84
82
86
88
84
88
93
90
87
84
93
96
102
101
105
110
111
107
101
98
100
97
102
105
100
99
97
96
100
95
96
100
99
94
93
92
91
93
93
91
93
95
105
103
106
104
109
107
110
113
123
127
126
125
124
121
114
121
120
127
133
129
131
124
123
123
127
119
119
119
116
120
117
119
112
110
114
113
115
105
108
105
112
110
111
109
107
104
101
104
105
105
103
106
106
110
116
114
107
108
105
108
107
105
113
108
108
103
104
101
99
101
99
101
102
98
94
95
95
87
95
93
98
96
100
104
102
104
103
106
106
105
94
94
95
91
97
96
105
106
107
104
104
101
103
98
105
107
114
112
114
108
111
117
113
114
108
111
113
107
108
102
108
104
107
106
107
111
111
111
115
116
120
119
121
119
118
112
118
119
118
117
114
113
112
109
110
113
112
119
113
107
108
106
112
103
105
105
103
98
106
108
104
101
106
103
108
111
112
112
115
115
110
107
104
101
100
108
109
105
107
95
95
95
88
90
89
101
103
103
97
99
99
105
98
96
98
102
102
109
113
107
101
109
110
110
105
102
108
107
114
109
105
108
109
109
116
113
119
113
101
106
103
102
100
98
98
100
99
100
102
107
103
103
107
103
95
91
90
90
90
86
87
88
83
82
84
93
95
88
87
91
93
95
96
100
103
105
110
111
111
110
116
115
118
106
103
112
108
105
106
109
107
101
102
102
105
105
103
102
102
103
99
98
98
96
97
106
105
104
106
100
103
104
97
100
99
101
106
103
101
98
108
105
107
108
103
110
114
109
108
106
104
102
98
99
100
99
92
93
94
97
103
106
101
112
117
115
108
106
103
100
93
90
92
95
102
98
105
104
98
99
103
109
105
100
107
111
107
108
107
110
116
121
117
119
122
116
118
115
112
110
100
101
100
102
106
104
103
100
94
104
104
106
109
107
102
101
105
104
104
105
110
110
106
106
105
107
106
103
98
100
104
107
104
110
111
111
119
116
116
121
119
122
119
119
119
119
115
116
113
122
121
120
114
113
105
101
92
91
84
94
93
97
96
98
97
98
107
105
107
107
114
117
121
125
127
119
129
128
125
128
127
121
119
123
131
124
126
121
123
118
123
120
123
122
126
120
120
120
118
124
126
119
119
116
112
113
112
103
107
104
106
104
104
99
101
102
109
105
100
93
102
96
99
96
92
93
96
97
101
107
105
106
105
99
99
101
94
96
98
97
95
95
97
102
100
106
104
103
107
104
106
113
115
111
113
116
120
116
113
117
119
113
108
107
102
101
101
104
98
105
103
101
98
102
100
98
99
97
101
99
97
93
97
99
106
110
116
113
112
104
99
98
102
105
103
109
104
106
102
104
102
102
109
108
111
112
116
115
112
115
109
109
112
106
99
100
100
100
98
98
98
102
91
92
88
92
84
88
93
97
91
88
93
88
93
94
99
98
92
93
88
87
93
98
95
92
95
95
101
93
92
96
102
100
101
99
97
100
101
98
105
110
102
103
103
106
110
103
94
95
93
103
101
105
107
107
111
113
116
114
111
113
109
103
103
98
100
100
95
91
99
105
103
105
100
100
104
110
102
104
109
103
102
101
99
95
98
100
98
88
90
95
94
96
88
87
89
90
91
99
98
97
92
101
102
104
102
103
99
104
100
105
106
104
111
120
121
120
105
107
112
116
110
104
98
98
99
92
99
101
107
108
104
100
97
94
91
87
83
88
96
98
100
101
100
97
99
103
97
97
98
90
89
90
96
97
98
100
102
106
106
112
100
104
102
107
101
98
104
104
105
107
102
101
92
98
107
105
103
107
109
112
110
104
109
102
98
103
105
103
95
97
93
96
106
100
98
96
102
110
108
108
109
112
105
111
109
108
108
106
99
102
109
110
110
106
112
119
116
121
118
111
104
96
100
95
100
102
97
100
98
94
95
103
102
100
94
100
94
99
94
101
96
98
97
101
106
105
103
100
99
101
101
98
99
97
99
106
113
117
123
118
119
117
115
109
110
112
115
109
99
101
101
110
122
116
117
115
115
110
108
102
103
99
102
103
104
99
108
113
119
121
122
120
121
119
122
119
121
121
124
120
121
123
118
124
123
118
118
121
124
120
122
118
122
114
115
108
105
102
103
99
91
86
97
96
97
99
98
103
105
111
111
112
112
109
109
108
110
115
118
113
115
111
114
109
110
105
102
98
100
100
100
97
101
100
97
100
106
108
109
103
101
91
99
96
99
103
105
103
106
105
107
106
108
102
100
97
102
101
105
99
94
85
88
85
92
92
93
105
107
103
96
99
101
107
112
115
121
119
125
116
118
116
118
122
114
115
112
104
102
106
102
102
104
103
104
111
111
112
113
117
119
118
114
107
99
108
99
104
105
104
101
104
103
100
101
97
98
105
102
97
96
104
99
104
101
104
105
105
111
112
111
106
111
116
116
112
111
118
115
114
123
125
117
119
115
114
120
118
115
109
107
109
114
115
110
104
106
104
102
100
97
94
93
102
102
105
100
98
102
105
100
99
103
111
115
109
116
120
118
118
113
107
107
101
104
106
108
108
110
109
108
104
94
94
90
94
98
100
100
98
102
103
102
105
107
109
105
105
108
110
113
112
110
106
105
108
108
108
110
100
95
95
96
96
101
100
96
100
97
97
101
109
100
92
100
104
104
106
111
105
97
98
103
109
104
100
103
111
110
103
105
106
101
104
106
105
110
111
110
102
106
110
110
106
100
108
105
107
101
106
105
103
104
110
108
101
92
92
92
91
86
77
81
80
81
82
81
86
93
95
94
93
95
94
94
96
98
92
90
102
96
94
99
100
95
91
92
90
93
97
100
100
101
92
86
84
91
85
88
86
87
90
97
96
101
97
101
108
103
106
104
101
104
101
104
113
115
113
112
113
112
108
113
107
112
107
96
102
109
103
98
98
101
106
106
105
112
104
111
115
112
118
118
118
120
115
117
123
128
119
123
121
115
120
125
124
129
128
126
125
126
120
112
107
115
112
108
113
111
115
113
114
115
113
113
108
113
108
111
110
111
110
113
107
110
111
109
104
103
101
99
103
99
100
103
108
108
110
107
108
112
108
109
105
101
107
101
106
109
108
107
104
105
102
98
104
103
109
107
104
109
113
107
105
108
109
107
108
114
114
117
118
116
113
114
116
116
118
122
128
130
120
125
122
122
120
121
121
121
118
119
118
118
114
115
115
117
120
128
122
125
130
133
129
120
124
123
124
127
127
129
127
130
129
130
132
126
123
128
126
126
126
126
129
130
130
137
130
128
123
114
117
118
113
109
107
112
108
111
107
105
100
96
96
96
90
87
87
94
86
86
88
86
82
91
86
87
88
91
104
98
95
102
104
102
103
109
117
111
106
105
100
104
109
110
107
109
109
104
101
98
97
105
105
110
104
105
101
101
103
99
102
103
105
105
106
102
99
93
98
89
97
97
102
99
100
97
91
91
97
93
98
94
95
90
95
89
92
92
95
91
94
91
90
90
91
95
99
104
102
98
100
89
93
98
95
95
99
101
103
96
101
107
113
108
107
110
108
114
107
105
105
101
104
108
107
114
115
114
114
109
107
106
105
110
110
111
103
105
108
111
107
108
104
102
101
108
104
107
102
100
105
105
107
116
118
109
108
109
116
115
116
111
109
105
110
109
103
95
98
93
97
97
98
95
104
106
113
110
105
105
96
90
91
92
98
95
93
89
92
93
101
103
96
96
104
98
94
101
103
103
99
95
93
95
100
98
95
93
89
86
98
94
97
104
110
102
104
103
107
108
117
111
105
103
106
105
97
99
97
102
104
101
101
101
102
105
107
106
108
110
108
108
116
117
114
109
109
108
109
105
105
107
107
104
100
95
96
91
92
98
99
95
90
89
84
82
87
99
96
88
94
97
103
104
101
100
106
103
106
108
102
97
100
94
92
96
92
95
103
100
105
103
104
102
106
111
110
106
104
106
109
108
110
109
102
105
107
105
106
107
108
106
113
110
114
111
105
103
109
108
110
112
108
107
108
112
115
115
114
107
105
113
112
111
114
106
112
102
97
102
108
104
103
99
89
93
99
95
97
99
100
102
99
95
97
104
108
102
101
103
102
106
103
99
101
97
99
98
99
104
101
99
94
84
79
78
81
83
85
93
94
92
96
101
110
114
115
119
117
118
117
119
110
107
107
112
107
107
110
110
110
108
107
103
105
104
99
92
95
92
88
88
87
84
84
87
89
88
87
93
93
98
106
107
108
101
100
98
99
97
91
94
94
98
99
104
106
97
102
103
104
100
104
96
97
98
100
106
107
108
108
109
114
113
120
111
101
106
113
114
111
104
105
108
105
101
101
98
97
94
99
99
104
100
103
97
94
100
104
101
103
110
112
111
111
104
111
109
110
110
113
114
110
104
103
100
96
96
94
94
90
93
92
90
93
90
82
87
84
93
98
97
100
94
96
101
97
100
91
94
91
98
95
93
89
84
90
92
90
92
92
100
111
107
109
104
101
98
98
102
103
116
124
113
107
107
106
94
93
102
101
96
86
87
95
93
102
97
90
92
94
88
92
95
98
92
90
87
90
93
88
95
93
92
97
100
95
105
98
105
105
101
101
102
108
111
113
115
120
119
116
117
108
120
123
120
121
120
109
102
106
100
96
101
98
99
95
97
98
101
103
105
109
106
109
110
110
104
108
106
110
110
113
110
111
108
107
108
110
109
100
104
110
113
108
111
117
123
121
116
110
112
118
117
108
112
115
111
110
111
109
107
100
103
104
113
111
107
103
106
111
105
102
97
96
94
102
105
110
111
114
114
115
113
114
118
123
127
118
110
111
107
109
106
108
110
116
114
115
117
114
114
112
109
105
108
104
104
103
101
97
95
95
93
90
89
90
96
95
95
97
97
96
94
99
98
104
105
106
103
104
103
104
102
104
109
101
98
103
102
111
113
109
110
117
114
112
130
130
123
124
125
125
126
122
125
128
128
130
131
119
124
124
127
127
119
121
117
123
127
119
125
121
127
129
121
120
120
120
119
118
122
122
126
122
124
129
130
128
115
121
118
104
104
100
92
97
101
105
107
107
103
99
102
94
90
92
102
93
92
91
89
94
90
95
92
84
89
87
84
85
92
91
83
87
86
86
87
90
93
90
96
95
104
105
103
101
98
95
101
111
114
114
114
115
118
119
119
121
114
111
108
117
104
105
101
104
110
109
109
107
104
101
107
105
98
100
96
93
92
91
99
99
101
101
99
100
97
93
95
101
98
100
98
101
104
100
102
101
102
86
87
87
94
90
90
87
89
90
90
92
100
94
97
94
90
86
86
86
80
82
77
80
83
80
81
91
92
86
78
74
73
72
73
81
80
85
84
76
87
91
88
81
83
87
88
90
92
92
93
87
89
94
91
89
85
87
90
90
88
84
83
82
81
88
91
89
95
89
91
94
94
97
100
95
95
97
101
105
114
108
113
112
105
102
104
102
102
103
98
104
105
111
112
105
105
102
94
88
89
89
91
91
90
100
96
97
107
113
119
117
112
116
117
114
115
108
99
104
101
104
102
94
97
98
105
101
100
98
102
109
112
112
115
117
126
121
119
117
115
122
120
114
104
95
105
101
94
91
91
83
77
73
75
76
78
82
83
87
89
86
94
105
92
89
93
95
97
95
98
92
92
104
104
104
104
113
113
110
115
116
113
106
102
107
105
103
100
97
95
96
94
91
102
108
108
109
109
109
108
109
111
109
108
105
106
102
99
102
108
116
111
108
102
104
103
108
107
103
100
103
100
104
97
93
96
105
104
105
103
98
96
98
101
101
93
90
94
95
95
95
94
97
93
99
104
97
102
102
104
108
106
109
111
111
109
118
116
113
111
110
112
114
113
111
109
112
116
114
115
120
119
119
122
117
117
120
125
123
126
120
114
111
119
115
112
117
117
115
123
110
117
114
112
112
110
102
95
97
103
99
95
93
97
92
100
101
105
100
99
94
94
98
102
103
103
111
111
108
105
107
113
110
103
96
99
102
107
113
117
115
113
81
81
80
76
78
77
83
73
70
73
70
69
69
67
66
65
65
69
72
77
73
77
76
79
85
87
87
88
84
79
85
84
81
81
83
85
86
84
84
82
86
83
81
79
81
89
97
98
93
91
92
95
91
87
86
85
85
79
82
84
83
86
84
84
83
89
88
86
90
92
93
87
84
87
86
86
86
84
82
82
80
81
83
85
85
85
87
89
77
73
78
77
75
80
78
80
74
78
79
83
82
79
81
82
79
82
88
89
86
80
82
79
79
78
79
78
79
72
70
72
71
74
76
77
79
79
84
89
84
81
84
82
82
84
88
84
82
85
88
86
94
90
91
89
91
91
89
94
99
94
97
97
95
91
91
94
89
90
90
94
95
92
91
80
73
73
67
61
65
69
72
71
66
65
64
63
66
71
73
70
67
64
71
59
64
65
62
67
76
81
78
79
76
77
81
80
83
83
88
86
81
77
79
81
84
81
86
84
82
86
87
92
88
85
87
95
91
85
84
87
85
83
87
83
86
87
90
89
87
79
74
72
78
77
82
76
82
82
77
75
88
88
89
87
90
89
88
89
89
90
87
88
89
89
90
90
82
75
76
78
70
71
71
71
72
61
64
70
73
71
71
77
69
71
64
65
63
70
71
68
63
65
66
66
68
63
62
66
67
68
66
66
72
70
72
69
73
68
65
70
68
67
70
71
74
75
74
75
73
68
69
75
75
80
78
76
76
74
74
73
75
73
69
67
65
62
68
71
76
78
81
81
81
82
79
83
80
82
82
78
72
75
78
77
75
72
76
76
76
71
72
78
81
83
79
77
86
83
84
85
86
87
89
89
80
68
72
72
72
69
67
73
77
79
75
73
69
72
75
79
80
75
74
75
76
75
81
81
80
79
78
81
80
82
88
88
88
87
93
89
85
86
92
95
88
83
85
82
84
88
85
89
84
76
71
80
81
84
88
82
81
82
81
86
86
85
78
83
80
87
86
90
93
88
88
86
89
84
88
89
92
90
89
80
81
82
81
81
77
76
72
75
74
67
71
74
75
76
77
74
82
81
82
79
75
72
75
78
76
78
76
77
78
72
74
77
73
74
80
84
76
75
78
76
75
71
70
72
73
77
80
75
74
76
75
75
75
74
75
76
69
65
71
74
69
67
64
63
60
68
68
68
74
68
69
68
66
67
65
62
68
69
68
72
74
77
82
82
83
82
85
87
83
83
85
86
78
88
96
98
98
92
93
89
91
92
94
91
91
87
88
87
83
85
84
82
80
84
80
79
80
84
83
80
82
86
82
74
70
69
68
73
72
74
74
73
79
77
83
78
79
75
75
78
79
81
80
79
80
81
82
89
90
86
83
82
83
87
82
77
78
91
91
89
81
80
75
74
74
69
71
72
71
73
73
76
77
78
78
80
74
78
76
84
79
75
74
76
74
76
76
81
78
79
78
75
71
77
75
71
69
76
79
80
80
82
79
80
78
78
84
86
85
83
83
83
79
73
75
76
83
86
79
72
75
80
78
80
80
78
72
76
80
83
81
82
79
75
74
74
80
80
81
85
85
85
86
88
85
77
80
85
79
78
81
82
70
68
69
70
72
71
77
76
74
71
67
65
65
66
63
72
74
82
80
79
77
79
83
89
82
82
75
79
81
81
83
75
74
76
75
73
70
77
76
69
72
76
78
79
89
85
85
91
91
90
81
86
86
91
87
89
92
91
85
88
88
91
96
95
95
94
97
94
91
90
87
86
86
87
87
91
87
82
82
79
76
77
79
83
85
88
91
85
83
85
91
86
91
83
83
80
81
84
80
66
68
67
66
76
78
85
85
88
92
88
85
85
91
98
98
97
98
97
91
88
85
92
92
97
99
102
102
97
101
105
103
109
111
107
101
103
106
99
100
101
97
93
95
98
100
102
98
92
96
93
98
91
89
92
93
99
100
95
87
90
92
88
89
91
87
85
81
81
80
80
74
79
84
82
84
78
81
80
82
82
87
89
90
84
81
81
82
85
89
87
82
84
85
89
89
85
85
85
88
86
85
85
80
86
80
78
77
86
92
87
86
83
83
87
86
94
97
95
101
100
97
93
100
92
91
89
91
89
88
83
78
76
77
77
83
85
83
82
79
81
82
82
83
84
86
85
84
80
88
90
89
93
93
93
90
91
90
94
100
100
103
91
81
83
83
88
83
84
85
81
83
81
79
73
72
77
81
82
82
83
77
75
72
72
76
76
77
75
75
76
78
80
78
78
80
74
74
76
77
81
77
75
78
73
75
73
74
81
79
67
69
77
74
76
74
77
85
81
80
79
77
77
80
76
75
71
80
76
77
79
75
83
86
84
81
85
85
82
75
76
77
73
75
77
78
83
89
88
89
89
87
91
98
98
99
91
93
87
85
85
88
88
85
80
82
79
80
82
88
88
89
88
91
87
91
87
91
90
89
94
90
89
92
87
84
84
84
86
86
86
86
81
84
87
88
84
86
92
88
91
82
82
84
88
83
82
77
79
78
79
82
80
84
81
77
82
79
77
74
73
78
77
75
73
71
76
75
81
81
78
71
78
79
75
70
69
69
69
69
70
75
72
79
80
82
91
93
89
89
87
90
92
94
93
93
97
96
96
102
108
109
106
110
107
100
96
95
96
93
91
87
87
88
86
83
82
76
81
77
71
74
76
76
77
82
85
83
87
85
74
75
72
76
77
78
81
78
76
81
79
82
78
73
75
77
84
91
89
89
89
91
96
90
95
92
89
92
98
97
99
96
89
83
85
88
87
85
88
94
93
93
93
86
85
82
82
85
84
83
83
77
77
74
75
76
81
83
81
82
80
79
81
80
79
86
87
91
88
88
90
87
84
84
84
91
92
88
93
91
88
85
84
85
86
88
83
81
82
76
74
75
78
73
74
80
77
76
84
91
88
80
81
74
70
73
77
81
86
80
82
80
79
83
85
82
83
89
92
95
103
104
100
103
104
103
103
103
97
99
98
97
97
93
94
95
90
90
91
94
87
86
85
90
92
95
87
83
79
84
83
77
75
73
74
72
70
73
80
83
77
77
75
70
67
68
69
69
66
66
60
60
64
66
64
59
57
62
66
67
67
66
64
69
70
69
78
78
84
85
78
78
82
79
77
76
79
80
77
75
77
81
84
86
87
91
87
86
90
92
93
95
99
91
89
88
89
86
88
87
86
91
93
87
85
80
87
93
94
97
97
97
99
98
101
97
96
95
99
86
87
91
93
91
91
90
88
87
94
95
96
92
91
84
85
84
86
89
77
72
76
83
84
83
82
76
83
93
91
78
85
83
82
86
85
79
76
78
76
76
79
85
80
83
83
84
89
88
91
90
92
91
91
93
86
91
90
91
95
95
92
89
91
87
88
87
77
82
81
80
79
85
84
83
81
80
82
81
84
90
90
89
88
83
82
83
85
84
83
79
82
82
75
79
78
90
87
85
85
81
82
83
87
88
88
90
89
93
98
98
96
87
88
87
82
81
80
84
80
77
84
84
84
80
83
79
87
86
95
97
94
93
92
90
84
88
93
87
87
88
93
87
85
81
88
93
93
83
88
89
85
84
89
91
94
93
89
92
88
82
81
87
86
87
83
90
91
88
86
94
89
85
85
84
82
76
78
79
78
80
78
75
77
74
78
82
86
88
92
87
87
86
89
91
91
92
87
83
81
78
81
85
83
77
75
73
79
78
80
80
80
83
85
87
83
81
73
72
71
77
84
76
84
83
79
75
76
77
79
84
79
81
81
85
83
83
90
88
90
92
97
97
91
88
87
87
80
83
83
86
80
81
82
78
81
85
85
83
81
85
87
93
91
90
90
89
86
84
86
87
91
92
90
91
85
83
84
88
84
89
89
86
85
87
91
89
86
88
88
86
86
88
85
89
96
95
89
87
78
81
83
81
84
88
88
85
87
93
93
89
93
90
87
86
85
87
90
94
89
93
93
88
88
88
95
95
93
91
90
88
91
92
91
93
91
90
93
98
98
95
87
84
86
84
84
76
76
80
80
78
78
80
79
83
81
76
80
81
82
84
84
79
80
88
86
85
83
90
86
85
84
83
88
86
82
84
83
82
83
81
82
83
87
93
94
87
86
86
88
88
89
91
92
94
92
89
93
96
98
96
92
92
94
95
96
100
100
99
102
95
94
91
97
95
95
95
93
92
92
90
88
86
92
88
89
90
93
91
93
94
92
91
102
101
96
106
96
89
90
93
96
94
85
80
80
77
75
79
79
77
78
76
73
72
75
77
81
85
80
72
73
73
69
64
63
69
66
68
75
79
70
69
75
75
79
77
76
74
80
79
77
84
85
84
79
76
75
77
76
69
70
77
81
81
89
91
91
86
88
93
91
94
91
91
90
88
86
86
94
90
81
84
84
82
81
81
82
78
80
78
75
75
67
66
66
67
68
70
71
71
72
77
75
79
77
77
77
72
75
72
73
86
83
80
82
83
92
89
89
94
92
90
93
96
100
96
94
94
93
94
96
95
93
94
93
93
88
95
92
84
85
86
91
90
88
87
81
79
78
83
85
87
81
82
87
78
79
84
82
81
81
82
82
79
76
75
71
64
60
63
68
71
71
72
70
76
80
88
77
80
79
82
79
76
82
83
88
92
91
96
92
89
85
86
78
78
77
80
77
71
72
73
68
66
66
65
70
75
72
75
71
71
70
72
72
72
74
75
74
75
74
76
76
78
78
73
78
80
82
75
81
81
84
79
76
76
75
76
76
75
77
80
85
81
77
77
82
81
80
83
79
83
85
82
79
77
74
75
74
71
73
71
68
68
66
68
69
70
76
82
83
78
80
80
79
80
78
73
80
77
85
89
93
90
94
92
94
87
89
86
90
93
95
96
96
98
98
98
102
102
104
103
108
105
106
109
104
97
102
98
96
94
90
83
87
85
79
83
84
86
88
85
80
78
78
83
83
82
87
94
84
85
85
85
91
91
95
96
98
95
96
95
98
99
101
99
101
101
95
91
97
104
108
103
99
100
100
102
100
108
104
100
93
92
93
94
90
90
89
84
80
74
74
72
71
73
68
65
66
66
70
72
69
67
67
69
68
72
75
74
71
70
69
79
83
85
88
82
85
90
92
96
97
98
98
98
103
98
97
97
96
90
89
87
81
82
78
80
79
84
83
79
85
82
84
86
83
81
85
88
89
89
93
96
95
100
97
98
97
96
96
96
92
89
86
82
85
81
80
80
82
82
82
80
84
84
83
87
84
87
89
90
83
79
82
82
85
85
81
80
81
80
78
86
84
90
93
95
91
94
92
91
97
88
92
90
89
86
87
85
85
84
86
84
87
87
84
81
83
88
86
85
91
89
89
83
85
85
82
86
85
87
82
83
87
84
73
75
74
77
74
74
73
70
72
79
80
75
74
70
68
70
72
69
74
70
67
63
65
61
62
62
68
67
68
72
74
71
68
72
73
72
70
61
58
61
64
73
77
76
72
71
68
67
70
73
74
78
79
79
79
83
89
90
86
82
78
81
75
80
80
76
74
75
82
79
80
83
86
85
89
86
91
90
91
94
87
82
81
83
83
81
79
82
87
86
89
87
90
91
88
81
82
84
82
79
80
81
86
84
81
75
77
79
75
84
84
81
82
85
83
81
81
78
78
78
82
81
81
80
81
77
79
78
74
72
72
72
73
69
69
68
68
68
66
66
67
66
71
68
70
75
75
71
73
71
71
70
70
61
61
61
70
75
75
75
71
69
70
71
69
73
73
75
77
78
77
79
81
89
91
94
97
97
95
83
82
81
80
78
80
83
87
81
77
74
75
77
77
72
74
69
71
71
70
70
70
76
80
77
77
78
82
77
77
79
69
68
70
77
81
86
89
93
91
95
93
90
89
82
82
87
87
78
73
79
78
77
78
83
85
80
82
81
83
86
81
84
81
81
84
89
87
91
85
88
91
89
85
87
88
88
88
86
84
89
89
97
91
91
94
100
103
96
95
100
103
101
99
95
98
98
97
100
89
93
93
89
89
83
81
82
86
90
92
85
86
84
82
86
90
92
93
101
101
97
97
91
92
90
90
86
89
91
90
91
91
86
82
82
88
95
96
96
95
92
88
86
89
84
85
83
85
86
87
89
91
88
84
90
90
86
82
86
88
90
89
92
90
86
89
94
93
90
89
85
83
82
81
82
80
78
88
91
94
95
94
92
90
87
87
90
88
88
87
87
87
84
85
83
85
85
88
86
81
80
79
80
84
87
83
81
81
82
81
77
74
71
70
80
84
85
88
90
91
93
94
88
93
94
94
101
98
101
100
100
92
86
87
85
84
93
91
92
94
84
79
86
88
87
85
82
84
85
83
86
89
88
93
95
99
102
105
102
96
91
92
98
96
96
97
96
98
97
101
98
99
104
104
101
102
101
98
100
101
102
103
101
104
102
97
95
95
92
94
91
91
88
89
87
84
79
80
81
85
85
94
91
83
81
87
85
89
86
88
91
94
90
88
95
95
91
89
87
89
90
90
90
83
84
90
86
86
86
89
88
92
93
88
90
87
90
90
87
89
93
89
92
88
90
91
93
91
89
94
89
88
86
89
92
95
90
95
87
89
90
91
97
91
90
90
89
90
87
90
86
83
83
76
77
81
80
87
90
86
90
93
92
89
86
87
85
89
92
92
91
95
96
88
93
87
87
81
81
84
84
84
81
80
79
84
84
86
85
83
85
88
86
81
81
83
85
84
84
80
80
79
74
72
70
74
74
72
76
77
75
76
79
77
79
82
78
77
78
84
83
86
87
95
88
87
85
88
89
91
90
95
93
98
93
93
91
100
100
97
95
100
97
101
102
94
100
98
100
101
98
105
103
101
93
92
90
96
96
99
97
95
92
92
97
99
97
105
106
100
99
98
97
94
94
95
91
93
88
84
87
88
83
85
80
78
77
79
84
84
83
80
86
86
82
79
86
89
87
81
88
86
88
87
83
83
76
74
79
81
86
88
81
79
76
82
74
73
70
71
78
80
75
71
77
80
82
82
84
85
90
89
85
87
80
81
86
86
85
89
92
87
89
86
84
89
90
87
93
91
91
88
89
87
87
91
92
93
89
91
96
94
94
93
94
98
100
97
97
97
97
93
93
92
90
91
91
92
94
90
88
86
86
88
86
88
92
88
85
83
86
82
82
85
86
87
86
87
87
90
84
89
93
95
87
85
83
83
89
92
97
92
87
96
95
94
91
93
101
96
96
95
96
94
90
87
90
90
87
90
87
86
84
81
83
81
82
84
87
88
87
90
92
91
90
90
87
86
85
87
92
95
91
91
96
100
92
86
80
73
73
77
76
78
80
88
88
92
90
88
81
81
77
77
78
80
80
76
81
83
82
84
83
79
77
81
78
76
76
78
75
76
79
80
84
83
87
83
79
80
84
83
72
82
85
81
81
84
84
78
84
81
81
79
77
77
74
67
70
66
65
69
69
70
70
73
75
76
78
69
66
66
68
64
62
71
73
70
71
74
73
76
77
77
76
82
80
83
78
75
70
77
73
66
61
62
64
66
64
60
59
55
63
67
68
71
73
76
72
73
80
78
89
81
83
81
78
77
85
90
87
83
86
86
87
89
89
94
89
84
86
91
87
93
93
90
83
82
83
84
78
82
87
94
92
92
81
87
85
84
80
78
79
82
81
82
82
82
80
74
80
76
81
84
79
76
76
78
78
76
76
82
86
83
78
82
81
84
86
82
81
81
82
84
90
95
95
93
87
94
94
91
96
91
91
92
90
87
89
92
93
97
98
97
97
101
95
95
93
87
88
93
97
98
102
88
87
85
87
81
82
89
93
94
101
95
97
90
85
87
87
88
92
86
87
94
95
96
98
100
100
97
100
100
98
105
104
98
103
102
94
101
94
93
91
86
80
76
82
85
81
86
81
77
77
76
71
72
72
76
79
80
79
75
68
72
75
74
81
84
78
74
73
75
80
75
71
71
70
69
77
73
68
73
72
75
82
80
77
81
77
73
67
73
82
82
79
69
69
72
73
76
77
68
67
65
64
70
75
71
74
72
71
72
78
79
84
84
84
82
86
85
81
85
89
91
91
96
89
83
86
82
75
75
75
78
81
82
84
82
75
68
76
75
65
62
68
67
64
63
68
68
63
65
68
69
65
74
70
72
73
76
78
77
76
76
78
77
73
80
84
83
86
87
90
89
87
86
91
91
93
93
83
85
80
81
84
78
81
78
82
82
79
76
73
72
73
69
71
71
69
72
71
72
72
75
73
63
61
68
68
72
67
65
69
72
72
71
72
72
74
74
74
72
74
75
74
73
66
67
67
69
69
74
70
72
71
73
71
69
72
77
81
81
82
82
85
84
82
80
85
86
93
87
85
88
87
87
94
92
88
88
90
91
87
93
91
91
87
85
81
79
76
78
79
79
81
85
80
76
80
80
78
79
81
76
80
78
79
80
77
81
78
74
82
83
86
87
87
86
89
96
100
97
98
98
97
95
101
99
98
96
101
97
93
92
90
92
92
96
93
94
86
81
83
79
78
76
71
71
67
65
71
73
78
78
79
74
73
75
79
78
74
75
78
81
83
88
84
86
79
78
72
75
74
77
82
72
72
74
76
78
78
78
80
77
76
79
74
72
73
72
68
72
69
72
68
70
77
83
81
79
81
79
79
78
81
83
84
83
80
82
80
82
90
84
82
79
78
80
82
85
84
82
86
87
89
95
96
101
99
93
87
89
92
93
95
94
96
93
86
85
85
83
90
84
81
81
75
75
74
72
72
71
65
65
63
69
73
70
68
68
62
64
68
71
73
82
79
74
75
81
85
84
88
99
98
94
96
94
89
88
91
90
93
97
92
94
91
96
94
96
92
87
93
91
95
101
98
98
99
103
107
112
106
98
98
96
94
99
96
91
96
90
94
91
92
90
97
93
93
87
81
85
85
83
84
89
88
83
88
89
86
82
81
74
79
80
83
82
84
84
82
82
85
85
82
81
82
81
83
88
89
91
91
88
89
86
87
87
87
86
87
86
82
85
83
84
81
80
80
80
81
83
81
80
77
79
79
80
85
91
91
90
85
85
87
83
89
91
92
88
88
94
93
93
95
90
90
88
90
93
86
88
84
83
82
77
74
71
71
74
71
77
76
77
76
77
77
74
73
77
80
84
83
83
81
88
87
95
100
99
105
103
96
98
99
101
102
100
96
89
91
91
91
85
83
83
86
87
86
82
82
81
80
81
80
79
83
86
82
85
91
88
88
86
92
98
102
91
90
88
83
85
85
88
81
77
74
71
74
74
73
71
68
68
71
68
64
62
66
65
65
68
69
73
75
70
70
70
71
72
71
70
75
78
77
80
79
78
74
75
76
74
78
80
86
84
83
83
82
76
70
70
72
73
73
72
75
86
87
90
89
91
85
89
85
84
87
85
88
89
90
90
90
88
93
90
88
81
82
83
81
86
84
83
84
86
85
88
92
89
87
82
79
80
81
79
79
80
84
90
86
87
82
83
86
88
87
89
86
80
82
83
84
83
87
91
84
87
82
84
82
85
86
85
86
78
84
87
89
90
88
88
86
80
81
79
76
83
80
83
79
76
79
78
75
65
62
71
73
71
72
74
71
68
68
75
73
74
75
79
77
71
70
67
72
69
71
69
71
72
80
80
76
81
78
77
80
75
77
79
77
76
82
80
82
81
80
83
84
80
89
86
81
80
81
87
82
83
82
84
80
82
81
80
88
88
88
88
90
88
94
89
92
91
90
92
90
93
99
98
91
88
85
80
81
81
82
87
86
90
82
83
84
87
96
92
91
99
90
90
92
86
89
92
88
87
88
91
90
87
93
87
84
85
89
84
78
80
81
85
86
89
92
89
89
88
89
86
83
82
83
80
85
79
73
79
78
74
72
78
76
78
78
71
74
75
77
74
77
77
86
79
76
72
68
62
66
70
73
74
76
78
73
74
79
80
82
84
85
84
82
88
85
84
86
90
86
83
79
79
83
83
80
78
78
81
82
82
84
80
79
80
79
82
79
83
81
77
81
79
82
85
89
89
91
87
81
83
79
78
78
78
79
76
76
77
77
72
74
77
82
80
81
84
83
85
91
94
98
97
91
89
97
94
99
97
100
97
102
101
100
102
104
102
102
98
102
99
96
99
98
99
92
92
86
85
92
91
92
90
95
92
95
95
95
99
104
108
107
106
101
96
89
95
95
90
87
93
96
95
94
91
96
98
101
89
86
87
81
78
84
90
88
90
90
87
89
93
94
97
95
93
92
91
90
92
102
93
90
93
91
91
92
84
94
90
91
90
86
87
84
85
78
78
79
85
88
87
85
81
86
87
90
90
83
83
83
78
76
77
76
84
78
77
79
82
83
85
88
84
85
80
78
82
83
84
84
86
78
74
68
76
78
80
78
73
74
75
74
82
77
67
72
69
73
71
70
67
63
62
61
63
63
65
64
73
76
76
75
72
70
67
66
68
66
62
63
64
64
64
66
69
79
79
75
75
77
80
86
82
82
76
79
82
84
85
85
86
89
90
85
90
86
88
95
97
90
90
88
86
85
80
78
79
78
84
82
88
87
83
83
87
83
88
93
91
89
88
92
91
92
90
90
91
90
93
92
87
88
87
92
91
90
87
86
88
92
90
91
93
88
95
95
91
84
84
91
93
98
104
99
95
88
87
81
82
86
91
93
93
95
98
90
96
95
92
95
94
85
81
77
79
78
80
73
67
65
71
69
76
78
73
69
61
60
55
60
66
65
68
73
71
72
77
78
79
76
74
74
77
75
78
80
73
69
71
79
76
78
79
79
72
70
67
61
64
66
64
66
67
67
70
68
68
68
70
70
65
62
64
60
60
64
68
74
69
68
72
77
78
75
72
77
78
80
78
82
84
84
79
73
76
82
89
90
93
93
89
87
90
88
88
85
83
86
84
89
87
85
80
83
84
79
77
80
77
81
87
83
83
82
86
80
79
79
84
86
90
94
88
89
87
86
88
90
87
86
86
87
82
80
79
77
84
83
86
89
89
93
96
94
86
88
88
86
82
77
79
76
78
82
79
78
84
81
86
89
84
87
91
91
90
85
85
87
91
88
93
91
87
80
80
80
84
85
85
81
85
77
81
84
74
78
79
77
78
81
82
82
85
84
82
81
88
88
86
86
89
97
99
95
95
91
89
84
81
79
83
83
82
83
80
80
83
85
87
87
89
91
92
88
86
86
84
79
79
82
85
81
75
79
78
80
78
84
89
90
95
91
90
86
82
85
84
83
78
82
80
82
88
84
83
79
84
87
84
84
80
74
73
75
75
79
80
79
83
80
79
50
51
55
55
53
60
61
63
65
64
66
65
68
66
66
60
61
59
58
56
57
57
57
56
57
57
57
59
59
61
65
61
59
58
60
58
59
60
64
63
63
66
66
66
68
66
66
66
64
65
69
76
78
74
73
71
69
67
65
69
70
63
65
67
63
60
62
60
56
54
53
50
49
53
54
56
55
51
53
52
55
58
56
54
57
57
56
62
65
62
60
59
62
63
65
64
66
62
70
69
70
67
68
69
66
70
74
72
67
68
66
61
59
57
59
60
57
53
58
63
65
65
62
61
66
70
65
66
69
70
70
70
63
63
62
63
57
60
57
58
58
63
65
60
66
64
58
63
61
58
56
56
53
51
51
53
50
51
49
45
48
50
50
53
50
50
55
55
52
49
48
43
46
49
50
48
51
48
44
50
49
50
47
43
43
44
43
44
41
45
49
47
51
51
50
52
52
50
47
48
43
46
46
45
50
48
46
50
46
44
44
47
48
50
50
54
56
59
59
62
60
56
57
60
56
54
55
57
58
50
54
56
58
55
52
57
54
55
57
64
62
60
56
56
57
57
56
55
55
55
59
61
60
58
59
59
61
59
53
52
52
50
53
56
57
61
60
60
56
55
50
52
50
44
43
43
44
49
49
48
48
52
55
55
53
55
55
54
53
53
55
56
56
58
56
58
59
61
59
62
62
59
62
62
62
63
52
51
49
48
51
50
48
44
47
44
44
44
46
47
49
51
49
49
45
47
48
48
48
49
48
47
49
45
45
46
51
52
51
52
55
57
62
61
61
59
58
53
59
57
59
63
59
58
60
59
61
69
65
64
66
63
62
65
62
66
67
64
63
64
68
67
68
69
67
69
69
68
61
59
61
62
62
63
66
66
73
74
72
73
75
71
69
67
61
59
62
62
58
56
55
57
55
50
52
53
58
62
62
64
58
59
64
66
68
71
68
71
70
70
68
62
63
63
61
58
52
49
49
49
49
49
49
52
54
57
52
51
53
58
57
53
59
61
64
69
66
67
66
62
58
60
59
56
58
57
54
53
54
58
58
59
60
63
62
60
62
63
66
65
67
66
63
63
62
57
60
58
58
58
56
48
48
50
52
58
59
61
59
61
62
59
64
67
66
68
69
69
68
66
64
63
62
61
65
67
69
65
64
59
60
58
59
62
60
62
66
69
69
69
71
70
72
68
70
78
82
78
75
75
75
78
82
84
82
84
80
76
73
75
74
71
70
74
78
76
71
71
66
62
65
66
66
68
68
68
67
74
70
67
62
62
60
62
66
69
72
72
71
67
70
66
66
70
67
70
73
73
74
70
71
69
70
71
66
68
66
67
67
68
70
69
68
67
65
63
62
60
58
55
57
53
51
52
55
58
51
53
49
51
48
45
47
46
52
52
53
53
55
55
57
61
58
65
64
64
68
73
70
71
73
76
78
75
73
74
75
74
80
83
82
76
74
74
73
76
75
77
75
76
79
79
80
80
77
75
77
76
71
66
64
67
67
70
73
70
70
68
69
65
62
60
60
56
61
58
59
61
63
66
62
59
60
61
60
59
59
61
63
64
62
62
61
59
62
64
63
61
62
64
64
64
61
64
63
61
63
60
62
57
54
56
57
59
58
60
55
54
54
59
61
59
59
61
61
59
52
54
51
56
60
59
53
54
55
49
53
54
53
56
51
53
54
53
54
58
57
55
54
54
50
53
53
54
53
53
55
53
55
57
61
60
54
52
53
57
55
54
54
54
56
56
55
61
64
61
58
59
63
66
66
61
62
59
58
60
58
60
60
59
61
60
65
63
61
63
63
63
65
68
69
69
67
69
68
64
64
63
62
60
58
62
61
55
56
53
53
57
55
54
52
50
51
53
51
53
55
60
60
63
61
64
66
65
67
66
62
64
63
63
63
67
62
64
64
65
68
66
66
60
60
63
64
64
63
66
64
67
64
66
67
59
59
55
50
53
56
61
59
56
57
57
58
61
63
59
60
63
62
61
63
68
65
60
60
63
65
62
64
64
68
61
63
65
69
68
68
71
66
69
77
79
79
78
74
69
71
74
71
70
63
66
67
70
74
75
70
71
71
69
68
68
63
64
64
66
63
60
58
58
65
65
67
63
67
64
62
63
60
66
71
70
69
71
70
63
67
64
68
70
67
62
64
66
63
62
61
62
58
58
60
63
59
63
59
56
56
55
56
58
57
60
57
59
58
60
60
59
59
57
55
58
62
58
58
54
52
53
54
52
54
57
57
60
61
63
61
58
57
55
56
53
57
60
56
61
61
58
61
63
63
66
66
69
70
67
66
66
70
67
68
69
69
67
69
71
68
65
61
58
60
61
59
64
65
66
62
64
63
63
65
64
68
67
69
71
68
63
68
68
66
60
64
62
59
62
59
61
57
56
54
56
51
55
54
56
55
56
61
62
62
60
61
58
60
60
59
57
60
63
60
59
56
59
58
68
76
73
75
68
64
68
66
63
59
55
55
52
55
53
53
59
57
56
55
55
56
55
56
52
52
52
51
50
51
51
54
51
51
52
49
48
43
47
44
43
43
48
46
46
45
46
47
51
49
47
51
52
49
48
49
48
51
51
53
54
52
49
52
57
55
57
58
61
61
60
64
61
64
63
64
64
62
63
63
59
60
59
61
62
60
62
65
60
61
60
61
61
61
61
62
64
63
63
63
60
61
60
61
58
58
59
62
63
63
65
65
62
61
60
58
57
59
64
64
63
62
64
62
62
61
60
59
59
58
59
60
58
60
65
63
68
71
73
71
67
65
62
63
66
66
64
66
69
67
68
68
69
64
68
68
69
68
72
73
76
74
72
70
69
63
63
62
63
67
66
71
71
68
69
69
68
65
65
62
64
62
63
63
62
57
56
56
51
52
53
56
59
59
61
58
53
54
54
55
54
49
53
54
55
56
55
53
53
53
51
52
48
48
50
53
53
56
56
50
51
51
50
46
45
45
47
50
52
54
56
59
60
60
57
57
54
55
56
56
60
60
63
65
67
64
59
59
60
66
64
59
57
56
57
57
57
60
60
58
61
63
67
68
66
62
61
63
62
62
58
62
64
66
69
64
62
64
68
65
62
63
63
67
72
72
68
69
71
68
69
69
66
63
65
61
63
63
62
65
66
65
66
67
63
60
60
61
67
67
67
67
64
70
68
74
73
72
75
75
76
78
81
76
78
79
81
84
84
83
79
78
72
70
69
66
63
62
58
51
54
46
50
53
55
58
57
59
62
61
58
62
58
58
62
66
68
71
65
68
70
70
70
69
68
64
63
64
62
67
71
71
65
68
66
67
69
71
69
68
69
65
64
60
61
61
60
59
58
58
57
53
51
50
48
48
50
52
56
54
55
56
57
57
61
64
66
64
63
61
62
60
58
62
60
59
60
62
60
64
62
63
68
58
58
62
65
69
68
67
64
68
63
66
64
64
63
64
62
62
63
61
63
64
64
68
66
66
71
70
69
69
62
61
64
64
65
68
69
68
71
70
69
69
69
67
68
67
69
71
69
71
71
65
61
59
62
58
58
64
63
62
64
62
62
60
64
65
68
67
72
73
74
73
73
72
75
74
73
72
71
75
78
79
78
77
78
78
79
87
86
88
86
85
84
82
79
80
78
78
77
74
76
74
75
73
71
72
68
67
69
68
67
67
64
62
65
66
67
62
64
61
61
61
64
56
57
59
59
63
63
61
62
60
58
59
59
59
61
58
61
60
60
58
55
56
55
59
58
59
59
59
57
60
60
58
68
63
63
60
55
55
53
55
56
56
55
59
59
61
60
61
62
63
65
67
64
68
67
63
61
58
58
58
59
60
61
61
59
59
62
67
68
69
70
69
64
67
66
64
64
61
62
60
63
64
63
61
61
59
58
59
59
56
58
61
61
63
62
61
63
61
67
72
72
66
65
66
65
65
64
61
58
60
61
63
62
64
61
63
60
58
62
63
63
64
64
68
68
63
58
59
61
56
54
57
53
53
54
54
59
62
62
60
62
57
61
57
52
49
50
52
56
56
55
58
59
59
63
59
62
61
62
59
59
62
65
61
59
60
63
63
61
63
65
72
71
69
72
69
66
66
61
65
65
70
65
66
65
63
61
62
61
57
57
58
58
56
55
56
55
55
57
54
55
59
57
59
66
68
67
68
64
60
56
54
54
58
60
58
57
56
55
52
50
48
47
49
52
56
55
56
59
57
60
59
57
58
57
61
61
60
64
66
68
74
70
70
69
68
66
68
69
70
68
71
74
71
69
63
60
52
49
47
49
47
49
48
55
51
50
46
47
48
52
51
47
49
48
50
51
53
53
59
63
60
58
58
58
59
59
66
68
69
68
62
61
62
59
62
67
69
67
68
70
72
73
70
72
73
72
69
71
65
67
66
68
65
66
62
66
65
66
66
63
61
64
62
69
73
68
64
66
65
66
64
62
60
62
61
62
63
66
63
64
60
59
58
60
61
63
64
61
60
61
56
60
61
65
62
59
62
65
64
63
65
66
65
66
72
72
69
74
73
71
73
71
73
75
67
71
66
67
65
66
63
64
62
60
64
63
64
65
66
68
66
63
65
64
64
62
62
58
60
59
62
63
63
59
62
63
65
63
63
63
61
61
60
69
65
68
66
63
62
64
65
65
67
63
57
57
58
56
54
55
49
47
53
55
55
51
53
51
55
54
57
60
66
67
68
66
60
61
65
63
63
64
66
67
75
72
73
75
76
72
72
73
69
69
67
65
66
65
62
58
61
62
60
62
64
68
67
72
74
70
65
66
62
63
66
65
65
63
61
61
53
56
59
63
60
54
61
59
60
62
62
62
57
56
60
64
61
59
57
49
52
55
58
59
58
64
65
69
67
65
62
64
61
58
59
58
62
65
68
61
59
61
62
63
65
66
63
61
64
65
66
68
69
71
69
73
69
69
72
74
72
71
69
66
65
66
64
66
67
69
65
68
70
70
70
72
75
77
85
83
76
81
80
81
84
81
79
77
76
82
76
80
78
77
77
75
70
67
65
60
62
64
63
67
65
63
67
65
65
68
68
68
70
73
76
68
73
74
75
75
75
76
77
80
82
76
74
69
75
75
75
79
77
76
77
78
78
79
74
76
75
75
79
82
80
76
79
75
71
73
70
64
67
68
65
66
61
63
65
65
70
65
66
71
68
65
65
65
60
61
64
63
66
68
68
67
66
64
64
65
72
72
69
68
72
68
65
64
65
65
68
67
68
66
66
67
65
64
63
69
71
70
70
69
65
62
57
59
63
65
65
66
64
61
60
61
65
66
62
60
58
59
60
63
59
61
59
59
58
64
66
64
63
63
60
59
63
64
57
58
55
58
63
61
67
69
66
67
69
67
72
74
74
77
68
71
74
71
68
73
72
60
65
64
62
64
62
68
66
63
63
67
67
70
70
71
71
66
65
64
61
64
63
63
61
60
57
60
58
57
60
58
57
61
56
56
56
59
58
60
60
65
63
59
60
63
62
59
62
62
61
62
59
61
64
64
63
66
68
63
62
64
60
65
66
71
68
67
66
60
58
59
60
56
53
57
58
56
52
51
53
52
56
57
54
57
53
51
56
56
55
54
50
53
54
53
51
51
53
55
56
58
57
57
59
63
60
63
61
59
59
59
65
62
61
64
63
58
60
58
58
57
58
54
50
51
52
53
51
52
54
52
55
52
54
54
55
56
54
55
49
46
50
51
54
56
60
59
62
62
60
56
59
62
62
59
60
57
56
57
57
52
49
50
53
52
52
53
52
47
47
43
41
44
45
43
42
47
47
44
42
46
49
48
47
48
48
54
54
55
50
48
49
50
52
50
48
49
53
52
52
50
54
58
58
52
55
55
60
60
59
58
57
55
50
51
52
55
53
54
53
57
57
55
57
58
55
54
51
48
50
46
48
49
49
55
52
53
52
52
52
53
53
53
49
55
61
63
61
59
55
56
55
54
55
55
54
52
51
52
52
56
57
58
58
58
57
53
51
55
57
60
57
56
53
54
57
59
57
55
54
50
46
53
52
52
53
54
58
55
57
60
59
60
63
63
62
60
62
60
63
64
62
63
59
60
58
60
57
54
58
56
57
56
57
55
55
53
53
56
63
63
59
58
62
60
65
59
56
56
58
58
58
62
59
61
66
63
65
63
58
59
59
59
62
63
63
59
62
63
64
60
64
59
63
65
67
68
72
72
75
76
74
72
74
72
68
74
79
79
79
79
78
77
74
65
64
62
59
61
63
67
67
63
60
58
63
67
64
67
68
68
66
66
65
65
67
68
64
69
70
64
65
62
57
62
66
63
65
69
65
62
58
61
59
63
58
55
57
59
60
63
65
71
68
68
64
64
69
69
66
62
62
62
60
58
58
58
58
57
59
57
59
61
64
64
60
62
60
65
63
63
63
63
64
63
63
65
64
66
63
63
59
58
56
55
53
54
51
55
50
53
57
53
51
45
45
42
47
52
52
52
52
52
53
54
53
53
47
46
45
49
51
50
49
47
49
48
53
56
57
58
56
55
57
57
60
56
55
53
56
57
53
51
53
53
56
58
58
57
53
56
52
52
51
48
46
48
52
50
47
48
44
47
48
50
49
48
48
49
51
52
49
50
46
46
51
50
48
49
55
51
53
52
58
59
62
64
65
70
68
66
67
66
63
65
66
65
63
62
62
63
65
66
68
67
71
69
66
66
62
63
63
63
66
66
65
65
68
64
60
63
66
62
66
66
67
71
74
76
78
76
78
76
69
71
72
74
72
65
67
72
77
79
76
74
74
73
75
75
76
77
77
76
75
73
73
69
69
69
79
77
75
72
70
69
71
72
69
66
62
59
60
62
63
64
64
64
66
67
62
62
66
64
66
67
69
65
64
62
61
63
66
64
62
62
65
62
60
60
59
62
60
60
58
60
64
66
64
65
67
62
66
66
68
64
64
65
64
62
64
65
68
66
65
63
63
60
60
57
60
59
59
62
60
64
64
62
62
64
68
68
70
69
69
65
66
67
67
69
67
67
66
67
67
72
69
69
69
68
70
72
69
68
68
65
63
64
63
65
66
62
61
61
61
62
59
61
61
58
61
62
69
68
68
66
65
64
63
65
66
64
65
65
60
62
64
64
64
64
67
70
69
70
69
69
66
63
61
63
58
59
67
70
74
74
73
69
70
72
72
74
69
70
67
65
65
66
64
65
66
62
64
62
61
56
56
57
57
56
54
52
55
57
57
57
57
61
61
58
58
56
58
58
57
57
59
61
58
56
55
57
59
53
45
47
48
49
48
45
42
47
44
44
47
44
43
43
48
51
54
59
56
51
51
54
59
60
57
58
62
62
67
65
67
69
71
71
68
69
71
73
76
69
69
71
68
71
65
66
66
71
73
69
66
64
64
64
63
61
60
58
57
59
66
63
63
59
60
59
60
60
56
59
61
60
53
54
54
49
50
52
51
55
57
57
58
55
60
64
64
65
71
69
66
65
65
60
59
58
60
63
63
63
64
61
61
59
56
57
56
57
58
60
54
52
50
53
53
56
55
49
50
46
45
42
47
48
46
47
43
42
41
42
42
41
45
49
51
52
55
54
54
55
52
53
57
58
58
61
59
56
50
57
57
60
57
55
54
56
62
59
53
60
63
62
59
63
64
68
67
65
68
75
76
70
67
67
67
69
70
74
69
68
69
65
65
59
62
62
58
60
64
67
71
65
68
71
75
74
74
77
78
78
78
74
77
73
73
73
75
72
73
69
70
69
68
67
67
69
73
75
74
71
68
68
57
61
59
63
66
62
65
65
61
63
63
64
62
63
60
60
60
60
55
58
60
62
63
59
57
60
58
59
53
55
58
56
54
49
53
55
54
57
61
62
62
63
65
63
58
59
61
62
67
61
60
59
57
59
61
68
63
64
66
68
66
69
75
72
68
65
67
68
65
66
61
59
60
66
64
67
71
67
66
66
66
66
68
66
68
67
65
65
63
63
66
66
68
67
70
63
60
60
61
58
60
62
65
65
61
62
59
57
61
61
58
58
62
65
68
68
67
63
66
67
67
70
73
70
73
71
69
65
64
58
55
55
54
53
54
57
58
57
57
54
56
58
61
59
60
57
53
51
50
47
51
49
50
50
54
51
50
48
50
52
56
52
53
49
51
51
56
58
58
59
62
63
64
62
66
66
64
62
62
61
61
63
60
63
64
68
63
66
68
66
64
64
65
68
67
68
67
70
70
70
71
77
75
74
68
71
67
67
66
69
72
74
69
71
73
77
76
75
77
74
76
73
71
69
68
70
72
69
71
67
64
64
65
62
64
65
66
65
65
64
62
59
58
61
65
64
61
63
65
64
60
59
62
57
57
58
52
57
55
53
53
52
51
50
52
49
48
48
53
57
57
57
56
57
63
63
60
57
57
57
57
58
55
55
55
55
59
62
64
63
64
63
62
65
66
65
70
69
65
68
65
62
62
60
62
63
68
69
68
64
60
64
66
62
61
61
58
63
67
57
57
57
58
60
59
60
59
61
58
65
67
62
59
61
61
59
63
59
64
63
61
62
60
56
54
57
59
56
54
52
54
55
59
58
56
57
55
53
55
54
54
55
51
54
50
48
49
49
46
44
45
44
46
50
50
49
50
49
52
46
51
53
53
54
48
48
51
50
48
50
50
50
47
50
47
48
47
49
50
56
58
55
53
55
54
55
57
56
56
57
56
53
55
55
51
47
47
48
48
43
39
40
38
40
45
42
42
46
44
44
42
40
43
46
49
48
53
51
51
52
51
51
51
53
50
52
59
57
57
55
56
50
46
48
48
52
51
46
46
42
44
46
46
48
48
49
49
49
43
51
53
53
60
56
55
50
49
55
57
58
50
53
54
54
59
58
58
56
59
60
63
62
63
61
59
62
62
60
56
58
61
62
62
64
59
62
58
57
58
60
64
65
62
62
63
64
64
66
69
74
70
69
74
78
76
68
68
67
65
66
66
68
70
68
68
69
71
68
69
72
74
71
70
68
72
72
72
68
72
71
73
72
72
71
70
72
73
79
78
79
78
79
78
83
82
78
73
68
67
68
68
73
71
71
68
66
62
62
62
62
68
71
66
65
57
58
60
61
60
60
60
56
58
54
51
51
50
54
53
55
55
51
53
55
53
53
55
59
63
59
58
61
64
62
65
72
69
63
64
64
67
63
61
57
60
59
59
58
58
58
58
58
57
58
57
59
61
63
64
62
61
68
67
66
61
60
63
62
65
66
61
59
61
59
59
60
56
59
58
64
63
66
68
71
72
71
72
77
73
73
72
71
70
73
72
76
76
71
67
66
68
70
69
70
65
62
65
71
68
68
65
64
62
67
73
70
70
67
71
65
62
66
63
70
66
64
65
68
71
69
69
70
67
64
61
63
62
61
62
60
59
59
61
57
54
51
54
56
62
61
57
60
63
62
57
55
55
55
54
51
54
55
57
56
57
58
55
55
56
52
53
58
58
57
60
63
68
66
66
66
71
72
72
70
65
63
64
65
66
65
64
66
66
66
70
69
67
66
65
69
67
67
67
64
63
64
66
65
67
67
63
61
62
61
64
64
67
66
65
62
63
63
60
60
60
57
57
63
61
63
60
54
59
59
59
60
63
64
68
72
70
61
61
61
66
62
56
58
59
56
55
55
59
59
61
61
56
58
60
60
58
60
61
62
59
59
62
63
62
58
56
58
66
68
66
62
57
57
66
67
67
68
66
71
67
65
65
69
71
77
77
76
77
76
79
78
79
80
80
76
76
72
75
77
72
72
69
74
73
71
69
72
68
64
61
65
65
70
68
67
63
63
63
61
60
63
66
65
60
59
61
59
57
54
51
47
47
50
51
50
47
44
47
47
48
45
42
42
42
45
48
51
55
58
57
54
58
59
59
62
65
70
69
70
65
65
66
67
69
67
71
70
70
76
81
79
81
87
84
82
78
71
71
68
70
68
65
70
68
64
63
63
66
68
66
63
67
69
68
66
68
67
65
66
67
67
67
70
69
69
69
70
68
64
63
66
65
71
65
66
71
69
69
66
62
63
64
64
61
62
60
58
56
55
57
52
55
54
51
54
50
51
48
48
47
51
55
58
54
52
54
53
50
52
50
54
58
59
61
62
64
66
67
68
68
69
68
68
66
72
74
75
73
74
72
74
66
66
72
72
73
79
79
82
81
79
69
68
66
67
63
69
68
65
68
72
71
66
68
66
71
69
71
70
71
69
71
69
69
64
64
65
65
68
68
65
66
67
68
68
69
68
70
65
70
72
74
78
76
75
76
81
79
78
80
82
82
82
77
73
77
72
71
70
68
65
65
63
60
62
62
66
64
69
65
61
61
60
65
64
58
57
61
62
61
58
60
55
55
60
64
63
62
65
67
64
64
69
70
66
71
68
69
70
71
67
68
68
67
70
66
69
71
73
72
75
71
72
73
70
73
74
79
81
79
77
71
73
74
76
75
74
74
73
76
74
71
73
71
68
69
68
68
67
67
67
67
64
60
62
62
61
56
56
52
52
52
54
55
56
55
61
64
66
65
67
66
65
72
73
76
78
77
77
79
78
74
77
80
80
84
87
86
85
83
84
83
79
77
73
72
73
75
69
70
73
66
63
62
65
67
65
64
70
66
65
63
64
65
65
67
68
68
63
63
69
72
67
65
65
66
67
66
64
67
62
59
59
54
53
51
52
53
54
52
50
48
51
52
53
47
47
49
50
49
52
50
52
52
50
52
48
46
48
47
47
55
54
55
56
54
52
51
53
53
56
56
55
55
56
57
57
58
60
58
60
61
60
61
61
60
57
52
57
51
56
55
60
61
62
61
62
63
63
62
61
60
62
64
65
68
66
68
67
63
62
61
59
60
61
64
63
60
61
60
61
60
59
60
60
64
65
69
72
68
69
71
72
71
70
70
68
64
59
56
58
58
59
57
64
60
60
59
58
60
62
63
62
59
56
56
51
57
54
55
55
56
56
51
54
53
53
53
58
58
64
65
66
64
61
64
67
69
67
70
69
72
72
69
67
68
64
62
60
61
65
69
74
79
75
79
77
74
74
76
74
72
73
70
74
69
63
67
67
64
63
65
70
69
71
68
72
73
75
78
74
76
77
74
71
73
77
79
80
79
81
80
80
81
79
78
82
85
85
84
84
81
80
78
72
75
75
76
76
75
71
70
70
73
73
73
70
72
73
69
71
73
75
70
67
66
68
65
64
65
60
64
66
66
66
63
63
57
55
54
57
59
59
62
60
62
62
60
62
61
63
65
68
66
64
64
58
63
65
65
66
62
68
65
61
66
67
64
62
63
64
67
63
59
60
59
59
54
51
55
52
51
50
50
51
51
51
51
52
51
53
54
54
51
52
53
54
56
53
53
55
54
51
50
49
53
53
55
55
54
54
54
52
54
56
56
54
54
54
55
57
58
63
68
62
63
64
65
71
72
72
70
71
73
72
71
71
73
77
78
79
74
75
69
71
75
78
79
78
76
76
76
75
76
75
76
75
75
73
71
71
74
75
72
69
72
76
73
76
76
74
75
75
82
77
75
75
71
70
71
73
75
80
76
78
80
80
78
77
79
75
72
73
74
78
73
71
67
68
69
64
62
59
59
62
62
57
53
56
53
51
52
55
55
58
59
60
57
57
62
61
62
66
67
69
67
69
72
72
74
73
73
73
70
70
70
71
71
73
74
77
78
78
77
76
74
74
73
78
76
77
78
76
75
73
74
75
71
73
77
80
76
77
76
75
68
71
68
67
72
75
71
66
65
62
65
63
63
61
62
61
59
59
59
51
49
49
48
51
52
52
54
52
57
59
61
61
60
60
61
63
62
70
67
64
61
60
56
57
54
54
52
50
51
47
44
47
55
56
48
48
45
48
45
43
49
48
49
48
48
47
49
50
50
50
51
54
58
57
56
51
52
55
55
51
52
49
51
51
53
56
56
61
59
57
61
64
68
66
68
67
65
61
65
64
64
63
58
59
59
53
57
57
58
57
57
56
55
50
52
50
52
55
54
56
55
56
56
57
58
58
57
59
62
58
61
65
68
67
68
62
65
66
69
71
75
73
70
71
68
71
71
71
67
67
66
62
66
66
64
64
69
69
74
75
72
75
76
81
84
85
87
84
85
88
88
85
84
83
82
83
83
82
81
72
73
71
67
68
70
70
75
75
72
66
72
65
66
67
64
61
59
59
58
58
58
61
57
57
58
57
64
63
63
65
73
77
76
72
74
71
69
70
68
66
65
65
62
58
59
59
62
61
66
67
69
67
63
65
68
68
70
68
67
68
65
63
63
67
65
73
71
71
69
68
66
66
70
71
66
62
61
63
59
63
60
57
59
57
60
56
53
52
51
55
59
57
58
59
60
56
51
51
56
55
60
64
63
64
69
68
70
70
72
70
72
73
69
73
76
78
77
80
75
76
76
73
73
72
70
67
67
72
66
66
65
73
71
70
71
68
73
72
68
72
72
72
67
72
74
74
78
80
74
74
76
78
79
76
75
74
73
71
70
71
64
65
66
68
70
66
67
74
71
72
72
72
67
72
69
68
72
68
69
71
71
72
79
79
79
75
71
71
69
70
68
72
72
77
72
73
73
73
75
73
72
63
64
63
64
70
68
71
73
80
71
72
71
75
70
72
77
80
75
74
76
75
75
77
77
78
75
76
77
76
73
69
66
69
63
67
69
70
72
79
75
74
75
71
67
68
69
70
72
74
68
73
71
68
72
70
68
69
66
70
72
71
74
74
73
74
73
74
71
73
74
77
77
76
77
74
78
72
67
67
66
74
75
73
75
74
69
67
71
65
62
57
60
57
60
63
64
63
60
61
60
68
71
70
71
70
71
73
76
77
78
71
74
69
68
75
79
81
80
80
80
81
79
75
78
73
71
72
73
74
73
73
73
72
70
64
67
68
66
62
63
67
66
68
63
60
57
57
60
59
58
57
55
55
53
56
58
62
64
60
61
61
59
61
63
58
63
63
61
62
57
61
62
68
68
66
63
62
63
63
64
61
58
55
57
56
57
61
65
66
66
62
58
58
57
62
59
62
64
67
66
68
66
62
68
65
61
64
60
62
63
66
71
70
65
62
63
65
64
70
69
72
70
71
74
74
74
77
77
73
74
73
76
78
83
79
81
80
82
78
74
76
73
76
74
76
77
71
71
68
68
69
66
68
70
68
63
66
64
66
63
61
59
59
63
64
66
62
61
61
66
71
75
69
63
61
61
62
61
61
60
58
62
63
62
64
60
61
58
61
59
63
60
60
60
67
63
70
73
72
69
67
71
70
73
73
70
69
73
77
74
76
74
77
78
80
75
72
71
71
75
74
76
72
69
70
69
72
71
74
72
74
71
70
69
76
75
77
71
67
70
68
66
67
63
65
61
63
62
64
65
68
67
66
64
62
66
72
73
73
72
69
68
66
69
70
71
71
72
70
68
71
71
70
73
74
75
73
68
67
66
65
64
64
69
75
76
74
74
74
83
82
82
77
72
72
73
72
74
76
77
77
77
79
77
73
76
80
74
74
70
72
69
72
72
72
75
71
68
65
68
68
71
66
63
68
63
64
64
62
60
64
62
55
54
53
52
48
50
51
49
44
48
48
56
58
63
64
62
62
61
63
66
60
59
62
64
63
61
66
71
76
72
70
71
71
77
74
70
66
64
65
68
66
71
74
74
71
71
71
75
71
71
70
70
71
72
72
76
73
71
70
76
79
81
82
86
88
83
84
82
82
83
83
81
77
75
74
73
72
74
72
71
75
79
74
75
73
74
76
69
68
62
62
64
67
67
59
57
57
57
58
56
62
64
67
62
63
66
68
67
66
64
65
70
72
74
75
69
67
69
65
64
66
69
66
68
70
74
69
73
75
74
72
70
73
73
78
75
72
70
71
70
69
64
68
67
68
67
64
62
67
68
67
65
65
65
64
58
57
58
61
62
58
64
62
64
66
66
66
60
57
60
63
61
62
60
59
58
58
59
62
60
62
64
64
59
59
58
58
56
54
55
52
54
56
57
61
58
59
67
67
70
68
67
68
70
73
76
75
73
73
72
74
73
74
73
72
68
76
80
79
77
78
76
74
78
84
76
73
72
73
73
76
74
74
80
76
77
77
73
77
78
77
76
71
72
72
74
73
71
72
77
79
76
76
78
79
74
72
74
75
74
76
79
78
81
80
77
75
74
78
75
73
69
70
73
72
68
68
70
71
74
77
76
73
73
76
72
70
72
73
78
73
78
82
82
78
82
84
81
74
80
81
78
73
74
69
71
72
70
69
67
67
64
65
67
68
66
63
66
68
64
64
68
67
67
66
68
72
76
78
75
73
74
74
77
75
73
74
75
72
71
68
64
63
66
71
72
72
73
70
67
66
76
77
75
72
70
68
69
71
76
78
77
80
78
76
75
71
69
68
68
68
68
67
65
71
74
71
72
71
72
72
74
65
63
65
66
66
68
69
70
65
66
65
65
62
63
60
66
68
70
71
67
68
64
61
64
62
67
69
73
73
75
77
77
76
75
74
70
72
68
64
65
67
69
66
69
70
63
62
64
60
60
56
59
62
64
64
63
59
59
59
57
56
58
57
58
57
58
55
54
58
59
60
62
68
63
64
67
69
70
73
77
78
83
79
81
78
80
80
78
81
82
84
84
80
84
86
83
80
76
76
80
78
79
80
83
75
71
72
70
66
70
78
75
74
77
79
80
79
81
83
82
78
76
74
76
70
67
69
71
72
76
73
70
69
71
73
69
74
67
62
58
56
59
56
59
62
60
60
58
59
60
59
66
65
67
67
69
68
65
62
63
62
63
61
61
62
64
60
60
61
59
64
66
67
71
71
70
67
71
72
68
66
65
65
65
69
68
74
75
76
76
76
76
80
79
78
78
79
78
79
79
72
70
68
69
70
70
69
72
69
67
62
57
60
65
65
68
68
69
67
66
63
62
64
60
56
52
52
52
52
55
58
61
58
61
57
60
60
62
64
63
61
63
67
62
65
62
61
61
58
61
60
58
59
60
61
61
60
58
61
62
61
63
64
65
67
64
60
59
60
61
57
56
57
60
60
61
62
61
58
61
57
56
56
58
58
57
56
54
54
55
55
54
49
51
47
47
46
44
45
36
35
37
37
35
35
32
38
37
40
38
45
43
46
46
49
46
45
49
49
48
50
54
55
55
52
55
53
54
54
56
55
55
49
54
53
54
58
60
59
54
57
56
60
58
61
58
56
59
59
62
58
55
59
61
63
64
63
62
59
59
62
60
60
61
60
59
59
62
61
63
58
57
61
56
59
57
58
60
61
64
63
63
63
66
65
61
61
60
59
58
59
59
59
59
60
59
55
56
57
52
55
52
54
58
57
60
58
57
57
60
65
68
63
65
67
67
69
68
67
62
66
68
65
66
64
62
62
63
66
61
61
65
69
64
62
64
65
65
60
63
63
60
60
62
64
66
64
67
64
65
66
61
62
67
67
67
67
65
70
69
71
66
63
64
65
63
63
62
66
62
60
59
59
60
64
63
62
62
61
62
59
57
61
62
57
56
58
60
61
57
62
61
64
62
58
57
59
59
63
67
63
64
65
67
71
67
68
67
68
64
65
64
66
67
68
69
65
61
63
64
59
56
57
57
59
58
59
61
58
57
53
50
48
57
52
55
55
50
53
54
53
50
49
49
48
46
49
49
50
52
51
49
49
51
51
56
60
55
59
58
56
57
60
62
62
66
71
76
76
74
76
76
76
80
83
80
77
80
77
78
76
74
76
70
71
73
71
70
68
69
68
70
67
65
61
62
57
55
55
49
50
48
46
46
46
47
47
47
45
50
50
51
48
45
49
49
48
45
42
42
45
48
48
50
51
58
61
58
58
54
55
61
55
55
52
54
53
52
52
51
51
51
49
46
47
51
47
49
46
42
42
36
39
41
42
42
43
43
42
40
43
39
42
45
49
49
50
52
58
61
60
62
65
65
65
69
70
71
77
78
80
76
75
74
73
73
78
76
79
79
74
69
69
66
67
69
70
69
66
62
61
64
66
68
66
64
63
66
64
64
62
61
61
64
66
66
64
64
74
79
79
73
71
72
76
81
80
77
76
81
81
75
74
77
77
74
78
76
75
73
80
80
79
81
77
69
64
62
61
57
60
59
56
59
59
62
64
67
66
69
69
65
68
67
66
66
63
63
59
56
56
63
66
59
56
54
58
55
54
57
59
63
59
59
56
54
53
56
60
59
60
61
65
66
63
68
67
67
66
64
63
63
66
66
66
66
67
69
76
71
76
76
76
78
75
76
79
81
78
77
79
79
75
75
72
78
75
73
65
67
70
68
69
69
66
64
61
64
70
67
71
70
63
64
65
67
65
66
67
71
69
70
68
64
67
65
63
63
62
59
59
61
63
60
59
58
58
58
56
56
57
57
55
59
63
62
61
59
60
59
58
56
61
56
59
57
56
55
58
60
63
61
61
60
60
62
58
58
58
60
60
59
61
62
62
60
59
59
64
63
62
62
65
68
64
63
63
66
64
62
55
54
53
55
54
52
51
55
58
56
54
52
51
51
50
52
52
55
60
63
61
66
64
64
58
60
54
56
60
63
65
66
59
59
59
58
62
60
60
65
63
60
58
59
59
59
58
57
56
57
58
57
55
54
54
59
60
66
67
67
63
62
62
62
62
64
63
65
66
63
62
62
65
66
69
67
63
64
65
63
67
67
63
63
65
65
63
60
60
60
57
55
55
53
54
62
59
56
56
54
52
49
49
56
57
58
59
61
59
59
62
63
64
65
64
66
64
65
63
63
67
67
69
67
66
61
64
67
72
71
71
70
70
66
66
72
73
74
71
68
70
69
69
66
67
70
72
72
70
73
74
68
64
61
60
62
58
62
61
63
69
71
71
67
64
67
65
64
59
60
59
59
56
53
53
55
53
50
49
51
50
52
51
51
59
58
64
67
68
63
62
58
60
60
63
62
62
66
68
65
57
56
50
53
54
50
49
52
52
52
51
51
49
45
46
48
48
51
54
57
55
57
58
60
60
59
58
61
61
65
66
66
71
66
67
64
63
60
62
62
65
64
59
65
61
63
64
63
66
65
67
70
66
65
65
62
64
63
70
70
67
61
62
62
60
58
62
63
68
70
63
64
64
61
63
59
61
65
61
61
62
59
60
56
54
54
53
54
50
53
53
58
58
55
59
58
58
54
54
55
55
53
55
59
61
60
61
60
65
63
67
64
63
64
69
72
75
67
69
69
69
70
74
77
73
75
81
76
80
79
82
86
88
90
90
86
86
80
76
81
78
75
76
77
76
72
66
66
67
69
70
67
66
63
66
65
66
67
60
60
56
58
60
59
60
64
60
61
61
60
60
59
61
61
61
65
66
69
67
66
66
63
61
59
57
62
62
65
66
63
60
65
63
67
71
70
68
68
70
76
76
75
79
75
73
73
78
72
67
67
67
69
71
68
69
66
67
78
73
72
71
75
70
69
74
74
75
73
70
67
71
69
69
67
71
72
72
69
66
71
67
70
66
60
56
59
60
57
56
58
56
57
54
57
56
51
50
51
53
57
60
61
60
63
65
63
67
61
63
61
66
70
68
63
66
72
70
69
63
61
65
59
61
59
57
54
54
58
59
59
59
58
56
56
52
56
57
57
58
56
56
56
56
54
52
50
46
44
45
47
48
50
53
57
57
55
50
48
48
46
44
44
45
45
47
48
48
49
51
52
54
54
50
46
54
59
59
58
57
55
53
55
55
57
60
58
58
62
64
65
64
66
61
60
61
63
65
71
68
66
67
66
65
68
70
67
64
66
70
69
68
66
67
66
67
67
69
66
67
70
65
70
68
61
61
59
62
60
61
64
64
66
61
59
62
63
67
67
63
64
65
65
64
64
74
74
75
72
69
66
66
68
66
65
66
68
69
66
68
69
68
66
66
65
65
65
63
69
72
70
68
67
67
65
69
71
72
73
73
70
66
65
63
65
64
66
65
68
68
70
73
77
79
80
77
78
83
83
80
81
79
79
76
71
69
66
65
62
60
61
58
58
58
56
60
64
65
69
72
68
66
64
62
57
63
64
65
64
64
65
57
59
64
62
61
64
63
64
62
63
59
61
60
61
61
58
57
57
58
51
53
55
54
55
55
59
60
61
59
59
55
58
53
51
48
45
47
46
46
50
50
50
48
51
50
51
49
50
51
50
51
48
49
50
57
54
51
50
53
56
55
55
51
47
46
48
52
50
51
48
50
56
57
56
55
56
56
57
62
63
58
55
48
51
52
52
55
51
50
46
48
44
43
43
46
49
50
50
48
47
52
58
55
63
63
67
64
67
66
65
63
62
67
67
65
64
59
65
61
57
57
64
60
63
67
59
61
58
60
62
65
63
65
65
61
61
64
66
63
65
63
67
64
65
65
67
64
58
58
52
52
53
55
56
56
59
61
63
64
64
66
62
60
57
53
55
56
60
58
56
50
55
58
54
57
56
54
54
55
55
53
50
52
54
53
50
53
56
60
53
55
54
51
52
55
54
58
56
58
62
64
67
63
65
71
70
69
71
74
75
71
72
68
65
72
73
71
72
81
77
77
80
77
75
77
75
73
74
77
77
76
75
75
74
75
76
74
75
74
80
77
76
71
72
73
78
78
72
68
63
65
72
67
67
62
65
62
65
66
66
66
67
69
69
72
72
69
71
70
67
70
68
67
68
71
72
73
71
72
70
74
70
69
68
70
73
71
74
78
79
77
74
73
72
73
74
69
71
75
76
74
74
74
75
70
74
75
72
72
76
74
74
76
74
82
80
82
77
74
72
71
70
72
73
72
76
82
75
74
76
74
77
48
46
46
41
46
42
45
42
46
43
43
45
44
46
46
46
45
45
41
40
42
43
43
45
42
42
42
44
44
45
48
49
49
46
45
41
43
40
40
42
45
43
44
41
42
43
40
41
41
40
40
42
43
44
44
43
42
43
44
47
46
49
46
47
47
48
46
45
45
46
46
44
45
41
37
37
35
37
40
42
42
41
43
43
43
43
41
41
44
45
44
47
45
46
44
44
44
51
48
48
49
46
41
39
42
44
46
43
43
44
44
43
41
41
42
42
43
38
37
37
38
38
36
34
36
36
36
35
36
34
33
36
36
39
41
41
38
40
38
38
38
40
41
40
38
38
37
41
41
39
38
38
36
36
38
38
36
43
43
44
45
45
45
45
46
48
48
48
50
48
46
43
46
46
43
44
46
42
40
40
39
38
40
43
43
41
39
38
35
35
37
38
39
40
38
38
38
37
38
39
39
40
43
44
44
47
46
47
46
47
47
45
43
43
46
49
49
49
46
45
47
47
46
43
37
36
35
36
36
38
38
38
37
37
37
38
39
38
40
41
42
37
38
37
37
36
38
38
39
38
43
43
40
38
35
33
32
28
29
28
29
29
31
36
33
34
33
35
32
31
31
32
33
33
30
33
34
35
33
34
32
31
28
29
31
33
33
31
33
33
30
33
34
34
33
33
33
29
30
30
34
33
36
36
36
37
37
35
35
34
36
37
37
36
33
32
30
30
30
32
33
34
33
31
28
30
35
36
35
37
40
39
37
36
37
36
33
36
38
40
40
41
45
45
43
41
39
37
36
38
38
36
37
35
37
39
38
34
36
40
37
34
38
37
37
37
34
35
37
39
43
44
41
44
47
44
45
45
47
44
43
46
44
43
42
44
43
46
46
48
48
46
44
44
43
42
43
42
42
44
42
43
46
48
48
49
49
49
48
50
49
49
45
43
42
40
39
38
38
35
35
33
35
36
36
35
32
33
33
35
36
38
35
34
35
34
35
32
31
31
30
31
33
34
34
35
36
35
33
34
35
37
38
33
29
32
34
36
37
38
38
38
37
36
33
34
34
34
35
36
33
34
36
37
36
35
33
34
35
37
36
36
34
36
39
39
40
42
43
44
44
46
42
41
40
40
39
37
38
38
41
45
48
46
44
43
40
39
42
40
40
37
37
37
37
37
36
36
37
36
38
37
36
35
36
39
42
43
42
42
44
45
47
47
42
44
42
42
43
42
43
41
39
37
34
35
37
38
38
39
39
42
42
42
43
43
43
42
43
42
44
47
49
49
50
50
49
50
51
50
49
50
49
49
54
54
56
55
56
54
55
54
55
56
54
55
51
49
50
46
47
48
48
47
50
48
44
43
43
42
42
40
40
43
43
44
43
45
42
40
39
41
45
43
44
48
50
46
45
45
46
49
51
50
50
49
49
50
48
52
48
49
50
50
46
47
47
49
47
48
45
42
43
45
45
46
45
44
41
36
39
40
36
37
37
39
40
40
39
38
40
41
43
43
42
43
44
46
46
47
49
48
45
44
41
42
38
39
39
37
35
34
36
36
37
35
36
38
40
39
39
40
39
41
41
41
42
43
43
46
45
45
48
45
41
39
39
38
40
40
38
38
38
39
40
39
39
40
40
40
37
37
36
37
35
34
34
33
29
28
30
32
34
33
33
32
32
32
32
30
31
33
35
36
36
35
37
36
34
33
34
33
33
33
34
34
33
35
38
36
35
41
40
43
43
42
42
44
43
43
44
44
45
42
42
43
42
40
38
37
36
34
35
33
32
33
31
30
33
29
31
31
32
34
33
32
33
34
33
33
30
35
29
31
31
33
33
32
31
32
31
30
29
32
32
30
29
27
28
30
26
28
27
28
29
27
26
28
31
32
32
32
34
36
36
36
35
38
38
37
36
37
36
37
36
39
41
40
39
38
37
37
37
35
35
38
40
39
38
36
36
34
34
36
36
36
34
34
37
33
34
39
38
41
38
39
41
45
44
42
39
40
38
36
37
40
41
43
42
41
42
44
41
39
38
37
40
42
42
41
43
39
41
39
42
42
41
40
40
42
42
43
47
47
44
42
43
43
41
41
40
40
41
39
39
38
41
39
39
38
37
33
34
37
37
38
36
33
36
37
38
35
34
37
38
40
37
38
39
39
39
37
37
38
35
35
37
42
42
41
40
37
37
35
41
41
42
40
37
36
37
38
37
37
35
34
34
33
33
39
42
43
41
39
39
44
43
41
43
45
49
48
47
48
46
45
45
46
47
49
46
45
44
45
42
43
45
45
45
45
43
40
43
43
41
42
43
45
42
40
41
40
42
41
44
43
39
42
42
40
40
40
39
36
36
35
40
40
39
39
38
33
34
38
39
40
39
39
38
36
35
36
33
33
37
35
36
37
41
43
40
39
43
42
41
44
41
41
44
41
39
39
41
42
42
42
42
44
45
44
45
44
45
45
49
47
50
51
47
46
47
47
46
47
47
45
45
45
46
46
47
47
49
47
47
46
41
44
42
41
42
40
38
37
35
36
36
38
38
38
40
38
38
37
39
37
36
34
34
36
37
37
37
35
36
36
39
37
36
37
40
41
41
42
43
43
44
45
44
45
45
45
48
49
52
54
53
55
50
49
46
47
50
50
50
45
44
48
49
49
48
48
50
52
47
46
44
40
43
44
44
41
39
40
40
41
39
38
42
40
39
41
37
36
36
35
38
37
40
42
43
41
40
42
42
42
43
39
43
43
42
45
44
41
40
40
39
39
40
39
43
44
44
45
42
46
43
44
46
45
48
49
48
48
45
43
44
47
54
50
46
46
47
45
45
41
42
38
39
40
42
39
38
37
43
39
41
40
39
38
39
38
38
36
40
40
42
46
41
42
41
39
41
42
40
40
40
38
36
36
37
33
37
36
37
37
39
41
42
42
36
35
36
35
36
41
39
38
40
40
41
39
45
46
47
47
48
48
49
53
53
57
56
57
58
54
56
55
50
47
46
44
45
43
43
43
44
44
41
40
40
42
43
43
39
39
35
35
37
38
40
37
40
37
41
41
42
41
43
41
39
41
40
40
44
46
46
47
50
52
52
54
53
55
54
56
57
58
57
55
55
53
53
52
55
53
49
52
51
50
52
49
49
48
48
47
47
45
46
50
49
48
43
41
40
43
43
39
41
39
37
36
36
37
37
34
33
32
30
34
32
32
34
36
37
39
40
40
42
42
43
46
47
48
46
43
45
44
42
44
43
41
42
43
46
46
50
48
44
42
43
43
45
45
44
44
42
45
45
45
47
46
49
49
51
51
50
54
50
46
49
51
49
48
47
49
48
49
46
44
44
45
44
44
42
43
43
46
46
47
47
45
43
44
47
48
47
46
42
44
44
40
39
39
41
38
38
41
40
42
42
43
42
42
43
41
42
39
41
38
38
35
37
37
39
37
40
39
40
42
43
46
47
47
50
51
51
48
47
44
41
42
43
42
42
45
45
44
44
44
46
48
50
48
51
53
50
49
45
47
47
44
45
43
42
42
43
40
41
39
41
43
42
43
42
38
36
39
38
36
38
37
36
38
39
34
36
39
41
41
40
38
38
36
36
34
34
35
38
35
33
32
35
34
34
38
35
32
27
28
31
32
32
32
33
33
35
36
35
38
39
39
42
43
44
46
41
43
43
37
39
39
37
34
34
37
37
36
37
40
41
38
38
42
42
41
42
42
41
42
44
42
42
43
42
41
40
40
40
42
41
40
35
34
33
31
33
38
40
40
38
36
38
36
35
39
38
35
36
39
38
36
37
37
36
35
35
39
39
39
39
41
43
45
43
45
44
44
42
43
45
47
46
48
49
47
46
43
43
44
46
46
44
39
40
40
41
44
45
45
44
45
47
48
48
46
44
46
46
45
43
45
44
39
41
41
45
48
52
53
52
50
43
45
42
42
43
42
39
35
36
41
41
40
38
41
41
42
45
45
46
44
43
45
44
43
43
44
41
41
40
42
40
39
39
41
40
38
40
43
43
42
41
42
42
39
36
39
37
36
37
34
33
34
34
37
34
36
40
40
40
39
42
39
37
35
35
34
34
35
40
37
37
35
36
35
37
38
40
40
40
40
40
40
41
43
43
42
44
42
44
43
43
39
45
38
36
37
37
39
42
40
38
39
39
36
35
37
36
37
37
36
33
33
35
33
39
37
37
40
38
36
35
34
30
34
32
32
32
33
33
33
33
32
35
37
35
37
35
38
38
40
40
38
39
41
41
40
40
39
41
40
40
40
41
41
37
33
33
34
34
34
33
36
34
34
33
32
34
35
34
37
34
34
34
32
31
32
32
32
32
31
27
25
27
27
28
29
27
28
27
26
28
27
29
31
33
33
33
37
40
44
41
40
40
39
36
37
38
38
37
40
39
36
35
36
35
41
42
42
41
41
41
41
41
42
42
43
44
41
38
38
37
40
37
37
41
42
42
41
41
42
41
38
39
36
36
36
34
37
38
35
35
33
32
33
30
31
34
33
35
33
36
35
36
36
37
37
40
40
40
39
38
42
38
38
38
43
42
41
43
44
46
44
44
44
43
44
53
50
48
48
47
48
51
49
47
44
45
45
46
47
48
47
47
44
46
43
41
39
39
39
39
36
36
35
36
38
37
37
30
30
32
31
31
32
31
35
36
35
34
31
31
34
34
37
36
36
37
37
36
38
35
35
36
36
38
34
35
33
33
35
35
38
36
38
40
41
40
42
43
41
42
39
40
39
41
44
44
47
45
44
44
42
41
41
43
43
43
43
40
36
39
37
38
39
36
36
35
35
37
36
35
35
35
35
34
33
29
30
32
33
33
35
35
34
37
34
31
29
28
30
32
31
32
29
31
29
28
29
29
32
33
34
34
33
37
38
40
41
40
40
37
37
40
38
37
38
38
37
37
37
38
38
41
40
38
40
38
34
37
35
33
34
35
32
34
35
36
36
35
33
31
31
30
29
30
32
32
33
35
35
34
36
35
37
36
34
35
35
36
37
37
40
42
42
43
42
42
43
45
43
42
42
42
41
42
42
44
45
44
44
44
44
44
44
45
46
49
49
47
46
47
48
45
45
41
40
39
36
34
32
32
31
26
26
29
29
26
27
30
29
26
25
26
26
24
23
25
25
28
28
29
28
29
29
28
28
33
33
36
39
40
43
44
47
48
51
44
48
47
45
45
49
47
45
48
48
49
47
44
43
44
41
46
46
49
47
48
48
49
47
45
45
47
42
40
42
42
41
42
44
42
41
42
41
41
41
42
43
42
42
42
42
42
44
44
47
46
44
44
39
41
41
43
45
47
51
49
50
48
45
42
43
42
39
39
39
40
40
38
38
39
37
39
42
44
46
48
47
49
48
47
46
42
41
40
43
44
42
40
41
41
41
40
39
38
39
40
40
40
40
39
39
42
43
43
42
40
41
43
43
43
41
39
38
38
38
37
32
32
30
30
29
30
32
32
31
36
37
36
40
38
39
41
39
42
44
48
49
48
47
46
46
45
43
45
43
44
46
49
52
56
56
50
50
48
50
54
52
53
50
50
48
49
54
51
49
50
49
47
47
45
46
46
45
41
40
43
43
41
40
41
39
36
36
36
35
34
34
33
31
30
31
33
32
30
27
29
30
29
30
29
30
30
31
33
35
33
32
32
31
35
35
37
41
42
40
41
43
46
45
45
45
44
44
40
39
37
37
38
42
44
44
45
44
42
42
47
44
42
45
44
47
45
45
46
46
43
45
43
45
47
45
44
46
44
47
50
54
52
52
54
54
54
54
54
53
47
45
49
52
50
48
47
47
44
40
41
41
39
39
38
36
35
30
30
31
32
31
28
28
26
27
27
25
23
23
25
24
24
22
24
28
29
29
35
33
33
33
32
34
34
32
29
30
29
28
28
27
26
27
27
28
30
29
29
26
25
24
24
26
26
28
30
28
28
28
29
31
34
35
34
35
35
32
31
33
33
35
36
36
39
36
35
38
38
38
38
38
37
36
39
38
35
36
36
37
40
42
43
37
36
34
34
37
36
36
37
40
38
39
37
35
34
33
36
36
37
41
42
42
42
42
44
41
43
44
44
44
45
45
45
43
45
47
45
47
45
48
45
45
45
43
42
42
41
39
39
38
38
37
38
39
39
39
34
36
40
40
42
40
40
41
42
40
40
38
38
40
42
43
45
42
41
41
43
46
46
43
42
47
47
46
42
46
42
40
41
42
44
47
46
48
48
50
48
48
48
50
53
52
52
49
52
48
45
44
44
47
45
44
44
43
44
46
47
45
46
44
43
44
41
45
47
49
49
47
50
48
50
50
49
51
46
47
48
50
50
51
53
48
47
50
47
45
45
46
46
46
48
50
45
45
42
40
41
43
44
47
46
47
42
41
40
39
40
40
37
36
37
34
34
36
36
36
39
40
40
38
39
37
37
36
34
34
34
35
35
34
33
31
30
30
30
32
32
33
38
36
37
35
36
33
34
34
35
33
31
33
33
36
38
36
32
31
32
31
31
29
29
28
26
27
28
32
32
33
35
36
36
37
37
37
37
36
38
37
37
38
40
38
35
37
37
37
37
37
37
38
35
34
35
35
41
41
42
41
39
38
39
38
37
38
38
37
36
37
38
40
41
37
35
35
36
35
36
36
38
39
40
42
41
36
37
37
39
32
35
35
37
36
41
42
46
46
43
43
43
43
45
46
45
44
42
43
46
45
43
39
41
40
40
41
44
45
47
47
48
46
48
49
49
49
50
47
45
47
48
45
43
43
42
38
41
41
42
40
40
41
41
43
43
43
41
39
41
42
40
42
42
43
44
42
42
43
45
45
43
42
41
37
36
32
31
31
34
35
34
37
37
37
38
37
37
39
39
36
40
38
36
39
39
39
43
40
39
35
34
32
28
31
31
30
29
30
29
30
27
29
32
32
31
31
31
33
32
33
31
34
34
32
32
31
33
30
32
33
32
33
33
31
33
33
33
34
33
33
33
31
35
35
35
35
37
38
38
38
40
38
37
37
41
41
41
41
41
37
35
37
35
38
38
40
40
37
36
36
37
39
39
41
39
42
42
45
51
51
47
51
48
49
49
50
50
47
46
44
44
43
41
39
37
37
37
40
41
41
42
41
39
36
34
35
38
38
43
45
48
49
47
48
45
43
43
44
47
44
45
47
48
49
47
48
47
46
50
48
49
48
49
52
51
50
49
47
45
53
50
45
45
44
46
47
49
49
49
49
50
52
52
53
52
53
48
49
49
48
50
48
49
49
47
49
48
45
44
44
48
49
48
44
42
41
41
41
42
42
43
43
40
41
42
40
41
41
41
42
40
39
41
45
44
44
41
39
37
38
37
37
35
37
38
39
38
39
41
43
43
41
41
41
41
41
42
44
45
44
42
45
44
42
43
45
43
39
39
41
43
44
46
44
43
42
44
47
43
42
41
38
39
40
40
39
40
41
42
46
46
42
40
41
42
38
35
38
37
35
36
36
38
42
43
45
41
40
38
39
38
37
40
40
40
42
38
36
38
36
35
33
33
32
32
32
35
35
37
39
39
36
36
34
35
31
29
31
34
32
29
32
34
33
34
32
35
37
42
41
42
41
43
39
40
40
41
43
43
44
46
51
49
50
51
51
55
55
54
54
55
55
52
55
59
60
61
62
57
57
59
56
55
55
58
56
55
53
51
51
51
54
52
52
47
48
48
48
48
50
51
51
54
56
56
56
58
57
56
58
56
61
58
58
60
57
60
62
59
61
57
53
52
55
57
55
52
51
53
53
54
57
56
56
55
56
55
53
52
50
47
43
45
39
40
39
41
40
41
42
41
40
38
38
39
42
44
42
41
40
43
44
40
38
40
39
40
39
40
43
44
45
43
43
40
41
37
36
40
43
43
44
44
43
46
44
43
45
44
42
41
40
40
40
43
44
48
50
49
49
51
46
48
48
47
48
50
51
46
46
44
43
43
45
44
46
44
44
47
49
46
47
46
46
46
48
49
47
48
46
45
44
45
46
47
45
44
46
44
48
48
51
49
50
50
44
45
45
45
48
48
48
48
49
43
41
40
39
40
40
44
46
48
45
44
44
47
46
47
49
49
49
45
47
42
41
37
39
39
38
37
39
42
40
41
43
43
42
39
36
36
36
36
37
36
36
36
36
30
29
32
31
29
29
30
32
34
42
41
41
42
43
44
43
42
43
42
42
43
46
44
42
44
44
42
40
39
39
39
40
44
45
45
47
45
44
45
45
45
45
42
40
41
41
43
46
44
46
45
44
45
44
38
38
36
34
34
33
35
38
34
33
36
38
39
40
41
42
42
47
45
45
45
45
42
44
44
44
42
43
40
42
43
45
46
46
44
47
46
46
48
46
43
40
38
41
39
38
39
40
39
38
36
40
37
40
40
41
40
41
44
43
42
39
44
42
42
43
42
41
42
42
45
43
42
45
46
46
45
45
42
41
41
39
40
41
42
46
46
47
46
43
44
47
49
47
47
47
43
43
42
43
45
45
47
45
44
45
46
48
49
50
49
44
43
39
38
42
40
36
37
35
35
36
30
25
25
24
24
24
21
21
23
25
28
31
30
34
36
38
42
44
45
44
41
41
39
41
43
43
41
43
42
44
45
46
45
45
40
40
38
42
43
41
39
41
38
39
41
39
38
38
39
38
39
41
40
39
38
40
40
40
42
44
43
44
43
42
40
38
36
34
31
31
30
34
34
32
35
34
35
34
34
34
35
33
33
35
34
33
34
37
37
37
36
37
42
42
42
44
41
43
46
47
44
45
40
39
40
41
42
46
47
49
51
51
50
53
50
50
51
51
51
51
49
51
50
52
50
48
47
45
46
42
42
38
38
38
38
42
42
40
40
44
41
41
41
43
45
45
44
41
41
40
44
44
46
42
43
46
47
47
50
51
47
45
46
50
52
52
54
54
52
53
51
54
54
59
59
63
63
58
57
56
54
52
53
53
52
51
53
57
58
53
52
52
56
55
54
51
49
52
49
51
50
48
48
47
47
46
43
43
47
50
50
48
50
51
52
51
49
51
53
51
50
50
48
47
48
47
50
49
49
46
46
48
47
47
47
47
47
47
47
49
47
47
44
47
46
48
46
47
47
48
48
49
48
45
44
38
39
39
38
37
38
39
40
41
39
39
42
42
40
41
41
44
44
44
47
46
43
44
46
47
48
48
48
49
49
47
44
44
44
46
46
42
41
43
46
49
47
49
51
49
48
47
46
48
47
51
48
45
45
45
46
48
46
46
45
42
42
42
40
41
43
43
50
47
45
46
45
42
47
49
47
47
49
49
48
48
49
50
47
50
50
50
51
49
48
48
48
44
45
45
46
45
47
52
52
52
51
54
55
56
57
55
54
55
55
55
51
50
52
50
50
51
52
53
54
53
51
49
50
51
53
53
52
50
51
54
51
50
54
54
51
52
52
54
53
52
54
53
53
55
54
58
58
58
60
57
57
51
49
50
51
51
50
49
48
50
54
54
54
54
54
52
51
52
51
55
53
53
53
53
52
50
48
49
45
44
44
45
43
44
44
44
45
44
44
45
44
45
44
43
41
43
45
42
42
42
40
39
39
36
37
38
42
43
46
46
47
47
44
44
44
44
45
42
45
45
47
40
42
43
43
40
40
36
39
37
37
36
35
36
36
38
36
36
36
39
44
43
41
39
40
37
39
39
41
37
38
40
39
37
37
37
40
40
40
43
46
48
49
48
46
44
43
43
43
44
45
43
41
42
41
43
46
47
48
50
46
44
43
42
41
39
39
43
44
45
48
47
49
46
44
45
43
43
42
39
42
40
40
38
38
37
35
41
43
45
43
44
44
46
46
48
49
47
46
43
46
47
48
49
46
50
51
50
49
51
52
49
49
49
48
47
43
43
40
37
39
41
44
44
40
44
46
45
47
47
47
44
42
40
39
38
36
33
34
34
35
38
35
35
32
34
34
34
32
32
32
33
35
35
39
36
34
34
33
33
33
33
34
35
32
32
32
35
34
33
34
33
30
30
32
33
34
36
38
39
38
38
38
34
33
30
33
32
30
31
33
33
32
33
34
35
34
35
37
38
38
39
40
37
37
39
43
42
46
43
42
40
40
38
37
38
39
40
36
39
40
38
39
39
43
45
46
46
46
46
47
47
51
52
50
49
51
54
55
55
54
51
51
51
52
50
50
46
44
43
44
48
47
47
48
50
50
49
48
48
48
47
49
46
47
46
44
48
49
48
45
46
42
39
41
41
43
42
41
43
43
41
38
38
38
40
40
40
41
40
41
41
46
49
50
49
48
48
45
44
41
43
44
45
43
42
43
41
39
39
41
39
41
41
41
40
37
37
35
34
32
33
34
37
37
39
39
39
40
39
41
42
43
44
43
44
45
46
48
46
46
45
47
46
47
46
44
44
45
47
45
47
47
46
45
43
40
41
41
42
41
41
39
36
37
40
41
42
38
34
33
32
30
32
31
29
27
21
22
25
26
27
29
29
28
25
26
26
27
27
25
25
26
28
31
27
28
28
28
27
27
24
23
24
23
23
25
24
21
24
24
27
29
33
34
32
30
30
30
32
32
33
33
33
33
33
37
34
32
29
26
28
29
32
34
34
35
34
33
37
36
35
36
37
41
43
41
42
39
42
40
39
40
38
44
46
45
48
47
46
44
45
47
44
49
51
49
49
49
50
53
52
53
53
54
53
46
45
46
48
49
49
47
45
44
45
48
49
50
52
52
48
49
48
48
47
47
47
49
48
46
44
45
48
49
48
47
44
45
41
39
40
42
37
37
37
38
37
38
39
42
43
42
42
36
38
41
40
43
44
45
46
47
47
44
45
41
42
43
43
41
41
45
42
44
41
42
39
37
35
37
36
36
33
36
37
37
40
39
39
39
43
44
42
40
42
42
46
45
45
43
43
45
46
47
47
47
48
48
48
44
42
41
42
44
47
50
52
50
48
50
50
47
43
43
41
44
50
48
48
48
51
49
50
51
51
49
49
50
49
52
53
50
51
53
51
48
45
44
46
46
49
47
45
45
45
47
46
47
47
45
45
46
48
47
50
50
53
53
51
51
50
52
49
47
46
44
47
48
48
47
47
47
48
50
47
47
48
49
46
43
42
42
43
43
46
49
50
50
48
47
46
45
40
40
39
40
42
43
44
40
40
40
40
41
41
43
44
44
45
44
42
40
40
40
42
45
49
52
52
49
47
47
48
49
44
48
48
49
48
45
44
41
39
42
41
40
39
38
37
39
38
40
37
38
40
40
38
35
34
32
28
26
23
25
25
26
26
31
29
31
32
34
34
39
41
38
36
33
33
34
34
33
37
41
42
43
44
42
44
44
44
43
41
41
42
40
40
44
44
39
40
41
43
42
41
43
41
38
36
37
41
43
46
45
44
45
45
42
39
41
40
38
40
42
43
41
38
39
40
37
37
37
38
37
37
35
35
33
34
33
33
30
31
35
38
41
40
36
33
36
35
34
35
34
34
34
35
38
40
43
39
38
38
37
36
37
38
40
41
39
40
38
39
41
38
37
39
42
42
41
40
40
44
43
49
46
50
50
47
44
47
45
44
46
45
46
47
46
47
49
45
42
43
43
45
45
47
49
50
51
52
50
50
54
54
53
52
52
53
54
47
46
47
51
49
47
44
42
42
44
46
45
46
48
49
49
47
46
46
46
47
45
46
43
43
43
47
44
40
40
38
37
36
37
38
41
41
42
43
44
45
44
42
44
42
41
40
40
38
39
40
42
41
42
42
43
43
43
45
47
47
50
47
48
47
45
48
48
49
47
48
46
46
48
48
48
47
50
48
44
43
43
43
44
46
46
45
45
45
45
44
44
44
42
40
42
46
46
46
45
43
44
45
47
47
46
45
40
42
45
43
40
42
45
50
47
47
48
45
48
47
43
44
45
42
42
39
40
41
41
40
38
39
40
39
41
40
43
44
38
35
38
40
37
36
37
39
41
41
42
41
41
45
45
45
46
47
48
49
53
48
44
44
41
40
40
40
40
40
40
39
39
40
40
40
40
41
48
50
52
53
48
47
43
43
42
44
42
41
41
39
40
41
42
42
42
39
38
37
36
38
38
39
39
42
38
41
45
43
42
41
43
43
44
45
46
47
45
45
49
48
47
47
48
47
44
45
44
42
44
43
45
44
42
41
39
39
42
38
42
41
38
41
41
44
41
40
38
41
42
41
42
40
42
42
45
44
42
42
38
37
37
40
41
40
42
44
44
45
45
47
47
44
44
45
42
42
42
41
39
44
47
47
48
48
50
49
48
46
46
45
42
38
39
38
42
40
37
39
35
37
39
35
35
38
37
38
36
39
39
38
39
39
39
36
36
35
38
38
39
39
36
36
36
34
34
34
33
34
33
34
34
32
32
33
33
31
36
38
36
36
36
34
36
37
37
38
39
41
40
43
44
42
44
39
38
38
39
39
44
43
44
46
44
45
44
46
50
53
53
48
48
48
47
46
40
41
41
42
42
45
45
45
40
41
41
45
46
46
45
44
45
43
43
43
42
42
41
42
41
44
46
47
47
47
50
53
50
47
48
45
46
47
49
49
49
49
48
44
45
46
45
43
41
40
39
41
46
48
51
51
53
52
51
51
51
47
48
48
48
49
46
49
46
44
44
44
46
49
46
47
47
46
43
43
42
43
42
42
44
41
38
39
39
38
36
37
42
40
41
41
38
38
39
38
40
40
40
43
42
43
43
40
40
40
40
40
38
37
38
38
39
40
41
39
37
38
36
39
40
39
38
35
37
35
37
37
36
38
37
38
38
36
35
35
36
36
35
38
37
33
33
32
34
33
32
36
36
36
35
38
39
40
39
42
39
37
42
42
44
42
39
38
38
40
40
42
38
35
38
37
37
33
33
33
38
40
40
37
37
35
37
35
37
36
36
38
34
40
42
41
44
42
41
46
48
46
45
43
42
42
44
43
45
48
50
49
49
48
45
46
47
46
45
41
39
42
41
41
40
42
41
40
40
39
39
40
39
38
39
39
38
38
40
38
37
42
42
41
41
46
47
46
46
45
44
44
43
42
45
44
45
45
45
44
47
46
52
49
51
50
50
49
49
53
53
56
58
60
60
59
59
53
49
50
50
48
50
48
44
45
46
44
42
42
42
42
43
43
44
48
45
44
43
43
43
42
40
42
39
43
41
37
33
32
31
33
32
30
34
28
26
28
28
29
30
33
31
30
30
30
27
26
28
27
23
22
21
26
26
26
25
26
25
26
27
27
29
29
28
27
25
27
27
28
28
29
28
27
27
26
30
32
31
31
31
34
35
33
34
37
40
41
39
37
42
39
39
40
40
39
40
40
43
44
45
47
44
44
46
48
47
47
48
48
45
44
46
47
46
46
46
44
42
41
45
48
46
45
42
42
45
44
45
45
44
47
48
50
48
51
50
44
49
51
50
47
44
45
44
44
46
43
43
43
42
41
42
42
43
42
42
42
42
41
40
41
43
42
39
37
38
39
38
38
39
38
38
35
35
32
31
33
34
35
39
40
38
39
40
40
41
40
39
40
43
43
38
40
39
40
41
44
45
42
37
36
35
36
36
38
37
36
37
38
39
40
36
39
40
38
40
38
39
40
39
43
45
45
42
43
43
46
46
43
45
45
44
42
42
39
41
39
36
37
38
40
40
41
43
43
42
41
39
37
36
36
40
38
38
36
36
38
36
33
33
35
33
29
30
32
32
33
35
33
33
33
35
30
32
32
29
31
35
34
32
36
37
35
33
34
35
34
34
37
35
36
36
33
37
36
35
37
38
33
33
32
34
34
36
37
35
37
34
31
32
32
33
34
36
35
37
37
36
33
31
31
33
32
33
30
31
32
34
34
37
39
40
38
39
40
40
40
39
42
43
42
44
44
45
42
44
45
43
41
41
40
39
42
44
44
45
50
51
47
45
45
46
44
45
43
40
40
40
38
39
39
38
38
37
33
33
35
31
33
34
36
39
41
44
46
43
41
42
40
39
40
39
37
35
33
31
32
31
31
31
31
33
32
35
34
38
42
45
43
42
39
40
43
44
45
48
50
46
47
43
43
44
44
44
42
44
43
40
39
39
39
39
35
35
39
39
39
40
42
44
45
44
41
42
44
43
42
41
41
42
41
43
45
45
46
46
45
44
44
48
51
51
52
56
55
55
54
55
56
57
55
54
54
56
53
54
55
52
54
58
61
62
59
59
52
51
49
48
50
51
48
48
49
47
46
45
43
42
40
37
39
34
32
34
35
34
33
33
34
34
39
38
40
37
38
38
37
39
36
37
36
41
42
44
41
42
41
39
42
44
45
42
44
43
39
37
36
36
34
34
37
36
37
39
40
41
41
41
39
38
43
41
41
43
42
41
44
45
44
44
41
39
37
34
32
33
35
37
38
37
39
37
37
36
37
34
34
33
33
33
33
34
34
33
35
36
37
40
38
40
38
37
38
38
40
42
44
41
41
42
40
41
42
41
38
39
40
40
40
42
41
39
37
37
37
41
39
41
45
45
43
44
42
45
42
37
37
37
39
39
41
40
39
39
37
37
38
37
38
41
38
39
41
40
38
39
39
40
41
41
44
44
43
41
42
41
40
42
42
41
40
40
40
38
35
37
37
41
36
35
34
35
37
36
35
36
35
37
35
33
36
33
36
36
34
34
34
33
34
35
33
34
35
37
37
38
37
38
40
39
38
37
36
36
37
36
34
36
34
36
39
40
39
38
37
38
36
38
37
39
38
38
37
38
36
39
40
39
41
42
41
40
39
38
36
38
38
38
40
39
39
38
40
40
42
44
43
41
39
40
41
39
39
42
42
41
42
43
42
41
42
41
41
40
41
41
40
40
39
38
38
38
38
41
40
40
41
42
37
34
36
37
37
37
36
37
36
37
34
37
35
31
31
32
36
36
36
39
39
38
37
35
35
37
36
39
41
40
42
40
40
40
39
42
42
40
37
38
38
37
35
35
37
36
38
39
38
39
40
38
40
43
44
44
40
40
39
38
38
37
40
37
37
38
37
36
36
34
33
35
36
34
36
37
41
37
38
41
40
39
38
38
40
37
38
38
36
36
33
32
33
33
34
35
36
37
35
33
32
30
31
32
32
31
32
33
34
33
32
32
33
33
33
33
32
31
34
35
36
35
36
38
36
36
36
37
36
37
37
40
41
44
42
42
40
42
43
43
41
40
40
37
40
40
41
40
41
40
41
40
41
41
41
39
40
40
39
38
36
39
37
37
37
39
39
38
36
36
37
36
37
36
37
41
42
45
47
46
42
44
44
45
43
43
42
43
41
40
37
35
34
33
35
33
33
33
32
28
28
32
33
33
33
32
32
34
34
34
35
33
31
32
33
33
33
31
31
35
36
37
36
37
39
37
33
33
33
33
34
36
35
35
34
35
33
35
34
33
32
35
34
34
33
31
30
30
31
31
31
31
31
31
35
34
35
37
35
36
32
28
28
28
33
32
31
30
31
30
32
33
31
32
35
33
30
29
29
28
27
29
33
33
31
32
32
30
29
31
32
31
30
28
27
27
31
33
33
36
37
33
33
32
32
34
31
31
31
30
30
28
27
29
28
29
29
31
27
26
25
23
24
24
24
23
22
25
27
30
33
33
35
36
34
37
38
39
41
39
40
37
36
34
34
35
34
35
37
35
35
35
38
38
36
38
39
36
38
38
39
40
42
42
47
49
49
48
51
49
51
49
52
52
49
52
54
52
56
56
56
62
60
58
57
58
61
60
60
59
57
53
53
52
53
52
48
51
52
52
53
53
54
54
55
57
59
55
55
55
52
48
48
43
42
41
37
36
35
32
35
36
36
39
41
42
43
42
38
37
36
36
35
36
37
35
36
36
38
39
42
41
40
37
39
38
38
38
42
42
34
31
33
34
37
36
39
36
41
41
44
46
45
48
47
45
44
42
43
41
40
43
49
49
49
49
52
52
53
53
57
55
50
53
54
52
48
47
51
50
52
52
50
53
55
50
53
56
56
53
50
47
50
51
53
52
55
56
54
53
51
52
52
52
57
58
61
57
51
48
46
45
46
47
46
46
46
44
44
45
42
41
42
42
45
47
48
47
46
46
47
45
44
40
39
38
38
40
40
43
44
40
40
44
45
43
44
47
49
48
45
43
41
42
47
50
50
50
50
50
51
48
46
48
49
51
52
51
50
50
51
52
52
49
49
48
51
52
54
56
54
57
57
55
55
55
55
51
46
44
45
45
43
45
42
44
43
43
45
44
42
42
42
42
38
33
33
34
38
38
40
42
40
40
40
40
39
41
38
36
37
39
38
37
37
40
39
40
41
43
42
41
38
38
36
34
35
37
35
39
36
37
37
37
34
31
29
30
31
34
33
33
34
33
32
31
29
30
34
33
32
31
32
32
29
30
30
32
28
28
26
26
24
27
27
27
27
27
28
30
31
32
34
38
39
40
38
37
37
37
37
38
35
35
34
35
37
40
40
39
42
42
44
43
43
42
41
42
41
42
44
43
42
40
43
41
43
40
39
36
36
35
34
34
34
31
34
34
36
36
37
39
42
45
48
47
47
45
46
44
47
48
45
43
43
45
43
44
43
45
43
40
39
38
35
32
35
35
34
38
38
35
33
35
31
32
31
33
34
34
35
33
32
33
32
34
34
37
37
38
38
40
38
34
35
33
35
37
36
36
37
36
39
40
41
43
41
43
39
39
42
42
40
36
35
30
31
30
31
32
32
33
30
27
27
27
27
28
28
28
29
30
31
26
28
28
27
27
28
30
32
36
37
35
36
37
36
34
37
35
34
35
37
37
38
37
37
40
37
34
33
34
35
33
33
32
33
35
37
36
40
38
40
41
40
41
41
41
40
38
39
44
45
40
38
38
40
39
40
42
43
45
42
40
40
37
39
40
43
40
39
41
40
43
40
38
38
40
37
35
32
32
33
32
35
39
40
39
41
44
42
47
44
43
42
42
41
42
42
40
44
45
44
47
48
47
45
41
42
43
43
41
43
45
44
44
46
45
43
47
46
44
43
43
43
43
45
46
43
43
43
45
44
44
44
46
46
45
45
45
44
39
38
41
40
42
42
44
43
44
44
43
42
44
44
43
44
45
45
43
42
39
43
44
47
43
44
43
42
42
41
40
42
41
49
53
48
49
48
50
51
50
48
47
46
45
43
44
44
46
48
44
42
43
43
40
40
42
44
44
41
39
40
40
44
42
43
42
40
42
46
46
47
47
45
42
44
43
40
41
39
39
41
41
39
38
39
36
35
38
38
36
36
37
38
38
36
36
34
35
32
34
33
33
32
36
39
38
38
39
40
39
39
37
34
34
33
31
34
35
40
38
35
35
36
35
34
35
34
35
33
34
34
34
32
33
30
34
35
39
37
36
33
37
36
38
37
35
36
38
37
35
32
32
33
33
32
35
36
34
37
37
38
39
38
40
43
44
44
44
45
44
40
44
47
45
46
45
47
45
42
41
41
43
44
41
36
37
43
44
49
50
51
51
51
52
49
49
51
49
46
45
46
49
50
50
48
51
49
49
48
47
43
43
41
43
44
44
43
43
43
43
44
42
42
42
42
42
43
47
47
43
44
44
44
43
44
45
45
45
46
45
45
45
46
49
48
46
41
37
35
35
36
34
34
32
32
34
31
29
31
33
30
33
34
34
39
41
38
39
41
44
42
42
43
42
38
37
35
36
38
41
46
42
42
42
42
40
35
34
35
35
39
37
37
38
43
44
44
44
41
41
40
40
41
38
36
41
42
42
42
40
37
36
38
37
42
44
46
46
45
43
38
39
40
40
38
37
35
33
33
32
29
29
30
32
31
32
32
32
31
36
36
34
36
37
36
37
35
39
38
38
40
40
35
34
35
36
36
34
35
40
39
37
33
34
31
35
37
35
36
33
32
32
33
35
37
37
38
37
39
38
37
35
33
34
33
32
32
34
35
34
31
32
29
28
27
28
30
30
33
32
32
34
38
35
35
34
32
33
33
31
32
33
33
33
35
34
35
36
36
35
34
35
35
33
31
31
27
26
28
28
30
30
32
33
36
35
31
32
29
28
29
29
30
32
33
31
33
33
37
36
35
34
32
31
35
37
41
42
43
44
45
43
44
47
44
44
41
41
38
39
39
37
37
40
41
40
36
37
36
40
42
42
44
40
41
42
44
44
45
41
37
37
41
38
40
40
39
34
33
34
35
36
34
34
31
28
27
29
28
27
26
29
30
29
31
29
32
32
32
30
28
29
26
26
24
22
21
23
23
23
25
24
24
25
26
28
27
26
29
29
29
28
27
27
27
28
29
31
31
34
35
39
39
38
39
38
37
36
35
38
37
38
36
39
39
39
36
34
35
33
34
35
37
34
37
36
34
36
36
37
35
34
33
29
30
31
32
35
37
39
37
36
38
41
38
37
36
39
43
44
44
44
41
43
39
36
37
39
40
36
37
42
41
42
44
45
44
44
42
41
39
39
40
43
42
42
43
43
45
47
46
46
46
48
50
50
52
52
50
47
46
44
44
42
41
37
35
38
41
39
41
40
38
41
42
44
40
40
38
35
36
35
37
35
36
36
34
35
36
39
40
40
41
39
39
40
40
42
41
40
43
41
42
40
41
42
42
41
42
43
43
41
42
40
38
36
35
35
38
40
38
35
27
26
27
28
28
29
29
28
33
36
33
32
33
37
38
38
38
35
37
36
36
34
37
35
36
35
37
39
41
42
43
43
47
49
50
49
49
49
46
42
42
40
38
39
43
44
44
43
47
46
47
47
46
46
46
46
45
47
47
49
51
52
52
48
51
53
52
52
49
51
50
48
48
47
48
49
47
45
44
46
46
48
43
42
41
41
40
40
44
45
47
47
46
48
51
49
46
46
45
49
52
49
50
50
48
43
40
41
42
44
42
45
46
48
48
51
48
48
46
41
44
44
48
48
46
45
43
43
43
45
42
41
39
39
37
38
38
40
41
39
38
35
34
32
36
37
39
42
43
44
47
45
44
42
46
43
41
41
42
42
41
42
43
43
43
44
45
46
45
43
43
42
43
41
43
43
42
44
46
43
44
45
41
40
40
38
39
44
46
50
50
47
47
40
40
39
39
38
40
42
40
40
42
42
40
41
39
38
41
43
41
38
38
38
34
35
34
36
39
43
44
42
41
38
38
36
37
36
40
42
41
42
44
45
45
44
43
43
44
47
48
48
47
47
46
45
48
49
48
43
45
42
43
41
42
40
41
40
42
39
36
37
37
36
34
36
37
37
38
38
42
42
43
42
40
41
41
41
41
40
39
41
42
41
42
41
42
41
42
40
40
40
41
41
41
41
39
38
40
42
41
41
42
40
41
44
44
45
45
49
45
47
45
47
47
47
49
49
50
52
55
54
56
56
57
51
48
42
44
45
45
44
46
47
46
45
48
46
48
47
46
44
47
47
47
44
44
40
39
36
30
32
35
37
38
40
41
42
41
42
40
42
37
36
35
33
31
31
30
30
27
30
31
31
33
35
35
34
32
32
33
31
31
32
33
33
30
28
27
27
28
30
28
26
28
29
32
31
33
35
35
36
36
32
30
32
32
33
36
36
36
35
35
35
33
34
35
39
38
37
32
33
36
35
36
42
41
40
38
40
40
40
41
42
43
45
43
40
40
40
40
41
41
38
39
39
40
40
42
41
42
42
39
39
41
42
38
37
39
38
39
40
39
39
41
42
40
43
42
43
42
41
43
43
41
42
40
41
41
34
37
38
38
39
36
37
38
40
40
38
39
40
39
41
42
47
46
44
43
45
45
45
43
43
45
46
50
50
52
51
50
51
51
48
48
49
48
45
46
45
44
43
41
43
41
42
41
42
37
38
40
41
41
40
39
42
41
43
48
48
51
50
49
49
49
51
53
52
50
46
48
47
46
48
50
52
52
53
54
53
54
55
54
51
52
52
50
54
53
52
51
51
52
52
53
52
55
52
51
49
49
48
51
47
46
45
47
44
44
46
47
48
44
41
45
44
45
49
50
46
47
49
45
42
40
42
45
44
46
47
45
44
39
41
40
38
38
38
38
39
36
38
39
40
38
38
39
43
41
42
41
39
38
42
41
39
38
39
40
39
39
37
37
41
38
40
40
39
40
37
35
33
36
38
37
36
38
41
41
43
39
38
37
35
39
41
41
42
39
39
38
38
36
36
36
37
36
36
34
34
34
35
35
39
35
37
40
42
40
41
42
42
44
48
47
49
48
46
49
47
48
48
49
50
51
50
54
54
54
53
51
52
52
54
54
55
53
53
55
56
61
60
60
61
62
57
58
61
58
58
56
51
49
48
47
45
45
44
44
41
43
44
44
45
44
45
45
44
39
40
38
36
37
38
38
35
35
39
40
38
32
30
35
36
39
39
39
39
39
40
42
45
45
49
49
49
51
51
49
50
46
43
41
44
43
43
42
45
45
43
42
42
43
47
48
45
48
45
45
46
44
44
43
45
41
40
40
38
37
39
39
40
41
41
43
47
40
42
41
43
42
41
44
45
46
48
44
41
39
42
43
41
41
41
40
45
50
50
50
48
45
47
49
47
43
42
40
41
44
42
43
45
45
45
44
44
43
45
47
50
50
49
49
48
46
46
45
45
44
45
43
41
41
42
43
46
46
47
45
45
46
46
44
39
38
39
41
37
35
37
38
40
43
47
48
49
44
45
44
44
43
43
44
44
49
48
45
42
44
43
44
48
47
47
47
49
47
47
47
47
41
46
49
48
45
43
45
45
45
45
52
52
51
53
48
45
50
46
48
48
47
45
42
41
39
42
42
45
44
47
45
47
45
43
38
42
42
42
42
38
36
36
35
35
39
40
40
38
36
37
43
45
44
44
42
42
44
44
45
48
46
45
43
43
45
44
39
39
38
37
37
38
38
39
41
44
45
46
43
43
42
46
42
42
42
39
39
39
40
42
42
40
41
43
46
47
50
50
51
51
52
56
54
56
53
52
53
55
56
55
54
55
57
56
55
54
50
48
49
52
53
53
52
54
54
52
51
50
51
52
55
53
53
50
52
52
55
55
55
55
52
51
49
51
51
49
53
51
50
52
53
55
49
46
46
46
43
43
45
46
45
45
44
42
42
41
42
40
42
40
40
38
36
36
37
38
40
40
40
40
39
38
41
40
39
37
34
33
33
32
34
34
33
33
28
32
30
30
27
28
25
24
26
26
27
28
26
29
29
30
28
28
27
29
31
32
34
36
33
34
34
34
35
34
36
35
37
42
40
39
36
35
39
42
43
39
38
42
43
44
43
37
35
35
33
36
34
35
35
33
33
31
35
37
39
38
37
37
38
36
36
36
36
36
36
37
37
39
40
41
39
43
41
40
40
39
38
39
38
40
40
42
44
44
43
47
47
41
42
41
40
42
40
40
41
38
41
41
39
39
39
38
39
39
38
40
43
41
40
40
36
35
36
39
39
44
42
41
44
43
41
42
42
42
43
45
46
44
45
48
47
46
44
43
43
41
44
43
41
37
39
43
43
46
43
44
43
43
43
41
38
39
35
34
34
36
37
40
40
41
39
39
36
34
33
33
33
30
31
34
36
34
35
34
37
39
36
35
36
32
36
35
40
42
41
41
42
42
42
40
41
39
41
45
48
50
51
49
43
39
41
43
44
41
41
43
46
46
46
44
40
38
39
40
39
42
42
39
38
38
38
40
42
42
37
39
42
40
37
38
37
39
41
42
41
40
42
45
43
43
44
46
45
45
45
45
49
50
47
46
42
45
45
45
45
44
47
47
44
45
47
45
40
38
41
42
42
41
41
40
39
38
37
34
35
38
38
35
35
35
33
33
36
39
39
40
40
39
38
38
41
40
45
41
42
41
42
44
47
49
48
49
49
50
48
48
46
45
43
44
48
46
47
46
45
43
46
44
45
43
43
43
43
43
40
40
41
42
40
40
47
47
45
43
42
40
41
40
39
38
38
40
37
38
40
41
45
44
41
42
42
43
45
46
44
47
48
49
49
45
44
44
43
39
40
42
40
40
39
37
34
35
36
36
38
39
39
37
37
36
38
38
38
36
35
38
37
35
39
37
40
37
36
40
38
37
37
41
40
40
39
40
41
44
45
45
45
45
41
40
41
44
45
46
45
43
40
43
45
46
48
50
51
44
46
41
39
41
47
48
49
51
51
54
50
48
47
49
49
47
48
44
42
43
46
46
45
45
48
48
47
45
45
45
44
45
44
41
39
38
38
37
39
43
44
44
45
45
44
41
39
42
45
46
46
45
44
44
47
47
45
47
44
41
41
40
44
42
40
41
38
36
36
37
41
41
38
39
38
37
36
36
36
36
38
38
38
37
38
38
36
39
39
39
43
42
43
44
41
41
40
38
38
37
38
38
38
41
42
43
42
46
46
43
40
37
35
35
36
35
37
34
35
37
39
37
34
36
33
37
34
35
35
37
36
35
35
38
40
39
38
36
42
42
43
43
45
42
40
40
40
39
38
36
40
35
35
35
37
40
41
44
39
36
37
38
38
38
36
35
31
31
32
36
38
38
40
39
42
44
42
43
44
45
46
44
44
45
44
44
43
44
45
48
45
48
50
50
49
49
51
49
49
50
47
47
47
46
46
44
43
41
39
37
35
39
39
37
38
41
37
39
41
40
40
41
38
39
40
40
40
42
43
43
40
40
40
38
38
39
42
44
45
47
47
45
44
43
45
44
41
44
41
40
37
37
39
40
42
44
47
49
48
49
47
46
46
47
44
43
40
40
42
43
44
45
44
42
43
45
46
44
47
43
40
41
42
42
43
43
44
43
42
42
41
42
42
41
42
40
38
38
39
40
38
38
38
43
44
50
51
48
43
44
43
45
40
37
37
39
40
40
40
38
40
41
42
40
44
43
39
42
42
45
47
50
50
52
50
49
47
50
49
47
44
43
46
45
43
44
45
47
49
50
51
52
50
48
47
50
53
50
49
47
45
46
49
47
50
53
51
50
47
45
46
46
48
45
46
46
46
49
49
47
46
45
45
47
44
42
40
42
43
43
44
47
49
46
47
45
41
40
38
38
38
39
40
40
38
39
37
35
36
34
35
36
37
36
36
37
39
38
41
42
42
41
39
42
42
43
42
41
43
44
46
46
48
48
46
46
43
45
44
43
44
42
46
47
46
46
44
45
43
42
46
48
45
43
43
43
42
43
43
42
45
44
43
43
41
43
43
44
44
42
43
41
41
40
43
43
44
45
47
45
45
46
47
48
46
48
46
42
40
41
42
41
42
44
46
43
39
39
38
42
45
44
43
44
44
45
44
44
45
45
45
50
51
50
46
49
47
46
45
44
45
46
47
45
45
47
47
49
48
45
46
49
50
51
50
49
47
47
48
48
52
53
55
51
49
51
48
50
46
46
45
48
46
47
47
47
47
47
47
43
47
48
47
47
47
44
42
42
44
43
45
45
46
44
44
45
46
44
45
45
47
51
51
48
49
47
49
53
50
49
46
45
45
46
47
49
49
48
49
48
47
43
41
41
40
39
38
39
37
36
38
42
42
42
42
40
40
39
41
41
40
39
39
40
42
45
47
46
46
45
46
47
47
45
41
39
39
41
40
39
39
38
38
36
35
34
34
37
36
34
35
36
38
41
42
44
40
40
39
38
41
40
40
41
42
42
41
41
41
41
44
44
47
46
44
43
41
41
42
44
46
48
46
47
47
45
41
40
44
40
40
38
39
38
35
33
33
34
38
40
42
42
42
42
47
46
47
47
49
47
44
43
46
44
46
47
45
47
47
47
49
49
52
48
48
49
46
47
47
44
43
45
46
47
48
46
41
39
41
41
40
38
38
38
37
37
34
37
39
41
41
37
34
37
34
34
35
34
34
34
29
27
27
28
25
27
29
31
32
32
34
35
34
36
32
34
36
37
38
40
40
41
42
42
43
41
41
42
41
42
41
41
39
41
42
39
35
38
44
47
47
46
42
42
40
39
41
43
47
48
49
48
48
48
49
51
51
47
46
45
47
48
50
51
57
55
54
53
54
51
49
49
48
47
48
48
50
51
52
49
51
50
50
53
54
54
53
52
51
46
49
52
51
49
45
45
44
44
44
42
44
44
42
42
40
41
42
44
44
41
38
39
39
38
39
42
40
41
40
41
41
36
37
35
37
40
39
36
36
37
36
40
38
39
38
39
38
39
37
40
38
38
38
37
36
37
38
36
33
30
28
27
27
26
27
29
32
33
36
38
38
38
39
38
36
36
37
38
41
44
45
49
50
47
48
49
48
47
46
47
46
44
44
44
44
44
42
44
46
48
53
55
53
52
54
55
55
53
54
53
53
51
48
50
48
46
45
46
43
42
41
42
42
39
40
40
37
39
41
39
37
33
35
31
32
35
36
37
40
41
42
43
42
39
44
44
44
42
41
41
39
42
45
42
42
41
44
42
42
41
39
39
41
42
42
42
43
41
43
42
44
43
43
44
44
47
43
44
44
45
44
45
45
44
41
37
36
42
41
41
40
43
42
41
42
39
39
40
37
36
35
35
36
33
30
31
31
34
35
36
36
37
35
35
35
33
36
35
36
38
37
37
37
36
40
37
37
34
35
37
37
37
35
35
33
34
33
33
32
31
31
31
32
33
32
33
32
32
34
35
34
31
29
32
30
28
29
30
28
32
32
34
36
37
35
41
41
42
38
35
34
37
37
36
36
36
36
35
35
33
30
31
31
34
34
32
36
37
38
37
37
38
37
40
38
40
41
40
41
42
39
37
37
37
35
35
39
39
41
41
40
41
42
41
41
45
42
45
43
46
44
47
46
51
48
48
50
49
50
51
53
53
52
50
51
51
51
55
55
56
52
53
56
55
54
50
53
48
49
50
50
47
44
43
42
44
45
46
43
41
41
41
40
41
43
45
45
46
42
45
47
43
41
41
40
40
42
43
44
44
43
43
42
43
47
45
43
38
38
38
39
38
38
39
42
42
41
40
40
43
45
45
47
47
49
50
50
51
52
49
49
49
49
50
51
48
49
50
51
51
50
49
49
44
43
41
43
47
51
52
55
58
53
53
51
49
51
48
48
47
49
50
48
47
54
53
50
47
48
46
45
43
44
43
44
46
49
49
47
44
45
45
46
44
42
42
41
38
36
32
31
33
32
34
35
32
33
35
33
30
29
28
27
30
30
29
30
31
33
29
29
25
27
27
27
27
29
29
30
30
31
34
34
36
37
37
36
37
37
34
32
33
38
40
40
44
45
47
48
50
48
50
50
52
50
51
51
51
54
51
52
52
54
53
54
52
52
52
54
55
54
51
51
49
47
48
49
48
45
43
40
42
40
41
41
38
40
40
37
42
42
43
41
40
43
44
39
40
40
38
38
41
38
38
39
38
38
39
39
36
37
35
35
40
42
42
44
44
43
46
49
49
51
49
48
48
50
54
50
49
48
50
50
50
50
48
45
47
46
46
47
43
41
42
39
39
40
41
40
42
40
39
37
37
36
38
38
39
40
40
39
39
38
38
38
40
39
39
39
38
40
42
43
40
42
44
42
46
45
46
45
43
40
39
39
44
42
40
41
43
45
45
42
42
42
40
41
41
38
39
40
38
41
41
41
41
44
47
47
47
48
47
43
45
42
42
40
41
42
42
45
47
46
42
44
43
44
45
44
46
45
44
43
42
40
38
41
40
43
42
40
43
41
43
42
44
43
44
42
41
41
40
43
42
43
46
44
45
43
41
45
45
44
43
42
42
41
39
39
40
40
40
40
40
40
44
40
42
44
45
46
43
43
43
44
46
43
45
41
41
41
41
40
38
38
38
38
37
37
40
37
37
37
36
35
36
36
44
45
46
44
44
41
42
40
39
37
36
41
38
37
38
37
32
32
35
34
32
31
32
33
30
32
35
34
30
28
31
33
31
32
33
32
32
30
33
36
37
37
39
38
37
36
34
36
35
37
39
38
36
35
36
35
31
30
29
32
32
31
32
34
36
36
39
36
39
38
39
37
35
34
33
35
33
32
35
38
37
41
38
35
37
36
36
36
36
34
35
38
40
42
44
45
44
42
38
35
37
36
35
37
39
39
35
36
40
40
38
38
34
35
36
36
38
42
40
42
40
42
42
43
47
47
49
49
46
49
49
49
46
48
49
45
45
45
43
46
44
43
41
42
42
42
42
43
46
45
44
42
41
41
40
38
41
44
46
46
47
46
47
48
46
48
50
50
51
51
49
45
45
44
46
48
47
45
43
45
43
43
44
45
47
44
50
47
47
48
45
39
38
38
38
37
42
41
39
41
43
44
43
42
42
42
43
43
45
46
46
48
45
46
46
42
40
40
39
39
38
40
40
42
43
41
40
38
39
42
41
38
38
42
43
46
45
43
41
42
39
40
41
42
40
41
40
40
36
35
37
39
37
35
37
38
36
36
32
31
33
37
35
36
35
37
38
37
38
38
40
41
44
43
42
39
37
39
38
39
39
39
39
39
38
37
39
42
36
36
36
35
36
40
43
42
40
40
38
38
38
37
37
36
36
35
35
35
35
35
35
36
37
36
35
35
36
35
39
38
38
37
35
36
36
38
40
42
45
43
46
47
48
47
49
51
51
50
49
43
43
42
43
44
42
43
44
40
43
42
39
40
38
38
40
40
38
38
37
37
35
36
35
35
36
38
36
36
35
37
36
35
35
38
37
39
40
39
41
42
40
35
36
37
39
43
41
41
42
39
40
38
37
36
39
40
36
35
37
39
38
37
32
33
32
36
36
40
44
44
44
42
47
50
51
54
53
49
48
50
51
48
48
46
46
46
47
47
44
45
45
46
49
49
49
48
41
40
37
39
40
42
38
38
36
35
36
36
37
36
37
35
33
33
35
35
36
39
39
39
39
41
36
38
40
41
37
36
37
37
38
40
41
40
40
41
43
42
42
43
44
47
47
46
46
46
45
44
43
41
46
45
45
43
43
42
45
45
45
46
48
46
46
47
46
45
46
45
46
46
47
49
51
57
57
53
51
50
51
52
53
51
52
53
53
54
51
50
50
55
54
55
55
52
52
53
53
50
49
52
53
53
52
52
50
50
49
46
46
46
45
47
46
47
47
51
53
53
55
52
50
51
51
47
47
49
46
47
48
53
51
52
53
54
51
55
56
52
53
50
51
50
49
46
44
45
44
43
44
47
47
46
44
42
45
45
45
46
46
45
45
47
46
44
41
41
40
40
38
40
42
45
47
50
48
46
47
47
46
46
44
41
42
44
43
44
47
44
44
44
46
44
43
44
45
44
44
46
44
44
45
44
48
46
46
42
43
47
47
50
48
45
44
45
41
40
43
45
44
42
48
47
48
49
51
47
48
46
47
50
48
47
51
48
49
48
47
47
47
44
45
45
48
46
44
43
44
45
45
46
44
41
41
45
48
50
52
48
49
50
49
49
47
45
43
43
43
42
42
42
43
44
44
43
43
44
45
43
45
45
45
46
46
46
46
49
46
47
46
47
48
46
47
45
46
47
46
47
42
44
42
42
41
44
43
44
44
43
44
42
44
44
43
40
40
38
42
40
42
40
41
39
39
41
38
38
39
43
46
47
51
53
53
54
56
55
57
56
58
60
60
59
60
59
54
55
57
57
55
57
55
58
59
57
55
53
57
56
55
55
55
51
46
42
44
45
44
41
43
46
46
48
53
53
50
53
52
51
56
50
50
48
47
48
48
49
48
49
48
48
49
50
49
52
51
54
50
49
49
49
50
51
54
53
52
53
53
55
57
58
61
62
63
64
63
61
62
59
59
58
58
60
57
57
56
54
50
49
49
49
50
47
51
51
51
52
53
51
54
53
51
50
50
51
53
55
55
54
53
51
51
51
51
50
46
46
47
48
47
44
45
50
50
53
49
49
48
47
48
46
47
45
48
50
48
44
43
43
44
44
40
40
43
41
42
40
41
42
39
40
37
35
35
35
33
33
34
38
42
40
39
41
47
44
46
40
37
37
35
36
40
41
39
42
43
46
45
46
44
46
48
48
51
51
46
45
45
45
47
48
46
42
43
44
44
44
44
45
46
48
47
45
47
46
45
42
41
40
40
41
43
42
42
41
42
41
40
39
42
40
41
47
45
45
44
44
41
43
45
45
42
44
45
45
46
45
44
44
45
46
49
47
46
47
49
48
46
45
45
45
47
48
50
50
48
48
49
49
49
44
43
45
44
46
42
44
43
44
46
48
48
46
45
49
47
46
46
48
49
48
52
51
55
57
58
55
55
57
55
53
53
51
53
52
49
47
47
47
51
52
49
47
46
45
44
43
42
43
42
45
47
46
45
47
47
48
50
48
51
52
53
52
56
56
55
50
53
52
51
49
51
50
51
49
52
52
54
58
52
50
51
53
52
54
52
51
45
49
50
52
45
46
43
40
39
42
41
40
43
42
42
43
40
42
40
41
40
41
40
38
40
38
37
41
42
45
44
44
44
44
45
48
49
47
46
45
43
47
43
44
46
50
48
47
47
47
47
49
45
46
47
47
45
43
45
44
43
39
37
38
39
38
38
37
37
36
41
39
39
39
37
37
37
37
37
36
34
35
35
36
36
35
33
32
33
33
34
37
39
37
33
33
33
31
31
34
39
37
35
38
36
36
33
34
34
35
36
36
38
38
35
37
41
38
40
41
42
40
38
39
43
42
43
44
46
49
48
48
48
50
49
50
54
53
51
54
57
57
57
54
49
50
52
50
51
54
53
51
54
52
51
53
54
51
52
51
51
46
45
45
44
43
42
43
45
44
46
46
46
45
46
48
49
46
47
48
46
47
47
47
48
46
45
46
50
48
49
49
48
47
45
45
46
47
45
45
42
44
45
44
46
45
40
41
37
36
37
36
34
39
39
39
36
37
34
38
39
37
34
33
32
30
32
32
36
37
38
41
40
39
40
41
38
41
42
43
43
42
40
40
38
38
40
44
46
46
46
44
43
48
47
45
46
45
47
47
46
49
47
46
45
39
39
40
39
43
43
44
44
46
47
49
52
51
51
53
48
47
45
44
44
44
42
38
42
44
41
40
42
44
46
46
48
48
42
41
41
43
44
45
45
43
46
47
47
48
49
45
47
48
50
49
51
51
50
50
53
50
47
51
50
54
54
51
54
54
52
55
56
57
57
55
55
55
55
55
54
51
51
51
52
54
53
52
50
51
50
48
50
49
49
43
46
47
48
48
46
42
44
45
45
48
46
44
44
40
40
39
38
41
42
41
41
37
38
36
36
36
37
38
41
45
42
42
41
39
38
39
39
35
37
34
36
34
34
34
36
36
35
34
33
35
36
34
36
38
38
39
37
42
41
40
40
41
42
43
47
43
43
46
45
48
48
46
41
43
43
41
41
39
43
41
39
38
42
43
43
45
43
45
45
44
44
45
45
45
45
45
45
42
40
40
42
46
46
48
48
43
40
37
38
40
37
37
39
41
45
44
43
48
50
48
48
47
43
48
49
47
46
47
47
45
45
45
45
46
52
49
51
49
47
48
45
45
50
47
48
48
48
48
47
49
48
48
49
46
43
43
45
46
41
43
42
42
41
41
39
42
42
43
42
42
43
45
43
45
45
44
44
43
44
42
43
45
45
44
45
45
47
45
46
47
47
46
45
45
45
44
43
45
46
43
43
42
41
41
40
41
46
50
50
48
46
44
42
42
40
40
38
36
37
38
40
38
39
38
39
39
41
42
44
39
41
44
44
41
40
42
41
41
38
38
41
39
38
38
37
39
40
40
38
39
39
37
38
40
43
44
43
44
42
45
42
46
42
41
39
39
38
38
40
41
36
34
35
37
36
36
37
35
37
40
42
41
40
38
41
42
44
45
47
47
48
47
46
47
46
44
42
43
45
47
44
42
41
42
47
50
50
48
45
44
46
50
49
49
49
44
42
45
46
47
46
47
45
42
42
38
38
38
35
37
38
35
36
36
40
37
35
34
35
37
37
40
40
35
37
36
38
39
39
42
41
42
43
45
44
40
37
36
35
36
38
37
38
37
37
37
37
45
42
42
43
42
40
39
38
39
41
40
38
39
40
39
41
41
41
39
40
42
42
43
42
44
45
44
43
43
43
41
39
43
43
43
41
39
36
34
33
36
35
37
37
36
36
35
35
35
33
31
32
32
32
37
35
36
37
34
36
37
39
41
43
43
45
40
39
38
40
43
45
45
44
52
52
48
43
41
44
42
40
39
39
40
40
44
44
46
48
47
48
49
46
48
50
50
51
49
50
50
48
48
47
50
52
51
47
44
42
42
42
42
45
43
40
40
44
44
43
40
43
40
39
37
37
39
40
38
39
39
38
38
40
42
42
43
41
42
41
41
43
44
41
42
46
49
47
47
47
45
44
44
47
45
43
41
43
42
42
43
43
44
44
43
40
37
36
35
34
37
38
37
36
37
39
41
41
39
38
39
37
35
34
35
38
38
38
37
36
36
35
34
35
37
38
37
36
33
32
35
39
38
43
42
43
44
45
44
43
40
42
42
40
40
42
42
40
39
43
45
46
46
47
48
46
43
42
46
49
46
49
47
44
45
44
42
42
41
45
48
47
44
43
40
39
39
40
41
41
43
41
43
45
46
44
43
44
41
41
39
42
39
39
41
43
42
39
41
40
41
41
43
44
47
47
47
50
47
53
49
45
45
46
45
44
43
43
40
41
44
45
48
49
50
51
49
50
53
53
53
52
53
53
49
51
50
47
44
47
46
47
49
48
50
51
48
47
46
48
52
53
54
56
56
56
59
56
56
55
56
56
53
53
54
54
54
55
55
56
58
62
62
62
62
57
62
63
64
65
63
59
58
66
62
60
62
59
57
54
51
52
51
51
51
47
49
50
50
52
51
47
49
52
55
51
52
48
46
48
46
46
47
44
46
46
45
43
47
46
46
48
51
50
52
52
49
46
47
42
45
44
41
42
42
43
44
44
47
44
45
42
43
40
41
41
43
43
45
49
48
43
42
40
45
45
45
45
41
42
45
49
48
45
44
42
43
44
41
42
42
43
47
49
47
48
50
50
54
53
49
48
48
44
42
39
37
39
43
44
46
44
44
43
41
40
39
39
41
44
42
44
46
45
46
44
43
38
37
40
39
38
38
39
42
43
45
47
45
45
43
44
42
41
42
37
35
37
37
40
39
39
40
44
42
41
40
44
43
41
40
40
39
41
40
38
39
40
44
46
46
46
47
46
43
45
42
43
38
35
36
38
35
34
33
33
33
34
35
33
33
35
37
38
39
40
40
42
40
41
39
37
34
32
36
39
40
40
39
33
34
32
32
34
35
34
35
34
34
32
33
37
37
37
35
34
32
33
35
36
39
39
39
37
39
45
42
40
38
39
39
41
43
43
45
46
45
44
42
43
42
44
42
42
43
41
43
40
41
44
46
46
47
44
44
44
45
44
44
46
44
45
42
42
44
43
47
48
46
46
47
49
48
47
46
42
43
42
40
40
41
44
48
45
42
41
45
43
43
43
44
45
48
48
49
47
49
47
49
44
43
40
38
38
35
35
37
37
35
36
39
38
39
40
39
38
39
39
39
38
36
39
35
34
31
30
28
28
30
31
29
29
30
31
33
29
28
28
28
30
31
31
29
30
30
31
32
34
34
32
35
31
31
29
30
29
29
28
29
29
32
32
31
33
34
32
30
27
28
29
30
30
31
32
31
32
34
34
34
33
34
32
35
34
39
36
36
34
34
34
34
35
35
39
39
43
44
44
44
45
48
46
47
50
48
50
49
47
46
44
46
48
48
49
52
54
50
49
50
50
50
51
51
49
47
48
49
52
49
49
49
47
47
44
42
45
47
49
47
45
49
51
50
51
51
48
46
49
47
47
45
42
39
39
37
36
36
36
36
34
36
38
38
37
39
39
39
36
34
35
38
40
40
41
43
42
43
44
46
50
50
45
45
48
49
49
47
47
46
45
44
41
43
43
42
42
43
41
42
46
46
45
43
45
43
47
46
46
47
47
47
50
51
53
52
51
50
48
49
46
44
45
44
43
40
45
45
48
47
47
45
45
42
45
45
49
45
45
40
40
38
41
40
40
42
44
42
42
42
43
43
40
40
40
37
35
34
33
34
34
34
34
36
37
38
36
34
34
36
34
33
31
32
30
32
35
35
36
37
38
38
38
37
38
37
33
34
32
33
33
32
33
34
34
35
36
37
36
38
39
40
41
42
42
42
46
46
47
49
49
46
44
43
43
41
40
41
42
39
40
42
44
46
48
47
43
43
41
42
41
41
41
40
41
41
39
38
40
42
44
42
42
40
40
40
40
39
38
40
35
35
36
35
36
36
34
36
37
35
33
34
37
34
33
35
35
37
39
40
44
45
44
42
41
42
41
41
40
43
43
44
43
45
46
44
45
47
49
50
48
49
46
51
48
45
46
46
45
46
46
45
43
43
42
40
40
39
40
39
40
39
40
39
38
42
38
38
37
37
40
41
44
43
46
49
50
49
47
46
46
44
46
45
45
45
42
43
45
44
44
44
46
44
46
46
46
44
46
46
44
42
39
39
40
39
41
40
38
37
42
39
38
37
38
40
37
35
32
33
34
35
36
36
35
33
34
33
34
31
31
33
34
31
32
33
36
35
38
36
37
35
35
33
31
29
30
31
33
36
37
36
37
35
34
37
38
38
38
37
33
32
31
32
34
35
37
38
37
38
40
43
43
43
43
39
39
40
42
43
43
42
41
39
39
39
40
39
38
39
38
39
44
42
38
37
39
36
38
41
40
38
37
40
40
38
38
35
34
37
39
38
38
38
40
43
46
45
44
45
43
41
41
42
41
45
45
47
49
46
45
42
43
44
46
48
49
49
47
46
47
50
46
44
42
42
45
43
43
41
44
42
44
44
44
43
46
50
53
54
51
51
50
48
45
44
42
44
46
44
44
44
43
39
45
46
47
50
48
47
46
45
48
47
48
43
40
40
39
37
38
35
36
38
39
40
39
42
41
42
41
43
42
38
40
40
39
39
39
40
41
41
44
44
41
44
44
45
45
44
44
45
46
48
50
49
51
53
52
54
53
50
48
48
49
45
47
46
48
48
49
50
49
45
46
47
46
46
44
46
44
44
44
42
41
42
42
43
41
42
41
42
38
42
42
45
43
45
45
43
40
39
38
37
36
39
39
36
37
37
37
42
41
42
43
44
45
46
47
48
44
46
46
47
46
39
41
42
42
44
44
44
47
46
43
45
48
50
51
49
49
49
46
45
47
43
41
39
39
39
38
42
39
40
39
37
36
36
37
40
35
34
34
36
37
38
35
35
36
35
34
35
34
37
35
33
34
37
37
36
34
30
32
34
32
31
32
34
35
34
33
35
35
37
36
35
35
37
36
37
39
40
39
40
40
39
46
46
47
50
54
56
59
60
62
67
65
65
66
63
59
58
56
53
55
58
58
60
58
57
56
56
54
47
45
46
47
48
47
47
46
44
40
42
41
40
40
41
41
44
43
42
41
39
37
37
37
38
38
40
38
41
41
39
41
40
38
40
42
42
43
42
42
44
44
52
49
52
49
49
48
48
47
47
51
59
55
55
56
52
50
51
51
52
49
46
45
50
49
48
49
48
49
46
42
41
41
39
42
41
40
41
41
41
37
35
35
34
35
35
33
32
32
34
34
34
32
34
33
32
33
34
34
35
33
35
32
31
32
32
34
37
38
42
40
40
36
37
38
37
37
36
36
36
38
39
37
37
37
40
41
39
43
40
40
40
38
37
38
39
39
40
38
39
40
41
40
38
38
41
42
41
41
45
43
43
44
44
44
43
45
46
46
40
42
41
39
40
39
39
42
42
41
43
39
36
37
39
40
43
47
43
48
52
50
50
49
51
52
50
48
51
51
50
50
49
48
50
51
51
49
48
51
50
50
51
53
54
53
52
49
48
47
50
49
48
49
47
48
47
41
43
42
42
42
44
44
44
47
45
43
40
39
40
41
42
43
43
43
44
44
42
47
43
42
41
40
36
36
36
38
41
38
39
40
38
38
37
37
38
40
43
41
44
43
42
41
40
42
39
37
37
36
38
40
41
40
41
41
43
45
44
43
41
43
45
45
47
46
44
44
42
41
40
43
48
45
43
39
40
40
39
37
37
36
36
37
40
39
38
41
41
41
42
43
41
41
42
41
40
41
43
45
47
47
48
47
44
47
46
47
46
43
41
42
42
42
45
39
41
44
44
44
44
45
43
40
38
35
36
36
35
38
39
39
39
37
37
35
40
42
40
41
43
40
42
42
41
42
41
40
37
37
37
37
39
39
38
39
41
40
41
39
41
39
40
40
39
39
40
43
44
46
46
47
43
42
44
45
41
42
43
43
41
42
43
47
48
47
46
44
45
44
41
41
42
41
42
40
38
39
40
41
40
40
40
37
36
36
38
42
41
38
39
40
40
38
40
37
40
43
41
44
42
42
45
46
47
44
43
42
39
41
42
41
41
45
47
44
45
44
41
40
40
41
39
38
37
37
36
37
36
36
36
40
39
40
41
40
40
41
42
41
38
39
42
41
38
39
40
42
44
42
40
38
40
41
39
39
39
42
43
46
48
45
44
43
42
42
40
40
42
38
41
41
43
44
45
44
43
44
43
43
43
44
40
38
40
42
44
45
45
44
44
49
44
43
42
43
45
50
49
48
49
49
50
50
45
45
45
45
47
46
42
41
39
37
35
39
36
39
39
42
40
41
44
44
40
40
40
40
41
39
42
44
44
39
36
39
39
42
42
42
46
44
44
45
44
47
46
47
45
43
44
42
45
43
42
43
41
38
36
35
35
36
37
38
36
35
37
39
36
37
35
31
34
35
32
33
33
34
34
33
36
39
39
37
39
38
39
38
36
34
34
36
36
36
36
38
39
37
38
39
40
41
44
44
41
37
38
35
34
36
37
34
31
31
34
34
37
38
38
37
37
40
42
39
38
38
38
36
38
39
40
43
43
44
46
45
45
44
46
48
49
47
46
46
50
49
49
47
50
50
52
51
54
53
50
50
51
47
45
43
42
42
43
45
49
48
45
46
42
42
43
40
41
42
42
40
42
42
42
40
40
39
44
40
41
41
42
41
43
42
38
39
43
44
44
41
40
38
40
43
43
42
41
44
46
46
49
50
48
48
47
48
47
45
45
44
46
43
41
43
43
43
42
43
44
43
41
41
41
39
38
38
37
36
36
35
35
33
36
36
37
43
43
45
44
43
44
44
43
44
43
42
43
43
47
47
46
45
46
51
50
51
48
49
49
47
48
53
52
49
53
52
48
49
50
48
46
45
47
50
49
49
52
50
50
48
49
49
50
49
49
46
45
42
45
46
46
46
46
43
43
45
45
43
43
43
43
39
41
42
39
37
38
40
45
46
45
45
46
46
46
47
46
49
44
44
46
45
45
47
46
46
48
48
50
51
54
55
50
52
52
49
46
48
47
45
44
42
43
43
41
41
41
40
39
38
40
41
40
40
41
41
40
41
41
38
40
43
45
44
44
46
40
39
40
38
37
38
38
35
35
37
38
42
44
51
49
50
50
48
47
46
46
44
44
45
48
50
51
50
53
51
51
52
52
51
50
49
49
48
46
47
46
50
56
56
50
46
45
43
43
46
45
46
46
45
46
46
43
43
47
51
48
46
46
46
45
45
46
42
42
44
45
40
41
42
40
39
40
41
42
43
43
44
43
45
48
46
47
44
44
43
42
44
43
43
43
42
41
43
42
43
43
45
46
46
43
40
38
38
38
39
36
36
38
42
40
35
36
36
37
37
38
39
41
40
39
41
41
45
43
44
44
43
43
39
38
40
39
40
40
42
45
43
42
42
46
44
44
39
39
38
36
33
34
35
33
37
39
39
40
38
35
34
35
36
37
36
36
35
35
37
34
32
30
30
32
36
33
32
32
33
32
30
31
31
33
31
30
30
28
27
25
27
25
27
29
28
28
29
28
29
31
35
36
38
41
41
40
40
41
38
34
33
31
31
32
31
34
32
34
36
33
32
32
35
35
36
38
35
36
35
37
34
38
37
44
47
46
47
49
44
43
43
42
42
43
44
47
49
49
46
46
46
43
43
43
47
50
49
49
50
49
50
49
50
51
50
52
52
54
53
49
47
47
49
48
48
50
52
55
56
55
57
52
53
54
52
49
48
50
50
50
51
50
48
47
46
46
47
44
45
46
50
47
47
49
51
50
47
44
44
43
42
45
43
43
41
41
44
44
48
49
46
46
44
44
45
44
48
48
48
45
45
42
42
42
42
41
42
41
43
43
44
44
44
42
42
43
45
45
42
45
48
47
47
47
45
47
47
44
45
46
45
46
48
48
47
49
48
49
48
49
47
44
49
51
51
51
50
49
47
47
47
49
52
54
54
54
54
57
58
53
54
53
50
47
45
44
42
43
40
40
40
40
44
45
46
47
48
49
52
55
54
53
54
48
49
53
54
53
54
53
53
55
54
55
54
51
47
48
46
43
41
41
41
42
39
41
41
36
38
38
39
37
35
37
38
37
40
43
47
50
48
45
44
42
43
42
37
37
38
39
36
40
38
42
43
41
39
36
41
43
44
40
41
42
41
40
40
42
41
40
43
40
40
39
37
37
37
36
36
37
34
34
36
36
38
35
31
30
30
34
33
35
38
36
35
38
38
37
39
39
37
33
34
34
33
31
29
28
27
26
27
27
28
29
26
27
26
26
27
28
27
29
30
28
30
30
30
32
32
32
35
37
35
33
32
29
30
29
29
27
26
28
28
31
31
32
36
37
40
36
32
31
30
30
32
37
39
40
39
37
37
36
36
38
37
37
37
36
36
35
36
37
37
37
37
40
39
39
40
39
35
38
37
38
38
39
40
39
41
43
41
40
43
43
39
40
39
39
40
40
40
42
41
41
38
39
38
37
40
42
39
44
44
42
45
43
44
46
43
43
44
41
41
38
37
38
36
40
41
39
38
37
40
42
43
39
39
38
40
41
39
40
42
41
38
39
39
38
37
40
40
41
40
39
39
44
45
42
41
42
41
38
40
39
37
38
39
41
43
39
37
37
36
34
34
34
34
31
33
34
33
32
34
34
35
37
39
40
36
39
38
38
39
43
43
44
45
46
44
40
42
42
38
36
37
39
39
38
37
38
36
35
33
32
34
34
31
31
36
39
38
35
34
34
32
32
33
35
36
37
37
40
38
37
34
35
37
41
42
44
45
41
42
38
37
33
34
37
39
40
41
41
41
43
45
43
45
45
44
43
40
38
42
42
40
39
43
41
43
44
45
43
41
42
43
38
37
39
42
42
45
43
39
41
44
44
43
41
43
41
42
44
43
43
46
44
43
44
45
46
46
43
42
43
41
44
45
45
45
45
46
43
47
50
49
52
54
53
54
53
50
48
51
50
52
54
52
51
47
46
43
42
42
46
45
44
43
41
41
41
41
41
43
45
42
43
43
43
45
46
47
47
48
51
50
51
51
51
54
50
49
47
49
46
46
46
46
45
42
41
41
41
41
44
46
46
46
45
43
42
40
40
38
40
38
37
35
36
41
42
45
46
46
46
47
45
43
44
40
39
39
38
36
36
40
43
44
44
44
43
42
44
41
38
40
39
41
43
45
46
43
43
42
41
39
44
41
39
45
45
45
47
45
43
42
37
37
33
34
34
36
38
38
39
42
45
47
42
45
45
49
48
50
50
49
18
17
18
17
17
18
18
17
16
15
15
17
18
19
20
18
18
20
18
17
15
15
15
14
16
17
18
19
19
19
17
16
16
16
16
15
15
14
14
15
15
14
13
12
13
13
13
13
14
15
15
15
13
13
14
14
15
13
15
15
17
19
18
18
18
18
17
18
16
18
18
18
18
18
18
17
20
20
19
20
19
19
19
20
20
19
20
20
19
19
20
19
20
20
20
21
19
19
20
22
24
25
26
28
28
28
26
26
27
27
27
26
24
24
24
24
24
23
24
24
23
22
22
21
21
22
22
23
22
21
21
18
19
20
20
19
19
18
19
16
15
15
13
14
16
15
15
16
15
15
15
18
19
17
17
14
15
15
14
13
14
15
16
17
17
17
17
16
16
16
16
17
17
16
15
17
17
17
17
17
20
20
21
23
22
22
22
23
24
26
25
24
23
24
24
23
25
26
26
26
26
26
27
28
28
29
28
26
25
25
25
25
25
26
26
24
24
22
22
24
25
24
25
22
21
20
19
19
19
18
18
19
19
19
17
18
19
20
20
23
23
22
22
23
20
20
19
18
18
20
22
23
24
24
23
24
22
22
23
23
22
22
21
21
20
18
18
19
20
21
21
21
19
18
19
19
19
19
19
19
20
20
19
19
20
20
20
20
22
22
22
21
19
17
19
18
18
18
18
17
16
16
16
17
18
17
16
16
16
16
15
15
13
13
14
14
14
13
13
13
14
16
17
17
19
18
17
17
16
17
18
18
19
20
19
19
18
17
16
16
17
17
15
13
13
13
15
16
18
18
19
18
19
19
17
17
15
15
16
16
14
14
14
15
15
15
15
14
14
15
16
16
17
17
17
18
17
17
20
20
21
23
21
22
23
22
21
22
22
21
21
23
24
24
21
22
20
19
18
17
16
15
16
17
16
16
16
16
17
18
16
16
17
17
16
16
15
15
14
13
14
13
13
15
15
15
16
17
17
17
16
17
17
16
17
19
19
18
18
18
19
18
17
17
18
18
20
21
19
18
19
19
20
22
23
22
20
21
19
16
17
16
19
19
19
19
19
17
17
17
18
19
19
19
17
19
19
20
19
22
24
23
22
20
19
19
19
20
21
21
21
21
22
20
20
20
21
21
23
22
23
21
21
22
22
21
21
21
22
21
20
19
17
18
18
20
19
19
20
19
18
19
19
17
16
16
17
19
20
21
22
24
24
25
24
22
21
20
20
20
20
17
19
19
18
18
17
17
17
16
17
17
17
15
16
18
18
19
19
20
19
20
20
20
20
20
20
21
21
21
20
20
21
21
20
19
18
18
18
17
17
16
15
17
17
17
17
17
17
17
18
18
18
19
20
20
19
21
21
22
22
22
22
22
23
25
25
26
28
27
25
25
22
19
19
20
20
20
19
19
23
22
22
22
21
23
21
20
20
20
17
17
17
17
16
17
17
18
17
20
22
21
20
21
20
17
17
16
15
15
16
16
16
17
16
17
17
17
17
18
18
17
16
14
14
16
15
15
15
14
14
14
16
15
16
16
15
16
16
17
18
19
19
19
20
21
21
21
22
21
21
20
20
21
20
19
20
23
23
21
21
22
24
25
21
21
19
18
18
19
18
20
21
21
23
25
24
24
24
25
25
24
24
25
24
22
23
24
22
20
20
21
21
20
20
19
19
20
20
21
22
21
22
21
21
22
23
24
23
21
22
23
24
24
24
25
26
25
25
23
24
23
25
25
25
25
25
25
25
25
24
23
24
25
25
25
25
26
26
27
26
26
26
26
27
24
24
23
23
24
23
23
24
23
23
23
23
22
20
21
22
22
23
25
25
24
24
23
22
24
25
24
25
26
26
28
28
28
29
29
28
27
25
24
25
27
27
29
28
30
32
31
29
28
31
31
32
31
34
32
30
29
28
25
25
24
23
24
25
24
23
23
21
21
20
20
20
21
21
22
21
21
22
22
21
21
22
22
22
21
19
20
20
20
20
21
22
22
22
23
22
22
21
20
22
23
23
23
25
25
27
28
29
29
29
29
29
30
29
28
27
25
25
24
23
24
23
22
25
23
23
23
22
22
22
22
19
19
20
23
22
21
19
21
21
22
23
24
24
23
23
22
22
23
23
22
23
23
23
22
22
21
21
22
23
23
22
23
21
24
24
24
26
27
25
24
23
23
23
22
20
19
20
15
14
15
15
15
15
15
14
14
15
14
14
17
16
17
17
17
17
17
16
16
17
17
19
20
20
20
20
22
23
23
24
24
26
24
24
21
21
20
20
20
20
19
19
20
19
20
19
20
21
21
20
20
19
20
19
18
19
20
18
18
19
19
17
18
18
17
18
19
18
19
19
20
20
23
23
23
25
25
25
25
24
25
25
25
25
27
28
28
28
28
28
26
25
25
26
26
26
26
27
28
30
29
29
30
31
30
28
30
29
30
30
26
24
23
24
25
25
24
23
23
25
24
26
27
28
27
28
27
26
26
26
26
26
27
26
28
29
31
32
30
32
30
30
31
31
31
31
31
30
30
28
31
30
30
30
31
30
27
26
26
25
23
19
20
20
23
23
24
25
25
27
26
27
27
24
24
26
26
25
24
24
24
24
24
24
25
26
27
26
27
29
31
32
32
31
29
28
29
28
26
26
25
26
26
24
23
23
23
22
21
22
22
22
23
23
24
24
24
25
24
24
24
24
25
23
22
22
21
19
19
19
18
18
18
18
19
20
20
19
19
19
20
18
20
21
21
21
23
22
22
22
22
19
19
19
20
19
17
17
17
17
16
15
15
17
18
18
20
20
21
22
21
21
20
21
19
20
20
21
21
21
20
23
25
25
25
25
23
23
23
26
28
26
26
26
27
29
29
29
31
31
29
28
28
28
27
26
26
26
27
26
26
27
27
27
28
28
25
24
23
22
22
21
21
22
22
22
22
21
21
21
20
20
21
21
23
23
23
23
23
24
23
24
25
25
26
28
27
28
27
28
26
28
26
25
23
23
23
23
23
23
24
23
25
25
25
25
25
25
25
24
25
23
25
24
23
22
20
20
19
18
18
17
17
18
19
19
20
21
21
20
21
22
23
23
24
24
21
19
18
19
19
20
20
19
19
19
20
21
21
23
25
26
25
24
25
22
21
21
21
20
19
18
18
18
19
19
22
22
22
22
21
22
22
22
22
21
20
20
20
20
20
20
20
21
21
21
20
19
19
19
21
21
23
23
23
21
20
21
21
23
24
23
25
25
25
23
25
25
23
26
26
26
26
26
26
26
26
26
27
27
25
25
25
25
23
23
22
21
19
17
17
16
16
16
18
18
19
20
22
22
20
21
22
22
21
21
20
21
22
25
24
24
25
27
27
25
23
23
23
23
24
24
23
23
24
24
24
23
22
22
22
21
22
22
21
21
21
22
22
22
22
22
21
22
21
20
21
21
21
21
20
21
21
21
21
22
21
20
19
19
15
15
15
16
15
15
18
18
16
17
17
16
16
16
16
16
16
17
15
15
15
16
14
17
18
19
17
17
17
19
19
19
21
21
20
21
20
20
20
20
19
20
21
21
19
22
23
22
23
23
24
23
23
23
22
22
22
23
24
26
26
28
27
26
26
26
26
26
25
24
25
25
25
29
29
30
28
28
29
30
30
30
30
31
30
28
26
27
28
28
28
26
26
26
26
27
26
26
28
26
25
21
20
21
21
23
22
22
22
22
23
23
24
23
22
21
22
22
22
21
20
20
20
20
18
18
17
18
19
20
20
19
20
20
21
21
19
20
19
18
16
16
16
16
17
16
17
18
18
18
20
19
20
20
20
20
20
21
22
19
18
18
18
20
19
20
20
19
22
21
20
19
21
22
21
23
24
22
21
21
21
21
22
22
22
21
22
22
22
22
23
22
22
22
23
22
21
19
17
17
19
18
17
17
15
17
17
17
17
18
18
18
18
18
17
17
17
17
17
18
18
18
19
19
19
18
16
17
17
18
17
18
18
17
19
21
21
21
23
22
22
21
20
20
20
20
21
20
21
21
21
21
21
21
21
21
21
21
20
21
21
21
23
25
24
25
26
27
27
28
28
26
26
26
26
27
28
29
32
33
31
29
31
31
31
31
28
30
29
30
30
28
26
25
25
24
23
24
25
25
24
24
24
26
28
28
28
28
28
27
29
29
28
26
27
26
26
26
26
24
22
23
23
21
20
20
19
19
18
17
17
17
17
18
17
17
21
21
21
22
21
21
19
19
19
18
20
19
20
20
21
20
18
18
19
19
21
21
22
22
22
22
22
23
23
20
19
20
21
21
20
20
20
20
23
23
24
25
25
24
25
25
26
26
26
25
24
26
26
26
29
27
26
25
24
23
23
24
25
26
25
25
25
23
23
20
21
22
20
21
20
20
20
20
20
21
20
22
23
23
23
22
22
21
21
21
22
21
22
20
21
21
22
21
20
17
16
18
18
19
20
18
18
17
18
18
16
15
14
14
14
13
14
13
17
17
16
17
16
17
16
16
16
17
17
18
18
16
16
16
16
13
13
13
10
10
10
10
9
9
12
13
13
13
14
14
13
14
14
14
14
14
14
14
15
15
14
14
14
13
14
16
16
16
16
16
15
15
15
15
15
16
17
17
17
16
19
22
21
23
23
24
23
23
22
22
20
20
18
19
19
18
18
18
18
18
18
18
20
20
20
20
20
18
19
18
18
18
18
18
19
20
20
19
19
22
22
22
19
19
20
21
20
20
20
20
20
21
21
20
21
22
25
25
25
24
24
22
22
23
23
22
24
23
22
22
24
24
24
22
23
20
18
19
19
20
18
20
19
19
17
17
17
17
17
16
16
16
16
16
16
16
17
17
17
17
17
16
17
18
18
19
19
19
20
21
21
21
20
22
21
21
22
22
20
21
20
20
20
19
19
19
20
20
19
21
21
24
25
24
22
23
23
22
24
23
23
25
26
25
25
24
25
25
23
19
18
18
19
19
19
19
19
18
17
16
16
16
16
16
16
16
16
17
17
18
18
18
18
18
17
16
17
18
18
19
20
20
21
21
18
18
19
19
18
19
20
20
21
21
21
21
21
20
20
20
19
18
18
16
16
15
18
18
17
17
17
18
18
19
19
17
17
17
15
14
13
12
12
11
11
11
13
13
13
13
12
12
14
14
15
16
12
12
11
11
11
11
12
11
11
12
12
15
16
16
16
16
16
15
14
12
13
14
16
16
15
16
16
18
18
18
20
20
19
17
19
20
20
20
18
17
17
17
18
19
19
18
18
16
16
15
16
15
15
16
16
18
19
18
18
17
18
17
17
17
17
18
18
19
19
18
16
18
19
18
17
17
18
17
17
17
17
16
17
18
18
20
19
19
19
18
17
16
16
15
15
17
18
18
19
18
18
17
17
17
17
18
20
20
21
22
23
22
23
22
22
22
22
21
20
20
20
20
18
17
17
17
18
19
19
19
20
20
21
21
20
19
20
21
21
21
21
19
20
19
18
18
16
15
14
15
14
15
15
14
16
16
18
17
18
18
18
21
22
21
21
22
25
26
26
25
25
26
26
25
24
23
24
21
21
22
21
23
23
23
22
21
19
19
20
20
21
21
20
20
22
23
22
23
22
20
20
22
22
23
24
25
25
24
23
25
24
24
25
27
28
28
28
29
28
28
26
25
25
26
26
25
24
23
23
24
24
25
25
28
25
25
26
25
27
28
27
25
25
26
26
28
28
25
24
25
25
25
25
26
26
26
26
28
30
30
29
28
27
26
24
24
23
23
23
22
22
23
21
22
22
22
23
26
24
24
25
25
25
26
25
24
24
24
22
22
23
24
24
23
21
22
19
21
21
22
22
23
23
24
23
24
25
23
22
22
21
20
19
18
18
17
18
18
17
17
17
16
18
18
20
20
20
21
21
22
22
21
21
21
24
23
22
23
23
22
22
22
23
24
22
22
21
21
22
23
24
25
27
27
28
30
29
27
28
28
29
26
25
25
23
23
23
23
23
24
25
24
24
26
28
28
29
29
29
29
29
28
26
27
26
26
27
26
26
26
25
25
25
25
26
25
23
24
24
24
22
22
22
23
23
23
23
24
25
25
25
24
22
24
23
23
23
23
22
23
22
22
24
22
21
23
20
19
20
20
20
19
20
19
17
20
21
21
22
26
25
25
25
27
23
22
21
19
19
18
18
18
17
17
17
19
19
17
16
18
20
20
20
21
21
20
21
20
20
20
22
21
21
21
21
21
21
22
22
23
21
20
21
22
21
24
24
23
24
23
24
24
25
23
22
24
25
26
26
27
25
25
23
21
21
21
21
22
22
23
24
23
22
22
22
23
24
23
22
23
23
22
20
20
21
23
24
24
22
22
22
22
22
22
22
21
24
24
24
22
22
24
25
26
27
26
26
24
25
24
25
24
26
27
27
27
28
25
24
24
23
24
24
23
23
23
22
21
20
20
18
17
16
18
18
17
17
17
17
18
19
19
19
19
20
19
21
20
20
21
19
19
19
18
17
17
18
18
16
16
15
15
15
15
16
17
16
19
19
19
19
18
19
19
19
19
18
20
18
18
20
21
20
19
18
17
18
19
19
19
18
17
18
18
19
19
21
21
19
20
21
19
20
21
21
22
22
23
23
22
22
21
21
22
22
21
22
23
22
22
20
20
21
20
20
20
22
22
20
18
20
21
19
19
19
20
18
18
18
19
18
19
18
18
19
20
21
21
21
22
23
22
22
22
23
23
23
23
22
22
21
22
23
24
26
27
26
26
25
25
23
23
22
22
23
21
21
20
20
20
21
20
20
21
20
20
20
18
20
21
20
20
20
20
21
22
21
24
25
22
21
20
20
20
21
22
20
19
21
23
23
22
22
21
21
21
24
23
21
21
22
21
20
20
21
24
23
23
24
21
20
21
20
19
19
19
19
20
20
20
20
19
19
21
20
19
18
19
20
20
21
21
21
20
21
21
20
20
18
18
18
20
21
19
19
20
22
21
23
24
23
23
23
24
25
24
23
24
25
26
27
27
27
26
26
27
26
26
25
24
24
24
24
24
23
22
21
21
21
21
18
17
17
16
14
13
15
15
15
14
12
15
16
16
15
14
15
18
16
16
17
18
17
15
15
17
18
17
18
18
17
17
16
17
18
18
16
16
16
16
15
17
17
17
18
19
22
22
21
20
21
21
20
21
20
20
22
24
24
25
26
26
27
29
28
30
29
27
26
27
27
29
31
29
29
28
31
31
31
30
30
30
29
29
26
26
26
26
25
27
26
27
28
28
29
28
27
28
27
28
27
28
30
29
28
30
29
29
28
27
25
26
23
25
25
24
25
27
27
27
26
27
28
28
27
27
29
29
29
30
30
29
26
28
29
27
27
27
27
26
26
26
26
25
22
21
23
25
24
26
28
28
30
30
30
30
29
29
29
28
28
27
27
26
26
26
26
25
25
25
26
26
25
24
23
20
21
20
18
18
18
18
19
21
21
21
22
23
24
23
22
23
23
22
24
24
24
25
26
26
25
26
26
25
24
27
29
29
28
28
25
24
23
20
20
22
20
22
20
20
22
22
22
22
22
23
21
22
22
23
23
22
23
21
22
24
23
25
26
26
25
27
26
28
26
25
25
25
24
24
25
25
23
23
23
22
21
20
19
18
19
19
18
19
19
20
21
21
22
21
20
21
20
19
19
21
24
23
22
22
22
22
22
22
22
20
22
22
23
23
22
20
20
20
21
21
21
19
21
20
21
21
22
22
22
22
22
21
22
22
21
21
22
21
22
20
23
24
25
22
22
22
22
25
24
25
25
25
25
26
26
24
23
25
25
24
23
24
25
28
29
29
27
27
26
26
26
27
27
26
26
25
26
25
26
26
26
26
25
27
29
30
30
30
30
30
30
31
30
28
29
29
31
29
28
25
24
26
25
25
25
25
24
26
25
25
25
25
26
25
26
23
22
21
20
21
23
22
22
20
18
19
18
17
17
16
16
16
17
17
17
17
18
20
21
22
22
21
24
24
23
22
24
23
22
24
23
20
19
17
17
17
16
16
16
16
17
18
18
18
17
16
16
17
16
17
15
16
18
19
18
17
18
18
19
19
18
17
17
19
18
17
17
19
18
17
19
20
18
18
18
18
17
16
19
20
21
21
21
19
19
19
19
20
21
20
21
21
20
20
20
19
18
18
17
20
19
19
19
21
21
21
21
20
20
19
18
18
18
18
17
17
16
16
16
16
18
18
17
18
17
17
18
18
19
19
19
19
19
19
20
19
21
21
20
20
20
20
22
20
21
20
20
20
20
19
20
20
20
22
25
26
26
23
22
23
23
24
22
22
21
20
19
17
16
18
17
18
20
21
22
21
22
22
23
24
23
24
24
20
20
19
19
18
17
17
18
19
18
20
18
20
21
21
21
21
22
23
21
21
21
21
21
21
21
20
21
20
21
21
21
23
23
24
22
23
23
25
27
26
26
27
27
30
29
30
30
29
30
26
26
26
26
24
22
22
22
22
23
23
24
23
24
24
24
26
28
27
27
27
26
26
24
24
23
21
19
18
18
17
17
17
18
18
18
17
17
16
18
19
19
18
17
16
16
16
16
16
16
15
17
18
18
18
17
18
14
15
15
15
14
15
15
15
17
18
18
18
16
17
19
19
19
19
17
18
20
19
18
16
15
16
16
17
18
17
19
19
20
21
22
21
20
19
18
18
19
19
19
18
17
17
17
16
15
17
17
16
15
15
15
15
16
16
17
17
18
18
18
19
19
18
21
24
21
20
16
17
19
19
18
19
20
19
19
20
18
16
16
15
17
19
18
19
20
21
21
20
21
19
18
17
15
14
14
14
16
17
15
16
17
17
17
18
18
21
20
23
24
24
25
25
24
24
23
22
22
22
21
22
22
21
22
23
24
24
24
23
23
23
23
23
23
21
21
21
21
21
22
23
23
22
24
25
25
25
23
20
19
19
19
20
19
18
17
18
18
15
16
20
20
20
20
22
21
19
19
19
18
19
18
19
19
20
20
20
20
19
22
22
22
23
24
23
21
19
19
19
20
19
19
19
20
21
20
21
21
21
23
24
24
23
20
20
20
19
18
17
16
16
16
15
16
17
18
17
17
17
18
19
19
19
20
20
20
19
20
21
23
25
23
22
23
24
27
26
26
28
27
26
25
25
27
26
25
25
25
22
23
23
24
25
26
24
26
24
24
26
24
22
21
23
24
21
20
20
21
20
20
23
22
23
23
24
24
23
23
22
21
23
22
21
20
20
22
21
21
19
21
22
22
24
25
24
24
24
23
22
21
21
20
19
18
18
18
18
16
17
16
17
17
17
17
17
16
16
14
17
17
18
18
18
19
18
16
16
13
13
12
14
15
13
12
12
12
13
11
13
13
14
14
15
15
13
14
13
12
13
13
14
15
14
14
14
14
13
14
14
13
14
14
14
17
18
16
18
18
19
19
20
20
21
21
21
19
20
20
21
19
19
18
17
18
18
17
18
20
22
20
19
19
18
17
19
19
19
19
17
18
17
19
20
20
20
22
22
21
22
22
23
23
22
21
18
19
19
19
19
18
18
20
23
23
23
22
21
22
22
22
21
21
21
21
20
20
21
21
20
21
21
22
21
22
20
22
24
26
25
25
25
26
25
27
28
26
26
25
24
21
21
21
21
21
20
20
18
17
17
17
17
16
16
16
15
15
16
18
17
16
17
18
18
18
18
18
18
18
18
19
20
20
21
21
20
21
21
22
21
22
20
20
21
22
21
21
20
20
20
22
23
25
24
21
21
21
20
21
22
21
21
23
23
22
22
22
22
25
23
21
22
23
23
24
24
23
23
22
22
22
23
25
26
23
26
28
24
24
25
24
24
24
23
23
24
24
24
25
24
23
22
21
20
20
19
20
20
19
22
23
24
24
25
25
23
22
22
23
22
23
24
24
25
25
27
25
27
28
28
28
30
28
30
29
27
26
27
27
27
27
28
27
27
28
28
29
30
30
29
29
28
28
29
29
28
27
27
27
26
26
26
27
27
27
26
25
25
25
27
25
24
22
22
22
21
20
23
21
21
23
23
23
22
23
23
22
23
23
22
22
23
23
25
26
26
26
25
24
25
25
24
23
24
24
24
22
23
24
24
25
24
25
24
23
23
23
23
23
23
26
27
26
27
28
26
25
24
23
23
22
23
23
23
25
27
27
29
30
30
30
29
30
30
29
29
29
28
29
29
29
29
29
29
29
29
29
29
30
31
32
33
33
32
32
30
29
30
30
30
29
28
28
29
29
28
28
27
26
25
26
25
23
22
21
19
21
20
21
22
20
21
23
23
22
22
21
21
20
19
19
22
21
21
21
21
21
22
22
22
21
20
20
20
19
19
19
19
20
20
21
22
21
21
21
21
19
19
18
18
17
17
17
17
17
18
20
21
22
21
21
20
20
22
22
21
19
17
16
17
19
20
20
20
21
22
23
22
21
19
21
21
19
19
20
22
22
22
22
20
19
19
18
20
21
21
21
22
23
22
23
23
24
23
21
20
17
17
16
16
16
19
19
22
22
22
22
22
22
21
21
21
21
19
19
18
19
20
20
19
19
20
18
17
18
18
18
18
18
20
20
20
21
21
20
19
20
20
21
21
19
19
19
20
20
19
20
20
19
20
20
21
21
19
17
17
17
19
20
20
19
17
18
18
19
18
17
18
18
18
18
16
17
20
21
22
21
19
19
20
19
19
19
18
19
20
22
24
24
26
25
25
25
25
22
23
22
22
23
23
24
23
23
23
23
23
23
24
19
19
20
21
20
19
20
19
19
18
17
17
20
20
20
20
20
18
19
20
21
22
20
17
19
19
19
19
16
15
17
17
15
15
16
15
15
15
16
17
18
18
18
18
19
18
18
19
17
16
16
17
19
18
17
17
16
15
13
13
14
14
14
14
14
14
12
12
12
12
13
13
12
12
13
14
14
14
14
14
15
15
15
17
15
17
17
17
19
19
18
18
19
18
19
19
19
19
18
18
18
20
19
19
18
21
21
20
20
19
19
22
22
21
21
21
20
20
21
24
24
23
23
22
25
24
22
21
21
20
22
21
21
21
21
21
21
22
23
23
24
22
22
21
20
18
17
16
16
17
17
18
17
16
18
18
17
19
19
18
19
17
19
19
20
20
21
23
25
21
20
21
20
20
21
19
20
20
21
22
22
23
22
22
21
22
21
20
19
19
19
19
20
20
21
22
23
22
23
22
23
23
22
25
23
23
26
26
25
24
24
24
24
24
25
25
25
26
25
26
26
28
28
28
28
28
27
27
26
26
26
24
24
23
22
23
23
23
23
24
25
23
22
22
20
18
17
19
19
18
19
17
18
17
17
17
18
17
17
17
16
17
17
18
18
18
18
19
18
19
19
20
20
21
21
22
22
21
20
20
19
20
21
22
21
21
23
23
22
22
24
24
23
25
25
24
24
24
22
22
22
24
24
26
26
24
25
24
22
21
20
20
18
16
18
19
21
20
20
20
18
17
17
17
17
17
18
18
17
18
17
18
18
19
18
19
18
17
17
15
15
14
15
15
15
16
16
16
15
14
11
10
11
11
13
13
12
12
12
12
12
13
13
14
14
14
14
13
14
14
15
16
16
16
16
17
17
14
13
12
12
11
12
10
11
11
11
11
9
9
12
13
13
13
13
13
13
13
12
12
12
15
15
15
16
16
17
17
17
18
18
18
18
19
19
20
20
21
22
22
22
22
22
22
22
21
21
21
22
23
23
25
26
25
25
23
24
26
24
25
26
26
25
24
24
26
26
28
28
28
27
26
27
26
27
27
25
26
26
25
25
24
23
22
21
21
22
23
24
23
21
21
21
20
22
23
22
22
23
23
24
24
22
22
21
19
21
24
25
27
28
30
30
26
25
25
25
24
23
24
24
24
23
22
22
20
21
20
21
24
22
22
22
23
23
24
23
23
23
21
21
20
22
22
23
25
25
26
25
26
24
25
24
24
21
21
21
19
19
19
21
21
20
20
20
19
17
16
16
18
18
18
18
18
17
16
15
15
16
15
16
14
14
15
17
16
16
17
17
16
16
16
17
16
17
17
17
18
18
18
18
18
20
19
20
21
22
22
23
23
23
24
24
24
24
21
21
23
23
23
22
22
21
22
22
21
23
23
23
23
22
23
23
22
23
22
22
22
24
23
23
23
22
22
22
21
20
19
20
19
22
21
20
21
22
22
21
22
25
24
24
21
22
22
20
19
21
20
20
22
23
21
20
19
19
19
19
18
19
19
20
21
21
21
22
22
19
19
19
20
22
21
22
23
23
24
22
20
20
21
22
22
23
24
25
25
24
25
28
31
30
29
29
29
29
28
28
27
28
25
24
25
26
25
24
24
27
27
27
26
26
27
28
29
29
28
29
32
32
33
33
32
32
32
33
32
32
30
28
27
27
29
29
29
29
28
27
28
28
28
27
27
28
29
30
30
28
27
24
22
22
23
21
20
20
21
21
20
20
21
23
24
25
25
22
21
20
20
18
19
19
20
21
20
19
19
19
21
23
22
23
22
24
23
24
25
26
27
26
25
24
25
24
23
24
25
26
28
26
25
24
25
25
24
22
19
18
18
20
21
22
22
19
21
20
19
19
18
18
18
19
19
19
19
19
19
18
20
20
19
18
19
19
19
20
21
20
20
20
20
21
22
22
21
23
22
21
22
23
23
23
23
22
23
24
22
23
21
21
21
18
18
17
17
18
19
17
17
17
18
19
19
20
19
18
18
18
20
21
19
18
16
21
20
20
20
19
20
20
19
18
19
19
20
20
21
21
20
20
20
19
19
21
21
20
19
18
19
19
20
19
19
18
17
17
18
20
19
18
17
18
18
17
16
15
14
15
15
13
13
13
12
12
11
10
12
12
11
11
13
13
13
14
15
12
11
12
12
12
12
13
12
10
11
13
13
14
14
14
13
13
14
14
14
14
15
15
15
15
16
15
15
17
16
14
15
15
17
15
16
17
15
16
16
15
14
14
14
14
15
15
15
15
16
18
18
18
17
18
18
19
19
19
20
19
20
20
19
20
19
18
18
17
18
18
18
18
18
20
19
17
15
15
15
16
16
18
18
19
19
21
23
23
23
23
23
24
24
23
23
24
23
21
20
21
21
21
20
20
20
21
22
22
22
25
24
24
23
22
21
21
21
20
19
21
20
21
21
22
21
21
22
21
22
20
20
20
21
21
21
20
21
20
19
20
19
17
18
18
19
20
20
18
16
15
15
16
17
18
16
16
16
15
15
14
16
17
17
18
18
19
19
21
21
21
21
23
23
23
21
21
20
19
19
20
20
20
20
22
22
24
23
24
22
21
20
21
19
19
19
19
19
20
21
21
22
20
20
19
20
20
21
21
22
22
24
24
25
24
24
25
25
25
23
22
22
22
22
20
18
18
19
19
21
21
21
21
21
22
21
24
25
26
26
22
22
23
22
23
22
22
22
24
26
27
29
29
27
28
28
27
29
30
30
29
28
27
29
29
28
27
26
26
26
27
27
24
25
24
26
28
29
29
29
28
27
26
26
26
26
26
26
25
26
25
25
25
25
25
26
27
27
27
25
25
24
24
21
20
21
22
21
21
20
19
20
19
22
22
23
23
21
23
24
23
23
24
24
24
24
25
25
25
26
25
25
23
21
19
18
17
17
18
19
18
19
20
20
18
18
19
19
19
20
21
21
21
21
19
20
21
23
23
22
21
20
20
21
22
22
22
21
21
22
23
25
23
24
24
23
24
24
25
25
25
25
24
25
23
23
23
22
21
22
22
21
22
22
22
22
23
24
22
23
23
21
20
20
19
20
21
21
22
22
22
22
22
22
22
22
22
23
23
22
21
21
21
19
18
18
18
19
18
19
19
19
20
21
21
24
24
24
26
25
27
26
26
26
24
25
26
25
24
23
24
24
23
23
23
22
23
23
23
23
24
24
24
24
24
25
25
25
25
25
26
27
27
27
28
27
26
26
29
29
29
28
28
29
26
25
25
25
25
24
24
26
27
26
25
25
25
25
23
22
23
25
25
25
27
27
27
26
26
25
25
25
25
26
25
26
27
27
27
28
27
27
26
25
24
24
24
24
25
25
24
25
24
24
24
22
23
23
22
22
23
23
23
23
22
22
22
21
20
21
22
22
22
22
22
22
22
23
24
27
26
27
26
25
24
25
24
24
25
24
25
25
25
25
23
22
20
19
20
21
22
21
21
22
21
22
23
24
26
26
26
26
24
26
28
30
30
30
30
31
32
32
32
33
31
30
30
29
27
25
26
27
28
27
25
25
24
25
29
30
31
31
31
30
30
31
30
29
28
28
29
28
28
27
27
26
27
26
26
26
26
26
27
27
28
28
28
28
28
27
26
28
26
25
24
23
22
23
23
23
22
21
20
18
18
18
18
17
17
17
17
17
15
15
15
14
16
18
19
18
20
21
20
19
19
18
18
18
18
17
17
16
16
17
17
17
15
15
15
13
13
13
13
13
13
13
13
14
14
13
11
10
9
9
10
10
10
13
14
13
13
13
11
11
11
11
11
12
13
14
14
14
14
12
11
11
14
14
15
15
15
15
17
17
17
17
16
17
18
19
21
23
24
25
27
26
30
29
27
27
27
26
25
25
25
27
29
30
30
30
28
29
29
29
28
29
29
29
29
28
27
27
27
27
30
30
31
31
30
30
28
29
29
30
30
30
32
33
33
31
29
29
28
28
28
28
25
26
26
26
25
26
26
27
28
27
30
31
31
31
30
29
28
26
25
24
25
24
23
24
23
24
24
24
24
24
24
24
22
22
23
23
24
23
23
22
22
21
21
22
23
22
22
25
25
25
25
23
23
22
23
23
22
19
19
19
18
18
18
19
18
17
18
19
19
20
20
19
19
22
22
21
22
21
22
22
23
21
20
20
19
20
20
20
19
21
22
24
25
23
24
25
23
23
24
23
23
21
20
20
20
20
20
19
19
20
23
24
26
25
23
24
25
24
22
21
21
22
22
23
22
21
22
21
20
20
20
20
18
18
17
16
15
15
15
15
14
14
15
15
16
16
17
18
18
15
15
13
14
14
13
11
11
11
10
11
11
11
11
10
9
10
11
12
11
10
9
10
10
11
10
9
9
9
9
10
11
11
12
14
16
16
16
16
16
18
16
17
17
18
18
18
17
15
18
19
20
19
18
19
17
17
17
15
16
16
16
15
16
17
18
19
19
19
20
20
21
21
21
22
21
20
20
23
25
25
25
24
23
21
22
22
23
25
25
24
25
25
27
26
28
28
29
28
31
32
30
31
32
35
37
35
38
37
33
32
31
29
29
29
28
29
29
28
30
31
31
30
28
29
28
26
26
24
24
24
25
25
24
24
26
24
24
23
22
23
24
25
25
26
25
25
25
25
22
22
24
25
25
26
26
26
27
28
29
29
27
28
28
29
29
29
26
24
23
24
24
24
25
24
25
25
25
26
25
24
23
22
20
19
17
17
17
17
17
15
15
15
15
15
15
17
17
18
18
17
19
20
18
17
17
18
17
18
16
13
12
13
14
15
15
15
16
16
17
17
18
17
17
18
18
19
18
18
18
18
17
16
17
16
16
16
15
15
15
15
16
15
15
15
15
15
15
14
15
16
16
17
15
17
17
17
15
15
15
16
16
15
15
15
15
14
14
14
15
15
16
15
15
15
15
15
15
16
17
19
18
18
19
19
22
26
27
28
26
26
27
28
29
30
29
29
29
28
27
27
27
27
27
26
23
25
24
24
23
21
22
21
20
20
21
21
21
22
24
25
28
26
25
25
26
24
26
27
25
26
25
29
29
29
32
31
29
28
29
28
28
30
31
29
30
28
27
26
27
26
27
28
28
29
27
27
26
26
26
27
28
30
32
31
30
30
30
29
29
30
29
29
28
27
27
26
26
27
26
25
25
23
23
23
23
21
24
25
24
27
27
26
26
26
25
26
24
25
24
23
24
22
21
21
19
19
19
18
19
20
21
20
21
22
22
21
23
22
21
20
18
16
15
14
14
14
14
15
15
15
16
16
16
17
18
18
19
19
21
21
22
21
19
19
19
19
19
19
19
18
18
18
20
20
21
19
19
21
21
21
22
21
23
21
21
21
20
17
16
14
14
15
15
13
13
13
13
13
13
13
15
15
16
16
16
16
16
16
16
17
16
17
16
15
17
17
16
16
15
15
14
14
14
15
15
16
16
15
14
16
16
17
17
17
18
18
18
17
19
18
18
16
16
16
16
16
17
17
17
18
19
17
17
18
19
19
19
18
19
18
19
20
19
18
17
18
18
20
21
22
22
21
22
23
23
22
23
23
24
25
25
24
23
24
24
24
23
22
20
20
19
20
21
21
21
18
20
21
20
22
21
20
19
20
21
21
22
23
23
22
20
18
17
18
18
19
21
21
19
20
20
20
21
20
21
21
20
22
22
23
24
25
25
25
23
23
24
23
23
23
23
21
20
21
20
19
18
18
20
21
21
21
22
21
21
21
21
22
23
23
24
24
22
21
22
23
24
25
26
25
25
24
24
22
22
23
23
24
24
25
25
25
23
24
23
22
23
23
23
22
23
23
22
22
22
23
22
22
24
24
23
23
23
24
24
23
23
23
22
22
22
21
21
21
21
21
22
24
23
23
24
24
24
24
24
24
24
23
22
22
21
20
20
23
23
21
19
18
18
18
18
18
16
16
16
16
14
14
14
16
16
13
13
13
12
12
12
12
13
14
14
14
14
13
14
15
15
17
19
18
18
18
17
17
16
17
18
19
19
18
18
18
18
18
17
16
18
18
18
16
16
18
18
19
18
19
19
19
20
19
20
20
20
21
23
22
25
24
23
22
22
21
20
20
20
22
22
23
24
23
22
23
24
24
25
24
25
25
27
27
25
24
23
19
20
20
21
22
20
21
20
21
20
20
19
18
18
17
17
16
15
14
16
16
17
17
15
16
17
17
17
16
17
18
18
18
19
19
19
18
18
19
20
21
20
20
19
19
18
18
19
20
21
21
21
21
19
21
22
24
25
23
24
22
23
22
22
21
21
21
19
21
21
21
20
21
23
22
23
23
22
24
23
21
22
21
21
20
21
20
21
21
21
20
18
18
19
21
20
20
21
21
21
23
23
23
22
22
20
20
20
19
16
17
17
19
20
21
21
20
21
21
20
20
20
20
21
20
19
18
18
18
17
16
14
14
14
14
13
13
16
16
16
17
18
17
18
18
18
18
19
21
19
18
18
18
19
18
18
18
20
20
22
22
23
24
24
24
22
22
22
22
23
23
23
23
23
23
21
20
19
18
18
18
17
17
19
20
19
20
20
20
21
20
21
21
22
23
24
25
25
23
23
23
20
19
20
21
20
20
19
19
20
20
20
20
19
17
17
18
17
17
17
17
16
15
16
14
13
11
10
11
11
11
13
13
13
13
12
11
11
11
11
10
10
10
9
11
12
11
12
12
12
13
13
13
13
11
13
13
13
13
12
13
15
15
17
19
20
18
18
18
17
17
17
17
16
16
17
16
18
16
17
16
16
16
18
17
16
17
18
19
19
16
16
15
15
15
14
15
15
15
15
14
11
13
14
14
14
14
14
14
13
12
12
14
14
14
12
12
13
12
12
12
11
11
12
13
13
15
14
15
15
15
14
15
13
14
13
13
13
13
13
14
15
14
15
16
16
17
17
17
16
17
17
18
19
18
18
16
15
16
17
18
18
19
19
20
20
20
20
20
21
20
20
21
20
20
20
20
20
19
18
19
19
19
18
18
18
20
20
20
20
19
19
18
18
19
19
21
20
20
20
20
18
18
18
18
16
17
18
17
17
15
15
15
18
18
17
20
20
22
22
22
21
20
20
21
22
23
23
23
23
24
25
25
27
29
30
30
28
28
26
28
27
26
26
25
25
22
22
22
21
19
18
20
21
22
22
21
21
22
20
19
20
20
19
18
17
17
18
19
19
18
18
18
16
16
15
15
15
13
13
13
12
11
13
14
14
15
18
20
20
22
20
21
23
22
22
21
21
21
21
20
19
19
19
20
19
21
22
21
22
24
26
26
26
27
28
29
29
28
28
28
27
26
27
27
28
27
27
26
23
22
19
20
18
18
21
22
22
23
23
23
22
20
21
21
19
18
16
15
16
19
19
20
21
20
20
20
22
22
22
22
20
20
20
18
17
17
18
18
19
18
18
17
15
14
16
16
18
19
17
18
17
18
16
16
17
17
17
17
17
18
18
17
18
17
18
17
18
17
17
15
15
17
17
18
18
17
18
19
18
18
17
18
21
21
19
18
18
19
20
21
22
20
20
20
21
22
24
24
23
20
20
19
18
19
21
23
23
23
24
24
26
24
23
23
25
24
26
25
25
26
26
27
27
27
27
26
26
25
25
24
24
23
24
23
22
24
25
26
27
27
27
27
27
27
24
22
22
25
26
26
26
25
25
25
21
21
21
22
22
22
21
22
22
23
23
24
24
21
21
23
24
23
21
21
22
23
23
21
20
22
22
22
21
22
23
24
22
23
23
25
24
24
23
24
24
25
26
27
27
30
32
31
30
30
30
28
28
28
26
26
26
28
29
30
29
31
29
30
29
29
29
28
27
26
26
26
27
27
26
26
27
24
23
20
20
20
18
19
19
19
21
20
20
21
21
21
20
20
19
20
19
20
20
22
24
24
23
22
24
24
24
25
26
25
25
24
24
24
27
28
27
29
30
30
29
28
27
26
27
28
26
29
30
30
29
30
28
27
26
26
24
23
24
25
25
25
26
26
25
23
22
21
20
20
20
22
22
21
21
22
22
20
19
19
18
15
15
14
14
15
15
18
19
21
19
16
16
18
18
19
18
17
18
16
14
15
14
13
11
12
12
13
13
14
13
15
15
15
15
16
18
19
18
19
17
15
16
18
17
18
18
20
22
20
21
21
21
22
23
22
23
22
22
22
22
21
21
21
23
23
24
24
25
26
27
29
30
30
30
31
30
30
28
25
24
24
22
22
23
25
24
23
23
22
26
26
27
28
28
27
26
26
26
27
28
28
28
26
26
27
27
27
29
30
31
31
31
32
32
33
35
33
32
30
29
27
25
27
26
26
24
23
25
26
25
25
24
23
22
22
22
23
22
24
23
23
23
22
24
24
25
23
23
21
20
19
19
18
18
17
17
16
17
18
18
17
17
19
19
20
22
22
21
21
21
21
20
20
19
21
22
22
22
21
22
22
22
24
24
25
27
27
28
29
27
28
27
26
25
25
24
24
25
25
28
28
25
25
24
24
24
23
23
23
22
21
21
21
19
19
21
23
23
23
24
24
25
24
23
23
23
22
23
24
23
24
23
23
24
25
25
26
26
23
23
23
22
25
25
26
27
28
29
27
26
26
26
25
26
27
28
28
28
28
30
29
28
27
25
25
25
27
28
29
28
29
27
26
27
26
24
25
25
25
25
27
27
28
29
31
31
30
30
30
30
31
30
29
29
28
30
31
30
31
30
31
31
30
31
33
32
33
32
33
31
31
31
31
30
29
28
30
31
31
30
31
30
29
29
29
32
30
30
30
30
30
29
30
29
28
29
29
27
26
26
25
26
27
26
29
30
30
29
29
28
27
28
28
28
28
28
27
26
26
25
26
26
27
27
27
29
27
25
25
23
25
24
23
23
23
23
23
23
22
22
21
19
19
18
19
21
21
21
20
20
20
19
16
15
17
18
18
16
16
15
15
15
16
15
15
16
17
17
16
18
19
18
18
17
18
19
19
17
16
16
14
14
14
16
16
16
17
17
17
15
14
16
17
17
16
17
17
17
16
16
16
17
16
16
16
16
17
17
16
17
19
21
21
20
20
19
21
22
24
25
24
24
23
22
24
24
24
20
20
18
18
16
15
14
14
14
14
14
15
14
16
15
14
15
17
18
17
18
17
17
16
17
17
17
17
18
18
20
20
21
21
20
19
20
18
19
20
19
20
19
20
20
19
20
19
21
21
20
20
20
23
24
23
22
22
22
22
21
21
21
21
23
23
24
24
23
25
24
23
23
24
24
24
24
25
27
25
24
25
26
27
29
29
29
28
27
25
26
27
27
26
27
28
25
25
24
22
23
25
26
26
27
25
23
23
21
23
22
20
19
20
19
19
20
22
23
21
20
21
21
20
19
19
19
19
19
20
21
21
20
21
21
21
23
24
26
26
24
22
22
23
24
23
21
19
19
18
19
19
18
20
19
20
20
20
21
23
24
23
22
23
24
26
27
27
28
30
28
27
28
27
29
29
29
32
31
30
30
30
32
31
31
31
34
32
33
32
32
32
30
30
30
28
26
26
25
28
28
28
27
27
27
27
29
29
30
30
30
29
29
28
27
23
21
21
22
23
23
24
24
24
23
25
26
26
25
24
24
24
25
28
27
26
24
21
21
22
21
20
21
23
23
23
26
26
26
24
24
23
24
22
22
24
24
21
22
22
23
23
19
19
17
17
16
16
16
18
20
20
20
18
18
17
18
17
17
16
15
16
16
17
17
17
18
18
18
17
16
17
19
19
18
20
20
21
21
19
19
20
20
18
18
20
19
19
20
18
18
19
18
17
16
16
17
18
18
18
19
19
17
19
20
19
19
20
20
20
20
19
19
16
15
17
17
17
16
14
14
15
14
14
13
14
14
14
13
14
15
15
15
17
16
17
17
16
16
16
16
17
18
17
16
15
14
15
15
15
15
16
16
16
16
16
16
14
14
16
14
14
15
16
16
15
16
16
17
18
17
17
16
16
16
16
15
19
20
20
20
20
19
19
20
20
21
24
23
22
23
23
23
23
20
18
19
19
19
18
19
20
22
22
22
22
20
21
20
21
20
18
18
19
19
19
19
19
18
18
19
20
20
22
22
22
23
24
26
27
27
27
27
27
28
30
25
26
26
24
25
25
25
25
23
22
21
21
21
20
21
21
22
22
21
21
21
21
21
21
22
23
22
22
22
22
22
22
22
22
24
24
23
24
24
24
25
25
24
23
22
23
23
25
23
22
23
22
22
24
21
20
19
19
20
20
20
19
21
22
21
21
22
20
20
20
21
20
22
23
22
22
22
21
22
22
22
22
22
21
22
22
23
23
24
24
25
26
25
24
24
25
25
24
24
24
23
23
24
24
25
26
25
26
26
26
27
27
28
28
30
30
28
28
29
28
28
28
26
25
25
24
23
22
20
20
20
21
24
23
23
24
22
23
24
21
19
19
19
20
20
19
20
20
20
21
22
22
22
22
21
22
22
20
20
21
20
20
21
22
24
23
25
26
25
25
24
26
25
24
22
24
25
26
26
26
26
26
22
20
19
20
17
17
16
17
15
14
13
14
14
15
15
15
15
16
14
14
14
14
12
12
12
13
13
13
13
14
13
12
12
12
12
12
11
12
12
13
13
13
13
11
12
12
11
11
11
11
12
12
12
11
10
11
12
12
12
11
11
10
12
12
12
12
12
10
8
7
8
8
10
10
10
11
12
14
15
15
13
14
13
12
14
14
14
14
14
15
16
15
14
16
16
19
19
20
18
19
17
18
18
18
18
18
18
21
20
22
21
22
21
20
19
19
20
19
20
20
20
22
22
22
22
21
20
21
19
18
17
19
21
20
17
18
19
19
18
18
19
19
20
20
23
22
21
20
20
20
20
20
20
20
20
19
19
19
21
21
21
21
22
22
21
21
24
26
23
24
23
22
20
19
18
19
19
19
18
18
19
20
20
19
20
20
19
20
20
21
21
20
21
22
18
18
17
17
18
19
18
16
17
17
19
20
21
23
23
24
24
24
23
23
21
19
19
21
21
21
22
21
20
20
21
22
22
22
21
22
22
22
19
18
18
17
18
18
18
18
18
18
18
19
21
21
19
18
17
17
16
15
16
17
16
16
17
17
17
17
17
16
17
16
17
17
17
16
15
15
15
16
15
16
17
17
18
20
21
20
21
19
17
16
16
15
15
15
15
13
14
14
16
17
17
17
20
20
20
20
20
20
20
20
19
19
19
18
19
19
19
19
19
18
20
19
19
18
19
20
19
18
17
19
19
19
18
18
16
18
18
18
18
18
18
20
21
23
22
22
24
24
26
24
22
23
25
25
24
23
23
22
23
21
21
22
21
19
21
21
20
20
22
24
25
24
23
21
20
20
21
22
20
20
20
19
19
20
20
20
21
20
20
20
21
21
20
23
24
25
24
26
26
25
25
25
26
25
25
24
24
25
25
25
25
25
24
27
27
27
28
28
28
28
29
29
30
30
29
28
26
28
26
27
27
27
28
30
31
32
31
32
32
31
31
31
32
32
32
33
28
27
27
27
26
27
29
28
26
25
26
26
26
26
27
26
26
26
25
25
24
24
24
24
24
24
23
23
22
21
22
22
21
20
19
20
20
20
19
17
19
18
17
19
20
20
19
20
19
19
17
16
16
16
16
15
15
15
17
16
17
18
18
18
18
17
16
16
15
15
15
14
13
11
13
13
13
15
16
17
16
15
16
16
18
18
20
22
20
19
19
20
21
20
20
20
22
22
25
25
26
26
25
24
23
23
24
22
21
23
24
24
25
26
26
27
27
26
24
25
25
25
25
25
24
25
25
23
23
22
22
22
23
22
22
22
21
21
21
20
21
20
19
19
20
21
21
21
21
21
20
20
21
22
22
21
19
19
19
20
21
21
21
21
20
19
17
17
17
18
17
17
18
18
16
16
16
15
15
14
14
13
14
16
16
15
17
17
17
18
19
18
19
18
16
15
17
17
17
17
15
16
16
16
15
14
16
16
16
17
18
19
20
20
20
20
19
17
18
18
17
18
17
19
20
21
20
20
18
18
16
16
16
16
16
16
17
16
18
18
19
20
21
19
19
19
20
20
19
19
19
19
21
21
23
24
23
22
22
22
22
22
22
22
21
22
22
22
22
24
25
25
29
30
31
33
32
31
28
28
28
28
26
27
27
27
29
30
29
28
29
28
28
29
27
28
27
28
28
29
28
28
28
28
28
28
28
29
29
29
30
29
29
28
27
28
26
27
29
28
28
28
28
28
28
27
28
27
29
29
30
30
30
30
29
27
25
25
28
28
28
28
30
31
30
30
27
28
28
27
25
26
26
23
27
26
28
27
26
27
27
26
29
29
29
29
29
28
26
26
26
26
27
26
26
27
28
28
29
29
29
30
29
30
29
28
29
29
27
26
26
26
25
25
26
26
27
28
27
26
25
25
23
24
26
26
27
27
26
25
22
22
24
24
23
22
23
22
24
24
22
21
22
23
25
25
26
26
26
24
24
24
24
25
25
25
27
27
24
28
28
26
26
26
27
28
27
27
29
29
30
30
32
31
32
28
27
29
27
27
26
26
24
23
24
24
24
22
22
22
23
24
25
26
26
26
26
28
28
26
26
25
25
26
25
26
25
25
26
25
25
26
26
26
25
25
27
27
26
24
24
24
24
23
22
21
22
22
23
21
20
22
22
23
24
26
28
27
26
26
26
26
25
26
25
25
23
22
24
25
23
23
23
24
25
24
26
26
24
23
23
24
23
20
20
20
21
21
22
23
22
21
21
21
21
21
19
19
18
19
20
19
19
18
16
17
16
14
14
14
14
13
14
14
13
14
14
14
13
14
14
13
13
14
14
15
15
14
14
16
15
16
17
17
17
18
18
19
19
19
20
18
18
18
18
19
18
18
16
16
14
16
16
15
15
14
13
13
13
13
13
11
11
11
10
10
9
9
8
9
11
10
10
9
8
6
6
6
6
6
7
7
7
8
8
9
10
10
9
8
7
8
8
8
8
8
8
9
9
9
9
10
11
11
11
10
14
16
15
14
14
14
15
14
14
12
11
11
11
11
11
12
11
12
11
11
12
13
12
12
12
11
10
11
10
9
10
10
11
14
15
16
17
16
15
17
18
19
20
20
20
20
20
20
19
18
17
16
16
15
15
15
16
15
14
15
15
17
17
17
16
16
17
16
16
14
15
15
14
13
14
13
13
13
13
14
14
15
14
15
15
14
14
14
14
14
15
14
17
18
19
18
17
18
18
17
19
20
20
19
19
19
18
17
17
18
18
18
18
19
21
21
21
19
19
21
22
24
23
23
26
25
25
25
24
22
21
21
23
23
23
24
25
25
25
27
28
27
26
26
25
27
26
25
24
23
25
25
26
25
25
24
23
23
23
21
20
19
18
20
21
20
21
22
22
22
23
24
24
21
19
20
20
20
21
20
19
19
19
18
18
19
19
19
20
20
20
21
21
21
21
22
23
23
22
22
23
24
23
21
20
21
20
19
19
20
20
21
20
19
20
21
21
19
20
21
20
19
18
17
16
16
16
16
15
16
16
17
17
16
17
17
16
12
12
13
14
16
14
14
15
15
15
14
12
12
12
12
12
13
11
10
10
10
10
10
10
10
10
9
8
8
9
11
11
10
10
10
10
10
10
10
12
12
13
14
15
15
17
17
16
14
14
14
14
14
13
12
13
13
13
13
13
11
11
11
14
14
15
15
15
15
14
14
13
13
13
13
14
14
14
14
14
15
15
16
16
16
17
17
16
17
16
16
17
17
16
17
18
17
18
19
16
17
17
15
14
15
16
18
17
18
18
19
18
19
19
18
17
18
18
18
20
20
20
20
20
19
19
19
20
21
22
21
22
20
20
19
20
20
20
19
19
18
18
18
16
16
16
16
17
17
17
20
21
21
21
21
19
20
19
18
17
16
16
17
17
18
17
17
17
17
17
14
17
18
18
15
14
13
14
13
14
14
13
13
14
13
14
13
14
16
16
15
17
17
17
15
16
17
17
16
16
14
14
14
15
15
16
15
15
17
17
18
19
20
20
19
19
20
19
19
16
17
17
18
19
21
21
21
22
23
22
22
22
21
22
23
23
24
26
23
24
24
25
24
25
30
30
30
28
28
27
27
27
27
26
26
26
27
26
26
26
26
26
26
25
25
27
27
26
27
28
29
29
30
29
31
31
31
31
28
27
27
27
27
28
28
30
32
31
31
30
30
30
30
31
31
31
31
31
33
33
33
33
29
29
30
29
30
29
29
27
27
27
26
25
26
27
31
33
33
32
32
32
32
31
29
28
26
23
25
26
26
26
26
24
24
24
25
24
25
25
23
23
22
24
25
26
29
29
30
28
29
31
31
31
31
29
29
29
29
26
26
26
25
24
23
23
22
23
24
26
27
25
25
24
25
24
22
23
22
23
23
22
20
20
19
19
19
19
19
20
20
20
22
25
25
25
25
26
25
25
26
26
25
23
23
25
24
24
23
23
22
22
25
25
24
24
25
26
27
26
25
25
26
27
26
26
26
27
28
27
28
26
26
27
26
26
26
27
28
28
28
28
27
26
25
26
26
25
25
25
23
21
21
21
22
21
22
21
22
24
26
28
26
28
26
26
25
25
26
24
22
20
19
18
18
18
18
20
20
21
21
20
19
19
20
21
21
19
19
19
19
19
18
18
19
19
19
20
20
18
17
20
21
21
20
20
19
19
18
18
18
18
19
21
21
19
20
21
23
23
23
24
24
23
26
26
28
27
27
26
25
25
25
25
26
26
24
24
23
22
23
21
21
21
22
24
23
22
23
24
24
25
25
27
27
25
25
24
24
25
24
21
21
22
21
19
19
20
18
16
16
16
17
17
16
17
17
17
14
15
15
14
12
12
14
14
15
16
15
14
14
13
13
13
13
13
13
15
15
15
15
15
16
16
14
15
16
15
15
13
12
10
9
12
13
14
15
14
14
13
13
11
11
12
12
13
12
12
13
15
16
18
17
16
16
15
14
14
14
15
16
16
16
17
17
17
17
17
16
18
17
17
14
13
15
15
15
15
15
14
12
13
13
13
13
14
14
14
14
16
15
13
12
11
11
11
11
13
15
15
14
13
11
10
11
10
10
11
11
12
12
12
13
12
13
14
14
15
16
16
15
15
17
17
16
14
14
14
16
18
19
19
17
18
20
20
20
17
15
15
15
16
15
13
15
15
15
16
16
20
20
20
18
17
17
16
15
16
16
17
15
15
15
15
13
12
11
11
10
9
9
8
8
8
8
8
8
11
11
14
14
14
16
17
16
15
17
16
16
15
15
14
14
14
14
11
12
12
12
12
12
11
10
10
9
9
10
10
9
9
13
15
14
13
12
12
12
13
13
12
12
13
13
13
13
14
15
15
14
14
14
14
15
15
15
15
16
16
16
15
16
18
17
17
18
19
17
17
17
20
21
21
22
22
22
22
22
25
26
24
22
21
22
22
22
22
23
23
25
24
25
24
23
23
21
22
23
22
22
23
21
21
19
19
20
21
21
20
20
22
22
22
23
21
21
25
24
23
24
23
23
23
24
22
23
22
21
20
19
19
18
20
19
19
19
19
18
18
18
18
18
18
18
17
17
17
17
17
17
15
15
16
17
17
18
18
16
16
16
15
14
14
15
16
17
18
17
17
18
17
15
14
13
14
14
12
12
13
13
11
11
10
11
12
10
11
11
13
14
14
14
15
16
16
16
15
16
16
15
14
15
14
14
15
17
16
16
15
14
14
14
14
14
15
14
15
17
17
17
17
16
16
16
16
16
16
17
18
19
19
19
22
21
21
22
21
21
19
19
20
20
22
22
21
24
23
22
23
24
24
24
23
23
24
21
20
21
21
20
21
20
21
21
21
20
20
20
21
20
20
21
21
21
22
23
26
25
25
24
26
26
26
22
22
21
21
20
20
21
21
21
21
23
24
23
24
25
24
23
23
22
21
21
23
24
22
21
19
21
21
21
20
21
20
18
17
17
17
18
19
19
19
19
18
20
21
20
20
21
21
21
21
20
21
23
23
22
24
24
25
26
25
26
26
23
23
24
23
21
20
20
20
20
21
20
20
19
20
22
22
21
21
20
18
21
22
21
22
19
19
18
19
20
22
22
22
22
22
21
20
19
20
20
21
19
20
19
18
17
18
19
19
19
24
25
25
24
24
25
26
25
26
27
26
25
24
24
25
25
24
23
22
24
25
25
24
25
23
23
23
26
25
27
26
27
27
25
26
26
27
24
25
25
25
26
26
29
28
27
24
24
23
23
23
24
24
23
23
23
22
25
23
24
24
26
25
25
23
21
21
20
19
19
22
21
22
22
22
21
20
21
19
21
22
22
21
20
20
20
20
20
18
18
16
16
16
16
15
14
14
14
14
14
13
13
11
9
8
8
7
7
8
8
8
8
7
8
9
10
10
12
13
13
14
15
14
15
17
18
16
17
17
16
17
16
16
16
18
18
17
18
18
18
18
17
18
18
17
16
16
17
17
18
18
19
20
20
20
22
22
22
21
20
21
21
22
22
24
24
23
22
20
20
20
21
21
21
22
21
20
22
22
22
21
21
21
22
23
24
24
26
24
25
25
24
24
23
23
22
23
23
23
21
21
22
22
22
23
21
22
20
19
18
20
20
22
23
24
25
28
28
29
30
28
29
30
29
28
28
27
26
25
25
25
25
25
26
27
29
28
28
26
23
23
22
22
21
19
19
18
20
20
20
22
22
20
21
21
22
22
24
25
24
23
23
23
22
22
22
23
23
23
22
18
19
18
17
16
15
17
19
21
21
23
22
22
21
20
21
20
21
21
20
21
20
20
19
18
21
21
23
25
25
28
27
25
23
24
23
23
25
24
23
23
24
24
24
24
24
24
24
25
26
27
27
29
28
29
29
28
26
26
27
28
25
26
27
27
29
29
30
30
29
27
26
25
25
25
25
27
26
25
27
27
28
29
29
29
29
29
29
28
28
28
26
25
24
26
26
27
27
28
28
27
27
25
25
26
25
26
27
28
26
27
28
28
28
28
27
27
28
26
26
26
26
26
26
26
26
27
26
25
26
26
25
23
22
22
19
19
19
19
20
20
18
18
17
18
18
18
17
18
18
18
18
19
20
19
20
20
18
17
16
16
14
15
14
16
17
18
19
18
17
17
16
16
19
18
16
16
16
16
17
17
17
18
19
20
20
20
20
20
20
21
21
20
19
17
19
18
19
19
17
16
15
14
14
15
17
16
18
19
19
20
20
20
22
21
19
20
22
23
24
25
24
23
23
22
20
19
20
19
19
19
21
21
22
24
26
28
28
27
27
25
24
22
21
22
22
21
21
20
21
21
20
19
20
20
19
18
18
19
20
20
20
20
20
21
22
22
22
22
23
23
23
25
27
28
26
23
24
22
22
23
23
24
23
23
23
25
25
26
26
26
28
30
29
28
28
28
28
28
26
28
28
29
29
31
30
29
27
27
28
27
26
25
25
25
26
27
27
27
27
26
28
27
27
28
27
26
25
26
27
27
28
28
27
27
23
22
22
21
21
22
23
22
22
20
22
21
23
24
24
23
22
21
22
22
23
22
22
22
23
24
25
26
27
26
24
24
22
22
20
20
21
21
21
21
20
20
20
20
21
19
21
21
22
21
21
22
21
21
21
21
22
20
21
21
19
18
17
17
18
17
17
18
21
21
22
19
18
19
20
19
20
19
18
17
16
16
17
17
17
16
16
13
15
15
15
16
15
16
15
16
16
17
18
18
19
22
23
25
25
25
26
25
25
23
23
23
23
22
21
21
20
20
21
20
19
20
21
21
21
22
25
24
24
23
22
22
23
24
26
27
26
24
22
22
23
22
24
24
26
27
27
29
28
28
29
29
30
30
29
29
29
29
29
29
29
26
25
24
25
25
24
23
23
23
21
23
22
22
22
20
20
20
22
22
23
27
28
30
30
28
29
26
25
24
23
26
29
29
29
30
30
31
31
30
28
28
26
27
27
28
32
32
34
34
35
37
34
34
34
36
34
33
31
31
30
30
29
28
28
28
29
30
29
27
26
28
28
29
28
28
27
28
31
30
32
32
29
29
29
28
29
28
28
28
27
28
28
28
27
25
25
24
25
22
23
24
24
25
25
25
25
25
25
26
23
22
24
24
23
23
22
22
22
22
22
24
22
21
21
23
23
24
24
25
24
26
27
26
27
27
26
24
23
23
23
23
22
22
24
26
28
26
28
30
30
30
30
30
29
30
31
29
29
28
26
25
24
24
23
23
24
24
24
23
24
23
24
24
26
25
27
26
26
26
26
27
27
26
24
21
18
19
20
21
20
19
20
20
20
20
20
21
21
20
20
21
22
21
21
22
22
20
20
21
21
21
20
21
21
21
22
22
23
20
19
20
19
19
21
20
19
21
21
21
22
22
21
21
21
21
22
22
22
23
23
23
23
24
24
24
21
24
23
23
23
24
24
26
27
26
26
27
26
25
25
26
26
24
24
25
25
25
25
25
24
25
26
25
25
25
25
27
27
26
26
27
26
27
26
26
26
25
26
24
23
21
20
22
20
19
19
20
21
22
22
22
21
20
19
19
18
21
21
19
18
15
14
15
17
16
15
15
15
17
18
19
20
21
21
21
22
19
18
17
16
16
16
17
17
17
17
16
16
17
18
18
18
17
16
16
16
17
18
20
21
22
22
22
20
19
20
18
21
20
20
21
22
24
23
21
23
23
23
22
23
20
20
19
18
17
17
17
18
18
22
22
22
23
23
23
22
23
24
22
19
19
18
19
19
22
23
24
24
23
23
22
21
21
22
22
23
24
23
23
22
21
21
21
21
21
22
22
20
19
19
19
19
17
17
17
17
16
16
16
16
18
18
16
17
20
20
22
22
22
23
23
24
25
25
24
24
25
25
25
24
25
24
24
24
25
25
24
25
25
23
23
23
23
24
21
21
21
23
23
22
23
22
22
21
19
20
20
20
22
22
23
24
25
25
26
26
26
26
25
24
24
25
25
23
22
23
20
19
18
19
19
20
20
21
21
21
20
20
20
21
21
21
21
21
19
18
18
19
19
19
20
22
20
23
22
20
19
18
19
20
18
18
19
18
18
18
18
19
20
20
21
22
21
21
20
21
22
23
20
20
20
20
19
19
19
18
19
17
16
18
21
22
21
19
20
19
19
19
19
20
21
20
20
18
17
18
18
20
21
22
21
21
22
20
20
21
21
20
19
20
20
21
21
21
21
21
22
23
22
23
22
22
21
21
21
22
22
21
20
20
22
22
21
21
22
23
22
21
20
21
23
24
24
24
24
22
23
23
23
24
25
23
25
23
22
21
22
21
20
20
21
20
20
20
21
23
22
22
21
21
19
19
18
17
15
15
16
16
16
17
16
17
18
17
17
18
17
16
16
14
13
14
14
14
14
14
14
14
12
14
15
14
15
15
15
15
16
15
15
15
15
11
10
10
11
11
11
12
12
12
12
12
12
11
10
10
11
11
9
11
11
11
12
14
16
15
14
18
17
16
17
18
18
16
17
18
17
17
18
19
19
18
19
19
20
21
20
20
21
20
20
20
19
19
19
19
18
18
18
18
18
20
21
21
22
22
23
21
21
21
21
21
23
23
23
22
23
23
21
21
22
22
23
23
25
26
25
27
27
28
27
28
28
27
27
25
26
28
28
28
28
28
29
29
26
27
26
26
28
27
29
30
29
28
30
29
27
26
26
24
23
22
23
24
25
26
26
26
26
27
28
27
29
29
28
27
26
26
25
24
21
22
23
23
20
20
20
20
22
22
20
20
20
19
19
18
19
19
19
19
20
20
21
20
20
18
19
17
18
17
19
18
18
19
17
18
17
16
14
13
13
13
13
12
13
13
14
15
15
16
16
17
18
18
18
18
17
18
16
15
14
14
14
15
16
16
16
16
16
18
19
18
17
17
17
16
16
15
16
16
15
18
17
19
23
23
24
23
23
23
24
24
25
24
23
24
23
26
26
27
26
26
27
27
28
29
29
28
28
30
31
31
29
27
26
27
25
27
26
25
27
26
25
26
26
25
27
27
28
27
25
25
23
23
24
24
23
21
22
23
23
24
24
24
25
25
25
24
23
23
24
27
26
25
25
25
24
24
26
25
26
27
28
29
30
28
26
25
25
25
25
26
27
26
27
27
25
25
25
25
24
23
23
23
24
24
23
22
22
23
23
23
25
25
23
22
21
22
21
22
23
23
22
21
20
20
19
19
19
19
19
21
21
20
20
23
21
21
22
21
20
20
20
20
18
18
18
20
21
20
19
19
20
19
19
23
22
22
22
22
22
21
20
19
20
20
21
22
23
22
20
19
19
21
21
21
22
22
22
23
23
24
24
23
22
22
22
22
24
25
26
28
29
26
26
25
25
26
24
24
25
24
24
25
23
22
22
21
21
21
21
22
22
21
22
22
21
20
18
19
21
21
21
19
21
21
22
20
21
21
23
24
25
23
22
21
20
19
21
20
20
19
18
18
18
18
16
16
17
17
21
20
21
22
23
23
23
23
23
21
21
21
21
21
21
19
19
19
18
16
17
17
16
17
17
19
19
19
19
19
20
21
22
22
20
19
19
18
19
20
20
20
19
18
24
25
27
28
25
26
27
27
26
26
24
24
24
24
25
25
25
25
25
26
27
27
27
28
29
28
30
28
28
29
28
28
29
29
28
29
30
30
31
30
29
29
29
31
30
30
31
30
31
30
29
29
27
26
27
26
24
26
26
27
28
28
27
26
25
24
25
27
25
26
25
25
25
24
23
23
23
22
20
22
22
22
22
20
19
19
19
17
15
15
15
14
14
17
16
16
16
18
19
18
17
18
19
20
17
17
16
16
17
16
17
19
19
19
20
19
18
18
19
18
18
17
16
17
17
18
18
16
16
17
18
18
18
18
19
19
21
24
24
25
26
26
24
23
21
22
21
20
20
21
19
20
21
21
20
21
21
19
19
20
22
22
22
21
23
24
22
21
20
19
20
21
21
21
20
20
19
18
18
19
19
19
18
20
19
19
19
17
17
17
16
16
14
14
14
15
15
13
14
14
15
16
16
15
15
17
17
16
13
15
14
15
12
12
13
14
16
16
20
19
19
19
20
21
22
25
25
27
25
23
23
22
24
24
24
22
23
24
24
24
26
25
25
25
25
24
24
27
26
26
25
25
25
25
24
24
23
23
22
21
21
21
24
23
23
25
27
27
28
29
27
26
26
26
25
25
24
24
24
24
23
23
23
23
23
24
24
24
24
24
23
24
24
24
24
23
24
24
25
26
24
22
22
22
21
21
21
20
19
18
19
21
18
18
19
18
17
18
17
17
18
18
18
17
18
19
19
21
21
21
23
22
19
18
17
18
18
19
19
18
19
18
19
20
21
21
21
23
24
24
24
25
25
24
24
27
25
25
26
26
25
26
25
24
23
23
24
25
23
22
23
25
25
26
26
26
28
28
29
26
24
24
22
21
22
22
23
23
24
24
26
26
25
25
23
23
26
26
26
26
28
27
28
29
28
27
27
29
30
30
31
29
28
28
31
32
32
33
32
33
32
33
31
31
31
31
29
28
28
29
29
30
32
33
34
30
29
24
23
22
22
21
23
23
22
23
22
24
24
25
25
25
26
25
23
24
24
22
20
19
18
19
20
22
22
24
24
24
24
23
22
23
24
25
26
26
26
26
24
24
24
26
25
26
28
28
27
26
27
27
26
24
23
23
24
24
23
24
24
25
25
25
25
27
27
28
29
28
26
25
25
25
27
26
26
28
28
27
27
27
28
29
29
28
29
29
28
27
27
28
26
26
27
26
26
27
27
27
26
26
27
27
25
25
24
22
23
23
25
26
26
27
26
26
28
28
29
29
28
28
28
28
26
26
27
29
30
30
28
29
29
29
29
25
26
29
28
29
29
29
28
25
24
24
23
25
24
25
25
24
24
23
24
23
23
24
22
23
24
23
22
23
22
22
22
23
22
20
19
18
19
19
19
19
19
19
20
20
19
21
20
20
20
20
20
20
20
20
19
19
19
19
18
18
17
18
18
18
18
16
17
16
17
17
18
18
17
17
16
17
16
13
13
15
16
16
15
17
17
16
14
14
14
15
15
16
15
15
17
18
20
22
19
19
20
20
20
21
20
19
19
18
16
17
16
18
18
19
21
20
21
22
21
19
20
21
21
19
21
21
19
20
20
20
20
21
22
22
22
22
25
26
25
27
26
26
26
26
26
25
24
24
25
25
24
24
24
26
25
24
22
22
21
21
21
21
20
19
19
18
18
17
20
22
23
25
26
25
25
24
23
24
22
22
22
22
23
22
22
21
23
23
24
24
25
26
29
30
31
30
30
34
34
34
31
29
30
28
27
27
26
26
23
24
25
24
25
26
26
26
27
28
28
29
28
26
26
26
26
25
24
25
26
26
26
25
25
26
27
26
25
25
23
21
20
20
21
23
23
23
23
23
23
22
21
19
21
22
22
22
24
24
23
25
23
23
22
21
21
22
22
22
24
25
26
26
25
25
28
27
27
25
24
26
26
27
27
28
27
29
28
28
26
27
28
28
29
27
26
25
24
24
23
23
22
22
22
24
26
27
27
25
24
24
23
23
23
23
23
25
27
28
28
25
24
24
24
26
27
27
26
24
24
24
24
24
25
26
25
24
25
26
25
24
23
23
23
22
23
24
25
24
24
22
22
22
21
19
19
19
19
17
17
16
15
16
19
21
22
22
23
23
24
25
24
24
24
26
26
26
24
24
24
25
25
24
25
24
25
25
26
26
25
25
25
23
23
23
23
23
23
23
22
22
21
22
22
21
21
20
20
20
21
24
24
24
24
24
22
22
21
21
19
18
17
17
16
15
18
18
20
21
21
21
22
22
22
22
21
20
20
20
22
23
21
20
18
19
19
19
20
21
22
24
25
24
23
24
24
22
22
20
17
17
16
17
16
16
15
15
15
15
13
15
16
15
17
17
18
20
22
23
24
22
23
21
21
21
19
21
21
21
20
18
18
18
17
17
19
18
18
19
19
18
16
15
15
17
16
16
16
17
17
17
16
15
16
17
17
17
17
16
18
17
17
17
17
17
18
18
18
19
23
24
25
25
25
24
23
23
23
22
22
23
23
24
22
23
25
24
24
23
22
24
24
23
24
24
24
24
23
22
22
19
19
20
19
19
20
19
18
18
18
18
18
18
20
19
18
19
19
18
18
18
19
19
18
19
19
20
20
21
20
18
19
18
20
21
20
22
20
21
21
22
21
21
21
21
21
20
21
20
21
20
23
21
22
23
22
23
20
19
20
19
19
18
18
20
20
21
21
22
22
22
20
20
20
19
19
21
19
20
20
19
18
21
22
21
20
20
22
22
22
23
23
23
23
22
22
23
23
25
24
23
25
25
25
25
26
25
24
24
24
24
24
25
27
28
28
28
28
27
26
27
25
24
24
23
22
22
20
22
21
21
20
21
21
21
22
21
19
19
19
20
18
17
16
15
15
15
16
17
17
18
19
18
18
19
18
18
20
23
23
25
22
21
20
18
17
18
18
18
17
16
17
17
16
15
16
15
16
17
19
20
19
18
18
19
20
21
20
19
19
18
18
19
18
17
18
18
18
18
18
19
19
19
19
19
19
20
21
21
22
21
23
23
22
22
23
23
24
24
24
23
23
23
23
25
26
26
26
26
27
27
25
25
25
24
24
23
24
22
22
22
22
25
26
25
25
26
28
30
30
28
26
29
31
32
31
31
32
32
33
34
33
33
34
32
32
31
32
30
30
28
27
26
25
26
27
26
26
25
25
23
24
24
25
24
24
23
23
24
24
23
26
27
27
27
27
26
25
24
23
23
22
21
19
19
19
18
19
20
21
21
21
20
18
17
16
15
14
16
16
16
15
15
15
14
15
17
17
17
16
16
18
18
17
16
17
17
17
17
17
17
16
16
16
16
16
17
17
17
17
18
20
21
21
22
22
22
22
21
21
20
19
20
19
19
19
19
20
21
20
20
20
20
18
18
17
18
18
18
20
20
19
20
21
22
22
21
20
18
19
18
18
19
17
18
20
20
20
19
20
24
24
22
23
22
22
22
21
21
21
20
20
21
21
20
19
20
20
20
22
23
23
22
22
22
21
21
21
20
22
24
24
24
22
22
22
22
23
25
25
25
23
24
24
23
26
26
27
25
26
25
24
25
24
25
25
27
25
25
25
27
27
27
26
26
27
29
31
32
32
30
28
28
26
27
28
25
22
24
24
23
23
22
20
19
19
19
19
19
19
19
18
19
20
20
20
21
21
22
22
20
19
20
22
21
21
20
20
19
18
17
17
19
20
19
20
20
21
22
22
20
22
23
23
25
25
24
24
27
27
27
23
22
23
24
25
25
26
25
27
26
24
24
23
23
23
27
28
28
30
30
30
27
26
27
27
30
30
28
26
27
26
23
23
23
23
22
23
23
22
24
24
23
22
23
21
20
20
19
20
19
21
22
21
20
18
18
19
20
19
18
18
18
17
17
17
17
17
17
18
16
19
19
17
16
16
16
16
15
14
14
13
12
12
13
13
14
16
16
18
18
19
21
21
21
20
22
20
18
16
16
16
17
18
18
17
16
14
13
13
13
14
14
14
15
16
16
16
16
16
16
16
16
17
18
16
16
16
16
14
13
12
12
11
11
11
15
15
16
16
16
16
18
18
17
17
17
17
17
17
15
13
13
14
14
16
16
16
18
18
17
19
19
20
22
20
20
20
19
21
20
18
19
18
18
18
19
18
18
18
18
22
23
23
23
23
22
23
22
24
23
22
22
22
22
23
23
22
19
19
21
22
24
25
26
26
26
26
27
27
27
26
27
26
28
28
26
27
30
29
30
28
27
30
30
29
27
26
26
28
27
26
25
25
24
24
25
26
27
26
24
25
25
25
27
29
28
26
26
24
23
22
22
21
22
25
27
26
27
26
25
26
25
26
25
25
26
25
24
23
23
23
23
22
21
26
26
27
28
27
26
25
24
24
24
23
24
22
21
22
19
19
20
20
19
18
19
20
20
19
19
17
18
18
18
19
18
18
20
19
18
18
17
17
18
17
17
16
16
16
19
19
19
18
18
18
18
16
16
17
18
17
14
14
14
16
17
16
16
16
16
17
18
20
19
18
18
16
16
17
17
17
17
19
19
19
19
20
22
21
22
20
20
19
18
20
22
22
22
22
24
24
24
24
24
25
27
25
25
25
25
24
22
23
23
23
21
22
22
20
22
22
22
21
21
23
23
23
22
21
19
21
22
22
22
21
21
21
21
20
19
19
19
17
16
16
18
19
19
19
19
19
21
20
21
21
20
21
18
20
20
19
21
21
22
23
22
25
27
26
26
25
24
24
23
23
20
19
18
18
20
20
19
19
19
18
18
20
19
19
19
21
21
21
21
21
21
19
19
20
21
21
21
22
21
19
17
17
17
18
20
21
21
22
21
20
20
21
19
19
17
17
18
17
18
18
19
20
21
20
20
21
19
17
19
18
18
18
20
19
18
17
17
17
16
15
14
13
14
15
15
14
14
14
14
15
15
15
14
16
15
14
14
14
15
16
18
16
17
17
18
18
20
18
16
13
13
13
13
13
13
14
15
15
17
18
17
17
16
16
15
16
17
19
20
19
19
19
19
18
19
17
14
14
14
14
14
16
15
16
14
13
13
13
14
13
13
13
16
16
16
16
15
14
13
13
14
16
16
16
17
17
20
20
20
19
18
17
15
17
17
15
14
15
16
16
17
16
16
16
16
15
12
12
11
12
10
11
11
12
12
13
13
13
15
15
16
17
16
15
16
14
13
14
15
12
13
13
15
15
15
15
15
16
15
15
16
17
19
18
20
20
20
19
18
19
20
20
19
19
19
20
20
21
21
22
22
20
17
20
20
22
20
17
16
16
16
16
17
20
20
19
18
18
19
19
18
18
19
19
21
20
21
20
21
20
21
22
21
20
20
20
19
20
20
19
18
18
18
19
18
19
20
20
20
20
21
19
21
21
20
20
21
21
21
23
22
24
23
22
22
20
19
19
19
16
16
16
18
18
18
20
21
22
22
21
23
22
23
22
23
22
22
25
23
23
23
24
25
24
23
21
21
21
21
20
21
20
21
20
21
21
20
19
18
17
16
14
15
17
18
19
19
18
16
16
16
17
17
17
16
17
19
20
20
21
21
20
19
17
17
17
17
16
16
17
19
19
18
19
19
18
20
21
21
19
20
20
20
20
20
20
20
19
18
20
19
18
19
18
18
17
16
17
18
19
20
19
20
21
23
23
24
25
27
28
28
30
28
24
24
26
26
28
28
27
26
24
23
25
25
24
23
21
23
24
24
24
23
22
23
24
25
26
25
25
27
27
29
29
27
27
26
24
25
25
26
24
24
23
23
23
24
25
25
26
26
27
28
28
27
27
27
25
26
27
29
28
27
28
27
25
25
25
25
24
24
24
23
23
22
22
22
22
22
23
24
25
24
26
26
25
22
21
21
21
22
21
22
22
19
20
20
20
19
18
17
18
17
16
17
18
19
18
18
20
19
20
18
19
20
19
19
19
18
19
19
17
16
15
16
16
18
18
19
18
19
19
20
18
18
18
18
18
21
24
26
26
27
27
25
24
25
25
25
23
25
25
27
26
24
25
25
27
28
27
30
30
32
32
31
31
29
31
30
30
27
26
25
25
23
25
25
26
25
27
28
29
29
28
28
29
30
31
29
29
26
27
28
28
28
28
29
28
29
28
28
29
28
29
28
28
26
26
31
32
32
30
29
29
28
28
28
29
32
32
31
30
31
29
29
27
27
28
29
27
28
29
28
29
28
29
29
27
27
25
26
26
27
27
26
25
25
24
23
23
22
21
21
23
25
24
23
24
24
23
18
17
19
21
19
19
19
19
19
17
17
18
17
17
16
17
18
18
17
16
18
20
20
20
20
20
18
18
18
18
17
17
18
18
20
20
20
21
23
22
22
23
22
20
20
19
19
19
19
20
18
18
18
18
19
19
19
20
20
22
23
21
20
20
19
18
18
20
20
19
18
18
18
19
21
20
20
20
21
21
19
19
18
20
20
20
18
18
19
19
19
19
21
20
21
21
23
23
25
24
26
25
25
25
25
25
25
25
26
25
26
26
27
28
28
27
28
30
31
28
28
29
29
29
28
29
27
27
28
28
28
28
28
27
27
27
26
25
25
25
24
23
20
19
20
19
20
19
20
20
22
22
21
24
23
24
24
22
22
25
25
25
27
26
24
26
26
26
26
26
26
27
26
27
27
26
28
30
28
27
28
28
28
27
28
26
25
25
26
31
30
28
30
30
29
30
29
27
25
22
23
23
23
25
25
26
27
27
26
23
25
24
25
24
25
25
25
25
26
24
23
23
23
22
22
22
22
22
20
19
18
21
20
21
20
21
20
21
21
21
21
20
20
21
21
21
21
21
21
21
20
21
19
19
19
18
19
20
19
19
21
21
21
21
20
21
21
21
20
23
22
20
20
20
19
20
20
21
22
22
20
20
17
19
19
19
18
18
22
20
20
21
20
20
19
19
18
19
19
18
18
19
19
20
20
19
19
18
23
24
24
22
23
23
25
24
25
23
23
23
23
23
23
24
25
24
26
24
24
24
24
27
26
26
25
24
23
22
24
25
26
24
23
22
22
24
25
26
23
22
22
21
20
21
23
22
20
21
23
24
26
27
26
27
25
25
26
24
23
24
24
23
24
23
22
22
24
23
22
23
22
23
21
22
21
22
22
22
22
21
22
22
23
23
22
22
23
23
25
25
26
27
27
27
27
29
30
29
28
28
27
26
25
27
26
27
27
25
23
23
22
22
23
25
25
24
25
24
25
25
24
22
20
22
24
25
27
25
24
25
24
23
22
17
16
18
19
20
20
20
19
19
22
21
20
20
22
20
18
18
19
19
19
19
19
20
20
21
20
19
20
20
21
19
19
19
16
16
17
17
17
17
16
17
16
16
18
18
18
18
19
19
18
19
22
25
25
25
26
22
23
20
19
19
19
18
17
17
16
15
15
16
16
16
17
17
18
17
17
19
21
21
19
19
21
21
21
20
21
21
19
19
18
18
17
17
18
18
19
19
20
20
20
17
18
19
19
19
21
21
20
19
18
19
16
15
13
14
13
13
14
15
16
17
17
20
20
21
21
20
21
21
20
20
19
18
20
20
21
21
21
21
21
19
20
20
22
22
20
20
21
21
20
21
22
25
25
24
26
27
28
28
28
28
28
29
28
29
28
28
27
27
27
26
27
27
28
28
27
27
27
27
26
25
23
23
23
21
22
20
20
20
20
21
22
22
22
22
23
21
20
19
18
16
16
17
19
20
20
19
19
18
20
19
19
20
18
19
18
17
17
18
18
19
18
18
18
17
18
19
19
20
22
23
22
23
23
24
25
27
26
25
24
23
23
21
19
19
19
17
17
16
15
16
17
17
19
19
20
20
20
19
20
20
21
22
22
21
20
17
18
18
20
21
20
20
20
17
19
20
20
19
19
18
18
18
17
16
17
17
18
18
18
18
19
20
21
20
20
18
18
20
20
20
19
18
18
19
21
21
22
22
21
20
18
18
19
19
19
20
19
19
18
17
18
18
18
17
19
20
20
20
21
21
22
21
21
20
19
20
19
20
20
19
19
18
19
19
17
17
17
16
18
19
19
18
19
19
20
21
21
23
23
22
21
22
22
21
21
23
25
24
24
25
25
24
26
24
22
22
21
20
18
18
17
17
15
17
17
17
17
17
16
14
15
15
15
14
14
17
17
18
17
17
17
17
17
15
14
15
15
15
15
16
16
17
17
17
18
15
14
14
14
14
13
13
13
14
14
14
14
13
13
12
12
12
12
13
13
16
16
16
18
18
18
18
20
19
18
18
16
16
16
16
17
16
16
16
16
17
14
13
11
10
11
11
10
11
11
12
12
13
15
14
16
17
18
18
18
18
18
18
17
16
16
16
16
16
17
18
17
18
18
19
19
16
16
17
18
18
18
19
19
20
20
19
19
19
21
20
20
20
20
21
21
22
22
22
22
20
21
21
22
23
22
23
24
24
25
26
25
27
27
27
27
27
28
29
28
25
23
24
23
23
23
23
23
23
23
20
20
22
22
23
27
26
27
28
29
31
30
29
28
26
26
25
24
23
23
22
22
23
23
22
23
22
21
21
21
22
22
21
19
20
19
20
19
17
16
17
18
17
15
16
15
15
14
13
13
13
13
14
15
16
16
18
18
20
19
21
20
19
17
18
20
20
20
22
23
23
22
24
23
20
20
20
20
19
19
18
20
18
17
16
17
17
16
16
15
14
14
14
12
12
12
15
16
17
17
17
17
16
16
17
17
17
19
20
21
21
20
21
21
21
20
21
21
21
20
20
19
18
17
17
19
18
18
19
19
20
20
20
20
20
20
20
18
19
20
21
21
22
22
22
22
22
24
24
24
25
26
25
29
30
31
30
30
31
31
30
29
30
30
28
28
29
28
28
28
29
30
30
28
28
27
28
27
25
25
26
27
26
24
24
25
25
25
26
27
27
26
26
27
29
29
28
27
25
25
25
25
24
24
24
23
24
23
22
23
22
22
25
25
25
24
23
23
22
23
25
26
25
24
23
22
20
21
20
19
22
21
21
24
23
24
26
28
26
24
22
22
21
21
21
22
23
24
25
26
28
26
25
25
23
23
23
23
22
24
23
24
24
25
28
26
25
25
25
25
25
26
25
23
22
21
22
21
22
22
22
22
22
22
22
22
20
18
18
18
19
18
19
19
19
18
18
17
18
19
19
19
17
17
15
16
16
15
17
16
15
15
15
15
15
15
16
16
16
16
15
14
13
13
14
15
16
16
16
15
15
15
16
15
15
15
16
16
16
16
18
18
19
18
20
21
22
22
22
20
19
19
19
18
18
19
19
18
18
19
19
20
19
17
17
16
15
15
14
15
15
14
16
17
18
18
16
16
17
18
19
19
18
17
17
18
18
18
19
18
17
18
19
19
20
20
20
21
21
22
22
23
22
23
24
24
23
23
23
25
24
23
24
23
21
20
19
19
19
19
19
19
19
18
19
19
17
17
17
18
18
18
18
20
20
19
19
20
20
22
20
21
21
21
20
19
18
19
19
19
18
19
20
19
18
17
18
18
18
17
17
18
15
14
14
16
16
16
17
17
18
16
16
16
16
16
16
16
15
15
16
16
16
15
14
14
15
15
14
15
17
17
17
18
18
17
17
17
17
17
17
17
14
13
12
13
14
14
14
14
14
14
14
14
14
14
14
13
14
16
16
19
19
17
18
18
20
20
24
24
23
25
25
26
25
24
25
27
25
23
25
24
25
24
23
23
24
22
23
24
24
21
21
21
20
21
21
20
20
19
18
18
17
16
16
16
15
15
15
16
15
14
14
14
14
14
14
13
14
14
15
16
17
15
13
13
15
15
14
14
14
14
16
15
15
15
14
14
15
18
17
17
17
19
18
15
16
17
17
15
12
13
15
16
15
15
16
15
15
16
15
15
15
15
14
14
13
13
12
10
12
11
15
15
15
15
14
12
13
13
11
11
13
14
15
14
11
12
13
12
12
12
13
12
13
13
13
13
13
13
15
17
17
18
18
18
18
18
18
20
20
22
22
22
22
22
22
21
21
22
24
24
23
24
23
21
21
21
22
21
21
21
21
20
20
19
19
19
20
20
21
21
21
21
19
19
18
17
16
14
15
14
14
14
14
16
18
18
21
21
20
19
19
19
17
17
17
17
15
14
13
14
15
15
15
16
16
16
15
13
15
16
19
16
14
14
14
14
18
18
18
19
19
17
15
15
15
16
15
17
20
21
20
20
20
20
20
20
19
18
17
15
15
16
17
19
20
21
21
23
24
25
23
24
23
24
24
26
26
23
24
25
23
22
22
20
20
20
22
23
22
23
23
24
24
25
26
26
22
22
24
22
21
22
23
24
23
23
23
23
23
22
24
24
25
25
25
25
26
26
29
29
29
29
26
25
25
26
26
26
27
26
25
25
24
24
22
22
22
22
22
21
21
22
22
23
21
22
22
21
21
22
22
21
21
21
20
19
18
20
20
21
23
23
23
25
23
22
21
20
20
21
21
21
22
22
23
21
20
21
19
22
22
22
23
24
23
22
21
21
22
22
23
23
24
24
24
23
23
23
22
23
22
20
19
18
19
20
21
21
22
21
21
24
21
21
22
22
21
21
21
19
20
26
27
28
27
30
27
26
25
25
23
22
21
21
21
22
21
21
21
20
21
20
19
20
19
20
19
18
18
18
18
19
21
24
23
23
22
20
21
19
19
19
19
21
24
24
23
21
22
23
24
24
25
26
28
26
26
27
26
25
25
23
23
23
23
23
22
23
23
24
23
23
23
23
23
22
22
21
21
22
22
21
20
20
20
19
19
19
19
21
20
22
21
22
21
19
20
21
23
23
23
24
22
23
26
27
26
26
27
26
25
24
23
22
24
23
23
23
24
24
24
23
26
27
26
25
23
24
26
26
26
23
21
21
21
20
21
20
20
19
18
17
18
19
19
21
21
20
20
20
20
19
21
19
19
18
16
17
17
20
21
21
22
21
22
21
21
21
20
20
19
20
20
20
21
22
22
19
19
19
19
20
21
22
19
19
19
20
21
21
23
22
23
24
20
20
19
19
21
19
19
19
18
18
19
19
17
18
18
20
20
18
18
19
18
18
18
17
18
18
19
19
20
21
21
20
21
22
22
21
23
24
23
23
24
24
22
22
24
24
24
25
26
26
25
28
27
27
27
27
25
26
24
24
24
23
23
23
22
24
24
25
25
23
23
22
23
23
23
22
21
21
21
21
23
24
24
26
26
26
24
24
23
22
22
20
19
21
21
21
20
20
20
20
22
21
20
19
18
17
18
18
16
16
16
16
16
15
15
15
15
16
15
16
16
16
15
14
14
13
13
14
14
11
11
10
10
9
9
10
9
10
11
10
11
14
13
13
14
14
13
14
14
13
14
15
16
14
15
14
13
13
14
15
15
16
16
17
18
19
19
18
20
20
20
21
20
20
20
20
20
19
20
20
21
20
21
23
24
25
25
26
26
26
28
28
29
30
29
26
25
25
26
24
23
23
23
24
25
26
26
27
27
25
24
25
23
26
27
26
27
27
26
27
25
23
25
25
25
26
27
24
23
22
20
19
19
17
18
19
22
22
21
21
20
18
17
17
15
14
14
14
14
14
14
14
14
13
12
15
15
14
14
14
14
16
17
17
15
16
15
15
16
15
15
16
17
17
17
18
19
19
21
21
21
20
20
20
20
20
19
19
18
18
18
19
20
18
17
20
21
21
21
22
22
23
25
25
25
24
22
22
21
21
21
21
20
18
21
20
22
22
20
22
23
23
24
25
25
28
28
27
26
29
29
26
25
24
25
27
26
27
26
27
27
26
27
28
26
25
25
24
24
24
23
23
24
26
27
30
31
31
28
26
25
26
26
27
27
26
26
26
26
25
22
25
23
21
21
22
22
22
20
19
21
20
19
20
19
18
18
19
21
20
19
20
20
20
19
17
17
18
16
18
17
17
17
17
17
16
15
17
16
18
17
20
21
22
22
22
21
22
22
22
21
18
19
21
20
21
21
20
20
20
20
21
21
21
21
18
18
17
18
20
19
18
17
19
20
19
17
17
17
19
19
21
20
20
21
22
22
20
20
17
16
14
14
15
15
15
14
14
16
17
21
19
18
16
16
16
17
17
17
16
18
16
16
17
20
20
21
21
21
21
21
21
22
22
19
19
20
21
23
22
23
23
24
24
22
23
24
24
27
25
24
25
26
25
26
26
25
23
23
23
22
21
20
20
21
22
20
21
21
21
21
21
22
21
22
22
21
21
21
22
21
22
22
22
23
23
23
24
22
22
24
23
21
21
21
21
22
22
23
24
23
22
21
23
23
20
21
23
24
28
25
25
26
26
26
27
28
27
26
24
24
25
25
25
25
26
25
27
29
30
30
29
30
30
31
32
33
33
34
33
34
36
37
37
37
38
39
39
38
39
38
39
39
38
39
39
39
38
38
37
38
39
38
38
37
36
36
36
38
38
37
36
35
35
37
39
37
36
36
36
38
38
36
36
36
35
35
34
35
35
35
35
35
33
33
35
34
34
37
35
36
35
34
31
29
28
27
27
26
26
27
27
27
25
24
24
26
26
25
24
23
23
23
21
21
21
22
23
21
18
18
17
17
17
17
16
16
17
18
17
16
14
15
15
17
17
18
20
18
18
19
18
18
18
18
19
20
22
21
20
20
24
24
24
24
23
24
25
24
24
22
23
24
23
23
22
21
22
23
23
22
22
22
22
22
21
22
23
23
22
23
24
26
25
25
24
23
22
22
22
22
21
21
21
23
25
24
24
23
23
22
20
20
21
23
24
22
20
22
23
23
20
20
21
23
24
24
25
25
24
24
23
23
22
23
21
21
19
19
20
20
22
22
22
21
21
22
21
21
21
22
24
24
25
26
24
23
24
22
21
22
21
21
20
20
19
19
19
17
17
18
17
17
18
19
19
19
20
21
20
21
21
21
22
19
19
21
23
23
24
24
23
24
23
23
23
21
20
22
21
22
21
20
18
19
20
20
20
20
20
19
21
21
23
23
22
22
23
24
24
23
23
24
24
23
23
23
23
24
23
23
25
23
21
20
21
21
20
18
18
17
17
15
15
15
17
17
17
18
18
16
17
19
19
19
19
18
19
21
22
23
25
25
26
26
27
26
27
27
29
28
26
26
26
25
25
25
22
21
19
19
20
20
20
21
21
21
20
21
22
24
23
23
23
22
23
22
22
23
23
24
24
25
26
26
25
24
24
25
24
25
25
24
24
24
23
21
21
22
22
22
21
20
21
21
21
20
20
19
19
20
20
21
21
19
18
19
18
16
17
18
19
20
20
20
21
21
21
21
19
17
17
15
16
17
16
15
15
13
13
15
16
15
17
15
16
17
19
18
16
13
13
15
17
17
18
18
19
19
20
18
18
17
18
19
19
17
18
20
19
19
20
20
20
21
22
22
20
20
20
19
19
19
21
20
20
20
21
21
23
25
25
22
21
20
18
17
16
16
16
17
18
18
17
16
17
17
18
19
18
17
17
17
19
20
20
19
20
22
22
23
24
23
23
24
24
24
23
23
24
25
24
22
20
21
21
22
20
17
15
18
18
18
17
16
15
15
13
14
17
17
18
18
18
17
17
17
17
18
20
20
20
19
19
19
20
21
22
21
21
20
21
20
21
21
21
21
21
21
21
23
21
21
22
21
21
21
20
18
19
18
18
18
18
17
17
17
16
19
18
18
17
18
16
14
14
13
12
12
11
11
10
11
12
13
13
15
15
15
14
14
14
12
12
12
12
11
10
10
13
14
14
15
15
13
13
13
14
14
14
14
13
13
13
13
14
14
15
15
15
14
14
15
15
16
17
17
16
16
15
16
17
18
19
19
20
20
20
20
20
20
19
18
18
18
15
15
15
15
17
17
19
19
17
17
17
18
19
18
18
17
17
17
15
15
15
16
17
18
19
20
21
23
22
23
22
21
21
21
21
20
20
21
22
22
21
23
24
23
25
24
24
24
27
27
28
27
28
26
24
25
25
23
23
25
25
25
24
24
23
22
22
23
23
22
18
18
20
20
20
20
22
24
25
28
27
27
25
26
25
25
24
23
17
16
17
18
17
16
15
15
15
15
15
15
15
14
13
12
12
13
15
17
17
18
18
18
17
17
18
19
19
19
19
20
22
23
24
23
25
24
22
21
19
20
22
21
21
22
21
21
21
20
21
21
21
19
19
19
18
18
18
18
19
18
17
17
17
17
17
18
18
18
17
16
17
19
20
21
22
22
22
23
22
22
20
21
22
21
21
19
18
16
16
19
18
18
19
17
18
18
17
17
18
17
17
18
17
18
18
20
18
18
18
20
23
24
23
23
23
24
24
22
22
24
21
21
21
20
19
21
22
21
21
21
21
21
22
22
24
25
25
21
21
22
20
20
20
20
19
19
20
22
22
22
22
23
24
24
24
25
25
25
25
25
25
25
25
26
27
27
27
26
25
25
26
27
28
28
29
30
29
28
26
28
26
25
27
29
27
23
21
20
21
20
18
19
20
20
24
23
21
23
22
21
21
22
22
21
19
18
16
16
17
18
18
18
18
19
21
19
17
17
16
14
14
15
14
17
17
17
19
23
22
21
20
23
26
25
24
22
21
21
22
21
19
19
17
16
17
18
19
18
17
18
19
18
19
19
19
19
19
18
17
18
18
18
19
20
21
22
22
20
20
20
19
20
22
22
21
21
23
23
22
22
22
20
19
21
22
23
23
23
23
23
22
22
21
20
21
21
21
21
20
20
20
20
18
18
19
18
17
17
15
15
15
15
15
16
16
17
17
18
20
19
21
22
22
20
19
19
18
18
16
18
17
17
19
19
18
18
20
20
19
19
19
19
19
18
16
15
15
14
14
15
15
15
15
15
15
15
16
15
13
13
10
11
12
12
12
12
12
13
13
15
14
13
14
14
15
13
12
12
14
14
14
12
12
14
14
14
16
16
17
16
15
16
18
19
21
21
22
23
18
20
19
19
17
17
17
17
15
14
16
16
15
16
16
16
15
15
16
16
15
15
16
12
11
12
12
13
13
13
15
15
15
15
15
15
14
14
14
15
14
16
16
16
16
17
17
18
17
18
19
20
22
21
18
19
17
16
16
17
16
16
16
17
16
15
15
14
16
18
19
21
21
21
22
20
22
21
23
21
20
20
18
17
18
18
18
15
15
15
15
15
15
13
14
16
16
17
17
16
15
15
14
13
12
11
12
11
10
10
10
12
12
12
13
12
13
13
12
10
11
13
12
12
12
13
13
15
16
16
18
17
17
19
20
20
19
20
20
19
20
19
19
23
22
21
20
21
22
21
24
26
26
25
24
23
23
23
23
23
24
25
24
23
23
25
26
26
27
27
26
27
30
32
30
28
27
26
27
26
24
25
26
24
25
26
27
25
25
25
24
24
24
24
25
25
25
26
26
27
27
27
26
25
26
26
25
24
25
26
24
22
22
22
21
20
20
21
21
21
21
21
19
19
18
18
17
18
19
20
21
21
19
19
19
20
16
16
15
15
15
16
15
15
16
15
13
15
14
14
15
17
16
18
17
17
17
15
14
12
12
10
10
12
12
12
12
13
13
14
14
14
14
15
15
15
16
15
16
18
17
16
16
15
16
15
14
16
16
18
17
16
16
16
16
15
13
14
14
16
16
15
16
16
14
15
15
17
18
18
17
20
20
19
21
21
21
21
22
22
22
24
21
21
22
22
22
22
22
24
25
25
24
23
23
25
22
23
21
22
21
22
22
21
20
20
20
19
20
20
21
20
18
19
19
19
18
18
16
15
16
17
18
16
17
17
16
17
16
14
14
14
14
14
14
14
16
16
16
16
17
15
15
15
15
15
14
14
13
12
11
11
10
9
11
11
11
12
12
13
12
12
13
14
14
15
16
15
15
17
18
15
13
13
11
12
12
12
12
13
14
14
15
15
17
17
16
15
15
15
14
14
14
14
15
16
16
16
16
17
17
16
16
16
17
16
17
16
18
19
19
20
21
22
21
22
22
21
22
22
20
19
19
19
20
20
19
19
17
18
18
19
19
19
19
19
19
19
20
18
19
18
17
15
15
16
17
17
17
16
18
19
19
18
17
15
17
18
16
16
15
15
15
15
14
15
14
12
13
13
13
14
15
14
15
15
14
15
15
13
13
13
12
12
12
11
10
10
11
11
11
12
11
11
10
11
12
12
12
12
12
12
12
14
15
14
15
15
14
15
14
13
10
11
11
11
12
13
14
14
15
13
13
14
14
14
15
15
16
16
17
16
16
17
17
19
20
20
20
18
17
16
16
16
16
17
16
16
16
16
16
16
17
18
19
17
16
16
17
16
16
16
16
17
16
17
17
17
18
18
19
20
22
22
23
22
22
21
21
21
22
23
23
23
21
21
22
22
23
20
19
21
20
20
21
19
18
17
16
17
17
15
14
14
11
11
11
11
11
12
13
12
11
9
10
10
10
11
10
10
11
10
9
9
9
10
10
10
10
9
10
8
10
10
11
11
12
13
14
14
16
15
15
15
15
15
16
15
15
15
15
14
15
17
17
17
19
19
20
21
19
21
20
23
24
23
24
25
25
25
26
27
24
22
24
25
26
25
24
26
26
26
28
29
27
28
28
27
28
29
30
30
30
30
31
29
27
28
28
27
28
28
25
25
25
28
28
28
28
29
27
26
28
27
27
28
27
27
27
25
25
25
25
25
25
26
24
22
20
20
21
21
21
19
19
18
18
18
20
20
19
19
19
18
18
18
18
17
18
18
18
18
18
18
19
19
19
18
18
18
18
18
18
18
17
18
19
21
20
21
22
24
25
23
22
22
21
20
17
16
17
19
21
20
20
21
22
22
22
23
25
26
26
25
24
24
21
23
22
22
22
19
19
19
20
19
19
17
17
17
18
18
18
19
19
20
18
18
17
18
19
18
16
16
17
18
17
18
18
19
18
18
18
20
19
19
20
22
22
21
21
20
19
19
18
18
17
17
16
16
18
19
20
21
19
20
18
17
17
18
18
18
18
19
18
18
17
18
16
16
15
17
17
18
18
18
18
18
18
18
18
18
19
18
22
22
22
21
21
21
19
19
18
17
18
18
18
19
20
19
18
18
19
18
16
16
15
15
15
15
15
16
16
17
17
13
13
14
14
13
12
13
12
13
13
13
14
14
14
14
14
14
17
19
21
20
20
19
21
21
19
18
18
18
19
20
18
18
20
20
22
22
23
26
26
27
28
28
27
27
26
26
26
25
26
24
25
25
26
28
26
25
26
26
27
28
29
30
34
33
35
35
34
33
31
29
28
28
26
25
26
26
26
30
30
28
27
29
29
28
29
28
27
26
26
25
28
29
29
28
27
28
28
28
28
27
26
25
26
25
24
24
25
26
27
27
27
25
23
21
21
21
21
22
23
23
22
21
20
20
18
20
18
18
19
17
17
18
18
18
20
18
17
17
17
16
14
14
12
13
12
12
13
14
14
15
14
14
12
13
13
12
10
13
13
13
12
12
10
10
10
9
9
10
10
11
12
12
13
14
16
17
16
16
16
15
14
15
15
15
17
18
18
19
21
20
23
23
23
23
23
21
20
22
21
25
26
28
29
27
27
27
26
27
27
26
27
28
26
24
23
21
21
21
21
21
20
21
23
23
24
24
24
25
26
26
25
24
24
23
25
23
25
26
24
24
23
23
24
26
25
25
27
28
27
26
26
26
26
27
26
25
24
24
24
26
24
24
24
25
24
25
25
24
24
23
24
25
23
23
22
24
25
27
29
28
26
25
25
24
26
27
29
28
27
26
25
25
24
25
25
23
21
20
19
19
21
23
23
25
25
24
23
23
22
22
23
23
23
22
23
21
22
23
24
23
23
22
21
22
23
22
20
19
17
18
18
16
18
16
16
17
17
18
19
17
15
14
14
15
15
13
13
14
14
14
13
13
11
11
11
11
13
12
12
11
11
12
12
11
10
11
13
14
14
14
15
14
19
19
18
17
17
17
16
16
16
15
16
16
16
17
17
17
16
15
16
16
15
15
15
14
14
14
14
15
17
14
14
15
15
15
15
15
16
17
15
14
15
15
13
13
12
12
13
12
13
12
13
14
13
13
14
15
16
15
15
15
16
17
17
16
17
17
17
18
18
19
19
20
19
19
19
19
19
19
19
18
19
18
18
19
20
19
19
21
21
21
21
21
22
22
20
19
17
18
18
20
20
21
21
21
21
21
21
20
19
19
18
18
20
20
21
19
17
18
18
16
17
17
17
18
21
22
22
23
23
24
23
21
20
20
19
20
19
20
21
23
23
23
23
23
22
23
26
26
25
25
26
26
25
24
24
22
22
19
20
19
19
21
21
20
21
21
22
23
25
25
27
25
24
24
24
23
25
24
23
21
21
23
22
24
25
25
24
24
26
26
26
27
26
27
26
26
27
27
27
28
28
27
29
28
27
27
27
30
28
28
27
28
27
27
27
26
26
26
26
26
26
24
23
22
22
22
20
20
19
19
18
19
20
20
19
20
19
20
20
19
18
17
18
19
19
22
21
21
22
23
21
21
21
22
22
23
24
24
23
22
24
23
21
21
21
21
22
22
23
24
24
25
26
27
29
25
24
25
24
25
25
25
24
24
23
24
22
21
21
20
23
23
22
23
23
22
20
18
21
22
19
20
19
18
18
19
18
20
22
22
22
23
23
23
23
24
25
23
24
25
24
24
22
23
22
22
23
24
25
26
25
25
26
25
24
25
25
27
25
25
22
22
22
21
22
22
24
25
24
25
26
25
27
27
26
26
27
26
27
27
27
27
25
25
25
26
25
24
24
23
24
23
22
21
20
24
24
24
23
25
25
25
24
23
23
24
24
24
25
25
25
25
25
25
26
27
25
24
26
25
25
27
27
27
27
27
27
28
30
30
30
27
26
26
26
28
28
26
23
23
24
22
22
22
22
22
23
23
27
26
28
28
26
24
24
23
21
21
19
18
18
18
20
21
21
22
23
25
24
25
25
26
25
23
21
22
21
23
22
22
24
22
23
22
21
20
19
17
17
18
16
15
15
16
17
17
15
16
16
16
17
20
20
20
20
20
19
19
19
20
20
18
18
18
17
17
17
15
16
18
17
17
18
17
19
17
17
17
15
17
17
16
16
16
17
17
16
16
16
18
18
18
19
19
21
22
21
21
21
22
22
20
20
19
18
17
17
18
17
18
18
19
19
17
17
16
17
17
17
18
20
21
21
22
21
19
18
17
18
16
15
16
16
16
17
18
17
16
16
15
14
15
15
13
14
12
12
13
15
16
16
16
18
17
17
19
20
19
19
20
20
22
22
22
22
22
21
22
22
21
22
21
20
20
17
18
18
19
19
20
20
18
17
16
17
17
17
18
17
17
17
17
17
18
18
18
19
19
17
18
18
17
18
18
18
18
21
21
22
20
20
21
21
20
18
18
17
16
16
17
17
17
15
16
17
18
18
19
19
17
17
17
19
18
18
19
20
20
21
22
22
21
21
20
20
20
20
19
19
19
19
20
20
21
21
22
22
23
20
22
25
24
24
23
20
18
18
19
19
19
20
20
18
15
17
19
19
19
19
19
17
18
20
21
21
22
25
26
25
25
23
22
22
23
23
23
23
23
24
25
23
25
24
24
24
24
26
24
25
24
24
26
26
26
25
25
23
21
22
22
21
21
21
22
22
23
23
24
24
25
25
27
26
26
27
28
28
27
26
28
29
29
29
29
28
28
29
29
29
27
26
26
26
27
26
28
26
26
28
26
28
26
26
25
22
21
23
25
25
25
26
27
26
25
25
24
24
24
24
24
25
26
25
25
24
25
23
22
21
21
23
23
22
22
21
20
20
20
19
19
20
21
21
20
19
20
20
20
20
21
21
23
23
23
25
23
25
23
25
23
22
19
19
18
15
14
13
13
11
12
12
13
15
13
13
11
13
13
13
13
12
12
12
13
13
13
13
11
12
13
12
12
12
13
15
17
17
17
16
15
16
16
16
17
17
17
19
20
20
18
18
17
16
13
13
12
11
10
8
6
7
9
9
10
10
10
9
9
9
10
9
9
11
10
10
9
9
11
13
15
14
15
15
14
13
14
14
14
14
17
16
17
18
17
15
15
18
18
19
18
18
16
16
18
17
18
20
20
18
17
19
19
19
19
17
17
17
18
18
18
17
16
17
18
18
18
18
17
18
17
17
15
17
17
17
17
17
17
19
20
20
20
20
18
17
17
17
19
18
18
17
18
19
19
19
20
18
17
16
16
16
16
17
19
19
19
20
21
22
21
20
21
20
21
20
19
19
21
21
20
22
23
24
25
26
26
26
26
26
26
26
25
25
26
27
26
27
28
27
28
30
29
29
28
28
28
28
27
27
27
30
31
30
30
30
28
29
32
30
30
31
30
32
31
32
32
33
32
29
28
27
27
25
25
27
26
24
25
24
22
20
20
20
18
19
18
17
19
19
22
23
24
24
24
23
26
26
25
23
24
22
22
21
20
18
18
18
21
22
21
24
25
25
26
29
28
29
28
27
27
29
28
25
23
23
22
23
23
23
23
23
24
23
22
22
25
25
24
25
26
27
29
27
28
28
29
28
28
27
27
27
30
28
27
27
27
27
27
29
28
31
30
30
30
30
30
27
28
28
28
26
26
29
30
30
30
28
25
24
24
23
24
25
26
26
26
27
28
29
28
27
28
27
28
29
30
30
30
31
30
31
31
31
29
29
29
28
29
29
30
31
30
30
30
30
31
30
29
29
30
30
30
30
30
31
32
32
32
29
29
30
29
28
28
29
30
31
32
31
30
28
27
26
24
24
24
24
24
24
24
24
24
24
25
24
24
24
24
22
21
21
23
23
24
24
23
22
23
24
24
23
23
25
24
24
22
21
21
23
24
26
27
27
26
28
28
27
25
25
23
22
21
22
22
22
20
21
20
21
20
20
21
21
22
24
23
21
22
23
23
23
23
24
26
24
25
25
23
24
23
25
23
23
22
22
22
22
23
23
25
25
26
26
25
24
23
23
24
25
24
23
23
23
24
23
24
24
23
21
19
20
19
20
22
23
22
22
22
21
25
24
22
21
22
21
20
20
21
21
23
21
20
20
19
18
18
17
16
16
18
19
19
19
19
19
19
18
20
22
22
22
22
23
26
26
25
24
22
21
20
20
20
18
20
19
19
19
19
21
21
19
21
19
19
19
19
19
20
21
20
19
20
21
21
21
23
21
21
21
21
21
20
20
22
21
21
21
21
21
23
24
24
24
24
24
24
23
21
19
19
19
20
19
18
16
16
15
14
14
14
14
14
13
14
14
14
17
17
16
16
16
17
18
19
20
20
19
17
20
18
19
18
20
19
16
15
13
12
14
14
15
15
16
15
15
13
14
16
17
17
16
17
17
18
18
17
18
19
19
21
23
24
25
23
24
23
23
22
23
24
21
20
20
22
22
23
22
22
21
23
23
23
24
24
27
26
29
30
29
28
28
29
29
30
31
29
28
30
29
29
28
28
28
29
29
30
30
30
30
27
29
30
31
30
30
31
31
31
31
32
31
29
30
29
29
30
31
31
32
32
31
30
32
32
32
32
30
30
28
28
28
27
27
27
26
26
26
28
26
26
26
26
25
23
25
24
22
22
21
23
24
24
24
24
24
25
26
25
26
26
25
27
26
27
27
29
30
31
30
30
29
29
29
30
30
29
30
33
31
30
30
29
29
29
25
25
26
28
30
30
30
29
32
31
30
29
27
28
27
27
28
29
30
32
32
32
31
29
29
29
28
29
29
28
28
27
28
29
28
29
29
28
29
27
27
27
27
26
25
25
23
25
24
23
21
21
18
16
16
17
17
13
14
14
13
14
14
16
16
15
15
16
17
17
16
16
16
16
16
15
15
16
17
17
16
16
16
17
16
15
15
15
14
15
15
17
17
18
17
16
14
14
15
15
15
14
15
17
18
17
17
18
21
21
21
21
21
22
20
20
20
22
23
21
22
22
22
20
20
19
21
21
21
23
22
22
24
23
23
24
23
23
23
25
23
22
21
21
21
22
22
22
22
21
20
20
19
20
20
19
21
20
21
23
24
25
26
27
28
28
28
27
27
26
27
27
24
23
23
24
25
25
24
25
25
26
29
28
28
29
28
25
25
25
23
23
22
22
22
22
23
23
22
24
24
24
24
24
23
24
26
27
29
28
26
28
29
29
28
27
26
26
26
26
26
27
27
28
26
27
27
26
26
25
25
25
23
25
24
26
26
26
27
26
23
24
23
23
24
26
25
24
26
27
27
26
27
27
25
25
25
25
25
25
23
20
19
21
21
20
20
21
22
25
27
24
25
23
25
24
23
24
22
22
20
20
19
19
19
20
20
20
20
20
21
24
26
27
27
28
28
24
24
22
21
20
21
22
22
21
21
23
24
25
25
25
25
25
24
21
19
21
20
18
18
18
17
17
18
18
17
19
19
19
19
17
18
18
20
20
20
20
20
20
23
22
23
22
22
21
20
19
18
17
18
17
17
17
18
19
19
19
19
18
17
17
17
18
17
17
15
12
12
11
11
13
11
12
11
11
12
11
11
12
12
12
13
13
14
17
17
17
16
17
18
17
18
18
18
18
17
16
15
15
16
16
17
18
18
18
18
18
19
19
19
20
19
18
19
19
18
18
17
16
16
15
15
15
15
15
15
14
15
15
16
18
18
18
18
18
18
18
18
17
18
17
18
19
19
20
21
22
22
23
22
21
20
18
19
18
18
17
19
19
21
21
20
19
20
20
20
22
21
22
24
22
21
21
20
17
17
16
17
15
15
14
14
15
14
14
15
15
16
17
15
15
15
14
15
17
18
18
19
19
20
20
19
20
20
22
23
23
24
27
26
25
25
26
27
27
27
27
27
25
26
27
27
26
26
25
25
23
24
24
24
22
23
23
23
24
25
25
26
26
26
26
26
24
24
27
26
26
26
26
25
27
27
27
27
25
24
24
24
24
24
27
27
26
25
25
26
26
26
26
25
24
25
23
21
20
22
22
21
20
22
23
22
23
23
22
21
21
20
20
21
24
24
23
23
23
22
21
22
25
24
23
23
22
21
20
20
19
17
17
17
17
18
19
19
21
21
19
20
20
23
24
25
25
25
24
23
23
21
23
22
22
20
21
21
21
21
19
20
20
20
21
22
21
21
22
21
22
22
22
22
22
20
20
19
19
20
20
22
22
21
19
19
20
21
21
21
21
21
21
21
20
20
21
23
22
22
21
21
21
20
19
18
18
18
19
20
21
21
22
22
21
23
23
22
22
21
19
18
18
15
13
13
14
14
16
17
16
15
13
13
14
15
15
14
15
15
16
15
14
11
10
12
11
12
10
11
9
9
7
6
5
6
6
7
7
9
9
11
11
12
12
13
12
14
14
14
16
14
16
17
17
17
18
20
20
20
20
20
19
19
19
20
18
19
19
19
20
20
20
19
19
20
21
21
21
20
22
22
22
21
22
22
22
22
22
22
19
19
19
18
17
17
21
21
22
22
21
21
20
20
21
20
19
19
20
21
21
21
20
18
19
19
18
19
20
19
18
16
18
19
19
19
19
18
18
18
18
18
19
20
20
21
20
21
21
21
23
24
23
25
24
24
23
23
24
24
22
20
20
21
20
20
20
20
17
17
17
17
16
17
19
19
19
19
18
18
19
18
17
18
18
18
18
19
18
17
18
19
20
20
20
19
19
19
19
19
19
20
19
18
19
20
20
20
20
20
20
20
18
18
18
22
24
23
23
23
23
26
25
24
24
25
25
28
28
29
30
29
28
28
27
25
22
21
21
22
22
22
22
23
23
25
26
26
26
27
26
25
26
27
26
25
25
24
25
25
24
23
23
24
25
25
26
25
25
25
24
23
24
26
25
24
24
24
25
25
25
24
24
23
22
22
21
22
23
21
20
21
21
21
17
17
17
16
17
16
17
19
20
20
20
19
18
17
17
17
19
17
17
16
17
18
19
19
19
20
20
20
20
21
21
21
20
20
20
20
20
20
22
22
21
22
22
20
19
20
21
22
24
25
25
25
24
26
29
29
30
29
27
27
26
26
26
27
28
28
29
28
27
28
28
28
27
28
28
28
28
26
26
26
27
27
27
27
29
29
28
29
30
29
29
27
26
25
25
25
24
24
23
21
21
21
23
26
24
25
23
23
22
23
23
24
25
24
23
21
19
20
20
21
21
24
24
26
26
25
25
24
22
22
23
26
26
25
24
26
25
25
23
22
22
24
23
22
21
21
22
22
20
20
18
17
17
18
18
19
19
19
19
20
20
21
22
22
24
23
23
21
23
23
23
22
23
25
25
25
24
24
23
23
23
22
21
21
20
21
23
24
23
25
26
23
25
25
25
24
22
22
23
24
23
22
22
21
22
23
23
24
23
23
23
23
22
24
22
21
21
21
19
19
19
17
17
17
17
18
19
19
19
18
18
19
19
18
18
19
19
18
19
18
20
18
18
17
16
17
17
15
12
13
12
11
12
14
13
13
12
11
11
11
12
12
13
13
14
12
12
12
13
16
16
16
17
16
15
15
15
17
17
17
18
17
18
18
19
19
21
20
19
18
17
16
17
18
18
19
19
19
19
20
21
21
21
22
22
22
22
21
21
20
18
18
18
18
18
18
19
18
19
18
18
18
17
17
17
17
19
20
21
21
20
22
22
23
24
23
22
21
20
21
21
20
21
22
22
22
21
22
25
25
23
22
22
22
21
21
21
21
22
24
24
22
22
22
23
23
23
23
21
21
21
21
21
19
19
19
18
18
18
20
19
20
24
22
22
22
22
22
22
21
20
18
17
21
22
23
24
25
24
24
25
26
27
27
26
26
26
25
26
27
27
27
28
27
27
30
30
31
30
29
30
29
30
29
28
27
27
27
27
28
27
26
24
25
24
23
23
23
22
21
21
22
23
27
27
25
27
27
27
27
26
29
30
29
28
28
28
28
28
28
27
25
26
27
28
27
27
27
27
26
23
24
23
24
24
24
23
21
21
21
21
22
22
21
21
23
23
22
22
22
22
22
20
20
19
19
19
20
21
19
20
18
18
15
15
14
16
18
21
20
19
18
19
21
21
22
22
22
22
22
23
22
23
23
25
25
25
24
25
26
27
28
25
25
25
27
27
27
27
31
31
30
31
31
30
31
31
31
28
29
29
28
25
24
24
23
24
25
24
25
24
24
23
24
22
20
21
22
23
24
25
25
25
25
25
23
24
24
23
23
23
23
21
22
22
22
21
23
23
22
23
23
23
24
24
25
24
24
25
27
25
24
24
25
24
22
21
20
20
19
20
22
22
21
20
20
21
21
22
22
23
22
24
23
23
23
22
23
23
23
23
23
24
25
23
24
25
23
23
24
24
26
26
25
24
25
24
22
24
23
22
23
23
22
23
22
21
21
21
22
22
23
25
24
27
27
28
27
28
28
28
28
28
28
27
28
27
28
26
26
27
28
28
26
24
25
28
29
29
30
29
27
24
25
23
24
25
26
25
23
24
24
25
24
24
24
26
26
24
25
25
24
23
22
22
22
22
22
22
23
23
23
21
20
20
19
20
22
23
27
26
24
25
23
23
24
24
24
24
23
22
23
24
23
24
24
24
22
21
23
24
24
24
23
23
21
20
20
20
21
21
23
24
23
23
23
23
24
27
28
30
31
32
33
33
32
31
31
29
28
27
26
24
25
25
26
25
27
26
27
25
25
24
24
23
24
24
25
22
22
23
25
26
28
27
27
27
27
28
28
25
23
23
23
23
21
21
20
21
20
19
19
20
21
23
24
24
26
25
26
26
25
24
24
25
22
22
22
20
19
20
19
18
19
18
17
18
16
15
18
18
17
17
18
17
16
15
15
15
16
16
15
15
18
19
20
20
20
22
23
21
22
22
22
21
22
22
21
22
25
25
25
25
26
26
26
25
24
23
25
26
26
26
28
28
27
28
27
26
28
28
28
29
27
27
26
26
25
25
26
26
25
25
26
26
26
25
23
24
24
23
22
20
19
21
20
18
15
16
17
20
20
22
21
22
22
23
20
19
19
20
22
22
21
21
21
21
20
21
21
22
21
20
20
19
18
18
18
18
18
19
18
18
17
17
17
17
15
17
17
18
18
21
20
21
21
18
17
17
18
18
18
19
19
19
17
16
15
15
15
14
14
14
13
14
14
14
16
19
17
17
15
14
13
14
14
14
15
14
14
13
13
13
15
14
13
14
14
13
13
13
12
12
12
13
14
13
13
14
13
15
13
14
12
13
13
13
14
13
14
14
14
13
12
15
14
16
17
17
17
17
17
17
19
18
14
15
15
14
14
11
13
14
13
13
13
11
11
11
12
12
12
10
10
9
9
9
9
10
10
10
10
9
8
10
12
11
12
12
12
12
12
11
11
11
11
10
10
10
11
11
12
12
12
12
13
15
13
13
12
12
12
12
12
12
12
11
11
10
10
11
14
14
14
14
13
10
11
13
14
14
12
12
12
12
13
12
12
14
12
14
15
15
15
15
16
17
16
17
17
18
17
19
19
21
22
23
22
22
23
22
23
23
25
26
26
28
27
26
26
25
23
23
23
22
23
22
24
23
21
21
22
22
21
19
18
17
16
17
17
17
18
19
19
17
17
17
17
17
18
18
18
17
19
18
18
17
18
18
17
18
15
17
16
19
18
15
16
16
17
17
17
16
19
20
21
21
21
20
19
18
19
19
17
16
16
14
14
16
16
17
18
19
18
18
18
17
18
18
18
18
17
18
17
16
16
16
17
19
20
21
21
21
20
21
20
22
21
19
20
20
19
18
19
21
21
22
24
24
24
23
22
20
19
19
19
18
18
19
18
18
18
18
20
21
22
22
22
21
19
19
19
20
22
20
19
17
17
18
19
21
20
17
18
19
19
19
18
19
17
18
16
16
18
17
16
14
13
11
12
11
13
12
11
12
13
15
15
16
16
19
18
18
18
18
18
18
19
19
18
20
20
21
22
22
22
23
22
21
20
21
19
20
21
22
23
24
22
22
23
23
23
23
25
25
24
24
24
25
25
24
24
25
25
25
24
26
27
27
26
26
25
26
25
26
24
26
26
26
25
24
24
21
21
23
21
23
23
24
24
23
21
21
20
20
21
19
20
20
20
19
19
21
22
22
21
20
18
17
17
16
16
17
14
14
14
15
14
15
14
16
14
14
13
10
11
11
11
11
12
13
14
14
15
14
13
14
14
14
14
13
14
14
13
14
14
13
14
13
13
12
12
13
15
14
14
15
15
15
11
10
11
10
10
12
12
12
12
13
12
12
12
10
11
9
9
11
12
10
11
11
12
12
12
13
12
10
9
11
11
10
12
12
13
14
16
18
19
18
17
18
17
17
17
17
16
17
17
18
16
17
17
18
18
19
19
19
19
19
19
18
19
21
20
18
17
16
15
13
13
11
12
13
13
14
14
15
16
16
15
15
16
15
14
15
15
15
16
18
16
18
18
17
17
17
17
16
17
19
20
21
20
19
19
19
18
17
18
21
21
19
18
18
19
20
21
20
22
22
22
23
23
24
24
27
27
26
27
27
28
26
26
26
25
27
26
25
26
28
29
29
28
28
27
27
29
29
29
29
29
31
31
31
30
32
32
31
31
30
30
29
26
23
22
22
22
22
22
22
23
23
23
22
22
21
21
21
21
20
21
21
23
23
21
24
27
27
28
28
28
28
25
24
24
25
23
22
23
24
25
23
23
23
22
21
22
22
21
21
20
19
18
17
18
18
20
21
22
22
21
23
22
21
20
20
20
20
19
18
18
18
18
18
19
19
18
14
14
13
14
14
15
16
16
16
16
18
18
17
18
20
21
21
19
20
21
20
17
16
17
18
20
21
21
21
23
23
24
24
25
26
25
26
27
27
27
28
27
26
28
28
27
26
26
25
26
26
26
26
25
23
23
24
25
26
25
24
25
25
25
23
24
24
23
22
22
21
20
19
18
19
17
17
17
17
16
15
15
17
17
16
16
16
17
17
16
16
16
17
16
16
17
19
20
21
20
19
18
17
17
17
17
17
17
20
21
22
22
22
22
20
20
20
19
21
21
22
22
23
23
23
22
23
23
23
22
23
23
24
22
22
22
21
20
20
20
19
19
19
20
21
21
23
21
22
21
20
21
20
21
21
21
21
21
20
17
16
17
17
16
16
19
19
19
21
19
19
19
19
20
20
21
22
23
22
22
23
23
23
21
23
22
21
21
20
20
21
21
20
21
24
25
26
26
25
25
25
24
27
26
26
26
25
23
23
23
21
21
23
23
22
24
23
21
20
20
20
20
20
20
20
20
21
20
20
20
21
22
20
20
18
18
15
15
16
16
18
17
17
17
20
20
20
22
24
24
25
25
23
23
23
23
22
20
23
21
21
21
22
22
20
20
18
22
22
24
24
24
24
23
23
23
23
24
23
23
24
25
25
25
22
21
21
22
23
21
24
23
23
21
21
21
21
21
20
20
20
19
19
20
21
22
23
25
24
24
24
25
24
24
21
21
20
19
19
16
15
15
15
15
15
16
16
17
18
16
19
20
21
19
18
18
20
20
19
19
19
20
21
21
21
21
21
21
22
21
21
20
22
22
22
21
21
19
20
21
20
20
20
19
20
21
24
25
28
29
30
30
31
29
29
27
27
27
26
26
26
26
27
26
24
26
28
28
27
28
28
29
29
27
27
26
27
25
25
24
24
23
26
26
25
27
26
26
26
27
26
25
25
26
27
26
25
25
26
25
24
24
25
27
28
27
28
27
26
25
23
22
23
22
22
20
17
17
15
13
12
13
13
13
13
13
14
14
14
14
17
17
15
15
16
16
16
16
17
16
17
18
20
22
22
19
19
19
19
18
17
16
16
17
19
18
17
17
17
17
20
21
23
22
22
22
24
25
25
26
26
26
26
27
25
26
26
25
25
24
23
23
23
23
23
22
21
21
21
22
25
25
26
24
23
21
22
21
23
22
25
26
24
23
23
24
24
23
23
22
21
21
20
21
20
21
22
21
22
24
24
25
24
24
22
22
23
24
23
23
22
22
21
22
21
21
20
18
17
17
17
18
19
20
20
20
18
18
16
17
16
16
16
16
16
15
16
16
16
16
18
18
17
17
16
16
16
16
15
14
13
14
14
14
14
14
14
11
11
11
10
11
13
13
15
16
18
17
17
15
13
11
11
12
12
13
12
10
11
11
12
13
11
11
11
11
11
11
12
14
14
15
15
17
18
18
16
16
16
15
16
16
16
15
16
15
16
18
18
18
19
20
20
19
19
20
19
19
18
18
19
19
21
21
19
21
20
21
22
22
23
23
24
23
22
22
20
20
20
21
21
20
19
22
23
23
22
25
26
26
26
25
24
23
21
23
23
24
23
23
22
23
23
23
23
25
26
27
27
27
27
27
28
28
29
28
26
24
25
25
25
27
27
26
26
26
27
28
30
30
30
30
32
32
34
33
33
32
32
32
32
33
35
36
35
37
36
34
35
36
33
34
34
35
35
31
28
26
27
28
28
29
30
29
28
28
26
23
23
21
21
21
21
20
21
22
22
23
22
21
22
23
23
23
24
25
22
23
22
23
21
23
21
21
21
22
21
21
19
19
20
20
19
19
18
19
18
19
21
21
20
20
19
18
20
20
18
18
17
17
16
17
18
18
19
20
20
20
20
21
20
19
20
21
21
20
22
22
22
23
22
23
23
22
22
22
22
22
22
22
22
21
20
20
19
19
20
20
22
21
21
22
22
24
23
23
23
23
23
23
23
25
24
26
25
26
25
25
25
22
22
24
24
23
23
23
22
23
24
25
25
27
27
27
25
27
26
26
25
23
24
24
26
28
27
26
26
25
25
28
29
29
28
27
25
26
24
25
24
21
20
20
21
21
23
23
23
22
21
21
20
20
21
21
21
21
21
22
22
22
21
19
18
16
15
16
15
16
19
20
20
19
21
21
20
19
19
20
20
19
20
21
21
21
19
20
19
18
19
18
15
15
17
17
20
21
19
17
17
18
19
21
22
22
23
22
20
20
19
18
19
16
16
16
17
18
15
14
14
15
16
17
17
16
15
14
14
14
13
13
15
15
15
14
15
14
15
14
14
15
15
15
16
16
15
16
17
17
19
20
20
19
21
20
17
18
14
16
16
17
17
16
15
14
14
14
15
16
17
16
17
17
17
17
17
17
17
17
17
17
18
19
19
19
19
20
20
21
22
23
22
23
24
25
28
26
25
24
22
23
22
21
19
20
19
19
20
19
20
21
20
20
19
18
19
19
18
18
17
17
17
19
18
18
18
18
19
18
18
18
22
24
24
22
24
24
25
24
22
22
21
20
19
19
19
18
18
19
21
22
20
20
20
21
21
19
19
19
20
22
20
20
19
19
20
21
21
19
18
17
17
16
17
15
17
17
18
18
17
18
18
19
17
20
20
18
18
19
20
21
22
19
20
21
21
19
19
20
21
20
21
22
22
22
22
23
22
22
22
22
21
21
21
23
23
23
22
21
21
20
21
20
22
22
22
20
19
21
21
20
19
19
17
18
18
18
18
19
18
17
17
14
14
14
15
14
14
13
13
16
16
16
16
16
18
17
16
15
14
15
16
15
14
17
17
15
15
15
16
16
15
14
14
15
15
14
14
14
14
15
14
15
16
16
16
16
17
17
18
18
17
17
19
19
19
17
17
19
18
19
20
20
21
21
21
22
23
24
26
29
27
27
28
29
28
29
29
29
29
28
27
26
26
26
27
25
24
23
24
24
24
25
24
24
24
25
26
28
28
26
27
27
28
28
27
27
28
29
27
29
28
27
27
26
26
25
26
26
25
23
21
22
21
19
20
23
24
23
23
23
22
23
23
22
21
23
23
25
26
26
23
23
24
24
25
25
25
23
25
24
24
25
25
25
24
23
22
24
23
21
22
21
20
19
18
17
17
17
17
19
19
19
19
20
22
22
23
20
20
20
18
18
17
16
16
16
16
16
16
16
15
17
18
18
18
19
17
17
17
17
16
16
16
17
17
17
17
17
15
16
16
17
17
16
15
16
17
16
16
16
15
15
14
14
14
14
16
16
16
15
16
18
18
19
17
18
19
19
20
20
20
21
23
23
19
18
18
18
18
20
20
21
20
20
22
23
21
21
21
21
22
20
20
21
22
22
20
20
21
23
24
28
28
28
29
28
25
25
25
25
26
26
24
22
22
20
19
19
19
19
19
19
19
18
20
22
22
22
22
23
23
23
19
18
18
18
19
19
20
21
21
22
21
21
21
20
19
20
20
19
18
17
16
16
17
17
18
17
17
14
16
16
17
17
16
17
19
21
21
21
22
23
22
23
23
25
26
26
27
25
24
24
21
22
22
20
20
21
21
21
22
22
24
24
24
24
23
22
25
25
25
23
22
23
23
24
24
21
23
22
21
20
20
21
20
19
20
19
21
23
23
24
23
26
27
27
27
27
28
26
27
28
27
26
26
26
26
25
24
25
25
25
24
23
23
24
26
27
23
26
26
23
22
22
21
22
21
22
21
23
23
23
23
23
20
21
22
21
22
20
21
19
18
19
19
17
18
18
18
20
21
22
22
23
24
23
22
19
18
18
20
22
21
20
20
20
18
19
19
20
20
21
19
20
20
19
20
20
19
21
21
23
22
22
22
22
23
22
22
22
24
24
25
25
25
25
25
26
26
25
24
24
24
24
24
24
24
23
23
23
23
21
22
23
23
23
24
25
26
26
26
26
25
26
24
24
23
23
22
21
20
20
20
21
20
20
21
20
18
17
16
19
19
19
18
18
21
22
20
20
19
20
21
20
21
20
21
22
22
21
21
22
20
20
20
21
21
20
21
22
21
23
24
23
24
24
21
21
21
21
21
24
24
24
23
21
22
23
26
26
25
25
25
24
24
25
27
27
28
28
28
28
28
30
31
30
29
30
29
29
30
30
29
30
30
30
29
28
27
25
27
27
28
29
29
29
28
30
30
30
27
26
26
27
27
26
25
26
25
23
21
21
22
22
21
24
26
27
28
29
28
27
25
24
24
20
21
21
22
23
20
22
22
22
21
21
21
23
23
20
19
21
25
25
27
27
27
29
30
30
26
26
25
27
27
28
28
27
27
26
26
25
25
25
25
25
25
27
26
27
25
23
25
25
26
26
27
27
27
26
25
24
24
23
21
23
23
24
25
24
24
23
23
23
20
20
18
19
20
21
20
20
19
18
18
18
18
19
18
19
16
15
17
18
17
17
17
17
18
18
17
17
16
16
17
19
17
17
16
16
17
15
20
19
18
18
17
21
21
21
21
20
20
20
21
25
26
25
27
27
26
26
26
26
26
25
24
25
25
25
23
23
22
25
25
24
25
25
24
24
24
22
22
21
19
21
21
21
23
25
26
25
24
25
24
23
24
24
23
22
22
23
22
22
25
23
25
28
30
33
32
33
33
32
32
33
33
34
33
29
28
26
25
25
25
26
25
25
22
23
23
22
21
21
18
18
18
18
18
18
18
18
18
17
18
17
18
18
17
17
18
18
19
20
22
24
25
24
24
24
24
22
23
22
22
22
21
19
20
20
19
19
19
19
19
19
21
21
19
16
16
13
12
13
12
10
12
12
14
13
13
13
11
14
14
13
12
12
12
12
13
15
14
14
14
13
14
14
16
17
16
15
15
14
15
15
16
16
14
14
14
14
15
17
15
13
13
12
12
13
11
11
15
15
15
15
15
13
14
15
15
15
14
15
16
16
17
17
17
19
19
19
20
21
20
18
19
18
17
19
20
20
20
21
21
21
21
21
22
21
21
22
20
21
20
19
18
20
20
22
22
21
21
21
20
20
21
22
23
23
22
22
21
22
21
22
24
25
25
27
26
25
25
24
23
25
26
25
23
23
23
23
23
22
24
24
24
23
23
23
23
26
25
26
26
26
28
28
30
27
27
27
27
27
28
29
28
27
27
29
28
30
29
29
30
30
28
28
26
28
27
26
28
28
27
26
27
27
28
29
28
28
27
27
25
26
28
28
30
30
28
30
28
27
26
26
27
28
28
29
27
27
27
29
27
27
27
27
28
28
27
28
28
27
26
27
28
27
28
26
24
26
29
30
30
30
30
29
28
27
25
26
26
27
24
23
24
24
24
22
21
22
21
21
20
19
19
19
19
20
19
18
19
22
21
20
21
22
23
23
23
24
24
24
23
23
22
21
21
21
22
22
23
21
22
21
19
19
20
20
20
21
21
21
20
20
22
22
20
20
20
19
18
18
18
16
15
15
15
16
16
18
18
17
18
19
20
20
21
20
19
20
20
19
19
19
19
19
19
20
19
18
17
16
16
17
18
18
19
18
18
20
20
18
19
19
20
22
20
21
21
22
23
22
21
20
18
18
17
17
16
17
17
17
18
18
19
18
18
18
18
20
20
20
21
22
20
20
22
21
19
19
22
21
22
21
20
21
22
22
21
21
21
20
22
22
20
20
20
21
22
22
22
21
21
23
22
24
23
24
25
26
26
25
24
26
25
25
26
25
25
25
23
23
23
21
21
22
23
22
21
19
17
17
18
18
18
19
19
20
20
20
20
20
23
22
22
21
20
21
22
22
22
21
20
18
18
19
19
21
22
21
21
23
23
22
21
20
20
22
23
23
22
21
20
19
20
20
20
20
18
18
16
16
16
19
19
19
19
21
20
20
21
19
19
18
18
18
19
20
20
18
16
17
18
18
18
16
16
15
17
17
20
20
19
18
18
19
20
20
20
20
20
19
18
16
16
17
18
19
18
19
18
19
19
17
18
19
20
21
20
16
16
17
18
18
18
18
19
17
18
20
20
19
17
17
17
16
16
18
18
18
18
18
19
20
20
19
17
18
19
18
17
15
14
14
14
14
15
14
14
15
15
14
15
15
15
17
17
18
18
17
17
17
15
15
14
14
13
14
14
14
13
13
13
12
12
12
11
10
11
11
12
12
12
12
15
16
16
16
17
16
16
16
17
16
17
17
17
17
17
17
16
17
19
19
21
19
19
20
21
21
21
23
22
22
20
21
22
22
23
23
22
21
21
21
20
21
20
19
19
18
20
21
21
21
21
22
22
22
26
26
26
25
21
20
19
19
20
20
20
21
20
21
23
24
22
21
19
19
21
18
17
16
16
16
18
18
18
17
17
17
16
15
16
14
14
15
14
15
16
15
15
14
16
17
17
18
20
20
22
22
22
23
25
24
26
24
24
23
21
22
21
21
21
20
20
20
20
22
22
22
20
20
20
19
18
17
17
17
17
17
17
18
18
19
18
18
18
18
20
19
18
19
20
20
20
21
23
24
27
28
29
28
27
27
26
25
24
23
23
23
25
25
26
26
26
26
27
27
30
28
28
29
29
26
25
26
25
26
25
25
25
24
25
24
23
23
25
23
24
24
22
22
21
21
20
20
20
21
21
18
17
17
16
18
17
18
17
16
16
17
17
18
19
20
21
22
22
21
21
20
19
20
20
21
22
21
20
20
19
18
18
18
18
19
18
17
16
16
18
19
20
19
20
20
21
22
21
22
21
21
21
21
21
22
24
25
25
26
26
28
27
29
31
30
28
26
27
27
29
29
30
30
30
30
31
30
29
29
29
29
29
29
31
32
29
28
28
29
29
28
27
28
29
30
33
35
37
39
38
38
37
37
36
35
31
29
28
27
28
27
27
27
26
26
25
25
24
23
24
24
25
24
24
23
22
21
20
20
20
19
19
18
17
16
16
17
18
14
14
11
12
13
14
14
15
15
16
17
17
15
17
18
18
16
17
20
19
19
18
19
19
19
17
17
17
16
16
16
16
18
18
17
16
16
17
18
18
20
22
22
24
24
27
27
25
25
25
25
25
22
22
23
23
23
25
25
25
24
24
24
26
25
25
25
23
22
20
20
20
21
23
21
21
20
20
20
21
21
20
21
21
22
24
25
25
26
26
25
26
24
25
23
23
22
21
25
26
24
25
25
24
25
25
25
23
25
22
23
23
23
23
22
23
23
24
23
21
21
19
19
19
18
17
15
15
15
15
16
16
17
17
16
16
15
15
17
18
16
16
18
16
16
15
16
16
16
15
14
13
12
11
12
11
12
11
11
10
9
9
10
10
9
10
10
10
11
12
12
12
12
14
13
12
12
14
15
14
14
13
13
13
13
13
13
14
15
17
16
16
15
14
14
15
15
16
15
15
16
15
16
17
17
15
15
14
15
15
16
15
15
15
13
14
16
16
16
17
16
14
14
14
14
14
13
13
13
16
15
14
17
16
17
21
20
19
17
17
18
18
17
16
16
18
17
16
14
14
15
15
15
16
18
19
19
19
19
20
21
19
18
18
18
18
18
18
18
18
18
18
18
17
18
17
19
20
18
18
18
19
20
20
19
18
17
16
16
17
17
18
18
18
17
17
17
17
18
19
18
18
17
17
18
18
18
18
19
19
19
18
20
21
21
22
20
21
20
20
19
19
19
19
18
16
17
14
16
15
14
14
16
17
16
12
11
10
10
9
10
10
11
11
11
11
12
11
11
11
11
11
12
14
14
13
12
11
12
14
13
12
14
15
14
14
14
13
12
13
12
13
13
13
13
14
16
16
17
16
16
17
16
18
19
20
20
19
20
20
20
19
20
21
20
21
21
19
19
17
16
17
16
17
17
17
17
18
17
16
15
14
15
15
14
14
16
16
16
17
18
18
17
18
19
18
18
18
18
18
16
17
18
18
17
17
18
18
18
18
19
19
19
20
20
21
21
20
21
22
23
23
23
23
23
24
25
26
25
25
24
24
24
23
23
22
22
21
21
21
21
21
22
20
20
20
19
19
19
19
17
18
20
21
20
21
20
21
21
22
22
21
19
20
21
20
21
21
21
22
23
22
23
22
22
26
26
26
25
25
24
26
27
28
27
27
27
27
27
27
27
27
27
27
27
26
26
26
27
26
25
25
24
24
23
23
23
22
23
23
23
23
22
22
24
24
23
22
22
22
23
22
23
22
21
19
19
18
19
21
21
22
22
22
22
23
23
23
24
24
23
23
23
23
21
21
20
22
22
21
17
18
17
17
17
17
18
19
19
20
20
20
20
21
21
21
21
20
21
20
21
19
19
18
19
19
18
19
19
19
20
21
20
19
19
19
17
18
18
17
18
18
18
15
19
19
18
18
18
17
16
14
15
15
15
15
15
16
15
14
13
13
14
14
14
13
15
16
17
17
17
16
17
17
17
18
16
17
18
19
19
20
21
21
22
23
22
21
21
20
19
19
19
18
19
19
18
18
19
21
20
19
19
19
19
19
19
19
18
18
17
18
18
17
16
15
17
17
18
19
18
17
16
16
16
16
17
21
20
18
18
18
19
21
20
21
21
21
21
20
20
20
20
20
18
18
18
17
17
17
17
17
17
17
16
16
16
16
17
17
17
16
16
16
16
18
18
18
19
19
19
18
17
17
17
15
15
15
15
16
17
16
17
17
16
16
16
16
17
17
19
19
18
19
17
18
18
16
17
17
16
17
16
17
17
17
17
16
16
16
17
19
18
19
19
19
19
18
18
18
18
18
17
16
15
15
14
15
16
16
16
16
17
18
19
18
19
20
21
21
23
23
23
22
23
22
21
19
19
20
22
22
22
22
22
21
24
22
23
23
21
21
21
22
22
21
20
22
20
22
22
22
23
22
22
22
22
21
20
21
20
21
21
21
20
20
20
20
20
20
19
19
19
19
18
18
17
19
18
18
20
19
19
19
19
19
18
19
19
19
19
19
20
19
19
20
20
19
19
20
19
19
20
20
25
24
24
24
25
26
28
26
27
25
22
21
22
23
22
23
22
23
23
22
23
22
22
21
22
21
19
19
19
17
17
17
16
16
16
16
16
16
17
18
17
15
15
16
16
16
16
16
15
14
14
13
14
14
15
15
16
17
17
17
18
16
14
14
15
16
17
16
16
17
17
18
17
17
17
16
19
18
19
19
19
19
19
18
17
16
16
15
15
17
18
18
19
19
18
18
18
17
18
19
18
17
15
15
14
14
14
14
15
15
16
16
16
18
17
18
18
19
18
18
18
18
17
16
17
18
17
17
16
16
16
16
17
18
18
17
18
16
15
15
15
14
13
14
14
13
13
14
14
15
16
16
16
16
16
16
16
15
17
17
17
17
16
18
18
19
18
20
21
22
20
19
17
16
16
17
17
17
19
21
21
22
20
21
19
20
20
18
17
18
19
19
21
22
22
21
21
21
20
21
20
20
20
21
19
20
18
19
18
17
17
16
17
17
19
21
22
21
21
22
24
23
24
23
24
22
22
22
23
24
25
25
23
22
21
21
20
19
19
18
17
17
19
20
20
20
20
20
24
25
25
25
24
22
23
22
22
21
22
22
21
23
22
20
20
20
20
20
20
19
20
19
20
17
15
15
16
16
15
15
16
17
17
17
19
19
17
15
15
14
15
14
14
14
13
13
14
14
13
14
14
13
12
12
12
13
13
15
16
18
18
18
17
17
19
19
18
18
18
18
18
19
19
20
21
21
21
21
21
20
20
20
19
17
16
17
16
15
16
16
17
17
17
16
16
17
19
20
19
20
21
19
19
18
20
20
20
20
19
18
19
19
19
19
20
18
19
19
19
18
19
18
18
18
17
18
18
17
17
21
21
22
22
22
22
21
20
21
21
21
24
24
23
22
22
23
24
24
22
21
23
23
25
23
21
21
23
23
22
23
24
23
26
29
29
27
27
26
26
27
28
26
27
28
28
29
28
27
28
28
28
27
25
23
23
23
23
24
25
25
25
24
24
23
25
24
26
26
26
26
26
27
28
28
29
29
30
29
31
30
31
31
31
31
30
28
29
28
27
27
26
25
23
23
23
23
22
19
20
19
19
18
17
17
17
17
16
16
14
13
13
14
14
16
16
16
16
18
17
19
19
19
18
20
19
18
15
15
14
14
14
15
16
16
15
15
16
16
18
17
18
16
16
17
18
17
18
19
19
19
19
21
21
20
19
20
20
18
18
19
18
18
18
18
19
19
21
22
23
22
21
17
16
16
17
18
19
19
22
22
23
23
21
23
23
20
22
26
27
26
27
28
28
28
28
28
28
29
28
27
27
25
26
25
23
24
25
25
24
25
25
25
26
27
31
32
31
32
31
31
31
31
33
33
33
33
34
35
34
35
37
38
38
36
33
32
32
32
34
34
33
33
32
29
29
31
31
33
33
32
32
33
33
32
29
29
30
29
30
31
29
28
29
32
32
32
30
31
29
29
27
27
25
24
24
26
24
25
26
28
29
27
27
28
29
30
30
29
29
28
29
28
27
29
30
30
30
30
34
35
36
36
38
37
36
34
31
30
27
27
25
26
26
25
24
25
25
26
26
25
25
24
23
24
24
22
22
22
23
23
21
21
21
20
19
20
19
19
20
20
22
23
23
23
21
22
22
22
20
22
22
23
22
20
20
19
18
18
17
17
17
17
18
17
18
19
19
18
20
20
21
21
21
19
20
19
20
21
20
20
19
19
19
20
21
23
23
25
25
23
21
20
20
18
18
17
19
19
21
24
26
26
26
25
25
24
24
24
24
25
25
26
25
24
22
22
23
24
23
24
25
26
26
27
27
27
27
26
25
26
27
27
26
26
26
27
25
23
22
23
24
22
23
24
25
25
25
25
26
28
27
25
26
28
30
29
26
26
27
28
29
29
29
29
27
27
26
26
24
23
23
24
25
25
22
22
23
23
23
21
21
22
22
22
22
21
23
22
23
23
23
22
21
22
22
23
24
23
22
21
18
17
16
16
17
17
18
19
20
19
18
20
19
20
18
19
18
18
19
18
19
17
16
16
18
18
17
15
15
14
15
16
18
18
17
17
18
17
18
17
18
19
18
18
19
21
23
23
22
22
22
22
21
21
20
20
20
19
18
17
16
16
16
18
19
19
18
19
20
23
21
21
21
22
20
21
22
21
21
21
21
18
16
15
16
16
16
15
17
17
16
17
16
17
18
19
21
20
19
19
18
17
17
15
14
16
20
20
19
19
19
18
17
16
16
17
17
17
15
15
15
16
17
16
18
17
17
15
15
16
16
16
15
16
16
15
16
18
19
18
18
17
16
16
16
16
17
16
15
18
19
19
20
21
21
23
25
25
25
26
25
27
26
25
25
25
23
23
23
23
23
23
25
25
24
23
24
23
22
22
22
22
23
23
25
26
26
27
27
26
27
29
31
29
28
30
28
29
28
29
28
27
28
27
27
27
25
24
25
25
25
27
27
26
25
25
24
22
25
25
24
24
24
26
25
23
23
23
23
22
23
22
22
21
20
19
18
18
18
18
18
18
19
19
18
18
17
18
18
18
18
18
18
18
18
20
20
20
21
23
24
24
24
25
25
23
23
23
22
21
22
22
22
23
22
21
20
19
18
18
18
18
18
17
17
19
20
20
19
21
20
19
17
17
17
17
16
16
15
15
12
12
13
14
14
14
14
14
14
17
16
16
15
14
14
12
14
16
15
12
12
13
13
13
14
14
14
15
15
15
15
16
16
16
15
15
15
16
16
15
16
17
19
20
20
23
24
24
24
24
22
23
22
24
22
22
21
19
21
20
21
19
20
20
21
21
22
20
21
21
22
22
20
21
23
24
25
26
25
27
27
28
27
24
25
26
24
23
23
23
23
24
24
24
23
23
22
22
21
21
20
19
19
20
18
18
18
19
21
20
19
20
20
21
20
19
18
17
17
17
16
16
16
16
17
17
17
17
17
17
17
18
18
19
20
19
17
15
14
15
15
15
15
15
15
15
15
16
17
18
19
19
20
21
23
22
21
20
20
20
20
20
20
19
18
18
19
20
20
20
20
19
19
19
20
20
19
19
20
20
18
18
18
17
18
19
15
15
13
12
11
11
12
13
13
14
13
13
13
12
12
11
10
11
11
12
11
12
11
10
12
13
12
14
16
16
16
15
16
15
15
17
16
17
19
19
19
20
19
19
20
20
23
25
25
25
23
22
22
20
19
20
21
21
20
20
21
21
23
23
22
23
25
24
22
21
18
18
18
18
18
17
17
17
17
18
20
20
20
19
18
19
21
21
21
21
22
23
22
20
20
19
19
18
18
20
19
18
17
17
17
16
16
16
16
15
13
13
15
15
17
17
18
17
17
16
17
17
18
20
20
18
20
22
23
21
22
22
21
22
21
21
22
22
21
22
22
22
22
21
23
24
25
25
25
25
26
28
29
29
29
29
30
27
26
24
23
26
26
26
26
26
26
25
26
26
27
28
28
27
28
27
27
29
30
29
27
27
28
30
29
29
30
28
27
28
29
29
29
27
27
26
27
28
27
25
23
23
23
23
22
22
23
23
23
21
21
20
21
21
22
22
22
21
21
22
23
22
21
23
23
22
20
18
18
18
19
20
20
18
20
20
20
19
18
21
21
21
22
23
24
23
22
22
20
22
24
24
24
24
22
22
22
21
20
21
20
21
21
21
20
20
18
17
20
20
21
20
21
23
24
21
21
22
24
22
22
21
20
21
20
20
19
18
19
19
18
19
21
24
26
26
26
21
22
22
23
24
24
25
25
24
22
23
21
19
19
19
18
18
17
18
17
16
17
17
17
18
19
20
22
22
20
20
19
18
20
19
18
19
19
19
19
20
21
21
22
23
22
22
21
21
20
20
21
21
21
22
23
25
26
24
22
24
24
24
24
22
23
23
24
27
27
26
26
26
26
26
26
25
24
23
23
24
24
24
25
23
24
25
24
22
22
23
23
24
24
25
24
24
24
24
22
23
22
21
20
20
19
22
22
22
23
20
20
20
20
20
18
21
22
21
20
20
18
20
20
19
19
19
17
16
18
19
20
19
19
18
17
17
18
19
21
20
20
20
21
20
21
21
20
21
20
21
21
21
20
19
17
17
17
17
17
18
18
17
19
19
19
20
22
23
22
22
21
19
18
18
19
19
16
19
17
17
18
17
16
15
15
17
17
16
14
17
17
17
16
16
14
16
16
16
16
16
16
19
20
20
21
23
22
22
21
21
19
19
21
22
22
21
21
22
22
21
19
21
21
23
22
24
24
23
23
22
19
19
19
19
18
20
18
20
20
19
21
22
23
22
22
20
21
23
22
22
22
21
22
22
21
21
21
22
24
24
24
25
25
23
22
23
24
24
24
24
22
21
22
25
27
26
25
24
24
25
27
26
26
28
28
28
26
25
25
25
23
25
25
27
27
27
26
24
20
19
20
20
23
23
23
24
24
25
23
25
27
27
27
27
27
27
29
29
28
27
27
25
25
25
25
24
24
25
25
25
24
25
25
27
28
29
30
30
29
30
31
33
32
31
32
30
30
30
28
29
27
25
25
25
24
23
22
23
23
24
24
24
25
23
22
23
24
23
23
23
22
24
24
22
23
24
23
23
22
22
22
22
23
23
24
27
29
29
28
24
25
26
24
25
25
25
24
24
23
23
22
24
25
24
23
24
25
25
26
26
23
24
24
24
24
25
25
28
27
27
27
27
26
24
23
21
22
20
20
20
20
21
20
20
19
18
17
14
14
13
14
15
14
14
13
13
14
15
17
17
17
15
15
17
17
18
17
16
18
20
20
21
19
19
20
20
20
22
24
25
24
23
22
22
22
22
21
22
20
19
19
18
17
18
18
19
20
21
22
24
27
27
27
24
23
23
24
24
25
24
23
22
21
18
18
17
16
17
17
17
19
20
20
19
18
19
19
19
19
24
24
25
25
25
26
26
27
24
23
23
20
21
21
20
20
21
19
20
18
18
20
21
20
20
18
20
21
19
17
17
15
15
15
15
16
16
15
15
16
19
19
20
20
21
22
20
19
19
18
17
15
13
13
14
16
16
16
17
15
16
16
15
15
13
13
12
12
12
12
12
12
12
12
11
11
12
12
14
14
14
14
14
14
14
14
13
13
12
12
17
17
18
16
16
16
19
21
19
20
18
18
19
19
16
16
17
16
15
15
15
16
17
19
19
16
15
15
15
16
17
17
17
17
17
17
15
15
16
19
21
21
20
18
17
14
13
15
16
16
13
15
16
18
18
17
17
19
18
17
17
16
16
15
16
16
17
17
19
19
18
18
17
16
17
18
17
18
19
19
18
18
18
19
18
18
16
18
17
17
17
17
17
17
18
18
21
22
21
22
20
17
17
18
18
17
15
14
14
13
12
13
13
14
15
15
15
17
19
18
18
18
19
20
21
22
24
23
21
20
21
20
20
18
19
19
20
20
19
19
17
17
17
18
18
19
17
17
18
18
19
19
18
16
19
21
20
20
21
21
20
21
20
20
20
21
20
19
19
17
17
16
17
16
15
15
15
15
16
16
16
17
17
17
17
17
17
17
18
18
18
17
17
15
12
12
13
12
10
9
10
10
10
9
10
11
11
12
11
11
11
10
9
9
12
12
13
15
15
14
13
13
13
11
12
12
12
11
12
13
14
15
16
17
20
20
21
21
20
20
20
20
21
21
20
21
22
24
25
24
24
24
24
23
23
23
23
23
21
22
22
21
22
23
23
24
24
26
25
26
27
28
26
25
23
23
23
23
23
26
26
27
27
26
26
28
28
27
25
26
25
26
26
25
26
26
27
28
27
26
24
23
21
21
22
23
24
24
23
25
26
26
26
26
25
23
21
20
20
21
20
20
20
20
20
19
18
18
18
16
15
15
15
15
15
15
15
14
15
14
14
14
13
14
15
15
16
15
15
18
17
16
16
17
18
17
17
18
17
17
17
18
16
17
16
15
14
14
14
12
12
10
9
9
9
9
10
11
10
10
9
9
10
11
9
8
11
12
12
12
13
13
14
12
14
13
13
13
14
12
12
12
12
12
12
11
12
12
11
11
12
14
13
13
13
14
14
12
12
12
14
15
15
16
18
18
18
17
17
19
19
19
18
18
17
17
16
15
14
14
16
15
15
15
17
16
15
15
17
17
17
17
17
17
17
17
15
15
15
16
14
13
14
14
14
15
16
14
14
17
18
18
17
16
15
15
16
16
15
14
15
15
13
13
13
13
13
12
12
13
13
13
14
14
16
18
18
20
20
20
19
18
18
17
16
18
18
18
20
18
17
18
19
18
18
20
20
19
22
22
22
23
22
22
22
21
19
20
20
18
16
15
15
15
16
17
18
18
17
17
16
16
16
17
20
18
18
17
17
17
19
21
18
18
18
18
19
18
18
18
19
19
17
17
16
16
17
17
18
17
17
17
16
17
16
16
16
17
16
17
18
17
17
15
16
16
16
17
18
19
19
18
18
18
20
20
21
19
19
16
15
14
15
15
14
14
14
16
16
16
15
13
12
12
11
12
13
14
15
14
13
15
15
15
15
14
14
14
16
17
17
16
17
15
15
15
15
15
14
13
12
12
13
13
14
14
16
15
15
16
16
16
16
14
14
14
15
15
17
18
19
19
19
18
19
20
19
17
17
17
17
16
17
17
17
18
20
20
20
18
18
19
19
18
19
19
20
20
20
19
20
21
21
23
23
24
24
24
23
23
23
25
25
25
24
24
23
22
22
22
22
20
21
21
21
20
20
22
22
24
24
23
22
23
20
18
15
15
14
14
15
16
16
16
17
17
17
17
18
17
17
16
16
19
18
18
16
16
16
16
16
16
16
16
17
18
17
17
17
16
16
19
19
19
19
19
19
19
18
17
19
19
18
18
18
18
18
20
21
21
22
23
23
22
22
20
23
24
23
25
26
26
27
30
28
28
28
27
27
26
28
27
26
25
23
24
22
21
20
19
17
17
17
18
19
19
20
20
20
20
20
20
23
24
21
23
23
23
25
25
23
23
23
23
22
22
23
22
22
22
23
23
23
25
24
25
25
27
26
26
25
25
24
25
27
27
26
24
25
24
24
23
21
21
21
20
21
21
19
18
19
21
19
20
21
22
23
23
23
20
20
20
20
22
22
22
23
24
24
23
21
20
21
20
20
20
20
19
19
19
19
20
21
22
22
22
23
22
22
22
22
23
24
26
28
26
27
24
23
23
22
21
21
22
23
25
26
24
25
26
25
28
27
28
26
25
23
22
20
20
20
20
20
22
22
22
20
22
23
23
23
24
24
24
26
28
29
28
26
25
24
22
22
20
19
20
20
20
21
23
24
23
23
24
23
21
23
23
24
25
24
23
23
25
25
24
23
24
25
24
22
22
22
20
20
20
21
20
20
21
21
21
21
19
19
18
19
18
18
19
18
18
18
18
21
22
22
22
23
26
26
26
25
25
25
24
25
25
25
23
24
21
23
25
26
24
24
25
24
25
24
23
24
23
24
24
24
24
24
26
25
23
24
25
24
24
25
26
25
25
26
26
25
25
24
24
24
24
22
23
23
21
21
22
23
23
22
21
21
22
22
22
22
23
21
21
21
21
22
19
19
19
19
20
20
20
19
19
19
21
22
23
22
25
24
25
24
23
22
22
23
22
16
16
16
16
16
15
16
15
16
17
19
21
21
21
20
20
20
20
20
21
20
18
17
19
19
17
17
18
18
20
21
21
21
21
20
20
18
16
17
16
17
16
14
14
14
13
14
14
16
16
18
18
19
18
18
17
17
18
18
17
16
16
16
16
15
16
15
15
16
18
18
20
21
21
21
22
22
22
22
20
21
21
20
19
19
19
19
20
19
18
19
19
20
23
22
21
22
22
22
21
21
21
19
18
19
19
21
23
22
21
21
20
17
16
17
17
16
16
16
16
15
17
17
16
15
15
15
16
15
15
17
17
13
12
10
10
11
12
12
12
12
11
11
14
12
12
12
10
11
11
10
9
8
9
11
10
10
10
11
9
9
8
7
8
7
6
7
8
8
8
8
6
6
7
8
9
9
10
9
9
8
8
9
9
8
8
8
8
7
7
8
8
8
9
10
9
10
10
12
12
11
11
11
11
11
12
10
10
10
10
11
14
14
14
14
15
15
15
16
15
15
16
16
17
18
20
18
18
18
19
19
20
23
21
19
20
22
22
21
21
22
23
23
24
23
22
24
24
24
24
25
26
27
27
28
27
26
28
28
26
27
28
28
25
25
25
23
21
21
21
22
22
22
22
22
21
22
22
23
23
23
21
22
21
22
24
26
25
25
25
25
26
25
25
25
23
25
27
27
27
26
28
27
28
26
26
26
25
23
22
21
21
19
18
16
16
16
17
17
18
18
17
16
17
18
19
19
19
20
21
20
21
21
22
20
19
20
20
19
21
18
17
18
17
16
14
14
15
15
15
14
14
14
14
11
11
13
14
15
16
15
16
16
18
18
18
18
18
18
18
18
17
18
19
20
20
19
19
20
20
20
19
20
20
20
18
17
16
17
17
16
16
18
18
19
19
21
20
20
19
18
17
16
17
17
18
19
17
19
20
21
22
23
24
24
23
24
24
24
24
22
22
20
21
21
21
21
21
22
24
24
24
25
25
25
26
25
24
26
26
26
24
24
23
24
24
25
24
28
30
27
27
26
27
25
26
25
25
27
27
26
27
27
29
31
31
29
28
28
26
26
26
26
26
26
26
26
24
25
25
25
26
26
26
27
26
26
25
24
24
24
25
24
24
24
24
25
22
22
21
21
22
22
23
21
20
20
20
21
24
23
22
22
22
23
25
23
21
21
21
22
23
23
23
23
22
21
20
19
21
21
21
21
21
21
21
22
21
21
20
21
21
22
23
22
20
20
20
21
20
20
21
20
19
19
19
19
20
20
20
20
20
19
19
18
18
17
17
17
17
17
16
16
20
19
19
19
19
19
17
19
18
17
17
18
17
19
19
19
19
19
17
16
17
17
18
18
18
18
19
21
22
22
24
27
26
26
25
24
24
25
26
26
25
26
28
26
23
23
23
23
24
24
23
25
25
27
28
27
27
27
27
26
26
25
24
26
26
26
25
23
23
23
22
23
24
23
23
22
22
22
23
21
20
20
21
20
19
18
19
19
19
17
17
17
16
16
17
17
15
14
14
15
17
17
18
18
18
18
19
18
18
18
19
20
18
19
19
20
22
23
23
23
22
22
23
21
20
19
20
20
21
21
21
21
23
22
23
23
22
22
20
19
19
20
21
21
21
19
19
19
19
19
21
21
21
21
21
21
22
22
24
21
21
22
21
21
21
21
21
19
20
20
21
21
20
19
20
22
22
23
22
22
21
22
22
22
21
22
23
21
21
22
22
21
22
24
23
22
23
21
20
19
20
20
19
20
22
21
19
20
18
18
17
17
17
17
16
15
17
17
18
19
19
19
20
19
19
17
16
15
16
18
18
17
17
18
19
20
21
21
19
17
17
17
20
20
19
18
17
16
14
15
17
17
18
19
19
19
22
22
24
22
22
21
21
21
20
18
20
20
20
18
18
18
17
17
18
17
17
17
18
19
16
17
19
19
19
20
20
20
20
19
20
18
16
16
16
18
18
17
17
17
16
15
14
13
15
15
15
17
19
18
18
18
17
17
19
19
18
18
18
17
16
16
15
15
15
14
15
16
16
13
14
14
15
15
15
15
15
16
15
14
14
12
12
12
13
15
16
16
16
16
16
16
16
18
19
19
19
19
21
21
19
18
18
17
17
17
18
18
21
21
23
23
21
23
23
23
23
20
19
20
20
19
18
18
18
16
16
16
16
16
16
19
18
18
17
18
18
19
18
18
17
19
20
20
19
19
20
21
20
17
18
18
18
20
20
20
20
19
18
18
19
19
20
20
19
20
20
21
21
21
21
20
20
20
19
17
17
20
18
19
19
20
19
20
20
21
22
22
23
24
23
23
25
27
26
26
27
27
25
25
24
24
25
25
26
25
25
27
27
27
27
27
25
26
26
26
27
27
27
26
29
30
31
31
31
31
32
32
32
32
30
30
30
31
32
33
32
32
31
30
30
28
25
23
23
24
24
25
27
26
25
25
25
24
24
23
22
23
22
20
20
21
21
22
21
21
21
20
19
19
20
20
21
20
20
20
17
16
17
17
17
16
16
16
16
16
16
16
15
16
16
15
16
14
17
17
16
17
17
15
13
11
10
10
13
14
14
15
17
17
17
18
19
17
15
15
15
15
14
15
15
17
19
19
20
19
22
22
22
23
23
23
23
24
24
23
22
21
21
22
22
21
20
21
21
19
20
21
21
19
19
19
17
17
18
18
19
20
20
19
19
18
19
19
19
18
21
21
23
23
23
22
22
23
23
21
19
19
20
20
19
18
18
19
20
20
24
22
21
18
18
18
17
19
18
17
15
17
18
19
17
18
19
19
19
19
19
19
20
19
20
21
18
15
15
15
15
15
14
14
15
14
14
14
17
17
16
17
18
18
18
19
19
16
17
15
15
14
15
15
14
15
15
15
16
16
16
16
13
15
16
17
21
22
20
20
20
21
19
19
16
16
16
17
19
19
17
17
16
14
13
14
14
14
15
15
15
16
16
15
16
17
18
18
18
18
18
18
19
18
18
17
17
18
20
21
23
23
24
25
25
24
26
25
23
25
23
24
25
24
24
24
24
23
23
24
23
23
24
23
23
23
22
21
21
21
21
20
20
21
20
22
24
23
23
23
23
21
20
21
22
22
21
22
20
21
19
18
17
17
19
18
18
18
15
15
14
15
16
16
16
16
17
16
17
17
19
19
20
21
20
23
22
19
19
18
18
18
19
19
18
18
18
18
17
18
17
17
19
20
19
19
18
18
16
16
16
16
17
15
16
15
15
16
16
14
13
14
14
16
19
20
20
19
20
20
19
19
19
19
16
14
15
17
18
19
19
19
18
18
18
17
18
18
18
18
19
19
19
19
21
24
24
24
24
22
22
25
23
22
21
20
24
26
23
22
22
23
21
22
21
21
20
20
18
19
19
19
19
18
21
22
21
22
23
23
22
23
23
25
26
24
24
25
24
22
22
20
19
18
22
22
21
22
22
22
22
23
23
21
20
18
19
19
19
18
18
18
20
21
21
21
22
22
22
20
19
19
17
19
24
25
24
26
26
24
24
24
22
21
21
20
23
22
23
22
23
23
25
26
25
25
23
22
21
20
20
20
21
22
22
22
22
20
20
19
19
18
18
17
16
18
18
18
18
19
20
21
22
22
23
24
22
24
24
24
22
23
22
23
23
22
23
25
24
23
23
22
20
21
21
18
18
16
15
15
16
16
17
18
15
16
15
16
15
15
16
17
17
18
21
20
21
22
23
22
21
21
21
21
21
21
21
23
20
21
24
25
25
25
24
24
25
25
25
26
26
26
26
26
25
27
28
29
30
31
29
29
29
28
28
27
25
24
23
21
22
22
22
23
24
23
23
22
21
21
20
24
25
25
25
26
24
25
26
25
24
25
26
26
26
28
27
26
26
26
26
25
25
26
28
26
29
28
28
28
27
28
28
28
26
25
25
25
24
23
25
25
26
24
22
22
24
25
24
23
23
24
24
26
25
27
28
28
26
24
24
23
25
24
23
23
22
20
19
19
20
21
20
21
22
22
21
23
22
22
22
22
22
23
21
22
22
22
22
21
21
23
22
22
21
23
22
21
19
19
20
20
20
21
22
22
21
24
25
25
24
23
24
23
22
22
21
21
21
23
22
22
21
23
23
22
20
19
19
19
19
19
19
19
20
21
21
20
20
18
18
18
14
14
15
18
18
17
17
18
17
15
16
16
16
15
16
15
16
18
18
18
18
18
17
18
16
17
17
17
19
16
17
17
16
15
15
15
14
15
16
17
16
19
19
19
21
21
22
23
20
19
20
20
19
20
20
20
21
21
18
19
21
20
18
19
20
20
21
23
22
20
20
19
18
18
18
17
19
20
23
23
24
23
21
20
20
19
19
22
22
22
22
22
21
21
18
16
17
16
15
15
14
14
16
17
15
15
16
16
16
17
15
14
15
14
14
13
15
16
15
18
20
21
21
19
19
20
21
20
20
21
20
18
18
18
18
19
19
19
19
19
19
19
19
19
21
20
21
22
24
23
23
22
19
21
24
25
25
23
20
23
23
24
23
23
23
22
21
22
20
20
21
21
21
21
21
23
24
25
25
26
26
25
26
28
28
27
27
22
24
23
22
22
22
22
23
23
24
21
21
21
21
22
21
21
22
23
22
23
23
21
22
21
22
21
20
20
21
22
21
22
22
21
20
21
21
23
23
23
21
22
22
22
19
18
18
18
19
19
20
22
23
22
23
24
24
23
23
23
26
26
26
24
24
23
25
25
26
27
27
27
26
26
28
28
28
29
28
27
28
26
28
27
28
28
28
28
27
27
26
25
24
25
23
23
24
25
23
24
23
22
20
20
22
22
22
22
24
22
23
24
23
23
23
23
23
23
22
23
23
23
22
23
24
20
22
21
20
18
18
17
17
17
17
17
18
18
20
20
20
20
21
20
21
21
21
21
20
19
18
18
18
17
17
17
16
17
16
15
16
15
16
17
17
18
16
15
15
16
16
16
17
18
19
20
20
18
19
17
17
18
18
15
15
16
17
17
19
19
21
20
20
20
22
22
22
22
20
21
20
19
16
15
16
16
16
15
15
16
18
20
21
23
24
25
25
25
24
24
22
21
20
20
22
22
23
23
23
24
23
21
20
21
22
22
22
23
22
23
24
24
23
22
21
19
20
18
18
18
18
18
18
17
19
20
20
20
17
17
17
17
16
17
15
16
16
17
18
19
20
18
17
16
16
17
17
17
18
17
16
15
16
17
17
17
17
19
20
19
20
19
20
19
18
18
21
21
21
22
21
20
20
21
23
23
22
24
24
24
24
23
24
24
23
24
25
28
27
28
27
26
25
25
23
21
21
23
22
22
22
22
22
23
23
22
23
24
23
25
21
24
24
25
26
28
27
27
24
22
22
20
22
23
23
24
23
25
26
26
26
26
25
25
25
25
24
24
24
23
21
20
20
21
23
22
21
21
19
18
20
20
20
20
20
19
18
18
20
20
21
22
22
20
20
20
22
20
21
19
19
19
18
18
17
20
19
18
20
20
19
16
16
16
16
16
17
16
16
17
16
18
19
18
18
17
16
18
19
18
19
19
19
18
18
17
17
16
16
15
15
15
16
17
17
19
19
17
17
17
16
15
13
14
14
15
15
18
17
16
16
18
18
17
15
15
15
15
14
14
15
14
15
14
13
14
14
15
16
16
15
14
12
12
14
17
18
17
16
16
15
15
13
13
13
13
13
15
15
16
15
15
15
14
14
14
16
16
13
13
14
14
14
15
15
16
18
20
20
20
20
19
20
19
19
19
18
20
20
20
20
20
20
19
21
23
24
25
27
25
25
25
22
22
22
21
21
22
22
23
22
22
23
24
24
25
25
24
22
23
21
21
20
20
20
19
20
20
19
20
20
20
22
21
21
22
23
22
22
23
22
22
22
24
24
24
24
24
26
24
23
22
23
23
23
23
23
23
20
23
23
25
25
23
24
25
24
22
21
20
22
23
22
21
22
21
22
22
22
22
22
20
20
20
20
20
21
20
21
21
23
24
26
26
26
26
27
27
27
26
26
24
23
23
24
25
25
26
25
25
26
26
25
25
24
24
24
22
22
25
24
24
22
25
25
27
27
28
31
29
29
23
22
23
22
21
20
20
21
22
23
25
25
25
24
24
25
26
27
27
28
28
25
25
26
26
25
24
24
26
26
26
25
24
25
25
23
22
22
21
22
22
22
23
22
22
22
21
23
22
24
25
25
25
25
24
22
23
24
24
22
22
20
21
22
23
23
23
22
21
21
20
20
19
18
18
17
17
18
19
19
22
23
23
24
23
22
22
21
20
17
18
17
17
19
18
19
21
22
24
24
25
24
24
25
24
24
24
24
25
27
27
28
26
27
25
25
26
24
24
24
22
23
22
22
22
25
24
23
22
21
20
20
22
21
20
19
18
18
18
18
19
20
22
23
23
22
21
21
20
20
19
19
18
18
17
17
17
16
16
16
17
19
20
20
20
20
19
20
19
19
20
20
21
21
20
22
22
23
20
21
20
21
23
23
22
22
23
22
23
21
20
20
20
21
19
19
18
18
18
19
19
20
20
19
19
19
17
18
20
22
22
21
23
24
23
24
25
25
25
22
22
22
21
21
20
18
19
19
18
19
19
16
16
19
18
16
16
17
17
19
20
22
21
21
20
19
18
19
20
20
18
21
21
21
19
20
20
20
21
22
24
23
23
22
22
23
22
22
24
25
26
27
27
27
27
27
24
26
28
27
27
29
27
27
26
27
28
25
25
23
23
23
23
22
22
22
21
22
20
21
19
19
20
16
16
16
16
17
15
15
16
17
18
18
19
21
21
19
17
15
15
16
16
18
18
18
18
16
16
16
16
15
15
14
14
14
14
14
14
14
15
17
16
16
16
17
18
19
18
20
21
22
22
22
21
21
22
23
23
21
23
24
24
21
21
21
21
22
22
22
22
22
22
23
21
21
21
21
21
23
23
24
24
27
26
27
27
27
28
28
26
26
26
26
25
24
22
22
23
23
23
22
21
22
21
21
21
23
24
22
23
24
21
21
21
20
20
19
19
18
17
16
16
18
19
20
20
19
19
21
20
21
22
22
18
20
19
19
20
19
19
19
20
20
21
18
17
15
18
19
20
19
20
21
20
20
22
21
24
26
24
22
21
20
20
21
19
19
17
17
17
17
18
19
20
19
19
20
19
21
21
20
19
17
17
17
17
16
15
15
15
15
14
13
13
15
15
15
15
15
15
14
14
14
14
15
14
16
14
16
16
17
18
19
20
20
22
22
21
21
21
20
20
19
18
18
17
19
19
19
19
18
19
19
17
16
16
17
17
17
18
19
19
19
20
19
19
19
20
19
20
21
21
21
22
19
19
21
21
20
17
15
15
16
16
16
16
16
15
15
17
17
17
17
17
17
16
14
15
15
16
16
16
17
18
17
18
17
18
18
18
18
17
16
15
15
15
16
16
18
17
18
16
15
16
15
16
18
20
20
20
23
25
26
27
25
24
22
19
19
20
20
20
21
22
20
19
18
17
17
18
19
19
19
20
20
21
21
22
22
21
21
21
22
22
22
23
22
22
22
25
25
25
24
23
23
26
25
25
28
29
29
30
33
33
33
33
33
34
33
31
28
30
30
29
31
30
30
29
28
27
26
25
24
22
22
24
23
23
23
22
22
23
25
24
24
25
26
27
29
28
27
29
29
29
26
26
25
25
24
24
27
27
28
30
29
27
27
27
28
28
27
26
26
27
29
29
28
27
29
30
33
33
32
32
32
30
28
28
29
27
28
27
26
27
27
27
27
24
25
24
24
25
24
25
27
28
29
28
26
25
24
24
23
23
24
23
25
25
24
22
21
20
20
20
22
21
19
20
20
20
21
22
23
26
28
27
24
23
24
24
21
22
22
19
18
17
17
16
16
17
18
18
18
19
19
20
21
21
22
21
21
22
21
20
18
18
20
20
21
19
19
19
19
17
18
18
18
18
19
19
18
19
21
21
20
20
20
21
22
22
23
22
23
21
20
20
23
23
24
23
23
24
24
22
21
21
21
20
19
20
22
22
22
23
24
24
25
23
23
22
21
20
20
19
19
21
22
22
23
23
23
23
23
22
25
26
25
27
27
26
25
26
26
23
24
25
25
23
22
21
23
23
24
23
21
21
20
19
18
19
17
18
18
17
18
18
17
16
14
15
17
17
16
16
16
17
16
16
15
15
15
16
16
16
16
16
17
17
17
17
18
18
17
16
17
17
17
16
17
18
16
17
17
16
16
16
17
18
18
17
16
17
18
18
18
19
20
19
19
18
18
18
17
17
16
16
15
15
16
16
16
16
16
16
16
17
17
18
19
19
18
17
13
14
14
15
13
13
14
15
16
17
17
17
16
16
16
17
18
17
16
17
18
17
19
19
18
19
18
20
19
19
20
22
22
23
23
22
22
20
23
24
23
22
22
21
20
20
20
19
20
21
21
21
21
21
20
20
20
20
21
21
21
20
21
21
20
20
20
18
19
20
22
21
19
21
21
22
21
20
20
19
16
16
14
14
14
14
15
14
15
16
16
18
18
17
17
16
16
17
18
20
20
20
20
21
20
19
17
20
20
20
22
23
21
21
22
23
23
22
22
22
22
21
20
22
22
22
18
19
19
22
23
24
24
23
21
22
23
22
21
21
20
20
20
20
22
22
21
20
19
20
20
20
22
22
20
19
21
21
22
22
23
21
19
18
18
19
19
19
20
21
23
24
25
24
23
23
23
22
22
23
23
23
23
25
24
22
23
22
20
19
19
19
18
19
19
18
18
18
18
19
19
20
21
22
23
23
22
22
22
22
19
18
18
18
19
18
19
18
18
18
18
17
16
17
15
16
15
15
17
17
20
20
20
21
20
20
21
20
20
20
20
20
20
21
23
23
24
24
23
23
23
22
22
21
21
21
21
23
26
26
26
27
27
26
26
26
27
24
24
24
24
25
25
26
25
26
25
24
24
24
25
23
24
26
25
26
26
24
23
23
22
22
24
22
19
19
18
18
19
18
19
19
19
22
21
21
21
19
20
20
20
20
20
21
24
24
25
25
26
25
23
22
19
21
21
20
19
19
19
21
20
20
20
21
21
22
22
22
22
22
21
21
21
20
21
21
20
20
22
23
25
23
24
25
24
23
22
20
19
19
18
17
17
17
17
17
17
16
16
17
18
19
19
18
17
19
21
20
19
18
17
15
14
14
14
16
17
16
17
16
14
14
15
15
15
14
13
13
13
12
12
13
13
15
17
18
18
18
18
20
20
20
21
21
20
20
20
21
19
18
18
18
17
18
19
20
19
19
16
17
17
17
18
19
18
17
19
19
19
19
19
18
19
20
20
19
19
20
21
21
21
21
22
22
20
20
20
20
21
21
22
23
22
23
23
22
21
20
20
20
23
22
24
23
21
23
23
23
21
21
21
18
18
16
18
18
18
17
17
17
15
16
16
17
19
17
18
17
17
17
14
15
17
17
16
19
18
19
19
18
18
15
14
11
12
13
12
12
12
12
13
14
14
13
12
12
12
11
10
10
10
10
11
10
11
11
11
10
11
12
12
13
13
14
16
16
15
15
15
15
16
16
16
14
15
16
14
14
14
15
15
16
17
17
18
17
17
18
19
18
17
18
17
17
17
17
16
17
16
16
16
16
16
16
15
16
17
17
17
16
17
16
15
15
16
16
15
15
14
13
12
12
16
15
17
19
20
22
21
22
22
22
20
19
18
18
17
16
16
14
15
15
16
17
21
21
21
21
22
22
22
22
22
22
21
22
23
22
25
24
27
24
22
21
21
20
19
19
19
21
22
21
22
22
23
23
24
29
29
29
28
27
27
26
27
27
25
24
23
24
23
25
25
24
23
24
23
25
25
26
26
26
26
25
26
26
24
24
25
26
26
24
23
24
25
27
28
28
26
28
28
26
24
25
24
24
21
21
21
22
25
24
25
26
24
24
22
21
20
20
19
20
19
21
20
19
18
17
16
16
16
16
14
14
15
17
17
18
18
18
17
18
19
19
18
19
19
18
15
15
15
16
15
16
15
16
17
16
16
17
15
16
16
17
17
17
18
18
18
17
16
15
14
14
12
12
14
16
17
19
18
16
16
16
17
17
15
17
16
14
14
14
13
13
13
13
13
14
14
14
14
14
15
15
15
14
14
16
16
15
14
14
13
14
14
15
14
15
17
17
18
18
18
16
16
14
12
11
11
10
10
10
9
10
10
10
10
11
11
12
13
15
15
16
17
18
18
19
19
19
19
19
19
19
18
18
17
19
19
20
20
20
20
21
22
25
27
27
27
28
29
31
32
32
30
29
29
30
28
29
28
28
28
27
29
27
27
28
28
28
28
28
28
28
29
28
29
28
28
29
28
27
28
28
28
29
28
29
31
31
31
33
33
32
33
32
32
34
34
35
38
38
37
39
37
37
36
36
39
35
33
32
32
29
28
29
28
28
25
26
26
26
26
27
26
25
24
23
22
23
24
24
24
24
21
21
21
21
20
21
20
18
20
21
21
23
22
21
20
20
19
18
18
20
20
17
18
18
20
21
21
22
21
24
24
24
23
22
22
23
22
23
22
21
20
18
19
21
20
21
20
21
22
20
20
19
21
22
21
22
24
24
26
26
24
23
22
23
23
21
21
21
21
19
17
19
19
17
17
17
17
16
17
18
18
19
18
19
19
19
20
21
19
19
19
18
18
17
19
19
20
18
19
18
19
19
20
20
20
20
17
16
16
17
17
16
16
18
18
17
18
19
19
19
18
17
16
16
13
13
12
13
14
16
15
14
16
15
14
14
17
16
17
15
14
13
13
15
15
14
14
13
13
12
12
12
12
13
11
11
11
11
12
12
12
11
9
8
8
9
9
9
10
12
12
13
14
14
14
13
13
14
14
13
12
13
13
13
12
11
12
14
14
14
15
15
14
15
16
16
15
15
13
15
14
15
17
19
18
18
18
18
16
16
16
16
17
18
19
18
18
18
18
16
17
17
17
15
16
17
16
17
16
17
17
17
18
16
17
16
16
16
16
16
15
17
19
18
19
19
19
17
17
17
17
18
17
19
19
18
18
16
17
17
18
19
17
17
15
15
16
16
18
18
18
16
17
19
19
18
19
21
23
23
23
23
22
21
24
24
24
23
23
24
23
23
22
20
19
19
18
20
20
20
19
18
19
18
19
16
17
17
18
18
14
17
17
17
17
15
15
16
17
15
16
18
19
18
18
16
15
17
17
19
20
20
22
20
21
21
23
21
21
20
20
21
21
20
21
22
22
22
23
21
23
22
22
24
23
23
22
22
23
22
21
21
21
20
21
21
23
24
23
24
27
26
26
26
25
25
25
24
24
25
23
23
23
24
24
27
27
26
26
27
29
26
29
29
28
27
30
30
27
28
29
31
30
28
28
28
29
30
30
30
29
31
32
31
31
34
34
34
34
35
34
32
33
32
32
32
33
32
35
35
35
35
34
36
36
35
35
35
36
38
37
37
37
37
36
33
34
36
34
31
31
30
29
29
29
30
29
28
28
25
25
24
25
22
22
24
24
24
24
25
25
23
24
22
21
21
19
20
20
20
20
21
21
22
21
23
23
23
24
24
23
21
22
24
25
25
21
21
21
19
20
18
18
17
17
16
17
19
19
20
21
21
22
20
20
19
18
19
19
20
19
22
25
25
25
24
25
23
22
19
18
18
18
19
20
20
19
19
18
18
18
17
19
21
21
22
21
21
20
20
21
21
20
20
22
22
23
24
24
24
22
22
22
24
24
24
23
23
23
23
24
24
22
21
21
24
25
24
23
22
22
22
22
24
25
23
25
24
24
25
25
25
25
27
27
26
27
26
26
27
26
24
24
25
25
23
21
23
26
27
27
29
30
31
33
32
33
34
30
29
30
31
30
29
28
27
28
31
29
30
30
30
29
29
30
30
31
31
33
31
31
30
34
35
35
35
34
33
32
31
31
31
30
29
28
29
29
27
26
27
25
26
27
27
28
29
31
32
32
32
32
31
30
28
28
29
28
29
29
30
29
28
27
26
25
26
25
26
25
23
23
23
21
20
19
19
22
21
20
20
20
20
20
20
19
17
18
19
20
22
21
20
19
18
17
16
15
16
16
15
15
18
18
17
17
17
17
18
18
18
18
18
14
14
14
15
13
13
13
15
15
14
14
13
14
15
15
15
15
14
15
15
15
16
16
16
17
19
19
19
19
22
21
21
19
21
21
21
21
21
22
22
22
21
21
19
19
20
22
26
26
27
28
27
27
30
30
30
30
31
31
32
32
34
34
33
34
34
34
33
33
34
34
34
33
34
34
34
34
35
37
38
37
36
39
37
38
37
39
39
37
37
37
37
36
36
36
36
36
36
36
38
39
39
38
36
35
35
35
35
34
34
34
33
33
33
32
34
35
34
34
32
32
30
29
27
28
29
29
27
28
28
29
27
26
25
26
25
25
25
23
24
25
26
26
26
28
27
24
24
23
23
25
27
28
29
25
24
24
25
24
24
24
22
23
22
22
24
22
21
21
21
19
20
19
20
21
21
22
22
22
23
21
21
21
21
22
19
19
19
20
23
24
25
25
24
26
26
27
26
26
24
25
27
28
28
28
27
28
29
27
28
29
29
28
28
29
30
32
32
31
29
29
29
27
27
27
27
27
27
25
25
25
25
24
24
23
24
26
25
25
25
26
26
27
28
29
28
27
26
27
26
25
23
23
23
24
24
25
25
24
23
24
25
24
24
21
22
20
20
21
21
21
20
20
21
21
21
21
21
22
22
21
22
20
21
21
23
23
22
22
22
23
22
22
23
24
23
22
23
24
23
22
21
21
22
22
23
21
22
19
19
21
21
23
23
23
23
23
24
23
23
23
24
23
24
22
22
21
21
20
19
19
20
21
23
23
22
21
20
21
22
22
24
24
24
24
24
23
22
22
22
21
23
22
21
23
22
22
22
20
20
21
21
22
22
21
21
23
22
23
23
23
24
24
23
24
24
25
24
24
24
25
24
24
25
24
24
23
21
21
21
18
18
18
18
17
17
16
17
18
18
17
18
18
19
19
20
19
19
19
17
17
16
18
17
17
17
19
19
19
19
21
21
23
22
21
21
20
20
21
20
18
17
16
16
17
17
18
18
18
20
20
20
20
19
19
20
21
18
20
19
18
18
18
20
20
19
19
20
18
18
18
18
18
17
18
16
15
18
18
17
17
18
20
21
20
18
16
17
16
16
15
15
17
18
18
18
19
19
21
20
19
19
19
19
18
18
18
18
20
19
19
19
20
19
20
21
21
20
19
21
22
22
24
26
25
24
23
25
26
26
27
27
26
28
27
26
28
27
28
26
26
26
26
26
25
23
26
25
24
22
21
20
19
19
19
18
17
18
19
19
18
19
20
20
19
20
20
19
19
20
20
21
22
19
19
19
21
20
20
19
19
18
19
19
19
20
21
26
25
25
26
26
26
25
24
26
23
23
24
25
25
23
22
23
23
21
21
20
23
25
25
23
21
21
21
21
20
21
20
19
16
16
18
18
18
18
16
16
16
15
13
17
17
17
17
15
15
14
15
17
16
18
16
17
16
14
16
16
16
17
17
17
18
18
17
18
19
19
18
19
19
17
17
20
20
22
23
24
24
24
26
25
24
24
24
23
23
24
22
22
24
24
25
23
23
24
25
25
25
25
24
24
24
24
25
25
23
23
21
20
19
19
18
18
18
18
18
18
17
18
18
19
20
21
22
22
21
22
24
25
24
23
25
25
25
23
23
24
24
23
22
20
21
21
20
21
23
23
22
21
21
20
22
23
24
24
24
22
22
23
23
23
23
20
22
22
22
21
22
22
23
23
23
24
23
22
22
22
22
22
23
23
23
25
25
26
27
27
26
26
26
25
23
22
21
19
20
21
22
20
20
18
18
19
19
21
22
21
19
17
16
17
20
21
21
21
20
19
19
19
17
16
16
16
18
18
19
19
19
20
22
25
23
24
25
25
23
24
24
24
24
22
24
23
25
26
25
26
27
27
26
24
23
22
23
25
26
26
26
26
25
23
26
25
27
26
25
24
23
25
26
25
22
22
24
25
24
23
22
22
20
20
21
19
19
20
21
20
21
20
20
21
21
20
18
18
18
17
18
16
16
16
17
17
16
17
17
17
19
18
19
19
19
20
21
20
20
21
20
20
21
22
22
23
22
22
21
22
22
22
23
23
23
25
25
25
25
23
23
20
19
18
17
17
18
19
19
20
18
19
19
18
17
17
17
19
17
17
15
15
15
16
17
17
19
20
18
17
20
21
20
19
19
19
18
20
18
19
16
14
14
14
14
14
13
13
13
13
14
18
18
18
17
17
17
16
16
19
19
18
19
18
16
18
18
17
17
17
17
17
17
17
18
19
19
19
19
18
19
19
18
18
18
18
19
20
19
18
18
18
18
19
18
18
18
17
17
15
15
16
16
16
16
18
18
17
16
16
15
15
14
13
13
14
16
17
15
15
15
14
14
14
15
18
19
19
21
23
24
22
22
20
20
20
20
21
20
20
21
21
21
22
23
23
20
19
19
20
19
18
17
18
16
16
16
16
16
17
18
17
15
14
13
13
14
15
16
16
16
15
16
15
14
13
13
13
13
12
13
15
15
15
16
16
16
15
16
16
17
16
16
15
15
15
15
14
16
16
17
17
17
19
18
18
18
17
15
14
14
14
14
14
15
14
14
16
17
16
16
17
17
16
15
14
15
15
14
13
14
14
16
16
14
13
14
12
12
11
12
11
12
12
12
14
15
15
15
15
15
15
15
15
15
14
16
15
15
15
14
14
13
14
16
14
14
14
14
14
16
14
15
15
16
16
16
16
16
15
14
15
15
16
16
15
15
15
15
16
16
16
15
15
16
18
19
19
20
19
19
19
16
17
17
17
17
18
18
19
19
20
20
21
23
23
22
21
22
23
24
23
23
22
20
20
20
21
21
23
23
23
23
23
22
22
19
19
19
19
20
19
19
19
20
19
19
17
17
18
18
17
16
15
17
18
18
17
14
12
12
13
13
11
11
11
12
13
13
13
13
12
13
14
15
14
15
15
13
13
13
12
11
11
12
11
11
12
13
14
14
14
14
15
15
15
17
18
17
18
17
17
17
17
17
18
17
17
18
19
20
20
19
19
20
21
21
23
23
21
20
17
17
17
16
17
17
18
17
19
19
17
16
16
16
17
16
16
18
19
19
19
19
19
19
18
20
20
21
22
22
19
19
19
21
21
21
20
21
19
19
18
17
16
18
16
16
16
16
17
18
17
18
19
20
22
25
25
25
24
21
20
23
24
25
27
26
28
30
31
31
31
31
30
30
29
29
31
33
32
32
29
27
27
25
25
27
26
29
25
25
26
27
27
27
25
23
24
24
24
23
23
22
23
24
23
22
25
24
24
20
19
19
19
19
16
17
17
18
18
19
20
20
19
20
19
18
17
15
15
15
16
16
17
19
18
16
15
16
15
14
15
15
14
14
15
16
17
16
16
16
15
15
16
16
16
16
16
17
17
18
18
17
15
15
17
18
18
19
20
18
16
16
17
19
18
18
18
18
19
19
20
21
21
20
19
20
20
20
20
20
21
21
21
21
20
20
20
21
21
23
24
25
24
24
25
26
25
24
24
25
23
23
23
23
23
23
21
21
25
24
25
24
25
26
23
24
22
22
20
23
24
23
23
22
22
23
23
25
24
24
23
22
23
24
22
21
21
20
21
20
20
19
19
21
21
21
21
20
20
21
22
24
21
24
25
25
26
24
24
23
23
23
22
23
23
23
23
23
23
22
21
22
21
22
23
23
24
24
24
25
25
24
24
23
23
24
24
25
24
26
26
26
26
25
22
21
22
23
24
24
24
23
23
23
23
23
26
25
27
26
26
26
26
25
23
22
21
22
22
21
21
21
21
21
21
22
21
21
20
20
20
20
19
19
19
19
19
21
21
21
22
21
22
21
21
19
18
16
17
18
18
18
16
14
13
14
14
16
17
17
17
16
17
19
18
21
22
20
20
20
20
20
20
22
21
22
20
22
24
24
25
24
24
24
24
23
23
24
24
24
23
22
20
18
19
18
18
19
19
18
19
19
18
18
20
20
22
22
22
21
22
22
21
20
18
19
19
17
19
19
18
18
19
18
19
18
18
18
18
18
19
18
18
17
16
15
15
17
17
17
16
16
15
14
14
14
14
16
18
19
21
23
23
25
25
25
24
21
22
22
24
23
22
22
23
24
23
22
20
19
18
18
18
18
20
19
19
20
20
22
23
22
21
21
21
22
22
21
21
21
20
20
20
21
21
22
22
21
21
22
22
22
22
21
20
20
20
20
21
23
23
24
26
23
23
24
24
23
21
22
22
23
23
24
24
24
26
27
26
26
24
24
23
23
24
23
23
21
21
21
22
22
24
23
23
23
22
24
26
26
26
26
26
25
26
27
29
28
25
25
26
26
26
26
27
27
29
28
28
30
29
31
31
29
29
31
30
31
30
30
29
29
28
27
28
26
25
28
27
27
26
27
27
26
25
26
24
24
23
23
22
22
23
24
22
24
23
22
20
19
18
19
20
22
22
22
23
24
25
25
26
23
22
21
22
21
22
22
22
22
22
20
20
18
18
16
17
19
17
17
16
16
16
17
16
16
17
18
19
19
19
20
20
20
20
20
19
20
20
21
22
21
21
22
22
22
22
23
23
23
23
22
22
22
20
19
20
22
22
23
20
20
21
22
21
21
21
23
23
23
22
22
23
22
21
21
22
22
21
22
20
20
20
19
18
18
20
21
21
19
21
21
21
21
22
22
22
23
23
22
23
22
21
22
22
21
20
21
22
22
22
21
21
20
20
21
21
20
19
20
21
20
20
22
22
21
20
21
21
21
20
21
21
22
22
21
19
18
17
18
18
19
21
21
23
24
24
24
27
28
29
29
29
30
30
29
32
31
32
32
33
33
32
33
34
35
37
36
37
37
37
36
37
37
36
36
32
33
33
33
33
33
33
32
31
31
33
32
29
30
31
32
31
31
32
34
33
33
32
33
33
34
33
34
34
33
34
34
34
32
30
28
25
26
23
24
25
25
25
23
23
21
21
20
21
21
22
22
23
24
23
24
27
25
27
26
25
24
25
25
23
22
22
24
26
26
22
21
20
21
22
21
21
21
21
20
21
21
21
21
21
22
22
19
20
21
21
20
20
21
21
21
20
22
23
21
21
24
23
23
21
21
20
20
20
20
21
20
20
21
20
22
24
25
25
25
24
24
24
23
24
25
26
27
27
28
28
29
29
28
29
31
31
30
31
31
31
31
31
32
30
29
29
29
30
31
30
30
29
29
30
29
29
30
30
28
30
30
28
26
25
26
24
24
24
23
24
25
25
23
23
23
25
25
25
24
24
26
26
27
28
26
26
27
28
27
27
26
25
25
24
24
26
27
27
28
29
30
31
30
31
30
29
28
29
28
27
28
27
27
28
27
28
28
29
29
27
26
27
26
25
25
28
27
27
27
25
24
27
29
31
31
31
31
33
33
30
29
30
29
29
29
29
30
29
28
27
28
29
29
29
30
30
31
32
31
30
28
27
26
26
24
25
25
25
25
26
24
23
22
23
24
25
23
23
24
24
22
22
23
22
23
24
22
21
21
19
20
18
19
16
16
16
16
16
15
13
13
14
14
14
15
18
19
21
21
18
18
17
18
19
19
22
22
20
21
23
21
21
20
18
17
18
18
18
18
18
20
22
23
22
21
22
23
24
25
26
27
28
29
28
28
29
27
27
27
29
29
30
30
29
31
32
33
32
31
29
30
30
31
30
31
30
29
31
30
31
29
30
28
28
27
29
30
30
31
31
30
31
31
32
33
32
33
33
34
34
33
33
33
31
30
33
33
32
31
32
29
28
27
27
27
27
27
27
28
26
25
27
24
24
25
25
24
25
25
26
25
26
23
23
22
22
22
23
21
20
21
22
23
24
22
22
22
22
21
22
21
22
18
19
22
22
24
23
25
23
21
21
20
22
23
23
23
23
25
24
22
23
23
21
20
22
22
22
22
22
23
25
24
24
24
25
27
28
29
29
27
27
26
26
26
26
25
25
26
25
25
26
27
26
26
26
26
24
24
23
23
22
20
22
23
21
22
23
22
20
20
18
18
19
19
18
19
19
16
15
15
17
17
16
17
17
19
20
21
22
22
21
21
20
19
19
20
22
22
20
18
18
18
17
17
19
20
21
19
20
21
22
21
21
22
24
24
24
23
23
23
23
22
23
24
26
26
25
24
23
23
24
24
24
26
26
27
26
25
25
26
24
24
24
27
26
26
28
29
29
28
26
26
24
22
22
22
21
22
20
20
20
21
19
19
20
20
20
20
23
24
24
24
26
25
24
23
27
27
27
24
26
26
26
26
24
26
26
25
27
28
29
29
29
31
30
30
30
29
28
26
23
25
25
25
23
23
23
24
22
23
23
21
22
21
22
20
20
20
22
23
23
24
25
27
29
28
24
24
22
22
23
23
22
22
22
25
26
23
23
23
22
22
21
22
23
25
24
24
25
24
20
20
22
20
19
19
19
19
19
20
20
20
20
20
19
20
21
20
20
20
21
22
23
22
21
21
23
22
21
23
22
21
21
21
22
22
21
19
18
18
16
17
15
15
14
14
17
17
17
17
18
19
19
18
21
21
21
21
21
22
22
21
25
25
24
24
23
21
22
22
22
22
22
26
26
23
23
24
23
24
24
26
27
28
26
26
25
25
26
27
26
27
27
28
29
27
26
26
26
28
28
28
28
28
27
27
26
27
27
28
27
27
25
24
24
23
23
24
23
23
23
22
21
21
21
21
20
21
22
21
22
24
26
23
24
23
24
24
24
24
23
24
23
25
24
25
24
24
24
20
21
20
20
20
21
21
21
21
22
21
21
21
21
21
21
20
20
21
22
22
22
21
22
22
24
26
25
24
23
22
22
21
21
21
22
22
20
20
21
23
24
27
28
27
25
25
23
24
25
24
23
22
23
23
20
20
19
18
18
17
19
21
21
21
20
20
20
19
20
19
17
19
19
18
20
20
19
18
20
21
21
22
22
22
22
21
21
21
21
22
23
21
22
22
22
23
22
22
23
23
26
26
26
26
26
27
28
30
31
30
29
30
30
31
33
31
32
31
31
33
32
32
33
33
33
32
33
33
30
30
26
26
27
28
26
26
26
26
28
28
30
31
31
31
31
32
33
33
33
32
31
31
32
34
33
30
32
32
33
33
31
32
31
30
25
24
23
24
24
23
23
23
22
22
21
21
22
22
22
21
22
23
24
24
23
22
23
22
23
22
23
23
24
24
24
21
22
20
20
20
20
18
18
18
19
18
19
20
20
21
20
20
19
17
17
18
19
19
22
23
22
21
21
21
21
21
20
18
19
17
17
17
17
17
16
15
16
14
14
14
15
15
14
14
16
17
17
17
17
20
18
18
17
15
13
13
13
13
12
11
10
12
14
14
14
15
14
15
18
18
18
18
17
15
16
17
16
14
13
16
18
17
17
16
15
15
15
15
15
15
14
14
13
14
15
15
15
16
18
18
17
17
18
19
19
18
18
17
17
17
18
18
19
18
17
18
19
21
21
21
22
22
22
22
22
21
21
21
21
21
21
22
21
20
23
25
24
25
26
27
27
29
27
25
25
23
24
25
26
27
28
26
25
25
25
26
26
26
27
28
27
27
27
28
28
28
26
26
25
25
25
22
20
21
20
21
22
21
21
22
25
25
26
26
25
26
26
28
28
28
28
29
30
29
33
34
33
33
32
32
35
34
32
32
31
30
29
28
28
28
28
28
28
28
26
24
24
24
25
27
26
23
23
23
24
23
25
25
26
27
27
29
29
30
32
31
30
27
25
25
24
23
22
23
23
23
23
23
23
23
23
23
23
25
25
26
26
26
26
26
26
26
28
27
23
23
25
25
26
27
28
28
27
27
28
27
28
28
28
30
28
30
30
29
27
26
25
27
27
25
25
26
27
26
26
24
24
24
27
28
28
26
27
27
30
30
30
31
29
29
28
28
24
24
25
25
25
24
25
25
25
25
25
24
24
25
25
26
24
23
24
26
25
24
23
22
21
19
19
19
20
20
19
19
18
20
21
20
20
20
21
21
18
20
21
23
23
24
23
24
25
23
23
20
19
19
21
21
22
21
21
21
24
25
23
23
23
21
22
21
19
18
18
17
18
18
17
18
19
21
21
22
21
21
22
21
19
19
20
20
19
20
20
20
21
22
23
23
23
25
25
27
28
29
27
28
26
27
25
23
23
22
22
23
23
23
24
24
23
23
26
25
24
25
26
25
24
24
24
25
24
25
25
24
24
24
23
23
23
22
21
21
23
24
23
21
21
21
22
22
24
23
24
26
26
26
24
24
26
25
26
27
25
24
24
24
25
25
25
25
26
27
30
29
27
26
26
26
29
30
30
31
32
32
31
30
28
28
26
26
25
25
26
26
24
25
25
24
24
25
28
28
26
25
25
24
24
25
25
25
27
27
27
27
29
28
26
26
27
26
26
26
25
25
25
25
27
27
27
27
27
27
28
26
27
27
26
23
23
21
21
21
21
23
22
23
25
26
24
24
24
24
24
24
22
21
20
19
18
18
18
17
19
19
17
15
16
18
18
19
19
17
20
19
20
20
20
22
24
24
25
25
24
24
22
23
22
21
20
21
23
23
23
22
21
21
20
21
21
19
20
19
18
18
18
19
19
20
19
20
20
21
22
21
19
20
20
20
20
17
18
19
19
16
16
17
16
19
19
18
16
15
16
16
16
16
17
18
18
18
17
17
18
19
17
16
17
16
17
16
16
15
14
13
14
14
16
17
18
17
18
20
20
19
19
19
18
17
16
16
17
17
15
15
16
17
16
17
19
19
18
18
18
19
19
20
21
20
20
21
21
20
21
21
20
20
20
19
19
20
20
19
19
18
19
20
20
22
22
23
22
21
21
22
21
22
22
22
21
20
18
18
19
21
20
19
19
19
19
19
19
18
19
19
19
21
19
20
21
22
24
24
22
22
22
20
21
20
20
20
19
18
18
18
18
19
22
26
26
26
26
27
26
26
24
23
21
20
20
21
21
19
18
19
20
19
18
16
16
16
17
17
17
18
19
17
17
18
18
18
17
18
17
17
16
16
18
18
18
19
19
17
16
17
17
18
20
19
19
18
18
18
17
17
19
18
18
18
19
19
17
18
17
16
19
19
19
17
18
18
18
17
17
19
19
19
20
21
20
20
18
18
19
18
17
16
15
17
16
18
18
18
21
23
23
21
22
22
23
20
21
22
22
21
19
19
23
21
20
19
19
19
18
17
18
19
18
17
18
19
20
23
22
19
18
17
16
16
16
17
16
17
17
17
17
18
18
18
17
17
18
20
21
20
22
22
21
21
19
18
16
18
18
18
18
17
17
17
19
21
22
23
22
23
23
25
24
23
23
24
23
22
22
21
22
22
21
21
20
21
22
22
23
23
22
21
21
21
20
20
19
21
23
24
25
25
25
24
23
23
22
22
22
22
24
26
29
28
29
31
30
29
28
27
25
24
22
22
24
24
25
26
26
26
27
29
28
28
26
24
22
23
23
21
20
20
20
20
21
19
20
22
22
21
22
22
20
21
21
22
22
24
25
25
24
25
23
22
22
21
21
22
22
22
23
25
27
26
26
23
22
24
24
24
23
23
24
26
25
24
24
26
26
26
25
26
25
24
26
31
30
31
30
29
28
27
25
25
23
23
22
23
24
25
26
25
24
25
25
25
23
23
24
24
25
26
25
26
30
30
28
27
27
29
29
27
27
26
26
26
26
26
25
25
26
26
27
25
25
25
24
25
25
26
24
24
23
25
26
26
25
26
26
25
24
24
24
24
24
23
23
23
23
23
23
23
25
27
26
26
25
25
24
24
25
25
26
26
25
26
25
26
27
27
28
28
28
28
27
27
24
25
22
21
21
21
20
20
21
20
20
20
21
21
21
22
20
21
17
16
16
15
15
15
14
14
13
13
12
12
14
15
15
15
16
18
18
16
16
17
17
18
17
17
14
15
16
18
17
17
19
21
21
21
23
22
23
24
27
25
22
21
21
20
20
20
22
23
23
23
23
23
23
24
23
23
24
24
24
23
22
20
19
19
19
21
22
21
21
20
20
19
17
18
18
19
19
19
19
21
21
21
21
21
22
23
25
25
25
26
26
26
27
25
25
25
27
27
29
28
28
29
29
28
28
26
27
27
27
25
26
27
26
26
26
28
29
29
31
31
30
27
26
26
25
24
24
24
25
27
25
24
22
22
23
23
22
20
17
16
17
19
21
20
21
21
23
23
22
23
24
22
22
22
22
21
21
20
20
21
22
22
23
22
20
20
21
21
21
21
20
20
20
20
21
23
23
22
23
24
23
21
21
20
21
21
21
21
21
22
23
22
22
22
19
18
18
20
20
23
22
22
21
20
22
22
23
22
22
21
21
21
21
23
24
22
20
19
17
17
16
16
18
18
17
17
18
17
17
17
18
18
19
19
18
18
17
17
16
17
17
16
15
15
15
14
14
15
17
18
18
18
16
16
16
16
16
17
18
18
19
19
18
18
17
15
16
16
17
17
16
17
16
16
16
17
18
17
18
18
18
18
19
19
19
18
17
16
17
16
16
17
17
16
17
18
18
19
20
20
18
18
17
16
15
14
16
17
18
19
19
19
19
23
25
24
23
23
23
22
23
23
24
23
24
23
23
21
21
21
22
21
23
22
21
21
22
22
24
25
25
23
23
23
22
24
26
28
27
27
27
27
26
27
27
26
27
25
24
23
23
22
23
26
28
28
30
31
29
30
30
30
30
28
29
29
30
30
29
28
27
26
27
26
28
29
30
30
32
32
31
30
29
29
28
28
27
26
26
26
26
26
27
27
28
28
28
29
28
27
27
27
28
30
29
29
29
28
27
27
27
28
29
29
27
27
27
26
25
26
28
27
27
27
26
28
28
28
30
29
28
26
25
28
27
27
26
27
26
26
26
27
27
27
27
27
27
26
26
27
26
28
28
28
27
28
30
28
26
27
25
26
26
27
29
28
29
26
29
30
29
29
31
29
28
29
29
30
31
32
31
31
31
30
30
30
31
31
32
32
30
32
32
32
34
35
33
33
34
33
32
33
34
31
32
31
29
30
31
29
31
30
29
28
27
29
29
29
28
27
29
29
30
30
29
31
30
29
32
30
30
29
28
28
29
29
31
33
33
33
33
34
34
35
35
36
35
34
34
35
34
33
31
32
32
32
32
33
34
33
34
33
32
32
32
33
33
34
35
36
34
33
35
37
35
34
35
35
36
39
40
40
41
40
40
40
40
41
37
39
40
42
42
43
43
43
42
42
41
40
38
38
37
41
44
42
41
39
39
41
40
39
38
37
37
37
34
32
31
30
32
30
30
30
30
30
31
29
28
26
28
28
28
28
29
28
28
27
27
26
26
27
28
28
30
31
32
30
29
29
30
28
26
25
24
26
27
27
28
28
27
28
28
24
25
27
26
25
28
28
26
26
24
26
27
26
25
25
26
26
27
27
28
29
29
30
31
30
30
27
28
26
25
26
26
24
23
24
24
24
24
22
22
22
23
23
24
23
22
23
22
22
22
23
25
25
23
24
24
25
23
23
23
23
21
22
22
23
21
19
20
20
20
22
22
23
25
25
25
24
22
22
20
21
19
20
23
22
21
21
21
21
20
19
17
16
17
19
19
24
24
25
25
23
23
23
22
21
21
20
22
21
23
23
22
23
23
22
20
20
20
20
21
21
23
22
21
22
22
23
23
23
23
24
24
25
24
26
25
24
25
25
25
23
24
24
23
21
20
19
19
19
20
21
21
21
20
20
20
19
19
19
19
19
19
17
19
18
19
19
18
19
18
19
19
19
20
21
19
19
21
22
22
21
20
20
22
22
22
22
21
18
16
16
15
15
17
17
17
17
16
16
16
17
16
17
18
18
19
20
20
20
21
21
21
21
21
21
21
21
21
20
20
19
20
21
22
20
18
17
17
17
18
17
16
16
19
19
18
19
18
18
18
20
19
19
20
19
19
17
17
19
19
18
18
18
17
18
17
17
17
17
17
17
19
19
19
18
17
17
20
20
20
21
23
24
24
24
25
25
25
25
25
25
25
24
23
22
24
24
23
24
24
24
22
21
19
19
21
22
20
20
18
17
16
17
15
16
16
16
16
16
17
18
18
18
16
16
16
16
17
19
19
18
20
21
21
21
21
22
22
22
23
22
21
21
21
20
20
20
18
18
16
15
15
18
18
19
22
23
22
23
23
23
23
19
19
19
19
18
18
18
17
17
16
18
18
18
18
18
18
18
17
17
17
16
15
16
16
16
17
16
17
17
17
15
16
16
15
15
14
14
14
12
15
14
15
15
17
17
17
17
18
17
18
19
19
20
23
24
19
19
18
17
17
17
17
19
19
19
20
20
22
22
23
24
25
26
26
27
26
25
26
28
27
29
29
28
28
28
30
29
30
30
30
31
32
31
30
31
31
27
27
28
28
28
31
32
33
32
33
33
33
33
30
31
30
30
30
31
31
31
33
32
34
36
36
35
34
34
34
32
30
30
30
31
32
29
32
34
35
35
36
36
35
36
35
35
34
33
36
37
35
32
32
31
31
29
27
28
28
27
28
27
28
27
27
26
28
31
31
33
36
35
34
34
31
31
31
33
34
32
32
32
32
33
33
34
33
33
34
34
36
36
37
39
39
37
36
37
38
36
34
35
35
33
31
29
29
28
27
29
26
26
24
23
22
22
22
23
24
25
24
23
22
22
23
23
24
26
24
24
25
26
27
25
25
23
23
23
24
24
24
25
24
25
24
23
23
24
25
24
21
20
20
18
17
17
17
15
15
15
14
14
16
18
17
15
15
13
14
14
15
15
15
16
17
13
13
12
13
14
13
12
13
14
15
15
15
16
15
14
14
15
16
17
16
16
17
18
18
19
21
20
21
21
20
23
23
22
21
21
20
20
19
18
20
21
20
21
21
21
20
20
21
20
20
22
21
21
20
20
19
20
23
25
25
24
24
23
22
20
21
22
21
21
21
20
21
21
20
21
21
23
22
21
20
22
21
22
23
23
22
21
21
23
21
22
22
20
20
20
23
23
22
23
25
22
23
24
23
23
21
21
21
21
21
20
19
19
20
20
19
20
23
23
24
24
27
29
29
27
28
28
29
29
30
31
32
33
33
34
34
34
36
34
34
37
36
36
34
33
32
32
32
30
30
31
32
32
34
34
35
35
34
34
36
38
37
34
32
31
29
29
29
29
29
29
30
30
31
31
31
32
30
29
29
30
30
29
29
29
31
30
29
29
27
28
26
25
24
26
24
23
22
20
19
20
21
22
23
24
25
26
25
25
25
26
28
29
30
31
30
31
31
31
31
30
28
29
26
27
28
27
27
26
26
26
26
25
22
21
19
18
18
15
15
15
15
15
14
14
14
15
14
13
13
13
15
16
18
18
18
17
18
20
21
21
20
20
18
17
16
14
12
13
13
15
16
16
17
17
17
17
17
19
19
19
20
20
21
21
22
23
23
23
24
25
24
20
19
18
19
20
20
21
21
20
20
20
20
20
20
20
19
18
17
17
18
17
17
17
17
18
17
18
17
17
18
18
19
18
18
19
20
20
20
21
21
20
20
20
20
20
20
20
19
21
22
21
21
21
20
21
21
22
22
22
23
24
24
24
25
25
26
26
25
24
24
23
23
22
21
22
22
21
21
21
21
23
22
21
22
21
21
20
19
20
23
23
22
25
26
26
25
25
25
25
25
25
26
25
25
26
26
25
25
27
28
28
27
27
28
26
24
25
25
25
25
27
27
27
26
26
26
26
25
27
26
26
26
26
25
24
24
24
25
25
26
25
25
26
26
26
26
25
23
23
23
21
21
22
20
20
20
22
20
20
20
20
19
20
19
18
19
20
19
18
17
17
15
15
15
16
18
16
16
15
15
14
13
13
13
13
13
11
12
12
14
15
16
16
15
17
16
17
17
18
18
15
17
16
16
16
17
17
17
14
15
17
16
15
15
16
17
17
17
16
16
16
15
15
16
16
14
14
14
14
14
12
13
13
13
13
15
15
15
15
15
17
17
17
17
18
18
18
18
21
21
19
20
20
19
20
20
20
21
21
20
20
19
18
18
18
18
18
17
17
14
14
16
17
17
16
14
16
15
16
17
17
18
19
20
21
20
19
19
17
15
15
15
14
15
14
15
13
14
14
14
12
12
12
12
13
13
12
13
12
12
11
11
12
12
13
12
12
13
15
15
15
15
14
14
13
13
11
13
14
14
15
16
15
15
16
17
17
15
15
15
16
16
17
16
16
17
17
16
14
15
15
15
15
16
14
14
14
13
13
13
14
14
12
12
11
11
12
12
14
15
16
16
16
18
20
20
21
23
22
22
21
21
21
19
18
17
16
17
16
17
17
17
17
17
17
19
19
19
20
20
20
20
22
22
23
23
23
22
22
23
23
22
23
23
24
25
23
23
24
24
24
23
26
27
27
26
24
23
23
23
23
23
24
24
25
26
23
25
24
24
23
22
23
23
22
21
22
21
22
21
20
20
19
19
20
17
16
16
16
15
16
16
15
16
16
16
17
19
17
16
15
15
15
16
16
15
16
18
19
19
20
21
21
21
21
23
25
25
26
26
26
25
25
23
24
22
23
24
23
23
25
25
24
23
23
23
24
23
23
21
21
22
22
23
23
22
22
23
23
23
24
25
24
22
24
25
24
24
23
22
20
21
21
22
23
22
22
22
22
21
20
18
19
19
19
19
20
19
19
20
20
20
20
19
19
17
17
20
20
18
17
17
17
15
16
16
18
19
17
19
19
19
17
16
17
16
17
16
17
17
17
18
18
18
18
15
15
14
14
15
17
16
15
16
14
13
14
13
13
15
16
16
16
16
17
17
18
18
20
20
19
19
19
21
20
19
20
19
18
18
18
18
18
17
17
16
15
16
15
16
16
16
19
18
17
18
19
19
19
18
20
20
20
18
18
19
20
22
22
22
23
23
22
24
24
22
20
20
19
18
18
17
18
18
18
18
19
19
19
20
20
22
21
20
21
21
22
22
22
22
21
21
21
22
22
22
21
20
20
20
22
22
22
24
24
25
26
26
26
24
25
24
24
23
23
23
23
23
24
23
23
23
23
22
20
21
20
20
22
21
23
25
25
24
22
20
19
18
19
19
17
17
17
18
19
20
20
20
19
19
18
19
21
22
22
21
20
20
19
20
20
19
20
18
18
20
20
21
18
20
20
20
19
19
20
19
21
23
23
25
26
25
25
24
23
25
24
24
25
23
23
23
23
24
24
24
23
24
23
23
24
25
25
27
25
24
24
25
23
21
21
22
21
22
20
21
21
21
21
23
24
24
24
23
24
23
23
23
25
25
21
21
20
20
21
19
20
19
21
21
20
19
19
18
17
16
15
17
18
16
15
16
16
16
17
16
15
15
17
17
17
19
20
19
21
21
22
20
21
22
22
20
20
19
19
16
16
15
15
14
15
16
18
17
14
14
15
14
14
15
15
15
12
11
11
16
17
16
17
18
17
17
17
17
17
16
15
16
16
16
19
18
17
18
18
18
17
16
14
12
13
14
14
15
14
13
14
13
12
13
13
13
14
14
14
15
16
16
16
15
15
17
16
16
16
17
17
16
17
18
18
17
16
15
15
16
16
17
16
16
17
17
17
18
19
19
19
20
21
20
22
22
22
22
21
21
23
24
23
24
28
26
25
26
28
28
28
27
28
27
26
27
26
28
28
28
28
27
28
29
27
30
30
28
28
30
30
30
30
29
29
28
29
29
30
30
27
26
27
28
26
26
25
26
27
26
26
27
27
28
27
27
25
24
24
26
28
28
26
26
27
26
26
24
25
25
24
23
24
24
25
25
25
23
23
23
25
25
26
24
24
25
23
23
22
23
24
22
22
21
20
17
17
17
17
17
18
18
17
16
17
18
18
18
18
17
18
16
16
16
16
15
16
15
14
14
15
15
16
16
14
13
14
14
15
14
14
15
18
18
19
18
17
19
18
18
20
18
17
17
16
17
16
17
17
18
18
16
18
19
19
20
19
19
18
18
18
16
16
18
18
18
17
19
19
21
21
20
20
20
20
22
20
20
18
17
18
20
22
22
24
25
25
26
26
26
25
26
24
26
23
23
24
24
24
28
27
22
22
21
21
20
20
21
21
20
19
19
20
21
19
19
19
20
19
19
18
18
18
19
19
18
17
18
19
19
17
15
15
14
14
14
15
16
16
17
17
19
19
17
16
17
18
19
19
19
18
16
16
16
15
15
15
16
16
15
13
15
14
15
17
17
16
17
17
17
16
16
16
13
13
14
15
15
15
14
12
12
12
12
13
14
13
14
14
14
13
13
14
15
16
15
16
15
15
14
13
15
15
14
14
14
15
14
15
14
16
18
19
20
21
21
21
21
22
21
20
19
20
22
22
22
22
22
22
23
24
25
25
26
25
26
26
26
26
26
30
32
32
32
32
32
33
34
33
32
29
28
28
28
27
27
27
26
27
27
27
28
28
29
29
30
31
30
29
29
28
28
27
29
28
27
25
24
23
22
20
21
22
22
22
23
21
22
21
21
23
23
22
24
23
22
23
22
22
21
21
19
17
16
15
17
17
17
18
18
18
19
19
19
19
21
21
19
18
18
18
17
16
17
18
18
19
19
20
21
23
19
18
20
21
21
21
20
20
21
20
20
18
18
20
21
22
22
22
22
21
21
20
20
20
20
20
21
20
22
26
28
26
27
30
30
28
28
26
27
27
27
28
28
28
27
26
27
29
29
33
35
34
33
32
32
33
33
28
29
29
29
30
31
30
30
30
30
28
27
25
24
25
24
25
26
26
26
26
25
26
26
26
27
26
29
27
28
28
27
26
26
26
25
25
26
27
29
27
27
27
26
25
26
26
26
26
26
25
23
23
21
21
20
19
19
19
20
19
19
18
16
16
15
13
14
15
15
16
15
14
15
13
13
13
15
15
16
17
15
16
16
15
17
16
17
16
16
17
16
17
18
18
16
16
14
14
14
14
13
13
13
13
14
13
14
15
16
14
14
14
14
14
12
12
12
11
11
12
11
13
13
13
11
11
12
12
10
11
12
13
13
13
14
14
14
13
13
12
15
14
14
13
12
15
16
14
14
13
13
13
12
11
12
12
12
11
13
14
14
15
13
12
14
15
13
13
14
14
15
15
16
16
15
14
14
14
15
15
16
18
17
16
16
17
17
17
20
19
18
18
19
19
19
18
19
20
19
21
19
21
21
23
22
20
21
20
18
19
19
18
19
17
16
16
17
16
15
16
15
16
18
18
18
18
18
18
20
20
18
17
16
17
17
18
18
18
19
20
22
24
25
24
23
25
29
29
30
30
29
28
29
29
30
30
32
32
33
32
31
28
28
30
30
30
30
30
30
30
30
29
29
28
28
29
30
29
31
32
31
30
29
28
28
28
29
28
28
28
28
29
30
32
31
31
31
31
30
31
30
26
26
27
26
25
26
27
27
26
25
26
25
25
27
26
24
25
25
23
23
21
20
20
21
21
20
21
20
20
21
20
23
23
22
21
21
21
23
23
22
22
22
18
18
16
16
17
17
15
16
17
17
18
18
18
20
21
21
22
22
24
22
21
21
23
25
22
21
20
20
23
22
23
21
19
17
16
18
19
17
18
18
19
20
19
18
18
18
18
18
16
16
16
16
16
16
16
15
15
16
18
19
20
21
19
19
20
20
20
19
20
19
18
18
18
17
17
18
17
16
15
15
16
17
17
17
17
18
18
19
20
21
21
19
20
21
22
22
22
23
22
24
23
23
23
23
22
21
20
22
22
22
23
22
22
23
23
23
24
24
24
24
24
24
23
23
21
21
21
23
24
24
23
22
22
22
21
19
20
22
22
22
22
21
22
21
22
22
22
21
20
20
21
20
20
21
20
20
19
19
21
22
23
23
21
22
22
22
23
24
23
22
22
20
21
21
21
21
22
20
20
21
23
23
24
25
24
26
25
25
26
26
26
26
23
24
26
27
24
25
27
27
27
27
26
24
22
22
21
23
22
23
23
24
25
27
25
21
20
21
22
23
24
23
23
23
24
24
25
26
23
24
23
22
21
20
18
17
17
18
18
18
17
17
17
18
20
19
20
19
18
19
19
18
17
16
15
15
17
17
18
19
18
18
19
18
18
19
17
17
19
18
16
17
17
17
17
18
18
17
16
16
16
15
15
15
16
16
17
16
17
19
21
19
18
18
18
18
18
20
19
20
20
20
19
19
20
21
20
18
20
19
19
18
19
18
18
18
18
19
20
22
23
23
24
26
25
25
26
26
26
22
22
20
21
22
22
23
21
21
22
22
23
24
25
25
25
24
24
24
24
24
24
27
27
27
27
26
25
25
24
25
25
26
25
25
25
24
22
23
25
24
24
23
23
22
22
22
22
20
20
20
20
20
20
21
18
19
16
18
19
19
18
17
16
17
17
16
17
18
20
21
21
20
18
19
20
21
22
22
23
23
21
20
20
20
19
18
21
21
21
22
20
20
20
22
21
19
19
20
21
21
21
22
22
22
21
20
20
20
20
20
18
18
18
20
20
20
19
19
19
19
19
22
23
24
24
23
23
24
23
23
22
22
21
21
21
21
21
23
23
21
21
20
18
18
18
19
18
18
18
19
18
18
18
19
20
21
21
21
21
21
22
22
22
22
19
19
19
19
20
20
20
20
21
20
18
17
17
16
16
17
17
16
15
15
14
15
15
16
18
18
19
19
18
18
17
17
17
17
18
18
18
19
20
18
17
17
17
17
17
18
19
19
21
20
22
22
21
19
18
18
18
18
17
17
18
18
18
16
16
16
17
18
15
15
18
18
18
17
20
19
20
19
19
20
19
20
20
18
18
19
19
18
19
18
18
17
18
19
18
18
17
17
18
20
21
22
22
22
23
23
24
25
24
24
23
24
24
25
22
22
20
22
22
23
23
23
24
25
26
28
28
28
28
27
28
28
28
28
29
31
32
31
30
28
28
26
27
26
26
27
28
29
28
28
27
26
27
26
25
24
24
23
22
21
22
25
24
23
22
23
24
23
24
25
24
23
23
24
24
27
29
29
28
28
28
28
26
26
26
26
26
27
27
27
27
29
29
28
29
29
27
25
24
23
24
24
23
24
25
26
26
25
26
25
27
27
25
25
25
24
23
24
25
23
25
26
25
26
26
27
26
27
26
25
26
26
25
24
28
27
25
24
24
24
24
25
24
23
21
20
20
19
19
18
19
19
19
19
18
19
19
20
19
19
18
18
17
17
18
19
19
17
19
18
17
16
15
13
14
15
17
17
16
15
16
16
15
16
17
17
17
17
16
17
17
18
21
22
21
21
20
19
21
22
22
22
23
23
23
22
23
22
21
21
21
20
22
21
21
21
20
20
19
21
21
22
23
22
23
22
22
22
23
23
24
24
25
25
24
28
27
27
26
24
22
19
17
18
18
17
16
17
20
19
19
20
19
18
16
16
17
15
17
17
17
18
22
20
19
21
21
22
23
21
21
21
21
22
23
23
20
20
20
18
17
17
17
17
17
16
17
17
17
18
19
19
20
20
21
22
22
23
25
25
24
23
21
22
22
22
22
23
23
24
24
25
26
25
24
24
25
25
26
27
28
27
28
28
29
28
30
31
31
32
30
33
32
33
32
37
35
37
34
34
34
34
34
33
30
30
29
29
28
27
27
27
28
27
28
28
28
28
28
31
30
32
30
29
30
30
28
26
26
26
27
26
26
25
25
25
25
25
26
26
25
25
25
27
26
27
26
27
27
27
27
27
26
26
30
30
28
25
25
24
25
25
25
25
25
24
26
26
27
26
24
23
24
24
23
27
27
27
26
27
26
24
24
24
22
22
23
23
26
25
25
26
25
25
25
24
25
24
26
27
27
26
28
29
29
30
30
29
31
29
27
27
27
28
29
28
26
27
26
26
26
25
26
28
26
25
24
24
24
25
27
26
27
26
26
25
25
24
25
25
25
24
23
21
20
20
21
21
21
21
21
21
22
21
21
21
20
20
20
20
18
19
20
19
17
18
19
21
21
21
20
20
21
24
23
23
23
24
24
24
22
23
24
24
25
24
23
23
23
24
24
22
22
21
21
21
21
21
22
23
22
23
24
22
22
21
21
23
23
26
27
27
26
27
25
23
24
22
21
21
19
18
18
18
19
22
22
21
18
18
19
20
20
19
18
17
19
18
18
19
19
19
20
21
21
21
22
23
26
26
24
23
22
22
22
25
26
25
26
26
27
25
27
28
27
28
28
29
28
28
28
28
26
25
25
25
22
23
24
26
25
25
25
25
24
25
26
26
25
24
23
25
26
28
27
29
28
28
28
28
28
29
29
29
27
26
26
28
27
28
26
25
25
24
23
22
21
21
25
26
26
25
25
23
24
23
24
25
25
25
26
27
26
26
24
24
25
25
22
19
20
18
18
20
20
19
18
19
20
21
21
21
21
21
21
22
21
22
22
22
22
23
25
26
26
27
23
23
24
23
24
24
24
23
21
20
20
22
21
21
21
19
19
19
19
19
19
20
20
19
19
18
18
18
18
19
19
18
17
17
17
16
17
17
16
18
18
18
17
17
17
18
19
18
17
18
17
18
19
19
18
17
17
18
19
20
20
22
22
22
21
21
21
23
20
18
17
17
17
17
17
16
15
14
14
15
15
15
14
12
13
13
13
13
13
14
17
17
17
18
20
23
22
22
23
24
22
23
22
22
21
20
19
20
20
21
20
19
19
19
20
21
21
23
24
25
25
24
23
23
24
26
24
25
25
25
27
29
29
29
28
28
25
26
25
25
23
24
24
22
22
21
21
21
20
20
21
24
26
28
29
27
24
22
21
18
18
19
19
17
18
18
18
19
19
19
20
20
20
20
19
19
20
20
19
20
18
18
18
18
19
21
24
25
24
22
21
21
21
20
20
20
19
19
21
19
19
19
19
17
17
18
19
20
22
21
19
19
20
20
20
21
20
19
19
18
19
17
16
18
19
18
17
17
18
18
16
17
15
15
16
17
19
18
15
15
17
17
17
16
15
16
17
18
19
17
19
20
20
20
22
22
23
23
22
21
20
20
19
19
18
17
17
17
17
18
20
20
21
21
19
21
21
19
19
18
18
19
20
19
18
17
17
19
17
16
16
16
16
16
16
19
19
17
15
14
14
15
15
15
15
17
18
17
17
17
19
20
21
21
20
21
21
19
20
20
20
20
20
21
21
19
19
20
19
19
18
18
18
18
18
17
16
17
16
19
17
15
15
16
17
17
19
19
20
20
21
21
21
20
18
20
20
22
22
22
23
23
21
20
20
21
21
19
18
18
17
16
16
17
17
17
16
15
16
19
20
20
21
21
21
22
22
22
21
20
18
18
18
18
19
20
20
22
23
22
22
22
22
21
21
21
22
22
20
19
18
17
16
16
16
15
15
16
16
18
18
17
17
17
17
17
18
20
20
20
18
18
18
19
17
19
19
21
20
19
18
19
19
20
19
18
18
18
17
16
17
17
16
15
14
15
15
17
17
17
17
17
18
18
17
17
18
17
18
19
20
20
20
22
22
22
24
24
23
24
23
23
23
22
21
22
20
20
19
17
17
17
16
16
15
16
16
17
16
15
16
17
16
15
17
17
17
18
17
17
19
18
19
18
20
19
19
20
21
21
23
23
22
21
21
21
19
20
22
22
23
20
21
21
18
19
22
25
26
27
27
27
27
27
30
29
27
25
26
25
23
24
23
23
22
22
23
24
24
22
23
25
26
26
26
26
25
26
25
26
27
26
24
23
24
24
24
23
25
26
26
26
26
26
27
27
28
29
29
27
28
27
26
26
26
26
26
27
27
26
28
28
28
28
28
30
29
29
26
25
25
24
24
24
24
24
21
22
21
22
22
21
21
22
23
24
24
23
22
22
22
25
23
21
21
21
20
22
21
21
21
20
20
20
21
19
18
17
17
17
16
17
17
17
17
17
17
17
17
16
17
16
16
16
16
15
14
14
15
15
16
17
19
16
15
16
17
18
19
19
19
18
16
16
12
12
12
13
13
12
10
11
11
13
12
12
13
13
12
12
11
12
13
15
15
16
17
18
18
19
16
16
16
16
15
15
15
15
15
16
15
15
16
18
18
18
18
17
15
15
18
17
17
17
17
18
19
19
19
18
18
18
18
19
19
20
22
23
23
23
23
24
25
24
23
24
23
22
22
22
21
21
20
22
21
21
20
19
22
22
23
23
22
22
20
21
21
21
22
21
21
22
23
24
24
23
23
23
23
24
23
23
24
24
25
24
23
23
21
21
23
22
21
21
22
22
23
21
22
21
20
19
18
17
17
19
20
21
21
22
23
22
21
21
21
21
21
20
19
19
19
19
21
21
21
23
23
24
25
26
26
26
26
26
26
28
28
28
27
26
27
27
26
26
24
23
22
20
20
19
18
18
18
18
19
19
18
18
18
18
20
20
20
20
21
24
25
25
25
26
26
26
28
27
27
28
29
30
32
33
32
32
32
32
33
33
31
27
27
28
28
31
32
33
33
33
35
34
32
33
33
33
33
34
33
33
33
34
35
34
30
30
28
27
27
27
24
24
22
21
21
21
21
21
21
21
21
21
19
18
19
19
20
19
18
17
17
17
19
18
19
19
18
17
16
16
18
20
20
19
19
16
17
19
19
20
23
24
25
26
24
24
23
21
22
22
21
20
21
21
22
20
18
17
16
16
18
19
19
20
18
18
18
20
20
20
20
21
21
21
20
21
21
20
19
17
18
21
21
22
22
24
22
21
22
21
22
22
23
24
22
22
23
22
24
24
22
21
21
20
23
23
22
21
21
21
21
21
21
19
18
19
19
19
18
18
18
19
19
20
20
19
19
19
20
20
18
19
18
19
16
16
14
14
14
14
14
15
17
18
17
17
17
18
18
18
17
16
15
16
18
19
19
18
18
17
18
19
19
19
20
18
18
16
15
15
15
16
16
15
14
14
13
13
11
12
11
11
11
12
12
12
11
12
12
12
11
13
13
12
12
14
14
12
12
13
13
13
12
13
14
13
15
15
16
16
16
14
15
15
17
15
14
14
15
15
15
14
14
15
17
17
18
19
21
18
17
15
14
14
14
14
15
14
14
14
15
15
14
13
14
12
13
13
13
13
13
15
14
15
16
17
19
19
19
20
23
23
20
20
18
17
16
16
16
14
14
15
16
15
17
20
21
21
21
21
21
20
20
19
20
19
17
19
19
19
20
21
21
21
21
21
21
22
22
21
22
22
21
21
20
21
19
21
21
22
20
20
21
21
22
24
24
23
22
22
21
22
21
22
20
18
19
20
20
19
18
20
20
20
20
21
21
22
21
21
20
20
20
21
20
19
17
17
18
20
21
19
16
16
17
15
14
14
14
14
14
13
15
13
13
13
16
15
15
15
15
15
14
13
13
13
13
14
13
14
16
17
18
19
19
16
18
20
21
20
20
19
20
21
21
19
18
19
19
20
20
20
21
21
21
22
20
19
20
19
20
19
19
19
20
20
19
18
19
19
21
20
22
20
20
18
18
16
19
19
20
20
21
21
21
18
17
16
17
16
19
19
20
18
17
16
16
18
19
20
19
20
19
17
16
17
17
18
17
17
17
16
17
19
19
20
20
22
21
20
21
21
18
19
19
21
22
22
20
19
18
18
20
20
20
20
18
19
20
20
20
20
19
17
18
18
18
18
20
19
20
20
21
20
19
20
20
20
20
20
20
17
17
18
18
19
20
19
17
15
16
17
16
17
16
16
16
15
17
16
15
16
16
16
16
16
16
16
15
16
15
14
15
16
16
16
17
18
19
20
20
21
20
20
20
22
22
23
23
24
21
22
20
18
18
20
19
18
17
16
15
14
16
15
16
17
17
16
18
18
19
18
19
19
17
18
18
18
17
17
16
16
17
16
17
16
15
14
14
14
18
19
20
20
18
18
16
16
15
15
15
15
15
14
15
15
14
16
17
16
16
15
14
15
14
15
18
18
18
16
16
16
14
14
14
14
15
17
20
20
20
20
21
21
21
21
17
16
16
18
17
17
17
17
16
14
15
15
14
16
17
17
18
18
19
20
20
21
20
20
19
21
21
21
22
21
21
21
22
22
23
23
24
23
21
20
19
18
20
22
21
22
22
21
19
20
22
23
23
22
23
24
24
26
26
28
26
26
25
25
24
26
25
25
24
22
22
21
22
23
24
25
24
23
25
26
26
24
24
21
21
21
23
26
27
26
24
24
24
22
23
24
23
22
22
22
23
24
24
23
24
24
26
27
25
26
24
25
26
26
27
27
27
28
28
28
27
26
26
26
26
26
25
24
25
26
27
26
25
25
25
24
24
23
24
24
24
21
21
23
24
24
24
24
25
27
30
30
29
29
29
30
30
29
28
26
26
25
27
27
28
27
27
28
29
28
28
27
27
26
24
24
24
24
20
20
20
20
21
20
23
24
24
23
23
21
22
20
20
19
18
18
18
19
20
20
20
20
20
21
21
23
23
21
21
21
20
21
21
21
21
21
22
22
22
22
20
21
21
22
23
24
25
24
26
25
24
24
23
22
24
25
24
22
21
21
20
20
22
22
21
20
20
21
21
21
20
21
21
22
21
20
19
18
18
19
17
18
18
18
20
21
22
22
23
22
22
23
23
24
22
22
20
21
20
19
20
19
16
17
18
18
19
19
19
18
17
16
16
16
19
21
22
23
24
25
26
25
25
26
25
25
25
26
24
24
23
23
22
25
24
23
23
23
23
22
21
20
20
20
20
20
22
24
25
27
27
28
27
28
27
26
26
25
25
26
27
28
27
25
23
22
22
24
24
23
23
25
25
25
25
26
27
27
27
25
25
25
27
25
24
25
25
23
28
28
28
26
24
24
27
30
30
30
30
30
32
32
29
30
29
28
28
26
23
22
22
23
19
18
18
19
17
18
18
19
20
22
22
22
23
23
26
25
26
28
29
30
29
27
27
29
29
29
30
32
31
31
32
32
30
31
30
30