diff --git a/.github/workflows/test_on_push.yaml b/.github/workflows/test_on_push.yaml index 9885ac13..e2b6d19d 100644 --- a/.github/workflows/test_on_push.yaml +++ b/.github/workflows/test_on_push.yaml @@ -33,7 +33,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest, macos-14] + os: [ubuntu-latest, windows-latest, macos-13, macos-14] python-version: ["3.12"] name: Integration tests (${{ matrix.os }} / Python ${{ matrix.python-version }}) @@ -60,8 +60,8 @@ jobs: matrix: os: [ubuntu-latest, windows-latest, macos-13, macos-14] python-version: ["3.9", "3.10", "3.11", "3.12"] - exclude: # We run the coverage tests on Ubuntu with Python 3.12 - - os: ubuntu-latest + exclude: # We run the coverage tests on macos-14 with Python 3.12 + - os: macos-14 python-version: "3.12" name: Unit tests (${{ matrix.os }} / Python ${{ matrix.python-version }}) @@ -86,7 +86,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest, macos-14] + os: [ubuntu-latest, windows-latest, macos-13, macos-14] python-version: ["3.12"] name: Test examples (${{ matrix.os }} / Python ${{ matrix.python-version }}) @@ -105,13 +105,13 @@ jobs: run: | nox -s examples - # Runs only on Ubuntu with Python 3.12 + # Runs only on macos-14 with Python 3.12 check_coverage: needs: style - runs-on: ubuntu-latest + runs-on: macos-14 strategy: fail-fast: false - name: Coverage tests (ubuntu-latest / Python 3.12) + name: Coverage tests (macos-14 / Python 3.12) steps: - name: Check out PyBOP repository @@ -127,7 +127,7 @@ jobs: - name: Install dependencies run: python -m pip install --upgrade pip nox[uv] - - name: Run coverage tests for Ubuntu with Python 3.12 and generate report + - name: Run coverage tests for macos-14 with Python 3.12 and generate report run: nox -s coverage - name: Upload coverage report diff --git a/CHANGELOG.md b/CHANGELOG.md index c6db3cce..e879450e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## Features +- [#304](https://github.com/pybop-team/PyBOP/pull/304) - Decreases the testing suite completion time. - [#301](https://github.com/pybop-team/PyBOP/pull/301) - Updates default echem solver to "fast with events" mode. - [#251](https://github.com/pybop-team/PyBOP/pull/251) - Increment PyBaMM > v23.5, remove redundant tests within integration tests, increment citation version, fix examples with incorrect model definitions. - [#285](https://github.com/pybop-team/PyBOP/pull/285) - Drop support for Python 3.8. diff --git a/examples/notebooks/equivalent_circuit_identification.ipynb b/examples/notebooks/equivalent_circuit_identification.ipynb index 4f3d6400..0c4c2572 100644 --- a/examples/notebooks/equivalent_circuit_identification.ipynb +++ b/examples/notebooks/equivalent_circuit_identification.ipynb @@ -308,7 +308,7 @@ "outputs": [], "source": [ "sigma = 0.001\n", - "t_eval = np.arange(0, 900, 2)\n", + "t_eval = np.arange(0, 900, 3)\n", "values = model.predict(t_eval=t_eval)\n", "corrupt_values = values[\"Voltage [V]\"].data + np.random.normal(0, sigma, len(t_eval))\n", "\n", diff --git a/examples/notebooks/multi_model_identification.ipynb b/examples/notebooks/multi_model_identification.ipynb index c5d03580..fa23de6c 100644 --- a/examples/notebooks/multi_model_identification.ipynb +++ b/examples/notebooks/multi_model_identification.ipynb @@ -17,7 +17,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 26, "metadata": { "colab": { "base_uri": "https://localhost:8080/" @@ -57,7 +57,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 27, "metadata": { "execution": { "iopub.execute_input": "2024-04-14T18:57:41.588855Z", @@ -96,7 +96,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 28, "metadata": { "execution": { "iopub.execute_input": "2024-04-14T18:57:46.244362Z", @@ -126,7 +126,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 29, "metadata": { "execution": { "iopub.execute_input": "2024-04-14T18:57:46.346150Z", @@ -137,16 +137,17 @@ }, "outputs": [], "source": [ - "t_eval = np.linspace(0, 1600 + 1000, 1600 + 1000)\n", + "n_points = 650\n", + "t_eval = np.linspace(0, 1600 + 1000, n_points)\n", "current = np.concatenate(\n", - " [np.ones(1600) * parameter_set[\"Nominal cell capacity [A.h]\"], np.zeros(1000)]\n", + " [np.ones(400) * parameter_set[\"Nominal cell capacity [A.h]\"], np.zeros(250)]\n", ")\n", "init_soc = 0.5" ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 30, "metadata": { "execution": { "iopub.execute_input": "2024-04-14T18:57:46.349698Z", @@ -167,7 +168,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 31, "metadata": { "execution": { "iopub.execute_input": "2024-04-14T18:57:46.353062Z", @@ -194,7 +195,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 32, "metadata": { "execution": { "iopub.execute_input": "2024-04-14T18:58:01.371258Z", @@ -216,5207 +217,2607 @@ "type": "scatter", "x": [ 0, - 1.0003847633705272, - 2.0007695267410543, - 3.0011542901115815, - 4.001539053482109, - 5.001923816852636, - 6.002308580223163, - 7.00269334359369, - 8.003078106964217, - 9.003462870334744, - 10.003847633705272, - 11.0042323970758, - 12.004617160446326, - 13.005001923816852, - 14.00538668718738, - 15.005771450557909, - 16.006156213928435, - 17.00654097729896, - 18.006925740669487, - 19.007310504040017, - 20.007695267410543, - 21.00808003078107, - 22.0084647941516, - 23.008849557522126, - 24.009234320892652, - 25.00961908426318, - 26.010003847633705, - 27.010388611004235, - 28.01077337437476, - 29.011158137745287, - 30.011542901115817, - 31.011927664486343, - 32.01231242785687, - 33.012697191227396, - 34.01308195459792, - 35.01346671796845, - 36.013851481338975, - 37.01423624470951, - 38.014621008080034, - 39.01500577145056, - 40.01539053482109, - 41.01577529819161, - 42.01616006156214, - 43.016544824932666, - 44.0169295883032, - 45.017314351673726, - 46.01769911504425, - 47.01808387841478, - 48.018468641785304, - 49.01885340515583, - 50.01923816852636, - 51.01962293189688, - 52.02000769526741, - 53.02039245863794, - 54.02077722200847, - 55.021161985378995, - 56.02154674874952, - 57.02193151212005, - 58.022316275490574, - 59.0227010388611, - 60.023085802231634, - 61.02347056560216, - 62.02385532897269, - 63.02424009234321, - 64.02462485571374, - 65.02500961908427, - 66.02539438245479, - 67.02577914582533, - 68.02616390919584, - 69.02654867256638, - 70.0269334359369, - 71.02731819930743, - 72.02770296267795, - 73.02808772604848, - 74.02847248941902, - 75.02885725278954, - 76.02924201616007, - 77.02962677953059, - 78.03001154290112, - 79.03039630627164, - 80.03078106964217, - 81.03116583301271, - 82.03155059638323, - 83.03193535975376, - 84.03232012312428, - 85.03270488649481, - 86.03308964986533, - 87.03347441323587, - 88.0338591766064, - 89.03424393997692, - 90.03462870334745, - 91.03501346671797, - 92.0353982300885, - 93.03578299345902, - 94.03616775682956, - 95.03655252020008, - 96.03693728357061, - 97.03732204694114, - 98.03770681031166, - 99.0380915736822, - 100.03847633705271, - 101.03886110042325, - 102.03924586379377, - 103.0396306271643, - 104.04001539053482, - 105.04040015390535, - 106.04078491727589, - 107.0411696806464, - 108.04155444401694, - 109.04193920738746, - 110.04232397075799, - 111.04270873412851, - 112.04309349749904, - 113.04347826086958, - 114.0438630242401, - 115.04424778761063, - 116.04463255098115, - 117.04501731435168, - 118.0454020777222, - 119.04578684109273, - 120.04617160446327, - 121.04655636783379, - 122.04694113120432, - 123.04732589457484, - 124.04771065794537, - 125.04809542131589, - 126.04848018468643, - 127.04886494805694, - 128.04924971142748, - 129.049634474798, - 130.05001923816855, - 131.05040400153905, - 132.05078876490958, - 133.05117352828012, - 134.05155829165065, - 135.05194305502116, - 136.0523278183917, - 137.05271258176222, - 138.05309734513276, - 139.0534821085033, - 140.0538668718738, - 141.05425163524433, - 142.05463639861486, - 143.0550211619854, - 144.0554059253559, - 145.05579068872643, - 146.05617545209697, - 147.0565602154675, - 148.05694497883803, - 149.05732974220854, - 150.05771450557907, - 151.0580992689496, - 152.05848403232014, - 153.05886879569067, - 154.05925355906118, - 155.0596383224317, - 156.06002308580224, - 157.06040784917278, - 158.06079261254328, - 159.06117737591381, - 160.06156213928435, - 161.06194690265488, - 162.06233166602541, - 163.06271642939592, - 164.06310119276645, - 165.063485956137, - 166.06387071950752, - 167.06425548287802, - 168.06464024624856, - 169.0650250096191, - 170.06540977298963, - 171.06579453636016, - 172.06617929973066, - 173.0665640631012, - 174.06694882647173, - 175.06733358984226, - 176.0677183532128, - 177.0681031165833, - 178.06848787995384, - 179.06887264332437, - 180.0692574066949, - 181.0696421700654, - 182.07002693343594, - 183.07041169680647, - 184.070796460177, - 185.07118122354754, - 186.07156598691805, - 187.07195075028858, - 188.0723355136591, - 189.07272027702965, - 190.07310504040015, - 191.07348980377068, - 192.07387456714122, - 193.07425933051175, - 194.07464409388228, - 195.0750288572528, - 196.07541362062332, - 197.07579838399386, - 198.0761831473644, - 199.0765679107349, - 200.07695267410543, - 201.07733743747596, - 202.0777222008465, - 203.07810696421703, - 204.07849172758753, - 205.07887649095807, - 206.0792612543286, - 207.07964601769913, - 208.08003078106964, - 209.08041554444017, - 210.0808003078107, - 211.08118507118124, - 212.08156983455177, - 213.08195459792228, - 214.0823393612928, - 215.08272412466334, - 216.08310888803388, - 217.0834936514044, - 218.08387841477492, - 219.08426317814545, - 220.08464794151598, - 221.08503270488652, - 222.08541746825702, - 223.08580223162755, - 224.0861869949981, - 225.08657175836862, - 226.08695652173915, - 227.08734128510966, - 228.0877260484802, - 229.08811081185073, - 230.08849557522126, - 231.08888033859176, - 232.0892651019623, - 233.08964986533283, - 234.09003462870336, - 235.0904193920739, - 236.0908041554444, - 237.09118891881494, - 238.09157368218547, - 239.091958445556, - 240.09234320892654, - 241.09272797229704, - 242.09311273566757, - 243.0934974990381, - 244.09388226240864, - 245.09426702577915, - 246.09465178914968, - 247.0950365525202, - 248.09542131589075, - 249.09580607926128, - 250.09619084263178, - 251.09657560600232, - 252.09696036937285, - 253.09734513274338, - 254.0977298961139, - 255.09811465948442, - 256.09849942285496, - 257.09888418622546, - 258.099268949596, - 259.09965371296653, - 260.1000384763371, - 261.1004232397076, - 262.1008080030781, - 263.10119276644866, - 264.10157752981917, - 265.10196229318973, - 266.10234705656023, - 267.10273181993074, - 268.1031165833013, - 269.1035013466718, - 270.1038861100423, - 271.1042708734129, - 272.1046556367834, - 273.10504040015394, - 274.10542516352444, - 275.10580992689495, - 276.1061946902655, - 277.106579453636, - 278.1069642170066, - 279.1073489803771, - 280.1077337437476, - 281.10811850711815, - 282.10850327048865, - 283.1088880338592, - 284.1092727972297, - 285.1096575606002, - 286.1100423239708, - 287.1104270873413, - 288.1108118507118, - 289.11119661408236, - 290.11158137745286, - 291.1119661408234, - 292.11235090419393, - 293.11273566756444, - 294.113120430935, - 295.1135051943055, - 296.11388995767607, - 297.11427472104657, - 298.1146594844171, - 299.11504424778764, - 300.11542901115814, - 301.1158137745287, - 302.1161985378992, - 303.1165833012697, - 304.1169680646403, - 305.1173528280108, - 306.11773759138134, - 307.11812235475185, - 308.11850711812235, - 309.1188918814929, - 310.1192766448634, - 311.1196614082339, - 312.1200461716045, - 313.120430934975, - 314.12081569834555, - 315.12120046171606, - 316.12158522508656, - 317.1219699884571, - 318.12235475182763, - 319.1227395151982, - 320.1231242785687, - 321.1235090419392, - 322.12389380530976, - 323.12427856868027, - 324.12466333205083, - 325.12504809542133, - 326.12543285879184, - 327.1258176221624, - 328.1262023855329, - 329.12658714890347, - 330.126971912274, - 331.1273566756445, - 332.12774143901504, - 333.12812620238554, - 334.12851096575605, - 335.1288957291266, - 336.1292804924971, - 337.1296652558677, - 338.1300500192382, - 339.1304347826087, - 340.13081954597925, - 341.13120430934976, - 342.1315890727203, - 343.1319738360908, - 344.1323585994613, - 345.1327433628319, - 346.1331281262024, - 347.13351288957296, - 348.13389765294346, - 349.13428241631397, - 350.1346671796845, - 351.13505194305503, - 352.1354367064256, - 353.1358214697961, - 354.1362062331666, - 355.13659099653717, - 356.13697575990767, - 357.1373605232782, - 358.13774528664874, - 359.13813005001924, - 360.1385148133898, - 361.1388995767603, - 362.1392843401308, - 363.1396691035014, - 364.1400538668719, - 365.14043863024244, - 366.14082339361295, - 367.14120815698345, - 368.141592920354, - 369.1419776837245, - 370.1423624470951, - 371.1427472104656, - 372.1431319738361, - 373.14351673720665, - 374.14390150057716, - 375.14428626394766, - 376.1446710273182, - 377.14505579068873, - 378.1454405540593, - 379.1458253174298, - 380.1462100808003, - 381.14659484417086, - 382.14697960754137, - 383.14736437091193, - 384.14774913428244, - 385.14813389765294, - 386.1485186610235, - 387.148903424394, - 388.14928818776457, - 389.1496729511351, - 390.1500577145056, - 391.15044247787614, - 392.15082724124665, - 393.1512120046172, - 394.1515967679877, - 395.1519815313582, - 396.1523662947288, - 397.1527510580993, - 398.1531358214698, - 399.15352058484035, - 400.15390534821086, - 401.1542901115814, - 402.1546748749519, - 403.1550596383224, - 404.155444401693, - 405.1558291650635, - 406.15621392843406, - 407.15659869180456, - 408.15698345517507, - 409.1573682185456, - 410.15775298191613, - 411.1581377452867, - 412.1585225086572, - 413.1589072720277, - 414.15929203539827, - 415.15967679876877, - 416.1600615621393, - 417.16044632550984, - 418.16083108888034, - 419.1612158522509, - 420.1616006156214, - 421.1619853789919, - 422.1623701423625, - 423.162754905733, - 424.16313966910354, - 425.16352443247405, - 426.16390919584455, - 427.1642939592151, - 428.1646787225856, - 429.1650634859562, - 430.1654482493267, - 431.1658330126972, - 432.16621777606775, - 433.16660253943826, - 434.1669873028088, - 435.1673720661793, - 436.16775682954983, - 437.1681415929204, - 438.1685263562909, - 439.1689111196614, - 440.16929588303196, - 441.16968064640247, - 442.17006540977303, - 443.17045017314354, - 444.17083493651404, - 445.1712196998846, - 446.1716044632551, - 447.17198922662567, - 448.1723739899962, - 449.1727587533667, - 450.17314351673724, - 451.17352828010775, - 452.1739130434783, - 453.1742978068488, - 454.1746825702193, - 455.1750673335899, - 456.1754520969604, - 457.17583686033095, - 458.17622162370145, - 459.17660638707196, - 460.1769911504425, - 461.177375913813, - 462.1777606771835, - 463.1781454405541, - 464.1785302039246, - 465.17891496729516, - 466.17929973066566, - 467.17968449403617, - 468.1800692574067, - 469.18045402077723, - 470.1808387841478, - 471.1812235475183, - 472.1816083108888, - 473.18199307425937, - 474.1823778376299, - 475.18276260100043, - 476.18314736437094, - 477.18353212774144, - 478.183916891112, - 479.1843016544825, - 480.1846864178531, - 481.1850711812236, - 482.1854559445941, - 483.18584070796464, - 484.18622547133515, - 485.18661023470565, - 486.1869949980762, - 487.1873797614467, - 488.1877645248173, - 489.1881492881878, - 490.1885340515583, - 491.18891881492885, - 492.18930357829936, - 493.1896883416699, - 494.1900731050404, - 495.19045786841093, - 496.1908426317815, - 497.191227395152, - 498.19161215852256, - 499.19199692189306, - 500.19238168526357, - 501.19276644863413, - 502.19315121200464, - 503.19353597537514, - 504.1939207387457, - 505.1943055021162, - 506.19469026548677, - 507.1950750288573, - 508.1954597922278, - 509.19584455559834, - 510.19622931896885, - 511.1966140823394, - 512.1969988457099, - 513.1973836090805, - 514.1977683724509, - 515.1981531358215, - 516.198537899192, - 517.1989226625625, - 518.1993074259331, - 519.1996921893036, - 520.2000769526742, - 521.2004617160446, - 522.2008464794152, - 523.2012312427858, - 524.2016160061562, - 525.2020007695268, - 526.2023855328973, - 527.2027702962678, - 528.2031550596383, - 529.2035398230089, - 530.2039245863795, - 531.2043093497499, - 532.2046941131205, - 533.205078876491, - 534.2054636398615, - 535.205848403232, - 536.2062331666026, - 537.206617929973, - 538.2070026933436, - 539.2073874567142, - 540.2077722200846, - 541.2081569834552, - 542.2085417468257, - 543.2089265101963, - 544.2093112735668, - 545.2096960369373, - 546.2100808003079, - 547.2104655636783, - 548.2108503270489, - 549.2112350904194, - 550.2116198537899, - 551.2120046171605, - 552.212389380531, - 553.2127741439016, - 554.213158907272, - 555.2135436706426, - 556.2139284340132, - 557.2143131973836, - 558.2146979607542, - 559.2150827241247, - 560.2154674874952, - 561.2158522508657, - 562.2162370142363, - 563.2166217776067, - 564.2170065409773, - 565.2173913043479, - 566.2177760677184, - 567.2181608310889, - 568.2185455944594, - 569.21893035783, - 570.2193151212005, - 571.219699884571, - 572.2200846479416, - 573.220469411312, - 574.2208541746826, - 575.2212389380531, - 576.2216237014236, - 577.2220084647942, - 578.2223932281647, - 579.2227779915353, - 580.2231627549057, - 581.2235475182763, - 582.2239322816469, - 583.2243170450173, - 584.2247018083879, - 585.2250865717584, - 586.2254713351289, - 587.2258560984994, - 588.22624086187, - 589.2266256252406, - 590.227010388611, - 591.2273951519816, - 592.2277799153521, - 593.2281646787226, - 594.2285494420931, - 595.2289342054637, - 596.2293189688341, - 597.2297037322047, - 598.2300884955753, - 599.2304732589457, - 600.2308580223163, - 601.2312427856868, - 602.2316275490574, - 603.2320123124279, - 604.2323970757984, - 605.232781839169, - 606.2331666025394, - 607.23355136591, - 608.2339361292806, - 609.234320892651, - 610.2347056560216, - 611.2350904193921, - 612.2354751827627, - 613.2358599461331, - 614.2362447095037, - 615.2366294728743, - 616.2370142362447, - 617.2373989996153, - 618.2377837629858, - 619.2381685263563, - 620.2385532897268, - 621.2389380530974, - 622.2393228164678, - 623.2397075798384, - 624.240092343209, - 625.2404771065795, - 626.24086186995, - 627.2412466333205, - 628.2416313966911, - 629.2420161600616, - 630.2424009234321, - 631.2427856868027, - 632.2431704501731, - 633.2435552135437, - 634.2439399769142, - 635.2443247402848, - 636.2447095036553, - 637.2450942670258, - 638.2454790303964, - 639.2458637937668, - 640.2462485571374, - 641.246633320508, - 642.2470180838784, - 643.247402847249, - 644.2477876106195, - 645.24817237399, - 646.2485571373605, - 647.2489419007311, - 648.2493266641017, - 649.2497114274721, - 650.2500961908427, - 651.2504809542132, - 652.2508657175837, - 653.2512504809542, - 654.2516352443248, - 655.2520200076953, - 656.2524047710658, - 657.2527895344364, - 658.2531742978069, - 659.2535590611774, - 660.253943824548, - 661.2543285879185, - 662.254713351289, - 663.2550981146595, - 664.2554828780301, - 665.2558676414005, - 666.2562524047711, - 667.2566371681417, - 668.2570219315121, - 669.2574066948827, - 670.2577914582532, - 671.2581762216238, - 672.2585609849942, - 673.2589457483648, - 674.2593305117354, - 675.2597152751058, - 676.2601000384764, - 677.2604848018469, - 678.2608695652174, - 679.2612543285879, - 680.2616390919585, - 681.2620238553291, - 682.2624086186995, - 683.2627933820701, - 684.2631781454406, - 685.2635629088111, - 686.2639476721816, - 687.2643324355522, - 688.2647171989227, - 689.2651019622932, - 690.2654867256638, - 691.2658714890342, - 692.2662562524048, - 693.2666410157753, - 694.2670257791459, - 695.2674105425164, - 696.2677953058869, - 697.2681800692575, - 698.2685648326279, - 699.2689495959985, - 700.269334359369, - 701.2697191227395, - 702.2701038861101, - 703.2704886494806, - 704.2708734128512, - 705.2712581762216, - 706.2716429395922, - 707.2720277029628, - 708.2724124663332, - 709.2727972297038, - 710.2731819930743, - 711.2735667564448, - 712.2739515198153, - 713.2743362831859, - 714.2747210465564, - 715.2751058099269, - 716.2754905732975, - 717.275875336668, - 718.2762601000385, - 719.276644863409, - 720.2770296267796, - 721.27741439015, - 722.2777991535206, - 723.2781839168912, - 724.2785686802616, - 725.2789534436322, - 726.2793382070028, - 727.2797229703732, - 728.2801077337438, - 729.2804924971143, - 730.2808772604849, - 731.2812620238553, - 732.2816467872259, - 733.2820315505965, - 734.2824163139669, - 735.2828010773375, - 736.283185840708, - 737.2835706040785, - 738.283955367449, - 739.2843401308196, - 740.2847248941902, - 741.2851096575606, - 742.2854944209312, - 743.2858791843017, - 744.2862639476722, - 745.2866487110427, - 746.2870334744133, - 747.2874182377838, - 748.2878030011543, - 749.2881877645249, - 750.2885725278953, - 751.2889572912659, - 752.2893420546364, - 753.289726818007, - 754.2901115813775, - 755.290496344748, - 756.2908811081186, - 757.291265871489, - 758.2916506348596, - 759.2920353982302, - 760.2924201616006, - 761.2928049249712, - 762.2931896883417, - 763.2935744517123, - 764.2939592150827, - 765.2943439784533, - 766.2947287418239, - 767.2951135051943, - 768.2954982685649, - 769.2958830319354, - 770.2962677953059, - 771.2966525586764, - 772.297037322047, - 773.2974220854175, - 774.297806848788, - 775.2981916121586, - 776.2985763755291, - 777.2989611388996, - 778.2993459022701, - 779.2997306656407, - 780.3001154290112, - 781.3005001923817, - 782.3008849557523, - 783.3012697191227, - 784.3016544824933, - 785.3020392458639, - 786.3024240092344, - 787.3028087726049, - 788.3031935359754, - 789.303578299346, - 790.3039630627164, - 791.304347826087, - 792.3047325894576, - 793.305117352828, - 794.3055021161986, - 795.3058868795691, - 796.3062716429396, - 797.3066564063101, - 798.3070411696807, - 799.3074259330513, - 800.3078106964217, - 801.3081954597923, - 802.3085802231628, - 803.3089649865333, - 804.3093497499038, - 805.3097345132744, - 806.3101192766449, - 807.3105040400154, - 808.310888803386, - 809.3112735667565, - 810.311658330127, - 811.3120430934976, - 812.3124278568681, - 813.3128126202386, - 814.3131973836091, - 815.3135821469797, - 816.3139669103501, - 817.3143516737207, - 818.3147364370913, - 819.3151212004617, - 820.3155059638323, - 821.3158907272028, - 822.3162754905734, - 823.3166602539438, - 824.3170450173144, - 825.317429780685, - 826.3178145440554, - 827.318199307426, - 828.3185840707965, - 829.318968834167, - 830.3193535975375, - 831.3197383609081, - 832.3201231242786, - 833.3205078876491, - 834.3208926510197, - 835.3212774143902, - 836.3216621777607, - 837.3220469411312, - 838.3224317045018, - 839.3228164678723, - 840.3232012312428, - 841.3235859946134, - 842.3239707579838, - 843.3243555213544, - 844.324740284725, - 845.3251250480955, - 846.325509811466, - 847.3258945748365, - 848.3262793382071, - 849.3266641015775, - 850.3270488649481, - 851.3274336283187, - 852.3278183916891, - 853.3282031550597, - 854.3285879184302, - 855.3289726818007, - 856.3293574451712, - 857.3297422085418, - 858.3301269719124, - 859.3305117352828, - 860.3308964986534, - 861.3312812620239, - 862.3316660253944, - 863.332050788765, - 864.3324355521355, - 865.332820315506, - 866.3332050788765, - 867.3335898422471, - 868.3339746056176, - 869.3343593689881, - 870.3347441323587, - 871.3351288957292, - 872.3355136590997, - 873.3358984224702, - 874.3362831858408, - 875.3366679492112, - 876.3370527125818, - 877.3374374759524, - 878.3378222393228, - 879.3382070026934, - 880.3385917660639, - 881.3389765294345, - 882.3393612928049, - 883.3397460561755, - 884.3401308195461, - 885.3405155829165, - 886.3409003462871, - 887.3412851096576, - 888.3416698730281, - 889.3420546363986, - 890.3424393997692, - 891.3428241631398, - 892.3432089265102, - 893.3435936898808, - 894.3439784532513, - 895.3443632166218, - 896.3447479799923, - 897.3451327433629, - 898.3455175067334, - 899.3459022701039, - 900.3462870334745, - 901.3466717968449, - 902.3470565602155, - 903.347441323586, - 904.3478260869566, - 905.3482108503271, - 906.3485956136976, - 907.3489803770682, - 908.3493651404386, - 909.3497499038092, - 910.3501346671798, - 911.3505194305502, - 912.3509041939208, - 913.3512889572913, - 914.3516737206619, - 915.3520584840323, - 916.3524432474029, - 917.3528280107735, - 918.3532127741439, - 919.3535975375145, - 920.353982300885, - 921.3543670642555, - 922.354751827626, - 923.3551365909966, - 924.355521354367, - 925.3559061177376, - 926.3562908811082, - 927.3566756444787, - 928.3570604078492, - 929.3574451712198, - 930.3578299345903, - 931.3582146979608, - 932.3585994613313, - 933.3589842247019, - 934.3593689880723, - 935.3597537514429, - 936.3601385148135, - 937.360523278184, - 938.3609080415545, - 939.361292804925, - 940.3616775682956, - 941.362062331666, - 942.3624470950366, - 943.3628318584072, - 944.3632166217776, - 945.3636013851482, - 946.3639861485187, - 947.3643709118892, - 948.3647556752597, - 949.3651404386303, - 950.3655252020009, - 951.3659099653713, - 952.3662947287419, - 953.3666794921124, - 954.3670642554829, - 955.3674490188534, - 956.367833782224, - 957.3682185455945, - 958.368603308965, - 959.3689880723356, - 960.3693728357061, - 961.3697575990766, - 962.3701423624472, - 963.3705271258177, - 964.3709118891882, - 965.3712966525587, - 966.3716814159293, - 967.3720661792997, - 968.3724509426703, - 969.3728357060409, - 970.3732204694113, - 971.3736052327819, - 972.3739899961524, - 973.374374759523, - 974.3747595228934, - 975.375144286264, - 976.3755290496346, - 977.375913813005, - 978.3762985763756, - 979.3766833397461, - 980.3770681031166, - 981.3774528664871, - 982.3778376298577, - 983.3782223932282, - 984.3786071565987, - 985.3789919199693, - 986.3793766833398, - 987.3797614467103, - 988.3801462100809, - 989.3805309734514, - 990.3809157368219, - 991.3813005001924, - 992.381685263563, - 993.3820700269334, - 994.382454790304, - 995.3828395536746, - 996.3832243170451, - 997.3836090804156, - 998.3839938437861, - 999.3843786071567, - 1000.3847633705271, - 1001.3851481338977, - 1002.3855328972683, - 1003.3859176606387, - 1004.3863024240093, - 1005.3866871873798, - 1006.3870719507503, - 1007.3874567141208, - 1008.3878414774914, - 1009.388226240862, - 1010.3886110042324, - 1011.388995767603, - 1012.3893805309735, - 1013.389765294344, - 1014.3901500577145, - 1015.3905348210851, - 1016.3909195844556, - 1017.3913043478261, - 1018.3916891111967, - 1019.3920738745672, - 1020.3924586379377, - 1021.3928434013083, - 1022.3932281646788, - 1023.3936129280493, - 1024.3939976914198, - 1025.3943824547903, - 1026.394767218161, - 1027.3951519815314, - 1028.3955367449018, - 1029.3959215082725, - 1030.396306271643, - 1031.3966910350134, - 1032.397075798384, - 1033.3974605617545, - 1034.397845325125, - 1035.3982300884957, - 1036.3986148518661, - 1037.3989996152368, - 1038.3993843786072, - 1039.3997691419777, - 1040.4001539053484, - 1041.4005386687188, - 1042.4009234320893, - 1043.40130819546, - 1044.4016929588304, - 1045.4020777222008, - 1046.4024624855715, - 1047.402847248942, - 1048.4032320123124, - 1049.403616775683, - 1050.4040015390535, - 1051.404386302424, - 1052.4047710657946, - 1053.405155829165, - 1054.4055405925355, - 1055.4059253559062, - 1056.4063101192767, - 1057.4066948826471, - 1058.4070796460178, - 1059.4074644093882, - 1060.407849172759, - 1061.4082339361294, - 1062.4086186994998, - 1063.4090034628705, - 1064.409388226241, - 1065.4097729896114, - 1066.410157752982, - 1067.4105425163525, - 1068.410927279723, - 1069.4113120430936, - 1070.411696806464, - 1071.4120815698345, - 1072.4124663332052, - 1073.4128510965757, - 1074.413235859946, - 1075.4136206233168, - 1076.4140053866872, - 1077.4143901500577, - 1078.4147749134283, - 1079.4151596767988, - 1080.4155444401692, - 1081.41592920354, - 1082.4163139669104, - 1083.416698730281, - 1084.4170834936515, - 1085.417468257022, - 1086.4178530203926, - 1087.418237783763, - 1088.4186225471335, - 1089.4190073105042, - 1090.4193920738746, - 1091.419776837245, - 1092.4201616006158, - 1093.4205463639862, - 1094.4209311273567, - 1095.4213158907273, - 1096.4217006540978, - 1097.4220854174682, - 1098.422470180839, - 1099.4228549442093, - 1100.4232397075798, - 1101.4236244709505, - 1102.424009234321, - 1103.4243939976914, - 1104.424778761062, - 1105.4251635244325, - 1106.4255482878032, - 1107.4259330511736, - 1108.426317814544, - 1109.4267025779147, - 1110.4270873412852, - 1111.4274721046556, - 1112.4278568680263, - 1113.4282416313968, - 1114.4286263947672, - 1115.4290111581379, - 1116.4293959215083, - 1117.4297806848788, - 1118.4301654482495, - 1119.43055021162, - 1120.4309349749904, - 1121.431319738361, - 1122.4317045017315, - 1123.432089265102, - 1124.4324740284726, - 1125.432858791843, - 1126.4332435552135, - 1127.4336283185842, - 1128.4340130819546, - 1129.4343978453253, - 1130.4347826086957, - 1131.4351673720662, - 1132.4355521354369, - 1133.4359368988073, - 1134.4363216621778, - 1135.4367064255484, - 1136.4370911889189, - 1137.4374759522893, - 1138.43786071566, - 1139.4382454790305, - 1140.438630242401, - 1141.4390150057716, - 1142.439399769142, - 1143.4397845325125, - 1144.4401692958832, - 1145.4405540592536, - 1146.440938822624, - 1147.4413235859947, - 1148.4417083493652, - 1149.4420931127356, - 1150.4424778761063, - 1151.4428626394767, - 1152.4432474028472, - 1153.4436321662179, - 1154.4440169295883, - 1155.444401692959, - 1156.4447864563294, - 1157.4451712197, - 1158.4455559830706, - 1159.445940746441, - 1160.4463255098115, - 1161.4467102731821, - 1162.4470950365526, - 1163.447479799923, - 1164.4478645632937, - 1165.4482493266642, - 1166.4486340900346, - 1167.4490188534053, - 1168.4494036167757, - 1169.4497883801462, - 1170.4501731435168, - 1171.4505579068873, - 1172.4509426702577, - 1173.4513274336284, - 1174.4517121969989, - 1175.4520969603693, - 1176.45248172374, - 1177.4528664871104, - 1178.4532512504811, - 1179.4536360138516, - 1180.454020777222, - 1181.4544055405927, - 1182.4547903039631, - 1183.4551750673336, - 1184.4555598307043, - 1185.4559445940747, - 1186.4563293574452, - 1187.4567141208158, - 1188.4570988841863, - 1189.4574836475567, - 1190.4578684109274, - 1191.4582531742979, - 1192.4586379376683, - 1193.459022701039, - 1194.4594074644094, - 1195.4597922277799, - 1196.4601769911505, - 1197.460561754521, - 1198.4609465178914, - 1199.4613312812621, - 1200.4617160446326, - 1201.4621008080032, - 1202.4624855713737, - 1203.4628703347441, - 1204.4632550981148, - 1205.4636398614853, - 1206.4640246248557, - 1207.4644093882264, - 1208.4647941515968, - 1209.4651789149673, - 1210.465563678338, - 1211.4659484417084, - 1212.4663332050789, - 1213.4667179684495, - 1214.46710273182, - 1215.4674874951904, - 1216.467872258561, - 1217.4682570219315, - 1218.468641785302, - 1219.4690265486727, - 1220.4694113120431, - 1221.4697960754136, - 1222.4701808387842, - 1223.4705656021547, - 1224.4709503655254, - 1225.4713351288958, - 1226.4717198922663, - 1227.472104655637, - 1228.4724894190074, - 1229.4728741823778, - 1230.4732589457485, - 1231.473643709119, - 1232.4740284724894, - 1233.47441323586, - 1234.4747979992305, - 1235.475182762601, - 1236.4755675259717, - 1237.475952289342, - 1238.4763370527126, - 1239.4767218160832, - 1240.4771065794537, - 1241.4774913428241, - 1242.4778761061948, - 1243.4782608695652, - 1244.4786456329357, - 1245.4790303963064, - 1246.4794151596768, - 1247.4797999230475, - 1248.480184686418, - 1249.4805694497884, - 1250.480954213159, - 1251.4813389765295, - 1252.4817237399, - 1253.4821085032706, - 1254.482493266641, - 1255.4828780300115, - 1256.4832627933822, - 1257.4836475567527, - 1258.484032320123, - 1259.4844170834938, - 1260.4848018468642, - 1261.4851866102347, - 1262.4855713736054, - 1263.4859561369758, - 1264.4863409003462, - 1265.486725663717, - 1266.4871104270874, - 1267.4874951904578, - 1268.4878799538285, - 1269.488264717199, - 1270.4886494805696, - 1271.48903424394, - 1272.4894190073105, - 1273.4898037706812, - 1274.4901885340516, - 1275.490573297422, - 1276.4909580607928, - 1277.4913428241632, - 1278.4917275875337, - 1279.4921123509043, - 1280.4924971142748, - 1281.4928818776452, - 1282.493266641016, - 1283.4936514043864, - 1284.4940361677568, - 1285.4944209311275, - 1286.494805694498, - 1287.4951904578684, - 1288.495575221239, - 1289.4959599846095, - 1290.49634474798, - 1291.4967295113506, - 1292.497114274721, - 1293.4974990380917, - 1294.4978838014622, - 1295.4982685648326, - 1296.4986533282033, - 1297.4990380915738, - 1298.4994228549442, - 1299.499807618315, - 1300.5001923816853, - 1301.5005771450558, - 1302.5009619084265, - 1303.501346671797, - 1304.5017314351674, - 1305.502116198538, - 1306.5025009619085, - 1307.502885725279, - 1308.5032704886496, - 1309.50365525202, - 1310.5040400153905, - 1311.5044247787612, - 1312.5048095421316, - 1313.505194305502, - 1314.5055790688727, - 1315.5059638322432, - 1316.5063485956139, - 1317.5067333589843, - 1318.5071181223548, - 1319.5075028857254, - 1320.507887649096, - 1321.5082724124663, - 1322.508657175837, - 1323.5090419392075, - 1324.509426702578, - 1325.5098114659486, - 1326.510196229319, - 1327.5105809926895, - 1328.5109657560602, - 1329.5113505194306, - 1330.511735282801, - 1331.5121200461717, - 1332.5125048095422, - 1333.5128895729126, - 1334.5132743362833, - 1335.5136590996538, - 1336.5140438630242, - 1337.5144286263949, - 1338.5148133897653, - 1339.515198153136, - 1340.5155829165064, - 1341.515967679877, - 1342.5163524432476, - 1343.516737206618, - 1344.5171219699885, - 1345.5175067333591, - 1346.5178914967296, - 1347.5182762601, - 1348.5186610234707, - 1349.5190457868412, - 1350.5194305502116, - 1351.5198153135823, - 1352.5202000769527, - 1353.5205848403232, - 1354.5209696036939, - 1355.5213543670643, - 1356.5217391304348, - 1357.5221238938054, - 1358.5225086571759, - 1359.5228934205463, - 1360.523278183917, - 1361.5236629472874, - 1362.5240477106581, - 1363.5244324740286, - 1364.524817237399, - 1365.5252020007697, - 1366.5255867641401, - 1367.5259715275106, - 1368.5263562908813, - 1369.5267410542517, - 1370.5271258176222, - 1371.5275105809928, - 1372.5278953443633, - 1373.5282801077337, - 1374.5286648711044, - 1375.5290496344749, - 1376.5294343978453, - 1377.529819161216, - 1378.5302039245864, - 1379.5305886879569, - 1380.5309734513276, - 1381.531358214698, - 1382.5317429780685, - 1383.5321277414391, - 1384.5325125048096, - 1385.5328972681802, - 1386.5332820315507, - 1387.5336667949211, - 1388.5340515582918, - 1389.5344363216623, - 1390.5348210850327, - 1391.5352058484034, - 1392.5355906117738, - 1393.5359753751443, - 1394.536360138515, - 1395.5367449018854, - 1396.5371296652559, - 1397.5375144286265, - 1398.537899191997, - 1399.5382839553674, - 1400.538668718738, - 1401.5390534821086, - 1402.539438245479, - 1403.5398230088497, - 1404.5402077722201, - 1405.5405925355906, - 1406.5409772989613, - 1407.5413620623317, - 1408.5417468257024, - 1409.5421315890728, - 1410.5425163524433, - 1411.542901115814, - 1412.5432858791844, - 1413.5436706425548, - 1414.5440554059255, - 1415.544440169296, - 1416.5448249326664, - 1417.545209696037, - 1418.5455944594075, - 1419.545979222778, - 1420.5463639861487, - 1421.546748749519, - 1422.5471335128896, - 1423.5475182762602, - 1424.5479030396307, - 1425.5482878030011, - 1426.5486725663718, - 1427.5490573297423, - 1428.5494420931127, - 1429.5498268564834, - 1430.5502116198538, - 1431.5505963832243, - 1432.550981146595, - 1433.5513659099654, - 1434.551750673336, - 1435.5521354367065, - 1436.552520200077, - 1437.5529049634476, - 1438.553289726818, - 1439.5536744901885, - 1440.5540592535592, - 1441.5544440169297, - 1442.5548287803, - 1443.5552135436708, - 1444.5555983070412, - 1445.5559830704117, - 1446.5563678337824, - 1447.5567525971528, - 1448.5571373605233, - 1449.557522123894, - 1450.5579068872644, - 1451.5582916506348, - 1452.5586764140055, - 1453.559061177376, - 1454.5594459407464, - 1455.559830704117, - 1456.5602154674875, - 1457.5606002308582, - 1458.5609849942286, - 1459.561369757599, - 1460.5617545209698, - 1461.5621392843402, - 1462.5625240477107, - 1463.5629088110813, - 1464.5632935744518, - 1465.5636783378222, - 1466.564063101193, - 1467.5644478645634, - 1468.5648326279338, - 1469.5652173913045, - 1470.565602154675, - 1471.5659869180454, - 1472.566371681416, - 1473.5667564447865, - 1474.567141208157, - 1475.5675259715276, - 1476.567910734898, - 1477.5682954982685, - 1478.5686802616392, - 1479.5690650250096, - 1480.5694497883803, - 1481.5698345517508, - 1482.5702193151212, - 1483.570604078492, - 1484.5709888418623, - 1485.5713736052328, - 1486.5717583686035, - 1487.572143131974, - 1488.5725278953444, - 1489.572912658715, - 1490.5732974220855, - 1491.573682185456, - 1492.5740669488266, - 1493.574451712197, - 1494.5748364755675, - 1495.5752212389382, - 1496.5756060023086, - 1497.575990765679, - 1498.5763755290498, - 1499.5767602924202, - 1500.5771450557907, - 1501.5775298191613, - 1502.5779145825318, - 1503.5782993459025, - 1504.578684109273, - 1505.5790688726433, - 1506.579453636014, - 1507.5798383993845, - 1508.580223162755, - 1509.5806079261256, - 1510.580992689496, - 1511.5813774528665, - 1512.5817622162372, - 1513.5821469796076, - 1514.582531742978, - 1515.5829165063487, - 1516.5833012697192, - 1517.5836860330896, - 1518.5840707964603, - 1519.5844555598308, - 1520.5848403232012, - 1521.5852250865719, - 1522.5856098499423, - 1523.5859946133128, - 1524.5863793766835, - 1525.586764140054, - 1526.5871489034246, - 1527.587533666795, - 1528.5879184301655, - 1529.5883031935361, - 1530.5886879569066, - 1531.589072720277, - 1532.5894574836477, - 1533.5898422470182, - 1534.5902270103886, - 1535.5906117737593, - 1536.5909965371297, - 1537.5913813005002, - 1538.5917660638709, - 1539.5921508272413, - 1540.5925355906118, - 1541.5929203539824, - 1542.5933051173529, - 1543.5936898807233, - 1544.594074644094, - 1545.5944594074645, - 1546.594844170835, - 1547.5952289342056, - 1548.595613697576, - 1549.5959984609467, - 1550.5963832243172, - 1551.5967679876876, - 1552.5971527510583, - 1553.5975375144287, - 1554.5979222777992, - 1555.5983070411698, - 1556.5986918045403, - 1557.5990765679107, - 1558.5994613312814, - 1559.5998460946519, - 1560.6002308580223, - 1561.600615621393, - 1562.6010003847634, - 1563.6013851481339, - 1564.6017699115046, - 1565.602154674875, - 1566.6025394382455, - 1567.6029242016161, - 1568.6033089649866, - 1569.603693728357, - 1570.6040784917277, - 1571.6044632550982, - 1572.6048480184688, - 1573.6052327818393, - 1574.6056175452097, - 1575.6060023085804, - 1576.6063870719508, - 1577.6067718353213, - 1578.607156598692, - 1579.6075413620624, - 1580.6079261254329, - 1581.6083108888035, - 1582.608695652174, - 1583.6090804155444, - 1584.6094651789151, - 1585.6098499422856, - 1586.610234705656, - 1587.6106194690267, - 1588.6110042323971, - 1589.6113889957676, - 1590.6117737591383, - 1591.6121585225087, - 1592.6125432858792, - 1593.6129280492498, - 1594.6133128126203, - 1595.613697575991, - 1596.6140823393614, - 1597.6144671027319, - 1598.6148518661025, - 1599.615236629473, - 1600.6156213928434, - 1601.616006156214, - 1602.6163909195845, - 1603.616775682955, - 1604.6171604463257, - 1605.6175452096961, - 1606.6179299730666, - 1607.6183147364372, - 1608.6186994998077, - 1609.6190842631781, - 1610.6194690265488, - 1611.6198537899193, - 1612.6202385532897, - 1613.6206233166604, - 1614.6210080800308, - 1615.6213928434013, - 1616.621777606772, - 1617.6221623701424, - 1618.622547133513, - 1619.6229318968835, - 1620.623316660254, - 1621.6237014236247, - 1622.624086186995, - 1623.6244709503655, - 1624.6248557137362, - 1625.6252404771067, - 1626.6256252404771, - 1627.6260100038478, - 1628.6263947672182, - 1629.6267795305887, - 1630.6271642939594, - 1631.6275490573298, - 1632.6279338207003, - 1633.628318584071, - 1634.6287033474414, - 1635.6290881108118, - 1636.6294728741825, - 1637.629857637553, - 1638.6302424009234, - 1639.630627164294, - 1640.6310119276645, - 1641.6313966910352, - 1642.6317814544057, - 1643.632166217776, - 1644.6325509811468, - 1645.6329357445172, - 1646.6333205078877, - 1647.6337052712583, - 1648.6340900346288, - 1649.6344747979992, - 1650.63485956137, - 1651.6352443247404, - 1652.6356290881108, - 1653.6360138514815, - 1654.636398614852, - 1655.6367833782224, - 1656.637168141593, - 1657.6375529049635, - 1658.637937668334, - 1659.6383224317046, - 1660.638707195075, - 1661.6390919584455, - 1662.6394767218162, - 1663.6398614851867, - 1664.640246248557, - 1665.6406310119278, - 1666.6410157752982, - 1667.641400538669, - 1668.6417853020394, - 1669.6421700654098, - 1670.6425548287805, - 1671.642939592151, - 1672.6433243555214, - 1673.643709118892, - 1674.6440938822625, - 1675.644478645633, - 1676.6448634090036, - 1677.645248172374, - 1678.6456329357445, - 1679.6460176991152, - 1680.6464024624856, - 1681.646787225856, - 1682.6471719892268, - 1683.6475567525972, - 1684.6479415159677, - 1685.6483262793383, - 1686.6487110427088, - 1687.6490958060792, - 1688.64948056945, - 1689.6498653328204, - 1690.650250096191, - 1691.6506348595615, - 1692.651019622932, - 1693.6514043863026, - 1694.651789149673, - 1695.6521739130435, - 1696.6525586764142, - 1697.6529434397846, - 1698.653328203155, - 1699.6537129665257, - 1700.6540977298962, - 1701.6544824932666, - 1702.6548672566373, - 1703.6552520200078, - 1704.6556367833782, - 1705.656021546749, - 1706.6564063101193, - 1707.6567910734898, - 1708.6571758368605, - 1709.657560600231, - 1710.6579453636014, - 1711.658330126972, - 1712.6587148903425, - 1713.6590996537132, - 1714.6594844170836, - 1715.659869180454, - 1716.6602539438247, - 1717.6606387071952, - 1718.6610234705656, - 1719.6614082339363, - 1720.6617929973067, - 1721.6621777606772, - 1722.6625625240479, - 1723.6629472874183, - 1724.6633320507888, - 1725.6637168141594, - 1726.66410157753, - 1727.6644863409003, - 1728.664871104271, - 1729.6652558676415, - 1730.665640631012, - 1731.6660253943826, - 1732.666410157753, - 1733.6667949211235, - 1734.6671796844942, - 1735.6675644478646, - 1736.6679492112353, - 1737.6683339746057, - 1738.6687187379762, - 1739.6691035013469, - 1740.6694882647173, - 1741.6698730280877, - 1742.6702577914584, - 1743.6706425548289, - 1744.6710273181993, - 1745.67141208157, - 1746.6717968449404, - 1747.672181608311, - 1748.6725663716816, - 1749.672951135052, - 1750.6733358984225, - 1751.6737206617931, - 1752.6741054251636, - 1753.674490188534, - 1754.6748749519047, - 1755.6752597152752, - 1756.6756444786456, - 1757.6760292420163, - 1758.6764140053867, - 1759.6767987687574, - 1760.6771835321279, - 1761.6775682954983, - 1762.677953058869, - 1763.6783378222394, - 1764.6787225856099, - 1765.6791073489806, - 1766.679492112351, - 1767.6798768757214, - 1768.6802616390921, - 1769.6806464024626, - 1770.681031165833, - 1771.6814159292037, - 1772.6818006925741, - 1773.6821854559446, - 1774.6825702193153, - 1775.6829549826857, - 1776.6833397460562, - 1777.6837245094268, - 1778.6841092727973, - 1779.6844940361677, - 1780.6848787995384, - 1781.6852635629089, - 1782.6856483262795, - 1783.68603308965, - 1784.6864178530204, - 1785.686802616391, - 1786.6871873797616, - 1787.687572143132, - 1788.6879569065027, - 1789.6883416698731, - 1790.6887264332436, - 1791.6891111966142, - 1792.6894959599847, - 1793.6898807233551, - 1794.6902654867258, - 1795.6906502500963, - 1796.6910350134667, - 1797.6914197768374, - 1798.6918045402078, - 1799.6921893035783, - 1800.692574066949, - 1801.6929588303194, - 1802.6933435936899, - 1803.6937283570605, - 1804.694113120431, - 1805.6944978838017, - 1806.694882647172, - 1807.6952674105426, - 1808.6956521739132, - 1809.6960369372837, - 1810.6964217006541, - 1811.6968064640248, - 1812.6971912273953, - 1813.6975759907657, - 1814.6979607541364, - 1815.6983455175068, - 1816.6987302808773, - 1817.699115044248, - 1818.6994998076184, - 1819.6998845709888, - 1820.7002693343595, - 1821.70065409773, - 1822.7010388611004, - 1823.701423624471, - 1824.7018083878415, - 1825.702193151212, - 1826.7025779145827, - 1827.702962677953, - 1828.7033474413238, - 1829.7037322046942, - 1830.7041169680647, - 1831.7045017314354, - 1832.7048864948058, - 1833.7052712581763, - 1834.705656021547, - 1835.7060407849174, - 1836.7064255482878, - 1837.7068103116585, - 1838.707195075029, - 1839.7075798383994, - 1840.70796460177, - 1841.7083493651405, - 1842.708734128511, - 1843.7091188918816, - 1844.709503655252, - 1845.7098884186225, - 1846.7102731819932, - 1847.7106579453637, - 1848.711042708734, - 1849.7114274721048, - 1850.7118122354752, - 1851.712196998846, - 1852.7125817622164, - 1853.7129665255868, - 1854.7133512889575, - 1855.713736052328, - 1856.7141208156984, - 1857.714505579069, - 1858.7148903424395, - 1859.71527510581, - 1860.7156598691806, - 1861.716044632551, - 1862.7164293959215, - 1863.7168141592922, - 1864.7171989226626, - 1865.717583686033, - 1866.7179684494038, - 1867.7183532127742, - 1868.7187379761447, - 1869.7191227395153, - 1870.7195075028858, - 1871.7198922662562, - 1872.720277029627, - 1873.7206617929974, - 1874.721046556368, - 1875.7214313197385, - 1876.721816083109, - 1877.7222008464796, - 1878.72258560985, - 1879.7229703732205, - 1880.7233551365912, - 1881.7237398999616, - 1882.724124663332, - 1883.7245094267028, - 1884.7248941900732, - 1885.7252789534436, - 1886.7256637168143, - 1887.7260484801848, - 1888.7264332435552, - 1889.726818006926, - 1890.7272027702963, - 1891.7275875336668, - 1892.7279722970375, - 1893.728357060408, - 1894.7287418237784, - 1895.729126587149, - 1896.7295113505195, - 1897.7298961138902, - 1898.7302808772606, - 1899.730665640631, - 1900.7310504040017, - 1901.7314351673722, - 1902.7318199307426, - 1903.7322046941133, - 1904.7325894574838, - 1905.7329742208542, - 1906.7333589842249, - 1907.7337437475953, - 1908.7341285109658, - 1909.7345132743365, - 1910.734898037707, - 1911.7352828010773, - 1912.735667564448, - 1913.7360523278185, - 1914.736437091189, - 1915.7368218545596, - 1916.73720661793, - 1917.7375913813005, - 1918.7379761446712, - 1919.7383609080416, - 1920.7387456714123, - 1921.7391304347827, - 1922.7395151981532, - 1923.7398999615239, - 1924.7402847248943, - 1925.7406694882648, - 1926.7410542516354, - 1927.7414390150059, - 1928.7418237783763, - 1929.742208541747, - 1930.7425933051175, - 1931.742978068488, - 1932.7433628318586, - 1933.743747595229, - 1934.7441323585995, - 1935.7445171219701, - 1936.7449018853406, - 1937.745286648711, - 1938.7456714120817, - 1939.7460561754522, - 1940.7464409388226, - 1941.7468257021933, - 1942.7472104655637, - 1943.7475952289342, - 1944.7479799923049, - 1945.7483647556753, - 1946.748749519046, - 1947.7491342824164, - 1948.7495190457869, - 1949.7499038091576, - 1950.750288572528, - 1951.7506733358985, - 1952.7510580992691, - 1953.7514428626396, - 1954.75182762601, - 1955.7522123893807, - 1956.7525971527512, - 1957.7529819161216, - 1958.7533666794923, - 1959.7537514428627, - 1960.7541362062332, - 1961.7545209696038, - 1962.7549057329743, - 1963.7552904963447, - 1964.7556752597154, - 1965.7560600230859, - 1966.7564447864563, - 1967.756829549827, - 1968.7572143131974, - 1969.757599076568, - 1970.7579838399386, - 1971.758368603309, - 1972.7587533666797, - 1973.7591381300501, - 1974.7595228934206, - 1975.7599076567913, - 1976.7602924201617, - 1977.7606771835322, - 1978.7610619469028, - 1979.7614467102733, - 1980.7618314736437, - 1981.7622162370144, - 1982.7626010003848, - 1983.7629857637553, - 1984.763370527126, - 1985.7637552904964, - 1986.7641400538669, - 1987.7645248172375, - 1988.764909580608, - 1989.7652943439784, - 1990.7656791073491, - 1991.7660638707196, - 1992.7664486340902, - 1993.7668333974607, - 1994.7672181608311, - 1995.7676029242018, - 1996.7679876875723, - 1997.7683724509427, - 1998.7687572143134, - 1999.7691419776838, - 2000.7695267410543, - 2001.769911504425, - 2002.7702962677954, - 2003.7706810311659, - 2004.7710657945365, - 2005.771450557907, - 2006.7718353212774, - 2007.772220084648, - 2008.7726048480185, - 2009.772989611389, - 2010.7733743747597, - 2011.7737591381301, - 2012.7741439015006, - 2013.7745286648712, - 2014.7749134282417, - 2015.7752981916124, - 2016.7756829549828, - 2017.7760677183533, - 2018.776452481724, - 2019.7768372450944, - 2020.7772220084648, - 2021.7776067718355, - 2022.777991535206, - 2023.7783762985764, - 2024.778761061947, - 2025.7791458253175, - 2026.779530588688, - 2027.7799153520587, - 2028.780300115429, - 2029.7806848787995, - 2030.7810696421702, - 2031.7814544055407, - 2032.7818391689111, - 2033.7822239322818, - 2034.7826086956522, - 2035.7829934590227, - 2036.7833782223934, - 2037.7837629857638, - 2038.7841477491345, - 2039.784532512505, - 2040.7849172758754, - 2041.785302039246, - 2042.7856868026165, - 2043.786071565987, - 2044.7864563293576, - 2045.786841092728, - 2046.7872258560985, - 2047.7876106194692, - 2048.7879953828397, - 2049.7883801462103, - 2050.7887649095806, - 2051.789149672951, - 2052.789534436322, - 2053.789919199692, - 2054.790303963063, - 2055.7906887264335, - 2056.7910734898037, - 2057.7914582531744, - 2058.791843016545, - 2059.7922277799153, - 2060.792612543286, - 2061.7929973066566, - 2062.793382070027, - 2063.7937668333975, - 2064.794151596768, - 2065.7945363601384, - 2066.794921123509, - 2067.7953058868798, - 2068.79569065025, - 2069.7960754136207, - 2070.7964601769913, - 2071.7968449403616, - 2072.7972297037322, - 2073.797614467103, - 2074.7979992304736, - 2075.798383993844, - 2076.7987687572145, - 2077.799153520585, - 2078.7995382839554, - 2079.799923047326, - 2080.8003078106967, - 2081.800692574067, - 2082.8010773374376, - 2083.8014621008083, - 2084.8018468641785, - 2085.802231627549, - 2086.80261639092, - 2087.80300115429, - 2088.8033859176608, - 2089.8037706810314, - 2090.8041554444017, - 2091.8045402077723, - 2092.804924971143, - 2093.8053097345132, - 2094.805694497884, - 2095.8060792612546, - 2096.806464024625, - 2097.8068487879955, - 2098.807233551366, - 2099.8076183147364, - 2100.808003078107, - 2101.8083878414777, - 2102.808772604848, - 2103.8091573682186, - 2104.8095421315893, - 2105.8099268949595, - 2106.81031165833, - 2107.810696421701, - 2108.811081185071, - 2109.8114659484418, - 2110.8118507118124, - 2111.8122354751827, - 2112.8126202385533, - 2113.813005001924, - 2114.8133897652942, - 2115.813774528665, - 2116.8141592920356, - 2117.814544055406, - 2118.8149288187765, - 2119.815313582147, - 2120.815698345518, - 2121.816083108888, - 2122.8164678722587, - 2123.8168526356294, - 2124.8172373989996, - 2125.8176221623703, - 2126.818006925741, - 2127.818391689111, - 2128.818776452482, - 2129.8191612158525, - 2130.8195459792228, - 2131.8199307425934, - 2132.820315505964, - 2133.8207002693343, - 2134.821085032705, - 2135.8214697960757, - 2136.821854559446, - 2137.8222393228166, - 2138.8226240861873, - 2139.8230088495575, - 2140.823393612928, - 2141.823778376299, - 2142.824163139669, - 2143.8245479030397, - 2144.8249326664104, - 2145.8253174297806, - 2146.8257021931513, - 2147.826086956522, - 2148.826471719892, - 2149.826856483263, - 2150.8272412466335, - 2151.8276260100038, - 2152.8280107733744, - 2153.828395536745, - 2154.8287803001153, - 2155.829165063486, - 2156.8295498268567, - 2157.829934590227, - 2158.8303193535976, - 2159.8307041169683, - 2160.8310888803385, - 2161.831473643709, - 2162.83185840708, - 2163.83224317045, - 2164.8326279338207, - 2165.8330126971914, - 2166.833397460562, - 2167.8337822239323, - 2168.834166987303, - 2169.8345517506737, - 2170.834936514044, - 2171.8353212774146, - 2172.835706040785, - 2173.8360908041554, - 2174.836475567526, - 2175.836860330897, - 2176.837245094267, - 2177.8376298576377, - 2178.8380146210084, - 2179.8383993843786, - 2180.8387841477493, - 2181.83916891112, - 2182.83955367449, - 2183.839938437861, - 2184.8403232012315, - 2185.8407079646017, - 2186.8410927279724, - 2187.841477491343, - 2188.8418622547133, - 2189.842247018084, - 2190.8426317814547, - 2191.843016544825, - 2192.8434013081956, - 2193.8437860715662, - 2194.8441708349364, - 2195.844555598307, - 2196.844940361678, - 2197.845325125048, - 2198.8457098884187, - 2199.8460946517894, - 2200.8464794151596, - 2201.8468641785303, - 2202.847248941901, - 2203.847633705271, - 2204.848018468642, - 2205.8484032320125, - 2206.8487879953827, - 2207.8491727587534, - 2208.849557522124, - 2209.8499422854943, - 2210.850327048865, - 2211.8507118122357, - 2212.8510965756063, - 2213.8514813389766, - 2214.8518661023472, - 2215.852250865718, - 2216.852635629088, - 2217.853020392459, - 2218.8534051558295, - 2219.8537899191997, - 2220.8541746825704, - 2221.854559445941, - 2222.8549442093113, - 2223.855328972682, - 2224.8557137360526, - 2225.856098499423, - 2226.8564832627935, - 2227.856868026164, - 2228.8572527895344, - 2229.857637552905, - 2230.8580223162758, - 2231.858407079646, - 2232.8587918430167, - 2233.8591766063873, - 2234.8595613697576, - 2235.8599461331282, - 2236.860330896499, - 2237.860715659869, - 2238.86110042324, - 2239.8614851866105, - 2240.8618699499807, - 2241.8622547133514, - 2242.862639476722, - 2243.8630242400923, - 2244.863409003463, - 2245.8637937668336, - 2246.864178530204, - 2247.8645632935745, - 2248.864948056945, - 2249.8653328203154, - 2250.865717583686, - 2251.8661023470568, - 2252.866487110427, - 2253.8668718737977, - 2254.8672566371683, - 2255.8676414005386, - 2256.8680261639092, - 2257.86841092728, - 2258.8687956906506, - 2259.869180454021, - 2260.8695652173915, - 2261.869949980762, - 2262.8703347441324, - 2263.870719507503, - 2264.8711042708737, - 2265.871489034244, - 2266.8718737976146, - 2267.8722585609853, - 2268.8726433243555, - 2269.873028087726, - 2270.873412851097, - 2271.873797614467, - 2272.8741823778378, - 2273.8745671412084, - 2274.8749519045787, - 2275.8753366679493, - 2276.87572143132, - 2277.8761061946902, - 2278.876490958061, - 2279.8768757214316, - 2280.877260484802, - 2281.8776452481725, - 2282.878030011543, - 2283.8784147749134, - 2284.878799538284, - 2285.8791843016547, - 2286.879569065025, - 2287.8799538283956, - 2288.8803385917663, - 2289.8807233551365, - 2290.881108118507, - 2291.881492881878, - 2292.881877645248, - 2293.8822624086188, - 2294.8826471719894, - 2295.8830319353597, - 2296.8834166987303, - 2297.883801462101, - 2298.8841862254712, - 2299.884570988842, - 2300.8849557522126, - 2301.885340515583, - 2302.8857252789535, - 2303.886110042324, - 2304.8864948056944, - 2305.886879569065, - 2306.8872643324357, - 2307.8876490958064, - 2308.8880338591766, - 2309.8884186225473, - 2310.888803385918, - 2311.889188149288, - 2312.889572912659, - 2313.8899576760296, - 2314.8903424394, - 2315.8907272027704, - 2316.891111966141, - 2317.8914967295113, - 2318.891881492882, - 2319.8922662562527, - 2320.892651019623, - 2321.8930357829936, - 2322.8934205463643, - 2323.8938053097345, - 2324.894190073105, - 2325.894574836476, - 2326.894959599846, - 2327.8953443632167, - 2328.8957291265874, - 2329.8961138899576, - 2330.8964986533283, - 2331.896883416699, - 2332.897268180069, - 2333.89765294344, - 2334.8980377068106, - 2335.898422470181, - 2336.8988072335515, - 2337.899191996922, - 2338.8995767602923, - 2339.899961523663, - 2340.9003462870337, - 2341.900731050404, - 2342.9011158137746, - 2343.9015005771453, - 2344.9018853405155, - 2345.902270103886, - 2346.902654867257, - 2347.903039630627, - 2348.9034243939977, - 2349.9038091573684, - 2350.9041939207386, - 2351.9045786841093, - 2352.90496344748, - 2353.9053482108507, - 2354.905732974221, - 2355.9061177375916, - 2356.9065025009622, - 2357.9068872643325, - 2358.907272027703, - 2359.907656791074, - 2360.908041554444, - 2361.9084263178147, - 2362.9088110811854, - 2363.9091958445556, - 2364.9095806079263, - 2365.909965371297, - 2366.910350134667, - 2367.910734898038, - 2368.9111196614085, - 2369.9115044247787, - 2370.9118891881494, - 2371.91227395152, - 2372.9126587148903, - 2373.913043478261, - 2374.9134282416317, - 2375.913813005002, - 2376.9141977683726, - 2377.9145825317432, - 2378.9149672951135, - 2379.915352058484, - 2380.915736821855, - 2381.916121585225, - 2382.9165063485957, - 2383.9168911119664, - 2384.9172758753366, - 2385.9176606387073, - 2386.918045402078, - 2387.918430165448, - 2388.918814928819, - 2389.9191996921895, - 2390.9195844555597, - 2391.9199692189304, - 2392.920353982301, - 2393.9207387456713, - 2394.921123509042, - 2395.9215082724127, - 2396.921893035783, - 2397.9222777991536, - 2398.9226625625242, - 2399.923047325895, - 2400.923432089265, - 2401.923816852636, - 2402.9242016160065, - 2403.9245863793767, - 2404.9249711427474, - 2405.925355906118, - 2406.9257406694883, - 2407.926125432859, - 2408.9265101962296, - 2409.9268949596, - 2410.9272797229705, - 2411.927664486341, - 2412.9280492497114, - 2413.928434013082, - 2414.9288187764528, - 2415.929203539823, - 2416.9295883031937, - 2417.9299730665643, - 2418.9303578299346, - 2419.9307425933052, - 2420.931127356676, - 2421.931512120046, - 2422.931896883417, - 2423.9322816467875, - 2424.9326664101577, - 2425.9330511735284, - 2426.933435936899, - 2427.9338207002693, - 2428.93420546364, - 2429.9345902270106, - 2430.934974990381, - 2431.9353597537515, - 2432.935744517122, - 2433.9361292804924, - 2434.936514043863, - 2435.936898807234, - 2436.937283570604, - 2437.9376683339747, - 2438.9380530973453, - 2439.9384378607156, - 2440.9388226240862, - 2441.939207387457, - 2442.939592150827, - 2443.939976914198, - 2444.9403616775685, - 2445.940746440939, - 2446.9411312043094, - 2447.94151596768, - 2448.9419007310507, - 2449.942285494421, - 2450.9426702577916, - 2451.9430550211623, - 2452.9434397845325, - 2453.943824547903, - 2454.944209311274, - 2455.944594074644, - 2456.944978838015, - 2457.9453636013855, - 2458.9457483647557, - 2459.9461331281263, - 2460.946517891497, - 2461.9469026548672, - 2462.947287418238, - 2463.9476721816086, - 2464.948056944979, - 2465.9484417083495, - 2466.94882647172, - 2467.9492112350904, - 2468.949595998461, - 2469.9499807618317, - 2470.950365525202, - 2471.9507502885726, - 2472.9511350519433, - 2473.9515198153135, - 2474.951904578684, - 2475.952289342055, - 2476.952674105425, - 2477.953058868796, - 2478.9534436321665, - 2479.9538283955367, - 2480.9542131589074, - 2481.954597922278, - 2482.9549826856482, - 2483.955367449019, - 2484.9557522123896, - 2485.95613697576, - 2486.9565217391305, - 2487.956906502501, - 2488.9572912658714, - 2489.957676029242, - 2490.9580607926127, - 2491.9584455559834, - 2492.9588303193536, - 2493.9592150827243, - 2494.959599846095, - 2495.959984609465, - 2496.960369372836, - 2497.9607541362066, - 2498.961138899577, - 2499.9615236629475, - 2500.961908426318, - 2501.9622931896884, - 2502.962677953059, - 2503.9630627164297, - 2504.9634474798, - 2505.9638322431706, - 2506.9642170065413, - 2507.9646017699115, - 2508.964986533282, - 2509.965371296653, - 2510.965756060023, - 2511.9661408233937, - 2512.9665255867644, - 2513.9669103501346, - 2514.9672951135053, - 2515.967679876876, - 2516.968064640246, - 2517.968449403617, - 2518.9688341669876, - 2519.969218930358, - 2520.9696036937285, - 2521.969988457099, - 2522.9703732204694, - 2523.97075798384, - 2524.9711427472107, - 2525.971527510581, - 2526.9719122739516, - 2527.9722970373223, - 2528.9726818006925, - 2529.973066564063, - 2530.973451327434, - 2531.973836090804, - 2532.9742208541747, - 2533.9746056175454, - 2534.9749903809156, - 2535.9753751442863, - 2536.975759907657, - 2537.9761446710277, - 2538.976529434398, - 2539.9769141977686, - 2540.9772989611392, - 2541.9776837245095, - 2542.97806848788, - 2543.978453251251, - 2544.978838014621, - 2545.9792227779917, - 2546.9796075413624, - 2547.9799923047326, - 2548.9803770681033, - 2549.980761831474, - 2550.981146594844, - 2551.981531358215, - 2552.9819161215855, - 2553.9823008849557, - 2554.9826856483264, - 2555.983070411697, - 2556.9834551750673, - 2557.983839938438, - 2558.9842247018087, - 2559.984609465179, - 2560.9849942285496, - 2561.9853789919202, - 2562.9857637552905, - 2563.986148518661, - 2564.986533282032, - 2565.986918045402, - 2566.9873028087727, - 2567.9876875721434, - 2568.9880723355136, - 2569.9884570988843, - 2570.988841862255, - 2571.989226625625, - 2572.989611388996, - 2573.9899961523665, - 2574.9903809157368, - 2575.9907656791074, - 2576.991150442478, - 2577.9915352058483, - 2578.991919969219, - 2579.9923047325897, - 2580.99268949596, - 2581.9930742593306, - 2582.9934590227012, - 2583.9938437860715, - 2584.994228549442, - 2585.994613312813, - 2586.9949980761835, - 2587.9953828395537, - 2588.9957676029244, - 2589.996152366295, - 2590.9965371296653, - 2591.996921893036, - 2592.9973066564066, - 2593.997691419777, - 2594.9980761831475, - 2595.998460946518, - 2596.9988457098884, - 2597.999230473259, - 2598.99961523663, + 2.001539645881447, + 4.003079291762894, + 6.0046189376443415, + 8.006158583525789, + 10.007698229407236, + 12.009237875288683, + 14.01077752117013, + 16.012317167051577, + 18.013856812933025, + 20.01539645881447, + 22.01693610469592, + 24.018475750577366, + 26.020015396458813, + 28.02155504234026, + 30.023094688221708, + 32.024634334103155, + 34.026173979984605, + 36.02771362586605, + 38.02925327174749, + 40.03079291762894, + 42.032332563510394, + 44.03387220939184, + 46.03541185527328, + 48.03695150115473, + 50.03849114703618, + 52.04003079291763, + 54.04157043879907, + 56.04311008468052, + 58.04464973056197, + 60.046189376443415, + 62.04772902232486, + 64.04926866820631, + 66.05080831408776, + 68.05234795996921, + 70.05388760585065, + 72.0554272517321, + 74.05696689761355, + 76.05850654349499, + 78.06004618937644, + 80.06158583525789, + 82.06312548113934, + 84.06466512702079, + 86.06620477290222, + 88.06774441878368, + 90.06928406466513, + 92.07082371054656, + 94.07236335642801, + 96.07390300230946, + 98.07544264819091, + 100.07698229407237, + 102.0785219399538, + 104.08006158583525, + 106.0816012317167, + 108.08314087759814, + 110.08468052347959, + 112.08622016936104, + 114.08775981524249, + 116.08929946112394, + 118.09083910700538, + 120.09237875288683, + 122.09391839876828, + 124.09545804464972, + 126.09699769053117, + 128.09853733641262, + 130.10007698229407, + 132.10161662817552, + 134.10315627405697, + 136.10469591993842, + 138.10623556581984, + 140.1077752117013, + 142.10931485758275, + 144.1108545034642, + 146.11239414934565, + 148.1139337952271, + 150.11547344110855, + 152.11701308698997, + 154.11855273287142, + 156.12009237875287, + 158.12163202463432, + 160.12317167051577, + 162.12471131639722, + 164.12625096227868, + 166.12779060816013, + 168.12933025404158, + 170.130869899923, + 172.13240954580445, + 174.1339491916859, + 176.13548883756735, + 178.1370284834488, + 180.13856812933025, + 182.1401077752117, + 184.14164742109313, + 186.14318706697458, + 188.14472671285603, + 190.14626635873748, + 192.14780600461893, + 194.14934565050038, + 196.15088529638183, + 198.15242494226328, + 200.15396458814473, + 202.15550423402615, + 204.1570438799076, + 206.15858352578906, + 208.1601231716705, + 210.16166281755196, + 212.1632024634334, + 214.16474210931486, + 216.16628175519628, + 218.16782140107773, + 220.16936104695918, + 222.17090069284063, + 224.17244033872208, + 226.17397998460353, + 228.17551963048498, + 230.17705927636644, + 232.1785989222479, + 234.1801385681293, + 236.18167821401076, + 238.1832178598922, + 240.18475750577366, + 242.1862971516551, + 244.18783679753656, + 246.189376443418, + 248.19091608929944, + 250.19245573518089, + 252.19399538106234, + 254.1955350269438, + 256.19707467282524, + 258.1986143187067, + 260.20015396458814, + 262.2016936104696, + 264.20323325635104, + 266.2047729022325, + 268.20631254811394, + 270.2078521939954, + 272.20939183987684, + 274.21093148575824, + 276.2124711316397, + 278.21401077752114, + 280.2155504234026, + 282.21709006928404, + 284.2186297151655, + 286.22016936104694, + 288.2217090069284, + 290.22324865280984, + 292.2247882986913, + 294.22632794457274, + 296.2278675904542, + 298.22940723633565, + 300.2309468822171, + 302.23248652809855, + 304.23402617397994, + 306.2355658198614, + 308.23710546574284, + 310.2386451116243, + 312.24018475750574, + 314.2417244033872, + 316.24326404926865, + 318.2448036951501, + 320.24634334103155, + 322.247882986913, + 324.24942263279445, + 326.2509622786759, + 328.25250192455735, + 330.2540415704388, + 332.25558121632025, + 334.2571208622017, + 336.25866050808315, + 338.26020015396455, + 340.261739799846, + 342.26327944572745, + 344.2648190916089, + 346.26635873749035, + 348.2678983833718, + 350.26943802925325, + 352.2709776751347, + 354.27251732101615, + 356.2740569668976, + 358.27559661277905, + 360.2771362586605, + 362.27867590454196, + 364.2802155504234, + 366.28175519630486, + 368.28329484218625, + 370.2848344880677, + 372.28637413394915, + 374.2879137798306, + 376.28945342571205, + 378.2909930715935, + 380.29253271747496, + 382.2940723633564, + 384.29561200923786, + 386.2971516551193, + 388.29869130100076, + 390.3002309468822, + 392.30177059276366, + 394.3033102386451, + 396.30484988452656, + 398.306389530408, + 400.30792917628946, + 402.30946882217086, + 404.3110084680523, + 406.31254811393376, + 408.3140877598152, + 410.31562740569666, + 412.3171670515781, + 414.31870669745956, + 416.320246343341, + 418.32178598922246, + 420.3233256351039, + 422.32486528098536, + 424.3264049268668, + 426.32794457274827, + 428.3294842186297, + 430.33102386451117, + 432.33256351039256, + 434.334103156274, + 436.33564280215546, + 438.3371824480369, + 440.33872209391836, + 442.3402617397998, + 444.34180138568126, + 446.3433410315627, + 448.34488067744417, + 450.3464203233256, + 452.34795996920707, + 454.3494996150885, + 456.35103926096997, + 458.3525789068514, + 460.35411855273287, + 462.3556581986143, + 464.3571978444958, + 466.35873749037717, + 468.3602771362586, + 470.36181678214007, + 472.3633564280215, + 474.36489607390297, + 476.3664357197844, + 478.36797536566587, + 480.3695150115473, + 482.3710546574288, + 484.3725943033102, + 486.3741339491917, + 488.3756735950731, + 490.3772132409546, + 492.378752886836, + 494.3802925327175, + 496.38183217859887, + 498.3833718244803, + 500.38491147036177, + 502.3864511162432, + 504.3879907621247, + 506.3895304080061, + 508.3910700538876, + 510.392609699769, + 512.3941493456505, + 514.3956889915319, + 516.3972286374134, + 518.3987682832948, + 520.4003079291763, + 522.4018475750577, + 524.4033872209392, + 526.4049268668206, + 528.4064665127021, + 530.4080061585835, + 532.409545804465, + 534.4110854503464, + 536.4126250962279, + 538.4141647421093, + 540.4157043879908, + 542.4172440338722, + 544.4187836797537, + 546.4203233256351, + 548.4218629715165, + 550.423402617398, + 552.4249422632794, + 554.4264819091609, + 556.4280215550423, + 558.4295612009238, + 560.4311008468052, + 562.4326404926867, + 564.4341801385681, + 566.4357197844496, + 568.437259430331, + 570.4387990762125, + 572.4403387220939, + 574.4418783679754, + 576.4434180138568, + 578.4449576597382, + 580.4464973056197, + 582.4480369515011, + 584.4495765973826, + 586.451116243264, + 588.4526558891455, + 590.4541955350269, + 592.4557351809084, + 594.4572748267898, + 596.4588144726713, + 598.4603541185527, + 600.4618937644342, + 602.4634334103156, + 604.4649730561971, + 606.4665127020785, + 608.4680523479599, + 610.4695919938414, + 612.4711316397228, + 614.4726712856043, + 616.4742109314857, + 618.4757505773672, + 620.4772902232486, + 622.4788298691301, + 624.4803695150115, + 626.481909160893, + 628.4834488067744, + 630.4849884526559, + 632.4865280985373, + 634.4880677444188, + 636.4896073903002, + 638.4911470361817, + 640.4926866820631, + 642.4942263279445, + 644.495765973826, + 646.4973056197074, + 648.4988452655889, + 650.5003849114703, + 652.5019245573518, + 654.5034642032332, + 656.5050038491147, + 658.5065434949961, + 660.5080831408776, + 662.509622786759, + 664.5111624326405, + 666.5127020785219, + 668.5142417244034, + 670.5157813702848, + 672.5173210161663, + 674.5188606620477, + 676.5204003079291, + 678.5219399538106, + 680.523479599692, + 682.5250192455735, + 684.5265588914549, + 686.5280985373364, + 688.5296381832178, + 690.5311778290993, + 692.5327174749807, + 694.5342571208622, + 696.5357967667436, + 698.5373364126251, + 700.5388760585065, + 702.540415704388, + 704.5419553502694, + 706.5434949961508, + 708.5450346420323, + 710.5465742879137, + 712.5481139337952, + 714.5496535796766, + 716.5511932255581, + 718.5527328714395, + 720.554272517321, + 722.5558121632024, + 724.5573518090839, + 726.5588914549653, + 728.5604311008468, + 730.5619707467282, + 732.5635103926097, + 734.5650500384911, + 736.5665896843725, + 738.568129330254, + 740.5696689761354, + 742.5712086220169, + 744.5727482678983, + 746.5742879137798, + 748.5758275596612, + 750.5773672055427, + 752.5789068514241, + 754.5804464973056, + 756.581986143187, + 758.5835257890685, + 760.5850654349499, + 762.5866050808314, + 764.5881447267128, + 766.5896843725943, + 768.5912240184757, + 770.5927636643571, + 772.5943033102386, + 774.59584295612, + 776.5973826020015, + 778.5989222478829, + 780.6004618937644, + 782.6020015396458, + 784.6035411855273, + 786.6050808314087, + 788.6066204772902, + 790.6081601231716, + 792.6096997690531, + 794.6112394149345, + 796.612779060816, + 798.6143187066974, + 800.6158583525789, + 802.6173979984603, + 804.6189376443417, + 806.6204772902232, + 808.6220169361046, + 810.6235565819861, + 812.6250962278675, + 814.626635873749, + 816.6281755196304, + 818.6297151655119, + 820.6312548113933, + 822.6327944572748, + 824.6343341031562, + 826.6358737490377, + 828.6374133949191, + 830.6389530408006, + 832.640492686682, + 834.6420323325634, + 836.6435719784449, + 838.6451116243263, + 840.6466512702078, + 842.6481909160892, + 844.6497305619707, + 846.6512702078521, + 848.6528098537336, + 850.654349499615, + 852.6558891454965, + 854.6574287913779, + 856.6589684372594, + 858.6605080831408, + 860.6620477290223, + 862.6635873749037, + 864.6651270207851, + 866.6666666666666, + 868.668206312548, + 870.6697459584295, + 872.6712856043109, + 874.6728252501924, + 876.6743648960738, + 878.6759045419553, + 880.6774441878367, + 882.6789838337182, + 884.6805234795996, + 886.6820631254811, + 888.6836027713625, + 890.685142417244, + 892.6866820631254, + 894.6882217090069, + 896.6897613548883, + 898.6913010007697, + 900.6928406466512, + 902.6943802925326, + 904.6959199384141, + 906.6974595842955, + 908.698999230177, + 910.7005388760584, + 912.7020785219399, + 914.7036181678213, + 916.7051578137028, + 918.7066974595842, + 920.7082371054657, + 922.7097767513471, + 924.7113163972286, + 926.71285604311, + 928.7143956889915, + 930.7159353348729, + 932.7174749807543, + 934.7190146266358, + 936.7205542725172, + 938.7220939183987, + 940.7236335642801, + 942.7251732101616, + 944.726712856043, + 946.7282525019245, + 948.7297921478059, + 950.7313317936874, + 952.7328714395688, + 954.7344110854503, + 956.7359507313317, + 958.7374903772132, + 960.7390300230946, + 962.740569668976, + 964.7421093148575, + 966.7436489607389, + 968.7451886066204, + 970.7467282525018, + 972.7482678983833, + 974.7498075442647, + 976.7513471901462, + 978.7528868360276, + 980.7544264819091, + 982.7559661277905, + 984.757505773672, + 986.7590454195534, + 988.760585065435, + 990.7621247113163, + 992.7636643571977, + 994.7652040030792, + 996.7667436489606, + 998.7682832948421, + 1000.7698229407235, + 1002.771362586605, + 1004.7729022324864, + 1006.774441878368, + 1008.7759815242493, + 1010.7775211701309, + 1012.7790608160122, + 1014.7806004618938, + 1016.7821401077751, + 1018.7836797536567, + 1020.785219399538, + 1022.7867590454196, + 1024.788298691301, + 1026.7898383371823, + 1028.7913779830637, + 1030.7929176289454, + 1032.7944572748268, + 1034.7959969207081, + 1036.7975365665895, + 1038.7990762124712, + 1040.8006158583526, + 1042.802155504234, + 1044.8036951501153, + 1046.805234795997, + 1048.8067744418784, + 1050.8083140877598, + 1052.8098537336411, + 1054.8113933795228, + 1056.8129330254042, + 1058.8144726712856, + 1060.816012317167, + 1062.8175519630483, + 1064.81909160893, + 1066.8206312548114, + 1068.8221709006928, + 1070.8237105465741, + 1072.8252501924558, + 1074.8267898383372, + 1076.8283294842186, + 1078.8298691301, + 1080.8314087759816, + 1082.832948421863, + 1084.8344880677444, + 1086.8360277136258, + 1088.8375673595074, + 1090.8391070053888, + 1092.8406466512702, + 1094.8421862971516, + 1096.843725943033, + 1098.8452655889146, + 1100.846805234796, + 1102.8483448806774, + 1104.8498845265588, + 1106.8514241724404, + 1108.8529638183218, + 1110.8545034642032, + 1112.8560431100846, + 1114.8575827559662, + 1116.8591224018476, + 1118.860662047729, + 1120.8622016936104, + 1122.8637413394918, + 1124.8652809853734, + 1126.8668206312548, + 1128.8683602771362, + 1130.8698999230176, + 1132.8714395688992, + 1134.8729792147806, + 1136.874518860662, + 1138.8760585065434, + 1140.877598152425, + 1142.8791377983064, + 1144.8806774441878, + 1146.8822170900692, + 1148.8837567359508, + 1150.8852963818322, + 1152.8868360277136, + 1154.888375673595, + 1156.8899153194764, + 1158.891454965358, + 1160.8929946112394, + 1162.8945342571208, + 1164.8960739030022, + 1166.8976135488838, + 1168.8991531947652, + 1170.9006928406466, + 1172.902232486528, + 1174.9037721324096, + 1176.905311778291, + 1178.9068514241724, + 1180.9083910700538, + 1182.9099307159354, + 1184.9114703618168, + 1186.9130100076982, + 1188.9145496535796, + 1190.916089299461, + 1192.9176289453426, + 1194.919168591224, + 1196.9207082371054, + 1198.9222478829868, + 1200.9237875288684, + 1202.9253271747498, + 1204.9268668206312, + 1206.9284064665126, + 1208.9299461123942, + 1210.9314857582756, + 1212.933025404157, + 1214.9345650500384, + 1216.9361046959198, + 1218.9376443418014, + 1220.9391839876828, + 1222.9407236335642, + 1224.9422632794456, + 1226.9438029253272, + 1228.9453425712086, + 1230.94688221709, + 1232.9484218629714, + 1234.949961508853, + 1236.9515011547344, + 1238.9530408006158, + 1240.9545804464972, + 1242.9561200923788, + 1244.9576597382602, + 1246.9591993841416, + 1248.960739030023, + 1250.9622786759044, + 1252.963818321786, + 1254.9653579676674, + 1256.9668976135488, + 1258.9684372594302, + 1260.9699769053118, + 1262.9715165511932, + 1264.9730561970746, + 1266.974595842956, + 1268.9761354888376, + 1270.977675134719, + 1272.9792147806004, + 1274.9807544264818, + 1276.9822940723634, + 1278.9838337182448, + 1280.9853733641262, + 1282.9869130100076, + 1284.988452655889, + 1286.9899923017706, + 1288.991531947652, + 1290.9930715935334, + 1292.9946112394148, + 1294.9961508852964, + 1296.9976905311778, + 1298.9992301770592, + 1301.0007698229406, + 1303.0023094688222, + 1305.0038491147036, + 1307.005388760585, + 1309.0069284064664, + 1311.008468052348, + 1313.0100076982294, + 1315.0115473441108, + 1317.0130869899922, + 1319.0146266358736, + 1321.0161662817552, + 1323.0177059276366, + 1325.019245573518, + 1327.0207852193994, + 1329.022324865281, + 1331.0238645111624, + 1333.0254041570438, + 1335.0269438029252, + 1337.0284834488068, + 1339.0300230946882, + 1341.0315627405696, + 1343.033102386451, + 1345.0346420323326, + 1347.036181678214, + 1349.0377213240954, + 1351.0392609699768, + 1353.0408006158582, + 1355.0423402617398, + 1357.0438799076212, + 1359.0454195535026, + 1361.046959199384, + 1363.0484988452656, + 1365.050038491147, + 1367.0515781370284, + 1369.0531177829098, + 1371.0546574287914, + 1373.0561970746728, + 1375.0577367205542, + 1377.0592763664356, + 1379.060816012317, + 1381.0623556581986, + 1383.06389530408, + 1385.0654349499614, + 1387.0669745958428, + 1389.0685142417244, + 1391.0700538876058, + 1393.0715935334872, + 1395.0731331793686, + 1397.0746728252502, + 1399.0762124711316, + 1401.077752117013, + 1403.0792917628944, + 1405.080831408776, + 1407.0823710546574, + 1409.0839107005388, + 1411.0854503464202, + 1413.0869899923016, + 1415.0885296381832, + 1417.0900692840646, + 1419.091608929946, + 1421.0931485758274, + 1423.094688221709, + 1425.0962278675904, + 1427.0977675134718, + 1429.0993071593532, + 1431.1008468052348, + 1433.1023864511162, + 1435.1039260969976, + 1437.105465742879, + 1439.1070053887606, + 1441.108545034642, + 1443.1100846805234, + 1445.1116243264048, + 1447.1131639722862, + 1449.1147036181678, + 1451.1162432640492, + 1453.1177829099306, + 1455.119322555812, + 1457.1208622016936, + 1459.122401847575, + 1461.1239414934564, + 1463.1254811393378, + 1465.1270207852194, + 1467.1285604311008, + 1469.1301000769822, + 1471.1316397228636, + 1473.133179368745, + 1475.1347190146266, + 1477.136258660508, + 1479.1377983063894, + 1481.1393379522708, + 1483.1408775981524, + 1485.1424172440338, + 1487.1439568899152, + 1489.1454965357966, + 1491.1470361816782, + 1493.1485758275596, + 1495.150115473441, + 1497.1516551193224, + 1499.153194765204, + 1501.1547344110854, + 1503.1562740569668, + 1505.1578137028482, + 1507.1593533487296, + 1509.1608929946112, + 1511.1624326404926, + 1513.163972286374, + 1515.1655119322554, + 1517.167051578137, + 1519.1685912240184, + 1521.1701308698998, + 1523.1716705157812, + 1525.1732101616628, + 1527.1747498075442, + 1529.1762894534256, + 1531.177829099307, + 1533.1793687451886, + 1535.18090839107, + 1537.1824480369514, + 1539.1839876828328, + 1541.1855273287142, + 1543.1870669745958, + 1545.1886066204772, + 1547.1901462663586, + 1549.19168591224, + 1551.1932255581216, + 1553.194765204003, + 1555.1963048498844, + 1557.1978444957658, + 1559.1993841416474, + 1561.2009237875288, + 1563.2024634334102, + 1565.2040030792916, + 1567.2055427251732, + 1569.2070823710546, + 1571.208622016936, + 1573.2101616628174, + 1575.2117013086988, + 1577.2132409545804, + 1579.2147806004618, + 1581.2163202463432, + 1583.2178598922246, + 1585.2193995381062, + 1587.2209391839876, + 1589.222478829869, + 1591.2240184757504, + 1593.225558121632, + 1595.2270977675134, + 1597.2286374133948, + 1599.2301770592762, + 1601.2317167051579, + 1603.2332563510392, + 1605.2347959969206, + 1607.236335642802, + 1609.2378752886834, + 1611.239414934565, + 1613.2409545804464, + 1615.2424942263278, + 1617.2440338722092, + 1619.2455735180909, + 1621.2471131639722, + 1623.2486528098536, + 1625.250192455735, + 1627.2517321016167, + 1629.253271747498, + 1631.2548113933794, + 1633.2563510392608, + 1635.2578906851422, + 1637.2594303310239, + 1639.2609699769052, + 1641.2625096227866, + 1643.264049268668, + 1645.2655889145497, + 1647.267128560431, + 1649.2686682063124, + 1651.2702078521938, + 1653.2717474980755, + 1655.2732871439568, + 1657.2748267898382, + 1659.2763664357196, + 1661.2779060816013, + 1663.2794457274827, + 1665.280985373364, + 1667.2825250192454, + 1669.2840646651268, + 1671.2856043110085, + 1673.2871439568898, + 1675.2886836027712, + 1677.2902232486526, + 1679.2917628945343, + 1681.2933025404157, + 1683.294842186297, + 1685.2963818321784, + 1687.29792147806, + 1689.2994611239415, + 1691.3010007698228, + 1693.3025404157042, + 1695.3040800615859, + 1697.3056197074673, + 1699.3071593533487, + 1701.30869899923, + 1703.3102386451114, + 1705.311778290993, + 1707.3133179368745, + 1709.3148575827558, + 1711.3163972286372, + 1713.3179368745189, + 1715.3194765204003, + 1717.3210161662817, + 1719.322555812163, + 1721.3240954580447, + 1723.325635103926, + 1725.3271747498075, + 1727.3287143956888, + 1729.3302540415702, + 1731.3317936874519, + 1733.3333333333333, + 1735.3348729792147, + 1737.336412625096, + 1739.3379522709777, + 1741.339491916859, + 1743.3410315627405, + 1745.3425712086218, + 1747.3441108545035, + 1749.3456505003849, + 1751.3471901462663, + 1753.3487297921477, + 1755.3502694380293, + 1757.3518090839107, + 1759.353348729792, + 1761.3548883756735, + 1763.3564280215548, + 1765.3579676674365, + 1767.3595073133179, + 1769.3610469591993, + 1771.3625866050807, + 1773.3641262509623, + 1775.3656658968437, + 1777.367205542725, + 1779.3687451886065, + 1781.370284834488, + 1783.3718244803695, + 1785.3733641262509, + 1787.3749037721323, + 1789.3764434180139, + 1791.3779830638953, + 1793.3795227097767, + 1795.381062355658, + 1797.3826020015395, + 1799.384141647421, + 1801.3856812933025, + 1803.3872209391839, + 1805.3887605850653, + 1807.3903002309469, + 1809.3918398768283, + 1811.3933795227097, + 1813.394919168591, + 1815.3964588144727, + 1817.397998460354, + 1819.3995381062355, + 1821.4010777521169, + 1823.4026173979985, + 1825.4041570438799, + 1827.4056966897613, + 1829.4072363356427, + 1831.408775981524, + 1833.4103156274057, + 1835.411855273287, + 1837.4133949191685, + 1839.4149345650499, + 1841.4164742109315, + 1843.4180138568129, + 1845.4195535026943, + 1847.4210931485757, + 1849.4226327944573, + 1851.4241724403387, + 1853.42571208622, + 1855.4272517321015, + 1857.428791377983, + 1859.4303310238645, + 1861.4318706697459, + 1863.4334103156273, + 1865.4349499615087, + 1867.4364896073903, + 1869.4380292532717, + 1871.439568899153, + 1873.4411085450345, + 1875.442648190916, + 1877.4441878367975, + 1879.4457274826789, + 1881.4472671285603, + 1883.448806774442, + 1885.4503464203233, + 1887.4518860662047, + 1889.453425712086, + 1891.4549653579675, + 1893.456505003849, + 1895.4580446497305, + 1897.4595842956119, + 1899.4611239414933, + 1901.462663587375, + 1903.4642032332563, + 1905.4657428791377, + 1907.467282525019, + 1909.4688221709007, + 1911.470361816782, + 1913.4719014626635, + 1915.4734411085449, + 1917.4749807544265, + 1919.476520400308, + 1921.4780600461893, + 1923.4795996920707, + 1925.481139337952, + 1927.4826789838337, + 1929.484218629715, + 1931.4857582755965, + 1933.4872979214779, + 1935.4888375673595, + 1937.490377213241, + 1939.4919168591223, + 1941.4934565050037, + 1943.4949961508853, + 1945.4965357967667, + 1947.498075442648, + 1949.4996150885295, + 1951.501154734411, + 1953.5026943802925, + 1955.504234026174, + 1957.5057736720553, + 1959.5073133179367, + 1961.5088529638183, + 1963.5103926096997, + 1965.511932255581, + 1967.5134719014625, + 1969.515011547344, + 1971.5165511932255, + 1973.518090839107, + 1975.5196304849883, + 1977.52117013087, + 1979.5227097767513, + 1981.5242494226327, + 1983.525789068514, + 1985.5273287143955, + 1987.528868360277, + 1989.5304080061585, + 1991.53194765204, + 1993.5334872979213, + 1995.535026943803, + 1997.5365665896843, + 1999.5381062355657, + 2001.539645881447, + 2003.5411855273287, + 2005.54272517321, + 2007.5442648190915, + 2009.545804464973, + 2011.5473441108545, + 2013.548883756736, + 2015.5504234026173, + 2017.5519630484987, + 2019.55350269438, + 2021.5550423402617, + 2023.556581986143, + 2025.5581216320245, + 2027.559661277906, + 2029.5612009237875, + 2031.562740569669, + 2033.5642802155503, + 2035.5658198614317, + 2037.5673595073133, + 2039.5688991531947, + 2041.570438799076, + 2043.5719784449575, + 2045.5735180908391, + 2047.5750577367205, + 2049.576597382602, + 2051.5781370284835, + 2053.5796766743647, + 2055.5812163202463, + 2057.5827559661275, + 2059.584295612009, + 2061.5858352578907, + 2063.587374903772, + 2065.5889145496535, + 2067.590454195535, + 2069.5919938414163, + 2071.593533487298, + 2073.595073133179, + 2075.5966127790607, + 2077.5981524249423, + 2079.5996920708235, + 2081.601231716705, + 2083.6027713625863, + 2085.604311008468, + 2087.6058506543495, + 2089.6073903002307, + 2091.6089299461123, + 2093.610469591994, + 2095.612009237875, + 2097.6135488837567, + 2099.615088529638, + 2101.6166281755195, + 2103.618167821401, + 2105.6197074672823, + 2107.621247113164, + 2109.6227867590455, + 2111.6243264049267, + 2113.6258660508083, + 2115.6274056966895, + 2117.628945342571, + 2119.6304849884527, + 2121.632024634334, + 2123.6335642802155, + 2125.6351039260967, + 2127.6366435719783, + 2129.63818321786, + 2131.639722863741, + 2133.6412625096227, + 2135.6428021555043, + 2137.6443418013855, + 2139.645881447267, + 2141.6474210931483, + 2143.64896073903, + 2145.6505003849115, + 2147.6520400307927, + 2149.6535796766743, + 2151.6551193225555, + 2153.656658968437, + 2155.6581986143187, + 2157.6597382602, + 2159.6612779060815, + 2161.662817551963, + 2163.6643571978443, + 2165.665896843726, + 2167.667436489607, + 2169.6689761354887, + 2171.6705157813703, + 2173.6720554272515, + 2175.673595073133, + 2177.6751347190147, + 2179.676674364896, + 2181.6782140107775, + 2183.6797536566587, + 2185.6812933025403, + 2187.682832948422, + 2189.684372594303, + 2191.6859122401847, + 2193.687451886066, + 2195.6889915319475, + 2197.690531177829, + 2199.6920708237103, + 2201.693610469592, + 2203.6951501154736, + 2205.6966897613547, + 2207.6982294072363, + 2209.6997690531175, + 2211.701308698999, + 2213.7028483448807, + 2215.704387990762, + 2217.7059276366435, + 2219.7074672825247, + 2221.7090069284063, + 2223.710546574288, + 2225.712086220169, + 2227.7136258660507, + 2229.7151655119324, + 2231.7167051578135, + 2233.718244803695, + 2235.7197844495763, + 2237.721324095458, + 2239.7228637413396, + 2241.7244033872207, + 2243.7259430331023, + 2245.7274826789835, + 2247.729022324865, + 2249.7305619707467, + 2251.732101616628, + 2253.7336412625095, + 2255.735180908391, + 2257.7367205542723, + 2259.738260200154, + 2261.739799846035, + 2263.7413394919167, + 2265.7428791377984, + 2267.7444187836795, + 2269.745958429561, + 2271.7474980754428, + 2273.749037721324, + 2275.7505773672056, + 2277.7521170130867, + 2279.7536566589683, + 2281.75519630485, + 2283.756735950731, + 2285.7582755966127, + 2287.759815242494, + 2289.7613548883755, + 2291.762894534257, + 2293.7644341801383, + 2295.76597382602, + 2297.7675134719016, + 2299.7690531177827, + 2301.7705927636644, + 2303.7721324095455, + 2305.773672055427, + 2307.7752117013088, + 2309.77675134719, + 2311.7782909930716, + 2313.7798306389527, + 2315.7813702848343, + 2317.782909930716, + 2319.784449576597, + 2321.7859892224787, + 2323.7875288683604, + 2325.7890685142415, + 2327.790608160123, + 2329.7921478060043, + 2331.793687451886, + 2333.7952270977676, + 2335.7967667436487, + 2337.7983063895304, + 2339.7998460354115, + 2341.801385681293, + 2343.8029253271748, + 2345.804464973056, + 2347.8060046189375, + 2349.807544264819, + 2351.8090839107003, + 2353.810623556582, + 2355.812163202463, + 2357.8137028483447, + 2359.8152424942264, + 2361.8167821401075, + 2363.818321785989, + 2365.819861431871, + 2367.821401077752, + 2369.8229407236336, + 2371.8244803695147, + 2373.8260200153964, + 2375.827559661278, + 2377.829099307159, + 2379.8306389530408, + 2381.832178598922, + 2383.8337182448035, + 2385.835257890685, + 2387.8367975365663, + 2389.838337182448, + 2391.8398768283296, + 2393.8414164742107, + 2395.8429561200924, + 2397.8444957659735, + 2399.846035411855, + 2401.847575057737, + 2403.849114703618, + 2405.8506543494996, + 2407.8521939953807, + 2409.8537336412624, + 2411.855273287144, + 2413.856812933025, + 2415.8583525789068, + 2417.8598922247884, + 2419.8614318706695, + 2421.862971516551, + 2423.8645111624323, + 2425.866050808314, + 2427.8675904541956, + 2429.8691301000767, + 2431.8706697459584, + 2433.8722093918395, + 2435.873749037721, + 2437.875288683603, + 2439.876828329484, + 2441.8783679753656, + 2443.879907621247, + 2445.8814472671284, + 2447.88298691301, + 2449.884526558891, + 2451.8860662047728, + 2453.8876058506544, + 2455.8891454965355, + 2457.890685142417, + 2459.892224788299, + 2461.89376443418, + 2463.8953040800616, + 2465.8968437259427, + 2467.8983833718244, + 2469.899923017706, + 2471.901462663587, + 2473.903002309469, + 2475.90454195535, + 2477.9060816012316, + 2479.907621247113, + 2481.9091608929944, + 2483.910700538876, + 2485.9122401847576, + 2487.9137798306388, + 2489.9153194765204, + 2491.9168591224015, + 2493.918398768283, + 2495.919938414165, + 2497.921478060046, + 2499.9230177059276, + 2501.9245573518087, + 2503.9260969976904, + 2505.927636643572, + 2507.929176289453, + 2509.930715935335, + 2511.9322555812164, + 2513.9337952270976, + 2515.935334872979, + 2517.9368745188603, + 2519.938414164742, + 2521.9399538106236, + 2523.9414934565048, + 2525.9430331023864, + 2527.944572748268, + 2529.946112394149, + 2531.947652040031, + 2533.949191685912, + 2535.9507313317936, + 2537.952270977675, + 2539.9538106235564, + 2541.955350269438, + 2543.956889915319, + 2545.958429561201, + 2547.9599692070824, + 2549.9615088529636, + 2551.963048498845, + 2553.964588144727, + 2555.966127790608, + 2557.9676674364896, + 2559.9692070823708, + 2561.9707467282524, + 2563.972286374134, + 2565.973826020015, + 2567.975365665897, + 2569.976905311778, + 2571.9784449576596, + 2573.979984603541, + 2575.9815242494224, + 2577.983063895304, + 2579.9846035411856, + 2581.986143187067, + 2583.9876828329484, + 2585.9892224788296, + 2587.990762124711, + 2589.992301770593, + 2591.993841416474, + 2593.9953810623556, + 2595.9969207082368, + 2597.9984603541184, 2600 ], "y": [ - 3.634261769232822, - 3.630185863511906, - 3.6280359698382165, - 3.6251146980182476, - 3.621109587275118, - 3.620636334028969, - 3.6178731177131622, - 3.614156887116602, - 3.6118057420235954, - 3.6086679985741084, - 3.6075732689725437, - 3.60750587305936, - 3.604975069032764, - 3.602140759509883, - 3.6001507282977374, - 3.59888096493104, - 3.597537107034993, - 3.595274650896997, - 3.5900047520714624, - 3.592002854522675, - 3.591580365046045, - 3.590374899816215, - 3.5897303975075263, - 3.586033350792529, - 3.58576588590072, - 3.5846938469459158, - 3.584253889242153, - 3.5828096043079483, - 3.579683007011604, - 3.5777165239321396, - 3.5783689724298413, - 3.577779254399408, - 3.5758616173080724, - 3.5760960058638074, - 3.572490207698505, - 3.5733297489573372, - 3.5711747817730606, - 3.5718500496470007, - 3.5710127549494106, - 3.56856361689934, - 3.5682082719155592, - 3.56731846622863, - 3.567870457530105, - 3.5665563875635375, - 3.563118854842636, - 3.5642677609306475, - 3.562724159016153, - 3.5616573487156926, - 3.562935857644425, - 3.5592261153703766, - 3.5587893153252823, - 3.557977408717618, - 3.5582202322694103, - 3.5586319226495564, - 3.5592316854107926, - 3.556922157166411, - 3.555738739910725, - 3.556326475589049, - 3.5543678675795487, - 3.5520817690700555, - 3.5547727679688865, - 3.550559513638904, - 3.551402879218407, - 3.5520526000292993, - 3.5493501244755015, - 3.5505175367332726, - 3.549294781843367, - 3.550179691897707, - 3.5494661392315496, - 3.548434065716087, - 3.5476088639824406, - 3.546294856089099, - 3.5465920774657036, - 3.5454981642301004, - 3.543968469314512, - 3.544476689365774, - 3.5454967844669385, - 3.5432771460730823, - 3.543794889725447, - 3.5440324548781015, - 3.5407325632762245, - 3.5423069371585125, - 3.5412970601343075, - 3.5410523909314144, - 3.5379801006199743, - 3.539457998283326, - 3.536866317285384, - 3.539206232352021, - 3.537482138786639, - 3.536377480162269, - 3.538564635291954, - 3.5362040280434353, - 3.536036386129322, - 3.535350283869222, - 3.5358021828478474, - 3.5354493191659686, - 3.5344213445240764, - 3.5336769765375657, - 3.5342513537673375, - 3.5315487948818203, - 3.5338569060415446, - 3.5310512436043955, - 3.5329228804285164, - 3.532417979975105, - 3.5292902823093395, - 3.5309048318149068, - 3.531865873756671, - 3.5301384491816665, - 3.5288368390182843, - 3.529935899071824, - 3.5284889943149413, - 3.5286314611277185, - 3.5282436621743103, - 3.5272845326930313, - 3.526843674690714, - 3.526946006217959, - 3.5275771800195748, - 3.5254135026896045, - 3.526250108236982, - 3.5253726872236153, - 3.524851545899634, - 3.524465340190994, - 3.5246623126348253, - 3.523285452068703, - 3.5217184543871496, - 3.5216114117393906, - 3.5225001844689574, - 3.520012323345248, - 3.5216633792994387, - 3.5214537288765912, - 3.5214211577010133, - 3.522469733555265, - 3.5195696664883607, - 3.521532905936829, - 3.5189582391746383, - 3.5185680172105154, - 3.5179730912255587, - 3.519060700184467, - 3.518564508525967, - 3.5194736497588464, - 3.517764840191361, - 3.517228799200487, - 3.5171421700813337, - 3.516082636736584, - 3.515327514046077, - 3.515966073703882, - 3.515527922514544, - 3.5146258865359523, - 3.5170506397482186, - 3.516720325607669, - 3.5172170047593068, - 3.513476438621061, - 3.512896737818724, - 3.514130463815244, - 3.5129673482244583, - 3.5127413926110354, - 3.5129771862208288, - 3.5132328926355436, - 3.512311391605103, - 3.511982670496142, - 3.512152589749274, - 3.5100709003018027, - 3.5097067272586773, - 3.5100706695463164, - 3.509040192390387, - 3.5109085336554804, - 3.5100260087213004, - 3.508288716963543, - 3.507091485372727, - 3.5094989228353475, - 3.5086551763265352, - 3.507295255091661, - 3.506897902915264, - 3.508961937526115, - 3.507452383331031, - 3.506872734330233, - 3.5051706391343997, - 3.5066204680871382, - 3.5059193748899746, - 3.5070677076339853, - 3.505437675567123, - 3.5056357750410654, - 3.5060654994787854, - 3.5041941303855593, - 3.5033149197576274, - 3.5047498239673467, - 3.5042365032294116, - 3.50170582223715, - 3.50427937602741, - 3.5056664607822574, - 3.5021997394387, - 3.5021444367597585, - 3.5013173287347827, - 3.5015690188136213, - 3.503334297656943, - 3.5025082513430905, - 3.5004116718320235, - 3.5008009540466456, - 3.5003809093501004, - 3.501637047444543, - 3.50152918599999, - 3.4985728599758548, - 3.5001838871518514, - 3.4995779516175536, - 3.5002409994537618, - 3.499124519045338, - 3.500364618341635, - 3.497159070174117, - 3.4992099628736906, - 3.4979720964326755, - 3.4978683209192716, - 3.4977763905805204, - 3.495831948086762, - 3.49767828971445, - 3.496282249431933, - 3.495696282573738, - 3.495611951009478, - 3.4952837701092925, - 3.4966011548057483, - 3.495623359032752, - 3.493905771559473, - 3.495412802098137, - 3.494857343085719, - 3.495110368612702, - 3.4916860321937744, - 3.4933963038081326, - 3.494250216760589, - 3.4933593551074593, - 3.4910120452384565, - 3.4922938523881673, - 3.4937120812147184, - 3.491863952975455, - 3.492988285238524, - 3.490031343340467, - 3.4908328845008385, - 3.490715027850133, - 3.4912416395676886, - 3.490630864213961, - 3.487837567318775, - 3.4893060104397384, - 3.4877759729529214, - 3.491030841704764, - 3.489673291502465, - 3.487714377652429, - 3.486342348440143, - 3.4885009903832733, - 3.486255443947862, - 3.4863254542340627, - 3.488928768489904, - 3.486637833960688, - 3.48564251610964, - 3.4879479452645485, - 3.4855933233464427, - 3.4870657451059923, - 3.487401643168524, - 3.483580960034102, - 3.4871887934406214, - 3.4849204997355008, - 3.484253853058836, - 3.4849744864072774, - 3.4850442049944035, - 3.4835675218827076, - 3.483752063884872, - 3.4828585564193073, - 3.4826386783946544, - 3.481672169937931, - 3.4832625276257456, - 3.482384976607848, - 3.4815832722590017, - 3.4818464469535715, - 3.4806226323553586, - 3.480219298910526, - 3.4824073125948147, - 3.4827899367090294, - 3.478888040816539, - 3.4808378712641717, - 3.480885935753552, - 3.479300675392034, - 3.481109536301563, - 3.4808555968732535, - 3.479782058112581, - 3.4785116184489824, - 3.478406309570248, - 3.477820192824943, - 3.4784193399058445, - 3.479214122580008, - 3.4775106505348035, - 3.478887982280335, - 3.478226476019239, - 3.4787773395190924, - 3.4777057134895983, - 3.4752963322779826, - 3.4770382879077486, - 3.47649980312352, - 3.475746920206686, - 3.4751984667670057, - 3.474941029946416, - 3.4730956229932715, - 3.4736778111388995, - 3.4757975576034084, - 3.474199279827536, - 3.473975604591494, - 3.4743628831395235, - 3.472854008044263, - 3.4733325205750374, - 3.4732532520233077, - 3.472882526013782, - 3.4725172001082827, - 3.471855508516398, - 3.4717925744557343, - 3.4725377016892485, - 3.471030225864407, - 3.470320646632035, - 3.472180290914135, - 3.4705139069568536, - 3.4714666998459514, - 3.4701886148680567, - 3.467660959857716, - 3.4688477257241916, - 3.470584031879983, - 3.469320584879262, - 3.4688153481728503, - 3.46848026923963, - 3.4688954624869424, - 3.4700310042670885, - 3.466663083878242, - 3.4666453669318456, - 3.469428661106946, - 3.46812257601519, - 3.4677724821424603, - 3.4677974047928015, - 3.4664482922419877, - 3.468293990725952, - 3.4653637520539133, - 3.4685746777543365, - 3.4653679904497503, - 3.4663432507234875, - 3.4646461279482956, - 3.464416102350859, - 3.465148851382164, - 3.46443923648528, - 3.4646094170495445, - 3.464597794199901, - 3.463114031677121, - 3.4641160854762747, - 3.4631876728095485, - 3.463566443345751, - 3.463455477569288, - 3.4615648263011707, - 3.4621762736043102, - 3.4613368432658893, - 3.459065476414434, - 3.4593394101735844, - 3.46059660602861, - 3.461608619765614, - 3.4606871058822724, - 3.4609877462391134, - 3.460254704916267, - 3.4602628161135502, - 3.4603186145550913, - 3.45926228994012, - 3.45943806345783, - 3.4561068366110392, - 3.4563459771335228, - 3.4585204678206, - 3.457870007065064, - 3.456307779313495, - 3.457889351876728, - 3.457507992423599, - 3.4571173986820516, - 3.4584166912846666, - 3.454799326641652, - 3.4548878556772764, - 3.4589294528419514, - 3.4565470997042134, - 3.457093621933691, - 3.4554671786429303, - 3.455537081783724, - 3.4540229239827056, - 3.455488659701158, - 3.453894697009669, - 3.4539935498968837, - 3.451346436396183, - 3.4541639310322623, - 3.453387772394818, - 3.4533508412491836, - 3.4521636417846695, - 3.4520352636247997, - 3.453065752898883, - 3.4503184949074734, - 3.4526027664744254, - 3.450383529420913, - 3.451840048954939, - 3.448984958142986, - 3.4501711961850225, - 3.450848974005647, - 3.4498930933250067, - 3.4503164514975944, - 3.44897530489449, - 3.448528672046726, - 3.4482386348718603, - 3.4500341805776373, - 3.4492672738444017, - 3.4491674098556495, - 3.4480241379695573, - 3.4480673008516387, - 3.4478447457557024, - 3.4462366456042743, - 3.4463778764413853, - 3.4464839584834213, - 3.4472005730857638, - 3.446194548323284, - 3.4453789611090033, - 3.4451629611801, - 3.444978291679805, - 3.443331875712794, - 3.444434877724537, - 3.4454194905174695, - 3.4426934645886282, - 3.4437559804970137, - 3.4445880381923044, - 3.443721617103069, - 3.4429282399048287, - 3.4442600991226393, - 3.441560195621387, - 3.4421969570524764, - 3.4415753947207324, - 3.441416652122373, - 3.4416896301536397, - 3.4406379165537526, - 3.44282964251757, - 3.4416607047965697, - 3.4404909522946574, - 3.438463867270721, - 3.4402524742946032, - 3.440945386763448, - 3.4391133485628536, - 3.439154501351565, - 3.439098524829204, - 3.440062679433704, - 3.4384637616075127, - 3.4370451055298297, - 3.4389790128901634, - 3.4366615913413017, - 3.4379315996749633, - 3.4353680292498154, - 3.436715230950279, - 3.4372878892876724, - 3.435381803840722, - 3.436746921976589, - 3.4364460916987407, - 3.436675781894745, - 3.4355219785608138, - 3.4345837986528913, - 3.435314762577529, - 3.434614391531976, - 3.433267061798073, - 3.4345751257134447, - 3.432914791145459, - 3.4335042808425045, - 3.431760031716672, - 3.4326662565280825, - 3.432774922230433, - 3.432568399188457, - 3.4340053279234266, - 3.4303716126211596, - 3.4326643303563857, - 3.4302455612034244, - 3.430475127600602, - 3.4303058497279415, - 3.4312092548932016, - 3.4304134084684645, - 3.429736784617775, - 3.42930029797887, - 3.428724973363518, - 3.4278601492744505, - 3.4289453039927857, - 3.428407428083357, - 3.4284077159228987, - 3.428303803364012, - 3.427633844819198, - 3.4288282527465124, - 3.4267545016786713, - 3.425963110176605, - 3.42631656016636, - 3.426535095710496, - 3.426970190202856, - 3.424486983958801, - 3.4253475199648915, - 3.4252068892339267, - 3.4247790307601425, - 3.4250083808751945, - 3.423125153964458, - 3.4246312728603208, - 3.4234238954875593, - 3.4239617031820226, - 3.4233137833977247, - 3.4218732025743797, - 3.421738090353073, - 3.4233310471115663, - 3.421995086159337, - 3.4209279379419186, - 3.4213230931729774, - 3.4212858967519226, - 3.420732446465756, - 3.421109215591331, - 3.41868610402512, - 3.422180298003316, - 3.4189782017624224, - 3.4204673388440194, - 3.418602729088538, - 3.4208403556415705, - 3.417909727895861, - 3.418496601124926, - 3.4172629979543543, - 3.418481433157346, - 3.4180325168551993, - 3.4187981479538054, - 3.416612765457909, - 3.4179290497938384, - 3.41567677023562, - 3.413726998850249, - 3.4162341620376973, - 3.4161039187381923, - 3.41528720740715, - 3.415190016281131, - 3.4157273814981086, - 3.4146140082365743, - 3.4137506072590327, - 3.414230938134523, - 3.412484435337625, - 3.4120845790307657, - 3.4127331249230903, - 3.411360158698884, - 3.4124026996649373, - 3.4131934390446026, - 3.4128854889908053, - 3.41128050457076, - 3.4119097276278016, - 3.410723805729523, - 3.411317985723594, - 3.4102880055382445, - 3.411360959408895, - 3.4090466210189967, - 3.4101218754668143, - 3.408847515124356, - 3.4079334648233726, - 3.4092448981521986, - 3.409563707123191, - 3.40922962346217, - 3.4086134952269354, - 3.4081661312481053, - 3.40733687938183, - 3.4071235156218562, - 3.405263749281833, - 3.4068151383902454, - 3.407009029053531, - 3.405246138976891, - 3.406482204304293, - 3.4048048884923507, - 3.4043692726897534, - 3.4053411218468863, - 3.4023758366748718, - 3.404179004461395, - 3.4028691676598064, - 3.4040057200878415, - 3.4023463067896134, - 3.4051886243419123, - 3.401302398210966, - 3.4026852937442422, - 3.4015809590751007, - 3.402231942680819, - 3.3982824854573295, - 3.4003229980231513, - 3.4013979703506294, - 3.401543945139081, - 3.400063448552955, - 3.3999281586565053, - 3.4000388026427077, - 3.398966072283762, - 3.3984584832580764, - 3.3998608367791796, - 3.395097789615737, - 3.3984960042730106, - 3.3995142595433436, - 3.3972903851276386, - 3.3960370512837033, - 3.3972508881934824, - 3.3956119689878173, - 3.39469681404316, - 3.3960723978414666, - 3.3965082373328555, - 3.395030841804569, - 3.394330251959686, - 3.3933820402540085, - 3.3946472367347833, - 3.396118553692137, - 3.3947192152654813, - 3.3929655945410246, - 3.393452520725104, - 3.391824929067411, - 3.391993645990738, - 3.3937300758331244, - 3.3937607679135042, - 3.3929747231792105, - 3.3928776601903383, - 3.39144058062531, - 3.391197772054067, - 3.3915204873588864, - 3.3902248785123135, - 3.389850477523956, - 3.3890447606687966, - 3.388971504578472, - 3.388393372718645, - 3.388639014074264, - 3.3890471217622093, - 3.3873929652490715, - 3.3878153705880347, - 3.3887669455871183, - 3.386747720475573, - 3.3886453512819914, - 3.3844604490845125, - 3.385931878364677, - 3.385673375825439, - 3.3859914897284944, - 3.3858452884204557, - 3.385166558169453, - 3.383885017308503, - 3.3875877260873573, - 3.383723410727119, - 3.3855322001595463, - 3.383948898617064, - 3.384955893491237, - 3.3833511871895166, - 3.3825639209342877, - 3.3852114662270676, - 3.382777829429669, - 3.383368832864701, - 3.3808326944672165, - 3.382944246788736, - 3.38036897328857, - 3.3811884771318725, - 3.3801819840137797, - 3.380155103893695, - 3.378185220347341, - 3.3801058606897816, - 3.3791511635079647, - 3.3782521264170575, - 3.3763477864552214, - 3.3777153336320027, - 3.377963439461672, - 3.376866842109023, - 3.3782522050001265, - 3.3774027094834187, - 3.3778456130054186, - 3.3775894334506207, - 3.3754695856367785, - 3.375326051670018, - 3.3759863227060305, - 3.3758342337669203, - 3.3748667736650964, - 3.3742336729115756, - 3.372237205312692, - 3.3748526778834016, - 3.3736837185753266, - 3.3732724256027367, - 3.37373296201972, - 3.3729491880221527, - 3.3721385641834143, - 3.3717553053721367, - 3.370315961254398, - 3.3712368811184446, - 3.3718339326152935, - 3.3704171469336415, - 3.370554079423457, - 3.371073425257548, - 3.3692018601037206, - 3.3708677716841695, - 3.367317508456353, - 3.368287914521175, - 3.369237996558533, - 3.3694051742280617, - 3.3679001660306755, - 3.3673182143344293, - 3.369058749539781, - 3.3669574468850545, - 3.3673199127579925, - 3.3651104145411317, - 3.3654048761405337, - 3.3665821189480387, - 3.365426109613518, - 3.365032993282529, - 3.365436863361819, - 3.3642974915912984, - 3.364212173059603, - 3.363639475139329, - 3.3638255237205135, - 3.3647030043269583, - 3.3631145765524386, - 3.3621181773934854, - 3.3629295546638533, - 3.3611725783438526, - 3.3604478983503108, - 3.3594955207684984, - 3.3608260475112024, - 3.362542238934398, - 3.3609617283383155, - 3.35966260107232, - 3.3590109094039886, - 3.3600660586731608, - 3.3564321874255194, - 3.358614037436671, - 3.357253850272463, - 3.3592508714608376, - 3.357428459011094, - 3.357648709943723, - 3.356968509201422, - 3.35749930533496, - 3.35573696276236, - 3.3556849130321056, - 3.355956008397893, - 3.355217118152971, - 3.3555574479655212, - 3.3560218306374447, - 3.3562096739943272, - 3.3550186457912012, - 3.35280294044479, - 3.3544707858724063, - 3.3525818422650864, - 3.355213048789534, - 3.3530166897729963, - 3.3543086910932742, - 3.3511761221229968, - 3.3525749505783096, - 3.3515688613516716, - 3.350502984380627, - 3.3512538381685713, - 3.349987072866522, - 3.3511499944883196, - 3.349745187905119, - 3.3515358710681102, - 3.350916648670666, - 3.3487737709224166, - 3.3496203537862534, - 3.3488501178973364, - 3.3490693198674557, - 3.348425121507072, - 3.3472928893192533, - 3.3461408983037586, - 3.3484088102505414, - 3.3473309857433815, - 3.346472605831799, - 3.346063562602322, - 3.3471616562470587, - 3.343680796696707, - 3.3451828662860894, - 3.3458036023234503, - 3.345656687622434, - 3.3437603345562725, - 3.344120522095867, - 3.3433080156472372, - 3.3444096312084763, - 3.3439973564935115, - 3.343162111862614, - 3.34206905933279, - 3.3417342582822136, - 3.3415825082197563, - 3.3426687718669457, - 3.342813680319708, - 3.3409331608035155, - 3.341364591208723, - 3.341471477897194, - 3.343334141158924, - 3.34152182202603, - 3.340485840936652, - 3.338952167590132, - 3.3404165909310506, - 3.3384938280368353, - 3.3380389518938953, - 3.33876027179097, - 3.339312917389853, - 3.3401258583666524, - 3.3359576004992206, - 3.336438829350782, - 3.337133645859906, - 3.337141919762828, - 3.3360303618561815, - 3.336340212371528, - 3.3340903686169927, - 3.3363280205727555, - 3.334348165908087, - 3.3343865708777627, - 3.335665286643013, - 3.3346123384331317, - 3.3337344102133795, - 3.333042786159563, - 3.3338099189147523, - 3.3319074128068893, - 3.3312851524622196, - 3.332948238234576, - 3.33161402446208, - 3.332749981676711, - 3.3314222492470003, - 3.332341708099098, - 3.3314807715040895, - 3.327594857338732, - 3.3319731688031404, - 3.328395968725489, - 3.328697727012183, - 3.3311781267114475, - 3.3306924247692087, - 3.3278373178097542, - 3.3290106255853296, - 3.327524351978038, - 3.326904818049744, - 3.326297179322113, - 3.3280174567999525, - 3.325574770575005, - 3.327047662799041, - 3.323909205757059, - 3.324979525231623, - 3.3255036004762664, - 3.324144578102989, - 3.3238957644338156, - 3.32609416489798, - 3.3240529545872475, - 3.3225609130937577, - 3.322209494727588, - 3.3240885271346383, - 3.3230689429910165, - 3.3227928459689893, - 3.32178881712621, - 3.3237074818337065, - 3.321490506969883, - 3.321359651565259, - 3.322301258844249, - 3.3189646584808608, - 3.320855934205832, - 3.3204880002378787, - 3.3201929189967534, - 3.3189560200590384, - 3.319849661251257, - 3.3185679275502067, - 3.3195290532237816, - 3.3163280049265533, - 3.318531734128421, - 3.3184928625215693, - 3.3184201335529577, - 3.3180059256161067, - 3.31946024133526, - 3.3161441396318105, - 3.315643808096481, - 3.3152184157051363, - 3.3151376289093957, - 3.315987433789913, - 3.315076974577585, - 3.3142983651018567, - 3.315529067779993, - 3.3150276272074195, - 3.3148512425997496, - 3.313343191080716, - 3.3121227923192236, - 3.313517320622842, - 3.312336786913074, - 3.313526291257719, - 3.314008851990244, - 3.314186111679536, - 3.3127647566176224, - 3.313047536136298, - 3.312244699262859, - 3.3088935863367137, - 3.311011311380532, - 3.309051870449977, - 3.3102981360896324, - 3.3097624110705164, - 3.311906831077976, - 3.30979749470159, - 3.309842881705721, - 3.308367101725569, - 3.3083158086407445, - 3.3059169752740414, - 3.3081050198609425, - 3.307712712900325, - 3.3073423963124213, - 3.305871989097794, - 3.306639319399227, - 3.3065455413177656, - 3.307668584044852, - 3.3071361283900726, - 3.303442669737774, - 3.3046356560155625, - 3.3068822125385804, - 3.30483420071143, - 3.3046076625667995, - 3.304948613439318, - 3.3034607908219735, - 3.3041438564243917, - 3.303505911780785, - 3.301809442422638, - 3.3033011297241943, - 3.3030048304662643, - 3.3011067763001827, - 3.303735773831415, - 3.3006429152910703, - 3.300165057336033, - 3.2996290477737764, - 3.3009924896316, - 3.3007908592110704, - 3.3010237261009014, - 3.3006687627543014, - 3.299029395882167, - 3.299114390437184, - 3.2989953845676263, - 3.301064677944007, - 3.298449114802403, - 3.29892661953809, - 3.29653421443171, - 3.2981426584617655, - 3.2953498060369064, - 3.295904664014237, - 3.297312298125903, - 3.2972348761781403, - 3.2963298994492494, - 3.2949043474788327, - 3.296526844957541, - 3.294595046434733, - 3.2944652145831257, - 3.2952684979753224, - 3.2949712066983814, - 3.2949837890081364, - 3.2920318512044204, - 3.2943851399990374, - 3.293327303501653, - 3.2933144834775656, - 3.293254568372645, - 3.293483283600528, - 3.292808926646919, - 3.293171800127814, - 3.2919998070617087, - 3.2932436963408636, - 3.290827518087855, - 3.290491390701932, - 3.2904230350567416, - 3.289382801271405, - 3.2905536950146215, - 3.2888523415843545, - 3.2916879678560513, - 3.2909362381343277, - 3.289871568213448, - 3.289177943515171, - 3.28950621608958, - 3.2866128038895672, - 3.287861681106351, - 3.289989640409499, - 3.2864879253918664, - 3.2869293035152536, - 3.2886544564073965, - 3.287256722828141, - 3.286812883415585, - 3.2868031126342823, - 3.285711689419423, - 3.2872126894050044, - 3.2836018523402015, - 3.2842583895795947, - 3.2848369984341055, - 3.283754406846685, - 3.2840126232381075, - 3.2835028780766113, - 3.281883344823912, - 3.2837130041559393, - 3.283247060549463, - 3.2838337964702666, - 3.282224923577904, - 3.2811343153770354, - 3.282215405188438, - 3.2824288265213464, - 3.280486277058703, - 3.2809658155936194, - 3.281524588839125, - 3.2802308039720116, - 3.279542658918814, - 3.2796180162254176, - 3.2783604967590887, - 3.2771614827676303, - 3.2791033000209406, - 3.2780163142861194, - 3.2805005412518007, - 3.2784162125442586, - 3.277289803750394, - 3.2783892875824034, - 3.2766816999297412, - 3.2766832603254534, - 3.2763439450497955, - 3.2760463350121602, - 3.2764710563864203, - 3.2752030261341187, - 3.2754295294742612, - 3.2755242691341038, - 3.2739717549877603, - 3.2753099880909664, - 3.275089055166398, - 3.273818087020363, - 3.2742909274490684, - 3.274313485457225, - 3.274300880545014, - 3.273375730936298, - 3.274515518847552, - 3.2732278784707414, - 3.2729014914192045, - 3.2704931396799397, - 3.272269348497901, - 3.27125469469386, - 3.270687708433189, - 3.268878715534695, - 3.268660317593793, - 3.2700133663874746, - 3.2702267606955107, - 3.2687268644141114, - 3.2692980831521408, - 3.2683919513112927, - 3.26696016408637, - 3.2668534292469738, - 3.2681947197431374, - 3.2673782228588437, - 3.265862560583152, - 3.266406700979176, - 3.2668090091909328, - 3.2657638682002768, - 3.26489382066595, - 3.2649148417949925, - 3.265515424056791, - 3.2652949116786836, - 3.265710607720835, - 3.264129313045153, - 3.266931399419463, - 3.261922816361694, - 3.2628449550974383, - 3.2643094113141222, - 3.260273503818789, - 3.2639987142859743, - 3.263289880549213, - 3.2638902827288483, - 3.261837652410873, - 3.2624159036293925, - 3.2610156104521484, - 3.2611612199879882, - 3.2598727392300653, - 3.2605909786909955, - 3.259582194523157, - 3.2591250173597337, - 3.259589722084689, - 3.2589356982140316, - 3.2589223125013023, - 3.258484087988367, - 3.257110621872148, - 3.259133996043292, - 3.2580734945781855, - 3.2584161012656403, - 3.2589755884045406, - 3.257181889284318, - 3.2572484798733066, - 3.2559435214801873, - 3.256190779766447, - 3.253902210721283, - 3.2549634854849887, - 3.255644918172026, - 3.2553608672049448, - 3.255605071031699, - 3.253531869412565, - 3.2537374631983815, - 3.2532879832420996, - 3.252381575441626, - 3.252927499886512, - 3.2518396100072198, - 3.251009557752215, - 3.251333785296538, - 3.2519924935445914, - 3.2510086245843404, - 3.251063599152862, - 3.2492272743716892, - 3.251163645639048, - 3.2485137065364804, - 3.2488640393717736, - 3.2486553828903912, - 3.2481427479012, - 3.245969211440921, - 3.2467534746231275, - 3.2483358361429335, - 3.2476078673175492, - 3.248029640410647, - 3.2477387184393898, - 3.2449304771622396, - 3.2463552274836296, - 3.2471186989730385, - 3.2462182860857363, - 3.2456318295135254, - 3.246195376439093, - 3.2435519720037918, - 3.24410919970781, - 3.2437568869288693, - 3.2429686444777563, - 3.2428801586952067, - 3.242289268626606, - 3.2403925253655386, - 3.2418335798545495, - 3.240847464638103, - 3.242598453354201, - 3.240315321086664, - 3.2401291349578214, - 3.24093936802469, - 3.240082448715251, - 3.2411432396981623, - 3.2393420641391852, - 3.238042205792783, - 3.2377308704488192, - 3.237439013405235, - 3.2354629683579597, - 3.237224916278452, - 3.2387327362322686, - 3.23620140865181, - 3.236395769185987, - 3.235302925032176, - 3.2345897674407778, - 3.2359662087055705, - 3.2346322622096797, - 3.2349748224530215, - 3.2326227635576403, - 3.233726542860139, - 3.231792456194932, - 3.2333457955231926, - 3.2324548323748963, - 3.2316409910959956, - 3.2315511465551947, - 3.231765518985335, - 3.2300784354256895, - 3.230195652032703, - 3.231607986535608, - 3.2281462967100767, - 3.2283714609018865, - 3.228755877582843, - 3.2293182211473983, - 3.227383183606691, - 3.227732479106428, - 3.227295463278472, - 3.2269886734472815, - 3.2251037904663664, - 3.2243734026061937, - 3.2271764581244953, - 3.225417884431768, - 3.225538158655738, - 3.2251188405527964, - 3.225415379728294, - 3.2239647140315375, - 3.224815895331149, - 3.223885200114513, - 3.222727961131533, - 3.2215866673310023, - 3.2206363954485684, - 3.2215827596005284, - 3.2198519593850063, - 3.2200492416083493, - 3.2195294272688004, - 3.2216751187227644, - 3.219884269596321, - 3.217868748441811, - 3.218514497491781, - 3.2191904815303207, - 3.218468966408064, - 3.2187674799190673, - 3.218346873771052, - 3.217555806629793, - 3.2147264421410164, - 3.2180550835879456, - 3.2166531480255403, - 3.2132120167747074, - 3.2144183351949946, - 3.2118176400468386, - 3.213112700011211, - 3.2126099454211787, - 3.213104801957367, - 3.2112167262381126, - 3.2123289621160795, - 3.2093362712313436, - 3.209989872864514, - 3.2096767783617093, - 3.209548522497806, - 3.2093144241696643, - 3.2093677969267325, - 3.209131486229303, - 3.2085204060696384, - 3.2067470925489103, - 3.206467992834231, - 3.2084453769913477, - 3.2065966468210543, - 3.2077556676671484, - 3.207153909848934, - 3.2050900418426744, - 3.2051468520900652, - 3.204478360802451, - 3.2032248159127934, - 3.203513733735347, - 3.203646290820454, - 3.2028145964200205, - 3.202987196478655, - 3.2037711992066242, - 3.200382302243507, - 3.1999646422275116, - 3.2002142979381927, - 3.199093416670886, - 3.198611051156281, - 3.198623702320326, - 3.2000466649672377, - 3.1965803569875764, - 3.195910605702273, - 3.1956619958347727, - 3.1973081594417145, - 3.195065018535138, - 3.1956168828332547, - 3.195809830492211, - 3.194731227398688, - 3.193077525795204, - 3.1917305100048226, - 3.1910578226539585, - 3.190598723465241, - 3.190756707579414, - 3.190854632539485, - 3.187672921755629, - 3.1887649302732095, - 3.1877889485810362, - 3.188866359441833, - 3.1880893822947276, - 3.187168882979078, - 3.186745238068457, - 3.186319290327575, - 3.1857640883894103, - 3.185707431128705, - 3.1840513959554197, - 3.1858024126686324, - 3.18275898111192, - 3.184005197840392, - 3.182417694109201, - 3.1804389019976242, - 3.182759672047423, - 3.1815052220939553, - 3.181873485706382, - 3.179526665200356, - 3.1805483122216978, - 3.1768622176859265, - 3.178056162641162, - 3.176035250249574, - 3.1739422042654772, - 3.174896658673772, - 3.1742307896572837, - 3.175410901369562, - 3.175345490871719, - 3.1744508011549732, - 3.1718377396874664, - 3.1714049910531417, - 3.172317516315976, - 3.1719114208123083, - 3.167840616647885, - 3.1711535867285985, - 3.168409130571329, - 3.170303960380186, - 3.167870323541373, - 3.1655173557326917, - 3.166620726952211, - 3.1675484579834214, - 3.1653100834050663, - 3.165073530585761, - 3.1623861020449513, - 3.163410118080437, - 3.1626158110717495, - 3.1620833775178028, - 3.1628852893010535, - 3.1613904784868336, - 3.1578730850135956, - 3.1604889505221143, - 3.158858378608487, - 3.156243943263625, - 3.157725924835197, - 3.1561985623197097, - 3.1558106172166958, - 3.153821234280507, - 3.1543969966795236, - 3.153063759821468, - 3.1509634538511127, - 3.150723938368046, - 3.1513573940261796, - 3.1508260363918663, - 3.147998359338546, - 3.1509667183249745, - 3.1470218526343006, - 3.14644493865512, - 3.146091305384104, - 3.146589647889374, - 3.1415197463986995, - 3.1441030167233706, - 3.1436974963859066, - 3.1419064388850217, - 3.1425495660770544, - 3.141276183816345, - 3.1394327117340146, - 3.1387601745967424, - 3.1377278702012594, - 3.138443437025314, - 3.1366113312472894, - 3.1360892592192546, - 3.1348700146346165, - 3.134493127404521, - 3.1334591277322734, - 3.134692630615889, - 3.1320746900161676, - 3.130796530853422, - 3.1294235887127617, - 3.128523103804029, - 3.1273595390640154, - 3.1257459970813697, - 3.126456615371416, - 3.1253097878440985, - 3.1249052420791212, - 3.1258698771073044, - 3.122323701848604, - 3.1215363659980166, - 3.1204625918796225, - 3.1207486392930655, - 3.1202059576867476, - 3.1207025549411727, - 3.118883462581693, - 3.1170121260277925, - 3.1164400810479997, - 3.1151019088428074, - 3.115146378749018, - 3.1134385905364237, - 3.11255745166057, - 3.1125851607263235, - 3.1121804540892692, - 3.108783834340002, - 3.10960713326315, - 3.1085643051226115, - 3.1079684135773946, - 3.1049218474129976, - 3.1058988975658144, - 3.103969576729665, - 3.1034293414298637, - 3.103459430614916, - 3.1010366202798143, - 3.101097573428604, - 3.1006800969299784, - 3.098643532566305, - 3.098579011050933, - 3.096269350559578, - 3.0974222508967606, - 3.095424658092676, - 3.092981429681938, - 3.093705913698943, - 3.091752391708512, - 3.0905869408190725, - 3.0899489989889477, - 3.0890128874017564, - 3.0870816324170183, - 3.089495422470739, - 3.086355245067133, - 3.0843786889352733, - 3.084435356564296, - 3.0838456561433083, - 3.0824717575663705, - 3.08011646140166, - 3.081434294133566, - 3.0802349432798977, - 3.0761206998827255, - 3.076531851718786, - 3.075414960006762, - 3.0746872576645203, - 3.074499076197361, - 3.072733087553204, - 3.0734093180718114, - 3.0711812785669466, - 3.0702367123075116, - 3.0672524982429024, - 3.069453716162109, - 3.070392978316308, - 3.0666804025577616, - 3.0660777175441445, - 3.0644239337382775, - 3.061893877302847, - 3.0627037638179404, - 3.0623543577199883, - 3.06172223043185, - 3.0596875889297883, - 3.0597090528161117, - 3.057265511145975, - 3.0559787546067976, - 3.0565896216282167, - 3.0548572534205003, - 3.0548159759861013, - 3.0543882251215364, - 3.05251513632167, - 3.0500654568732437, - 3.0510957613474585, - 3.0497070940335793, - 3.0498594984444978, - 3.0471436595633863, - 3.04917455749034, - 3.0462630178552432, - 3.045327672115887, - 3.0440571657702202, - 3.0398443837879143, - 3.041668115088846, - 3.041343100507774, - 3.039193523780593, - 3.038839922228101, - 3.0369820276387127, - 3.03493434965053, - 3.036726774404146, - 3.035928870846721, - 3.0356079315947104, - 3.0344719492857313, - 3.031488795971025, - 3.0298464293709504, - 3.0293518856911974, - 3.0278345824864257, - 3.029417297080571, - 3.0272515966896507, - 3.026938107542324, - 3.0235088890423922, - 3.0249215082975702, - 3.0250271178891803, - 3.02350659258472, - 3.0223597134044815, - 3.0206729513383106, - 3.0193713306910497, - 3.0178946515233345, - 3.0175260914428046, - 3.018161148849398, - 3.015314954788036, - 3.0150760400397885, - 3.0133722840751354, - 3.014151879310083, - 3.012242485080763, - 3.011204274338815, - 3.0108088907387813, - 3.011598667484463, - 3.007218492182989, - 3.0071713604434316, - 3.0041107590741976, - 3.0054930875759216, - 3.003248286969659, - 3.0039195259749114, - 3.0017041196486374, - 2.999766619261341, - 3.001887568893906, - 2.999326146243893, - 2.99745735195071, - 2.9979886979400225, - 2.9961881110912714, - 2.995579495200438, - 2.993741052354267, - 2.9943106244157334, - 2.992891413777314, - 2.9918255531771014, - 2.9901818184311773, - 2.9887749466503593, - 2.989958641423783, - 2.988064193566254, - 2.9877474222094738, - 2.985954290700952, - 2.9857506003635046, - 2.985234592356303, - 2.980897188245901, - 2.9819920859578013, - 2.982717955003007, - 2.981473796011384, - 2.9795496930148655, - 2.9773823894215745, - 2.9766156691637176, - 2.975979901930645, - 2.974145903918196, - 2.9749023212710846, - 2.9729397149798884, - 2.9716597985571442, - 2.971137040539313, - 2.9714207261703436, - 2.969289284287636, - 2.968304225562091, - 2.9686862899550372, - 2.96505057987022, - 2.965429090621105, - 2.964181494833732, - 2.9633957650756693, - 2.962981216814563, - 2.961085187855693, - 2.9592437733119263, - 2.959421848343186, - 2.95701638934291, - 2.9571490818250776, - 2.9555113286858767, - 2.9541405711273487, - 2.954198237635682, - 2.9537719074350988, - 2.949701742860125, - 2.948469389655638, - 2.946779849471967, - 2.9481396349197215, - 2.9484698155420483, - 2.9467153938836232, - 2.9459656956013403, - 2.9460903890180083, - 2.945250002396781, - 2.941090410821028, - 2.941756349703632, - 2.9408824370243107, - 2.940674249461228, - 2.9387335096325122, - 2.9362176516313556, - 2.9370298933906787, - 2.936394697059919, - 2.9353626588247166, - 2.930916228891431, - 2.9324338720280547, - 2.930923670710417, - 2.929302496562786, - 2.926861007805318, - 2.9261103843559804, - 2.926543177328976, - 2.923078775355958, - 2.9236994511383, - 2.9237802887997426, - 2.921263315507127, - 2.9182127315315407, - 2.9188242794020387, - 2.917350449577145, - 2.9159496497273176, - 2.9151954762635204, - 2.914905057415351, - 2.9128664417305075, - 2.9119277014411775, - 2.91113560934771, - 2.9077040786018125, - 2.908401648373248, - 2.9078035920259095, - 2.9067665794575546, - 2.906573142027727, - 2.9029672766844943, - 2.9036731746123956, - 2.9016571770066295, - 2.900055667633464, - 2.897841507303183, - 2.8982598859122173, - 2.894532669409034, - 2.895796743485328, - 2.8949482544209526, - 2.892019150576573, - 2.8888181347743194, - 2.891181367729527, - 2.88900471568519, - 2.887169158138402, - 2.8861002925733295, - 2.8857455505089207, - 2.8825037428502784, - 2.8817144222172537, - 2.8818586064453857, - 2.8806499141364843, - 2.8773936468622945, - 2.8764434626614857, - 2.875643413959461, - 2.874719566113916, - 2.8706053557717817, - 2.870899251065269, - 2.867413360512853, - 2.8666036544076205, - 2.866612992930129, - 2.8639057374709833, - 2.862016234532998, - 2.862359427447373, - 2.860790878505126, - 2.8573345375355395, - 2.8590360311098335, - 2.8548737044501036, - 2.8554477361618664, - 2.851895144736309, - 2.8509308450707955, - 2.848479268066738, - 2.848840599899335, - 2.847334745393977, - 2.84719176503785, - 2.844006334125417, - 2.842212707626795, - 2.841669817022031, - 2.8375538572764305, - 2.8380942567301672, - 2.8360980264257227, - 2.8342523420266046, - 2.83289737637577, - 2.8332165836053846, - 2.829838116471076, - 2.8275246892930004, - 2.825249567749248, - 2.8229589748844006, - 2.8222510284771776, - 2.9840619186480866, - 2.9956445781884398, - 3.002956125860298, - 3.0062326037578804, - 3.0151147071132796, - 3.019144756617974, - 3.0239525763305353, - 3.0274845011256573, - 3.030585007578376, - 3.0350309642427793, - 3.0375362763826463, - 3.039915459797144, - 3.043058853878114, - 3.0446450980723028, - 3.0475237330384704, - 3.049007778701202, - 3.051435597072729, - 3.0539188505014754, - 3.0574746654421507, - 3.058774896289934, - 3.060324630067382, - 3.062823105771215, - 3.0642627313463695, - 3.066734146186854, - 3.0673261651098884, - 3.0690358617256086, - 3.0721616590679974, - 3.0704460337255877, - 3.0743457574108333, - 3.075525305604108, - 3.075002558623649, - 3.077385352747724, - 3.078680231125475, - 3.0800841786525166, - 3.08115551575313, - 3.082137543704367, - 3.08520864527442, - 3.0866984351430173, - 3.0874749376319572, - 3.0869813145771485, - 3.0866289201870463, - 3.0876287948333903, - 3.0917132758540085, - 3.090788294205672, - 3.09419672083452, - 3.0923301384325694, - 3.0941128217624483, - 3.095406560906091, - 3.093569947253788, - 3.097370872704411, - 3.0981517018901403, - 3.096919475249232, - 3.099376231675407, - 3.098126436637719, - 3.1004368956834325, - 3.1010386984237566, - 3.1005674343670027, - 3.1017113196578143, - 3.1035521596537556, - 3.103396437741885, - 3.1032870093449683, - 3.1051570443828895, - 3.103647822356943, - 3.1055744006376145, - 3.1074210871140946, - 3.107453190222635, - 3.1088697889529957, - 3.1102828923531156, - 3.109600604528442, - 3.109087509133925, - 3.1107359306463476, - 3.110613363347695, - 3.1113543806697543, - 3.1135233000095046, - 3.113316737605618, - 3.114426923405142, - 3.1146741825186437, - 3.1152572827455796, - 3.115715284043872, - 3.11628868876002, - 3.115317259700618, - 3.117221209146769, - 3.1173935499580954, - 3.1182609450415018, - 3.1170158397505934, - 3.117976139343449, - 3.1194451732339528, - 3.1205854817468452, - 3.12046731989841, - 3.1195101302783934, - 3.119304016460729, - 3.1212807053510363, - 3.1209263377688425, - 3.12054831205207, - 3.121819504794042, - 3.122098975224105, - 3.1226797974013927, - 3.1223614336971255, - 3.1220611591055674, - 3.1221780506465127, - 3.124679902135213, - 3.1236436909828633, - 3.123223216621107, - 3.1245138458838166, - 3.125996633752938, - 3.1248448938550895, - 3.1272000092585963, - 3.1268457656084796, - 3.126755355183883, - 3.1269490507850284, - 3.1271195084915075, - 3.1269963231156677, - 3.1276679486550303, - 3.127855571844799, - 3.127522728640431, - 3.1280823162401106, - 3.1285161466087406, - 3.126740808513603, - 3.1296457860927984, - 3.1292707626888867, - 3.1291819465790134, - 3.129569252541888, - 3.13121715140271, - 3.1302859260428755, - 3.1320283054546785, - 3.132063676196971, - 3.130790269258835, - 3.1288476071091025, - 3.132404507492614, - 3.132121099856221, - 3.1324052981815886, - 3.1318308335401084, - 3.13354444742761, - 3.134090315174591, - 3.131794896020275, - 3.1328496732477857, - 3.132528522060084, - 3.1344289424846266, - 3.1332519999415345, - 3.13396394386592, - 3.1350261853541572, - 3.1350100515644286, - 3.136652116850584, - 3.1342681125885403, - 3.136279279342906, - 3.136035340020677, - 3.133247439767206, - 3.1345344284047325, - 3.137156871992883, - 3.1343999213039777, - 3.1362617407846893, - 3.136746373553217, - 3.1360783592824832, - 3.137232476839093, - 3.136050658539675, - 3.135976834350862, - 3.1379926898736614, - 3.136748817581566, - 3.1379339308683205, - 3.13878858340761, - 3.1384627320176066, - 3.1390226319005046, - 3.1382987803777116, - 3.139817970037684, - 3.1396857073629394, - 3.141285926109042, - 3.140331674418422, - 3.1405841968585153, - 3.1394500561022616, - 3.141153862975826, - 3.1385025766563177, - 3.140153950483259, - 3.1408957752231705, - 3.137836880917791, - 3.141202142121541, - 3.1407627498352424, - 3.1422304749124343, - 3.1409259685319904, - 3.1439128261046565, - 3.1405887453031895, - 3.1412885093836516, - 3.142002040022327, - 3.141532729127824, - 3.14206860745412, - 3.139409449520376, - 3.1421243533767007, - 3.1422613183472103, - 3.143474559036563, - 3.1435464040207823, - 3.143163839837196, - 3.1440380310117186, - 3.1425670072844616, - 3.1426940671485633, - 3.1432811439078105, - 3.144507706029601, - 3.143503900982951, - 3.145204662767687, - 3.1430269567771734, - 3.14271783785907, - 3.1444949185134097, - 3.144603706882191, - 3.143221227313603, - 3.1447475318855354, - 3.144151371950421, - 3.1442187736859966, - 3.145294155686222, - 3.1442674284265544, - 3.1455046584207, - 3.1461341061643973, - 3.145210309083698, - 3.1453477359494317, - 3.1461222034143557, - 3.1454301613161255, - 3.146077577475107, - 3.1465528708680157, - 3.1474165515172703, - 3.1460244017377486, - 3.149140579789163, - 3.145295487172791, - 3.1460858744489544, - 3.1466520336480985, - 3.1475438009426835, - 3.1481196808538434, - 3.1460296676156134, - 3.1493284992961565, - 3.1474107424946656, - 3.14798569449717, - 3.14831584045775, - 3.1460730315426986, - 3.149490856990945, - 3.148709410914241, - 3.147264800328218, - 3.1496180281720143, - 3.1467388126982194, - 3.1472397079832164, - 3.148462065596679, - 3.147964711803766, - 3.147602533125847, - 3.1483133813812985, - 3.150399271163262, - 3.146753472806176, - 3.1486259502651275, - 3.1491675119071205, - 3.1493586470454633, - 3.1496934747317376, - 3.1490353476504738, - 3.1503484590964477, - 3.147040693154698, - 3.150307900684126, - 3.150616647958966, - 3.149445498846223, - 3.1501104358713135, - 3.1496039397798876, - 3.1525209056714556, - 3.149992322504888, - 3.1514322509320114, - 3.150659924264103, - 3.1498597042579815, - 3.1502822735244167, - 3.150775947875319, - 3.1510526641671186, - 3.150798510534998, - 3.149705396371597, - 3.1509483367026427, - 3.151854116182017, - 3.151631130474483, - 3.1525491499445195, - 3.151083127164658, - 3.151767717997545, - 3.151664530475829, - 3.152071576923159, - 3.1504547527171547, - 3.1518026021921957, - 3.1534283993133188, - 3.1510463318948125, - 3.152242309425838, - 3.153393102382421, - 3.151190528595172, - 3.1537720434760557, - 3.152730196570121, - 3.1521391014753872, - 3.1535546816991427, - 3.1517734139507168, - 3.1540108576656456, - 3.1531131634857723, - 3.1522700194582134, - 3.152623945896703, - 3.152849293324924, - 3.1545026748668765, - 3.1533795686614448, - 3.1525634902550754, - 3.1529904528966526, - 3.153922139352731, - 3.155150893757187, - 3.154707819433236, - 3.151473407255422, - 3.155635718358635, - 3.153384854994757, - 3.1530047726607178, - 3.1535723215894227, - 3.1552606540553243, - 3.1557518187616873, - 3.1544623460603933, - 3.1526586922940574, - 3.1553478732379574, - 3.1536051840336023, - 3.1535239545701064, - 3.15657620576767, - 3.1553119948635295, - 3.1546536459177683, - 3.1555074677655206, - 3.154806007239096, - 3.1566854943702425, - 3.1555138469459325, - 3.1568690448367174, - 3.156673474479359, - 3.154230848582611, - 3.155431796868509, - 3.156078650902418, - 3.155885007158501, - 3.1563651391215783, - 3.156156405059832, - 3.1558291656059794, - 3.154558427193394, - 3.155718203795855, - 3.156260727600476, - 3.154368888558514, - 3.157771356029736, - 3.1564145264577457, - 3.157184326000737, - 3.1564155708855437, - 3.157996349583152, - 3.155905737882961, - 3.157345486870909, - 3.1566154635224235, - 3.156020110539048, - 3.1564463675733387, - 3.1570629341913437, - 3.159291319558733, - 3.156514897719785, - 3.1543048848614044, - 3.1590294546495423, - 3.1576350244923783, - 3.1564287990619007, - 3.156904108646635, - 3.158121751626037, - 3.158375195453796, - 3.157100703284114, - 3.157719070711311, - 3.1561293233853105, - 3.1570931423302304, - 3.158275363565385, - 3.1580894854518387, - 3.1576834170770844, - 3.157731083833781, - 3.1578983344685443, - 3.1581355823550306, - 3.158077342054224, - 3.1581817743297127, - 3.1597778474581757, - 3.1592706707667735, - 3.1589817721264137, - 3.159142832477692, - 3.158929990556979, - 3.1583339395399057, - 3.1594022422388153, - 3.1582760691720253, - 3.1591978785478343, - 3.1590612532423545, - 3.158586232655928, - 3.159238472676895, - 3.1593374043472138, - 3.1614846359744324, - 3.159275034594774, - 3.158712446013742, - 3.1613454581933143, - 3.1585953280344614, - 3.1594389395806455, - 3.1607254381994663, - 3.160862158542845, - 3.160551958420495, - 3.15961840899683, - 3.161044366236161, - 3.158863272867106, - 3.1592028939913415, - 3.160093403363481, - 3.160226080841471, - 3.159433500572699, - 3.160502050914241, - 3.160269855646338, - 3.160405041552114, - 3.160837910049882, - 3.1587738708889836, - 3.161255723164733, - 3.1623980292563636, - 3.1623841558481645, - 3.1612902879014952, - 3.1616472311322363, - 3.1609275927484335, - 3.1597789532272174, - 3.1604362780356956, - 3.160525828438667, - 3.1609648563429307, - 3.161824857750737, - 3.162052855150129, - 3.162632918274913, - 3.1606689756309714, - 3.1603060174730815, - 3.162026473658141, - 3.1612251733685617, - 3.161425408928243, - 3.1634484993070786, - 3.160610479277919, - 3.1624619708398667, - 3.160644433341959, - 3.1606163353311696, - 3.1599331803963464, - 3.16098330711123, - 3.159692299641239, - 3.164141200940559, - 3.1634827353612462, - 3.1625559918353807, - 3.162111160261064, - 3.1617023798854946, - 3.1610011380616805, - 3.1626226446351917, - 3.160535892769906, - 3.1628672195206833, - 3.1618498732476006, - 3.164441896876159, - 3.1642002027921543, - 3.163410846572838, - 3.1629910108660835, - 3.1628063499491894, - 3.161764903569125, - 3.16402945592005, - 3.163111343771793, - 3.1629721664029278, - 3.1624539130139637, - 3.1628252054251877, - 3.1618765250590593, - 3.1630912528048403, - 3.1632943134802636, - 3.163274356329453, - 3.1624302997340235, - 3.162893105627535, - 3.1648700163183796, - 3.1632532087416174, - 3.1636548505577586, - 3.1640152549341654, - 3.163751024746756, - 3.1640057003370368, - 3.1634721538498103, - 3.1625852626476316, - 3.16399677911189, - 3.1637673669397337, - 3.165120048399773, - 3.1632520901384797, - 3.1626950715165267, - 3.1633537149835678, - 3.1639199544481125, - 3.162207424801919, - 3.163752249400385, - 3.164638895432163, - 3.1645282108258086, - 3.1654765803095346, - 3.1661733095305618, - 3.16406191012508, - 3.164074170570993, - 3.1637922738113358, - 3.1655092580352475, - 3.16656554297248, - 3.164507635443999, - 3.164427722665555, - 3.1649042979818773, - 3.1636739976302928, - 3.16257792234497, - 3.164446858388843, - 3.166350101305153, - 3.164648725954635, - 3.1638981488908113, - 3.1633764428958098, - 3.1649466568447284, - 3.164655442803135, - 3.164902267966115, - 3.1644845851011696, - 3.1649809179313437, - 3.165346030428674, - 3.1653388388363086, - 3.164956019004398, - 3.1640022908619447, - 3.166365057086202, - 3.1652374788947695, - 3.166172229897395, - 3.1652222317368293, - 3.166674546931432, - 3.1639668062896864, - 3.1663877975151817, - 3.1667548944048547, - 3.1637889704938424, - 3.166892109124046, - 3.1652434953951967, - 3.1657844632005645, - 3.163681218126649, - 3.1647828248546417, - 3.1663554954356585, - 3.167481839649106, - 3.1665103430375146, - 3.1669040935960475, - 3.1661313221861267, - 3.164480446394408, - 3.1670459042778316, - 3.166865507535135, - 3.165230335948708, - 3.1662554298634293, - 3.1658288704601656, - 3.1658884409988466, - 3.165440135315564, - 3.164148304897996, - 3.1641875220482816, - 3.167215297224856, - 3.166445970942148, - 3.1651167060690417, - 3.166926161479606, - 3.1663541064955063, - 3.167682427635966, - 3.1678785719667517, - 3.1650429712041643, - 3.1665696929970513, - 3.167657164887769, - 3.167320890640446, - 3.1671120111513766, - 3.1649595701038753, - 3.164591750494937, - 3.166711623693124, - 3.1643979338106134, - 3.1663906856556623, - 3.1667622712655628, - 3.16812386439627, - 3.165363502870595, - 3.166679406951439, - 3.1665149243910298, - 3.1673441442952517, - 3.167224182571709, - 3.1682530589825855, - 3.167480890772213, - 3.1673784842886614, - 3.1683269757340122, - 3.167563939614076, - 3.1675784178401876, - 3.1690011467759325, - 3.1672249036249296, - 3.1686669901590205, - 3.168747981105317, - 3.169709396981858, - 3.1672583638088443, - 3.1659474903989464, - 3.1663582765174954, - 3.16805384417724, - 3.165749633793885, - 3.1689862294980062, - 3.167995706944142, - 3.1683051668403324, - 3.168785630804931, - 3.1680755982949007, - 3.168656934435198, - 3.1679503624221668, - 3.1679642499940295, - 3.1681321726422795, - 3.1674931710735574, - 3.167616657100647, - 3.1673814344406708, - 3.1655824779621584, - 3.1677674386883297, - 3.1694021931431307, - 3.168379164847011, - 3.168947451411489, - 3.1693698024573136, - 3.169445758990716, - 3.170085970640129, - 3.1677564673718104, - 3.170800723144382, - 3.1692415168734382, - 3.1690524767067054, - 3.169356804600863, - 3.169487620502233, - 3.167367913781704, - 3.168062085767577, - 3.1675780089340897, - 3.1678224644148436, - 3.1677074697103142, - 3.1697819407312435, - 3.1706935136287537, - 3.1696553409957677, - 3.17060615450922, - 3.1691475378589913, - 3.1674313170853012, - 3.1721735261614, - 3.16821499901396, - 3.1703258554184197, - 3.1698583586924753, - 3.1680634344156546, - 3.1692382141585815, - 3.16961110453822, - 3.16967391627568, - 3.168426708703825, - 3.170210682761728, - 3.1702207751188958, - 3.1696344174851516, - 3.170132486421743, - 3.1689271805103774, - 3.169083345679338, - 3.1681601064243745, - 3.1698417715345792, - 3.1692500300013333, - 3.169743636946034, - 3.167446638881238, - 3.170748381885329, - 3.1697069632883164, - 3.1702747280433714, - 3.1685294611815302, - 3.169983895591666, - 3.16688312248059, - 3.169921054560354, - 3.1699084064692515, - 3.1706367706073606, - 3.1708468665735117, - 3.168334686065029, - 3.168675226459183, - 3.169551557671212, - 3.169901462628669, - 3.1698708223086305, - 3.171775151331521, - 3.1716790011301326, - 3.168716848908787, - 3.170019345121904, - 3.1697850982806446, - 3.1703185495369923, - 3.169231529875128, - 3.1712278703396284, - 3.1701844814973774, - 3.1699231300699013, - 3.1694647037139667, - 3.1705093000818834, - 3.1707061294204015, - 3.1706469867209996, - 3.1701182873498213, - 3.170168063937197, - 3.1721474172776407, - 3.1699132370414924, - 3.1697305051582125, - 3.1713618098618244, - 3.1701894386258775, - 3.172312586251018, - 3.170641198643136, - 3.1734525755929233, - 3.170246133507324, - 3.1712064595610983, - 3.1725561262964836, - 3.1709944962958883, - 3.1716357715448984, - 3.1708216716011512, - 3.1703606812417617, - 3.1723577274562182, - 3.170884226928819, - 3.171661128142043, - 3.171082180070717, - 3.1704430666442973, - 3.1719617156994087, - 3.1713232688253608, - 3.1703582262828807, - 3.170684213138021, - 3.171767656600635, - 3.170237305441254, - 3.1716709152499765, - 3.1713651566285503, - 3.171185359486688, - 3.170742060924861, - 3.171802798906369, - 3.17102236808353, - 3.1704524347689373, - 3.171351522832366, - 3.1715538994421184, - 3.170485151272284, - 3.172195395599571, - 3.171115989353644, - 3.1722532741683027, - 3.171283625867905, - 3.1713219790612563, - 3.169538103122347, - 3.172204776739085, - 3.1718217223169476, - 3.1713469981345455, - 3.173603682335095, - 3.1722887241959383, - 3.1720551165164066, - 3.1725810071714626, - 3.1721183555667083, - 3.1724494866108657, - 3.1730564450802516, - 3.172021466055876, - 3.173215508774954, - 3.170952736203074, - 3.1713413055857314, - 3.172049034583465, - 3.172371537953126, - 3.1722428461518546, - 3.172225541255535, - 3.171976413430813, - 3.171654025266996, - 3.1723874387295603, - 3.1725197981274076, - 3.171517499353126, - 3.1714046034750476, - 3.1720412704295757, - 3.1707073751904833, - 3.1731461154814045, - 3.172023950745577, - 3.1726346566487904, - 3.17129591497988, - 3.1736174035197564, - 3.17148034793233, - 3.172378678501411, - 3.17356556933456, - 3.1725702988156934, - 3.171781737004439, - 3.1717102172623965, - 3.172506517497095, - 3.172305052256766, - 3.1735592488868285, - 3.1727334519547616, - 3.171150720544651, - 3.1715867514966596, - 3.1724645675140892, - 3.1716141362259704, - 3.1723088632984573, - 3.1731076815497294, - 3.171315396968844, - 3.173012116228645, - 3.1726467900106505, - 3.173924625162221, - 3.1729841020509304, - 3.1732195686240816, - 3.17229086287973, - 3.173865421083902, - 3.174073405231016, - 3.1731509546646475, - 3.1708034693860627, - 3.1730081486080493, - 3.1730678613268255, - 3.1746570307604056, - 3.1743339606587795, - 3.172549759455192, - 3.173859216685678, - 3.1742776452234414, - 3.1742440044982434, - 3.1726338536658516, - 3.1738050631283663, - 3.1738296373943826, - 3.173434485621502, - 3.172866638629293, - 3.174024711685857, - 3.1718176547846713, - 3.1738203645065592, - 3.1754115858400276, - 3.1728046796568328, - 3.174733656590482, - 3.173063648421325, - 3.173071681237688, - 3.1729008917008157, - 3.173594984197559, - 3.172865983921443, - 3.172494631298776, - 3.1721527722200555, - 3.1734335250073507, - 3.1746731791313616, - 3.1716707390919856, - 3.175727193680502, - 3.172515048417295, - 3.1748031294555346, - 3.1757203268431975, - 3.175121549720863, - 3.1754399329334113, - 3.17537867824779, - 3.1722117905670806, - 3.1751178079205546, - 3.173134177089252, - 3.1727107188298835, - 3.176276958779318, - 3.1737225352401297, - 3.1735682257315565, - 3.1747432291413995, - 3.1733971006323394, - 3.173311792700156, - 3.1747086330196663, - 3.1753629249136055, - 3.1728221507208505, - 3.1750675096326257, - 3.1735964431265193, - 3.175027572866494, - 3.1738642516406235, - 3.176244444303866, - 3.1761932334587955, - 3.173628477574519, - 3.1739079079770165, - 3.173699111128578, - 3.173855907792327, - 3.174221174739762, - 3.173601202633168, - 3.1737279331277186, - 3.173332584650142, - 3.175458667720182, - 3.1742833833343598, - 3.174235410623526, - 3.1748156581100857, - 3.1749330058474308, - 3.175488242351824, - 3.174787022777165, - 3.173886276475967, - 3.1741766555141644, - 3.17570360274803, - 3.1748385479589896, - 3.1743733644091234, - 3.1746562901977247, - 3.174607189438847, - 3.1757236424620823, - 3.1738300759546676, - 3.1734874775909034, - 3.175512678414289, - 3.176490342237294, - 3.174661275462169, - 3.174555914838138, - 3.175882810756906, - 3.1748052261525364, - 3.1749986300050788, - 3.175015538028149, - 3.175000897521534, - 3.175361375467578, - 3.175516723087361, - 3.1731463788883914, - 3.173549996289086, - 3.1744048392833153, - 3.1745908593574312, - 3.1749986622049846, - 3.173468154455898, - 3.17569533334962, - 3.1742782965765914, - 3.175068563073513, - 3.175937694862894, - 3.1756635405715983, - 3.1762348870958736, - 3.176046327307801, - 3.17476217415524, - 3.1743785505136635, - 3.172749290682267, - 3.1751469158830083, - 3.1737125905834027, - 3.174149699760841, - 3.1760521201463403, - 3.174001159043273, - 3.1766958121657725, - 3.1775462695250103, - 3.1734805880928953, - 3.176578235313493, - 3.1751251806832848, - 3.1770031244015504, - 3.177522915025681, - 3.1758332376988467, - 3.1756487458457987, - 3.176949883989052, - 3.1752452050180024, - 3.175984958466373, - 3.1757881255095324, - 3.1760591666361813, - 3.1750523466712517, - 3.1751485780834416, - 3.174436529562514, - 3.1763990651839946, - 3.175339067482045, - 3.1764788013473897, - 3.1748631062455104, - 3.1742111298027145, - 3.1749281690151263, - 3.1752894551500215, - 3.1752102968369043, - 3.175941141276997, - 3.1756944952322756, - 3.1773566468754195, - 3.1765942133817147, - 3.175629876734665, - 3.1755957286781213, - 3.1751387250337455, - 3.1741650559126677, - 3.1760396536073046, - 3.1762387914707078, - 3.1751249231752183, - 3.1782109033946133, - 3.1758464947146208, - 3.1752706551235734, - 3.1763757380501207, - 3.1755126121023873, - 3.1757113148017875, - 3.175442538897022, - 3.1761519212337435, - 3.176561989325837, - 3.1761663558558717, - 3.176492602537476, - 3.174913280016566, - 3.173676852304517, - 3.174627474815791, - 3.1750803121476667, - 3.1758731434846315, - 3.17831813907044, - 3.1764490711563518, - 3.1758317852843607, - 3.176618663001664, - 3.1756719988706363, - 3.1783755728716065, - 3.1768511521925085, - 3.1754282738216766, - 3.177243244084079, - 3.1788804780462994, - 3.1765547617256846, - 3.1753875973661416, - 3.1784791543899757, - 3.1775568808874417, - 3.1761858167476773, - 3.1763094014367326, - 3.175528291737065, - 3.1755789746744223, - 3.1754922075099357, - 3.1761760462928765, - 3.1763546925298805, - 3.1774751751093224, - 3.1767340776650443, - 3.1752748467271403, - 3.1771894641711578, - 3.175040750680388, - 3.174766266426602, - 3.17662496275772, - 3.177899672595278, - 3.1779199547808203, - 3.177364969727415, - 3.176594313437367, - 3.1789218571597013, - 3.1775907764828752, - 3.179142450336876, - 3.1768612587223055, - 3.1780264326276186, - 3.1773022632160894, - 3.1767959287639975, - 3.176312398433951, - 3.176662997310297, - 3.176015972631353, - 3.1780007823014502, - 3.1762851753709556, - 3.177333171564956, - 3.1770849158790115, - 3.1773268173547415, - 3.175964352973324, - 3.175988523347396, - 3.1774760833686067, - 3.179043013375182, - 3.1750712623867217, - 3.1770637619596385, - 3.178149328491365, - 3.1762558533979246, - 3.1770292112580782, - 3.1772776275678196, - 3.1778058561028732, - 3.1769049320174303, - 3.177907234632003, - 3.177437293085734, - 3.1766660498415615, - 3.177880396461952, - 3.1763388362368836, - 3.177111480392098, - 3.176687176123684, - 3.1762034890545325, - 3.175309451919667, - 3.177298706169321, - 3.1769305939131565, - 3.177796946106772, - 3.1765685890164064, - 3.177088391139601, - 3.177788489301997, - 3.176950294920898, - 3.1784338907416707, - 3.177475274983528, - 3.1777206667446687, - 3.177444126094071, - 3.1764471301172885, - 3.17842365703966, - 3.1765407489430046, - 3.177925004760565, - 3.1779262937796795, - 3.1782436303861648, - 3.177888678509863, - 3.1780048283519475, - 3.1778499290357898 + 3.6335352582511224, + 3.627122765758587, + 3.6221080504702927, + 3.6167877206306964, + 3.6099456996342925, + 3.6079976088554133, + 3.6041933507058945, + 3.599416815430014, + 3.596429034067178, + 3.5914535676477577, + 3.5902413865704528, + 3.589792368137132, + 3.5848490505127044, + 3.582957462874827, + 3.5795739808138074, + 3.5767560805316228, + 3.5778961045754163, + 3.573395988130047, + 3.5716009277392002, + 3.569414943962698, + 3.56804429486429, + 3.565781981746516, + 3.563872155041633, + 3.5625609237382667, + 3.562183959284575, + 3.5598401636643326, + 3.557104899611922, + 3.556775374300045, + 3.556524010915444, + 3.554449159138821, + 3.5532192510155975, + 3.5527656831964722, + 3.550199878180258, + 3.549509216928912, + 3.548893107140227, + 3.5469472259414547, + 3.5454507256465373, + 3.544478054635834, + 3.542953958429907, + 3.542804583793028, + 3.542397535075014, + 3.5408337805650305, + 3.5411536145573392, + 3.53884656143381, + 3.5383315024760593, + 3.539617360332194, + 3.534950699743315, + 3.5353314823474737, + 3.5329703192931596, + 3.5326616098273984, + 3.53428213529337, + 3.53145633658513, + 3.530074780786857, + 3.5316314033188743, + 3.528004580930818, + 3.527895845767585, + 3.526438724377788, + 3.527087236644306, + 3.528229306392814, + 3.526727091932129, + 3.5237259462102766, + 3.523358276153151, + 3.522630420043115, + 3.522098228220245, + 3.522244786410316, + 3.5181958811455765, + 3.519747453966095, + 3.5192071263771605, + 3.5194358245675734, + 3.5175857035809024, + 3.5173607885424056, + 3.5150442078058424, + 3.5154042101061025, + 3.5165591696805287, + 3.5151232213410224, + 3.514592438940135, + 3.5148562274881736, + 3.5135471712081556, + 3.511985509611698, + 3.5126750017972372, + 3.5106167508172343, + 3.5109967958249415, + 3.511983152514625, + 3.5074737655750186, + 3.510321600928641, + 3.5097439373253856, + 3.5077910321354624, + 3.506341129184739, + 3.506755590516195, + 3.506099967918315, + 3.5069012876957246, + 3.5021066739494935, + 3.502981326348696, + 3.5042111685573327, + 3.5033416873111167, + 3.5031500631570314, + 3.5016580416893968, + 3.502725585311289, + 3.501123796553893, + 3.5002807746928624, + 3.499093637966968, + 3.498788374056211, + 3.4984785984896574, + 3.499784189727196, + 3.4980584873070817, + 3.4978661714478565, + 3.4956987637212644, + 3.4951104436294544, + 3.494061948300628, + 3.4941657963784585, + 3.4937116036715916, + 3.4948627703254336, + 3.4922582714552894, + 3.4921039768412037, + 3.4943535993237114, + 3.4936128118147587, + 3.492280587486728, + 3.49041625254596, + 3.489664317568173, + 3.4908741947295137, + 3.4883555467303493, + 3.4883811435708125, + 3.487743823162854, + 3.4879358689791204, + 3.4885774116169066, + 3.4876180676930417, + 3.4860687573153295, + 3.4859273915830857, + 3.485594716486356, + 3.4849594487904527, + 3.4836482936036424, + 3.483410347460867, + 3.4837384305648085, + 3.482670014890446, + 3.482786811337269, + 3.4831149487239377, + 3.482687318715041, + 3.481729717992277, + 3.4801387867468816, + 3.4802370894043246, + 3.4791879782425816, + 3.4798530512948234, + 3.4766935468990114, + 3.4763588018753024, + 3.476681441889914, + 3.4768659814457297, + 3.474551015151821, + 3.4759573804777584, + 3.4754182985385587, + 3.475088650570002, + 3.4750419779837722, + 3.4740322920318754, + 3.474713449213277, + 3.4712986801974104, + 3.472166561698215, + 3.4729038701998873, + 3.4716258231387678, + 3.4710018101751983, + 3.469920256552502, + 3.470005188370876, + 3.4698516813872757, + 3.469361703813415, + 3.4695528436223495, + 3.468277183973603, + 3.4662060493294287, + 3.467000249264795, + 3.4655756893306284, + 3.466513599255354, + 3.46509647775972, + 3.465886695952799, + 3.4639064523955843, + 3.463414424121998, + 3.4638285161462408, + 3.4621556355668335, + 3.4609914805066153, + 3.4614659613854752, + 3.4613173368361783, + 3.4605987473085724, + 3.460051650131785, + 3.4605857572438286, + 3.458095126030117, + 3.4573193340700423, + 3.4588208311353927, + 3.457805688453089, + 3.4566149976955565, + 3.457594916455493, + 3.455795586844551, + 3.4551590878391885, + 3.4551470829661604, + 3.4528124177107506, + 3.453870587520652, + 3.4525640870671914, + 3.452854596728473, + 3.4523545110455522, + 3.4522287822375475, + 3.4524039267482483, + 3.449481200352293, + 3.4495961613926567, + 3.4495790702643934, + 3.4499032704341643, + 3.4473506521553916, + 3.448579307300168, + 3.446903455195865, + 3.4470424496672805, + 3.447836963743632, + 3.4476448487389892, + 3.4451003847345203, + 3.446630543087007, + 3.4441399473596332, + 3.4449555236699787, + 3.4414590514671928, + 3.442745032699676, + 3.4423976468397335, + 3.441044879917268, + 3.441749382356818, + 3.439554398301998, + 3.440884994385181, + 3.4396682558642726, + 3.4417567770620163, + 3.4389852017302966, + 3.4370399161929193, + 3.4385302193614287, + 3.4388296239847107, + 3.437374775020289, + 3.4369630087453094, + 3.4370575942904726, + 3.4354414175833337, + 3.433350597269167, + 3.4332926878935925, + 3.43059383322527, + 3.433235386627955, + 3.4315325472599305, + 3.4318379987408716, + 3.433073784210654, + 3.4316226594227905, + 3.4301008937530746, + 3.4300978382016636, + 3.430081780415055, + 3.4295456381127307, + 3.42817872291245, + 3.429320957330202, + 3.426641485230089, + 3.426444310848667, + 3.425675118914293, + 3.4239398422529828, + 3.424405251210055, + 3.4256202296229046, + 3.4246181248431715, + 3.4245147207270255, + 3.4234377313942064, + 3.423013955617482, + 3.4219425791975255, + 3.42280872109596, + 3.4201752236849825, + 3.420456731759801, + 3.4204796651770053, + 3.419197895254269, + 3.4191095172579913, + 3.4180311663754286, + 3.417575808524706, + 3.415738407923168, + 3.4164374790796, + 3.41494274111096, + 3.415584681933476, + 3.414174485058746, + 3.413963997355197, + 3.411027514220866, + 3.4111966997246244, + 3.4129190773322486, + 3.411981111791674, + 3.410717314569416, + 3.410193567514222, + 3.4102812853881295, + 3.4110239242361025, + 3.4088398145498875, + 3.4088624835301315, + 3.409400010386363, + 3.4089002837937876, + 3.4043316012608438, + 3.405602956841617, + 3.4058965057299115, + 3.4037530841116435, + 3.40250200351649, + 3.4007328210864127, + 3.400482741437132, + 3.402673657802411, + 3.4015331233345196, + 3.3993491049857125, + 3.401287484426007, + 3.4008274783649455, + 3.3982736446323356, + 3.398255436333994, + 3.3979981104187362, + 3.3973541883390483, + 3.396557982147283, + 3.3962656154323327, + 3.394212375060957, + 3.3954493573144062, + 3.3948874113379737, + 3.393327155747486, + 3.3930031671608076, + 3.3911533533677995, + 3.3929137103691827, + 3.3920524592987817, + 3.3894078395551404, + 3.3902200575620274, + 3.388872959111816, + 3.3883761938346066, + 3.3870552125518865, + 3.3878270723081485, + 3.387585612367422, + 3.387341763519363, + 3.387249935199921, + 3.3849888650112923, + 3.385197033040221, + 3.384091778885819, + 3.3840239726629484, + 3.382659904035034, + 3.381334713151875, + 3.3806114170450776, + 3.3798249453846805, + 3.380345478444403, + 3.380411229989469, + 3.3818491725473843, + 3.378124081150463, + 3.3774578661510435, + 3.3772876086241017, + 3.377785936664685, + 3.3767218510970523, + 3.37461752251648, + 3.375215923111031, + 3.37619293985116, + 3.3736686694022726, + 3.3723885699846172, + 3.3729524412379948, + 3.3713274389554915, + 3.370275035176203, + 3.370523437094472, + 3.3696872384319057, + 3.3702513868578183, + 3.3696476494448895, + 3.367429240451547, + 3.367937111474518, + 3.3668403478437114, + 3.3667700881465765, + 3.364773916866811, + 3.3644332515585815, + 3.3646660705372655, + 3.363713926563092, + 3.362030364559914, + 3.3621003060691446, + 3.3611096028770846, + 3.362355117269347, + 3.359605825975925, + 3.3589217723816005, + 3.360455553983437, + 3.35762343364659, + 3.359550965208811, + 3.357696236215808, + 3.356707191774276, + 3.355137732540695, + 3.3571139907060226, + 3.355519724141218, + 3.3561030143308788, + 3.3541492679444924, + 3.352759376811834, + 3.352584490678542, + 3.351255044928824, + 3.349873197568557, + 3.350384960373241, + 3.3490740525256926, + 3.349395231789357, + 3.3499964228847237, + 3.348957915671143, + 3.3472272416674804, + 3.3452232009795617, + 3.344965387340445, + 3.3486435478582903, + 3.345052168182898, + 3.343456231657321, + 3.3438958606099902, + 3.344003705517894, + 3.342071228866746, + 3.3430702733611732, + 3.3417756493882913, + 3.3393954637189167, + 3.3402340650911384, + 3.339378559023498, + 3.337922956686659, + 3.338830549439053, + 3.3367542038025513, + 3.3365457652580406, + 3.3371357055418263, + 3.3355780802166617, + 3.3350307184712866, + 3.334581980956628, + 3.3347449494903323, + 3.332397143584648, + 3.332263580326118, + 3.333152022567502, + 3.332773786347506, + 3.331128948482681, + 3.329778505510419, + 3.331051629264047, + 3.3279699691694176, + 3.3274415943763147, + 3.328468078369807, + 3.3264722747097855, + 3.3264740971812445, + 3.3263484277963626, + 3.3269444391677094, + 3.3251653788076845, + 3.3241792323746235, + 3.3251712286383515, + 3.323659820971059, + 3.323316030991141, + 3.3209332954083997, + 3.3208505989158135, + 3.319428976377727, + 3.3202354781971337, + 3.3196481246124674, + 3.320135126332689, + 3.3182164041486897, + 3.3168831649686816, + 3.31702623707754, + 3.3189940611785085, + 3.31766439267298, + 3.316122772298404, + 3.313267774636078, + 3.314797311184542, + 3.313577664445758, + 3.3137152045155673, + 3.3132722258355294, + 3.312776065443059, + 3.313716498942821, + 3.311312979898166, + 3.3102204629835437, + 3.309315572209042, + 3.309290862086648, + 3.308305769138089, + 3.308657436504858, + 3.305350640627544, + 3.3079482752689153, + 3.3042733724674855, + 3.306360073118387, + 3.305908053532476, + 3.305507684784466, + 3.302251925999257, + 3.3042288403057793, + 3.30318847639957, + 3.302552207516486, + 3.3025289871230314, + 3.3030817905476333, + 3.301487538416779, + 3.3005801042655447, + 3.299593018888644, + 3.2993321503588913, + 3.298115182004216, + 3.296352159706184, + 3.298638385799756, + 3.2972522865019496, + 3.29724454594096, + 3.2959745241095, + 3.294587695962234, + 3.295356459380646, + 3.295325058130884, + 3.2942938908757546, + 3.2931469773690125, + 3.292465691134877, + 3.292922787827163, + 3.2920721802122395, + 3.2911793958908104, + 3.290287689068015, + 3.2906734289527093, + 3.288907740684129, + 3.288611996682945, + 3.286011005999909, + 3.2871827583467983, + 3.287446657236056, + 3.2865208757428577, + 3.2848592754716077, + 3.284720519080295, + 3.2832281517956146, + 3.284283693955734, + 3.2844997293378606, + 3.283894245570275, + 3.2812791082580994, + 3.2835561757766962, + 3.2807389934706914, + 3.2800229168493167, + 3.2796782451088715, + 3.280696044222345, + 3.278456720687544, + 3.2794144310858124, + 3.277409902856721, + 3.2775118919350423, + 3.2770468479606603, + 3.2766927303082474, + 3.2752536133273757, + 3.2745186111768017, + 3.273642939107898, + 3.27569720301005, + 3.27303898197142, + 3.2722269065931195, + 3.2725175344980952, + 3.2706467543111937, + 3.2715099287463185, + 3.2706653438188757, + 3.2695516588356055, + 3.2672568952243286, + 3.268075333446373, + 3.2662822199232475, + 3.2697650645744005, + 3.265077547248727, + 3.265833208779954, + 3.2648993126614485, + 3.264520317659554, + 3.2645989709271594, + 3.2639331642046656, + 3.26300832526535, + 3.2620274603567396, + 3.2628993037636382, + 3.2610479035468884, + 3.259844245507159, + 3.2606747690649347, + 3.258031956247957, + 3.2594081793096588, + 3.2582510599968457, + 3.2583282595379908, + 3.2559714485193005, + 3.2557607626787344, + 3.2565701282922923, + 3.2541202950878367, + 3.2528879836453517, + 3.25281115598263, + 3.252312406981018, + 3.2523758503473914, + 3.2510152027970394, + 3.2516737021645854, + 3.2498301744221636, + 3.2484191555565975, + 3.2495375450880597, + 3.2496608445863386, + 3.2479874595240443, + 3.2480653348143775, + 3.2467569005104284, + 3.245809033207245, + 3.2445395243105777, + 3.2426659680414742, + 3.2451581235074167, + 3.242847059335865, + 3.2427413968872805, + 3.2414795742065463, + 3.2413184074124515, + 3.2383561377153147, + 3.2411629020626993, + 3.239341592762199, + 3.236599836540418, + 3.2392545775120265, + 3.2353940444868003, + 3.235234276162248, + 3.236959986453447, + 3.23473989270413, + 3.2338207778331114, + 3.232648897215429, + 3.2319583354284562, + 3.230292451195767, + 3.2300868858564953, + 3.230276254436496, + 3.2283473155836684, + 3.228700172133407, + 3.227487880615774, + 3.2278808288128555, + 3.2271069951072713, + 3.2264281225883003, + 3.2229881885869927, + 3.225981797696748, + 3.223433910678724, + 3.2229250188353347, + 3.220827255677255, + 3.220356212366801, + 3.219334671822965, + 3.220034404189376, + 3.2183190342603942, + 3.217280948406082, + 3.2183724593615852, + 3.215506132535848, + 3.213654959188061, + 3.2126058343753905, + 3.213184966546078, + 3.2125999055842187, + 3.2104879679195735, + 3.2097482238133095, + 3.2104764389152782, + 3.207692159399495, + 3.209220241259939, + 3.2064344408369294, + 3.2062573844384996, + 3.2038291038071582, + 3.202861747895686, + 3.2048299718419333, + 3.20289379856001, + 3.2011294841985842, + 3.2020406481011654, + 3.200773748202545, + 3.1972107852830907, + 3.1974456115274354, + 3.1940430938771263, + 3.1966281631012397, + 3.194506145195832, + 3.1936586250425374, + 3.193231562973328, + 3.1903755058435763, + 3.18918992913326, + 3.1889760313230644, + 3.1869870952761916, + 3.185311898076569, + 3.18595992676281, + 3.1826981571041992, + 3.1837862232957908, + 3.181630001283266, + 3.1794393850701703, + 3.1805502324547144, + 3.179233929087816, + 3.1753467841102854, + 3.1759748251486055, + 3.175148530276636, + 3.1739869639506555, + 3.172092063670071, + 3.1708453077665744, + 3.16979654863568, + 3.1664586345733183, + 3.1672741704310488, + 3.1675137203438544, + 3.1648340356140343, + 3.162613716036075, + 3.161969313289806, + 3.1618246032872057, + 3.157714445166547, + 3.1571653930959367, + 3.1559864310016144, + 3.1566801291576856, + 3.153738939220677, + 3.150653772970748, + 3.151113423181138, + 3.1496541158535196, + 3.148902717004996, + 3.1445892193835787, + 3.1439191011038057, + 3.1429237439080495, + 3.141697237312964, + 3.1380775781111265, + 3.1388122805545535, + 3.137493540895051, + 3.134696002611593, + 3.133220828920826, + 3.1323674669317247, + 3.129075295272788, + 3.128499460307512, + 3.1265802693942244, + 3.1233904986178054, + 3.1220177337683377, + 3.119837510442696, + 3.119471223885885, + 3.1206532796693605, + 3.1146268376247295, + 3.1158048117183212, + 3.114005745501189, + 3.1103711090218336, + 3.1083305296266897, + 3.1062313504546477, + 3.104137025892486, + 3.101853249566777, + 3.1011787928485584, + 3.0983618066348915, + 3.096233415710886, + 3.096267445757284, + 3.0924498412227113, + 3.0927446894168478, + 3.0894123164291205, + 3.0878208666268723, + 3.0850873984150406, + 3.0834375999924384, + 3.08074864266547, + 3.07922441003165, + 3.0790587195131502, + 3.0753943269116455, + 3.0729698489966126, + 3.072302641294437, + 3.07119526670973, + 3.0682659679861666, + 3.0656539970557897, + 3.064777913055409, + 3.0628719874551638, + 3.061682480522884, + 3.0600846476417445, + 3.056441441856114, + 3.0545376560673336, + 3.053174234101118, + 3.0508994589734617, + 3.0478735644596835, + 3.048467862915737, + 3.0460669192180587, + 3.0444793335749396, + 3.0416520688175, + 3.0396385936523833, + 3.0380812131806656, + 3.034141989396245, + 3.0339050048828984, + 3.031622710316627, + 3.029194176777763, + 3.027636489322217, + 3.025970985995393, + 3.0233082335006816, + 3.022538393309558, + 3.0199778845498586, + 3.0185978807033518, + 3.016247604592899, + 3.0159944894661264, + 3.0124265215698096, + 3.0113108785483766, + 3.009413960153683, + 3.006333592434957, + 3.005954107462898, + 3.0031121813599264, + 3.0031644147016014, + 2.9986072255292604, + 2.9972424122895704, + 2.9945551850490926, + 2.9924769980717434, + 2.9921779047190826, + 2.988851399414526, + 2.9866736696411067, + 2.9851283773477686, + 2.9839384964523537, + 2.9792683213926034, + 2.981255387192858, + 2.9765528190042043, + 2.974490727420044, + 2.972680120260067, + 2.9723015770232095, + 2.9685069644190336, + 2.96713298585754, + 2.965657303037853, + 2.9624525202826275, + 2.9616025561838963, + 2.9602613104519215, + 2.9564572372578515, + 2.9551344275594253, + 2.954101451341697, + 2.950445604903006, + 2.948067179621536, + 2.9466866041540434, + 2.9449952488371296, + 2.944867730455697, + 2.9409115843416864, + 2.9376072130556548, + 2.9356601799714066, + 2.934266998750436, + 2.9322566229695597, + 2.9305482339912095, + 2.9273373752066685, + 2.9262104292219746, + 2.923158797051434, + 2.921898691438011, + 2.918104729021623, + 2.916745530966516, + 2.914480659787107, + 2.9110760848498005, + 2.9109109272522184, + 2.904945220076533, + 2.904786313835339, + 2.900256751448325, + 2.8981925274112315, + 2.8977374862115646, + 2.8947833619899863, + 2.8903411016187497, + 2.8883419048861096, + 2.885504176756952, + 2.883233735061936, + 2.8810963945942905, + 2.8782237736803475, + 2.8739925240098296, + 2.873524514724052, + 2.8710953534031085, + 2.8664954124218793, + 2.8627190996199166, + 2.8616687768139433, + 2.8581014549780654, + 2.853612984175054, + 2.851938331183873, + 2.8479066976273706, + 2.844360744479322, + 2.8420632146356404, + 2.838755422933653, + 2.8373572972766685, + 2.8329816301768505, + 2.8289717144527255, + 2.824128223959422, + 2.8231584817367317, + 2.9887697948429213, + 3.005832105014896, + 3.017105908670216, + 3.0260204962242256, + 3.0313112271610314, + 3.0375381162522634, + 3.0423816592497843, + 3.047441150856107, + 3.053904554898202, + 3.0578639869971784, + 3.0611536815676663, + 3.0649915174127926, + 3.0673079904836684, + 3.070376773405916, + 3.0751896337092512, + 3.0787677761185224, + 3.08019610936846, + 3.0822843169687935, + 3.0814708723380235, + 3.0879942652050105, + 3.0880562303554138, + 3.090365468906256, + 3.0918011825850864, + 3.0947882362466084, + 3.0962443148232044, + 3.0982293062735886, + 3.0993418391467125, + 3.1011207245437453, + 3.10267537818206, + 3.104017005642112, + 3.1042665063510726, + 3.1049862980050853, + 3.108261084439564, + 3.1075365078700457, + 3.109477634575062, + 3.1112355800574965, + 3.1111546021032224, + 3.1111665545825766, + 3.1143665522605493, + 3.115245016668789, + 3.1146963976722564, + 3.116832069380293, + 3.1179956917344733, + 3.1199035622900095, + 3.1208753910004665, + 3.120330730983709, + 3.120073363450878, + 3.122537048966503, + 3.122520001718058, + 3.121436324847094, + 3.1236821014451492, + 3.1249554322993562, + 3.124101733862297, + 3.1277055752788216, + 3.125958123065746, + 3.1297419880439, + 3.1266658843003556, + 3.1297706174219755, + 3.1280109991789105, + 3.1287440077397823, + 3.1295346494683325, + 3.1312018533643133, + 3.1313685081541767, + 3.131770498477354, + 3.1338732081583247, + 3.129852500240613, + 3.1319053531968812, + 3.132134041949495, + 3.1346172673921333, + 3.13598224416989, + 3.1340810350136445, + 3.1330863209733084, + 3.1340519200207146, + 3.1355149666008377, + 3.1370180490764823, + 3.1382483712998437, + 3.1354726463970053, + 3.13644464610305, + 3.1386286453881644, + 3.137284188926622, + 3.1369978193756567, + 3.1402198006459163, + 3.1378864109851143, + 3.139586264602999, + 3.1415251395189574, + 3.1403985087759696, + 3.1408866329993206, + 3.139784675198058, + 3.140984308045139, + 3.1413618022243277, + 3.1425000550094455, + 3.1392765708116657, + 3.141655731641295, + 3.142495657381267, + 3.139556150643121, + 3.142256930577276, + 3.1434287887053314, + 3.1454372864619264, + 3.1440572426094153, + 3.14462714521502, + 3.1432597522113226, + 3.1437303204740137, + 3.1461542492098893, + 3.1444617016454433, + 3.144720397796841, + 3.1438594916876004, + 3.14745809781069, + 3.144491649375212, + 3.146304385832624, + 3.1476431441656576, + 3.145808719818655, + 3.148218838057319, + 3.148028269685229, + 3.1471502965115654, + 3.1486462830164093, + 3.147194432443157, + 3.1478413329373325, + 3.1490822909472693, + 3.1486855821676816, + 3.1486936626525637, + 3.149284025044984, + 3.149568491431648, + 3.1498048684997073, + 3.1485364416604877, + 3.1512670145842145, + 3.1494799905082025, + 3.151746901448098, + 3.1481493727068925, + 3.1511431770363703, + 3.149400320664117, + 3.1520746114975347, + 3.1526845353657937, + 3.150264505194456, + 3.152343097230909, + 3.1496983277400594, + 3.152704924210647, + 3.1528360365522334, + 3.1513854044580083, + 3.152046704623472, + 3.1531333141801823, + 3.1527842965356583, + 3.1516207986311, + 3.153369866530173, + 3.154181793895016, + 3.154035957022882, + 3.1538054652639262, + 3.154739588760832, + 3.1516913670517197, + 3.153719737010901, + 3.1564197868696375, + 3.1537798427458608, + 3.1545352886584324, + 3.1544573285587156, + 3.156278479325802, + 3.155212464463536, + 3.15573923972267, + 3.1539934327476447, + 3.154566542008927, + 3.1543058496993943, + 3.154941271554353, + 3.155952316038506, + 3.1576893741548457, + 3.154906701673075, + 3.1565445784477846, + 3.1556487424094097, + 3.1564370369308525, + 3.1551899105724677, + 3.1560724453820703, + 3.1564572466801617, + 3.1566887261007137, + 3.1564750767572693, + 3.1556267884641334, + 3.157456078769005, + 3.1565676331820223, + 3.1558866593740746, + 3.158045638967055, + 3.1577032500732862, + 3.157677970327829, + 3.1596063851604472, + 3.1581139539170056, + 3.1596051688361078, + 3.1586944485749235, + 3.1597259305826944, + 3.159585769510318, + 3.159230488594963, + 3.1597134407008944, + 3.1600880338605837, + 3.1602320702645215, + 3.1592527143514193, + 3.159824415354889, + 3.1595423456823815, + 3.1595333004784663, + 3.1592753021421927, + 3.1642712913933573, + 3.162038667572112, + 3.1595260341671, + 3.1610772647023935, + 3.1584928195219546, + 3.160934545217504, + 3.1619922990912004, + 3.1599855725561485, + 3.160219588341866, + 3.160892640795167, + 3.1609451799246995, + 3.1612720400360894, + 3.1610185825212356, + 3.160210610429799, + 3.1619864856121995, + 3.161350977340664, + 3.163440917158758, + 3.1616392079103477, + 3.1622360795218127, + 3.1599235346757224, + 3.162096245780272, + 3.1626955620079293, + 3.1622761443130303, + 3.1617944665130007, + 3.161613114562074, + 3.1623748910989433, + 3.163611651181354, + 3.162833793886862, + 3.163551217879955, + 3.16215907683485, + 3.1651816677962605, + 3.162493762963115, + 3.1648407525312092, + 3.1628799422590457, + 3.164428566142, + 3.1633345519652476, + 3.1638319428952526, + 3.1652779619397573, + 3.1647952871417657, + 3.1637109208898297, + 3.1650773949375557, + 3.1623978876703176, + 3.1638785791436423, + 3.165098511858361, + 3.164233777893568, + 3.1656093898961384, + 3.163561410862668, + 3.164058890292939, + 3.164721151630665, + 3.1656197504315684, + 3.1657559416591248, + 3.166131651750864, + 3.1656970388271635, + 3.164041907595361, + 3.165533689968036, + 3.1659218689539883, + 3.1663481856459543, + 3.16398037257859, + 3.167712151701927, + 3.1646596926562442, + 3.1638533574706598, + 3.1671811075769156, + 3.1649837523850404, + 3.166231800858901, + 3.166219546155148, + 3.166035854790566, + 3.167232044706704, + 3.1671184198899733, + 3.167292976301568, + 3.168037998563837, + 3.1676883201028687, + 3.1655246745390406, + 3.1662109382849386, + 3.1682666978810006, + 3.167043406206983, + 3.166782490411575, + 3.1676691054232364, + 3.165405507417199, + 3.1673441173388954, + 3.168009496741464, + 3.1671164839705157, + 3.1659034437352642, + 3.1681662750644315, + 3.166440388634248, + 3.1671807941305685, + 3.1688126230166374, + 3.1686597082977057, + 3.1689027702400887, + 3.1651387246492435, + 3.1666289955229865, + 3.167905313529399, + 3.169138810893468, + 3.1687592626193055, + 3.1702620166491555, + 3.1685385661896723, + 3.1685431826785972, + 3.169979599993501, + 3.168707904421005, + 3.1687507224728657, + 3.1696372367264507, + 3.168220637322082, + 3.168296178485705, + 3.168965442416685, + 3.1708978501491134, + 3.1694818619071987, + 3.1683403354114676, + 3.1683910486111464, + 3.167296870033912, + 3.1697328362221238, + 3.169916562205053, + 3.170293595658261, + 3.1682678986443307, + 3.1703226142783647, + 3.1695896313050027, + 3.1680555238192647, + 3.1712581397938746, + 3.171283492214252, + 3.169557874606787, + 3.1697148239279085, + 3.1687748680249954, + 3.1696805719677705, + 3.1692881519980927, + 3.1696393640899645, + 3.1699361154031775, + 3.171437695782385, + 3.171006164119401, + 3.170551512862978, + 3.17143529460881, + 3.168742374267926, + 3.17000599435654, + 3.1708454656989637, + 3.1716956204471525, + 3.1709660345882584, + 3.1713947849960995, + 3.1701006334737687, + 3.1695655697188005, + 3.17120546890525, + 3.1699482047104492, + 3.170336865026797, + 3.1727035278012945, + 3.171689104656356, + 3.169923763021609, + 3.171308879202234, + 3.1681731524252252, + 3.1725356317264675, + 3.1729958627119084, + 3.1711306087352806, + 3.1711118925763504, + 3.1718768775423034, + 3.1714658031824645, + 3.1723943810524156, + 3.1724282106348345, + 3.172021983839095, + 3.1725367980308072, + 3.1710239448795887, + 3.171187088749164, + 3.1722215512462903, + 3.1708682507240287, + 3.1720200667721605, + 3.1714536475022226, + 3.174719048586082, + 3.1739385763109405, + 3.1738094235162357, + 3.1705108278321235, + 3.1716511737869855, + 3.1708859036375654, + 3.1705435754794715, + 3.172152296886373, + 3.1731979782942124, + 3.1731814833836753, + 3.1741735436392107, + 3.1723886113208644, + 3.1729699655753607, + 3.1724297553319554, + 3.172204008756255, + 3.1716362751308913, + 3.172619849914244, + 3.1729751732153573, + 3.1734723203548194, + 3.173552971675, + 3.175119792006687, + 3.1716496508330936, + 3.172659670653737, + 3.171677199740391, + 3.173405208970408, + 3.174557698175738, + 3.172994537948128, + 3.173657803313339, + 3.1746127320483506, + 3.1733765890153705, + 3.171673323767736, + 3.1740832073757037, + 3.1738261449560956, + 3.1726657751964535, + 3.1722092050148083, + 3.174466018154166, + 3.1730699198122982, + 3.174228430731422, + 3.174133094551639, + 3.1726459311966777, + 3.1738062149126542, + 3.175785331274352, + 3.173590377846121, + 3.172890641579086, + 3.172466996886591, + 3.1734877230562444, + 3.1737647843049777, + 3.174449434205413, + 3.1718983419257625, + 3.172587784562414, + 3.1737225176751225, + 3.1740284227608697, + 3.175485876107201, + 3.1758942433663537, + 3.173686926486946, + 3.1753810195260974, + 3.175174089101552, + 3.1753575871845103, + 3.1743416794267714, + 3.1757892995750994, + 3.174640259455594, + 3.1746905898835633, + 3.173932635171395, + 3.175614596797854, + 3.174595514673572, + 3.175546538453366, + 3.174208273454658, + 3.175156328821101, + 3.1750928060254004, + 3.1747747175548127, + 3.173709506093683, + 3.1739182480925225, + 3.1735634912934576, + 3.1736381313345863, + 3.1743308955215364, + 3.17403872450333, + 3.1770533760292907, + 3.174253209286729, + 3.175695653368293, + 3.175731537534935, + 3.1758963835425433, + 3.174907876609898, + 3.1759168523903476, + 3.1761267824356687, + 3.1765839646140495, + 3.177344353515781, + 3.1747094317211197, + 3.17788359164216, + 3.1752782145047957, + 3.1759754948022065, + 3.1741039882300153, + 3.1748575263899057, + 3.1746185338557416, + 3.173828961581983, + 3.177463163965673, + 3.177182909711803, + 3.1758080657180052, + 3.1750901147798625, + 3.176935490401752, + 3.1739535277378916, + 3.175265770289261, + 3.176552286712315, + 3.17458148886547, + 3.1781098689168426, + 3.1770856700677017, + 3.177783494000539, + 3.1758171236486743, + 3.1749589875868893, + 3.1754981474639137, + 3.1760621351740426, + 3.1767711948612005, + 3.1766871819192546, + 3.17812529955692, + 3.1769550454719675, + 3.1749537691595573, + 3.178489192227146, + 3.1762528509421952, + 3.1775174586500476, + 3.176509906507773, + 3.176771685543047, + 3.176262695977816, + 3.175941723309431, + 3.176091203046386, + 3.1747710801668734, + 3.178003559100353, + 3.175937387883821, + 3.1754171342338617, + 3.1769300060818835, + 3.1777793682281072, + 3.1780104074335314, + 3.177031828098905, + 3.178128727028464, + 3.1782923101630516, + 3.177371634411351, + 3.1759681958347294, + 3.176793518973242, + 3.1769802434906125, + 3.176711063426956, + 3.175442684009575, + 3.177646050816551, + 3.1795172146401613, + 3.1761845802578077, + 3.1762042195466247, + 3.1772698410558404, + 3.1781657317963656, + 3.176880385296746, + 3.1777311310103533 ] } ], @@ -6285,7 +3686,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 33, "metadata": { "execution": { "iopub.execute_input": "2024-04-14T18:58:01.681988Z", @@ -6316,7 +3717,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 34, "metadata": { "execution": { "iopub.execute_input": "2024-04-14T18:58:01.685149Z", @@ -6355,7 +3756,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 35, "metadata": { "execution": { "iopub.execute_input": "2024-04-14T18:58:01.688581Z", @@ -6383,7 +3784,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 36, "metadata": { "execution": { "iopub.execute_input": "2024-04-14T18:58:01.777342Z", @@ -6399,7 +3800,7 @@ "output_type": "stream", "text": [ "Running Single Particle Model\n", - "Halt: No significant change for 15 iterations.\n", + "Halt: Maximum number of iterations (60) reached.\n", "Running Single Particle Model with Electrolyte\n", "Halt: Maximum number of iterations (60) reached.\n" ] @@ -6422,7 +3823,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 37, "metadata": { "execution": { "iopub.execute_input": "2024-04-14T19:02:11.106047Z", @@ -6437,8 +3838,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "| Model: Single Particle Model | Results: [6.00020713e-05 8.54799906e-05] |\n", - "| Model: Single Particle Model with Electrolyte | Results: [6.43271522e-05 8.52694578e-05] |\n" + "| Model: Single Particle Model | Results: [6.00001046e-05 8.53959364e-05] |\n", + "| Model: Single Particle Model with Electrolyte | Results: [6.56023366e-05 8.49563105e-05] |\n" ] } ], @@ -6471,7 +3872,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 38, "metadata": { "execution": { "iopub.execute_input": "2024-04-14T19:02:11.109183Z", @@ -6485,7 +3886,7 @@ { "data": { "image/svg+xml": [ - "050010001500200025002.833.23.43.6ReferenceModelSingle Particle ModelTime / sVoltage / V" + "050010001500200025002.833.23.43.6ReferenceModelSingle Particle ModelTime / sVoltage / V" ] }, "metadata": {}, @@ -6494,7 +3895,7 @@ { "data": { "image/svg+xml": [ - "050010001500200025002.833.23.43.6ReferenceModelSingle Particle Model with ElectrolyteTime / sVoltage / V" + "050010001500200025002.833.23.43.6ReferenceModelSingle Particle Model with ElectrolyteTime / sVoltage / V" ] }, "metadata": {}, @@ -6521,7 +3922,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 39, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -6540,7 +3941,7 @@ { "data": { "image/svg+xml": [ - "55μ60μ65μ70μ75μ80μ76μ78μ80μ82μ84μ86μ88μ90μ50100150200250300Single Particle ModelPositive electrode thickness [m]Negative electrode thickness [m]" + "55μ60μ65μ70μ75μ80μ76μ78μ80μ82μ84μ86μ88μ90μ20406080100120140Single Particle ModelPositive electrode thickness [m]Negative electrode thickness [m]" ] }, "metadata": {}, @@ -6549,7 +3950,7 @@ { "data": { "image/svg+xml": [ - "55μ60μ65μ70μ75μ80μ76μ78μ80μ82μ84μ86μ88μ90μ50100150200250300Single Particle Model with ElectrolytePositive electrode thickness [m]Negative electrode thickness [m]" + "55μ60μ65μ70μ75μ80μ76μ78μ80μ82μ84μ86μ88μ90μ20406080100120140160Single Particle Model with ElectrolytePositive electrode thickness [m]Negative electrode thickness [m]" ] }, "metadata": {}, diff --git a/examples/notebooks/multi_optimiser_identification.ipynb b/examples/notebooks/multi_optimiser_identification.ipynb index 44e75747..8112f2e9 100644 --- a/examples/notebooks/multi_optimiser_identification.ipynb +++ b/examples/notebooks/multi_optimiser_identification.ipynb @@ -36,27 +36,27 @@ "name": "stdout", "output_type": "stream", "text": [ - "Requirement already satisfied: pip in /Users/engs2510/.pyenv/versions/3.11.7/envs/pybop/lib/python3.11/site-packages (24.0)\n", - "Requirement already satisfied: ipywidgets in /Users/engs2510/.pyenv/versions/3.11.7/envs/pybop/lib/python3.11/site-packages (8.1.2)\n", - "Requirement already satisfied: comm>=0.1.3 in /Users/engs2510/.pyenv/versions/3.11.7/envs/pybop/lib/python3.11/site-packages (from ipywidgets) (0.2.1)\n", - "Requirement already satisfied: ipython>=6.1.0 in /Users/engs2510/.pyenv/versions/3.11.7/envs/pybop/lib/python3.11/site-packages (from ipywidgets) (8.22.1)\n", - "Requirement already satisfied: traitlets>=4.3.1 in /Users/engs2510/.pyenv/versions/3.11.7/envs/pybop/lib/python3.11/site-packages (from ipywidgets) (5.14.1)\n", - "Requirement already satisfied: widgetsnbextension~=4.0.10 in /Users/engs2510/.pyenv/versions/3.11.7/envs/pybop/lib/python3.11/site-packages (from ipywidgets) (4.0.10)\n", - "Requirement already satisfied: jupyterlab-widgets~=3.0.10 in /Users/engs2510/.pyenv/versions/3.11.7/envs/pybop/lib/python3.11/site-packages (from ipywidgets) (3.0.10)\n", - "Requirement already satisfied: decorator in /Users/engs2510/.pyenv/versions/3.11.7/envs/pybop/lib/python3.11/site-packages (from ipython>=6.1.0->ipywidgets) (5.1.1)\n", - "Requirement already satisfied: jedi>=0.16 in /Users/engs2510/.pyenv/versions/3.11.7/envs/pybop/lib/python3.11/site-packages (from ipython>=6.1.0->ipywidgets) (0.19.1)\n", - "Requirement already satisfied: matplotlib-inline in /Users/engs2510/.pyenv/versions/3.11.7/envs/pybop/lib/python3.11/site-packages (from ipython>=6.1.0->ipywidgets) (0.1.6)\n", - "Requirement already satisfied: prompt-toolkit<3.1.0,>=3.0.41 in /Users/engs2510/.pyenv/versions/3.11.7/envs/pybop/lib/python3.11/site-packages (from ipython>=6.1.0->ipywidgets) (3.0.43)\n", - "Requirement already satisfied: pygments>=2.4.0 in /Users/engs2510/.pyenv/versions/3.11.7/envs/pybop/lib/python3.11/site-packages (from ipython>=6.1.0->ipywidgets) (2.17.2)\n", - "Requirement already satisfied: stack-data in /Users/engs2510/.pyenv/versions/3.11.7/envs/pybop/lib/python3.11/site-packages (from ipython>=6.1.0->ipywidgets) (0.6.3)\n", - "Requirement already satisfied: pexpect>4.3 in /Users/engs2510/.pyenv/versions/3.11.7/envs/pybop/lib/python3.11/site-packages (from ipython>=6.1.0->ipywidgets) (4.9.0)\n", - "Requirement already satisfied: parso<0.9.0,>=0.8.3 in /Users/engs2510/.pyenv/versions/3.11.7/envs/pybop/lib/python3.11/site-packages (from jedi>=0.16->ipython>=6.1.0->ipywidgets) (0.8.3)\n", - "Requirement already satisfied: ptyprocess>=0.5 in /Users/engs2510/.pyenv/versions/3.11.7/envs/pybop/lib/python3.11/site-packages (from pexpect>4.3->ipython>=6.1.0->ipywidgets) (0.7.0)\n", - "Requirement already satisfied: wcwidth in /Users/engs2510/.pyenv/versions/3.11.7/envs/pybop/lib/python3.11/site-packages (from prompt-toolkit<3.1.0,>=3.0.41->ipython>=6.1.0->ipywidgets) (0.2.13)\n", - "Requirement already satisfied: executing>=1.2.0 in /Users/engs2510/.pyenv/versions/3.11.7/envs/pybop/lib/python3.11/site-packages (from stack-data->ipython>=6.1.0->ipywidgets) (2.0.1)\n", - "Requirement already satisfied: asttokens>=2.1.0 in /Users/engs2510/.pyenv/versions/3.11.7/envs/pybop/lib/python3.11/site-packages (from stack-data->ipython>=6.1.0->ipywidgets) (2.4.1)\n", - "Requirement already satisfied: pure-eval in /Users/engs2510/.pyenv/versions/3.11.7/envs/pybop/lib/python3.11/site-packages (from stack-data->ipython>=6.1.0->ipywidgets) (0.2.2)\n", - "Requirement already satisfied: six>=1.12.0 in /Users/engs2510/.pyenv/versions/3.11.7/envs/pybop/lib/python3.11/site-packages (from asttokens>=2.1.0->stack-data->ipython>=6.1.0->ipywidgets) (1.16.0)\n", + "Requirement already satisfied: pip in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (24.0)\n", + "Requirement already satisfied: ipywidgets in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (8.1.2)\n", + "Requirement already satisfied: comm>=0.1.3 in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from ipywidgets) (0.2.2)\n", + "Requirement already satisfied: ipython>=6.1.0 in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from ipywidgets) (8.23.0)\n", + "Requirement already satisfied: traitlets>=4.3.1 in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from ipywidgets) (5.14.2)\n", + "Requirement already satisfied: widgetsnbextension~=4.0.10 in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from ipywidgets) (4.0.10)\n", + "Requirement already satisfied: jupyterlab-widgets~=3.0.10 in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from ipywidgets) (3.0.10)\n", + "Requirement already satisfied: decorator in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from ipython>=6.1.0->ipywidgets) (5.1.1)\n", + "Requirement already satisfied: jedi>=0.16 in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from ipython>=6.1.0->ipywidgets) (0.19.1)\n", + "Requirement already satisfied: matplotlib-inline in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from ipython>=6.1.0->ipywidgets) (0.1.6)\n", + "Requirement already satisfied: prompt-toolkit<3.1.0,>=3.0.41 in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from ipython>=6.1.0->ipywidgets) (3.0.43)\n", + "Requirement already satisfied: pygments>=2.4.0 in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from ipython>=6.1.0->ipywidgets) (2.17.2)\n", + "Requirement already satisfied: stack-data in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from ipython>=6.1.0->ipywidgets) (0.6.3)\n", + "Requirement already satisfied: pexpect>4.3 in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from ipython>=6.1.0->ipywidgets) (4.9.0)\n", + "Requirement already satisfied: parso<0.9.0,>=0.8.3 in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from jedi>=0.16->ipython>=6.1.0->ipywidgets) (0.8.4)\n", + "Requirement already satisfied: ptyprocess>=0.5 in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from pexpect>4.3->ipython>=6.1.0->ipywidgets) (0.7.0)\n", + "Requirement already satisfied: wcwidth in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from prompt-toolkit<3.1.0,>=3.0.41->ipython>=6.1.0->ipywidgets) (0.2.13)\n", + "Requirement already satisfied: executing>=1.2.0 in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from stack-data->ipython>=6.1.0->ipywidgets) (2.0.1)\n", + "Requirement already satisfied: asttokens>=2.1.0 in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from stack-data->ipython>=6.1.0->ipywidgets) (2.4.1)\n", + "Requirement already satisfied: pure-eval in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from stack-data->ipython>=6.1.0->ipywidgets) (0.2.2)\n", + "Requirement already satisfied: six>=1.12.0 in /Users/engs2510/.pyenv/versions/3.12.2/envs/pybop-3.12/lib/python3.12/site-packages (from asttokens>=2.1.0->stack-data->ipython>=6.1.0->ipywidgets) (1.16.0)\n", "Note: you may need to restart the kernel to use updated packages.\n", "Note: you may need to restart the kernel to use updated packages.\n" ] @@ -153,8 +153,9 @@ }, "outputs": [], "source": [ - "t_eval = np.arange(0, 900, 2)\n", - "values = synth_model.predict(t_eval=t_eval)" + "t_eval = np.arange(0, 2000, 10)\n", + "init_soc = 1.0\n", + "values = synth_model.predict(t_eval=t_eval, init_soc=init_soc)" ] }, { @@ -353,12 +354,12 @@ "source": [ "optims = []\n", "xs = []\n", - "problem = pybop.FittingProblem(model, parameters, dataset)\n", + "problem = pybop.FittingProblem(model, parameters, dataset, init_soc=init_soc)\n", "cost = pybop.SumSquaredError(problem)\n", "for optimiser in gradient_optimisers:\n", " print(f\"Running {optimiser.__name__}\")\n", " optim = pybop.Optimisation(cost, optimiser=optimiser)\n", - " optim.set_max_unchanged_iterations(15)\n", + " optim.set_max_unchanged_iterations(20)\n", " optim.set_max_iterations(60)\n", " x, _ = optim.run()\n", " optims.append(optim)\n", @@ -387,7 +388,7 @@ "for optimiser in non_gradient_optimisers:\n", " print(f\"Running {optimiser.__name__}\")\n", " optim = pybop.Optimisation(cost, optimiser=optimiser)\n", - " optim.set_max_unchanged_iterations(15)\n", + " optim.set_max_unchanged_iterations(20)\n", " optim.set_max_iterations(60)\n", " x, _ = optim.run()\n", " optims.append(optim)\n", @@ -413,7 +414,7 @@ "for optimiser in scipy_optimisers:\n", " print(f\"Running {optimiser.__name__}\")\n", " optim = pybop.Optimisation(cost, optimiser=optimiser)\n", - " optim.set_max_unchanged_iterations(15)\n", + " optim.set_max_unchanged_iterations(20)\n", " optim.set_max_iterations(60)\n", " x, _ = optim.run()\n", " optims.append(optim)\n", @@ -446,16 +447,16 @@ "name": "stdout", "output_type": "stream", "text": [ - "| Optimiser: Adam | Results: [0.79454453 0.66136682] |\n", - "| Optimiser: Gradient descent | Results: [0.44491726 1.59641046] |\n", - "| Optimiser: iRprop- | Results: [0.8 0.66516786] |\n", - "| Optimiser: Covariance Matrix Adaptation Evolution Strategy (CMA-ES) | Results: [0.79997886 0.6651564 ] |\n", - "| Optimiser: Seperable Natural Evolution Strategy (SNES) | Results: [0.79672265 0.66566242] |\n", - "| Optimiser: Particle Swarm Optimisation (PSO) | Results: [0.79978922 0.66557426] |\n", - "| Optimiser: Exponential Natural Evolution Strategy (xNES) | Results: [0.79992605 0.66513294] |\n", - "| Optimiser: Nelder-Mead | Results: [0.81389091 0.66318217] |\n", - "| Optimiser: SciPyMinimize | Results: [0.63597003 0.7 ] |\n", - "| Optimiser: SciPyDifferentialEvolution | Results: [0.79999988 0.66516959] |\n" + "| Optimiser: Adam | Results: [0.7940917 0.66244264] |\n", + "| Optimiser: Gradient descent | Results: [0.54971602 0.92692275] |\n", + "| Optimiser: iRprop- | Results: [0.72245096 0.67281911] |\n", + "| Optimiser: Covariance Matrix Adaptation Evolution Strategy (CMA-ES) | Results: [0.72101083 0.67313135] |\n", + "| Optimiser: Seperable Natural Evolution Strategy (SNES) | Results: [0.72082105 0.67317566] |\n", + "| Optimiser: Particle Swarm Optimisation (PSO) | Results: [0.71816152 0.6738613 ] |\n", + "| Optimiser: Exponential Natural Evolution Strategy (xNES) | Results: [0.72064411 0.67318804] |\n", + "| Optimiser: Nelder-Mead | Results: [0.72117726 0.67313287] |\n", + "| Optimiser: SciPyMinimize | Results: [0.62747904 0.7 ] |\n", + "| Optimiser: SciPyDifferentialEvolution | Results: [0.72103631 0.67312847] |\n" ] } ], @@ -521,7 +522,7 @@ { "data": { "image/svg+xml": [ - "02004006008003.753.83.853.93.9544.05ReferenceModelAdamTime / sVoltage / V" + "05001000150020003.53.63.73.83.94ReferenceModelAdamTime / sVoltage / V" ] }, "metadata": {}, @@ -530,7 +531,7 @@ { "data": { "image/svg+xml": [ - "02004006008003.753.83.853.93.9544.05ReferenceModelGradient descentTime / sVoltage / V" + "05001000150020003.53.63.73.83.944.1ReferenceModelGradient descentTime / sVoltage / V" ] }, "metadata": {}, @@ -539,7 +540,7 @@ { "data": { "image/svg+xml": [ - "02004006008003.753.83.853.93.9544.05ReferenceModeliRprop-Time / sVoltage / V" + "05001000150020003.53.63.73.83.94ReferenceModeliRprop-Time / sVoltage / V" ] }, "metadata": {}, @@ -548,7 +549,7 @@ { "data": { "image/svg+xml": [ - "02004006008003.753.83.853.93.9544.05ReferenceModelCovariance Matrix Adaptation Evolution Strategy (CMA-ES)Time / sVoltage / V" + "05001000150020003.53.63.73.83.94ReferenceModelCovariance Matrix Adaptation Evolution Strategy (CMA-ES)Time / sVoltage / V" ] }, "metadata": {}, @@ -557,7 +558,7 @@ { "data": { "image/svg+xml": [ - "02004006008003.753.83.853.93.9544.05ReferenceModelSeperable Natural Evolution Strategy (SNES)Time / sVoltage / V" + "05001000150020003.53.63.73.83.94ReferenceModelSeperable Natural Evolution Strategy (SNES)Time / sVoltage / V" ] }, "metadata": {}, @@ -566,7 +567,7 @@ { "data": { "image/svg+xml": [ - "02004006008003.753.83.853.93.9544.05ReferenceModelParticle Swarm Optimisation (PSO)Time / sVoltage / V" + "05001000150020003.53.63.73.83.94ReferenceModelParticle Swarm Optimisation (PSO)Time / sVoltage / V" ] }, "metadata": {}, @@ -575,7 +576,7 @@ { "data": { "image/svg+xml": [ - "02004006008003.753.83.853.93.9544.05ReferenceModelExponential Natural Evolution Strategy (xNES)Time / sVoltage / V" + "05001000150020003.53.63.73.83.94ReferenceModelExponential Natural Evolution Strategy (xNES)Time / sVoltage / V" ] }, "metadata": {}, @@ -584,7 +585,7 @@ { "data": { "image/svg+xml": [ - "02004006008003.753.83.853.93.9544.05ReferenceModelNelder-MeadTime / sVoltage / V" + "05001000150020003.53.63.73.83.94ReferenceModelNelder-MeadTime / sVoltage / V" ] }, "metadata": {}, @@ -593,7 +594,7 @@ { "data": { "image/svg+xml": [ - "02004006008003.753.83.853.93.9544.05ReferenceModelSciPyMinimizeTime / sVoltage / V" + "05001000150020003.53.63.73.83.94ReferenceModelSciPyMinimizeTime / sVoltage / V" ] }, "metadata": {}, @@ -602,7 +603,7 @@ { "data": { "image/svg+xml": [ - "02004006008003.753.83.853.93.9544.05ReferenceModelSciPyDifferentialEvolutionTime / sVoltage / V" + "05001000150020003.53.63.73.83.94ReferenceModelSciPyDifferentialEvolutionTime / sVoltage / V" ] }, "metadata": {}, @@ -641,7 +642,7 @@ { "data": { "image/svg+xml": [ - "510152025012345AdamIterationCost" + "5101520253000.511.522.533.5AdamIterationCost" ] }, "metadata": {}, @@ -650,7 +651,7 @@ { "data": { "image/svg+xml": [ - "05101520250.60.650.70.750.80.8505101520250.450.50.550.60.650.7Negative electrode active material volume fractionPositive electrode active material volume fractionParameter ConvergenceFunction CallFunction CallNegative electrode active material volume fractionPositive electrode active material volume fraction" + "01020300.60.650.70.750.80.8501020300.50.550.60.650.7Negative electrode active material volume fractionPositive electrode active material volume fractionParameter ConvergenceFunction CallFunction CallNegative electrode active material volume fractionPositive electrode active material volume fraction" ] }, "metadata": {}, @@ -659,7 +660,7 @@ { "data": { "image/svg+xml": [ - "5101520246810121416Gradient descentIterationCost" + "5101520123456Gradient descentIterationCost" ] }, "metadata": {}, @@ -668,7 +669,7 @@ { "data": { "image/svg+xml": [ - "0510150510152025300510150.511.522.5Negative electrode active material volume fractionPositive electrode active material volume fractionParameter ConvergenceFunction CallFunction CallNegative electrode active material volume fractionPositive electrode active material volume fraction" + "0510152000.10.20.30.40.50.60.70.8051015200.40.50.60.70.80.911.11.21.3Negative electrode active material volume fractionPositive electrode active material volume fractionParameter ConvergenceFunction CallFunction CallNegative electrode active material volume fractionPositive electrode active material volume fraction" ] }, "metadata": {}, @@ -677,7 +678,7 @@ { "data": { "image/svg+xml": [ - "10203040012345iRprop-IterationCost" + "10203040506000.511.522.533.5iRprop-IterationCost" ] }, "metadata": {}, @@ -686,7 +687,7 @@ { "data": { "image/svg+xml": [ - "0102030400.60.650.70.750.80102030400.450.50.550.60.650.7Negative electrode active material volume fractionPositive electrode active material volume fractionParameter ConvergenceFunction CallFunction CallNegative electrode active material volume fractionPositive electrode active material volume fraction" + "020400.650.70.750.8020400.50.550.60.65Negative electrode active material volume fractionPositive electrode active material volume fractionParameter ConvergenceFunction CallFunction CallNegative electrode active material volume fractionPositive electrode active material volume fraction" ] }, "metadata": {}, @@ -695,7 +696,7 @@ { "data": { "image/svg+xml": [ - "1020304000.511.522.53Covariance Matrix Adaptation Evolution Strategy (CMA-ES)IterationCost" + "1020304000.511.522.53Covariance Matrix Adaptation Evolution Strategy (CMA-ES)IterationCost" ] }, "metadata": {}, @@ -704,7 +705,7 @@ { "data": { "image/svg+xml": [ - "0501001502002500.550.60.650.70.750.80501001502002500.450.50.550.60.650.7Negative electrode active material volume fractionPositive electrode active material volume fractionParameter ConvergenceFunction CallFunction CallNegative electrode active material volume fractionPositive electrode active material volume fraction" + "0501001502002500.50.550.60.650.70.750.80501001502002500.450.50.550.60.650.7Negative electrode active material volume fractionPositive electrode active material volume fractionParameter ConvergenceFunction CallFunction CallNegative electrode active material volume fractionPositive electrode active material volume fraction" ] }, "metadata": {}, @@ -713,7 +714,7 @@ { "data": { "image/svg+xml": [ - "10203040506000.511.522.533.5Seperable Natural Evolution Strategy (SNES)IterationCost" + "10203040506000.511.52Seperable Natural Evolution Strategy (SNES)IterationCost" ] }, "metadata": {}, @@ -722,7 +723,7 @@ { "data": { "image/svg+xml": [ - "01002003000.550.60.650.70.750.801002003000.450.50.550.60.650.7Negative electrode active material volume fractionPositive electrode active material volume fractionParameter ConvergenceFunction CallFunction CallNegative electrode active material volume fractionPositive electrode active material volume fraction" + "01002003000.550.60.650.70.7501002003000.450.50.550.60.650.7Negative electrode active material volume fractionPositive electrode active material volume fractionParameter ConvergenceFunction CallFunction CallNegative electrode active material volume fractionPositive electrode active material volume fraction" ] }, "metadata": {}, @@ -731,7 +732,7 @@ { "data": { "image/svg+xml": [ - "1020304000.511.522.5Particle Swarm Optimisation (PSO)IterationCost" + "102030405000.511.5Particle Swarm Optimisation (PSO)IterationCost" ] }, "metadata": {}, @@ -740,7 +741,7 @@ { "data": { "image/svg+xml": [ - "0501001502000.50.550.60.650.70.750.80501001502000.40.450.50.550.60.650.7Negative electrode active material volume fractionPositive electrode active material volume fractionParameter ConvergenceFunction CallFunction CallNegative electrode active material volume fractionPositive electrode active material volume fraction" + "0501001502002500.50.550.60.650.70.750.80501001502002500.450.50.550.60.650.7Negative electrode active material volume fractionPositive electrode active material volume fractionParameter ConvergenceFunction CallFunction CallNegative electrode active material volume fractionPositive electrode active material volume fraction" ] }, "metadata": {}, @@ -749,7 +750,7 @@ { "data": { "image/svg+xml": [ - "10203040506000.511.522.5Exponential Natural Evolution Strategy (xNES)IterationCost" + "1020304000.511.52Exponential Natural Evolution Strategy (xNES)IterationCost" ] }, "metadata": {}, @@ -758,7 +759,7 @@ { "data": { "image/svg+xml": [ - "01002003000.60.650.70.750.801002003000.450.50.550.60.650.7Negative electrode active material volume fractionPositive electrode active material volume fractionParameter ConvergenceFunction CallFunction CallNegative electrode active material volume fractionPositive electrode active material volume fraction" + "0501001502002500.60.650.70.750501001502002500.450.50.550.60.650.7Negative electrode active material volume fractionPositive electrode active material volume fractionParameter ConvergenceFunction CallFunction CallNegative electrode active material volume fractionPositive electrode active material volume fraction" ] }, "metadata": {}, @@ -767,7 +768,7 @@ { "data": { "image/svg+xml": [ - "10203040506000.511.522.533.5Nelder-MeadIterationCost" + "10203040506000.511.522.5Nelder-MeadIterationCost" ] }, "metadata": {}, @@ -776,7 +777,7 @@ { "data": { "image/svg+xml": [ - "02040600.60.650.70.750.80.8502040600.450.50.550.60.650.70.750.80.850.9Negative electrode active material volume fractionPositive electrode active material volume fractionParameter ConvergenceFunction CallFunction CallNegative electrode active material volume fractionPositive electrode active material volume fraction" + "02040600.620.640.660.680.70.7202040600.50.550.60.650.70.75Negative electrode active material volume fractionPositive electrode active material volume fractionParameter ConvergenceFunction CallFunction CallNegative electrode active material volume fractionPositive electrode active material volume fraction" ] }, "metadata": {}, @@ -785,7 +786,7 @@ { "data": { "image/svg+xml": [ - "510152025012345SciPyMinimizeIterationCost" + "5101520253000.511.522.533.5SciPyMinimizeIterationCost" ] }, "metadata": {}, @@ -794,7 +795,7 @@ { "data": { "image/svg+xml": [ - "05101520250.60.610.620.630.640.650.660.6705101520250.450.50.550.60.650.7Negative electrode active material volume fractionPositive electrode active material volume fractionParameter ConvergenceFunction CallFunction CallNegative electrode active material volume fractionPositive electrode active material volume fraction" + "05101520250.610.620.630.640.650.660.670.680.6905101520250.50.550.60.650.7Negative electrode active material volume fractionPositive electrode active material volume fractionParameter ConvergenceFunction CallFunction CallNegative electrode active material volume fractionPositive electrode active material volume fraction" ] }, "metadata": {}, @@ -803,7 +804,7 @@ { "data": { "image/svg+xml": [ - "510152025300.00360.00380.0040.00420.0044SciPyDifferentialEvolutionIterationCost" + "51015200.002950.0030.003050.00310.003150.00320.003250.0033SciPyDifferentialEvolutionIterationCost" ] }, "metadata": {}, @@ -812,7 +813,7 @@ { "data": { "image/svg+xml": [ - "01020300.7550.760.7650.770.7750.780.7850.790.7950.801020300.6650.6660.6670.6680.6690.67Negative electrode active material volume fractionPositive electrode active material volume fractionParameter ConvergenceFunction CallFunction CallNegative electrode active material volume fractionPositive electrode active material volume fraction" + "051015200.6950.70.7050.710.7150.72051015200.6730.6740.6750.6760.6770.6780.679Negative electrode active material volume fractionPositive electrode active material volume fractionParameter ConvergenceFunction CallFunction CallNegative electrode active material volume fractionPositive electrode active material volume fraction" ] }, "metadata": {}, @@ -849,7 +850,7 @@ { "data": { "image/svg+xml": [ - "0.50.550.60.650.70.750.80.50.550.60.650.70.750.80.511.522.533.5AdamNegative electrode active material volume fractionPositive electrode active material volume fraction" + "0.50.550.60.650.70.750.80.550.60.650.70.750.80.40.81.21.622.4AdamNegative electrode active material volume fractionPositive electrode active material volume fraction" ] }, "metadata": {}, @@ -858,7 +859,7 @@ { "data": { "image/svg+xml": [ - "0.50.550.60.650.70.750.80.50.550.60.650.70.750.80.511.522.533.5Gradient descentNegative electrode active material volume fractionPositive electrode active material volume fraction" + "0.50.550.60.650.70.750.80.550.60.650.70.750.80.40.81.21.622.4Gradient descentNegative electrode active material volume fractionPositive electrode active material volume fraction" ] }, "metadata": {}, @@ -867,7 +868,7 @@ { "data": { "image/svg+xml": [ - "0.50.550.60.650.70.750.80.50.550.60.650.70.750.80.511.522.533.5iRprop-Negative electrode active material volume fractionPositive electrode active material volume fraction" + "0.50.550.60.650.70.750.80.550.60.650.70.750.80.40.81.21.622.4iRprop-Negative electrode active material volume fractionPositive electrode active material volume fraction" ] }, "metadata": {}, @@ -876,7 +877,7 @@ { "data": { "image/svg+xml": [ - "0.50.550.60.650.70.750.80.50.550.60.650.70.750.80.511.522.533.5Covariance Matrix Adaptation Evolution Strategy (CMA-ES)Negative electrode active material volume fractionPositive electrode active material volume fraction" + "0.50.550.60.650.70.750.80.550.60.650.70.750.80.40.81.21.622.4Covariance Matrix Adaptation Evolution Strategy (CMA-ES)Negative electrode active material volume fractionPositive electrode active material volume fraction" ] }, "metadata": {}, @@ -885,7 +886,7 @@ { "data": { "image/svg+xml": [ - "0.50.550.60.650.70.750.80.50.550.60.650.70.750.80.511.522.533.5Seperable Natural Evolution Strategy (SNES)Negative electrode active material volume fractionPositive electrode active material volume fraction" + "0.50.550.60.650.70.750.80.550.60.650.70.750.80.40.81.21.622.4Seperable Natural Evolution Strategy (SNES)Negative electrode active material volume fractionPositive electrode active material volume fraction" ] }, "metadata": {}, @@ -894,7 +895,7 @@ { "data": { "image/svg+xml": [ - "0.50.550.60.650.70.750.80.50.550.60.650.70.750.80.511.522.533.5Particle Swarm Optimisation (PSO)Negative electrode active material volume fractionPositive electrode active material volume fraction" + "0.50.550.60.650.70.750.80.550.60.650.70.750.80.40.81.21.622.4Particle Swarm Optimisation (PSO)Negative electrode active material volume fractionPositive electrode active material volume fraction" ] }, "metadata": {}, @@ -903,7 +904,7 @@ { "data": { "image/svg+xml": [ - "0.50.550.60.650.70.750.80.50.550.60.650.70.750.80.511.522.533.5Exponential Natural Evolution Strategy (xNES)Negative electrode active material volume fractionPositive electrode active material volume fraction" + "0.50.550.60.650.70.750.80.550.60.650.70.750.80.40.81.21.622.4Exponential Natural Evolution Strategy (xNES)Negative electrode active material volume fractionPositive electrode active material volume fraction" ] }, "metadata": {}, @@ -912,7 +913,7 @@ { "data": { "image/svg+xml": [ - "0.50.550.60.650.70.750.80.50.550.60.650.70.750.80.511.522.533.5Nelder-MeadNegative electrode active material volume fractionPositive electrode active material volume fraction" + "0.50.550.60.650.70.750.80.550.60.650.70.750.80.40.81.21.622.4Nelder-MeadNegative electrode active material volume fractionPositive electrode active material volume fraction" ] }, "metadata": {}, @@ -921,7 +922,7 @@ { "data": { "image/svg+xml": [ - "0.50.550.60.650.70.750.80.50.550.60.650.70.750.80.511.522.533.5SciPyMinimizeNegative electrode active material volume fractionPositive electrode active material volume fraction" + "0.50.550.60.650.70.750.80.550.60.650.70.750.80.40.81.21.622.4SciPyMinimizeNegative electrode active material volume fractionPositive electrode active material volume fraction" ] }, "metadata": {}, @@ -930,7 +931,7 @@ { "data": { "image/svg+xml": [ - "0.50.550.60.650.70.750.80.50.550.60.650.70.750.80.511.522.533.5SciPyDifferentialEvolutionNegative electrode active material volume fractionPositive electrode active material volume fraction" + "0.50.550.60.650.70.750.80.550.60.650.70.750.80.40.81.21.622.4SciPyDifferentialEvolutionNegative electrode active material volume fractionPositive electrode active material volume fraction" ] }, "metadata": {}, @@ -939,7 +940,7 @@ ], "source": [ "# Plot the cost landscape with optimisation path and updated bounds\n", - "bounds = np.array([[0.5, 0.8], [0.5, 0.8]])\n", + "bounds = np.array([[0.5, 0.8], [0.55, 0.8]])\n", "for optim in optims:\n", " pybop.plot2d(optim, bounds=bounds, steps=10, title=optim.optimiser.name())" ] @@ -980,7 +981,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.7" + "version": "3.12.2" }, "widgets": { "application/vnd.jupyter.widget-state+json": { diff --git a/examples/notebooks/optimiser_calibration.ipynb b/examples/notebooks/optimiser_calibration.ipynb index f61fc1b2..beed7287 100644 --- a/examples/notebooks/optimiser_calibration.ipynb +++ b/examples/notebooks/optimiser_calibration.ipynb @@ -127,7 +127,7 @@ "source": [ "parameter_set = pybop.ParameterSet.pybamm(\"Chen2020\")\n", "model = pybop.lithium_ion.SPM(parameter_set=parameter_set)\n", - "t_eval = np.arange(0, 900, 1)\n", + "t_eval = np.arange(0, 900, 3)\n", "values = model.predict(t_eval=t_eval)" ] }, @@ -252,9 +252,9 @@ "id": "n4OHa-aF04qA" }, "source": [ - "### Setting up the Optimisation Problem with Default sigma\n", + "### Setting up the Optimisation Problem with incorrect sigma value\n", "\n", - "With the datasets and parameters defined, we can set up the optimisation problem, its cost function, and the optimiser. For gradient descent, the `sigma0` value corresponds to the learning rate. The default value for this parameter is `sigma0=0.1`." + "With the datasets and parameters defined, we can set up the optimisation problem, its cost function, and the optimiser. For gradient descent, the `sigma0` value corresponds to the learning rate. Let's set this hyperparmeter incorrectly to view how we calibrate it. In this example, let's start with `sigma0=0.2`." ] }, { @@ -281,7 +281,7 @@ "source": [ "problem = pybop.FittingProblem(model, parameters, dataset)\n", "cost = pybop.SumSquaredError(problem)\n", - "optim = pybop.Optimisation(cost, optimiser=pybop.GradientDescent)\n", + "optim = pybop.Optimisation(cost, optimiser=pybop.GradientDescent, sigma0=0.2)\n", "optim.set_max_iterations(100)" ] }, @@ -293,7 +293,7 @@ "source": [ "### Running the Optimisation\n", "\n", - "We proceed to run the optimisation algorithm to estimate the parameters with the default learning rate." + "We proceed to run the optimisation algorithm to estimate the parameters with the updated learning rate (`sigma0`)." ] }, { @@ -320,6 +320,10 @@ "Error: Events ['Maximum voltage [V]'] are non-positive at initial conditions\n", "Error: Events ['Maximum voltage [V]'] are non-positive at initial conditions\n", "Error: Events ['Maximum voltage [V]'] are non-positive at initial conditions\n", + "Error: Events ['Maximum voltage [V]'] are non-positive at initial conditions\n", + "Error: Events ['Maximum voltage [V]'] are non-positive at initial conditions\n", + "Error: Events ['Maximum voltage [V]'] are non-positive at initial conditions\n", + "Error: Events ['Maximum voltage [V]'] are non-positive at initial conditions\n", "Error: Events ['Maximum voltage [V]'] are non-positive at initial conditions\n" ] } @@ -359,7 +363,7 @@ { "data": { "text/plain": [ - "array([0.71033729, 0.55945988])" + "array([0.70742414, 0.58383355])" ] }, "execution_count": 9, @@ -393,7 +397,7 @@ { "data": { "image/svg+xml": [ - "02004006008003.753.83.853.93.9544.05ReferenceModelOptimised ComparisonTime / sVoltage / V" + "02004006008003.753.83.853.93.9544.05ReferenceModelOptimised ComparisonTime / sVoltage / V" ] }, "metadata": {}, @@ -410,7 +414,7 @@ "source": [ "## Calibrating the Learning Rate \n", "\n", - "Now that we've seen how poor the default `sigma0` value is for this optimisation problem, let's calibrate this value to find the optimal solution in the lowest number of iterations." + "Now that we've seen how poor an incorrect `sigma0` value is for this optimisation problem, let's calibrate this value to find the optimal solution in the lowest number of iterations." ] }, { @@ -475,11 +479,11 @@ "name": "stdout", "output_type": "stream", "text": [ - "| Sigma: 0.001 | Num Iterations: 47 | Best Cost: 0.0008637695988057631 | Results: [0.75766989 0.66379605] |\n", - "| Sigma: 0.0045 | Num Iterations: 100 | Best Cost: 0.0011612381826846523 | Results: [0.72722617 0.66903422] |\n", - "| Sigma: 0.008 | Num Iterations: 100 | Best Cost: 0.0012674705312650204 | Results: [0.72350919 0.66970245] |\n", - "| Sigma: 0.0115 | Num Iterations: 100 | Best Cost: 0.001026517347060025 | Results: [0.73304834 0.66800235] |\n", - "| Sigma: 0.015 | Num Iterations: 74 | Best Cost: 0.36327076213686793 | Results: [0.62594548 0.62583821] |\n" + "| Sigma: 0.001 | Num Iterations: 100 | Best Cost: 0.0013289907848209911 | Results: [0.69535773 0.67509662] |\n", + "| Sigma: 0.0045 | Num Iterations: 100 | Best Cost: 0.0007218197918308683 | Results: [0.71892626 0.67060898] |\n", + "| Sigma: 0.008 | Num Iterations: 100 | Best Cost: 0.0006371022763628136 | Results: [0.72396797 0.6696914 ] |\n", + "| Sigma: 0.0115 | Num Iterations: 18 | Best Cost: 0.0004608694532019237 | Results: [0.74070995 0.6667419 ] |\n", + "| Sigma: 0.015 | Num Iterations: 100 | Best Cost: 0.0007468897676990436 | Results: [0.71758655 0.67085529] |\n" ] } ], @@ -512,7 +516,7 @@ { "data": { "image/svg+xml": [ - "1020304000.20.40.60.8Sigma: 0.001IterationCost" + "2040608010000.050.10.150.2Sigma: 0.001IterationCost" ] }, "metadata": {}, @@ -521,7 +525,7 @@ { "data": { "image/svg+xml": [ - "0102030400.7460.7480.750.7520.7540.7560.7580102030400.580.60.620.640.66Negative electrode active material volume fractionPositive electrode active material volume fractionParameter ConvergenceFunction CallFunction CallNegative electrode active material volume fractionPositive electrode active material volume fraction" + "0204060800.680.6820.6840.6860.6880.690.6920.6940.6960204060800.610.620.630.640.650.660.67Negative electrode active material volume fractionPositive electrode active material volume fractionParameter ConvergenceFunction CallFunction CallNegative electrode active material volume fractionPositive electrode active material volume fraction" ] }, "metadata": {}, @@ -530,7 +534,7 @@ { "data": { "image/svg+xml": [ - "2040608010000.020.040.060.080.10.120.140.16Sigma: 0.0045IterationCost" + "2040608010000.050.10.150.20.25Sigma: 0.0045IterationCost" ] }, "metadata": {}, @@ -539,7 +543,7 @@ { "data": { "image/svg+xml": [ - "0204060800.7050.710.7150.720.7250204060800.630.6350.640.6450.650.6550.660.6650.67Negative electrode active material volume fractionPositive electrode active material volume fractionParameter ConvergenceFunction CallFunction CallNegative electrode active material volume fractionPositive electrode active material volume fraction" + "0204060800.70.7050.710.7150.720204060800.60.610.620.630.640.650.660.67Negative electrode active material volume fractionPositive electrode active material volume fractionParameter ConvergenceFunction CallFunction CallNegative electrode active material volume fractionPositive electrode active material volume fraction" ] }, "metadata": {}, @@ -548,7 +552,7 @@ { "data": { "image/svg+xml": [ - "2040608010000.20.40.60.811.2Sigma: 0.008IterationCost" + "2040608010000.050.10.150.20.25Sigma: 0.008IterationCost" ] }, "metadata": {}, @@ -557,7 +561,7 @@ { "data": { "image/svg+xml": [ - "0204060800.680.690.70.710.720204060800.60.650.70.75Negative electrode active material volume fractionPositive electrode active material volume fractionParameter ConvergenceFunction CallFunction CallNegative electrode active material volume fractionPositive electrode active material volume fraction" + "0204060800.70.7050.710.7150.720.7250204060800.60.610.620.630.640.650.660.67Negative electrode active material volume fractionPositive electrode active material volume fractionParameter ConvergenceFunction CallFunction CallNegative electrode active material volume fractionPositive electrode active material volume fraction" ] }, "metadata": {}, @@ -566,7 +570,7 @@ { "data": { "image/svg+xml": [ - "2040608010000.511.52Sigma: 0.0115IterationCost" + "5101500.010.020.030.04Sigma: 0.0115IterationCost" ] }, "metadata": {}, @@ -575,7 +579,7 @@ { "data": { "image/svg+xml": [ - "0204060800.690.70.710.720.730.740204060800.550.60.650.70.750.80.850.9Negative electrode active material volume fractionPositive electrode active material volume fractionParameter ConvergenceFunction CallFunction CallNegative electrode active material volume fractionPositive electrode active material volume fraction" + "0510150.7350.7360.7370.7380.7390.740.7410510150.6350.640.6450.650.6550.660.665Negative electrode active material volume fractionPositive electrode active material volume fractionParameter ConvergenceFunction CallFunction CallNegative electrode active material volume fractionPositive electrode active material volume fraction" ] }, "metadata": {}, @@ -584,7 +588,7 @@ { "data": { "image/svg+xml": [ - "102030405060700.40.50.60.70.80.911.11.2Sigma: 0.015IterationCost" + "2040608010000.10.20.30.40.5Sigma: 0.015IterationCost" ] }, "metadata": {}, @@ -593,7 +597,7 @@ { "data": { "image/svg+xml": [ - "02040600.640.660.680.70.7202040600.60.650.70.750.8Negative electrode active material volume fractionPositive electrode active material volume fractionParameter ConvergenceFunction CallFunction CallNegative electrode active material volume fractionPositive electrode active material volume fraction" + "0204060800.660.670.680.690.70.710.720204060800.580.60.620.640.660.680.70.720.740.76Negative electrode active material volume fractionPositive electrode active material volume fractionParameter ConvergenceFunction CallFunction CallNegative electrode active material volume fractionPositive electrode active material volume fraction" ] }, "metadata": {}, @@ -630,7 +634,7 @@ { "data": { "image/svg+xml": [ - "0.60.650.70.750.80.850.90.50.550.60.650.70.750.812345Sigma: 0.001Negative electrode active material volume fractionPositive electrode active material volume fraction" + "0.60.650.70.750.80.850.90.50.550.60.650.70.750.80.40.81.21.622.4Sigma: 0.001Negative electrode active material volume fractionPositive electrode active material volume fraction" ] }, "metadata": {}, @@ -639,7 +643,7 @@ { "data": { "image/svg+xml": [ - "0.60.650.70.750.80.850.90.50.550.60.650.70.750.812345Sigma: 0.0045Negative electrode active material volume fractionPositive electrode active material volume fraction" + "0.60.650.70.750.80.850.90.50.550.60.650.70.750.80.40.81.21.622.4Sigma: 0.0045Negative electrode active material volume fractionPositive electrode active material volume fraction" ] }, "metadata": {}, @@ -648,7 +652,7 @@ { "data": { "image/svg+xml": [ - "0.60.650.70.750.80.850.90.50.550.60.650.70.750.812345Sigma: 0.008Negative electrode active material volume fractionPositive electrode active material volume fraction" + "0.60.650.70.750.80.850.90.50.550.60.650.70.750.80.40.81.21.622.4Sigma: 0.008Negative electrode active material volume fractionPositive electrode active material volume fraction" ] }, "metadata": {}, @@ -657,7 +661,7 @@ { "data": { "image/svg+xml": [ - "0.60.650.70.750.80.850.90.50.550.60.650.70.750.812345Sigma: 0.0115Negative electrode active material volume fractionPositive electrode active material volume fraction" + "0.60.650.70.750.80.850.90.50.550.60.650.70.750.80.40.81.21.622.4Sigma: 0.0115Negative electrode active material volume fractionPositive electrode active material volume fraction" ] }, "metadata": {}, @@ -666,7 +670,7 @@ { "data": { "image/svg+xml": [ - "0.60.650.70.750.80.850.90.50.550.60.650.70.750.812345Sigma: 0.015Negative electrode active material volume fractionPositive electrode active material volume fraction" + "0.60.650.70.750.80.850.90.50.550.60.650.70.750.80.40.81.21.622.4Sigma: 0.015Negative electrode active material volume fractionPositive electrode active material volume fraction" ] }, "metadata": {}, @@ -677,7 +681,7 @@ "# Plot the cost landscape with optimisation path and updated bounds\n", "bounds = np.array([[0.6, 0.9], [0.5, 0.8]])\n", "for optim, sigma in zip(optims, sigmas):\n", - " pybop.plot2d(optim, bounds=bounds, steps=15, title=f\"Sigma: {sigma}\")" + " pybop.plot2d(optim, bounds=bounds, steps=10, title=f\"Sigma: {sigma}\")" ] }, { @@ -711,7 +715,7 @@ { "data": { "image/svg+xml": [ - "02004006008003.83.853.93.9544.05ReferenceModelOptimised ComparisonTime / sVoltage / V" + "02004006008003.83.853.93.9544.05ReferenceModelOptimised ComparisonTime / sVoltage / V" ] }, "metadata": {}, diff --git a/examples/notebooks/pouch_cell_identification.ipynb b/examples/notebooks/pouch_cell_identification.ipynb index d977a42f..1d073d31 100644 --- a/examples/notebooks/pouch_cell_identification.ipynb +++ b/examples/notebooks/pouch_cell_identification.ipynb @@ -218,7 +218,7 @@ }, "outputs": [], "source": [ - "t_eval = np.arange(0, 900, 2)\n", + "t_eval = np.arange(0, 900, 3)\n", "values = model.predict(t_eval=t_eval)" ] }, @@ -581,7 +581,7 @@ { "colorscale": [ [ - 0.0, + 0, "#440154" ], [ @@ -617,7 +617,7 @@ "#b5de2b" ], [ - 1.0, + 1, "#fde725" ] ], @@ -640,7 +640,7 @@ -0.000208179915115477, -0.00017733967875981405, -0.00013382475248593996, - -9.744280975100401e-05 + -0.00009744280975100401 ], [ -0.00022006829217595638, @@ -751,7 +751,7 @@ }, "colorscale": [ [ - 0.0, + 0, "#0d0887" ], [ @@ -787,7 +787,7 @@ "#fdca26" ], [ - 1.0, + 1, "#f0f921" ] ], @@ -811,7 +811,7 @@ }, "colorscale": [ [ - 0.0, + 0, "#0d0887" ], [ @@ -847,7 +847,7 @@ "#fdca26" ], [ - 1.0, + 1, "#f0f921" ] ], @@ -862,7 +862,7 @@ }, "colorscale": [ [ - 0.0, + 0, "#0d0887" ], [ @@ -898,7 +898,7 @@ "#fdca26" ], [ - 1.0, + 1, "#f0f921" ] ], @@ -925,7 +925,7 @@ }, "colorscale": [ [ - 0.0, + 0, "#0d0887" ], [ @@ -961,7 +961,7 @@ "#fdca26" ], [ - 1.0, + 1, "#f0f921" ] ], @@ -976,7 +976,7 @@ }, "colorscale": [ [ - 0.0, + 0, "#0d0887" ], [ @@ -1012,7 +1012,7 @@ "#fdca26" ], [ - 1.0, + 1, "#f0f921" ] ], @@ -1157,7 +1157,7 @@ }, "colorscale": [ [ - 0.0, + 0, "#0d0887" ], [ @@ -1193,7 +1193,7 @@ "#fdca26" ], [ - 1.0, + 1, "#f0f921" ] ], @@ -1284,7 +1284,7 @@ ], "sequential": [ [ - 0.0, + 0, "#0d0887" ], [ @@ -1320,13 +1320,13 @@ "#fdca26" ], [ - 1.0, + 1, "#f0f921" ] ], "sequentialminus": [ [ - 0.0, + 0, "#0d0887" ], [ @@ -1362,7 +1362,7 @@ "#fdca26" ], [ - 1.0, + 1, "#f0f921" ] ] @@ -1590,7 +1590,7 @@ { "colorscale": [ [ - 0.0, + 0, "#440154" ], [ @@ -1626,7 +1626,7 @@ "#b5de2b" ], [ - 1.0, + 1, "#fde725" ] ], @@ -1760,7 +1760,7 @@ }, "colorscale": [ [ - 0.0, + 0, "#0d0887" ], [ @@ -1796,7 +1796,7 @@ "#fdca26" ], [ - 1.0, + 1, "#f0f921" ] ], @@ -1820,7 +1820,7 @@ }, "colorscale": [ [ - 0.0, + 0, "#0d0887" ], [ @@ -1856,7 +1856,7 @@ "#fdca26" ], [ - 1.0, + 1, "#f0f921" ] ], @@ -1871,7 +1871,7 @@ }, "colorscale": [ [ - 0.0, + 0, "#0d0887" ], [ @@ -1907,7 +1907,7 @@ "#fdca26" ], [ - 1.0, + 1, "#f0f921" ] ], @@ -1934,7 +1934,7 @@ }, "colorscale": [ [ - 0.0, + 0, "#0d0887" ], [ @@ -1970,7 +1970,7 @@ "#fdca26" ], [ - 1.0, + 1, "#f0f921" ] ], @@ -1985,7 +1985,7 @@ }, "colorscale": [ [ - 0.0, + 0, "#0d0887" ], [ @@ -2021,7 +2021,7 @@ "#fdca26" ], [ - 1.0, + 1, "#f0f921" ] ], @@ -2166,7 +2166,7 @@ }, "colorscale": [ [ - 0.0, + 0, "#0d0887" ], [ @@ -2202,7 +2202,7 @@ "#fdca26" ], [ - 1.0, + 1, "#f0f921" ] ], @@ -2293,7 +2293,7 @@ ], "sequential": [ [ - 0.0, + 0, "#0d0887" ], [ @@ -2329,13 +2329,13 @@ "#fdca26" ], [ - 1.0, + 1, "#f0f921" ] ], "sequentialminus": [ [ - 0.0, + 0, "#0d0887" ], [ @@ -2371,7 +2371,7 @@ "#fdca26" ], [ - 1.0, + 1, "#f0f921" ] ] @@ -2646,7 +2646,7 @@ } ], "source": [ - "pybop.plot2d(optim, steps=15);" + "pybop.plot2d(optim, steps=10);" ] } ], diff --git a/examples/scripts/ecm_CMAES.py b/examples/scripts/ecm_CMAES.py index 6ba31f99..7316b37e 100644 --- a/examples/scripts/ecm_CMAES.py +++ b/examples/scripts/ecm_CMAES.py @@ -59,7 +59,7 @@ ] sigma = 0.001 -t_eval = np.arange(0, 900, 2) +t_eval = np.arange(0, 900, 3) values = model.predict(t_eval=t_eval) corrupt_values = values["Voltage [V]"].data + np.random.normal(0, sigma, len(t_eval)) diff --git a/examples/scripts/spm_CMAES.py b/examples/scripts/spm_CMAES.py index 77495f6f..59c3a1f3 100644 --- a/examples/scripts/spm_CMAES.py +++ b/examples/scripts/spm_CMAES.py @@ -24,7 +24,7 @@ # Generate data sigma = 0.001 -t_eval = np.arange(0, 900, 2) +t_eval = np.arange(0, 900, 3) values = model.predict(t_eval=t_eval) corrupt_values = values["Voltage [V]"].data + np.random.normal(0, sigma, len(t_eval)) diff --git a/examples/scripts/spm_IRPropMin.py b/examples/scripts/spm_IRPropMin.py index 2e5e2449..23d15eea 100644 --- a/examples/scripts/spm_IRPropMin.py +++ b/examples/scripts/spm_IRPropMin.py @@ -20,7 +20,7 @@ # Generate data sigma = 0.001 -t_eval = np.arange(0, 900, 2) +t_eval = np.arange(0, 900, 3) values = model.predict(t_eval=t_eval) corrupt_values = values["Voltage [V]"].data + np.random.normal(0, sigma, len(t_eval)) diff --git a/examples/scripts/spm_MAP.py b/examples/scripts/spm_MAP.py index cc22c315..9ed4032e 100644 --- a/examples/scripts/spm_MAP.py +++ b/examples/scripts/spm_MAP.py @@ -29,7 +29,7 @@ ) # Generate data sigma = 0.005 -t_eval = np.arange(0, 900, 2) +t_eval = np.arange(0, 900, 3) values = model.predict(t_eval=t_eval) corrupt_values = values["Voltage [V]"].data + np.random.normal(0, sigma, len(t_eval)) diff --git a/examples/scripts/spm_MLE.py b/examples/scripts/spm_MLE.py index 8b6c5a01..bace88e3 100644 --- a/examples/scripts/spm_MLE.py +++ b/examples/scripts/spm_MLE.py @@ -29,7 +29,7 @@ ) # Generate data sigma = 0.005 -t_eval = np.arange(0, 900, 2) +t_eval = np.arange(0, 900, 3) values = model.predict(t_eval=t_eval) corrupt_values = values["Voltage [V]"].data + np.random.normal(0, sigma, len(t_eval)) diff --git a/examples/scripts/spm_NelderMead.py b/examples/scripts/spm_NelderMead.py index 99abf5a8..8bcc28d0 100644 --- a/examples/scripts/spm_NelderMead.py +++ b/examples/scripts/spm_NelderMead.py @@ -24,8 +24,8 @@ experiment = pybop.Experiment( [ ( - "Discharge at 0.5C for 3 minutes (1 second period)", - "Charge at 0.5C for 3 minutes (1 second period)", + "Discharge at 0.5C for 3 minutes (3 second period)", + "Charge at 0.5C for 3 minutes (3 second period)", ), ] * 2 diff --git a/examples/scripts/spm_SNES.py b/examples/scripts/spm_SNES.py index 650c6efd..570c6c30 100644 --- a/examples/scripts/spm_SNES.py +++ b/examples/scripts/spm_SNES.py @@ -21,7 +21,7 @@ ] sigma = 0.001 -t_eval = np.arange(0, 900, 2) +t_eval = np.arange(0, 900, 3) values = model.predict(t_eval=t_eval) corrupt_values = values["Voltage [V]"].data + np.random.normal(0, sigma, len(t_eval)) diff --git a/examples/scripts/spm_XNES.py b/examples/scripts/spm_XNES.py index a72e0d6c..e6007e4d 100644 --- a/examples/scripts/spm_XNES.py +++ b/examples/scripts/spm_XNES.py @@ -21,7 +21,7 @@ ] sigma = 0.001 -t_eval = np.arange(0, 900, 2) +t_eval = np.arange(0, 900, 3) values = model.predict(t_eval=t_eval) corrupt_values = values["Voltage [V]"].data + np.random.normal(0, sigma, len(t_eval)) diff --git a/examples/scripts/spm_adam.py b/examples/scripts/spm_adam.py index f6a75354..e5df4d0c 100644 --- a/examples/scripts/spm_adam.py +++ b/examples/scripts/spm_adam.py @@ -24,8 +24,8 @@ experiment = pybop.Experiment( [ ( - "Discharge at 0.5C for 3 minutes (1 second period)", - "Charge at 0.5C for 3 minutes (1 second period)", + "Discharge at 0.5C for 3 minutes (3 second period)", + "Charge at 0.5C for 3 minutes (3 second period)", ), ] * 2 diff --git a/examples/scripts/spm_descent.py b/examples/scripts/spm_descent.py index 5a4568f0..89f4f8e2 100644 --- a/examples/scripts/spm_descent.py +++ b/examples/scripts/spm_descent.py @@ -20,7 +20,7 @@ # Generate data sigma = 0.001 -t_eval = np.arange(0, 900, 2) +t_eval = np.arange(0, 900, 3) values = model.predict(t_eval=t_eval) corrupt_values = values["Voltage [V]"].data + np.random.normal(0, sigma, len(t_eval)) diff --git a/examples/scripts/spm_pso.py b/examples/scripts/spm_pso.py index f6a01b09..f35bc402 100644 --- a/examples/scripts/spm_pso.py +++ b/examples/scripts/spm_pso.py @@ -21,7 +21,7 @@ ] sigma = 0.001 -t_eval = np.arange(0, 900, 2) +t_eval = np.arange(0, 900, 3) values = model.predict(t_eval=t_eval) corrupt_values = values["Voltage [V]"].data + np.random.normal(0, sigma, len(t_eval)) diff --git a/tests/integration/test_optimisation_options.py b/tests/integration/test_optimisation_options.py index 9ff70056..2f3f991a 100644 --- a/tests/integration/test_optimisation_options.py +++ b/tests/integration/test_optimisation_options.py @@ -109,8 +109,8 @@ def getdata(self, model, x, init_soc): experiment = pybop.Experiment( [ ( - "Discharge at 0.5C for 3 minutes (1 second period)", - "Charge at 0.5C for 3 minutes (1 second period)", + "Discharge at 0.5C for 3 minutes (5 second period)", + "Charge at 0.5C for 3 minutes (5 second period)", ), ] * 2 diff --git a/tests/integration/test_parameterisations.py b/tests/integration/test_parameterisations.py index 4a922e9b..32bd4033 100644 --- a/tests/integration/test_parameterisations.py +++ b/tests/integration/test_parameterisations.py @@ -121,7 +121,7 @@ def test_spm_optimisers(self, optimiser, spm_costs): ): parameterisation.optimiser.set_learning_rate(1.8e-5) else: - parameterisation.optimiser.set_learning_rate(0.02) + parameterisation.optimiser.set_learning_rate(0.015) x, final_cost = parameterisation.run() elif optimiser in [pybop.SciPyMinimize]: @@ -248,8 +248,8 @@ def getdata(self, model, x, init_soc): experiment = pybop.Experiment( [ ( - "Discharge at 0.5C for 3 minutes (1 second period)", - "Charge at 0.5C for 3 minutes (1 second period)", + "Discharge at 0.5C for 3 minutes (2 second period)", + "Charge at 0.5C for 3 minutes (2 second period)", ), ] * 2