From 9a2761146febe6ca8ed70b6c85bbde0b3c1f2bc5 Mon Sep 17 00:00:00 2001 From: Quinn Mood Date: Fri, 6 Jan 2023 16:19:52 -0500 Subject: [PATCH 1/2] broke up c file into aux, main, and interface files --- extensions/multiplacement/setup.py | 9 +- extensions/multiplacement/src/_aux.c | 115 ++++++++ extensions/multiplacement/src/_aux.h | 30 ++ extensions/multiplacement/src/_constants.h | 5 +- extensions/multiplacement/src/_interface.c | 147 ++++++++++ extensions/multiplacement/src/_interface.h | 10 + .../multiplacement/src/_multiplacement.c | 272 +----------------- .../multiplacement/src/_multiplacement.h | 21 ++ extensions/multiplacement/src/_test.c | 8 + extensions/multiplacement/src/_test.h | 34 +++ src/config.json | 5 +- src/objects/connector_object.py | 34 ++- 12 files changed, 413 insertions(+), 277 deletions(-) create mode 100644 extensions/multiplacement/src/_aux.c create mode 100644 extensions/multiplacement/src/_aux.h create mode 100644 extensions/multiplacement/src/_interface.c create mode 100644 extensions/multiplacement/src/_interface.h create mode 100644 extensions/multiplacement/src/_multiplacement.h create mode 100644 extensions/multiplacement/src/_test.c create mode 100644 extensions/multiplacement/src/_test.h diff --git a/extensions/multiplacement/setup.py b/extensions/multiplacement/setup.py index f226d83..72cd095 100644 --- a/extensions/multiplacement/setup.py +++ b/extensions/multiplacement/setup.py @@ -3,9 +3,14 @@ setup( name='multiplacement', - version='1.0.0', + version='1.0.1', author='Quinn Mood', author_email='qmood1@umbc.edu', description='C extension to expedite calculations for complex transcription factor binding', - ext_modules=[Extension("_multiplacement",['src/_multiplacement.c'])], + ext_modules=[ + Extension("_multiplacement", + ['src/_interface.c', 'src/_multiplacement.c', 'src/_aux.c'], + include_dirs = ['src'], + ) + ], ) diff --git a/extensions/multiplacement/src/_aux.c b/extensions/multiplacement/src/_aux.c new file mode 100644 index 0000000..66e4e5b --- /dev/null +++ b/extensions/multiplacement/src/_aux.c @@ -0,0 +1,115 @@ +#include "_aux.h" +int min(int n, int k){ + if (n > k) + return k; + else + return n; +} + +unsigned long long bin(unsigned long long n, unsigned long long k){ + + unsigned long long c = 1; + for (unsigned long long i = 1; i <= k; i++, n--) { + + if (c/i > ULONG_MAX/n) // return 0 on potential overflow + return 0; + + c = c / i * n + c % i * n / i; // split c * n / i into (c / i * i + c % i) * n / i + } + + return c; +} + +float norm_cdf(float x, float mu, float sigma){ + float z = (x - mu) / fabs(sigma); + return (1 + erff(z / sqrtf(2.0))) / 2.00; +} + +float norm_pf(float x, float mu, float sigma){ + if (sigma != 0) + return norm_cdf(x + 0.5, mu, sigma) - norm_cdf(x - 0.5, mu, sigma); + if (x == mu) + return 1.00; + return 0.00; +} + +float get_numerator(int dna_length, int distance, float mu, float sigma){ + float numerator = norm_pf(distance, mu, sigma); + if (sigma == 0.00) + return numerator; + + float auc = norm_cdf(dna_length - 1, mu, sigma) - norm_cdf(0, mu, sigma); + if (auc < 0.000001) + auc = 0.000001; + + if (numerator < 0.00001) + numerator = 0.00001; + + return numerator /= auc; + +} + +float get_denominator(int d, int N, int L){ + if (1 <= d && d <= L - N + 1) + return (float) bin(L - d, N - 1) / (float) bin(L, N); + return 0.0001; +} + +float get_score(float *arr, int dna_length, int effective_length, int num_rec, + int gap_size, int max_length, int curr_conn, bool is_precomputed){ + if (is_precomputed == false){ + return log2f(get_numerator(dna_length, gap_size, arr[curr_conn * 2], arr[curr_conn * 2 + 1]) / + get_denominator(gap_size + 1, num_rec, effective_length)); + } + + return log2(arr[curr_conn * max_length + gap_size]) - + ( + ( + NUMERATORS[(effective_length - (gap_size + 1)) - 1] - + NUMERATORS[(num_rec - 1) - 1] - + NUMERATORS[effective_length - (gap_size + 1) - (num_rec - 1) - 1] + ) - + + ( + NUMERATORS[effective_length - 1] - + NUMERATORS[num_rec - 1] - + NUMERATORS[effective_length - num_rec - 1] + ) + ); +} + +int get_forward_offset(int index, int cols[], int num_rec) { + // finds the first possible possition for a pssm + // based on number of columns of preceding pssms + + int offset = 0; + for (int i = 0; i < index; i++) { + offset += cols[i]; + } + return offset; +} + +int get_reverse_offset(int index, int cols[], int num_rec) { + // finds the last possible possition for a pssm + // based on number of columns of subsequenct pssms + + int offset = 0; + for (int i = num_rec - 1; i >= index; i--) { + offset += cols[i]; + } + + // this is important to get the right number of possible alignments + return offset - 1; +} + +int max_index(float *arr, int size) { + int max_index = 0; + for (int i = 0; i < size; i++) { + + if (arr[i] > arr[max_index]) { + max_index = i; + } + } + return max_index; +} + diff --git a/extensions/multiplacement/src/_aux.h b/extensions/multiplacement/src/_aux.h new file mode 100644 index 0000000..94cf1a2 --- /dev/null +++ b/extensions/multiplacement/src/_aux.h @@ -0,0 +1,30 @@ +#ifndef _AUX_H +#define _AUX_H +#include +#include +#include +#include +#include +#include "_constants.h" + +int min(int n, int k); + +unsigned long long bin(unsigned long long n, unsigned long long k); + +float norm_cdf(float x, float mu, float sigma); + +float norm_pf(float x, float mu, float sigma); + +float get_numerator(int dna_length, int distance, float mu, float sigma); + +float get_denominator(int d, int N, int L); + +float get_score(float *arr, int dna_length, int effective_length, int num_rec, int gap_size, int max_length, int curr_conn, bool is_precomputed); + +int get_forward_offset(int index, int cols[], int num_rec); + +int get_reverse_offset(int index, int cols[], int num_rec); + +int max_index(float *arr, int size); + +#endif diff --git a/extensions/multiplacement/src/_constants.h b/extensions/multiplacement/src/_constants.h index 741e6f8..58a7cee 100644 --- a/extensions/multiplacement/src/_constants.h +++ b/extensions/multiplacement/src/_constants.h @@ -1 +1,4 @@ -const float NUMERATORS[10000] = {0.00,1.00,2.58,4.58,6.91,9.49,12.30,15.30,18.47,21.79,25.25,28.84,32.54,36.34,40.25,44.25,48.34,52.51,56.76,61.08,65.47,69.93,74.45,79.04,83.68,88.38,93.14,97.94,102.80,107.71,112.66,117.66,122.71,127.80,132.92,138.09,143.30,148.55,153.84,159.16,164.52,169.91,175.34,180.79,186.29,191.81,197.36,202.95,208.56,214.21,219.88,225.58,231.31,237.06,242.85,248.65,254.49,260.34,266.23,272.13,278.06,284.02,290.00,296.00,302.02,308.06,314.13,320.22,326.32,332.45,338.60,344.77,350.96,357.17,363.40,369.65,375.92,382.20,388.50,394.83,401.17,407.52,413.90,420.29,426.70,433.13,439.57,446.03,452.51,459.00,465.50,472.03,478.57,485.12,491.69,498.28,504.88,511.49,518.12,524.76,531.42,538.10,544.78,551.48,558.20,564.92,571.67,578.42,585.19,591.97,598.77,605.57,612.39,619.23,626.07,632.93,639.80,646.68,653.58,660.48,667.40,674.33,681.28,688.23,695.20,702.17,709.16,716.16,723.17,730.20,737.23,744.27,751.33,758.39,765.47,772.56,779.66,786.77,793.88,801.01,808.15,815.30,822.46,829.63,836.81,844.00,851.20,858.41,865.63,872.86,880.10,887.35,894.60,901.87,909.15,916.43,923.73,931.03,938.34,945.66,953.00,960.34,967.68,975.04,982.41,989.78,997.17,1004.56,1011.96,1019.37,1026.79,1034.21,1041.65,1049.09,1056.54,1064.00,1071.47,1078.95,1086.43,1093.92,1101.42,1108.93,1116.44,1123.97,1131.50,1139.04,1146.59,1154.14,1161.70,1169.27,1176.85,1184.43,1192.03,1199.63,1207.23,1214.85,1222.47,1230.10,1237.74,1245.38,1253.03,1260.69,1268.35,1276.03,1283.71,1291.39,1299.09,1306.79,1314.49,1322.21,1329.93,1337.66,1345.39,1353.13,1360.88,1368.64,1376.40,1384.17,1391.94,1399.72,1407.51,1415.31,1423.11,1430.91,1438.73,1446.55,1454.37,1462.21,1470.05,1477.89,1485.74,1493.60,1501.47,1509.34,1517.21,1525.10,1532.98,1540.88,1548.78,1556.69,1564.60,1572.52,1580.44,1588.37,1596.31,1604.25,1612.20,1620.16,1628.12,1636.08,1644.05,1652.03,1660.01,1668.00,1676.00,1684.00,1692.00,1700.01,1708.03,1716.05,1724.08,1732.11,1740.15,1748.20,1756.25,1764.30,1772.36,1780.43,1788.50,1796.58,1804.66,1812.75,1820.84,1828.94,1837.04,1845.15,1853.26,1861.38,1869.51,1877.64,1885.77,1893.91,1902.05,1910.20,1918.36,1926.52,1934.68,1942.85,1951.03,1959.21,1967.39,1975.58,1983.78,1991.98,2000.18,2008.39,2016.61,2024.82,2033.05,2041.28,2049.51,2057.75,2065.99,2074.24,2082.49,2090.75,2099.01,2107.28,2115.55,2123.83,2132.11,2140.39,2148.68,2156.98,2165.28,2173.58,2181.89,2190.20,2198.52,2206.84,2215.17,2223.50,2231.83,2240.17,2248.52,2256.87,2265.22,2273.58,2281.94,2290.31,2298.68,2307.05,2315.43,2323.81,2332.20,2340.60,2348.99,2357.39,2365.80,2374.21,2382.62,2391.04,2399.46,2407.89,2416.32,2424.75,2433.19,2441.63,2450.08,2458.53,2466.99,2475.45,2483.91,2492.38,2500.85,2509.33,2517.80,2526.29,2534.78,2543.27,2551.76,2560.26,2568.77,2577.28,2585.79,2594.30,2602.82,2611.35,2619.87,2628.41,2636.94,2645.48,2654.02,2662.57,2671.12,2679.68,2688.23,2696.80,2705.36,2713.93,2722.51,2731.08,2739.66,2748.25,2756.84,2765.43,2774.03,2782.63,2791.23,2799.84,2808.45,2817.06,2825.68,2834.30,2842.93,2851.56,2860.19,2868.83,2877.47,2886.11,2894.76,2903.41,2912.07,2920.72,2929.39,2938.05,2946.72,2955.39,2964.07,2972.75,2981.43,2990.12,2998.81,3007.50,3016.20,3024.90,3033.60,3042.31,3051.02,3059.73,3068.45,3077.17,3085.90,3094.63,3103.36,3112.09,3120.83,3129.57,3138.32,3147.06,3155.82,3164.57,3173.33,3182.09,3190.86,3199.62,3208.40,3217.17,3225.95,3234.73,3243.51,3252.30,3261.09,3269.89,3278.69,3287.49,3296.29,3305.10,3313.91,3322.72,3331.54,3340.36,3349.18,3358.01,3366.84,3375.67,3384.51,3393.35,3402.19,3411.03,3419.88,3428.73,3437.59,3446.45,3455.31,3464.17,3473.04,3481.91,3490.78,3499.66,3508.54,3517.42,3526.31,3535.20,3544.09,3552.98,3561.88,3570.78,3579.69,3588.59,3597.50,3606.42,3615.33,3624.25,3633.17,3642.10,3651.03,3659.96,3668.89,3677.83,3686.77,3695.71,3704.65,3713.60,3722.55,3731.51,3740.46,3749.42,3758.39,3767.35,3776.32,3785.29,3794.27,3803.25,3812.23,3821.21,3830.19,3839.18,3848.17,3857.17,3866.17,3875.17,3884.17,3893.17,3902.18,3911.19,3920.21,3929.23,3938.24,3947.27,3956.29,3965.32,3974.35,3983.38,3992.42,4001.46,4010.50,4019.55,4028.59,4037.64,4046.69,4055.75,4064.81,4073.87,4082.93,4092.00,4101.07,4110.14,4119.21,4128.29,4137.37,4146.45,4155.54,4164.62,4173.71,4182.81,4191.90,4201.00,4210.10,4219.20,4228.31,4237.42,4246.53,4255.64,4264.76,4273.88,4283.00,4292.12,4301.25,4310.38,4319.51,4328.65,4337.78,4346.92,4356.07,4365.21,4374.36,4383.51,4392.66,4401.81,4410.97,4420.13,4429.29,4438.46,4447.63,4456.80,4465.97,4475.14,4484.32,4493.50,4502.68,4511.87,4521.06,4530.25,4539.44,4548.63,4557.83,4567.03,4576.23,4585.44,4594.64,4603.85,4613.06,4622.28,4631.50,4640.71,4649.94,4659.16,4668.39,4677.62,4686.85,4696.08,4705.32,4714.56,4723.80,4733.04,4742.28,4751.53,4760.78,4770.04,4779.29,4788.55,4797.81,4807.07,4816.33,4825.60,4834.87,4844.14,4853.42,4862.69,4871.97,4881.25,4890.53,4899.82,4909.11,4918.40,4927.69,4936.98,4946.28,4955.58,4964.88,4974.19,4983.49,4992.80,5002.11,5011.42,5020.74,5030.06,5039.38,5048.70,5058.02,5067.35,5076.68,5086.01,5095.34,5104.68,5114.01,5123.35,5132.70,5142.04,5151.39,5160.74,5170.09,5179.44,5188.79,5198.15,5207.51,5216.87,5226.24,5235.60,5244.97,5254.34,5263.72,5273.09,5282.47,5291.85,5301.23,5310.61,5320.00,5329.39,5338.78,5348.17,5357.56,5366.96,5376.36,5385.76,5395.16,5404.57,5413.98,5423.39,5432.80,5442.21,5451.63,5461.04,5470.46,5479.89,5489.31,5498.74,5508.16,5517.60,5527.03,5536.46,5545.90,5555.34,5564.78,5574.22,5583.67,5593.11,5602.56,5612.01,5621.47,5630.92,5640.38,5649.84,5659.30,5668.76,5678.23,5687.70,5697.17,5706.64,5716.11,5725.59,5735.07,5744.55,5754.03,5763.51,5773.00,5782.49,5791.98,5801.47,5810.96,5820.46,5829.95,5839.45,5848.96,5858.46,5867.97,5877.47,5886.98,5896.50,5906.01,5915.52,5925.04,5934.56,5944.08,5953.61,5963.13,5972.66,5982.19,5991.72,6001.25,6010.79,6020.33,6029.86,6039.41,6048.95,6058.49,6068.04,6077.59,6087.14,6096.69,6106.25,6115.80,6125.36,6134.92,6144.49,6154.05,6163.62,6173.18,6182.75,6192.32,6201.90,6211.47,6221.05,6230.63,6240.21,6249.79,6259.38,6268.97,6278.56,6288.15,6297.74,6307.33,6316.93,6326.53,6336.13,6345.73,6355.33,6364.94,6374.55,6384.15,6393.77,6403.38,6412.99,6422.61,6432.23,6441.85,6451.47,6461.09,6470.72,6480.35,6489.98,6499.61,6509.24,6518.88,6528.51,6538.15,6547.79,6557.43,6567.08,6576.72,6586.37,6596.02,6605.67,6615.32,6624.98,6634.63,6644.29,6653.95,6663.61,6673.28,6682.94,6692.61,6702.28,6711.95,6721.62,6731.30,6740.97,6750.65,6760.33,6770.01,6779.69,6789.38,6799.07,6808.75,6818.44,6828.14,6837.83,6847.52,6857.22,6866.92,6876.62,6886.32,6896.03,6905.73,6915.44,6925.15,6934.86,6944.57,6954.29,6964.00,6973.72,6983.44,6993.16,7002.88,7012.61,7022.33,7032.06,7041.79,7051.52,7061.26,7070.99,7080.73,7090.47,7100.21,7109.95,7119.69,7129.43,7139.18,7148.93,7158.68,7168.43,7178.18,7187.94,7197.70,7207.45,7217.21,7226.98,7236.74,7246.50,7256.27,7266.04,7275.81,7285.58,7295.35,7305.13,7314.90,7324.68,7334.46,7344.24,7354.03,7363.81,7373.60,7383.38,7393.17,7402.97,7412.76,7422.55,7432.35,7442.15,7451.95,7461.75,7471.55,7481.35,7491.16,7500.97,7510.78,7520.59,7530.40,7540.21,7550.03,7559.84,7569.66,7579.48,7589.30,7599.13,7608.95,7618.78,7628.61,7638.44,7648.27,7658.10,7667.94,7677.77,7687.61,7697.45,7707.29,7717.13,7726.98,7736.82,7746.67,7756.52,7766.37,7776.22,7786.07,7795.93,7805.78,7815.64,7825.50,7835.36,7845.23,7855.09,7864.96,7874.82,7884.69,7894.56,7904.43,7914.31,7924.18,7934.06,7943.94,7953.82,7963.70,7973.58,7983.46,7993.35,8003.24,8013.13,8023.02,8032.91,8042.80,8052.70,8062.59,8072.49,8082.39,8092.29,8102.19,8112.10,8122.00,8131.91,8141.82,8151.73,8161.64,8171.55,8181.47,8191.38,8201.30,8211.22,8221.14,8231.06,8240.98,8250.91,8260.83,8270.76,8280.69,8290.62,8300.56,8310.49,8320.42,8330.36,8340.30,8350.24,8360.18,8370.12,8380.07,8390.01,8399.96,8409.91,8419.86,8429.81,8439.76,8449.72,8459.67,8469.63,8479.59,8489.55,8499.51,8509.47,8519.44,8529.40,8539.37,8549.34,8559.31,8569.28,8579.25,8589.23,8599.20,8609.18,8619.16,8629.14,8639.12,8649.10,8659.09,8669.08,8679.06,8689.05,8699.04,8709.03,8719.03,8729.02,8739.02,8749.01,8759.01,8769.01,8779.01,8789.02,8799.02,8809.03,8819.03,8829.04,8839.05,8849.06,8859.07,8869.09,8879.10,8889.12,8899.14,8909.16,8919.18,8929.20,8939.22,8949.25,8959.28,8969.30,8979.33,8989.36,8999.40,9009.43,9019.46,9029.50,9039.54,9049.58,9059.62,9069.66,9079.70,9089.75,9099.79,9109.84,9119.89,9129.94,9139.99,9150.04,9160.09,9170.15,9180.21,9190.26,9200.32,9210.38,9220.45,9230.51,9240.58,9250.64,9260.71,9270.78,9280.85,9290.92,9300.99,9311.07,9321.14,9331.22,9341.30,9351.38,9361.46,9371.54,9381.62,9391.71,9401.79,9411.88,9421.97,9432.06,9442.15,9452.24,9462.34,9472.43,9482.53,9492.63,9502.73,9512.83,9522.93,9533.03,9543.14,9553.24,9563.35,9573.46,9583.57,9593.68,9603.79,9613.91,9624.02,9634.14,9644.25,9654.37,9664.49,9674.61,9684.74,9694.86,9704.99,9715.11,9725.24,9735.37,9745.50,9755.63,9765.77,9775.90,9786.04,9796.17,9806.31,9816.45,9826.59,9836.73,9846.88,9857.02,9867.17,9877.32,9887.46,9897.61,9907.76,9917.92,9928.07,9938.23,9948.38,9958.54,9968.70,9978.86,9989.02,9999.18,10009.34,10019.51,10029.68,10039.84,10050.01,10060.18,10070.35,10080.53,10090.70,10100.87,10111.05,10121.23,10131.41,10141.59,10151.77,10161.95,10172.13,10182.32,10192.50,10202.69,10212.88,10223.07,10233.26,10243.45,10253.65,10263.84,10274.04,10284.23,10294.43,10304.63,10314.83,10325.04,10335.24,10345.44,10355.65,10365.86,10376.06,10386.27,10396.48,10406.70,10416.91,10427.12,10437.34,10447.55,10457.77,10467.99,10478.21,10488.43,10498.66,10508.88,10519.11,10529.33,10539.56,10549.79,10560.02,10570.25,10580.48,10590.72,10600.95,10611.19,10621.42,10631.66,10641.90,10652.14,10662.38,10672.63,10682.87,10693.12,10703.36,10713.61,10723.86,10734.11,10744.36,10754.62,10764.87,10775.12,10785.38,10795.64,10805.90,10816.16,10826.42,10836.68,10846.94,10857.21,10867.47,10877.74,10888.01,10898.28,10908.55,10918.82,10929.09,10939.37,10949.64,10959.92,10970.19,10980.47,10990.75,11001.03,11011.32,11021.60,11031.88,11042.17,11052.45,11062.74,11073.03,11083.32,11093.61,11103.90,11114.20,11124.49,11134.79,11145.09,11155.38,11165.68,11175.98,11186.29,11196.59,11206.89,11217.20,11227.50,11237.81,11248.12,11258.43,11268.74,11279.05,11289.36,11299.68,11309.99,11320.31,11330.63,11340.94,11351.26,11361.58,11371.91,11382.23,11392.55,11402.88,11413.21,11423.53,11433.86,11444.19,11454.52,11464.85,11475.19,11485.52,11495.86,11506.19,11516.53,11526.87,11537.21,11547.55,11557.89,11568.24,11578.58,11588.93,11599.27,11609.62,11619.97,11630.32,11640.67,11651.02,11661.37,11671.73,11682.08,11692.44,11702.80,11713.16,11723.52,11733.88,11744.24,11754.60,11764.97,11775.33,11785.70,11796.07,11806.43,11816.80,11827.17,11837.55,11847.92,11858.29,11868.67,11879.04,11889.42,11899.80,11910.18,11920.56,11930.94,11941.32,11951.71,11962.09,11972.48,11982.86,11993.25,12003.64,12014.03,12024.42,12034.82,12045.21,12055.60,12066.00,12076.40,12086.79,12097.19,12107.59,12117.99,12128.39,12138.80,12149.20,12159.61,12170.01,12180.42,12190.83,12201.24,12211.65,12222.06,12232.47,12242.89,12253.30,12263.72,12274.13,12284.55,12294.97,12305.39,12315.81,12326.23,12336.66,12347.08,12357.50,12367.93,12378.36,12388.79,12399.22,12409.65,12420.08,12430.51,12440.95,12451.38,12461.82,12472.25,12482.69,12493.13,12503.57,12514.01,12524.45,12534.89,12545.34,12555.78,12566.23,12576.68,12587.12,12597.57,12608.02,12618.48,12628.93,12639.38,12649.83,12660.29,12670.75,12681.20,12691.66,12702.12,12712.58,12723.04,12733.51,12743.97,12754.43,12764.90,12775.37,12785.83,12796.30,12806.77,12817.24,12827.72,12838.19,12848.66,12859.14,12869.61,12880.09,12890.57,12901.04,12911.52,12922.00,12932.49,12942.97,12953.45,12963.94,12974.42,12984.91,12995.40,13005.89,13016.38,13026.87,13037.36,13047.85,13058.35,13068.84,13079.34,13089.84,13100.33,13110.83,13121.33,13131.83,13142.34,13152.84,13163.34,13173.85,13184.35,13194.86,13205.37,13215.88,13226.39,13236.90,13247.41,13257.92,13268.44,13278.95,13289.47,13299.98,13310.50,13321.02,13331.54,13342.06,13352.58,13363.10,13373.63,13384.15,13394.68,13405.20,13415.73,13426.26,13436.79,13447.32,13457.85,13468.38,13478.91,13489.45,13499.98,13510.52,13521.06,13531.59,13542.13,13552.67,13563.21,13573.76,13584.30,13594.84,13605.39,13615.93,13626.48,13637.03,13647.58,13658.13,13668.68,13679.23,13689.78,13700.34,13710.89,13721.45,13732.00,13742.56,13753.12,13763.68,13774.24,13784.80,13795.36,13805.93,13816.49,13827.06,13837.62,13848.19,13858.76,13869.33,13879.90,13890.47,13901.04,13911.61,13922.19,13932.76,13943.34,13953.91,13964.49,13975.07,13985.65,13996.23,14006.81,14017.39,14027.97,14038.56,14049.14,14059.73,14070.32,14080.90,14091.49,14102.08,14112.67,14123.26,14133.86,14144.45,14155.05,14165.64,14176.24,14186.83,14197.43,14208.03,14218.63,14229.23,14239.83,14250.43,14261.04,14271.64,14282.25,14292.85,14303.46,14314.07,14324.68,14335.29,14345.90,14356.51,14367.13,14377.74,14388.36,14398.97,14409.59,14420.20,14430.82,14441.44,14452.06,14462.68,14473.30,14483.93,14494.55,14505.18,14515.80,14526.43,14537.06,14547.69,14558.32,14568.95,14579.58,14590.21,14600.84,14611.47,14622.11,14632.75,14643.38,14654.02,14664.66,14675.30,14685.94,14696.58,14707.22,14717.86,14728.51,14739.15,14749.80,14760.44,14771.09,14781.74,14792.39,14803.04,14813.69,14824.34,14835.00,14845.65,14856.30,14866.96,14877.62,14888.27,14898.93,14909.59,14920.25,14930.91,14941.57,14952.24,14962.90,14973.56,14984.23,14994.90,15005.56,15016.23,15026.90,15037.57,15048.24,15058.91,15069.58,15080.26,15090.93,15101.61,15112.28,15122.96,15133.64,15144.32,15155.00,15165.68,15176.36,15187.04,15197.72,15208.41,15219.09,15229.78,15240.46,15251.15,15261.84,15272.53,15283.22,15293.91,15304.60,15315.29,15325.99,15336.68,15347.38,15358.07,15368.77,15379.47,15390.17,15400.86,15411.56,15422.27,15432.97,15443.67,15454.38,15465.08,15475.79,15486.49,15497.20,15507.91,15518.62,15529.33,15540.04,15550.75,15561.46,15572.18,15582.89,15593.60,15604.32,15615.04,15625.75,15636.47,15647.19,15657.91,15668.63,15679.36,15690.08,15700.80,15711.53,15722.25,15732.98,15743.71,15754.43,15765.16,15775.89,15786.62,15797.35,15808.09,15818.82,15829.55,15840.29,15851.02,15861.76,15872.50,15883.24,15893.97,15904.71,15915.46,15926.20,15936.94,15947.68,15958.43,15969.17,15979.92,15990.66,16001.41,16012.16,16022.91,16033.66,16044.41,16055.16,16065.91,16076.67,16087.42,16098.17,16108.93,16119.69,16130.44,16141.20,16151.96,16162.72,16173.48,16184.24,16195.01,16205.77,16216.53,16227.30,16238.06,16248.83,16259.60,16270.37,16281.13,16291.90,16302.67,16313.45,16324.22,16334.99,16345.77,16356.54,16367.32,16378.09,16388.87,16399.65,16410.43,16421.21,16431.99,16442.77,16453.55,16464.33,16475.12,16485.90,16496.69,16507.47,16518.26,16529.05,16539.84,16550.62,16561.42,16572.21,16583.00,16593.79,16604.58,16615.38,16626.17,16636.97,16647.77,16658.56,16669.36,16680.16,16690.96,16701.76,16712.56,16723.37,16734.17,16744.97,16755.78,16766.59,16777.39,16788.20,16799.01,16809.82,16820.63,16831.44,16842.25,16853.06,16863.87,16874.69,16885.50,16896.32,16907.13,16917.95,16928.77,16939.59,16950.41,16961.23,16972.05,16982.87,16993.69,17004.52,17015.34,17026.16,17036.99,17047.82,17058.64,17069.47,17080.30,17091.13,17101.96,17112.79,17123.62,17134.46,17145.29,17156.12,17166.96,17177.80,17188.63,17199.47,17210.31,17221.15,17231.99,17242.83,17253.67,17264.51,17275.36,17286.20,17297.04,17307.89,17318.73,17329.58,17340.43,17351.28,17362.13,17372.98,17383.83,17394.68,17405.53,17416.38,17427.24,17438.09,17448.95,17459.80,17470.66,17481.52,17492.38,17503.24,17514.10,17524.96,17535.82,17546.68,17557.55,17568.41,17579.28,17590.14,17601.01,17611.88,17622.74,17633.61,17644.48,17655.35,17666.22,17677.09,17687.97,17698.84,17709.71,17720.59,17731.46,17742.34,17753.22,17764.10,17774.98,17785.86,17796.74,17807.62,17818.50,17829.38,17840.27,17851.15,17862.04,17872.92,17883.81,17894.69,17905.58,17916.47,17927.36,17938.25,17949.14,17960.03,17970.93,17981.82,17992.71,18003.61,18014.50,18025.40,18036.30,18047.20,18058.09,18068.99,18079.89,18090.79,18101.70,18112.60,18123.50,18134.40,18145.31,18156.21,18167.12,18178.03,18188.94,18199.84,18210.75,18221.66,18232.57,18243.48,18254.40,18265.31,18276.22,18287.14,18298.05,18308.97,18319.88,18330.80,18341.72,18352.64,18363.56,18374.48,18385.40,18396.32,18407.24,18418.17,18429.09,18440.02,18450.94,18461.87,18472.80,18483.72,18494.65,18505.58,18516.51,18527.44,18538.38,18549.31,18560.24,18571.17,18582.11,18593.04,18603.98,18614.92,18625.85,18636.79,18647.73,18658.67,18669.61,18680.55,18691.49,18702.44,18713.38,18724.32,18735.27,18746.21,18757.16,18768.11,18779.05,18790.00,18800.95,18811.90,18822.85,18833.80,18844.75,18855.71,18866.66,18877.62,18888.57,18899.53,18910.48,18921.44,18932.40,18943.36,18954.31,18965.28,18976.24,18987.20,18998.16,19009.12,19020.09,19031.05,19042.02,19052.98,19063.95,19074.91,19085.88,19096.85,19107.82,19118.79,19129.76,19140.73,19151.71,19162.68,19173.65,19184.63,19195.60,19206.58,19217.55,19228.53,19239.51,19250.49,19261.47,19272.45,19283.43,19294.41,19305.39,19316.38,19327.36,19338.34,19349.33,19360.31,19371.30,19382.29,19393.28,19404.26,19415.25,19426.24,19437.23,19448.23,19459.22,19470.21,19481.21,19492.20,19503.19,19514.19,19525.19,19536.18,19547.18,19558.18,19569.18,19580.18,19591.18,19602.18,19613.18,19624.19,19635.19,19646.19,19657.20,19668.21,19679.21,19690.22,19701.23,19712.23,19723.24,19734.25,19745.26,19756.28,19767.29,19778.30,19789.31,19800.33,19811.34,19822.36,19833.37,19844.39,19855.41,19866.43,19877.45,19888.46,19899.48,19910.51,19921.53,19932.55,19943.57,19954.60,19965.62,19976.65,19987.67,19998.70,20009.73,20020.75,20031.78,20042.81,20053.84,20064.87,20075.90,20086.94,20097.97,20109.00,20120.04,20131.07,20142.11,20153.14,20164.18,20175.22,20186.26,20197.29,20208.33,20219.38,20230.42,20241.46,20252.50,20263.54,20274.59,20285.63,20296.68,20307.72,20318.77,20329.81,20340.86,20351.91,20362.96,20374.01,20385.06,20396.11,20407.16,20418.22,20429.27,20440.32,20451.38,20462.43,20473.49,20484.55,20495.60,20506.66,20517.72,20528.78,20539.84,20550.90,20561.96,20573.02,20584.09,20595.15,20606.21,20617.28,20628.34,20639.41,20650.47,20661.54,20672.61,20683.68,20694.75,20705.82,20716.89,20727.96,20739.04,20750.11,20761.18,20772.26,20783.33,20794.41,20805.48,20816.56,20827.64,20838.71,20849.79,20860.87,20871.95,20883.03,20894.12,20905.20,20916.28,20927.36,20938.45,20949.53,20960.62,20971.70,20982.79,20993.88,21004.96,21016.05,21027.14,21038.23,21049.32,21060.41,21071.51,21082.60,21093.69,21104.79,21115.88,21126.98,21138.07,21149.17,21160.27,21171.37,21182.46,21193.56,21204.66,21215.77,21226.87,21237.97,21249.07,21260.18,21271.28,21282.38,21293.49,21304.60,21315.70,21326.81,21337.92,21349.03,21360.14,21371.25,21382.36,21393.47,21404.58,21415.69,21426.81,21437.92,21449.04,21460.15,21471.27,21482.38,21493.50,21504.62,21515.74,21526.86,21537.97,21549.10,21560.22,21571.34,21582.46,21593.58,21604.71,21615.83,21626.96,21638.08,21649.21,21660.34,21671.46,21682.59,21693.72,21704.85,21715.98,21727.11,21738.24,21749.38,21760.51,21771.64,21782.77,21793.91,21805.04,21816.18,21827.31,21838.45,21849.59,21860.73,21871.87,21883.00,21894.14,21905.29,21916.43,21927.57,21938.71,21949.85,21961.00,21972.14,21983.29,21994.43,22005.58,22016.73,22027.88,22039.02,22050.17,22061.32,22072.47,22083.62,22094.78,22105.93,22117.08,22128.23,22139.39,22150.54,22161.70,22172.86,22184.01,22195.17,22206.33,22217.49,22228.65,22239.81,22250.97,22262.13,22273.29,22284.45,22295.61,22306.78,22317.94,22329.11,22340.27,22351.44,22362.60,22373.77,22384.94,22396.11,22407.28,22418.45,22429.62,22440.79,22451.96,22463.13,22474.31,22485.48,22496.65,22507.83,22519.01,22530.18,22541.36,22552.54,22563.71,22574.89,22586.07,22597.25,22608.43,22619.61,22630.79,22641.98,22653.16,22664.34,22675.53,22686.71,22697.90,22709.08,22720.27,22731.46,22742.65,22753.84,22765.03,22776.21,22787.41,22798.60,22809.79,22820.98,22832.17,22843.37,22854.56,22865.76,22876.95,22888.15,22899.34,22910.54,22921.74,22932.94,22944.14,22955.34,22966.54,22977.74,22988.94,23000.14,23011.34,23022.55,23033.75,23044.96,23056.16,23067.37,23078.57,23089.78,23100.99,23112.20,23123.40,23134.61,23145.82,23157.04,23168.25,23179.46,23190.67,23201.88,23213.10,23224.31,23235.53,23246.74,23257.96,23269.17,23280.39,23291.61,23302.83,23314.05,23325.27,23336.49,23347.71,23358.93,23370.15,23381.38,23392.60,23403.82,23415.05,23426.27,23437.50,23448.72,23459.95,23471.18,23482.41,23493.64,23504.87,23516.10,23527.33,23538.56,23549.79,23561.02,23572.25,23583.49,23594.72,23605.96,23617.19,23628.43,23639.67,23650.90,23662.14,23673.38,23684.62,23695.86,23707.10,23718.34,23729.58,23740.82,23752.06,23763.31,23774.55,23785.80,23797.04,23808.29,23819.53,23830.78,23842.03,23853.28,23864.52,23875.77,23887.02,23898.27,23909.52,23920.78,23932.03,23943.28,23954.53,23965.79,23977.04,23988.30,23999.55,24010.81,24022.06,24033.32,24044.58,24055.84,24067.10,24078.36,24089.62,24100.88,24112.14,24123.40,24134.66,24145.93,24157.19,24168.46,24179.72,24190.99,24202.25,24213.52,24224.79,24236.05,24247.32,24258.59,24269.86,24281.13,24292.40,24303.67,24314.95,24326.22,24337.49,24348.77,24360.04,24371.31,24382.59,24393.87,24405.14,24416.42,24427.70,24438.98,24450.26,24461.54,24472.81,24484.10,24495.38,24506.66,24517.94,24529.22,24540.51,24551.79,24563.08,24574.36,24585.65,24596.94,24608.22,24619.51,24630.80,24642.09,24653.38,24664.67,24675.96,24687.25,24698.54,24709.83,24721.12,24732.42,24743.71,24755.01,24766.30,24777.60,24788.89,24800.19,24811.49,24822.79,24834.09,24845.38,24856.68,24867.98,24879.29,24890.59,24901.89,24913.19,24924.49,24935.80,24947.10,24958.41,24969.71,24981.02,24992.33,25003.63,25014.94,25026.25,25037.56,25048.87,25060.18,25071.49,25082.80,25094.11,25105.42,25116.74,25128.05,25139.36,25150.68,25161.99,25173.31,25184.62,25195.94,25207.26,25218.58,25229.90,25241.21,25252.54,25263.86,25275.18,25286.50,25297.82,25309.14,25320.46,25331.79,25343.11,25354.44,25365.76,25377.09,25388.42,25399.74,25411.07,25422.40,25433.73,25445.06,25456.39,25467.72,25479.05,25490.38,25501.71,25513.04,25524.38,25535.71,25547.04,25558.38,25569.71,25581.05,25592.39,25603.72,25615.06,25626.40,25637.74,25649.08,25660.42,25671.76,25683.10,25694.44,25705.78,25717.12,25728.47,25739.81,25751.16,25762.50,25773.85,25785.19,25796.54,25807.89,25819.23,25830.58,25841.93,25853.28,25864.63,25875.98,25887.33,25898.68,25910.04,25921.39,25932.74,25944.10,25955.45,25966.80,25978.16,25989.52,26000.87,26012.23,26023.59,26034.95,26046.30,26057.66,26069.02,26080.38,26091.74,26103.11,26114.47,26125.83,26137.19,26148.56,26159.92,26171.29,26182.65,26194.02,26205.38,26216.75,26228.12,26239.48,26250.85,26262.22,26273.59,26284.96,26296.33,26307.71,26319.08,26330.45,26341.82,26353.20,26364.57,26375.94,26387.32,26398.69,26410.07,26421.45,26432.82,26444.20,26455.58,26466.96,26478.34,26489.72,26501.10,26512.48,26523.86,26535.24,26546.63,26558.01,26569.39,26580.78,26592.16,26603.55,26614.93,26626.32,26637.71,26649.09,26660.48,26671.87,26683.26,26694.65,26706.04,26717.43,26728.82,26740.21,26751.61,26763.00,26774.39,26785.79,26797.18,26808.57,26819.97,26831.37,26842.76,26854.16,26865.56,26876.96,26888.36,26899.75,26911.15,26922.55,26933.96,26945.36,26956.76,26968.16,26979.56,26990.97,27002.37,27013.78,27025.18,27036.59,27047.99,27059.40,27070.81,27082.22,27093.62,27105.03,27116.44,27127.85,27139.26,27150.67,27162.09,27173.50,27184.91,27196.32,27207.74,27219.15,27230.57,27241.98,27253.40,27264.81,27276.23,27287.65,27299.07,27310.48,27321.90,27333.32,27344.74,27356.16,27367.58,27379.01,27390.43,27401.85,27413.27,27424.70,27436.12,27447.54,27458.97,27470.40,27481.82,27493.25,27504.68,27516.11,27527.53,27538.96,27550.39,27561.82,27573.25,27584.68,27596.12,27607.55,27618.98,27630.41,27641.85,27653.28,27664.71,27676.15,27687.59,27699.02,27710.46,27721.90,27733.33,27744.77,27756.21,27767.65,27779.09,27790.53,27801.97,27813.41,27824.85,27836.30,27847.74,27859.18,27870.63,27882.07,27893.52,27904.96,27916.41,27927.86,27939.30,27950.75,27962.20,27973.65,27985.10,27996.54,28007.99,28019.45,28030.90,28042.35,28053.80,28065.25,28076.71,28088.16,28099.62,28111.07,28122.53,28133.98,28145.44,28156.89,28168.35,28179.81,28191.27,28202.73,28214.19,28225.64,28237.11,28248.57,28260.03,28271.49,28282.95,28294.42,28305.88,28317.34,28328.81,28340.27,28351.74,28363.21,28374.67,28386.14,28397.61,28409.07,28420.54,28432.01,28443.48,28454.95,28466.42,28477.89,28489.36,28500.84,28512.31,28523.78,28535.26,28546.73,28558.21,28569.68,28581.16,28592.63,28604.11,28615.59,28627.06,28638.54,28650.02,28661.50,28672.98,28684.46,28695.94,28707.42,28718.90,28730.39,28741.87,28753.35,28764.84,28776.32,28787.80,28799.29,28810.78,28822.26,28833.75,28845.24,28856.72,28868.21,28879.70,28891.19,28902.68,28914.17,28925.66,28937.15,28948.65,28960.14,28971.63,28983.12,28994.62,29006.11,29017.61,29029.10,29040.60,29052.10,29063.59,29075.09,29086.59,29098.09,29109.58,29121.08,29132.58,29144.08,29155.58,29167.09,29178.59,29190.09,29201.59,29213.10,29224.60,29236.10,29247.61,29259.11,29270.62,29282.12,29293.63,29305.14,29316.65,29328.15,29339.66,29351.17,29362.68,29374.19,29385.70,29397.21,29408.73,29420.24,29431.75,29443.27,29454.78,29466.29,29477.81,29489.32,29500.84,29512.36,29523.87,29535.39,29546.91,29558.43,29569.95,29581.46,29592.98,29604.50,29616.03,29627.55,29639.07,29650.59,29662.11,29673.64,29685.16,29696.68,29708.21,29719.73,29731.26,29742.79,29754.31,29765.84,29777.37,29788.89,29800.42,29811.95,29823.48,29835.01,29846.54,29858.07,29869.61,29881.14,29892.67,29904.20,29915.74,29927.27,29938.80,29950.34,29961.88,29973.41,29984.95,29996.48,30008.02,30019.56,30031.10,30042.64,30054.18,30065.71,30077.26,30088.80,30100.34,30111.88,30123.42,30134.96,30146.51,30158.05,30169.60,30181.14,30192.69,30204.23,30215.78,30227.32,30238.87,30250.42,30261.97,30273.52,30285.06,30296.61,30308.16,30319.71,30331.26,30342.81,30354.37,30365.92,30377.47,30389.02,30400.58,30412.13,30423.69,30435.24,30446.79,30458.35,30469.91,30481.46,30493.02,30504.58,30516.14,30527.70,30539.26,30550.82,30562.38,30573.94,30585.50,30597.06,30608.62,30620.19,30631.75,30643.31,30654.88,30666.44,30678.01,30689.57,30701.14,30712.71,30724.27,30735.84,30747.41,30758.98,30770.54,30782.12,30793.69,30805.26,30816.83,30828.40,30839.97,30851.54,30863.11,30874.69,30886.26,30897.83,30909.41,30920.98,30932.56,30944.13,30955.71,30967.29,30978.87,30990.44,31002.02,31013.60,31025.18,31036.76,31048.34,31059.92,31071.50,31083.08,31094.67,31106.25,31117.83,31129.42,31141.00,31152.58,31164.17,31175.76,31187.34,31198.93,31210.51,31222.10,31233.69,31245.28,31256.87,31268.46,31280.04,31291.63,31303.22,31314.82,31326.41,31338.00,31349.59,31361.19,31372.78,31384.37,31395.97,31407.56,31419.16,31430.75,31442.35,31453.95,31465.54,31477.14,31488.74,31500.34,31511.94,31523.54,31535.13,31546.73,31558.34,31569.94,31581.54,31593.14,31604.74,31616.35,31627.95,31639.55,31651.16,31662.77,31674.37,31685.98,31697.58,31709.19,31720.80,31732.40,31744.01,31755.62,31767.23,31778.84,31790.45,31802.06,31813.67,31825.28,31836.89,31848.51,31860.12,31871.73,31883.35,31894.96,31906.58,31918.19,31929.81,31941.42,31953.04,31964.66,31976.27,31987.89,31999.51,32011.13,32022.75,32034.37,32045.99,32057.61,32069.23,32080.85,32092.47,32104.10,32115.72,32127.34,32138.96,32150.59,32162.21,32173.84,32185.46,32197.09,32208.72,32220.35,32231.97,32243.60,32255.23,32266.86,32278.49,32290.12,32301.75,32313.38,32325.01,32336.64,32348.27,32359.91,32371.54,32383.17,32394.81,32406.44,32418.08,32429.71,32441.35,32452.98,32464.62,32476.26,32487.89,32499.53,32511.17,32522.81,32534.45,32546.09,32557.73,32569.37,32581.01,32592.65,32604.29,32615.94,32627.58,32639.22,32650.87,32662.51,32674.15,32685.80,32697.45,32709.09,32720.74,32732.38,32744.03,32755.68,32767.33,32778.98,32790.62,32802.27,32813.92,32825.57,32837.23,32848.88,32860.53,32872.18,32883.84,32895.49,32907.14,32918.79,32930.45,32942.11,32953.76,32965.42,32977.07,32988.73,33000.39,33012.04,33023.70,33035.36,33047.02,33058.68,33070.34,33082.00,33093.66,33105.32,33116.98,33128.65,33140.31,33151.98,33163.64,33175.30,33186.97,33198.63,33210.30,33221.96,33233.63,33245.30,33256.96,33268.63,33280.30,33291.97,33303.64,33315.30,33326.97,33338.64,33350.32,33361.99,33373.66,33385.33,33397.00,33408.68,33420.35,33432.02,33443.70,33455.37,33467.05,33478.72,33490.40,33502.07,33513.75,33525.43,33537.10,33548.78,33560.46,33572.14,33583.82,33595.50,33607.18,33618.86,33630.54,33642.22,33653.91,33665.59,33677.27,33688.96,33700.64,33712.32,33724.01,33735.69,33747.38,33759.07,33770.75,33782.44,33794.13,33805.82,33817.50,33829.19,33840.88,33852.57,33864.26,33875.95,33887.64,33899.34,33911.03,33922.72,33934.41,33946.10,33957.80,33969.49,33981.19,33992.88,34004.58,34016.27,34027.97,34039.66,34051.36,34063.06,34074.76,34086.46,34098.16,34109.86,34121.55,34133.25,34144.95,34156.65,34168.36,34180.06,34191.76,34203.46,34215.17,34226.87,34238.57,34250.28,34261.98,34273.69,34285.39,34297.10,34308.81,34320.52,34332.22,34343.93,34355.64,34367.34,34379.05,34390.77,34402.48,34414.19,34425.90,34437.61,34449.32,34461.03,34472.74,34484.46,34496.17,34507.89,34519.60,34531.32,34543.03,34554.75,34566.46,34578.18,34589.89,34601.61,34613.33,34625.05,34636.77,34648.49,34660.21,34671.93,34683.64,34695.36,34707.09,34718.81,34730.53,34742.25,34753.98,34765.70,34777.42,34789.14,34800.87,34812.59,34824.32,34836.05,34847.77,34859.50,34871.23,34882.95,34894.68,34906.41,34918.14,34929.87,34941.60,34953.33,34965.06,34976.79,34988.52,35000.25,35011.98,35023.71,35035.45,35047.18,35058.92,35070.65,35082.39,35094.12,35105.86,35117.59,35129.33,35141.07,35152.80,35164.54,35176.28,35188.02,35199.76,35211.50,35223.23,35234.97,35246.71,35258.46,35270.20,35281.94,35293.68,35305.43,35317.17,35328.91,35340.65,35352.40,35364.14,35375.89,35387.64,35399.38,35411.13,35422.88,35434.62,35446.37,35458.12,35469.87,35481.62,35493.37,35505.12,35516.87,35528.62,35540.37,35552.12,35563.87,35575.62,35587.38,35599.13,35610.89,35622.64,35634.39,35646.15,35657.90,35669.66,35681.41,35693.17,35704.93,35716.69,35728.45,35740.20,35751.96,35763.72,35775.48,35787.24,35799.00,35810.76,35822.52,35834.29,35846.05,35857.81,35869.57,35881.33,35893.09,35904.86,35916.62,35928.39,35940.16,35951.92,35963.69,35975.45,35987.22,35998.98,36010.75,36022.52,36034.29,36046.06,36057.83,36069.60,36081.37,36093.14,36104.91,36116.68,36128.46,36140.23,36152.00,36163.78,36175.55,36187.32,36199.10,36210.87,36222.64,36234.42,36246.20,36257.98,36269.75,36281.53,36293.31,36305.09,36316.86,36328.64,36340.42,36352.20,36363.98,36375.77,36387.55,36399.33,36411.11,36422.89,36434.67,36446.45,36458.24,36470.02,36481.81,36493.59,36505.38,36517.16,36528.95,36540.73,36552.52,36564.30,36576.09,36587.88,36599.67,36611.46,36623.25,36635.04,36646.83,36658.62,36670.41,36682.20,36693.99,36705.79,36717.58,36729.37,36741.16,36752.96,36764.75,36776.54,36788.34,36800.13,36811.93,36823.73,36835.52,36847.32,36859.12,36870.91,36882.71,36894.51,36906.31,36918.11,36929.91,36941.71,36953.51,36965.31,36977.11,36988.91,37000.71,37012.52,37024.32,37036.12,37047.93,37059.73,37071.54,37083.34,37095.15,37106.95,37118.76,37130.56,37142.37,37154.18,37165.99,37177.80,37189.61,37201.41,37213.22,37225.03,37236.84,37248.65,37260.46,37272.28,37284.09,37295.90,37307.71,37319.53,37331.34,37343.15,37354.96,37366.78,37378.60,37390.41,37402.23,37414.05,37425.86,37437.68,37449.50,37461.31,37473.13,37484.95,37496.77,37508.59,37520.41,37532.23,37544.05,37555.87,37567.69,37579.51,37591.33,37603.16,37614.98,37626.80,37638.63,37650.45,37662.28,37674.10,37685.93,37697.75,37709.57,37721.40,37733.23,37745.06,37756.89,37768.71,37780.54,37792.37,37804.20,37816.03,37827.86,37839.69,37851.52,37863.36,37875.19,37887.02,37898.85,37910.68,37922.52,37934.35,37946.18,37958.02,37969.86,37981.69,37993.53,38005.36,38017.20,38029.04,38040.87,38052.71,38064.55,38076.39,38088.23,38100.07,38111.91,38123.75,38135.59,38147.43,38159.27,38171.11,38182.95,38194.79,38206.64,38218.48,38230.32,38242.17,38254.01,38265.86,38277.70,38289.54,38301.39,38313.24,38325.09,38336.93,38348.78,38360.63,38372.48,38384.32,38396.17,38408.02,38419.87,38431.72,38443.57,38455.43,38467.28,38479.13,38490.98,38502.83,38514.68,38526.54,38538.39,38550.25,38562.10,38573.96,38585.81,38597.67,38609.52,38621.38,38633.23,38645.09,38656.95,38668.81,38680.67,38692.53,38704.39,38716.25,38728.11,38739.96,38751.82,38763.68,38775.55,38787.41,38799.27,38811.14,38823.00,38834.86,38846.73,38858.59,38870.45,38882.32,38894.18,38906.05,38917.92,38929.79,38941.65,38953.52,38965.39,38977.25,38989.12,39000.99,39012.86,39024.73,39036.60,39048.47,39060.34,39072.21,39084.09,39095.96,39107.83,39119.70,39131.57,39143.45,39155.32,39167.20,39179.07,39190.95,39202.82,39214.70,39226.57,39238.45,39250.32,39262.20,39274.08,39285.96,39297.84,39309.72,39321.60,39333.48,39345.36,39357.23,39369.11,39381.00,39392.88,39404.76,39416.64,39428.53,39440.41,39452.29,39464.18,39476.06,39487.94,39499.83,39511.71,39523.60,39535.49,39547.38,39559.26,39571.15,39583.04,39594.92,39606.81,39618.70,39630.59,39642.48,39654.37,39666.26,39678.15,39690.04,39701.93,39713.82,39725.71,39737.61,39749.50,39761.39,39773.29,39785.18,39797.08,39808.97,39820.87,39832.76,39844.66,39856.55,39868.45,39880.35,39892.25,39904.14,39916.04,39927.94,39939.84,39951.74,39963.64,39975.54,39987.44,39999.34,40011.24,40023.14,40035.05,40046.95,40058.85,40070.75,40082.66,40094.56,40106.46,40118.37,40130.27,40142.18,40154.09,40165.99,40177.90,40189.80,40201.71,40213.62,40225.52,40237.43,40249.34,40261.25,40273.16,40285.07,40296.98,40308.89,40320.80,40332.71,40344.62,40356.54,40368.45,40380.37,40392.28,40404.20,40416.11,40428.02,40439.94,40451.85,40463.77,40475.68,40487.60,40499.52,40511.43,40523.35,40535.27,40547.19,40559.11,40571.02,40582.94,40594.86,40606.78,40618.70,40630.62,40642.55,40654.47,40666.39,40678.31,40690.23,40702.16,40714.08,40726.00,40737.93,40749.85,40761.78,40773.70,40785.63,40797.55,40809.48,40821.41,40833.33,40845.26,40857.19,40869.12,40881.05,40892.98,40904.91,40916.84,40928.77,40940.70,40952.62,40964.55,40976.48,40988.42,41000.35,41012.29,41024.22,41036.15,41048.09,41060.02,41071.95,41083.89,41095.82,41107.75,41119.69,41131.63,41143.57,41155.50,41167.44,41179.38,41191.32,41203.25,41215.19,41227.13,41239.07,41251.01,41262.95,41274.89,41286.84,41298.78,41310.72,41322.66,41334.60,41346.54,41358.48,41370.43,41382.38,41394.32,41406.27,41418.21,41430.16,41442.10,41454.05,41465.99,41477.94,41489.89,41501.84,41513.79,41525.73,41537.68,41549.63,41561.58,41573.53,41585.48,41597.43,41609.38,41621.33,41633.29,41645.24,41657.19,41669.14,41681.10,41693.05,41705.00,41716.96,41728.91,41740.86,41752.82,41764.78,41776.73,41788.69,41800.65,41812.61,41824.56,41836.52,41848.48,41860.43,41872.39,41884.35,41896.31,41908.27,41920.23,41932.20,41944.16,41956.12,41968.08,41980.04,41992.00,42003.96,42015.93,42027.89,42039.86,42051.82,42063.79,42075.75,42087.72,42099.68,42111.65,42123.61,42135.58,42147.55,42159.52,42171.49,42183.46,42195.43,42207.39,42219.36,42231.33,42243.30,42255.27,42267.24,42279.21,42291.19,42303.16,42315.13,42327.11,42339.08,42351.05,42363.02,42375.00,42386.97,42398.95,42410.92,42422.90,42434.88,42446.85,42458.83,42470.80,42482.78,42494.76,42506.73,42518.71,42530.69,42542.67,42554.65,42566.63,42578.61,42590.59,42602.57,42614.55,42626.54,42638.52,42650.50,42662.48,42674.46,42686.45,42698.43,42710.42,42722.40,42734.39,42746.37,42758.36,42770.34,42782.32,42794.31,42806.30,42818.29,42830.28,42842.27,42854.25,42866.24,42878.23,42890.22,42902.21,42914.20,42926.19,42938.18,42950.17,42962.16,42974.16,42986.15,42998.14,43010.13,43022.12,43034.12,43046.11,43058.11,43070.10,43082.10,43094.09,43106.09,43118.09,43130.08,43142.08,43154.07,43166.07,43178.07,43190.07,43202.07,43214.07,43226.07,43238.07,43250.07,43262.07,43274.07,43286.07,43298.07,43310.07,43322.07,43334.07,43346.08,43358.08,43370.09,43382.09,43394.09,43406.10,43418.10,43430.11,43442.11,43454.12,43466.12,43478.13,43490.14,43502.15,43514.16,43526.16,43538.17,43550.18,43562.19,43574.20,43586.21,43598.22,43610.23,43622.24,43634.25,43646.27,43658.28,43670.29,43682.30,43694.31,43706.32,43718.34,43730.35,43742.37,43754.38,43766.40,43778.41,43790.43,43802.45,43814.46,43826.48,43838.49,43850.51,43862.53,43874.55,43886.57,43898.59,43910.61,43922.62,43934.64,43946.66,43958.68,43970.70,43982.72,43994.75,44006.77,44018.79,44030.82,44042.84,44054.86,44066.89,44078.91,44090.93,44102.96,44114.98,44127.01,44139.04,44151.06,44163.09,44175.12,44187.14,44199.17,44211.20,44223.23,44235.25,44247.28,44259.31,44271.34,44283.37,44295.40,44307.43,44319.46,44331.50,44343.53,44355.56,44367.59,44379.62,44391.65,44403.69,44415.72,44427.76,44439.79,44451.83,44463.86,44475.90,44487.93,44499.97,44512.00,44524.04,44536.08,44548.12,44560.16,44572.20,44584.23,44596.27,44608.31,44620.35,44632.39,44644.43,44656.47,44668.51,44680.55,44692.59,44704.64,44716.68,44728.72,44740.77,44752.81,44764.85,44776.89,44788.94,44800.98,44813.03,44825.07,44837.12,44849.17,44861.21,44873.26,44885.31,44897.36,44909.40,44921.45,44933.50,44945.54,44957.59,44969.64,44981.70,44993.75,45005.80,45017.85,45029.90,45041.95,45054.00,45066.05,45078.10,45090.16,45102.21,45114.27,45126.32,45138.38,45150.43,45162.48,45174.54,45186.59,45198.65,45210.70,45222.76,45234.82,45246.88,45258.93,45270.99,45283.05,45295.11,45307.17,45319.23,45331.29,45343.34,45355.40,45367.46,45379.53,45391.59,45403.65,45415.71,45427.78,45439.84,45451.90,45463.96,45476.03,45488.09,45500.15,45512.22,45524.29,45536.35,45548.42,45560.48,45572.55,45584.62,45596.68,45608.75,45620.82,45632.88,45644.95,45657.02,45669.09,45681.16,45693.23,45705.30,45717.38,45729.45,45741.52,45753.59,45765.66,45777.73,45789.80,45801.88,45813.95,45826.02,45838.10,45850.17,45862.25,45874.32,45886.39,45898.47,45910.54,45922.62,45934.70,45946.77,45958.85,45970.93,45983.01,45995.09,46007.16,46019.24,46031.32,46043.40,46055.48,46067.56,46079.64,46091.72,46103.80,46115.89,46127.97,46140.05,46152.13,46164.21,46176.30,46188.38,46200.46,46212.55,46224.63,46236.72,46248.80,46260.89,46272.98,46285.06,46297.15,46309.23,46321.32,46333.41,46345.49,46357.58,46369.67,46381.76,46393.85,46405.94,46418.03,46430.12,46442.21,46454.30,46466.39,46478.48,46490.57,46502.66,46514.76,46526.85,46538.95,46551.04,46563.13,46575.23,46587.32,46599.41,46611.51,46623.60,46635.70,46647.80,46659.89,46671.99,46684.09,46696.19,46708.29,46720.38,46732.48,46744.58,46756.68,46768.77,46780.88,46792.98,46805.08,46817.18,46829.28,46841.38,46853.48,46865.59,46877.69,46889.79,46901.89,46913.99,46926.10,46938.20,46950.31,46962.41,46974.52,46986.62,46998.73,47010.84,47022.94,47035.05,47047.15,47059.26,47071.37,47083.48,47095.59,47107.70,47119.80,47131.91,47144.02,47156.13,47168.24,47180.35,47192.46,47204.57,47216.68,47228.80,47240.91,47253.02,47265.14,47277.25,47289.36,47301.48,47313.59,47325.70,47337.82,47349.93,47362.05,47374.16,47386.28,47398.40,47410.52,47422.63,47434.75,47446.87,47458.98,47471.10,47483.22,47495.34,47507.46,47519.58,47531.70,47543.82,47555.94,47568.06,47580.18,47592.30,47604.43,47616.55,47628.67,47640.79,47652.91,47665.04,47677.16,47689.29,47701.41,47713.54,47725.66,47737.79,47749.91,47762.04,47774.16,47786.29,47798.42,47810.55,47822.68,47834.80,47846.93,47859.06,47871.19,47883.32,47895.45,47907.58,47919.71,47931.84,47943.97,47956.10,47968.23,47980.37,47992.50,48004.63,48016.77,48028.90,48041.03,48053.16,48065.30,48077.43,48089.56,48101.70,48113.84,48125.97,48138.11,48150.25,48162.38,48174.52,48186.66,48198.79,48210.93,48223.07,48235.20,48247.34,48259.48,48271.62,48283.77,48295.91,48308.05,48320.19,48332.33,48344.47,48356.61,48368.75,48380.89,48393.04,48405.18,48417.32,48429.47,48441.61,48453.76,48465.90,48478.05,48490.19,48502.34,48514.48,48526.62,48538.77,48550.92,48563.07,48575.22,48587.37,48599.52,48611.66,48623.81,48635.96,48648.11,48660.26,48672.41,48684.55,48696.71,48708.86,48721.01,48733.16,48745.32,48757.47,48769.62,48781.77,48793.93,48806.08,48818.23,48830.38,48842.54,48854.70,48866.85,48879.01,48891.16,48903.32,48915.48,48927.63,48939.79,48951.95,48964.10,48976.26,48988.42,49000.58,49012.74,49024.90,49037.06,49049.22,49061.38,49073.54,49085.70,49097.86,49110.02,49122.18,49134.34,49146.50,49158.67,49170.83,49183.00,49195.16,49207.32,49219.49,49231.65,49243.82,49255.98,49268.14,49280.31,49292.48,49304.64,49316.81,49328.98,49341.15,49353.32,49365.48,49377.65,49389.82,49401.99,49414.16,49426.32,49438.50,49450.67,49462.84,49475.01,49487.18,49499.36,49511.53,49523.70,49535.87,49548.04,49560.21,49572.39,49584.56,49596.73,49608.91,49621.09,49633.26,49645.44,49657.61,49669.79,49681.96,49694.14,49706.32,49718.49,49730.67,49742.84,49755.02,49767.20,49779.38,49791.56,49803.74,49815.92,49828.10,49840.28,49852.46,49864.64,49876.82,49889.00,49901.18,49913.37,49925.55,49937.73,49949.92,49962.10,49974.29,49986.47,49998.65,50010.84,50023.02,50035.20,50047.39,50059.57,50071.76,50083.95,50096.14,50108.32,50120.51,50132.70,50144.89,50157.07,50169.26,50181.45,50193.64,50205.83,50218.02,50230.21,50242.40,50254.59,50266.79,50278.98,50291.17,50303.36,50315.55,50327.74,50339.93,50352.12,50364.32,50376.52,50388.71,50400.91,50413.10,50425.30,50437.49,50449.69,50461.88,50474.08,50486.27,50498.47,50510.66,50522.86,50535.06,50547.26,50559.46,50571.66,50583.86,50596.06,50608.26,50620.46,50632.66,50644.86,50657.05,50669.26,50681.46,50693.66,50705.87,50718.07,50730.27,50742.48,50754.68,50766.88,50779.09,50791.29,50803.49,50815.70,50827.90,50840.11,50852.32,50864.52,50876.73,50888.94,50901.14,50913.35,50925.56,50937.77,50949.97,50962.18,50974.39,50986.60,50998.81,51011.02,51023.23,51035.44,51047.65,51059.86,51072.07,51084.29,51096.50,51108.71,51120.92,51133.13,51145.34,51157.56,51169.77,51181.99,51194.20,51206.42,51218.63,51230.85,51243.06,51255.28,51267.49,51279.71,51291.92,51304.14,51316.36,51328.58,51340.80,51353.02,51365.23,51377.45,51389.67,51401.89,51414.11,51426.33,51438.55,51450.77,51462.99,51475.21,51487.43,51499.66,51511.88,51524.10,51536.32,51548.55,51560.77,51572.99,51585.21,51597.44,51609.66,51621.89,51634.11,51646.34,51658.57,51670.79,51683.02,51695.25,51707.47,51719.70,51731.93,51744.15,51756.38,51768.61,51780.84,51793.07,51805.30,51817.53,51829.76,51841.99,51854.22,51866.45,51878.68,51890.91,51903.14,51915.38,51927.61,51939.84,51952.07,51964.31,51976.54,51988.78,52001.01,52013.25,52025.48,52037.71,52049.95,52062.18,52074.42,52086.65,52098.89,52111.13,52123.37,52135.61,52147.84,52160.08,52172.32,52184.56,52196.80,52209.04,52221.27,52233.51,52245.75,52257.99,52270.23,52282.48,52294.72,52306.96,52319.20,52331.45,52343.69,52355.93,52368.17,52380.41,52392.66,52404.90,52417.14,52429.39,52441.64,52453.88,52466.13,52478.38,52490.62,52502.87,52515.11,52527.36,52539.61,52551.85,52564.10,52576.35,52588.60,52600.85,52613.10,52625.35,52637.60,52649.85,52662.10,52674.35,52686.60,52698.85,52711.10,52723.35,52735.60,52747.86,52760.11,52772.36,52784.62,52796.87,52809.12,52821.38,52833.63,52845.89,52858.14,52870.39,52882.65,52894.91,52907.16,52919.42,52931.68,52943.94,52956.20,52968.45,52980.71,52992.97,53005.23,53017.48,53029.74,53042.00,53054.26,53066.52,53078.78,53091.04,53103.30,53115.57,53127.83,53140.09,53152.35,53164.61,53176.88,53189.14,53201.40,53213.66,53225.93,53238.19,53250.46,53262.72,53274.99,53287.25,53299.52,53311.79,53324.05,53336.32,53348.58,53360.85,53373.11,53385.38,53397.65,53409.92,53422.19,53434.46,53446.73,53459.00,53471.27,53483.54,53495.81,53508.08,53520.35,53532.62,53544.89,53557.16,53569.43,53581.71,53593.98,53606.25,53618.53,53630.80,53643.07,53655.35,53667.62,53679.89,53692.17,53704.44,53716.72,53729.00,53741.27,53753.55,53765.83,53778.11,53790.38,53802.66,53814.94,53827.21,53839.49,53851.77,53864.05,53876.33,53888.61,53900.89,53913.17,53925.45,53937.73,53950.02,53962.30,53974.58,53986.86,53999.14,54011.42,54023.70,54035.98,54048.27,54060.55,54072.84,54085.12,54097.41,54109.70,54121.98,54134.27,54146.55,54158.84,54171.12,54183.41,54195.69,54207.98,54220.27,54232.56,54244.85,54257.14,54269.43,54281.71,54294.00,54306.29,54318.58,54330.87,54343.16,54355.45,54367.74,54380.03,54392.32,54404.62,54416.91,54429.20,54441.50,54453.79,54466.08,54478.38,54490.67,54502.96,54515.25,54527.55,54539.84,54552.14,54564.43,54576.73,54589.03,54601.32,54613.62,54625.92,54638.21,54650.51,54662.81,54675.11,54687.40,54699.70,54712.00,54724.30,54736.60,54748.90,54761.20,54773.50,54785.80,54798.11,54810.41,54822.71,54835.01,54847.31,54859.61,54871.91,54884.21,54896.52,54908.82,54921.13,54933.43,54945.74,54958.04,54970.35,54982.65,54994.96,55007.26,55019.57,55031.87,55044.18,55056.48,55068.79,55081.10,55093.41,55105.72,55118.03,55130.34,55142.64,55154.95,55167.26,55179.57,55191.88,55204.19,55216.50,55228.81,55241.12,55253.44,55265.75,55278.06,55290.38,55302.69,55315.00,55327.31,55339.62,55351.94,55364.25,55376.56,55388.88,55401.20,55413.51,55425.83,55438.14,55450.46,55462.78,55475.09,55487.41,55499.73,55512.04,55524.36,55536.68,55548.99,55561.31,55573.63,55585.95,55598.27,55610.59,55622.91,55635.23,55647.55,55659.88,55672.20,55684.52,55696.84,55709.16,55721.48,55733.80,55746.12,55758.45,55770.77,55783.10,55795.42,55807.75,55820.07,55832.39,55844.72,55857.04,55869.37,55881.69,55894.02,55906.34,55918.67,55931.00,55943.33,55955.66,55967.98,55980.31,55992.64,56004.97,56017.30,56029.62,56041.95,56054.28,56066.61,56078.94,56091.27,56103.61,56115.94,56128.27,56140.60,56152.93,56165.27,56177.60,56189.93,56202.26,56214.59,56226.93,56239.26,56251.60,56263.93,56276.27,56288.61,56300.94,56313.28,56325.61,56337.95,56350.29,56362.62,56374.96,56387.29,56399.63,56411.97,56424.31,56436.65,56448.99,56461.33,56473.67,56486.01,56498.35,56510.69,56523.03,56535.37,56547.71,56560.05,56572.39,56584.73,56597.07,56609.41,56621.76,56634.10,56646.45,56658.79,56671.13,56683.48,56695.82,56708.16,56720.51,56732.85,56745.20,56757.54,56769.89,56782.23,56794.58,56806.93,56819.28,56831.62,56843.97,56856.32,56868.67,56881.02,56893.36,56905.71,56918.06,56930.41,56942.76,56955.11,56967.46,56979.81,56992.16,57004.52,57016.87,57029.22,57041.57,57053.92,57066.27,57078.62,57090.98,57103.33,57115.68,57128.04,57140.39,57152.75,57165.11,57177.46,57189.82,57202.17,57214.53,57226.88,57239.24,57251.59,57263.95,57276.30,57288.66,57301.02,57313.38,57325.74,57338.10,57350.46,57362.82,57375.18,57387.54,57399.90,57412.26,57424.62,57436.98,57449.34,57461.70,57474.06,57486.43,57498.79,57511.15,57523.52,57535.88,57548.24,57560.61,57572.97,57585.33,57597.70,57610.06,57622.42,57634.79,57647.15,57659.52,57671.89,57684.25,57696.62,57708.99,57721.36,57733.72,57746.09,57758.46,57770.82,57783.19,57795.56,57807.93,57820.30,57832.67,57845.04,57857.41,57869.78,57882.15,57894.52,57906.89,57919.27,57931.64,57944.01,57956.38,57968.75,57981.12,57993.50,58005.87,58018.25,58030.62,58043.00,58055.37,58067.75,58080.12,58092.50,58104.87,58117.25,58129.62,58142.00,58154.37,58166.75,58179.12,58191.50,58203.88,58216.26,58228.64,58241.02,58253.40,58265.78,58278.16,58290.54,58302.91,58315.29,58327.67,58340.05,58352.43,58364.82,58377.20,58389.58,58401.96,58414.35,58426.73,58439.11,58451.50,58463.88,58476.26,58488.64,58501.03,58513.41,58525.80,58538.18,58550.57,58562.96,58575.34,58587.73,58600.12,58612.50,58624.89,58637.28,58649.66,58662.05,58674.44,58686.82,58699.21,58711.60,58723.99,58736.38,58748.77,58761.16,58773.55,58785.95,58798.34,58810.73,58823.12,58835.51,58847.90,58860.29,58872.68,58885.07,58897.47,58909.86,58922.26,58934.65,58947.05,58959.44,58971.84,58984.23,58996.62,59009.02,59021.41,59033.81,59046.20,59058.60,59071.00,59083.39,59095.79,59108.19,59120.59,59132.99,59145.39,59157.79,59170.18,59182.58,59194.98,59207.38,59219.78,59232.18,59244.57,59256.98,59269.38,59281.78,59294.18,59306.59,59318.99,59331.39,59343.79,59356.20,59368.60,59381.00,59393.40,59405.80,59418.21,59430.61,59443.02,59455.43,59467.83,59480.24,59492.64,59505.05,59517.46,59529.86,59542.27,59554.68,59567.08,59579.49,59591.89,59604.30,59616.71,59629.12,59641.53,59653.94,59666.35,59678.76,59691.17,59703.58,59715.99,59728.40,59740.81,59753.22,59765.63,59778.04,59790.45,59802.87,59815.28,59827.70,59840.11,59852.52,59864.94,59877.35,59889.77,59902.18,59914.59,59927.01,59939.42,59951.84,59964.25,59976.66,59989.08,60001.50,60013.92,60026.34,60038.75,60051.17,60063.59,60076.01,60088.43,60100.84,60113.26,60125.68,60138.10,60150.52,60162.94,60175.36,60187.78,60200.20,60212.62,60225.05,60237.47,60249.89,60262.31,60274.73,60287.16,60299.58,60312.00,60324.42,60336.84,60349.27,60361.70,60374.12,60386.55,60398.97,60411.40,60423.82,60436.25,60448.68,60461.10,60473.53,60485.95,60498.38,60510.80,60523.23,60535.66,60548.09,60560.52,60572.95,60585.38,60597.81,60610.24,60622.67,60635.10,60647.53,60659.96,60672.39,60684.82,60697.25,60709.68,60722.11,60734.54,60746.98,60759.41,60771.84,60784.28,60796.71,60809.14,60821.58,60834.01,60846.45,60858.88,60871.31,60883.75,60896.18,60908.62,60921.05,60933.49,60945.93,60958.37,60970.80,60983.24,60995.68,61008.12,61020.55,61032.99,61045.43,61057.87,61070.30,61082.74,61095.18,61107.62,61120.07,61132.51,61144.95,61157.39,61169.83,61182.27,61194.71,61207.16,61219.60,61232.04,61244.48,61256.92,61269.36,61281.81,61294.25,61306.70,61319.14,61331.59,61344.04,61356.48,61368.93,61381.37,61393.82,61406.26,61418.71,61431.15,61443.60,61456.04,61468.49,61480.94,61493.39,61505.84,61518.29,61530.74,61543.19,61555.64,61568.09,61580.54,61592.98,61605.43,61617.88,61630.33,61642.78,61655.23,61667.69,61680.14,61692.59,61705.05,61717.50,61729.95,61742.41,61754.86,61767.31,61779.77,61792.22,61804.67,61817.12,61829.58,61842.03,61854.49,61866.95,61879.40,61891.86,61904.32,61916.77,61929.23,61941.69,61954.14,61966.60,61979.06,61991.52,62003.97,62016.43,62028.89,62041.35,62053.81,62066.27,62078.73,62091.19,62103.65,62116.11,62128.57,62141.04,62153.50,62165.96,62178.42,62190.88,62203.34,62215.80,62228.27,62240.73,62253.20,62265.66,62278.12,62290.59,62303.05,62315.52,62327.98,62340.45,62352.91,62365.38,62377.84,62390.31,62402.77,62415.24,62427.71,62440.18,62452.65,62465.12,62477.59,62490.05,62502.52,62514.99,62527.46,62539.93,62552.40,62564.87,62577.34,62589.80,62602.27,62614.75,62627.22,62639.69,62652.16,62664.64,62677.11,62689.58,62702.05,62714.53,62727.00,62739.47,62751.95,62764.42,62776.89,62789.36,62801.84,62814.32,62826.79,62839.27,62851.75,62864.22,62876.70,62889.18,62901.65,62914.13,62926.61,62939.08,62951.56,62964.04,62976.51,62988.99,63001.47,63013.95,63026.43,63038.91,63051.39,63063.88,63076.36,63088.84,63101.32,63113.80,63126.28,63138.76,63151.24,63163.72,63176.20,63188.68,63201.17,63213.65,63226.14,63238.62,63251.11,63263.59,63276.07,63288.56,63301.04,63313.53,63326.01,63338.50,63350.98,63363.46,63375.95,63388.44,63400.93,63413.42,63425.91,63438.39,63450.88,63463.37,63475.86,63488.35,63500.84,63513.32,63525.81,63538.30,63550.79,63563.28,63575.77,63588.26,63600.75,63613.25,63625.74,63638.23,63650.72,63663.21,63675.71,63688.20,63700.69,63713.18,63725.68,63738.17,63750.66,63763.15,63775.65,63788.14,63800.64,63813.14,63825.63,63838.13,63850.62,63863.12,63875.62,63888.11,63900.61,63913.11,63925.60,63938.10,63950.59,63963.09,63975.59,63988.09,64000.59,64013.09,64025.59,64038.09,64050.59,64063.09,64075.59,64088.09,64100.59,64113.09,64125.59,64138.09,64150.59,64163.10,64175.60,64188.11,64200.61,64213.11,64225.62,64238.12,64250.62,64263.13,64275.63,64288.14,64300.64,64313.14,64325.65,64338.15,64350.66,64363.16,64375.67,64388.18,64400.69,64413.20,64425.70,64438.21,64450.72,64463.23,64475.73,64488.24,64500.75,64513.26,64525.77,64538.27,64550.79,64563.30,64575.81,64588.32,64600.83,64613.34,64625.86,64638.37,64650.88,64663.39,64675.90,64688.41,64700.93,64713.44,64725.95,64738.46,64750.98,64763.49,64776.01,64788.52,64801.04,64813.55,64826.07,64838.59,64851.10,64863.62,64876.13,64888.65,64901.16,64913.68,64926.20,64938.71,64951.23,64963.75,64976.27,64988.79,65001.31,65013.83,65026.35,65038.87,65051.39,65063.91,65076.43,65088.95,65101.46,65113.98,65126.50,65139.02,65151.55,65164.07,65176.59,65189.12,65201.64,65214.16,65226.69,65239.21,65251.73,65264.26,65276.78,65289.30,65301.83,65314.35,65326.88,65339.40,65351.93,65364.45,65376.98,65389.51,65402.04,65414.56,65427.09,65439.62,65452.14,65464.67,65477.20,65489.73,65502.25,65514.78,65527.31,65539.84,65552.37,65564.90,65577.43,65589.96,65602.49,65615.02,65627.55,65640.09,65652.62,65665.15,65677.68,65690.21,65702.74,65715.27,65727.80,65740.34,65752.87,65765.40,65777.93,65790.46,65802.99,65815.52,65828.05,65840.59,65853.12,65865.66,65878.20,65890.74,65903.28,65915.82,65928.36,65940.90,65953.44,65965.98,65978.52,65991.05,66003.59,66016.13,66028.67,66041.21,66053.75,66066.29,66078.83,66091.37,66103.91,66116.45,66128.98,66141.52,66154.06,66166.60,66179.14,66191.68,66204.22,66216.76,66229.30,66241.84,66254.38,66266.93,66279.48,66292.02,66304.57,66317.12,66329.66,66342.21,66354.76,66367.30,66379.85,66392.40,66404.95,66417.49,66430.04,66442.59,66455.13,66467.68,66480.23,66492.77,66505.32,66517.87,66530.41,66542.96,66555.51,66568.05,66580.60,66593.15,66605.70,66618.24,66630.79,66643.34,66655.88,66668.44,66680.99,66693.55,66706.10,66718.66,66731.21,66743.77,66756.32,66768.88,66781.43,66793.98,66806.54,66819.09,66831.65,66844.20,66856.76,66869.31,66881.87,66894.42,66906.98,66919.53,66932.09,66944.64,66957.20,66969.75,66982.30,66994.86,67007.41,67019.97,67032.52,67045.08,67057.63,67070.20,67082.76,67095.32,67107.88,67120.45,67133.01,67145.57,67158.13,67170.70,67183.26,67195.82,67208.38,67220.95,67233.51,67246.07,67258.63,67271.20,67283.76,67296.32,67308.88,67321.45,67334.01,67346.57,67359.13,67371.70,67384.26,67396.82,67409.38,67421.95,67434.51,67447.07,67459.63,67472.20,67484.77,67497.34,67509.91,67522.48,67535.05,67547.62,67560.19,67572.76,67585.33,67597.90,67610.47,67623.04,67635.61,67648.18,67660.75,67673.32,67685.89,67698.46,67711.03,67723.60,67736.17,67748.74,67761.31,67773.88,67786.45,67799.02,67811.59,67824.16,67836.73,67849.30,67861.88,67874.45,67887.02,67899.59,67912.17,67924.75,67937.33,67949.91,67962.48,67975.06,67987.64,68000.22,68012.80,68025.38,68037.95,68050.53,68063.11,68075.69,68088.27,68100.84,68113.42,68126.00,68138.58,68151.16,68163.73,68176.31,68188.89,68201.47,68214.05,68226.62,68239.20,68251.78,68264.36,68276.94,68289.52,68302.09,68314.68,68327.27,68339.85,68352.44,68365.02,68377.61,68390.20,68402.78,68415.37,68427.95,68440.54,68453.12,68465.71,68478.30,68490.88,68503.47,68516.05,68528.64,68541.23,68553.81,68566.40,68578.98,68591.57,68604.16,68616.74,68629.33,68641.91,68654.50,68667.09,68679.67,68692.26,68704.84,68717.43,68730.02,68742.62,68755.21,68767.80,68780.40,68792.99,68805.59,68818.18,68830.77,68843.37,68855.96,68868.55,68881.15,68893.74,68906.34,68918.93,68931.52,68944.12,68956.71,68969.30,68981.90,68994.49,69007.09,69019.68,69032.27,69044.87,69057.46,69070.05,69082.65,69095.24,69107.84,69120.43,69133.02,69145.62,69158.22,69170.82,69183.42,69196.02,69208.62,69221.23,69233.83,69246.43,69259.03,69271.63,69284.23,69296.84,69309.44,69322.04,69334.64,69347.24,69359.84,69372.45,69385.05,69397.65,69410.25,69422.85,69435.45,69448.05,69460.66,69473.26,69485.86,69498.46,69511.06,69523.66,69536.27,69548.87,69561.47,69574.08,69586.69,69599.30,69611.91,69624.52,69637.12,69649.73,69662.34,69674.95,69687.56,69700.17,69712.78,69725.39,69738.00,69750.61,69763.22,69775.83,69788.44,69801.05,69813.66,69826.27,69838.88,69851.48,69864.09,69876.70,69889.31,69901.92,69914.53,69927.14,69939.75,69952.36,69964.97,69977.58,69990.19,70002.80,70015.42,70028.04,70040.66,70053.27,70065.89,70078.51,70091.12,70103.74,70116.36,70128.98,70141.59,70154.21,70166.83,70179.45,70192.06,70204.68,70217.30,70229.91,70242.53,70255.15,70267.77,70280.38,70293.00,70305.62,70318.23,70330.85,70343.47,70356.09,70368.70,70381.32,70393.94,70406.55,70419.17,70431.80,70444.42,70457.05,70469.67,70482.30,70494.92,70507.55,70520.17,70532.80,70545.42,70558.05,70570.67,70583.30,70595.92,70608.55,70621.17,70633.80,70646.42,70659.05,70671.67,70684.30,70696.92,70709.55,70722.17,70734.80,70747.42,70760.05,70772.67,70785.30,70797.92,70810.55,70823.17,70835.80,70848.42,70861.05,70873.68,70886.31,70898.95,70911.58,70924.21,70936.84,70949.48,70962.11,70974.74,70987.38,71000.01,71012.64,71025.27,71037.91,71050.54,71063.17,71075.80,71088.44,71101.07,71113.70,71126.34,71138.97,71151.60,71164.23,71176.87,71189.50,71202.13,71214.77,71227.40,71240.03,71252.66,71265.30,71277.93,71290.56,71303.20,71315.84,71328.48,71341.12,71353.77,71366.41,71379.05,71391.69,71404.33,71416.97,71429.61,71442.25,71454.89,71467.53,71480.17,71492.81,71505.45,71518.09,71530.73,71543.38,71556.02,71568.66,71581.30,71593.94,71606.58,71619.22,71631.86,71644.50,71657.14,71669.78,71682.42,71695.06,71707.70,71720.34,71732.99,71745.64,71758.29,71770.94,71783.59,71796.23,71808.88,71821.53,71834.18,71846.83,71859.48,71872.12,71884.77,71897.42,71910.07,71922.72,71935.37,71948.02,71960.66,71973.31,71985.96,71998.61,72011.26,72023.91,72036.55,72049.20,72061.85,72074.50,72087.15,72099.80,72112.45,72125.09,72137.74,72150.39,72163.04,72175.70,72188.35,72201.01,72213.66,72226.32,72238.98,72251.63,72264.29,72276.95,72289.60,72302.26,72314.91,72327.57,72340.23,72352.88,72365.54,72378.20,72390.85,72403.51,72416.16,72428.82,72441.48,72454.13,72466.79,72479.45,72492.10,72504.76,72517.41,72530.07,72542.73,72555.38,72568.04,72580.70,72593.35,72606.01,72618.67,72631.34,72644.00,72656.66,72669.33,72681.99,72694.66,72707.32,72719.98,72732.65,72745.31,72757.98,72770.64,72783.30,72795.97,72808.63,72821.30,72833.96,72846.62,72859.29,72871.95,72884.62,72897.28,72909.95,72922.61,72935.27,72947.94,72960.60,72973.27,72985.93,72998.59,73011.26,73023.92,73036.59,73049.25,73061.92,73074.59,73087.27,73099.94,73112.61,73125.28,73137.95,73150.62,73163.30,73175.97,73188.64,73201.31,73213.98,73226.66,73239.33,73252.00,73264.67,73277.34,73290.02,73302.69,73315.36,73328.03,73340.70,73353.38,73366.05,73378.72,73391.39,73404.06,73416.73,73429.41,73442.08,73454.75,73467.42,73480.09,73492.77,73505.44,73518.12,73530.80,73543.48,73556.16,73568.84,73581.52,73594.20,73606.88,73619.55,73632.23,73644.91,73657.59,73670.27,73682.95,73695.63,73708.31,73720.99,73733.67,73746.35,73759.03,73771.71,73784.39,73797.07,73809.75,73822.43,73835.11,73847.79,73860.47,73873.15,73885.83,73898.51,73911.19,73923.87,73936.55,73949.23,73961.91,73974.60,73987.29,73999.98,74012.66,74025.35,74038.04,74050.73,74063.41,74076.10,74088.79,74101.48,74114.16,74126.85,74139.54,74152.23,74164.91,74177.60,74190.29,74202.98,74215.66,74228.35,74241.04,74253.73,74266.41,74279.10,74291.79,74304.48,74317.16,74329.85,74342.54,74355.23,74367.91,74380.60,74393.29,74405.98,74418.67,74431.37,74444.06,74456.76,74469.45,74482.15,74494.84,74507.54,74520.23,74532.93,74545.62,74558.32,74571.02,74583.71,74596.41,74609.10,74621.80,74634.49,74647.19,74659.88,74672.58,74685.27,74697.97,74710.66,74723.36,74736.05,74748.75,74761.45,74774.14,74786.84,74799.53,74812.23,74824.92,74837.62,74850.31,74863.01,74875.71,74888.41,74901.12,74913.82,74926.52,74939.23,74951.93,74964.63,74977.34,74990.04,75002.74,75015.45,75028.15,75040.85,75053.55,75066.26,75078.96,75091.66,75104.37,75117.07,75129.77,75142.48,75155.18,75167.88,75180.59,75193.29,75205.99,75218.70,75231.40,75244.10,75256.80,75269.51,75282.21,75294.91,75307.62,75320.32,75333.03,75345.74,75358.45,75371.16,75383.88,75396.59,75409.30,75422.01,75434.72,75447.43,75460.14,75472.85,75485.56,75498.27,75510.98,75523.70,75536.41,75549.12,75561.83,75574.54,75587.25,75599.96,75612.67,75625.38,75638.09,75650.80,75663.52,75676.23,75688.94,75701.65,75714.36,75727.07,75739.78,75752.49,75765.20,75777.91,75790.63,75803.35,75816.07,75828.79,75841.51,75854.23,75866.95,75879.66,75892.38,75905.10,75917.82,75930.54,75943.26,75955.98,75968.70,75981.41,75994.13,76006.85,76019.57,76032.29,76045.01,76057.73,76070.45,76083.16,76095.88,76108.60,76121.32,76134.04,76146.76,76159.48,76172.20,76184.91,76197.63,76210.35,76223.07,76235.79,76248.51,76261.23,76273.96,76286.69,76299.41,76312.14,76324.87,76337.59,76350.32,76363.05,76375.77,76388.50,76401.23,76413.95,76426.68,76439.41,76452.13,76464.86,76477.59,76490.31,76503.04,76515.77,76528.49,76541.22,76553.95,76566.67,76579.40,76592.12,76604.85,76617.58,76630.30,76643.03,76655.76,76668.48,76681.21,76693.94,76706.66,76719.40,76732.13,76744.87,76757.60,76770.34,76783.07,76795.80,76808.54,76821.27,76834.01,76846.74,76859.48,76872.21,76884.95,76897.68,76910.41,76923.15,76935.88,76948.62,76961.35,76974.09,76986.82,76999.55,77012.29,77025.02,77037.76,77050.49,77063.23,77075.96,77088.70,77101.43,77114.16,77126.90,77139.63,77152.37,77165.10,77177.84,77190.58,77203.32,77216.06,77228.80,77241.55,77254.29,77267.03,77279.77,77292.52,77305.26,77318.00,77330.74,77343.48,77356.23,77368.97,77381.71,77394.45,77407.20,77419.94,77432.68,77445.42,77458.16,77470.91,77483.65,77496.39,77509.13,77521.88,77534.62,77547.36,77560.10,77572.84,77585.59,77598.33,77611.07,77623.81,77636.55,77649.30,77662.05,77674.80,77687.55,77700.30,77713.05,77725.80,77738.55,77751.30,77764.05,77776.80,77789.55,77802.30,77815.05,77827.80,77840.55,77853.30,77866.05,77878.80,77891.55,77904.30,77917.05,77929.80,77942.55,77955.30,77968.05,77980.80,77993.55,78006.30,78019.05,78031.80,78044.55,78057.30,78070.05,78082.80,78095.55,78108.30,78121.05,78133.80,78146.55,78159.31,78172.07,78184.83,78197.59,78210.34,78223.10,78235.86,78248.62,78261.38,78274.13,78286.89,78299.65,78312.41,78325.16,78337.92,78350.68,78363.44,78376.20,78388.95,78401.71,78414.47,78427.23,78439.98,78452.74,78465.50,78478.26,78491.02,78503.77,78516.53,78529.29,78542.05,78554.80,78567.56,78580.32,78593.08,78605.84,78618.60,78631.37,78644.13,78656.90,78669.66,78682.43,78695.20,78707.96,78720.73,78733.49,78746.26,78759.02,78771.79,78784.55,78797.32,78810.09,78822.85,78835.62,78848.38,78861.15,78873.91,78886.68,78899.45,78912.21,78924.98,78937.74,78950.51,78963.27,78976.04,78988.80,79001.57,79014.34,79027.10,79039.87,79052.63,79065.40,79078.16,79090.93,79103.70,79116.48,79129.25,79142.02,79154.80,79167.57,79180.34,79193.12,79205.89,79218.66,79231.44,79244.21,79256.98,79269.76,79282.53,79295.30,79308.08,79320.85,79333.62,79346.40,79359.17,79371.95,79384.72,79397.49,79410.27,79423.04,79435.81,79448.59,79461.36,79474.13,79486.91,79499.68,79512.45,79525.23,79538.00,79550.77,79563.55,79576.32,79589.10,79601.88,79614.66,79627.45,79640.23,79653.01,79665.79,79678.57,79691.35,79704.13,79716.91,79729.70,79742.48,79755.26,79768.04,79780.82,79793.60,79806.38,79819.16,79831.95,79844.73,79857.51,79870.29,79883.07,79895.85,79908.63,79921.41,79934.20,79946.98,79959.76,79972.54,79985.32,79998.10,80010.88,80023.66,80036.45,80049.23,80062.01,80074.80,80087.59,80100.38,80113.16,80125.95,80138.74,80151.53,80164.32,80177.11,80189.90,80202.69,80215.48,80228.27,80241.05,80253.84,80266.63,80279.42,80292.21,80305.00,80317.79,80330.58,80343.37,80356.16,80368.95,80381.73,80394.52,80407.31,80420.10,80432.89,80445.68,80458.47,80471.26,80484.05,80496.84,80509.62,80522.41,80535.20,80547.99,80560.79,80573.59,80586.38,80599.18,80611.98,80624.77,80637.57,80650.37,80663.16,80675.96,80688.76,80701.55,80714.35,80727.15,80739.95,80752.74,80765.54,80778.34,80791.13,80803.93,80816.73,80829.52,80842.32,80855.12,80867.91,80880.71,80893.51,80906.30,80919.10,80931.90,80944.70,80957.49,80970.29,80983.09,80995.88,81008.68,81021.48,81034.27,81047.07,81059.88,81072.68,81085.48,81098.29,81111.09,81123.90,81136.70,81149.51,81162.31,81175.12,81187.92,81200.73,81213.53,81226.34,81239.14,81251.95,81264.75,81277.55,81290.36,81303.16,81315.97,81328.77,81341.58,81354.38,81367.19,81379.99,81392.80,81405.60,81418.41,81431.21,81444.02,81456.82,81469.62,81482.43,81495.23,81508.04,81520.84,81533.65,81546.45,81559.27,81572.08,81584.89,81597.70,81610.52,81623.33,81636.14,81648.95,81661.77,81674.58,81687.39,81700.20,81713.02,81725.83,81738.64,81751.45,81764.27,81777.08,81789.89,81802.70,81815.52,81828.33,81841.14,81853.95,81866.77,81879.58,81892.39,81905.20,81918.02,81930.83,81943.64,81956.45,81969.27,81982.08,81994.89,82007.70,82020.52,82033.33,82046.14,82058.96,82071.78,82084.60,82097.42,82110.24,82123.06,82135.88,82148.70,82161.52,82174.34,82187.16,82199.98,82212.80,82225.62,82238.45,82251.27,82264.09,82276.91,82289.73,82302.55,82315.37,82328.19,82341.01,82353.83,82366.65,82379.47,82392.29,82405.11,82417.93,82430.75,82443.57,82456.39,82469.21,82482.03,82494.85,82507.67,82520.49,82533.31,82546.13,82558.96,82571.79,82584.62,82597.45,82610.27,82623.10,82635.93,82648.76,82661.59,82674.41,82687.24,82700.07,82712.90,82725.73,82738.55,82751.38,82764.21,82777.04,82789.87,82802.70,82815.52,82828.35,82841.18,82854.01,82866.84,82879.66,82892.49,82905.32,82918.15,82930.98,82943.80,82956.63,82969.46,82982.29,82995.12,83007.95,83020.77,83033.60,83046.43,83059.27,83072.10,83084.94,83097.77,83110.61,83123.45,83136.28,83149.12,83161.95,83174.79,83187.62,83200.46,83213.30,83226.13,83238.97,83251.80,83264.64,83277.48,83290.31,83303.15,83315.98,83328.82,83341.66,83354.49,83367.33,83380.16,83393.00,83405.84,83418.67,83431.51,83444.34,83457.18,83470.02,83482.85,83495.69,83508.52,83521.36,83534.20,83547.03,83559.87,83572.71,83585.55,83598.40,83611.24,83624.09,83636.93,83649.77,83662.62,83675.46,83688.30,83701.15,83713.99,83726.84,83739.68,83752.52,83765.37,83778.21,83791.05,83803.90,83816.74,83829.59,83842.43,83855.27,83868.12,83880.96,83893.80,83906.65,83919.49,83932.34,83945.18,83958.02,83970.87,83983.71,83996.55,84009.40,84022.24,84035.09,84047.93,84060.77,84073.62,84086.47,84099.32,84112.17,84125.02,84137.88,84150.73,84163.58,84176.43,84189.28,84202.13,84214.98,84227.84,84240.69,84253.54,84266.39,84279.24,84292.09,84304.95,84317.80,84330.65,84343.50,84356.35,84369.20,84382.05,84394.91,84407.76,84420.61,84433.46,84446.31,84459.16,84472.02,84484.87,84497.72,84510.57,84523.42,84536.27,84549.12,84561.98,84574.83,84587.68,84600.54,84613.40,84626.26,84639.12,84651.98,84664.84,84677.70,84690.55,84703.41,84716.27,84729.13,84741.99,84754.85,84767.71,84780.57,84793.43,84806.29,84819.15,84832.01,84844.87,84857.73,84870.59,84883.45,84896.30,84909.16,84922.02,84934.88,84947.74,84960.60,84973.46,84986.32,84999.18,85012.04,85024.90,85037.76,85050.62,85063.48,85076.34,85089.20,85102.05,85114.92,85127.79,85140.66,85153.52,85166.39,85179.26,85192.12,85204.99,85217.86,85230.73,85243.59,85256.46,85269.33,85282.20,85295.06,85307.93,85320.80,85333.66,85346.53,85359.40,85372.27,85385.13,85398.00,85410.87,85423.73,85436.60,85449.47,85462.34,85475.20,85488.07,85500.94,85513.80,85526.67,85539.54,85552.41,85565.27,85578.14,85591.01,85603.88,85616.74,85629.62,85642.49,85655.37,85668.24,85681.12,85693.99,85706.87,85719.74,85732.62,85745.49,85758.37,85771.24,85784.12,85796.99,85809.87,85822.74,85835.62,85848.49,85861.37,85874.24,85887.12,85899.99,85912.87,85925.74,85938.62,85951.49,85964.37,85977.24,85990.12,86002.99,86015.87,86028.74,86041.62,86054.49,86067.37,86080.24,86093.12,86105.99,86118.87,86131.74,86144.62,86157.50,86170.38,86183.27,86196.15,86209.03,86221.91,86234.80,86247.68,86260.56,86273.45,86286.33,86299.21,86312.09,86324.98,86337.86,86350.74,86363.62,86376.51,86389.39,86402.27,86415.16,86428.04,86440.92,86453.80,86466.69,86479.57,86492.45,86505.34,86518.22,86531.10,86543.98,86556.87,86569.75,86582.63,86595.52,86608.40,86621.28,86634.16,86647.05,86659.93,86672.81,86685.70,86698.59,86711.48,86724.38,86737.27,86750.16,86763.05,86775.94,86788.83,86801.72,86814.61,86827.50,86840.39,86853.28,86866.17,86879.06,86891.95,86904.84,86917.73,86930.62,86943.52,86956.41,86969.30,86982.19,86995.08,87007.97,87020.86,87033.75,87046.64,87059.53,87072.42,87085.31,87098.20,87111.09,87123.98,87136.88,87149.77,87162.66,87175.55,87188.44,87201.33,87214.23,87227.12,87240.02,87252.92,87265.82,87278.72,87291.62,87304.52,87317.41,87330.31,87343.21,87356.11,87369.01,87381.91,87394.80,87407.70,87420.60,87433.50,87446.40,87459.30,87472.20,87485.09,87497.99,87510.89,87523.79,87536.69,87549.59,87562.48,87575.38,87588.28,87601.18,87614.08,87626.98,87639.88,87652.77,87665.67,87678.57,87691.47,87704.37,87717.27,87730.16,87743.07,87755.98,87768.88,87781.79,87794.70,87807.60,87820.51,87833.41,87846.32,87859.23,87872.13,87885.04,87897.95,87910.85,87923.76,87936.66,87949.57,87962.48,87975.38,87988.29,88001.20,88014.10,88027.01,88039.91,88052.82,88065.73,88078.63,88091.54,88104.45,88117.35,88130.26,88143.16,88156.07,88168.98,88181.88,88194.79,88207.70,88220.60,88233.51,88246.41,88259.32,88272.23,88285.14,88298.05,88310.97,88323.88,88336.80,88349.71,88362.62,88375.54,88388.45,88401.37,88414.28,88427.20,88440.11,88453.02,88465.94,88478.85,88491.77,88504.68,88517.59,88530.51,88543.42,88556.34,88569.25,88582.16,88595.08,88607.99,88620.91,88633.82,88646.73,88659.65,88672.56,88685.48,88698.39,88711.30,88724.22,88737.13,88750.05,88762.96,88775.88,88788.79,88801.70,88814.62,88827.54,88840.46,88853.38,88866.30,88879.23,88892.15,88905.07,88917.99,88930.91,88943.84,88956.76,88969.68,88982.60,88995.52,89008.45,89021.37,89034.29,89047.21,89060.13,89073.05,89085.98,89098.90,89111.82,89124.74,89137.66,89150.59,89163.51,89176.43,89189.35,89202.27,89215.20,89228.12,89241.04,89253.96,89266.88,89279.80,89292.73,89305.65,89318.57,89331.49,89344.41,89357.34,89370.27,89383.20,89396.12,89409.05,89421.98,89434.91,89447.84,89460.77,89473.70,89486.63,89499.56,89512.49,89525.42,89538.35,89551.28,89564.21,89577.14,89590.07,89603.00,89615.93,89628.86,89641.79,89654.72,89667.65,89680.58,89693.51,89706.44,89719.37,89732.30,89745.23,89758.16,89771.09,89784.02,89796.95,89809.88,89822.80,89835.73,89848.66,89861.59,89874.52,89887.45,89900.38,89913.32,89926.26,89939.20,89952.13,89965.07,89978.01,89990.95,90003.88,90016.82,90029.76,90042.70,90055.63,90068.57,90081.51,90094.45,90107.38,90120.32,90133.26,90146.20,90159.13,90172.07,90185.01,90197.95,90210.88,90223.82,90236.76,90249.70,90262.63,90275.57,90288.51,90301.45,90314.38,90327.32,90340.26,90353.20,90366.13,90379.07,90392.01,90404.95,90417.88,90430.82,90443.76,90456.70,90469.65,90482.59,90495.54,90508.48,90521.43,90534.38,90547.32,90560.27,90573.21,90586.16,90599.10,90612.05,90624.99,90637.94,90650.88,90663.83,90676.77,90689.72,90702.66,90715.61,90728.55,90741.50,90754.45,90767.39,90780.34,90793.28,90806.23,90819.17,90832.12,90845.06,90858.01,90870.95,90883.90,90896.84,90909.79,90922.73,90935.68,90948.62,90961.57,90974.52,90987.46,91000.41,91013.36,91026.31,91039.27,91052.22,91065.17,91078.12,91091.08,91104.03,91116.98,91129.94,91142.89,91155.84,91168.80,91181.75,91194.70,91207.66,91220.61,91233.56,91246.52,91259.47,91272.42,91285.38,91298.33,91311.28,91324.23,91337.19,91350.14,91363.09,91376.05,91389.00,91401.95,91414.91,91427.86,91440.81,91453.77,91466.72,91479.67,91492.62,91505.58,91518.53,91531.48,91544.44,91557.39,91570.35,91583.31,91596.27,91609.23,91622.20,91635.16,91648.12,91661.08,91674.04,91687.00,91699.96,91712.92,91725.88,91738.84,91751.80,91764.77,91777.73,91790.69,91803.65,91816.61,91829.57,91842.53,91855.49,91868.45,91881.41,91894.38,91907.34,91920.30,91933.26,91946.22,91959.18,91972.14,91985.10,91998.06,92011.02,92023.98,92036.95,92049.91,92062.87,92075.83,92088.79,92101.75,92114.71,92127.68,92140.65,92153.62,92166.59,92179.55,92192.52,92205.49,92218.46,92231.43,92244.40,92257.37,92270.34,92283.30,92296.27,92309.24,92322.21,92335.18,92348.15,92361.12,92374.09,92387.05,92400.02,92412.99,92425.96,92438.93,92451.90,92464.87,92477.84,92490.80,92503.77,92516.74,92529.71,92542.68,92555.65,92568.62,92581.59,92594.55,92607.52,92620.49,92633.46,92646.43,92659.40,92672.37,92685.34,92698.31,92711.29,92724.27,92737.24,92750.22,92763.20,92776.17,92789.15,92802.12,92815.10,92828.08,92841.05,92854.03,92867.01,92879.98,92892.96,92905.94,92918.91,92931.89,92944.87,92957.84,92970.82,92983.80,92996.77,93009.75,93022.73,93035.70,93048.68,93061.66,93074.63,93087.61,93100.59,93113.56,93126.54,93139.52,93152.49,93165.47,93178.45,93191.42,93204.40,93217.38,93230.35,93243.33,93256.31,93269.30,93282.28,93295.27,93308.25,93321.23,93334.22,93347.20,93360.19,93373.17,93386.16,93399.14,93412.12,93425.11,93438.09,93451.08,93464.06,93477.05,93490.03,93503.02,93516.00,93528.98,93541.97,93554.95,93567.94,93580.92,93593.91,93606.89,93619.88,93632.86,93645.84,93658.83,93671.81,93684.80,93697.78,93710.77,93723.75,93736.73,93749.72,93762.70,93775.69,93788.67,93801.66,93814.64,93827.63,93840.62,93853.62,93866.61,93879.60,93892.59,93905.59,93918.58,93931.57,93944.56,93957.55,93970.55,93983.54,93996.53,94009.52,94022.52,94035.51,94048.50,94061.49,94074.48,94087.48,94100.47,94113.46,94126.45,94139.45,94152.44,94165.43,94178.42,94191.41,94204.41,94217.40,94230.39,94243.38,94256.38,94269.37,94282.36,94295.35,94308.34,94321.34,94334.33,94347.32,94360.31,94373.30,94386.30,94399.30,94412.30,94425.30,94438.30,94451.30,94464.30,94477.30,94490.30,94503.30,94516.30,94529.30,94542.30,94555.30,94568.30,94581.30,94594.30,94607.30,94620.30,94633.30,94646.30,94659.30,94672.30,94685.30,94698.30,94711.30,94724.30,94737.30,94750.30,94763.30,94776.30,94789.30,94802.30,94815.30,94828.30,94841.30,94854.30,94867.30,94880.30,94893.30,94906.30,94919.30,94932.30,94945.30,94958.30,94971.30,94984.30,94997.31,95010.32,95023.33,95036.34,95049.34,95062.35,95075.36,95088.37,95101.38,95114.38,95127.39,95140.40,95153.41,95166.41,95179.42,95192.43,95205.44,95218.45,95231.45,95244.46,95257.47,95270.48,95283.48,95296.49,95309.50,95322.51,95335.52,95348.52,95361.53,95374.54,95387.55,95400.55,95413.56,95426.57,95439.58,95452.59,95465.59,95478.60,95491.61,95504.62,95517.62,95530.63,95543.64,95556.66,95569.67,95582.69,95595.70,95608.72,95621.73,95634.75,95647.77,95660.78,95673.80,95686.81,95699.83,95712.84,95725.86,95738.88,95751.89,95764.91,95777.92,95790.94,95803.95,95816.97,95829.98,95843.00,95856.02,95869.03,95882.05,95895.06,95908.08,95921.09,95934.11,95947.12,95960.14,95973.16,95986.17,95999.19,96012.20,96025.22,96038.23,96051.25,96064.27,96077.28,96090.30,96103.31,96116.33,96129.34,96142.37,96155.39,96168.41,96181.44,96194.46,96207.48,96220.51,96233.53,96246.55,96259.58,96272.60,96285.62,96298.65,96311.67,96324.70,96337.72,96350.74,96363.77,96376.79,96389.81,96402.84,96415.86,96428.88,96441.91,96454.93,96467.95,96480.98,96494.00,96507.02,96520.05,96533.07,96546.09,96559.12,96572.14,96585.16,96598.19,96611.21,96624.23,96637.26,96650.28,96663.30,96676.33,96689.35,96702.38,96715.40,96728.43,96741.46,96754.49,96767.52,96780.55,96793.59,96806.62,96819.65,96832.68,96845.71,96858.74,96871.77,96884.80,96897.84,96910.87,96923.90,96936.93,96949.96,96962.99,96976.02,96989.05,97002.09,97015.12,97028.15,97041.18,97054.21,97067.24,97080.27,97093.30,97106.34,97119.37,97132.40,97145.43,97158.46,97171.49,97184.52,97197.55,97210.59,97223.62,97236.65,97249.68,97262.71,97275.74,97288.77,97301.80,97314.84,97327.88,97340.91,97353.95,97366.99,97380.03,97393.07,97406.11,97419.15,97432.19,97445.23,97458.27,97471.30,97484.34,97497.38,97510.42,97523.46,97536.50,97549.54,97562.58,97575.62,97588.66,97601.70,97614.73,97627.77,97640.81,97653.85,97666.89,97679.93,97692.97,97706.01,97719.05,97732.09,97745.12,97758.16,97771.20,97784.24,97797.28,97810.32,97823.36,97836.40,97849.44,97862.48,97875.52,97888.55,97901.59,97914.64,97927.69,97940.73,97953.78,97966.83,97979.88,97992.92,98005.97,98019.02,98032.06,98045.11,98058.16,98071.20,98084.25,98097.30,98110.34,98123.39,98136.44,98149.48,98162.53,98175.58,98188.62,98201.67,98214.72,98227.77,98240.81,98253.86,98266.91,98279.95,98293.00,98306.05,98319.09,98332.14,98345.19,98358.23,98371.28,98384.33,98397.38,98410.42,98423.47,98436.52,98449.56,98462.61,98475.66,98488.70,98501.75,98514.80,98527.86,98540.91,98553.97,98567.02,98580.08,98593.13,98606.19,98619.24,98632.30,98645.35,98658.41,98671.46,98684.52,98697.57,98710.62,98723.68,98736.73,98749.79,98762.84,98775.90,98788.95,98802.01,98815.06,98828.12,98841.17,98854.23,98867.28,98880.34,98893.39,98906.45,98919.50,98932.55,98945.61,98958.66,98971.72,98984.77,98997.83,99010.88,99023.94,99036.99,99050.05,99063.10,99076.16,99089.21,99102.27,99115.33,99128.39,99141.45,99154.52,99167.58,99180.64,99193.70,99206.77,99219.83,99232.89,99245.95,99259.02,99272.08,99285.14,99298.20,99311.27,99324.33,99337.39,99350.45,99363.52,99376.58,99389.64,99402.70,99415.77,99428.83,99441.89,99454.95,99468.02,99481.08,99494.14,99507.20,99520.27,99533.33,99546.39,99559.45,99572.52,99585.58,99598.64,99611.70,99624.77,99637.83,99650.89,99663.95,99677.02,99690.08,99703.14,99716.21,99729.28,99742.35,99755.42,99768.49,99781.56,99794.63,99807.70,99820.77,99833.84,99846.91,99859.98,99873.05,99886.12,99899.20,99912.27,99925.34,99938.41,99951.48,99964.55,99977.62,99990.69,100003.76,100016.83,100029.90,100042.97,100056.04,100069.11,100082.18,100095.25,100108.32,100121.39,100134.46,100147.53,100160.60,100173.67,100186.74,100199.81,100212.88,100225.95,100239.02,100252.09,100265.16,100278.23,100291.30,100304.38,100317.45,100330.52,100343.60,100356.68,100369.76,100382.84,100395.91,100408.99,100422.07,100435.15,100448.23,100461.30,100474.38,100487.46,100500.54,100513.62,100526.70,100539.77,100552.85,100565.93,100579.01,100592.09,100605.16,100618.24,100631.32,100644.40,100657.48,100670.55,100683.63,100696.71,100709.79,100722.87,100735.95,100749.02,100762.10,100775.18,100788.26,100801.34,100814.41,100827.49,100840.57,100853.65,100866.73,100879.80,100892.88,100905.96,100919.04,100932.12,100945.20,100958.29,100971.38,100984.46,100997.55,101010.63,101023.72,101036.80,101049.89,101062.98,101076.06,101089.15,101102.23,101115.32,101128.41,101141.49,101154.58,101167.66,101180.75,101193.84,101206.92,101220.01,101233.09,101246.18,101259.27,101272.35,101285.44,101298.52,101311.61,101324.70,101337.78,101350.87,101363.95,101377.04,101390.12,101403.21,101416.30,101429.38,101442.47,101455.55,101468.64,101481.73,101494.81,101507.90,101520.98,101534.07,101547.16,101560.25,101573.34,101586.44,101599.53,101612.62,101625.72,101638.81,101651.91,101665.00,101678.09,101691.19,101704.28,101717.38,101730.47,101743.56,101756.66,101769.75,101782.84,101795.94,101809.03,101822.12,101835.22,101848.31,101861.41,101874.50,101887.59,101900.69,101913.78,101926.88,101939.97,101953.06,101966.16,101979.25,101992.34,102005.44,102018.53,102031.62,102044.72,102057.81,102070.91,102084.00,102097.09,102110.19,102123.28,102136.38,102149.47,102162.56,102175.66,102188.77,102201.87,102214.97,102228.07,102241.17,102254.27,102267.38,102280.48,102293.58,102306.68,102319.78,102332.88,102345.98,102359.09,102372.19,102385.29,102398.39,102411.49,102424.59,102437.70,102450.80,102463.90,102477.00,102490.10,102503.20,102516.30,102529.41,102542.51,102555.61,102568.71,102581.81,102594.91,102608.02,102621.12,102634.22,102647.32,102660.42,102673.52,102686.62,102699.73,102712.83,102725.93,102739.03,102752.13,102765.23,102778.34,102791.44,102804.55,102817.66,102830.77,102843.88,102856.98,102870.09,102883.20,102896.31,102909.42,102922.53,102935.64,102948.75,102961.86,102974.97,102988.08,103001.19,103014.30,103027.41,103040.52,103053.62,103066.73,103079.84,103092.95,103106.06,103119.17,103132.28,103145.39,103158.50,103171.61,103184.72,103197.83,103210.94,103224.05,103237.16,103250.27,103263.38,103276.48,103289.59,103302.70,103315.81,103328.92,103342.03,103355.14,103368.25,103381.36,103394.47,103407.58,103420.69,103433.80,103446.92,103460.04,103473.16,103486.27,103499.39,103512.51,103525.62,103538.74,103551.86,103564.98,103578.09,103591.21,103604.33,103617.45,103630.56,103643.68,103656.80,103669.91,103683.03,103696.15,103709.27,103722.38,103735.50,103748.62,103761.73,103774.85,103787.97,103801.09,103814.20,103827.32,103840.44,103853.55,103866.67,103879.79,103892.91,103906.02,103919.14,103932.26,103945.38,103958.49,103971.61,103984.73,103997.84,104010.96,104024.08,104037.20,104050.31,104063.44,104076.56,104089.69,104102.81,104115.94,104129.06,104142.19,104155.31,104168.44,104181.56,104194.69,104207.81,104220.94,104234.06,104247.19,104260.31,104273.44,104286.56,104299.69,104312.81,104325.94,104339.06,104352.19,104365.31,104378.44,104391.56,104404.69,104417.81,104430.94,104444.06,104457.19,104470.31,104483.44,104496.56,104509.69,104522.81,104535.94,104549.06,104562.19,104575.31,104588.44,104601.56,104614.69,104627.81,104640.94,104654.06,104667.19,104680.31,104693.45,104706.58,104719.71,104732.84,104745.98,104759.11,104772.24,104785.38,104798.51,104811.64,104824.77,104837.91,104851.04,104864.17,104877.30,104890.44,104903.57,104916.70,104929.84,104942.97,104956.10,104969.23,104982.37,104995.50,105008.63,105021.77,105034.90,105048.03,105061.16,105074.30,105087.43,105100.56,105113.70,105126.83,105139.96,105153.09,105166.23,105179.36,105192.49,105205.62,105218.76,105231.89,105245.02,105258.16,105271.29,105284.42,105297.55,105310.69,105323.82,105336.96,105350.10,105363.24,105376.38,105389.52,105402.66,105415.80,105428.95,105442.09,105455.23,105468.37,105481.51,105494.65,105507.79,105520.93,105534.07,105547.21,105560.35,105573.49,105586.63,105599.77,105612.91,105626.05,105639.20,105652.34,105665.48,105678.62,105691.76,105704.90,105718.04,105731.18,105744.32,105757.46,105770.60,105783.74,105796.88,105810.02,105823.16,105836.30,105849.45,105862.59,105875.73,105888.87,105902.01,105915.15,105928.29,105941.43,105954.57,105967.71,105980.86,105994.01,106007.16,106020.30,106033.45,106046.60,106059.75,106072.90,106086.05,106099.20,106112.34,106125.49,106138.64,106151.79,106164.94,106178.09,106191.23,106204.38,106217.53,106230.68,106243.83,106256.98,106270.12,106283.27,106296.42,106309.57,106322.72,106335.87,106349.02,106362.16,106375.31,106388.46,106401.61,106414.76,106427.91,106441.05,106454.20,106467.35,106480.50,106493.65,106506.80,106519.95,106533.09,106546.24,106559.39,106572.54,106585.69,106598.84,106611.98,106625.14,106638.30,106651.45,106664.61,106677.77,106690.92,106704.08,106717.23,106730.39,106743.55,106756.70,106769.86,106783.02,106796.17,106809.33,106822.48,106835.64,106848.80,106861.95,106875.11,106888.27,106901.42,106914.58,106927.73,106940.89,106954.05,106967.20,106980.36,106993.52,107006.67,107019.83,107032.98,107046.14,107059.30,107072.45,107085.61,107098.77,107111.92,107125.08,107138.23,107151.39,107164.55,107177.70,107190.86,107204.02,107217.17,107230.33,107243.48,107256.64,107269.80,107282.97,107296.13,107309.30,107322.46,107335.62,107348.79,107361.95,107375.12,107388.28,107401.45,107414.61,107427.77,107440.94,107454.10,107467.27,107480.43,107493.59,107506.76,107519.92,107533.09,107546.25,107559.41,107572.58,107585.74,107598.91,107612.07,107625.23,107638.40,107651.56,107664.73,107677.89,107691.05,107704.22,107717.38,107730.55,107743.71,107756.88,107770.04,107783.20,107796.37,107809.53,107822.70,107835.86,107849.02,107862.19,107875.35,107888.52,107901.68,107914.84,107928.02,107941.19,107954.36,107967.53,107980.70,107993.88,108007.05,108020.22,108033.39,108046.56,108059.73,108072.91,108086.08,108099.25,108112.42,108125.59,108138.77,108151.94,108165.11,108178.28,108191.45,108204.62,108217.80,108230.97,108244.14,108257.31,108270.48,108283.66,108296.83,108310.00,108323.17,108336.34,108349.52,108362.69,108375.86,108389.03,108402.20,108415.38,108428.55,108441.72,108454.89,108468.06,108481.23,108494.41,108507.58,108520.75,108533.92,108547.09,108560.27,108573.44,108586.62,108599.80,108612.98,108626.16,108639.34,108652.52,108665.70,108678.88,108692.05,108705.23,108718.41,108731.59,108744.77,108757.95,108771.13,108784.31,108797.49,108810.67,108823.85,108837.03,108850.21,108863.39,108876.57,108889.75,108902.93,108916.11,108929.29,108942.47,108955.65,108968.83,108982.01,108995.19,109008.37,109021.55,109034.73,109047.91,109061.09,109074.27,109087.45,109100.62,109113.80,109126.98,109140.16,109153.34,109166.52,109179.70,109192.88,109206.06,109219.24,109232.42,109245.61,109258.80,109271.98,109285.17,109298.36,109311.55,109324.73,109337.92,109351.11,109364.30,109377.48,109390.67,109403.86,109417.05,109430.23,109443.42,109456.61,109469.80,109482.98,109496.17,109509.36,109522.55,109535.73,109548.92,109562.11,109575.30,109588.48,109601.67,109614.86,109628.05,109641.23,109654.42,109667.61,109680.80,109693.98,109707.17,109720.36,109733.55,109746.73,109759.92,109773.11,109786.30,109799.48,109812.67,109825.86,109839.05,109852.23,109865.42,109878.61,109891.80,109904.98,109918.18,109931.38,109944.57,109957.77,109970.96,109984.16,109997.35,110010.55,110023.74,110036.94,110050.13,110063.33,110076.52,110089.72,110102.91,110116.11,110129.30,110142.50,110155.70,110168.89,110182.09,110195.28,110208.48,110221.67,110234.87,110248.06,110261.26,110274.45,110287.65,110300.84,110314.04,110327.23,110340.43,110353.62,110366.82,110380.02,110393.21,110406.41,110419.60,110432.80,110445.99,110459.19,110472.38,110485.58,110498.77,110511.97,110525.16,110538.36,110551.55,110564.75,110577.95,110591.15,110604.35,110617.55,110630.76,110643.96,110657.16,110670.37,110683.57,110696.77,110709.98,110723.18,110736.38,110749.59,110762.79,110775.99,110789.20,110802.40,110815.60,110828.80,110842.01,110855.21,110868.41,110881.62,110894.82,110908.02,110921.23,110934.43,110947.63,110960.84,110974.04,110987.24,111000.45,111013.65,111026.85,111040.05,111053.26,111066.46,111079.66,111092.87,111106.07,111119.27,111132.48,111145.68,111158.88,111172.09,111185.29,111198.49,111211.70,111224.90,111238.10,111251.30,111264.52,111277.73,111290.94,111304.15,111317.36,111330.57,111343.78,111356.99,111370.20,111383.41,111396.62,111409.84,111423.05,111436.26,111449.47,111462.68,111475.89,111489.10,111502.31,111515.52,111528.73,111541.95,111555.16,111568.37,111581.58,111594.79,111608.00,111621.21,111634.42,111647.63,111660.84,111674.05,111687.27,111700.48,111713.69,111726.90,111740.11,111753.32,111766.53,111779.74,111792.95,111806.16,111819.38,111832.59,111845.80,111859.01,111872.22,111885.43,111898.64,111911.85,111925.06,111938.28,111951.50,111964.72,111977.94,111991.16,112004.38,112017.59,112030.81,112044.03,112057.25,112070.47,112083.69,112096.91,112110.12,112123.34,112136.56,112149.78,112163.00,112176.22,112189.44,112202.66,112215.88,112229.09,112242.31,112255.53,112268.75,112281.97,112295.19,112308.41,112321.62,112334.84,112348.06,112361.28,112374.50,112387.72,112400.94,112414.16,112427.38,112440.59,112453.81,112467.03,112480.25,112493.47,112506.69,112519.91,112533.12,112546.34,112559.56,112572.78,112586.00,112599.22,112612.44,112625.66,112638.89,112652.12,112665.34,112678.57,112691.80,112705.02,112718.25,112731.48,112744.70,112757.93,112771.16,112784.38,112797.61,112810.84,112824.06,112837.29,112850.52,112863.74,112876.97,112890.20,112903.42,112916.65,112929.88,112943.10,112956.33,112969.55,112982.78,112996.01,113009.23,113022.46,113035.69,113048.91,113062.14,113075.37,113088.59,113101.82,113115.05,113128.27,113141.50,113154.73,113167.95,113181.18,113194.41,113207.63,113220.86,113234.09,113247.31,113260.54,113273.77,113286.99,113300.23,113313.46,113326.70,113339.93,113353.16,113366.40,113379.63,113392.87,113406.10,113419.34,113432.57,113445.80,113459.04,113472.27,113485.51,113498.74,113511.98,113525.21,113538.45,113551.68,113564.91,113578.15,113591.38,113604.62,113617.85,113631.09,113644.32,113657.55,113670.79,113684.02,113697.26,113710.49,113723.73,113736.96,113750.20,113763.43,113776.66,113789.90,113803.13,113816.37,113829.60,113842.84,113856.07,113869.30,113882.54,113895.77,113909.01,113922.24,113935.48,113948.71,113961.95,113975.18,113988.41,114001.66,114014.90,114028.14,114041.38,114054.62,114067.87,114081.11,114094.35,114107.59,114120.84,114134.08,114147.32,114160.56,114173.80,114187.05,114200.29,114213.53,114226.77,114240.02,114253.26,114266.50,114279.74,114292.98,114306.23,114319.47,114332.71,114345.95,114359.20,114372.44,114385.68,114398.92,114412.16,114425.41,114438.65,114451.89,114465.13,114478.38,114491.62,114504.86,114518.10,114531.34,114544.59,114557.83,114571.07,114584.31,114597.55,114610.80,114624.04,114637.28,114650.52,114663.77,114677.01,114690.26,114703.51,114716.76,114730.01,114743.26,114756.51,114769.76,114783.01,114796.26,114809.51,114822.76,114836.01,114849.26,114862.51,114875.76,114889.01,114902.26,114915.51,114928.76,114942.01,114955.26,114968.51,114981.76,114995.01,115008.26,115021.51,115034.76,115048.01,115061.26,115074.51,115087.76,115101.01,115114.26,115127.51,115140.76,115154.01,115167.26,115180.51,115193.76,115207.01,115220.26,115233.51,115246.76,115260.01,115273.26,115286.51,115299.76,115313.01,115326.26,115339.51,115352.76,115366.01,115379.26,115392.52,115405.77,115419.03,115432.29,115445.55,115458.80,115472.06,115485.32,115498.58,115511.84,115525.09,115538.35,115551.61,115564.87,115578.12,115591.38,115604.64,115617.90,115631.16,115644.41,115657.67,115670.93,115684.19,115697.45,115710.70,115723.96,115737.22,115750.48,115763.73,115776.99,115790.25,115803.51,115816.77,115830.02,115843.28,115856.54,115869.80,115883.05,115896.31,115909.57,115922.83,115936.09,115949.34,115962.60,115975.86,115989.12,116002.38,116015.63,116028.89,116042.15,116055.41,116068.66,116081.92,116095.19,116108.45,116121.72,116134.98,116148.25,116161.52,116174.78,116188.05,116201.31,116214.58,116227.84,116241.11,116254.38,116267.64,116280.91,116294.17,116307.44,116320.70,116333.97,116347.23,116360.50,116373.77,116387.03,116400.30,116413.56,116426.83,116440.09,116453.36,116466.62,116479.89,116493.16,116506.42,116519.69,116532.95,116546.22,116559.48,116572.75,116586.02,116599.28,116612.55,116625.81,116639.08,116652.34,116665.61,116678.88,116692.14,116705.41,116718.67,116731.94,116745.20,116758.47,116771.73,116785.00,116798.27,116811.55,116824.82,116838.09,116851.37,116864.64,116877.91,116891.19,116904.46,116917.73,116931.01,116944.28,116957.55,116970.83,116984.10,116997.38,117010.65,117023.92,117037.20,117050.47,117063.74,117077.02,117090.29,117103.56,117116.84,117130.11,117143.38,117156.66,117169.93,117183.20,117196.48,117209.75,117223.02,117236.30,117249.57,117262.84,117276.12,117289.39,117302.66,117315.94,117329.21,117342.48,117355.76,117369.03,117382.30,117395.58,117408.85,117422.12,117435.40,117448.67,117461.95,117475.22,117488.49,117501.77,117515.05,117528.33,117541.61,117554.89,117568.17,117581.45,117594.73,117608.02,117621.30,117634.58,117647.86,117661.14,117674.42,117687.70,117700.98,117714.27,117727.55,117740.83,117754.11,117767.39,117780.67,117793.95,117807.23,117820.52,117833.80,117847.08,117860.36,117873.64,117886.92,117900.20,117913.48,117926.77,117940.05,117953.33,117966.61,117979.89,117993.17,118006.45,118019.73,118033.02,118046.30,118059.58,118072.86,118086.14,118099.42,118112.70,118125.98,118139.27,118152.55,118165.83,118179.11,118192.39,118205.67,118218.95,118232.24,118245.53,118258.82,118272.11,118285.40,118298.69,118311.98,118325.27,118338.55,118351.84,118365.13,118378.42,118391.71,118405.00,118418.29,118431.58,118444.87}; \ No newline at end of file +#ifndef _CONSTANTS_H +#define _CONSTANTS_H +static const float NUMERATORS[10000] = {0.00,1.00,2.58,4.58,6.91,9.49,12.30,15.30,18.47,21.79,25.25,28.84,32.54,36.34,40.25,44.25,48.34,52.51,56.76,61.08,65.47,69.93,74.45,79.04,83.68,88.38,93.14,97.94,102.80,107.71,112.66,117.66,122.71,127.80,132.92,138.09,143.30,148.55,153.84,159.16,164.52,169.91,175.34,180.79,186.29,191.81,197.36,202.95,208.56,214.21,219.88,225.58,231.31,237.06,242.85,248.65,254.49,260.34,266.23,272.13,278.06,284.02,290.00,296.00,302.02,308.06,314.13,320.22,326.32,332.45,338.60,344.77,350.96,357.17,363.40,369.65,375.92,382.20,388.50,394.83,401.17,407.52,413.90,420.29,426.70,433.13,439.57,446.03,452.51,459.00,465.50,472.03,478.57,485.12,491.69,498.28,504.88,511.49,518.12,524.76,531.42,538.10,544.78,551.48,558.20,564.92,571.67,578.42,585.19,591.97,598.77,605.57,612.39,619.23,626.07,632.93,639.80,646.68,653.58,660.48,667.40,674.33,681.28,688.23,695.20,702.17,709.16,716.16,723.17,730.20,737.23,744.27,751.33,758.39,765.47,772.56,779.66,786.77,793.88,801.01,808.15,815.30,822.46,829.63,836.81,844.00,851.20,858.41,865.63,872.86,880.10,887.35,894.60,901.87,909.15,916.43,923.73,931.03,938.34,945.66,953.00,960.34,967.68,975.04,982.41,989.78,997.17,1004.56,1011.96,1019.37,1026.79,1034.21,1041.65,1049.09,1056.54,1064.00,1071.47,1078.95,1086.43,1093.92,1101.42,1108.93,1116.44,1123.97,1131.50,1139.04,1146.59,1154.14,1161.70,1169.27,1176.85,1184.43,1192.03,1199.63,1207.23,1214.85,1222.47,1230.10,1237.74,1245.38,1253.03,1260.69,1268.35,1276.03,1283.71,1291.39,1299.09,1306.79,1314.49,1322.21,1329.93,1337.66,1345.39,1353.13,1360.88,1368.64,1376.40,1384.17,1391.94,1399.72,1407.51,1415.31,1423.11,1430.91,1438.73,1446.55,1454.37,1462.21,1470.05,1477.89,1485.74,1493.60,1501.47,1509.34,1517.21,1525.10,1532.98,1540.88,1548.78,1556.69,1564.60,1572.52,1580.44,1588.37,1596.31,1604.25,1612.20,1620.16,1628.12,1636.08,1644.05,1652.03,1660.01,1668.00,1676.00,1684.00,1692.00,1700.01,1708.03,1716.05,1724.08,1732.11,1740.15,1748.20,1756.25,1764.30,1772.36,1780.43,1788.50,1796.58,1804.66,1812.75,1820.84,1828.94,1837.04,1845.15,1853.26,1861.38,1869.51,1877.64,1885.77,1893.91,1902.05,1910.20,1918.36,1926.52,1934.68,1942.85,1951.03,1959.21,1967.39,1975.58,1983.78,1991.98,2000.18,2008.39,2016.61,2024.82,2033.05,2041.28,2049.51,2057.75,2065.99,2074.24,2082.49,2090.75,2099.01,2107.28,2115.55,2123.83,2132.11,2140.39,2148.68,2156.98,2165.28,2173.58,2181.89,2190.20,2198.52,2206.84,2215.17,2223.50,2231.83,2240.17,2248.52,2256.87,2265.22,2273.58,2281.94,2290.31,2298.68,2307.05,2315.43,2323.81,2332.20,2340.60,2348.99,2357.39,2365.80,2374.21,2382.62,2391.04,2399.46,2407.89,2416.32,2424.75,2433.19,2441.63,2450.08,2458.53,2466.99,2475.45,2483.91,2492.38,2500.85,2509.33,2517.80,2526.29,2534.78,2543.27,2551.76,2560.26,2568.77,2577.28,2585.79,2594.30,2602.82,2611.35,2619.87,2628.41,2636.94,2645.48,2654.02,2662.57,2671.12,2679.68,2688.23,2696.80,2705.36,2713.93,2722.51,2731.08,2739.66,2748.25,2756.84,2765.43,2774.03,2782.63,2791.23,2799.84,2808.45,2817.06,2825.68,2834.30,2842.93,2851.56,2860.19,2868.83,2877.47,2886.11,2894.76,2903.41,2912.07,2920.72,2929.39,2938.05,2946.72,2955.39,2964.07,2972.75,2981.43,2990.12,2998.81,3007.50,3016.20,3024.90,3033.60,3042.31,3051.02,3059.73,3068.45,3077.17,3085.90,3094.63,3103.36,3112.09,3120.83,3129.57,3138.32,3147.06,3155.82,3164.57,3173.33,3182.09,3190.86,3199.62,3208.40,3217.17,3225.95,3234.73,3243.51,3252.30,3261.09,3269.89,3278.69,3287.49,3296.29,3305.10,3313.91,3322.72,3331.54,3340.36,3349.18,3358.01,3366.84,3375.67,3384.51,3393.35,3402.19,3411.03,3419.88,3428.73,3437.59,3446.45,3455.31,3464.17,3473.04,3481.91,3490.78,3499.66,3508.54,3517.42,3526.31,3535.20,3544.09,3552.98,3561.88,3570.78,3579.69,3588.59,3597.50,3606.42,3615.33,3624.25,3633.17,3642.10,3651.03,3659.96,3668.89,3677.83,3686.77,3695.71,3704.65,3713.60,3722.55,3731.51,3740.46,3749.42,3758.39,3767.35,3776.32,3785.29,3794.27,3803.25,3812.23,3821.21,3830.19,3839.18,3848.17,3857.17,3866.17,3875.17,3884.17,3893.17,3902.18,3911.19,3920.21,3929.23,3938.24,3947.27,3956.29,3965.32,3974.35,3983.38,3992.42,4001.46,4010.50,4019.55,4028.59,4037.64,4046.69,4055.75,4064.81,4073.87,4082.93,4092.00,4101.07,4110.14,4119.21,4128.29,4137.37,4146.45,4155.54,4164.62,4173.71,4182.81,4191.90,4201.00,4210.10,4219.20,4228.31,4237.42,4246.53,4255.64,4264.76,4273.88,4283.00,4292.12,4301.25,4310.38,4319.51,4328.65,4337.78,4346.92,4356.07,4365.21,4374.36,4383.51,4392.66,4401.81,4410.97,4420.13,4429.29,4438.46,4447.63,4456.80,4465.97,4475.14,4484.32,4493.50,4502.68,4511.87,4521.06,4530.25,4539.44,4548.63,4557.83,4567.03,4576.23,4585.44,4594.64,4603.85,4613.06,4622.28,4631.50,4640.71,4649.94,4659.16,4668.39,4677.62,4686.85,4696.08,4705.32,4714.56,4723.80,4733.04,4742.28,4751.53,4760.78,4770.04,4779.29,4788.55,4797.81,4807.07,4816.33,4825.60,4834.87,4844.14,4853.42,4862.69,4871.97,4881.25,4890.53,4899.82,4909.11,4918.40,4927.69,4936.98,4946.28,4955.58,4964.88,4974.19,4983.49,4992.80,5002.11,5011.42,5020.74,5030.06,5039.38,5048.70,5058.02,5067.35,5076.68,5086.01,5095.34,5104.68,5114.01,5123.35,5132.70,5142.04,5151.39,5160.74,5170.09,5179.44,5188.79,5198.15,5207.51,5216.87,5226.24,5235.60,5244.97,5254.34,5263.72,5273.09,5282.47,5291.85,5301.23,5310.61,5320.00,5329.39,5338.78,5348.17,5357.56,5366.96,5376.36,5385.76,5395.16,5404.57,5413.98,5423.39,5432.80,5442.21,5451.63,5461.04,5470.46,5479.89,5489.31,5498.74,5508.16,5517.60,5527.03,5536.46,5545.90,5555.34,5564.78,5574.22,5583.67,5593.11,5602.56,5612.01,5621.47,5630.92,5640.38,5649.84,5659.30,5668.76,5678.23,5687.70,5697.17,5706.64,5716.11,5725.59,5735.07,5744.55,5754.03,5763.51,5773.00,5782.49,5791.98,5801.47,5810.96,5820.46,5829.95,5839.45,5848.96,5858.46,5867.97,5877.47,5886.98,5896.50,5906.01,5915.52,5925.04,5934.56,5944.08,5953.61,5963.13,5972.66,5982.19,5991.72,6001.25,6010.79,6020.33,6029.86,6039.41,6048.95,6058.49,6068.04,6077.59,6087.14,6096.69,6106.25,6115.80,6125.36,6134.92,6144.49,6154.05,6163.62,6173.18,6182.75,6192.32,6201.90,6211.47,6221.05,6230.63,6240.21,6249.79,6259.38,6268.97,6278.56,6288.15,6297.74,6307.33,6316.93,6326.53,6336.13,6345.73,6355.33,6364.94,6374.55,6384.15,6393.77,6403.38,6412.99,6422.61,6432.23,6441.85,6451.47,6461.09,6470.72,6480.35,6489.98,6499.61,6509.24,6518.88,6528.51,6538.15,6547.79,6557.43,6567.08,6576.72,6586.37,6596.02,6605.67,6615.32,6624.98,6634.63,6644.29,6653.95,6663.61,6673.28,6682.94,6692.61,6702.28,6711.95,6721.62,6731.30,6740.97,6750.65,6760.33,6770.01,6779.69,6789.38,6799.07,6808.75,6818.44,6828.14,6837.83,6847.52,6857.22,6866.92,6876.62,6886.32,6896.03,6905.73,6915.44,6925.15,6934.86,6944.57,6954.29,6964.00,6973.72,6983.44,6993.16,7002.88,7012.61,7022.33,7032.06,7041.79,7051.52,7061.26,7070.99,7080.73,7090.47,7100.21,7109.95,7119.69,7129.43,7139.18,7148.93,7158.68,7168.43,7178.18,7187.94,7197.70,7207.45,7217.21,7226.98,7236.74,7246.50,7256.27,7266.04,7275.81,7285.58,7295.35,7305.13,7314.90,7324.68,7334.46,7344.24,7354.03,7363.81,7373.60,7383.38,7393.17,7402.97,7412.76,7422.55,7432.35,7442.15,7451.95,7461.75,7471.55,7481.35,7491.16,7500.97,7510.78,7520.59,7530.40,7540.21,7550.03,7559.84,7569.66,7579.48,7589.30,7599.13,7608.95,7618.78,7628.61,7638.44,7648.27,7658.10,7667.94,7677.77,7687.61,7697.45,7707.29,7717.13,7726.98,7736.82,7746.67,7756.52,7766.37,7776.22,7786.07,7795.93,7805.78,7815.64,7825.50,7835.36,7845.23,7855.09,7864.96,7874.82,7884.69,7894.56,7904.43,7914.31,7924.18,7934.06,7943.94,7953.82,7963.70,7973.58,7983.46,7993.35,8003.24,8013.13,8023.02,8032.91,8042.80,8052.70,8062.59,8072.49,8082.39,8092.29,8102.19,8112.10,8122.00,8131.91,8141.82,8151.73,8161.64,8171.55,8181.47,8191.38,8201.30,8211.22,8221.14,8231.06,8240.98,8250.91,8260.83,8270.76,8280.69,8290.62,8300.56,8310.49,8320.42,8330.36,8340.30,8350.24,8360.18,8370.12,8380.07,8390.01,8399.96,8409.91,8419.86,8429.81,8439.76,8449.72,8459.67,8469.63,8479.59,8489.55,8499.51,8509.47,8519.44,8529.40,8539.37,8549.34,8559.31,8569.28,8579.25,8589.23,8599.20,8609.18,8619.16,8629.14,8639.12,8649.10,8659.09,8669.08,8679.06,8689.05,8699.04,8709.03,8719.03,8729.02,8739.02,8749.01,8759.01,8769.01,8779.01,8789.02,8799.02,8809.03,8819.03,8829.04,8839.05,8849.06,8859.07,8869.09,8879.10,8889.12,8899.14,8909.16,8919.18,8929.20,8939.22,8949.25,8959.28,8969.30,8979.33,8989.36,8999.40,9009.43,9019.46,9029.50,9039.54,9049.58,9059.62,9069.66,9079.70,9089.75,9099.79,9109.84,9119.89,9129.94,9139.99,9150.04,9160.09,9170.15,9180.21,9190.26,9200.32,9210.38,9220.45,9230.51,9240.58,9250.64,9260.71,9270.78,9280.85,9290.92,9300.99,9311.07,9321.14,9331.22,9341.30,9351.38,9361.46,9371.54,9381.62,9391.71,9401.79,9411.88,9421.97,9432.06,9442.15,9452.24,9462.34,9472.43,9482.53,9492.63,9502.73,9512.83,9522.93,9533.03,9543.14,9553.24,9563.35,9573.46,9583.57,9593.68,9603.79,9613.91,9624.02,9634.14,9644.25,9654.37,9664.49,9674.61,9684.74,9694.86,9704.99,9715.11,9725.24,9735.37,9745.50,9755.63,9765.77,9775.90,9786.04,9796.17,9806.31,9816.45,9826.59,9836.73,9846.88,9857.02,9867.17,9877.32,9887.46,9897.61,9907.76,9917.92,9928.07,9938.23,9948.38,9958.54,9968.70,9978.86,9989.02,9999.18,10009.34,10019.51,10029.68,10039.84,10050.01,10060.18,10070.35,10080.53,10090.70,10100.87,10111.05,10121.23,10131.41,10141.59,10151.77,10161.95,10172.13,10182.32,10192.50,10202.69,10212.88,10223.07,10233.26,10243.45,10253.65,10263.84,10274.04,10284.23,10294.43,10304.63,10314.83,10325.04,10335.24,10345.44,10355.65,10365.86,10376.06,10386.27,10396.48,10406.70,10416.91,10427.12,10437.34,10447.55,10457.77,10467.99,10478.21,10488.43,10498.66,10508.88,10519.11,10529.33,10539.56,10549.79,10560.02,10570.25,10580.48,10590.72,10600.95,10611.19,10621.42,10631.66,10641.90,10652.14,10662.38,10672.63,10682.87,10693.12,10703.36,10713.61,10723.86,10734.11,10744.36,10754.62,10764.87,10775.12,10785.38,10795.64,10805.90,10816.16,10826.42,10836.68,10846.94,10857.21,10867.47,10877.74,10888.01,10898.28,10908.55,10918.82,10929.09,10939.37,10949.64,10959.92,10970.19,10980.47,10990.75,11001.03,11011.32,11021.60,11031.88,11042.17,11052.45,11062.74,11073.03,11083.32,11093.61,11103.90,11114.20,11124.49,11134.79,11145.09,11155.38,11165.68,11175.98,11186.29,11196.59,11206.89,11217.20,11227.50,11237.81,11248.12,11258.43,11268.74,11279.05,11289.36,11299.68,11309.99,11320.31,11330.63,11340.94,11351.26,11361.58,11371.91,11382.23,11392.55,11402.88,11413.21,11423.53,11433.86,11444.19,11454.52,11464.85,11475.19,11485.52,11495.86,11506.19,11516.53,11526.87,11537.21,11547.55,11557.89,11568.24,11578.58,11588.93,11599.27,11609.62,11619.97,11630.32,11640.67,11651.02,11661.37,11671.73,11682.08,11692.44,11702.80,11713.16,11723.52,11733.88,11744.24,11754.60,11764.97,11775.33,11785.70,11796.07,11806.43,11816.80,11827.17,11837.55,11847.92,11858.29,11868.67,11879.04,11889.42,11899.80,11910.18,11920.56,11930.94,11941.32,11951.71,11962.09,11972.48,11982.86,11993.25,12003.64,12014.03,12024.42,12034.82,12045.21,12055.60,12066.00,12076.40,12086.79,12097.19,12107.59,12117.99,12128.39,12138.80,12149.20,12159.61,12170.01,12180.42,12190.83,12201.24,12211.65,12222.06,12232.47,12242.89,12253.30,12263.72,12274.13,12284.55,12294.97,12305.39,12315.81,12326.23,12336.66,12347.08,12357.50,12367.93,12378.36,12388.79,12399.22,12409.65,12420.08,12430.51,12440.95,12451.38,12461.82,12472.25,12482.69,12493.13,12503.57,12514.01,12524.45,12534.89,12545.34,12555.78,12566.23,12576.68,12587.12,12597.57,12608.02,12618.48,12628.93,12639.38,12649.83,12660.29,12670.75,12681.20,12691.66,12702.12,12712.58,12723.04,12733.51,12743.97,12754.43,12764.90,12775.37,12785.83,12796.30,12806.77,12817.24,12827.72,12838.19,12848.66,12859.14,12869.61,12880.09,12890.57,12901.04,12911.52,12922.00,12932.49,12942.97,12953.45,12963.94,12974.42,12984.91,12995.40,13005.89,13016.38,13026.87,13037.36,13047.85,13058.35,13068.84,13079.34,13089.84,13100.33,13110.83,13121.33,13131.83,13142.34,13152.84,13163.34,13173.85,13184.35,13194.86,13205.37,13215.88,13226.39,13236.90,13247.41,13257.92,13268.44,13278.95,13289.47,13299.98,13310.50,13321.02,13331.54,13342.06,13352.58,13363.10,13373.63,13384.15,13394.68,13405.20,13415.73,13426.26,13436.79,13447.32,13457.85,13468.38,13478.91,13489.45,13499.98,13510.52,13521.06,13531.59,13542.13,13552.67,13563.21,13573.76,13584.30,13594.84,13605.39,13615.93,13626.48,13637.03,13647.58,13658.13,13668.68,13679.23,13689.78,13700.34,13710.89,13721.45,13732.00,13742.56,13753.12,13763.68,13774.24,13784.80,13795.36,13805.93,13816.49,13827.06,13837.62,13848.19,13858.76,13869.33,13879.90,13890.47,13901.04,13911.61,13922.19,13932.76,13943.34,13953.91,13964.49,13975.07,13985.65,13996.23,14006.81,14017.39,14027.97,14038.56,14049.14,14059.73,14070.32,14080.90,14091.49,14102.08,14112.67,14123.26,14133.86,14144.45,14155.05,14165.64,14176.24,14186.83,14197.43,14208.03,14218.63,14229.23,14239.83,14250.43,14261.04,14271.64,14282.25,14292.85,14303.46,14314.07,14324.68,14335.29,14345.90,14356.51,14367.13,14377.74,14388.36,14398.97,14409.59,14420.20,14430.82,14441.44,14452.06,14462.68,14473.30,14483.93,14494.55,14505.18,14515.80,14526.43,14537.06,14547.69,14558.32,14568.95,14579.58,14590.21,14600.84,14611.47,14622.11,14632.75,14643.38,14654.02,14664.66,14675.30,14685.94,14696.58,14707.22,14717.86,14728.51,14739.15,14749.80,14760.44,14771.09,14781.74,14792.39,14803.04,14813.69,14824.34,14835.00,14845.65,14856.30,14866.96,14877.62,14888.27,14898.93,14909.59,14920.25,14930.91,14941.57,14952.24,14962.90,14973.56,14984.23,14994.90,15005.56,15016.23,15026.90,15037.57,15048.24,15058.91,15069.58,15080.26,15090.93,15101.61,15112.28,15122.96,15133.64,15144.32,15155.00,15165.68,15176.36,15187.04,15197.72,15208.41,15219.09,15229.78,15240.46,15251.15,15261.84,15272.53,15283.22,15293.91,15304.60,15315.29,15325.99,15336.68,15347.38,15358.07,15368.77,15379.47,15390.17,15400.86,15411.56,15422.27,15432.97,15443.67,15454.38,15465.08,15475.79,15486.49,15497.20,15507.91,15518.62,15529.33,15540.04,15550.75,15561.46,15572.18,15582.89,15593.60,15604.32,15615.04,15625.75,15636.47,15647.19,15657.91,15668.63,15679.36,15690.08,15700.80,15711.53,15722.25,15732.98,15743.71,15754.43,15765.16,15775.89,15786.62,15797.35,15808.09,15818.82,15829.55,15840.29,15851.02,15861.76,15872.50,15883.24,15893.97,15904.71,15915.46,15926.20,15936.94,15947.68,15958.43,15969.17,15979.92,15990.66,16001.41,16012.16,16022.91,16033.66,16044.41,16055.16,16065.91,16076.67,16087.42,16098.17,16108.93,16119.69,16130.44,16141.20,16151.96,16162.72,16173.48,16184.24,16195.01,16205.77,16216.53,16227.30,16238.06,16248.83,16259.60,16270.37,16281.13,16291.90,16302.67,16313.45,16324.22,16334.99,16345.77,16356.54,16367.32,16378.09,16388.87,16399.65,16410.43,16421.21,16431.99,16442.77,16453.55,16464.33,16475.12,16485.90,16496.69,16507.47,16518.26,16529.05,16539.84,16550.62,16561.42,16572.21,16583.00,16593.79,16604.58,16615.38,16626.17,16636.97,16647.77,16658.56,16669.36,16680.16,16690.96,16701.76,16712.56,16723.37,16734.17,16744.97,16755.78,16766.59,16777.39,16788.20,16799.01,16809.82,16820.63,16831.44,16842.25,16853.06,16863.87,16874.69,16885.50,16896.32,16907.13,16917.95,16928.77,16939.59,16950.41,16961.23,16972.05,16982.87,16993.69,17004.52,17015.34,17026.16,17036.99,17047.82,17058.64,17069.47,17080.30,17091.13,17101.96,17112.79,17123.62,17134.46,17145.29,17156.12,17166.96,17177.80,17188.63,17199.47,17210.31,17221.15,17231.99,17242.83,17253.67,17264.51,17275.36,17286.20,17297.04,17307.89,17318.73,17329.58,17340.43,17351.28,17362.13,17372.98,17383.83,17394.68,17405.53,17416.38,17427.24,17438.09,17448.95,17459.80,17470.66,17481.52,17492.38,17503.24,17514.10,17524.96,17535.82,17546.68,17557.55,17568.41,17579.28,17590.14,17601.01,17611.88,17622.74,17633.61,17644.48,17655.35,17666.22,17677.09,17687.97,17698.84,17709.71,17720.59,17731.46,17742.34,17753.22,17764.10,17774.98,17785.86,17796.74,17807.62,17818.50,17829.38,17840.27,17851.15,17862.04,17872.92,17883.81,17894.69,17905.58,17916.47,17927.36,17938.25,17949.14,17960.03,17970.93,17981.82,17992.71,18003.61,18014.50,18025.40,18036.30,18047.20,18058.09,18068.99,18079.89,18090.79,18101.70,18112.60,18123.50,18134.40,18145.31,18156.21,18167.12,18178.03,18188.94,18199.84,18210.75,18221.66,18232.57,18243.48,18254.40,18265.31,18276.22,18287.14,18298.05,18308.97,18319.88,18330.80,18341.72,18352.64,18363.56,18374.48,18385.40,18396.32,18407.24,18418.17,18429.09,18440.02,18450.94,18461.87,18472.80,18483.72,18494.65,18505.58,18516.51,18527.44,18538.38,18549.31,18560.24,18571.17,18582.11,18593.04,18603.98,18614.92,18625.85,18636.79,18647.73,18658.67,18669.61,18680.55,18691.49,18702.44,18713.38,18724.32,18735.27,18746.21,18757.16,18768.11,18779.05,18790.00,18800.95,18811.90,18822.85,18833.80,18844.75,18855.71,18866.66,18877.62,18888.57,18899.53,18910.48,18921.44,18932.40,18943.36,18954.31,18965.28,18976.24,18987.20,18998.16,19009.12,19020.09,19031.05,19042.02,19052.98,19063.95,19074.91,19085.88,19096.85,19107.82,19118.79,19129.76,19140.73,19151.71,19162.68,19173.65,19184.63,19195.60,19206.58,19217.55,19228.53,19239.51,19250.49,19261.47,19272.45,19283.43,19294.41,19305.39,19316.38,19327.36,19338.34,19349.33,19360.31,19371.30,19382.29,19393.28,19404.26,19415.25,19426.24,19437.23,19448.23,19459.22,19470.21,19481.21,19492.20,19503.19,19514.19,19525.19,19536.18,19547.18,19558.18,19569.18,19580.18,19591.18,19602.18,19613.18,19624.19,19635.19,19646.19,19657.20,19668.21,19679.21,19690.22,19701.23,19712.23,19723.24,19734.25,19745.26,19756.28,19767.29,19778.30,19789.31,19800.33,19811.34,19822.36,19833.37,19844.39,19855.41,19866.43,19877.45,19888.46,19899.48,19910.51,19921.53,19932.55,19943.57,19954.60,19965.62,19976.65,19987.67,19998.70,20009.73,20020.75,20031.78,20042.81,20053.84,20064.87,20075.90,20086.94,20097.97,20109.00,20120.04,20131.07,20142.11,20153.14,20164.18,20175.22,20186.26,20197.29,20208.33,20219.38,20230.42,20241.46,20252.50,20263.54,20274.59,20285.63,20296.68,20307.72,20318.77,20329.81,20340.86,20351.91,20362.96,20374.01,20385.06,20396.11,20407.16,20418.22,20429.27,20440.32,20451.38,20462.43,20473.49,20484.55,20495.60,20506.66,20517.72,20528.78,20539.84,20550.90,20561.96,20573.02,20584.09,20595.15,20606.21,20617.28,20628.34,20639.41,20650.47,20661.54,20672.61,20683.68,20694.75,20705.82,20716.89,20727.96,20739.04,20750.11,20761.18,20772.26,20783.33,20794.41,20805.48,20816.56,20827.64,20838.71,20849.79,20860.87,20871.95,20883.03,20894.12,20905.20,20916.28,20927.36,20938.45,20949.53,20960.62,20971.70,20982.79,20993.88,21004.96,21016.05,21027.14,21038.23,21049.32,21060.41,21071.51,21082.60,21093.69,21104.79,21115.88,21126.98,21138.07,21149.17,21160.27,21171.37,21182.46,21193.56,21204.66,21215.77,21226.87,21237.97,21249.07,21260.18,21271.28,21282.38,21293.49,21304.60,21315.70,21326.81,21337.92,21349.03,21360.14,21371.25,21382.36,21393.47,21404.58,21415.69,21426.81,21437.92,21449.04,21460.15,21471.27,21482.38,21493.50,21504.62,21515.74,21526.86,21537.97,21549.10,21560.22,21571.34,21582.46,21593.58,21604.71,21615.83,21626.96,21638.08,21649.21,21660.34,21671.46,21682.59,21693.72,21704.85,21715.98,21727.11,21738.24,21749.38,21760.51,21771.64,21782.77,21793.91,21805.04,21816.18,21827.31,21838.45,21849.59,21860.73,21871.87,21883.00,21894.14,21905.29,21916.43,21927.57,21938.71,21949.85,21961.00,21972.14,21983.29,21994.43,22005.58,22016.73,22027.88,22039.02,22050.17,22061.32,22072.47,22083.62,22094.78,22105.93,22117.08,22128.23,22139.39,22150.54,22161.70,22172.86,22184.01,22195.17,22206.33,22217.49,22228.65,22239.81,22250.97,22262.13,22273.29,22284.45,22295.61,22306.78,22317.94,22329.11,22340.27,22351.44,22362.60,22373.77,22384.94,22396.11,22407.28,22418.45,22429.62,22440.79,22451.96,22463.13,22474.31,22485.48,22496.65,22507.83,22519.01,22530.18,22541.36,22552.54,22563.71,22574.89,22586.07,22597.25,22608.43,22619.61,22630.79,22641.98,22653.16,22664.34,22675.53,22686.71,22697.90,22709.08,22720.27,22731.46,22742.65,22753.84,22765.03,22776.21,22787.41,22798.60,22809.79,22820.98,22832.17,22843.37,22854.56,22865.76,22876.95,22888.15,22899.34,22910.54,22921.74,22932.94,22944.14,22955.34,22966.54,22977.74,22988.94,23000.14,23011.34,23022.55,23033.75,23044.96,23056.16,23067.37,23078.57,23089.78,23100.99,23112.20,23123.40,23134.61,23145.82,23157.04,23168.25,23179.46,23190.67,23201.88,23213.10,23224.31,23235.53,23246.74,23257.96,23269.17,23280.39,23291.61,23302.83,23314.05,23325.27,23336.49,23347.71,23358.93,23370.15,23381.38,23392.60,23403.82,23415.05,23426.27,23437.50,23448.72,23459.95,23471.18,23482.41,23493.64,23504.87,23516.10,23527.33,23538.56,23549.79,23561.02,23572.25,23583.49,23594.72,23605.96,23617.19,23628.43,23639.67,23650.90,23662.14,23673.38,23684.62,23695.86,23707.10,23718.34,23729.58,23740.82,23752.06,23763.31,23774.55,23785.80,23797.04,23808.29,23819.53,23830.78,23842.03,23853.28,23864.52,23875.77,23887.02,23898.27,23909.52,23920.78,23932.03,23943.28,23954.53,23965.79,23977.04,23988.30,23999.55,24010.81,24022.06,24033.32,24044.58,24055.84,24067.10,24078.36,24089.62,24100.88,24112.14,24123.40,24134.66,24145.93,24157.19,24168.46,24179.72,24190.99,24202.25,24213.52,24224.79,24236.05,24247.32,24258.59,24269.86,24281.13,24292.40,24303.67,24314.95,24326.22,24337.49,24348.77,24360.04,24371.31,24382.59,24393.87,24405.14,24416.42,24427.70,24438.98,24450.26,24461.54,24472.81,24484.10,24495.38,24506.66,24517.94,24529.22,24540.51,24551.79,24563.08,24574.36,24585.65,24596.94,24608.22,24619.51,24630.80,24642.09,24653.38,24664.67,24675.96,24687.25,24698.54,24709.83,24721.12,24732.42,24743.71,24755.01,24766.30,24777.60,24788.89,24800.19,24811.49,24822.79,24834.09,24845.38,24856.68,24867.98,24879.29,24890.59,24901.89,24913.19,24924.49,24935.80,24947.10,24958.41,24969.71,24981.02,24992.33,25003.63,25014.94,25026.25,25037.56,25048.87,25060.18,25071.49,25082.80,25094.11,25105.42,25116.74,25128.05,25139.36,25150.68,25161.99,25173.31,25184.62,25195.94,25207.26,25218.58,25229.90,25241.21,25252.54,25263.86,25275.18,25286.50,25297.82,25309.14,25320.46,25331.79,25343.11,25354.44,25365.76,25377.09,25388.42,25399.74,25411.07,25422.40,25433.73,25445.06,25456.39,25467.72,25479.05,25490.38,25501.71,25513.04,25524.38,25535.71,25547.04,25558.38,25569.71,25581.05,25592.39,25603.72,25615.06,25626.40,25637.74,25649.08,25660.42,25671.76,25683.10,25694.44,25705.78,25717.12,25728.47,25739.81,25751.16,25762.50,25773.85,25785.19,25796.54,25807.89,25819.23,25830.58,25841.93,25853.28,25864.63,25875.98,25887.33,25898.68,25910.04,25921.39,25932.74,25944.10,25955.45,25966.80,25978.16,25989.52,26000.87,26012.23,26023.59,26034.95,26046.30,26057.66,26069.02,26080.38,26091.74,26103.11,26114.47,26125.83,26137.19,26148.56,26159.92,26171.29,26182.65,26194.02,26205.38,26216.75,26228.12,26239.48,26250.85,26262.22,26273.59,26284.96,26296.33,26307.71,26319.08,26330.45,26341.82,26353.20,26364.57,26375.94,26387.32,26398.69,26410.07,26421.45,26432.82,26444.20,26455.58,26466.96,26478.34,26489.72,26501.10,26512.48,26523.86,26535.24,26546.63,26558.01,26569.39,26580.78,26592.16,26603.55,26614.93,26626.32,26637.71,26649.09,26660.48,26671.87,26683.26,26694.65,26706.04,26717.43,26728.82,26740.21,26751.61,26763.00,26774.39,26785.79,26797.18,26808.57,26819.97,26831.37,26842.76,26854.16,26865.56,26876.96,26888.36,26899.75,26911.15,26922.55,26933.96,26945.36,26956.76,26968.16,26979.56,26990.97,27002.37,27013.78,27025.18,27036.59,27047.99,27059.40,27070.81,27082.22,27093.62,27105.03,27116.44,27127.85,27139.26,27150.67,27162.09,27173.50,27184.91,27196.32,27207.74,27219.15,27230.57,27241.98,27253.40,27264.81,27276.23,27287.65,27299.07,27310.48,27321.90,27333.32,27344.74,27356.16,27367.58,27379.01,27390.43,27401.85,27413.27,27424.70,27436.12,27447.54,27458.97,27470.40,27481.82,27493.25,27504.68,27516.11,27527.53,27538.96,27550.39,27561.82,27573.25,27584.68,27596.12,27607.55,27618.98,27630.41,27641.85,27653.28,27664.71,27676.15,27687.59,27699.02,27710.46,27721.90,27733.33,27744.77,27756.21,27767.65,27779.09,27790.53,27801.97,27813.41,27824.85,27836.30,27847.74,27859.18,27870.63,27882.07,27893.52,27904.96,27916.41,27927.86,27939.30,27950.75,27962.20,27973.65,27985.10,27996.54,28007.99,28019.45,28030.90,28042.35,28053.80,28065.25,28076.71,28088.16,28099.62,28111.07,28122.53,28133.98,28145.44,28156.89,28168.35,28179.81,28191.27,28202.73,28214.19,28225.64,28237.11,28248.57,28260.03,28271.49,28282.95,28294.42,28305.88,28317.34,28328.81,28340.27,28351.74,28363.21,28374.67,28386.14,28397.61,28409.07,28420.54,28432.01,28443.48,28454.95,28466.42,28477.89,28489.36,28500.84,28512.31,28523.78,28535.26,28546.73,28558.21,28569.68,28581.16,28592.63,28604.11,28615.59,28627.06,28638.54,28650.02,28661.50,28672.98,28684.46,28695.94,28707.42,28718.90,28730.39,28741.87,28753.35,28764.84,28776.32,28787.80,28799.29,28810.78,28822.26,28833.75,28845.24,28856.72,28868.21,28879.70,28891.19,28902.68,28914.17,28925.66,28937.15,28948.65,28960.14,28971.63,28983.12,28994.62,29006.11,29017.61,29029.10,29040.60,29052.10,29063.59,29075.09,29086.59,29098.09,29109.58,29121.08,29132.58,29144.08,29155.58,29167.09,29178.59,29190.09,29201.59,29213.10,29224.60,29236.10,29247.61,29259.11,29270.62,29282.12,29293.63,29305.14,29316.65,29328.15,29339.66,29351.17,29362.68,29374.19,29385.70,29397.21,29408.73,29420.24,29431.75,29443.27,29454.78,29466.29,29477.81,29489.32,29500.84,29512.36,29523.87,29535.39,29546.91,29558.43,29569.95,29581.46,29592.98,29604.50,29616.03,29627.55,29639.07,29650.59,29662.11,29673.64,29685.16,29696.68,29708.21,29719.73,29731.26,29742.79,29754.31,29765.84,29777.37,29788.89,29800.42,29811.95,29823.48,29835.01,29846.54,29858.07,29869.61,29881.14,29892.67,29904.20,29915.74,29927.27,29938.80,29950.34,29961.88,29973.41,29984.95,29996.48,30008.02,30019.56,30031.10,30042.64,30054.18,30065.71,30077.26,30088.80,30100.34,30111.88,30123.42,30134.96,30146.51,30158.05,30169.60,30181.14,30192.69,30204.23,30215.78,30227.32,30238.87,30250.42,30261.97,30273.52,30285.06,30296.61,30308.16,30319.71,30331.26,30342.81,30354.37,30365.92,30377.47,30389.02,30400.58,30412.13,30423.69,30435.24,30446.79,30458.35,30469.91,30481.46,30493.02,30504.58,30516.14,30527.70,30539.26,30550.82,30562.38,30573.94,30585.50,30597.06,30608.62,30620.19,30631.75,30643.31,30654.88,30666.44,30678.01,30689.57,30701.14,30712.71,30724.27,30735.84,30747.41,30758.98,30770.54,30782.12,30793.69,30805.26,30816.83,30828.40,30839.97,30851.54,30863.11,30874.69,30886.26,30897.83,30909.41,30920.98,30932.56,30944.13,30955.71,30967.29,30978.87,30990.44,31002.02,31013.60,31025.18,31036.76,31048.34,31059.92,31071.50,31083.08,31094.67,31106.25,31117.83,31129.42,31141.00,31152.58,31164.17,31175.76,31187.34,31198.93,31210.51,31222.10,31233.69,31245.28,31256.87,31268.46,31280.04,31291.63,31303.22,31314.82,31326.41,31338.00,31349.59,31361.19,31372.78,31384.37,31395.97,31407.56,31419.16,31430.75,31442.35,31453.95,31465.54,31477.14,31488.74,31500.34,31511.94,31523.54,31535.13,31546.73,31558.34,31569.94,31581.54,31593.14,31604.74,31616.35,31627.95,31639.55,31651.16,31662.77,31674.37,31685.98,31697.58,31709.19,31720.80,31732.40,31744.01,31755.62,31767.23,31778.84,31790.45,31802.06,31813.67,31825.28,31836.89,31848.51,31860.12,31871.73,31883.35,31894.96,31906.58,31918.19,31929.81,31941.42,31953.04,31964.66,31976.27,31987.89,31999.51,32011.13,32022.75,32034.37,32045.99,32057.61,32069.23,32080.85,32092.47,32104.10,32115.72,32127.34,32138.96,32150.59,32162.21,32173.84,32185.46,32197.09,32208.72,32220.35,32231.97,32243.60,32255.23,32266.86,32278.49,32290.12,32301.75,32313.38,32325.01,32336.64,32348.27,32359.91,32371.54,32383.17,32394.81,32406.44,32418.08,32429.71,32441.35,32452.98,32464.62,32476.26,32487.89,32499.53,32511.17,32522.81,32534.45,32546.09,32557.73,32569.37,32581.01,32592.65,32604.29,32615.94,32627.58,32639.22,32650.87,32662.51,32674.15,32685.80,32697.45,32709.09,32720.74,32732.38,32744.03,32755.68,32767.33,32778.98,32790.62,32802.27,32813.92,32825.57,32837.23,32848.88,32860.53,32872.18,32883.84,32895.49,32907.14,32918.79,32930.45,32942.11,32953.76,32965.42,32977.07,32988.73,33000.39,33012.04,33023.70,33035.36,33047.02,33058.68,33070.34,33082.00,33093.66,33105.32,33116.98,33128.65,33140.31,33151.98,33163.64,33175.30,33186.97,33198.63,33210.30,33221.96,33233.63,33245.30,33256.96,33268.63,33280.30,33291.97,33303.64,33315.30,33326.97,33338.64,33350.32,33361.99,33373.66,33385.33,33397.00,33408.68,33420.35,33432.02,33443.70,33455.37,33467.05,33478.72,33490.40,33502.07,33513.75,33525.43,33537.10,33548.78,33560.46,33572.14,33583.82,33595.50,33607.18,33618.86,33630.54,33642.22,33653.91,33665.59,33677.27,33688.96,33700.64,33712.32,33724.01,33735.69,33747.38,33759.07,33770.75,33782.44,33794.13,33805.82,33817.50,33829.19,33840.88,33852.57,33864.26,33875.95,33887.64,33899.34,33911.03,33922.72,33934.41,33946.10,33957.80,33969.49,33981.19,33992.88,34004.58,34016.27,34027.97,34039.66,34051.36,34063.06,34074.76,34086.46,34098.16,34109.86,34121.55,34133.25,34144.95,34156.65,34168.36,34180.06,34191.76,34203.46,34215.17,34226.87,34238.57,34250.28,34261.98,34273.69,34285.39,34297.10,34308.81,34320.52,34332.22,34343.93,34355.64,34367.34,34379.05,34390.77,34402.48,34414.19,34425.90,34437.61,34449.32,34461.03,34472.74,34484.46,34496.17,34507.89,34519.60,34531.32,34543.03,34554.75,34566.46,34578.18,34589.89,34601.61,34613.33,34625.05,34636.77,34648.49,34660.21,34671.93,34683.64,34695.36,34707.09,34718.81,34730.53,34742.25,34753.98,34765.70,34777.42,34789.14,34800.87,34812.59,34824.32,34836.05,34847.77,34859.50,34871.23,34882.95,34894.68,34906.41,34918.14,34929.87,34941.60,34953.33,34965.06,34976.79,34988.52,35000.25,35011.98,35023.71,35035.45,35047.18,35058.92,35070.65,35082.39,35094.12,35105.86,35117.59,35129.33,35141.07,35152.80,35164.54,35176.28,35188.02,35199.76,35211.50,35223.23,35234.97,35246.71,35258.46,35270.20,35281.94,35293.68,35305.43,35317.17,35328.91,35340.65,35352.40,35364.14,35375.89,35387.64,35399.38,35411.13,35422.88,35434.62,35446.37,35458.12,35469.87,35481.62,35493.37,35505.12,35516.87,35528.62,35540.37,35552.12,35563.87,35575.62,35587.38,35599.13,35610.89,35622.64,35634.39,35646.15,35657.90,35669.66,35681.41,35693.17,35704.93,35716.69,35728.45,35740.20,35751.96,35763.72,35775.48,35787.24,35799.00,35810.76,35822.52,35834.29,35846.05,35857.81,35869.57,35881.33,35893.09,35904.86,35916.62,35928.39,35940.16,35951.92,35963.69,35975.45,35987.22,35998.98,36010.75,36022.52,36034.29,36046.06,36057.83,36069.60,36081.37,36093.14,36104.91,36116.68,36128.46,36140.23,36152.00,36163.78,36175.55,36187.32,36199.10,36210.87,36222.64,36234.42,36246.20,36257.98,36269.75,36281.53,36293.31,36305.09,36316.86,36328.64,36340.42,36352.20,36363.98,36375.77,36387.55,36399.33,36411.11,36422.89,36434.67,36446.45,36458.24,36470.02,36481.81,36493.59,36505.38,36517.16,36528.95,36540.73,36552.52,36564.30,36576.09,36587.88,36599.67,36611.46,36623.25,36635.04,36646.83,36658.62,36670.41,36682.20,36693.99,36705.79,36717.58,36729.37,36741.16,36752.96,36764.75,36776.54,36788.34,36800.13,36811.93,36823.73,36835.52,36847.32,36859.12,36870.91,36882.71,36894.51,36906.31,36918.11,36929.91,36941.71,36953.51,36965.31,36977.11,36988.91,37000.71,37012.52,37024.32,37036.12,37047.93,37059.73,37071.54,37083.34,37095.15,37106.95,37118.76,37130.56,37142.37,37154.18,37165.99,37177.80,37189.61,37201.41,37213.22,37225.03,37236.84,37248.65,37260.46,37272.28,37284.09,37295.90,37307.71,37319.53,37331.34,37343.15,37354.96,37366.78,37378.60,37390.41,37402.23,37414.05,37425.86,37437.68,37449.50,37461.31,37473.13,37484.95,37496.77,37508.59,37520.41,37532.23,37544.05,37555.87,37567.69,37579.51,37591.33,37603.16,37614.98,37626.80,37638.63,37650.45,37662.28,37674.10,37685.93,37697.75,37709.57,37721.40,37733.23,37745.06,37756.89,37768.71,37780.54,37792.37,37804.20,37816.03,37827.86,37839.69,37851.52,37863.36,37875.19,37887.02,37898.85,37910.68,37922.52,37934.35,37946.18,37958.02,37969.86,37981.69,37993.53,38005.36,38017.20,38029.04,38040.87,38052.71,38064.55,38076.39,38088.23,38100.07,38111.91,38123.75,38135.59,38147.43,38159.27,38171.11,38182.95,38194.79,38206.64,38218.48,38230.32,38242.17,38254.01,38265.86,38277.70,38289.54,38301.39,38313.24,38325.09,38336.93,38348.78,38360.63,38372.48,38384.32,38396.17,38408.02,38419.87,38431.72,38443.57,38455.43,38467.28,38479.13,38490.98,38502.83,38514.68,38526.54,38538.39,38550.25,38562.10,38573.96,38585.81,38597.67,38609.52,38621.38,38633.23,38645.09,38656.95,38668.81,38680.67,38692.53,38704.39,38716.25,38728.11,38739.96,38751.82,38763.68,38775.55,38787.41,38799.27,38811.14,38823.00,38834.86,38846.73,38858.59,38870.45,38882.32,38894.18,38906.05,38917.92,38929.79,38941.65,38953.52,38965.39,38977.25,38989.12,39000.99,39012.86,39024.73,39036.60,39048.47,39060.34,39072.21,39084.09,39095.96,39107.83,39119.70,39131.57,39143.45,39155.32,39167.20,39179.07,39190.95,39202.82,39214.70,39226.57,39238.45,39250.32,39262.20,39274.08,39285.96,39297.84,39309.72,39321.60,39333.48,39345.36,39357.23,39369.11,39381.00,39392.88,39404.76,39416.64,39428.53,39440.41,39452.29,39464.18,39476.06,39487.94,39499.83,39511.71,39523.60,39535.49,39547.38,39559.26,39571.15,39583.04,39594.92,39606.81,39618.70,39630.59,39642.48,39654.37,39666.26,39678.15,39690.04,39701.93,39713.82,39725.71,39737.61,39749.50,39761.39,39773.29,39785.18,39797.08,39808.97,39820.87,39832.76,39844.66,39856.55,39868.45,39880.35,39892.25,39904.14,39916.04,39927.94,39939.84,39951.74,39963.64,39975.54,39987.44,39999.34,40011.24,40023.14,40035.05,40046.95,40058.85,40070.75,40082.66,40094.56,40106.46,40118.37,40130.27,40142.18,40154.09,40165.99,40177.90,40189.80,40201.71,40213.62,40225.52,40237.43,40249.34,40261.25,40273.16,40285.07,40296.98,40308.89,40320.80,40332.71,40344.62,40356.54,40368.45,40380.37,40392.28,40404.20,40416.11,40428.02,40439.94,40451.85,40463.77,40475.68,40487.60,40499.52,40511.43,40523.35,40535.27,40547.19,40559.11,40571.02,40582.94,40594.86,40606.78,40618.70,40630.62,40642.55,40654.47,40666.39,40678.31,40690.23,40702.16,40714.08,40726.00,40737.93,40749.85,40761.78,40773.70,40785.63,40797.55,40809.48,40821.41,40833.33,40845.26,40857.19,40869.12,40881.05,40892.98,40904.91,40916.84,40928.77,40940.70,40952.62,40964.55,40976.48,40988.42,41000.35,41012.29,41024.22,41036.15,41048.09,41060.02,41071.95,41083.89,41095.82,41107.75,41119.69,41131.63,41143.57,41155.50,41167.44,41179.38,41191.32,41203.25,41215.19,41227.13,41239.07,41251.01,41262.95,41274.89,41286.84,41298.78,41310.72,41322.66,41334.60,41346.54,41358.48,41370.43,41382.38,41394.32,41406.27,41418.21,41430.16,41442.10,41454.05,41465.99,41477.94,41489.89,41501.84,41513.79,41525.73,41537.68,41549.63,41561.58,41573.53,41585.48,41597.43,41609.38,41621.33,41633.29,41645.24,41657.19,41669.14,41681.10,41693.05,41705.00,41716.96,41728.91,41740.86,41752.82,41764.78,41776.73,41788.69,41800.65,41812.61,41824.56,41836.52,41848.48,41860.43,41872.39,41884.35,41896.31,41908.27,41920.23,41932.20,41944.16,41956.12,41968.08,41980.04,41992.00,42003.96,42015.93,42027.89,42039.86,42051.82,42063.79,42075.75,42087.72,42099.68,42111.65,42123.61,42135.58,42147.55,42159.52,42171.49,42183.46,42195.43,42207.39,42219.36,42231.33,42243.30,42255.27,42267.24,42279.21,42291.19,42303.16,42315.13,42327.11,42339.08,42351.05,42363.02,42375.00,42386.97,42398.95,42410.92,42422.90,42434.88,42446.85,42458.83,42470.80,42482.78,42494.76,42506.73,42518.71,42530.69,42542.67,42554.65,42566.63,42578.61,42590.59,42602.57,42614.55,42626.54,42638.52,42650.50,42662.48,42674.46,42686.45,42698.43,42710.42,42722.40,42734.39,42746.37,42758.36,42770.34,42782.32,42794.31,42806.30,42818.29,42830.28,42842.27,42854.25,42866.24,42878.23,42890.22,42902.21,42914.20,42926.19,42938.18,42950.17,42962.16,42974.16,42986.15,42998.14,43010.13,43022.12,43034.12,43046.11,43058.11,43070.10,43082.10,43094.09,43106.09,43118.09,43130.08,43142.08,43154.07,43166.07,43178.07,43190.07,43202.07,43214.07,43226.07,43238.07,43250.07,43262.07,43274.07,43286.07,43298.07,43310.07,43322.07,43334.07,43346.08,43358.08,43370.09,43382.09,43394.09,43406.10,43418.10,43430.11,43442.11,43454.12,43466.12,43478.13,43490.14,43502.15,43514.16,43526.16,43538.17,43550.18,43562.19,43574.20,43586.21,43598.22,43610.23,43622.24,43634.25,43646.27,43658.28,43670.29,43682.30,43694.31,43706.32,43718.34,43730.35,43742.37,43754.38,43766.40,43778.41,43790.43,43802.45,43814.46,43826.48,43838.49,43850.51,43862.53,43874.55,43886.57,43898.59,43910.61,43922.62,43934.64,43946.66,43958.68,43970.70,43982.72,43994.75,44006.77,44018.79,44030.82,44042.84,44054.86,44066.89,44078.91,44090.93,44102.96,44114.98,44127.01,44139.04,44151.06,44163.09,44175.12,44187.14,44199.17,44211.20,44223.23,44235.25,44247.28,44259.31,44271.34,44283.37,44295.40,44307.43,44319.46,44331.50,44343.53,44355.56,44367.59,44379.62,44391.65,44403.69,44415.72,44427.76,44439.79,44451.83,44463.86,44475.90,44487.93,44499.97,44512.00,44524.04,44536.08,44548.12,44560.16,44572.20,44584.23,44596.27,44608.31,44620.35,44632.39,44644.43,44656.47,44668.51,44680.55,44692.59,44704.64,44716.68,44728.72,44740.77,44752.81,44764.85,44776.89,44788.94,44800.98,44813.03,44825.07,44837.12,44849.17,44861.21,44873.26,44885.31,44897.36,44909.40,44921.45,44933.50,44945.54,44957.59,44969.64,44981.70,44993.75,45005.80,45017.85,45029.90,45041.95,45054.00,45066.05,45078.10,45090.16,45102.21,45114.27,45126.32,45138.38,45150.43,45162.48,45174.54,45186.59,45198.65,45210.70,45222.76,45234.82,45246.88,45258.93,45270.99,45283.05,45295.11,45307.17,45319.23,45331.29,45343.34,45355.40,45367.46,45379.53,45391.59,45403.65,45415.71,45427.78,45439.84,45451.90,45463.96,45476.03,45488.09,45500.15,45512.22,45524.29,45536.35,45548.42,45560.48,45572.55,45584.62,45596.68,45608.75,45620.82,45632.88,45644.95,45657.02,45669.09,45681.16,45693.23,45705.30,45717.38,45729.45,45741.52,45753.59,45765.66,45777.73,45789.80,45801.88,45813.95,45826.02,45838.10,45850.17,45862.25,45874.32,45886.39,45898.47,45910.54,45922.62,45934.70,45946.77,45958.85,45970.93,45983.01,45995.09,46007.16,46019.24,46031.32,46043.40,46055.48,46067.56,46079.64,46091.72,46103.80,46115.89,46127.97,46140.05,46152.13,46164.21,46176.30,46188.38,46200.46,46212.55,46224.63,46236.72,46248.80,46260.89,46272.98,46285.06,46297.15,46309.23,46321.32,46333.41,46345.49,46357.58,46369.67,46381.76,46393.85,46405.94,46418.03,46430.12,46442.21,46454.30,46466.39,46478.48,46490.57,46502.66,46514.76,46526.85,46538.95,46551.04,46563.13,46575.23,46587.32,46599.41,46611.51,46623.60,46635.70,46647.80,46659.89,46671.99,46684.09,46696.19,46708.29,46720.38,46732.48,46744.58,46756.68,46768.77,46780.88,46792.98,46805.08,46817.18,46829.28,46841.38,46853.48,46865.59,46877.69,46889.79,46901.89,46913.99,46926.10,46938.20,46950.31,46962.41,46974.52,46986.62,46998.73,47010.84,47022.94,47035.05,47047.15,47059.26,47071.37,47083.48,47095.59,47107.70,47119.80,47131.91,47144.02,47156.13,47168.24,47180.35,47192.46,47204.57,47216.68,47228.80,47240.91,47253.02,47265.14,47277.25,47289.36,47301.48,47313.59,47325.70,47337.82,47349.93,47362.05,47374.16,47386.28,47398.40,47410.52,47422.63,47434.75,47446.87,47458.98,47471.10,47483.22,47495.34,47507.46,47519.58,47531.70,47543.82,47555.94,47568.06,47580.18,47592.30,47604.43,47616.55,47628.67,47640.79,47652.91,47665.04,47677.16,47689.29,47701.41,47713.54,47725.66,47737.79,47749.91,47762.04,47774.16,47786.29,47798.42,47810.55,47822.68,47834.80,47846.93,47859.06,47871.19,47883.32,47895.45,47907.58,47919.71,47931.84,47943.97,47956.10,47968.23,47980.37,47992.50,48004.63,48016.77,48028.90,48041.03,48053.16,48065.30,48077.43,48089.56,48101.70,48113.84,48125.97,48138.11,48150.25,48162.38,48174.52,48186.66,48198.79,48210.93,48223.07,48235.20,48247.34,48259.48,48271.62,48283.77,48295.91,48308.05,48320.19,48332.33,48344.47,48356.61,48368.75,48380.89,48393.04,48405.18,48417.32,48429.47,48441.61,48453.76,48465.90,48478.05,48490.19,48502.34,48514.48,48526.62,48538.77,48550.92,48563.07,48575.22,48587.37,48599.52,48611.66,48623.81,48635.96,48648.11,48660.26,48672.41,48684.55,48696.71,48708.86,48721.01,48733.16,48745.32,48757.47,48769.62,48781.77,48793.93,48806.08,48818.23,48830.38,48842.54,48854.70,48866.85,48879.01,48891.16,48903.32,48915.48,48927.63,48939.79,48951.95,48964.10,48976.26,48988.42,49000.58,49012.74,49024.90,49037.06,49049.22,49061.38,49073.54,49085.70,49097.86,49110.02,49122.18,49134.34,49146.50,49158.67,49170.83,49183.00,49195.16,49207.32,49219.49,49231.65,49243.82,49255.98,49268.14,49280.31,49292.48,49304.64,49316.81,49328.98,49341.15,49353.32,49365.48,49377.65,49389.82,49401.99,49414.16,49426.32,49438.50,49450.67,49462.84,49475.01,49487.18,49499.36,49511.53,49523.70,49535.87,49548.04,49560.21,49572.39,49584.56,49596.73,49608.91,49621.09,49633.26,49645.44,49657.61,49669.79,49681.96,49694.14,49706.32,49718.49,49730.67,49742.84,49755.02,49767.20,49779.38,49791.56,49803.74,49815.92,49828.10,49840.28,49852.46,49864.64,49876.82,49889.00,49901.18,49913.37,49925.55,49937.73,49949.92,49962.10,49974.29,49986.47,49998.65,50010.84,50023.02,50035.20,50047.39,50059.57,50071.76,50083.95,50096.14,50108.32,50120.51,50132.70,50144.89,50157.07,50169.26,50181.45,50193.64,50205.83,50218.02,50230.21,50242.40,50254.59,50266.79,50278.98,50291.17,50303.36,50315.55,50327.74,50339.93,50352.12,50364.32,50376.52,50388.71,50400.91,50413.10,50425.30,50437.49,50449.69,50461.88,50474.08,50486.27,50498.47,50510.66,50522.86,50535.06,50547.26,50559.46,50571.66,50583.86,50596.06,50608.26,50620.46,50632.66,50644.86,50657.05,50669.26,50681.46,50693.66,50705.87,50718.07,50730.27,50742.48,50754.68,50766.88,50779.09,50791.29,50803.49,50815.70,50827.90,50840.11,50852.32,50864.52,50876.73,50888.94,50901.14,50913.35,50925.56,50937.77,50949.97,50962.18,50974.39,50986.60,50998.81,51011.02,51023.23,51035.44,51047.65,51059.86,51072.07,51084.29,51096.50,51108.71,51120.92,51133.13,51145.34,51157.56,51169.77,51181.99,51194.20,51206.42,51218.63,51230.85,51243.06,51255.28,51267.49,51279.71,51291.92,51304.14,51316.36,51328.58,51340.80,51353.02,51365.23,51377.45,51389.67,51401.89,51414.11,51426.33,51438.55,51450.77,51462.99,51475.21,51487.43,51499.66,51511.88,51524.10,51536.32,51548.55,51560.77,51572.99,51585.21,51597.44,51609.66,51621.89,51634.11,51646.34,51658.57,51670.79,51683.02,51695.25,51707.47,51719.70,51731.93,51744.15,51756.38,51768.61,51780.84,51793.07,51805.30,51817.53,51829.76,51841.99,51854.22,51866.45,51878.68,51890.91,51903.14,51915.38,51927.61,51939.84,51952.07,51964.31,51976.54,51988.78,52001.01,52013.25,52025.48,52037.71,52049.95,52062.18,52074.42,52086.65,52098.89,52111.13,52123.37,52135.61,52147.84,52160.08,52172.32,52184.56,52196.80,52209.04,52221.27,52233.51,52245.75,52257.99,52270.23,52282.48,52294.72,52306.96,52319.20,52331.45,52343.69,52355.93,52368.17,52380.41,52392.66,52404.90,52417.14,52429.39,52441.64,52453.88,52466.13,52478.38,52490.62,52502.87,52515.11,52527.36,52539.61,52551.85,52564.10,52576.35,52588.60,52600.85,52613.10,52625.35,52637.60,52649.85,52662.10,52674.35,52686.60,52698.85,52711.10,52723.35,52735.60,52747.86,52760.11,52772.36,52784.62,52796.87,52809.12,52821.38,52833.63,52845.89,52858.14,52870.39,52882.65,52894.91,52907.16,52919.42,52931.68,52943.94,52956.20,52968.45,52980.71,52992.97,53005.23,53017.48,53029.74,53042.00,53054.26,53066.52,53078.78,53091.04,53103.30,53115.57,53127.83,53140.09,53152.35,53164.61,53176.88,53189.14,53201.40,53213.66,53225.93,53238.19,53250.46,53262.72,53274.99,53287.25,53299.52,53311.79,53324.05,53336.32,53348.58,53360.85,53373.11,53385.38,53397.65,53409.92,53422.19,53434.46,53446.73,53459.00,53471.27,53483.54,53495.81,53508.08,53520.35,53532.62,53544.89,53557.16,53569.43,53581.71,53593.98,53606.25,53618.53,53630.80,53643.07,53655.35,53667.62,53679.89,53692.17,53704.44,53716.72,53729.00,53741.27,53753.55,53765.83,53778.11,53790.38,53802.66,53814.94,53827.21,53839.49,53851.77,53864.05,53876.33,53888.61,53900.89,53913.17,53925.45,53937.73,53950.02,53962.30,53974.58,53986.86,53999.14,54011.42,54023.70,54035.98,54048.27,54060.55,54072.84,54085.12,54097.41,54109.70,54121.98,54134.27,54146.55,54158.84,54171.12,54183.41,54195.69,54207.98,54220.27,54232.56,54244.85,54257.14,54269.43,54281.71,54294.00,54306.29,54318.58,54330.87,54343.16,54355.45,54367.74,54380.03,54392.32,54404.62,54416.91,54429.20,54441.50,54453.79,54466.08,54478.38,54490.67,54502.96,54515.25,54527.55,54539.84,54552.14,54564.43,54576.73,54589.03,54601.32,54613.62,54625.92,54638.21,54650.51,54662.81,54675.11,54687.40,54699.70,54712.00,54724.30,54736.60,54748.90,54761.20,54773.50,54785.80,54798.11,54810.41,54822.71,54835.01,54847.31,54859.61,54871.91,54884.21,54896.52,54908.82,54921.13,54933.43,54945.74,54958.04,54970.35,54982.65,54994.96,55007.26,55019.57,55031.87,55044.18,55056.48,55068.79,55081.10,55093.41,55105.72,55118.03,55130.34,55142.64,55154.95,55167.26,55179.57,55191.88,55204.19,55216.50,55228.81,55241.12,55253.44,55265.75,55278.06,55290.38,55302.69,55315.00,55327.31,55339.62,55351.94,55364.25,55376.56,55388.88,55401.20,55413.51,55425.83,55438.14,55450.46,55462.78,55475.09,55487.41,55499.73,55512.04,55524.36,55536.68,55548.99,55561.31,55573.63,55585.95,55598.27,55610.59,55622.91,55635.23,55647.55,55659.88,55672.20,55684.52,55696.84,55709.16,55721.48,55733.80,55746.12,55758.45,55770.77,55783.10,55795.42,55807.75,55820.07,55832.39,55844.72,55857.04,55869.37,55881.69,55894.02,55906.34,55918.67,55931.00,55943.33,55955.66,55967.98,55980.31,55992.64,56004.97,56017.30,56029.62,56041.95,56054.28,56066.61,56078.94,56091.27,56103.61,56115.94,56128.27,56140.60,56152.93,56165.27,56177.60,56189.93,56202.26,56214.59,56226.93,56239.26,56251.60,56263.93,56276.27,56288.61,56300.94,56313.28,56325.61,56337.95,56350.29,56362.62,56374.96,56387.29,56399.63,56411.97,56424.31,56436.65,56448.99,56461.33,56473.67,56486.01,56498.35,56510.69,56523.03,56535.37,56547.71,56560.05,56572.39,56584.73,56597.07,56609.41,56621.76,56634.10,56646.45,56658.79,56671.13,56683.48,56695.82,56708.16,56720.51,56732.85,56745.20,56757.54,56769.89,56782.23,56794.58,56806.93,56819.28,56831.62,56843.97,56856.32,56868.67,56881.02,56893.36,56905.71,56918.06,56930.41,56942.76,56955.11,56967.46,56979.81,56992.16,57004.52,57016.87,57029.22,57041.57,57053.92,57066.27,57078.62,57090.98,57103.33,57115.68,57128.04,57140.39,57152.75,57165.11,57177.46,57189.82,57202.17,57214.53,57226.88,57239.24,57251.59,57263.95,57276.30,57288.66,57301.02,57313.38,57325.74,57338.10,57350.46,57362.82,57375.18,57387.54,57399.90,57412.26,57424.62,57436.98,57449.34,57461.70,57474.06,57486.43,57498.79,57511.15,57523.52,57535.88,57548.24,57560.61,57572.97,57585.33,57597.70,57610.06,57622.42,57634.79,57647.15,57659.52,57671.89,57684.25,57696.62,57708.99,57721.36,57733.72,57746.09,57758.46,57770.82,57783.19,57795.56,57807.93,57820.30,57832.67,57845.04,57857.41,57869.78,57882.15,57894.52,57906.89,57919.27,57931.64,57944.01,57956.38,57968.75,57981.12,57993.50,58005.87,58018.25,58030.62,58043.00,58055.37,58067.75,58080.12,58092.50,58104.87,58117.25,58129.62,58142.00,58154.37,58166.75,58179.12,58191.50,58203.88,58216.26,58228.64,58241.02,58253.40,58265.78,58278.16,58290.54,58302.91,58315.29,58327.67,58340.05,58352.43,58364.82,58377.20,58389.58,58401.96,58414.35,58426.73,58439.11,58451.50,58463.88,58476.26,58488.64,58501.03,58513.41,58525.80,58538.18,58550.57,58562.96,58575.34,58587.73,58600.12,58612.50,58624.89,58637.28,58649.66,58662.05,58674.44,58686.82,58699.21,58711.60,58723.99,58736.38,58748.77,58761.16,58773.55,58785.95,58798.34,58810.73,58823.12,58835.51,58847.90,58860.29,58872.68,58885.07,58897.47,58909.86,58922.26,58934.65,58947.05,58959.44,58971.84,58984.23,58996.62,59009.02,59021.41,59033.81,59046.20,59058.60,59071.00,59083.39,59095.79,59108.19,59120.59,59132.99,59145.39,59157.79,59170.18,59182.58,59194.98,59207.38,59219.78,59232.18,59244.57,59256.98,59269.38,59281.78,59294.18,59306.59,59318.99,59331.39,59343.79,59356.20,59368.60,59381.00,59393.40,59405.80,59418.21,59430.61,59443.02,59455.43,59467.83,59480.24,59492.64,59505.05,59517.46,59529.86,59542.27,59554.68,59567.08,59579.49,59591.89,59604.30,59616.71,59629.12,59641.53,59653.94,59666.35,59678.76,59691.17,59703.58,59715.99,59728.40,59740.81,59753.22,59765.63,59778.04,59790.45,59802.87,59815.28,59827.70,59840.11,59852.52,59864.94,59877.35,59889.77,59902.18,59914.59,59927.01,59939.42,59951.84,59964.25,59976.66,59989.08,60001.50,60013.92,60026.34,60038.75,60051.17,60063.59,60076.01,60088.43,60100.84,60113.26,60125.68,60138.10,60150.52,60162.94,60175.36,60187.78,60200.20,60212.62,60225.05,60237.47,60249.89,60262.31,60274.73,60287.16,60299.58,60312.00,60324.42,60336.84,60349.27,60361.70,60374.12,60386.55,60398.97,60411.40,60423.82,60436.25,60448.68,60461.10,60473.53,60485.95,60498.38,60510.80,60523.23,60535.66,60548.09,60560.52,60572.95,60585.38,60597.81,60610.24,60622.67,60635.10,60647.53,60659.96,60672.39,60684.82,60697.25,60709.68,60722.11,60734.54,60746.98,60759.41,60771.84,60784.28,60796.71,60809.14,60821.58,60834.01,60846.45,60858.88,60871.31,60883.75,60896.18,60908.62,60921.05,60933.49,60945.93,60958.37,60970.80,60983.24,60995.68,61008.12,61020.55,61032.99,61045.43,61057.87,61070.30,61082.74,61095.18,61107.62,61120.07,61132.51,61144.95,61157.39,61169.83,61182.27,61194.71,61207.16,61219.60,61232.04,61244.48,61256.92,61269.36,61281.81,61294.25,61306.70,61319.14,61331.59,61344.04,61356.48,61368.93,61381.37,61393.82,61406.26,61418.71,61431.15,61443.60,61456.04,61468.49,61480.94,61493.39,61505.84,61518.29,61530.74,61543.19,61555.64,61568.09,61580.54,61592.98,61605.43,61617.88,61630.33,61642.78,61655.23,61667.69,61680.14,61692.59,61705.05,61717.50,61729.95,61742.41,61754.86,61767.31,61779.77,61792.22,61804.67,61817.12,61829.58,61842.03,61854.49,61866.95,61879.40,61891.86,61904.32,61916.77,61929.23,61941.69,61954.14,61966.60,61979.06,61991.52,62003.97,62016.43,62028.89,62041.35,62053.81,62066.27,62078.73,62091.19,62103.65,62116.11,62128.57,62141.04,62153.50,62165.96,62178.42,62190.88,62203.34,62215.80,62228.27,62240.73,62253.20,62265.66,62278.12,62290.59,62303.05,62315.52,62327.98,62340.45,62352.91,62365.38,62377.84,62390.31,62402.77,62415.24,62427.71,62440.18,62452.65,62465.12,62477.59,62490.05,62502.52,62514.99,62527.46,62539.93,62552.40,62564.87,62577.34,62589.80,62602.27,62614.75,62627.22,62639.69,62652.16,62664.64,62677.11,62689.58,62702.05,62714.53,62727.00,62739.47,62751.95,62764.42,62776.89,62789.36,62801.84,62814.32,62826.79,62839.27,62851.75,62864.22,62876.70,62889.18,62901.65,62914.13,62926.61,62939.08,62951.56,62964.04,62976.51,62988.99,63001.47,63013.95,63026.43,63038.91,63051.39,63063.88,63076.36,63088.84,63101.32,63113.80,63126.28,63138.76,63151.24,63163.72,63176.20,63188.68,63201.17,63213.65,63226.14,63238.62,63251.11,63263.59,63276.07,63288.56,63301.04,63313.53,63326.01,63338.50,63350.98,63363.46,63375.95,63388.44,63400.93,63413.42,63425.91,63438.39,63450.88,63463.37,63475.86,63488.35,63500.84,63513.32,63525.81,63538.30,63550.79,63563.28,63575.77,63588.26,63600.75,63613.25,63625.74,63638.23,63650.72,63663.21,63675.71,63688.20,63700.69,63713.18,63725.68,63738.17,63750.66,63763.15,63775.65,63788.14,63800.64,63813.14,63825.63,63838.13,63850.62,63863.12,63875.62,63888.11,63900.61,63913.11,63925.60,63938.10,63950.59,63963.09,63975.59,63988.09,64000.59,64013.09,64025.59,64038.09,64050.59,64063.09,64075.59,64088.09,64100.59,64113.09,64125.59,64138.09,64150.59,64163.10,64175.60,64188.11,64200.61,64213.11,64225.62,64238.12,64250.62,64263.13,64275.63,64288.14,64300.64,64313.14,64325.65,64338.15,64350.66,64363.16,64375.67,64388.18,64400.69,64413.20,64425.70,64438.21,64450.72,64463.23,64475.73,64488.24,64500.75,64513.26,64525.77,64538.27,64550.79,64563.30,64575.81,64588.32,64600.83,64613.34,64625.86,64638.37,64650.88,64663.39,64675.90,64688.41,64700.93,64713.44,64725.95,64738.46,64750.98,64763.49,64776.01,64788.52,64801.04,64813.55,64826.07,64838.59,64851.10,64863.62,64876.13,64888.65,64901.16,64913.68,64926.20,64938.71,64951.23,64963.75,64976.27,64988.79,65001.31,65013.83,65026.35,65038.87,65051.39,65063.91,65076.43,65088.95,65101.46,65113.98,65126.50,65139.02,65151.55,65164.07,65176.59,65189.12,65201.64,65214.16,65226.69,65239.21,65251.73,65264.26,65276.78,65289.30,65301.83,65314.35,65326.88,65339.40,65351.93,65364.45,65376.98,65389.51,65402.04,65414.56,65427.09,65439.62,65452.14,65464.67,65477.20,65489.73,65502.25,65514.78,65527.31,65539.84,65552.37,65564.90,65577.43,65589.96,65602.49,65615.02,65627.55,65640.09,65652.62,65665.15,65677.68,65690.21,65702.74,65715.27,65727.80,65740.34,65752.87,65765.40,65777.93,65790.46,65802.99,65815.52,65828.05,65840.59,65853.12,65865.66,65878.20,65890.74,65903.28,65915.82,65928.36,65940.90,65953.44,65965.98,65978.52,65991.05,66003.59,66016.13,66028.67,66041.21,66053.75,66066.29,66078.83,66091.37,66103.91,66116.45,66128.98,66141.52,66154.06,66166.60,66179.14,66191.68,66204.22,66216.76,66229.30,66241.84,66254.38,66266.93,66279.48,66292.02,66304.57,66317.12,66329.66,66342.21,66354.76,66367.30,66379.85,66392.40,66404.95,66417.49,66430.04,66442.59,66455.13,66467.68,66480.23,66492.77,66505.32,66517.87,66530.41,66542.96,66555.51,66568.05,66580.60,66593.15,66605.70,66618.24,66630.79,66643.34,66655.88,66668.44,66680.99,66693.55,66706.10,66718.66,66731.21,66743.77,66756.32,66768.88,66781.43,66793.98,66806.54,66819.09,66831.65,66844.20,66856.76,66869.31,66881.87,66894.42,66906.98,66919.53,66932.09,66944.64,66957.20,66969.75,66982.30,66994.86,67007.41,67019.97,67032.52,67045.08,67057.63,67070.20,67082.76,67095.32,67107.88,67120.45,67133.01,67145.57,67158.13,67170.70,67183.26,67195.82,67208.38,67220.95,67233.51,67246.07,67258.63,67271.20,67283.76,67296.32,67308.88,67321.45,67334.01,67346.57,67359.13,67371.70,67384.26,67396.82,67409.38,67421.95,67434.51,67447.07,67459.63,67472.20,67484.77,67497.34,67509.91,67522.48,67535.05,67547.62,67560.19,67572.76,67585.33,67597.90,67610.47,67623.04,67635.61,67648.18,67660.75,67673.32,67685.89,67698.46,67711.03,67723.60,67736.17,67748.74,67761.31,67773.88,67786.45,67799.02,67811.59,67824.16,67836.73,67849.30,67861.88,67874.45,67887.02,67899.59,67912.17,67924.75,67937.33,67949.91,67962.48,67975.06,67987.64,68000.22,68012.80,68025.38,68037.95,68050.53,68063.11,68075.69,68088.27,68100.84,68113.42,68126.00,68138.58,68151.16,68163.73,68176.31,68188.89,68201.47,68214.05,68226.62,68239.20,68251.78,68264.36,68276.94,68289.52,68302.09,68314.68,68327.27,68339.85,68352.44,68365.02,68377.61,68390.20,68402.78,68415.37,68427.95,68440.54,68453.12,68465.71,68478.30,68490.88,68503.47,68516.05,68528.64,68541.23,68553.81,68566.40,68578.98,68591.57,68604.16,68616.74,68629.33,68641.91,68654.50,68667.09,68679.67,68692.26,68704.84,68717.43,68730.02,68742.62,68755.21,68767.80,68780.40,68792.99,68805.59,68818.18,68830.77,68843.37,68855.96,68868.55,68881.15,68893.74,68906.34,68918.93,68931.52,68944.12,68956.71,68969.30,68981.90,68994.49,69007.09,69019.68,69032.27,69044.87,69057.46,69070.05,69082.65,69095.24,69107.84,69120.43,69133.02,69145.62,69158.22,69170.82,69183.42,69196.02,69208.62,69221.23,69233.83,69246.43,69259.03,69271.63,69284.23,69296.84,69309.44,69322.04,69334.64,69347.24,69359.84,69372.45,69385.05,69397.65,69410.25,69422.85,69435.45,69448.05,69460.66,69473.26,69485.86,69498.46,69511.06,69523.66,69536.27,69548.87,69561.47,69574.08,69586.69,69599.30,69611.91,69624.52,69637.12,69649.73,69662.34,69674.95,69687.56,69700.17,69712.78,69725.39,69738.00,69750.61,69763.22,69775.83,69788.44,69801.05,69813.66,69826.27,69838.88,69851.48,69864.09,69876.70,69889.31,69901.92,69914.53,69927.14,69939.75,69952.36,69964.97,69977.58,69990.19,70002.80,70015.42,70028.04,70040.66,70053.27,70065.89,70078.51,70091.12,70103.74,70116.36,70128.98,70141.59,70154.21,70166.83,70179.45,70192.06,70204.68,70217.30,70229.91,70242.53,70255.15,70267.77,70280.38,70293.00,70305.62,70318.23,70330.85,70343.47,70356.09,70368.70,70381.32,70393.94,70406.55,70419.17,70431.80,70444.42,70457.05,70469.67,70482.30,70494.92,70507.55,70520.17,70532.80,70545.42,70558.05,70570.67,70583.30,70595.92,70608.55,70621.17,70633.80,70646.42,70659.05,70671.67,70684.30,70696.92,70709.55,70722.17,70734.80,70747.42,70760.05,70772.67,70785.30,70797.92,70810.55,70823.17,70835.80,70848.42,70861.05,70873.68,70886.31,70898.95,70911.58,70924.21,70936.84,70949.48,70962.11,70974.74,70987.38,71000.01,71012.64,71025.27,71037.91,71050.54,71063.17,71075.80,71088.44,71101.07,71113.70,71126.34,71138.97,71151.60,71164.23,71176.87,71189.50,71202.13,71214.77,71227.40,71240.03,71252.66,71265.30,71277.93,71290.56,71303.20,71315.84,71328.48,71341.12,71353.77,71366.41,71379.05,71391.69,71404.33,71416.97,71429.61,71442.25,71454.89,71467.53,71480.17,71492.81,71505.45,71518.09,71530.73,71543.38,71556.02,71568.66,71581.30,71593.94,71606.58,71619.22,71631.86,71644.50,71657.14,71669.78,71682.42,71695.06,71707.70,71720.34,71732.99,71745.64,71758.29,71770.94,71783.59,71796.23,71808.88,71821.53,71834.18,71846.83,71859.48,71872.12,71884.77,71897.42,71910.07,71922.72,71935.37,71948.02,71960.66,71973.31,71985.96,71998.61,72011.26,72023.91,72036.55,72049.20,72061.85,72074.50,72087.15,72099.80,72112.45,72125.09,72137.74,72150.39,72163.04,72175.70,72188.35,72201.01,72213.66,72226.32,72238.98,72251.63,72264.29,72276.95,72289.60,72302.26,72314.91,72327.57,72340.23,72352.88,72365.54,72378.20,72390.85,72403.51,72416.16,72428.82,72441.48,72454.13,72466.79,72479.45,72492.10,72504.76,72517.41,72530.07,72542.73,72555.38,72568.04,72580.70,72593.35,72606.01,72618.67,72631.34,72644.00,72656.66,72669.33,72681.99,72694.66,72707.32,72719.98,72732.65,72745.31,72757.98,72770.64,72783.30,72795.97,72808.63,72821.30,72833.96,72846.62,72859.29,72871.95,72884.62,72897.28,72909.95,72922.61,72935.27,72947.94,72960.60,72973.27,72985.93,72998.59,73011.26,73023.92,73036.59,73049.25,73061.92,73074.59,73087.27,73099.94,73112.61,73125.28,73137.95,73150.62,73163.30,73175.97,73188.64,73201.31,73213.98,73226.66,73239.33,73252.00,73264.67,73277.34,73290.02,73302.69,73315.36,73328.03,73340.70,73353.38,73366.05,73378.72,73391.39,73404.06,73416.73,73429.41,73442.08,73454.75,73467.42,73480.09,73492.77,73505.44,73518.12,73530.80,73543.48,73556.16,73568.84,73581.52,73594.20,73606.88,73619.55,73632.23,73644.91,73657.59,73670.27,73682.95,73695.63,73708.31,73720.99,73733.67,73746.35,73759.03,73771.71,73784.39,73797.07,73809.75,73822.43,73835.11,73847.79,73860.47,73873.15,73885.83,73898.51,73911.19,73923.87,73936.55,73949.23,73961.91,73974.60,73987.29,73999.98,74012.66,74025.35,74038.04,74050.73,74063.41,74076.10,74088.79,74101.48,74114.16,74126.85,74139.54,74152.23,74164.91,74177.60,74190.29,74202.98,74215.66,74228.35,74241.04,74253.73,74266.41,74279.10,74291.79,74304.48,74317.16,74329.85,74342.54,74355.23,74367.91,74380.60,74393.29,74405.98,74418.67,74431.37,74444.06,74456.76,74469.45,74482.15,74494.84,74507.54,74520.23,74532.93,74545.62,74558.32,74571.02,74583.71,74596.41,74609.10,74621.80,74634.49,74647.19,74659.88,74672.58,74685.27,74697.97,74710.66,74723.36,74736.05,74748.75,74761.45,74774.14,74786.84,74799.53,74812.23,74824.92,74837.62,74850.31,74863.01,74875.71,74888.41,74901.12,74913.82,74926.52,74939.23,74951.93,74964.63,74977.34,74990.04,75002.74,75015.45,75028.15,75040.85,75053.55,75066.26,75078.96,75091.66,75104.37,75117.07,75129.77,75142.48,75155.18,75167.88,75180.59,75193.29,75205.99,75218.70,75231.40,75244.10,75256.80,75269.51,75282.21,75294.91,75307.62,75320.32,75333.03,75345.74,75358.45,75371.16,75383.88,75396.59,75409.30,75422.01,75434.72,75447.43,75460.14,75472.85,75485.56,75498.27,75510.98,75523.70,75536.41,75549.12,75561.83,75574.54,75587.25,75599.96,75612.67,75625.38,75638.09,75650.80,75663.52,75676.23,75688.94,75701.65,75714.36,75727.07,75739.78,75752.49,75765.20,75777.91,75790.63,75803.35,75816.07,75828.79,75841.51,75854.23,75866.95,75879.66,75892.38,75905.10,75917.82,75930.54,75943.26,75955.98,75968.70,75981.41,75994.13,76006.85,76019.57,76032.29,76045.01,76057.73,76070.45,76083.16,76095.88,76108.60,76121.32,76134.04,76146.76,76159.48,76172.20,76184.91,76197.63,76210.35,76223.07,76235.79,76248.51,76261.23,76273.96,76286.69,76299.41,76312.14,76324.87,76337.59,76350.32,76363.05,76375.77,76388.50,76401.23,76413.95,76426.68,76439.41,76452.13,76464.86,76477.59,76490.31,76503.04,76515.77,76528.49,76541.22,76553.95,76566.67,76579.40,76592.12,76604.85,76617.58,76630.30,76643.03,76655.76,76668.48,76681.21,76693.94,76706.66,76719.40,76732.13,76744.87,76757.60,76770.34,76783.07,76795.80,76808.54,76821.27,76834.01,76846.74,76859.48,76872.21,76884.95,76897.68,76910.41,76923.15,76935.88,76948.62,76961.35,76974.09,76986.82,76999.55,77012.29,77025.02,77037.76,77050.49,77063.23,77075.96,77088.70,77101.43,77114.16,77126.90,77139.63,77152.37,77165.10,77177.84,77190.58,77203.32,77216.06,77228.80,77241.55,77254.29,77267.03,77279.77,77292.52,77305.26,77318.00,77330.74,77343.48,77356.23,77368.97,77381.71,77394.45,77407.20,77419.94,77432.68,77445.42,77458.16,77470.91,77483.65,77496.39,77509.13,77521.88,77534.62,77547.36,77560.10,77572.84,77585.59,77598.33,77611.07,77623.81,77636.55,77649.30,77662.05,77674.80,77687.55,77700.30,77713.05,77725.80,77738.55,77751.30,77764.05,77776.80,77789.55,77802.30,77815.05,77827.80,77840.55,77853.30,77866.05,77878.80,77891.55,77904.30,77917.05,77929.80,77942.55,77955.30,77968.05,77980.80,77993.55,78006.30,78019.05,78031.80,78044.55,78057.30,78070.05,78082.80,78095.55,78108.30,78121.05,78133.80,78146.55,78159.31,78172.07,78184.83,78197.59,78210.34,78223.10,78235.86,78248.62,78261.38,78274.13,78286.89,78299.65,78312.41,78325.16,78337.92,78350.68,78363.44,78376.20,78388.95,78401.71,78414.47,78427.23,78439.98,78452.74,78465.50,78478.26,78491.02,78503.77,78516.53,78529.29,78542.05,78554.80,78567.56,78580.32,78593.08,78605.84,78618.60,78631.37,78644.13,78656.90,78669.66,78682.43,78695.20,78707.96,78720.73,78733.49,78746.26,78759.02,78771.79,78784.55,78797.32,78810.09,78822.85,78835.62,78848.38,78861.15,78873.91,78886.68,78899.45,78912.21,78924.98,78937.74,78950.51,78963.27,78976.04,78988.80,79001.57,79014.34,79027.10,79039.87,79052.63,79065.40,79078.16,79090.93,79103.70,79116.48,79129.25,79142.02,79154.80,79167.57,79180.34,79193.12,79205.89,79218.66,79231.44,79244.21,79256.98,79269.76,79282.53,79295.30,79308.08,79320.85,79333.62,79346.40,79359.17,79371.95,79384.72,79397.49,79410.27,79423.04,79435.81,79448.59,79461.36,79474.13,79486.91,79499.68,79512.45,79525.23,79538.00,79550.77,79563.55,79576.32,79589.10,79601.88,79614.66,79627.45,79640.23,79653.01,79665.79,79678.57,79691.35,79704.13,79716.91,79729.70,79742.48,79755.26,79768.04,79780.82,79793.60,79806.38,79819.16,79831.95,79844.73,79857.51,79870.29,79883.07,79895.85,79908.63,79921.41,79934.20,79946.98,79959.76,79972.54,79985.32,79998.10,80010.88,80023.66,80036.45,80049.23,80062.01,80074.80,80087.59,80100.38,80113.16,80125.95,80138.74,80151.53,80164.32,80177.11,80189.90,80202.69,80215.48,80228.27,80241.05,80253.84,80266.63,80279.42,80292.21,80305.00,80317.79,80330.58,80343.37,80356.16,80368.95,80381.73,80394.52,80407.31,80420.10,80432.89,80445.68,80458.47,80471.26,80484.05,80496.84,80509.62,80522.41,80535.20,80547.99,80560.79,80573.59,80586.38,80599.18,80611.98,80624.77,80637.57,80650.37,80663.16,80675.96,80688.76,80701.55,80714.35,80727.15,80739.95,80752.74,80765.54,80778.34,80791.13,80803.93,80816.73,80829.52,80842.32,80855.12,80867.91,80880.71,80893.51,80906.30,80919.10,80931.90,80944.70,80957.49,80970.29,80983.09,80995.88,81008.68,81021.48,81034.27,81047.07,81059.88,81072.68,81085.48,81098.29,81111.09,81123.90,81136.70,81149.51,81162.31,81175.12,81187.92,81200.73,81213.53,81226.34,81239.14,81251.95,81264.75,81277.55,81290.36,81303.16,81315.97,81328.77,81341.58,81354.38,81367.19,81379.99,81392.80,81405.60,81418.41,81431.21,81444.02,81456.82,81469.62,81482.43,81495.23,81508.04,81520.84,81533.65,81546.45,81559.27,81572.08,81584.89,81597.70,81610.52,81623.33,81636.14,81648.95,81661.77,81674.58,81687.39,81700.20,81713.02,81725.83,81738.64,81751.45,81764.27,81777.08,81789.89,81802.70,81815.52,81828.33,81841.14,81853.95,81866.77,81879.58,81892.39,81905.20,81918.02,81930.83,81943.64,81956.45,81969.27,81982.08,81994.89,82007.70,82020.52,82033.33,82046.14,82058.96,82071.78,82084.60,82097.42,82110.24,82123.06,82135.88,82148.70,82161.52,82174.34,82187.16,82199.98,82212.80,82225.62,82238.45,82251.27,82264.09,82276.91,82289.73,82302.55,82315.37,82328.19,82341.01,82353.83,82366.65,82379.47,82392.29,82405.11,82417.93,82430.75,82443.57,82456.39,82469.21,82482.03,82494.85,82507.67,82520.49,82533.31,82546.13,82558.96,82571.79,82584.62,82597.45,82610.27,82623.10,82635.93,82648.76,82661.59,82674.41,82687.24,82700.07,82712.90,82725.73,82738.55,82751.38,82764.21,82777.04,82789.87,82802.70,82815.52,82828.35,82841.18,82854.01,82866.84,82879.66,82892.49,82905.32,82918.15,82930.98,82943.80,82956.63,82969.46,82982.29,82995.12,83007.95,83020.77,83033.60,83046.43,83059.27,83072.10,83084.94,83097.77,83110.61,83123.45,83136.28,83149.12,83161.95,83174.79,83187.62,83200.46,83213.30,83226.13,83238.97,83251.80,83264.64,83277.48,83290.31,83303.15,83315.98,83328.82,83341.66,83354.49,83367.33,83380.16,83393.00,83405.84,83418.67,83431.51,83444.34,83457.18,83470.02,83482.85,83495.69,83508.52,83521.36,83534.20,83547.03,83559.87,83572.71,83585.55,83598.40,83611.24,83624.09,83636.93,83649.77,83662.62,83675.46,83688.30,83701.15,83713.99,83726.84,83739.68,83752.52,83765.37,83778.21,83791.05,83803.90,83816.74,83829.59,83842.43,83855.27,83868.12,83880.96,83893.80,83906.65,83919.49,83932.34,83945.18,83958.02,83970.87,83983.71,83996.55,84009.40,84022.24,84035.09,84047.93,84060.77,84073.62,84086.47,84099.32,84112.17,84125.02,84137.88,84150.73,84163.58,84176.43,84189.28,84202.13,84214.98,84227.84,84240.69,84253.54,84266.39,84279.24,84292.09,84304.95,84317.80,84330.65,84343.50,84356.35,84369.20,84382.05,84394.91,84407.76,84420.61,84433.46,84446.31,84459.16,84472.02,84484.87,84497.72,84510.57,84523.42,84536.27,84549.12,84561.98,84574.83,84587.68,84600.54,84613.40,84626.26,84639.12,84651.98,84664.84,84677.70,84690.55,84703.41,84716.27,84729.13,84741.99,84754.85,84767.71,84780.57,84793.43,84806.29,84819.15,84832.01,84844.87,84857.73,84870.59,84883.45,84896.30,84909.16,84922.02,84934.88,84947.74,84960.60,84973.46,84986.32,84999.18,85012.04,85024.90,85037.76,85050.62,85063.48,85076.34,85089.20,85102.05,85114.92,85127.79,85140.66,85153.52,85166.39,85179.26,85192.12,85204.99,85217.86,85230.73,85243.59,85256.46,85269.33,85282.20,85295.06,85307.93,85320.80,85333.66,85346.53,85359.40,85372.27,85385.13,85398.00,85410.87,85423.73,85436.60,85449.47,85462.34,85475.20,85488.07,85500.94,85513.80,85526.67,85539.54,85552.41,85565.27,85578.14,85591.01,85603.88,85616.74,85629.62,85642.49,85655.37,85668.24,85681.12,85693.99,85706.87,85719.74,85732.62,85745.49,85758.37,85771.24,85784.12,85796.99,85809.87,85822.74,85835.62,85848.49,85861.37,85874.24,85887.12,85899.99,85912.87,85925.74,85938.62,85951.49,85964.37,85977.24,85990.12,86002.99,86015.87,86028.74,86041.62,86054.49,86067.37,86080.24,86093.12,86105.99,86118.87,86131.74,86144.62,86157.50,86170.38,86183.27,86196.15,86209.03,86221.91,86234.80,86247.68,86260.56,86273.45,86286.33,86299.21,86312.09,86324.98,86337.86,86350.74,86363.62,86376.51,86389.39,86402.27,86415.16,86428.04,86440.92,86453.80,86466.69,86479.57,86492.45,86505.34,86518.22,86531.10,86543.98,86556.87,86569.75,86582.63,86595.52,86608.40,86621.28,86634.16,86647.05,86659.93,86672.81,86685.70,86698.59,86711.48,86724.38,86737.27,86750.16,86763.05,86775.94,86788.83,86801.72,86814.61,86827.50,86840.39,86853.28,86866.17,86879.06,86891.95,86904.84,86917.73,86930.62,86943.52,86956.41,86969.30,86982.19,86995.08,87007.97,87020.86,87033.75,87046.64,87059.53,87072.42,87085.31,87098.20,87111.09,87123.98,87136.88,87149.77,87162.66,87175.55,87188.44,87201.33,87214.23,87227.12,87240.02,87252.92,87265.82,87278.72,87291.62,87304.52,87317.41,87330.31,87343.21,87356.11,87369.01,87381.91,87394.80,87407.70,87420.60,87433.50,87446.40,87459.30,87472.20,87485.09,87497.99,87510.89,87523.79,87536.69,87549.59,87562.48,87575.38,87588.28,87601.18,87614.08,87626.98,87639.88,87652.77,87665.67,87678.57,87691.47,87704.37,87717.27,87730.16,87743.07,87755.98,87768.88,87781.79,87794.70,87807.60,87820.51,87833.41,87846.32,87859.23,87872.13,87885.04,87897.95,87910.85,87923.76,87936.66,87949.57,87962.48,87975.38,87988.29,88001.20,88014.10,88027.01,88039.91,88052.82,88065.73,88078.63,88091.54,88104.45,88117.35,88130.26,88143.16,88156.07,88168.98,88181.88,88194.79,88207.70,88220.60,88233.51,88246.41,88259.32,88272.23,88285.14,88298.05,88310.97,88323.88,88336.80,88349.71,88362.62,88375.54,88388.45,88401.37,88414.28,88427.20,88440.11,88453.02,88465.94,88478.85,88491.77,88504.68,88517.59,88530.51,88543.42,88556.34,88569.25,88582.16,88595.08,88607.99,88620.91,88633.82,88646.73,88659.65,88672.56,88685.48,88698.39,88711.30,88724.22,88737.13,88750.05,88762.96,88775.88,88788.79,88801.70,88814.62,88827.54,88840.46,88853.38,88866.30,88879.23,88892.15,88905.07,88917.99,88930.91,88943.84,88956.76,88969.68,88982.60,88995.52,89008.45,89021.37,89034.29,89047.21,89060.13,89073.05,89085.98,89098.90,89111.82,89124.74,89137.66,89150.59,89163.51,89176.43,89189.35,89202.27,89215.20,89228.12,89241.04,89253.96,89266.88,89279.80,89292.73,89305.65,89318.57,89331.49,89344.41,89357.34,89370.27,89383.20,89396.12,89409.05,89421.98,89434.91,89447.84,89460.77,89473.70,89486.63,89499.56,89512.49,89525.42,89538.35,89551.28,89564.21,89577.14,89590.07,89603.00,89615.93,89628.86,89641.79,89654.72,89667.65,89680.58,89693.51,89706.44,89719.37,89732.30,89745.23,89758.16,89771.09,89784.02,89796.95,89809.88,89822.80,89835.73,89848.66,89861.59,89874.52,89887.45,89900.38,89913.32,89926.26,89939.20,89952.13,89965.07,89978.01,89990.95,90003.88,90016.82,90029.76,90042.70,90055.63,90068.57,90081.51,90094.45,90107.38,90120.32,90133.26,90146.20,90159.13,90172.07,90185.01,90197.95,90210.88,90223.82,90236.76,90249.70,90262.63,90275.57,90288.51,90301.45,90314.38,90327.32,90340.26,90353.20,90366.13,90379.07,90392.01,90404.95,90417.88,90430.82,90443.76,90456.70,90469.65,90482.59,90495.54,90508.48,90521.43,90534.38,90547.32,90560.27,90573.21,90586.16,90599.10,90612.05,90624.99,90637.94,90650.88,90663.83,90676.77,90689.72,90702.66,90715.61,90728.55,90741.50,90754.45,90767.39,90780.34,90793.28,90806.23,90819.17,90832.12,90845.06,90858.01,90870.95,90883.90,90896.84,90909.79,90922.73,90935.68,90948.62,90961.57,90974.52,90987.46,91000.41,91013.36,91026.31,91039.27,91052.22,91065.17,91078.12,91091.08,91104.03,91116.98,91129.94,91142.89,91155.84,91168.80,91181.75,91194.70,91207.66,91220.61,91233.56,91246.52,91259.47,91272.42,91285.38,91298.33,91311.28,91324.23,91337.19,91350.14,91363.09,91376.05,91389.00,91401.95,91414.91,91427.86,91440.81,91453.77,91466.72,91479.67,91492.62,91505.58,91518.53,91531.48,91544.44,91557.39,91570.35,91583.31,91596.27,91609.23,91622.20,91635.16,91648.12,91661.08,91674.04,91687.00,91699.96,91712.92,91725.88,91738.84,91751.80,91764.77,91777.73,91790.69,91803.65,91816.61,91829.57,91842.53,91855.49,91868.45,91881.41,91894.38,91907.34,91920.30,91933.26,91946.22,91959.18,91972.14,91985.10,91998.06,92011.02,92023.98,92036.95,92049.91,92062.87,92075.83,92088.79,92101.75,92114.71,92127.68,92140.65,92153.62,92166.59,92179.55,92192.52,92205.49,92218.46,92231.43,92244.40,92257.37,92270.34,92283.30,92296.27,92309.24,92322.21,92335.18,92348.15,92361.12,92374.09,92387.05,92400.02,92412.99,92425.96,92438.93,92451.90,92464.87,92477.84,92490.80,92503.77,92516.74,92529.71,92542.68,92555.65,92568.62,92581.59,92594.55,92607.52,92620.49,92633.46,92646.43,92659.40,92672.37,92685.34,92698.31,92711.29,92724.27,92737.24,92750.22,92763.20,92776.17,92789.15,92802.12,92815.10,92828.08,92841.05,92854.03,92867.01,92879.98,92892.96,92905.94,92918.91,92931.89,92944.87,92957.84,92970.82,92983.80,92996.77,93009.75,93022.73,93035.70,93048.68,93061.66,93074.63,93087.61,93100.59,93113.56,93126.54,93139.52,93152.49,93165.47,93178.45,93191.42,93204.40,93217.38,93230.35,93243.33,93256.31,93269.30,93282.28,93295.27,93308.25,93321.23,93334.22,93347.20,93360.19,93373.17,93386.16,93399.14,93412.12,93425.11,93438.09,93451.08,93464.06,93477.05,93490.03,93503.02,93516.00,93528.98,93541.97,93554.95,93567.94,93580.92,93593.91,93606.89,93619.88,93632.86,93645.84,93658.83,93671.81,93684.80,93697.78,93710.77,93723.75,93736.73,93749.72,93762.70,93775.69,93788.67,93801.66,93814.64,93827.63,93840.62,93853.62,93866.61,93879.60,93892.59,93905.59,93918.58,93931.57,93944.56,93957.55,93970.55,93983.54,93996.53,94009.52,94022.52,94035.51,94048.50,94061.49,94074.48,94087.48,94100.47,94113.46,94126.45,94139.45,94152.44,94165.43,94178.42,94191.41,94204.41,94217.40,94230.39,94243.38,94256.38,94269.37,94282.36,94295.35,94308.34,94321.34,94334.33,94347.32,94360.31,94373.30,94386.30,94399.30,94412.30,94425.30,94438.30,94451.30,94464.30,94477.30,94490.30,94503.30,94516.30,94529.30,94542.30,94555.30,94568.30,94581.30,94594.30,94607.30,94620.30,94633.30,94646.30,94659.30,94672.30,94685.30,94698.30,94711.30,94724.30,94737.30,94750.30,94763.30,94776.30,94789.30,94802.30,94815.30,94828.30,94841.30,94854.30,94867.30,94880.30,94893.30,94906.30,94919.30,94932.30,94945.30,94958.30,94971.30,94984.30,94997.31,95010.32,95023.33,95036.34,95049.34,95062.35,95075.36,95088.37,95101.38,95114.38,95127.39,95140.40,95153.41,95166.41,95179.42,95192.43,95205.44,95218.45,95231.45,95244.46,95257.47,95270.48,95283.48,95296.49,95309.50,95322.51,95335.52,95348.52,95361.53,95374.54,95387.55,95400.55,95413.56,95426.57,95439.58,95452.59,95465.59,95478.60,95491.61,95504.62,95517.62,95530.63,95543.64,95556.66,95569.67,95582.69,95595.70,95608.72,95621.73,95634.75,95647.77,95660.78,95673.80,95686.81,95699.83,95712.84,95725.86,95738.88,95751.89,95764.91,95777.92,95790.94,95803.95,95816.97,95829.98,95843.00,95856.02,95869.03,95882.05,95895.06,95908.08,95921.09,95934.11,95947.12,95960.14,95973.16,95986.17,95999.19,96012.20,96025.22,96038.23,96051.25,96064.27,96077.28,96090.30,96103.31,96116.33,96129.34,96142.37,96155.39,96168.41,96181.44,96194.46,96207.48,96220.51,96233.53,96246.55,96259.58,96272.60,96285.62,96298.65,96311.67,96324.70,96337.72,96350.74,96363.77,96376.79,96389.81,96402.84,96415.86,96428.88,96441.91,96454.93,96467.95,96480.98,96494.00,96507.02,96520.05,96533.07,96546.09,96559.12,96572.14,96585.16,96598.19,96611.21,96624.23,96637.26,96650.28,96663.30,96676.33,96689.35,96702.38,96715.40,96728.43,96741.46,96754.49,96767.52,96780.55,96793.59,96806.62,96819.65,96832.68,96845.71,96858.74,96871.77,96884.80,96897.84,96910.87,96923.90,96936.93,96949.96,96962.99,96976.02,96989.05,97002.09,97015.12,97028.15,97041.18,97054.21,97067.24,97080.27,97093.30,97106.34,97119.37,97132.40,97145.43,97158.46,97171.49,97184.52,97197.55,97210.59,97223.62,97236.65,97249.68,97262.71,97275.74,97288.77,97301.80,97314.84,97327.88,97340.91,97353.95,97366.99,97380.03,97393.07,97406.11,97419.15,97432.19,97445.23,97458.27,97471.30,97484.34,97497.38,97510.42,97523.46,97536.50,97549.54,97562.58,97575.62,97588.66,97601.70,97614.73,97627.77,97640.81,97653.85,97666.89,97679.93,97692.97,97706.01,97719.05,97732.09,97745.12,97758.16,97771.20,97784.24,97797.28,97810.32,97823.36,97836.40,97849.44,97862.48,97875.52,97888.55,97901.59,97914.64,97927.69,97940.73,97953.78,97966.83,97979.88,97992.92,98005.97,98019.02,98032.06,98045.11,98058.16,98071.20,98084.25,98097.30,98110.34,98123.39,98136.44,98149.48,98162.53,98175.58,98188.62,98201.67,98214.72,98227.77,98240.81,98253.86,98266.91,98279.95,98293.00,98306.05,98319.09,98332.14,98345.19,98358.23,98371.28,98384.33,98397.38,98410.42,98423.47,98436.52,98449.56,98462.61,98475.66,98488.70,98501.75,98514.80,98527.86,98540.91,98553.97,98567.02,98580.08,98593.13,98606.19,98619.24,98632.30,98645.35,98658.41,98671.46,98684.52,98697.57,98710.62,98723.68,98736.73,98749.79,98762.84,98775.90,98788.95,98802.01,98815.06,98828.12,98841.17,98854.23,98867.28,98880.34,98893.39,98906.45,98919.50,98932.55,98945.61,98958.66,98971.72,98984.77,98997.83,99010.88,99023.94,99036.99,99050.05,99063.10,99076.16,99089.21,99102.27,99115.33,99128.39,99141.45,99154.52,99167.58,99180.64,99193.70,99206.77,99219.83,99232.89,99245.95,99259.02,99272.08,99285.14,99298.20,99311.27,99324.33,99337.39,99350.45,99363.52,99376.58,99389.64,99402.70,99415.77,99428.83,99441.89,99454.95,99468.02,99481.08,99494.14,99507.20,99520.27,99533.33,99546.39,99559.45,99572.52,99585.58,99598.64,99611.70,99624.77,99637.83,99650.89,99663.95,99677.02,99690.08,99703.14,99716.21,99729.28,99742.35,99755.42,99768.49,99781.56,99794.63,99807.70,99820.77,99833.84,99846.91,99859.98,99873.05,99886.12,99899.20,99912.27,99925.34,99938.41,99951.48,99964.55,99977.62,99990.69,100003.76,100016.83,100029.90,100042.97,100056.04,100069.11,100082.18,100095.25,100108.32,100121.39,100134.46,100147.53,100160.60,100173.67,100186.74,100199.81,100212.88,100225.95,100239.02,100252.09,100265.16,100278.23,100291.30,100304.38,100317.45,100330.52,100343.60,100356.68,100369.76,100382.84,100395.91,100408.99,100422.07,100435.15,100448.23,100461.30,100474.38,100487.46,100500.54,100513.62,100526.70,100539.77,100552.85,100565.93,100579.01,100592.09,100605.16,100618.24,100631.32,100644.40,100657.48,100670.55,100683.63,100696.71,100709.79,100722.87,100735.95,100749.02,100762.10,100775.18,100788.26,100801.34,100814.41,100827.49,100840.57,100853.65,100866.73,100879.80,100892.88,100905.96,100919.04,100932.12,100945.20,100958.29,100971.38,100984.46,100997.55,101010.63,101023.72,101036.80,101049.89,101062.98,101076.06,101089.15,101102.23,101115.32,101128.41,101141.49,101154.58,101167.66,101180.75,101193.84,101206.92,101220.01,101233.09,101246.18,101259.27,101272.35,101285.44,101298.52,101311.61,101324.70,101337.78,101350.87,101363.95,101377.04,101390.12,101403.21,101416.30,101429.38,101442.47,101455.55,101468.64,101481.73,101494.81,101507.90,101520.98,101534.07,101547.16,101560.25,101573.34,101586.44,101599.53,101612.62,101625.72,101638.81,101651.91,101665.00,101678.09,101691.19,101704.28,101717.38,101730.47,101743.56,101756.66,101769.75,101782.84,101795.94,101809.03,101822.12,101835.22,101848.31,101861.41,101874.50,101887.59,101900.69,101913.78,101926.88,101939.97,101953.06,101966.16,101979.25,101992.34,102005.44,102018.53,102031.62,102044.72,102057.81,102070.91,102084.00,102097.09,102110.19,102123.28,102136.38,102149.47,102162.56,102175.66,102188.77,102201.87,102214.97,102228.07,102241.17,102254.27,102267.38,102280.48,102293.58,102306.68,102319.78,102332.88,102345.98,102359.09,102372.19,102385.29,102398.39,102411.49,102424.59,102437.70,102450.80,102463.90,102477.00,102490.10,102503.20,102516.30,102529.41,102542.51,102555.61,102568.71,102581.81,102594.91,102608.02,102621.12,102634.22,102647.32,102660.42,102673.52,102686.62,102699.73,102712.83,102725.93,102739.03,102752.13,102765.23,102778.34,102791.44,102804.55,102817.66,102830.77,102843.88,102856.98,102870.09,102883.20,102896.31,102909.42,102922.53,102935.64,102948.75,102961.86,102974.97,102988.08,103001.19,103014.30,103027.41,103040.52,103053.62,103066.73,103079.84,103092.95,103106.06,103119.17,103132.28,103145.39,103158.50,103171.61,103184.72,103197.83,103210.94,103224.05,103237.16,103250.27,103263.38,103276.48,103289.59,103302.70,103315.81,103328.92,103342.03,103355.14,103368.25,103381.36,103394.47,103407.58,103420.69,103433.80,103446.92,103460.04,103473.16,103486.27,103499.39,103512.51,103525.62,103538.74,103551.86,103564.98,103578.09,103591.21,103604.33,103617.45,103630.56,103643.68,103656.80,103669.91,103683.03,103696.15,103709.27,103722.38,103735.50,103748.62,103761.73,103774.85,103787.97,103801.09,103814.20,103827.32,103840.44,103853.55,103866.67,103879.79,103892.91,103906.02,103919.14,103932.26,103945.38,103958.49,103971.61,103984.73,103997.84,104010.96,104024.08,104037.20,104050.31,104063.44,104076.56,104089.69,104102.81,104115.94,104129.06,104142.19,104155.31,104168.44,104181.56,104194.69,104207.81,104220.94,104234.06,104247.19,104260.31,104273.44,104286.56,104299.69,104312.81,104325.94,104339.06,104352.19,104365.31,104378.44,104391.56,104404.69,104417.81,104430.94,104444.06,104457.19,104470.31,104483.44,104496.56,104509.69,104522.81,104535.94,104549.06,104562.19,104575.31,104588.44,104601.56,104614.69,104627.81,104640.94,104654.06,104667.19,104680.31,104693.45,104706.58,104719.71,104732.84,104745.98,104759.11,104772.24,104785.38,104798.51,104811.64,104824.77,104837.91,104851.04,104864.17,104877.30,104890.44,104903.57,104916.70,104929.84,104942.97,104956.10,104969.23,104982.37,104995.50,105008.63,105021.77,105034.90,105048.03,105061.16,105074.30,105087.43,105100.56,105113.70,105126.83,105139.96,105153.09,105166.23,105179.36,105192.49,105205.62,105218.76,105231.89,105245.02,105258.16,105271.29,105284.42,105297.55,105310.69,105323.82,105336.96,105350.10,105363.24,105376.38,105389.52,105402.66,105415.80,105428.95,105442.09,105455.23,105468.37,105481.51,105494.65,105507.79,105520.93,105534.07,105547.21,105560.35,105573.49,105586.63,105599.77,105612.91,105626.05,105639.20,105652.34,105665.48,105678.62,105691.76,105704.90,105718.04,105731.18,105744.32,105757.46,105770.60,105783.74,105796.88,105810.02,105823.16,105836.30,105849.45,105862.59,105875.73,105888.87,105902.01,105915.15,105928.29,105941.43,105954.57,105967.71,105980.86,105994.01,106007.16,106020.30,106033.45,106046.60,106059.75,106072.90,106086.05,106099.20,106112.34,106125.49,106138.64,106151.79,106164.94,106178.09,106191.23,106204.38,106217.53,106230.68,106243.83,106256.98,106270.12,106283.27,106296.42,106309.57,106322.72,106335.87,106349.02,106362.16,106375.31,106388.46,106401.61,106414.76,106427.91,106441.05,106454.20,106467.35,106480.50,106493.65,106506.80,106519.95,106533.09,106546.24,106559.39,106572.54,106585.69,106598.84,106611.98,106625.14,106638.30,106651.45,106664.61,106677.77,106690.92,106704.08,106717.23,106730.39,106743.55,106756.70,106769.86,106783.02,106796.17,106809.33,106822.48,106835.64,106848.80,106861.95,106875.11,106888.27,106901.42,106914.58,106927.73,106940.89,106954.05,106967.20,106980.36,106993.52,107006.67,107019.83,107032.98,107046.14,107059.30,107072.45,107085.61,107098.77,107111.92,107125.08,107138.23,107151.39,107164.55,107177.70,107190.86,107204.02,107217.17,107230.33,107243.48,107256.64,107269.80,107282.97,107296.13,107309.30,107322.46,107335.62,107348.79,107361.95,107375.12,107388.28,107401.45,107414.61,107427.77,107440.94,107454.10,107467.27,107480.43,107493.59,107506.76,107519.92,107533.09,107546.25,107559.41,107572.58,107585.74,107598.91,107612.07,107625.23,107638.40,107651.56,107664.73,107677.89,107691.05,107704.22,107717.38,107730.55,107743.71,107756.88,107770.04,107783.20,107796.37,107809.53,107822.70,107835.86,107849.02,107862.19,107875.35,107888.52,107901.68,107914.84,107928.02,107941.19,107954.36,107967.53,107980.70,107993.88,108007.05,108020.22,108033.39,108046.56,108059.73,108072.91,108086.08,108099.25,108112.42,108125.59,108138.77,108151.94,108165.11,108178.28,108191.45,108204.62,108217.80,108230.97,108244.14,108257.31,108270.48,108283.66,108296.83,108310.00,108323.17,108336.34,108349.52,108362.69,108375.86,108389.03,108402.20,108415.38,108428.55,108441.72,108454.89,108468.06,108481.23,108494.41,108507.58,108520.75,108533.92,108547.09,108560.27,108573.44,108586.62,108599.80,108612.98,108626.16,108639.34,108652.52,108665.70,108678.88,108692.05,108705.23,108718.41,108731.59,108744.77,108757.95,108771.13,108784.31,108797.49,108810.67,108823.85,108837.03,108850.21,108863.39,108876.57,108889.75,108902.93,108916.11,108929.29,108942.47,108955.65,108968.83,108982.01,108995.19,109008.37,109021.55,109034.73,109047.91,109061.09,109074.27,109087.45,109100.62,109113.80,109126.98,109140.16,109153.34,109166.52,109179.70,109192.88,109206.06,109219.24,109232.42,109245.61,109258.80,109271.98,109285.17,109298.36,109311.55,109324.73,109337.92,109351.11,109364.30,109377.48,109390.67,109403.86,109417.05,109430.23,109443.42,109456.61,109469.80,109482.98,109496.17,109509.36,109522.55,109535.73,109548.92,109562.11,109575.30,109588.48,109601.67,109614.86,109628.05,109641.23,109654.42,109667.61,109680.80,109693.98,109707.17,109720.36,109733.55,109746.73,109759.92,109773.11,109786.30,109799.48,109812.67,109825.86,109839.05,109852.23,109865.42,109878.61,109891.80,109904.98,109918.18,109931.38,109944.57,109957.77,109970.96,109984.16,109997.35,110010.55,110023.74,110036.94,110050.13,110063.33,110076.52,110089.72,110102.91,110116.11,110129.30,110142.50,110155.70,110168.89,110182.09,110195.28,110208.48,110221.67,110234.87,110248.06,110261.26,110274.45,110287.65,110300.84,110314.04,110327.23,110340.43,110353.62,110366.82,110380.02,110393.21,110406.41,110419.60,110432.80,110445.99,110459.19,110472.38,110485.58,110498.77,110511.97,110525.16,110538.36,110551.55,110564.75,110577.95,110591.15,110604.35,110617.55,110630.76,110643.96,110657.16,110670.37,110683.57,110696.77,110709.98,110723.18,110736.38,110749.59,110762.79,110775.99,110789.20,110802.40,110815.60,110828.80,110842.01,110855.21,110868.41,110881.62,110894.82,110908.02,110921.23,110934.43,110947.63,110960.84,110974.04,110987.24,111000.45,111013.65,111026.85,111040.05,111053.26,111066.46,111079.66,111092.87,111106.07,111119.27,111132.48,111145.68,111158.88,111172.09,111185.29,111198.49,111211.70,111224.90,111238.10,111251.30,111264.52,111277.73,111290.94,111304.15,111317.36,111330.57,111343.78,111356.99,111370.20,111383.41,111396.62,111409.84,111423.05,111436.26,111449.47,111462.68,111475.89,111489.10,111502.31,111515.52,111528.73,111541.95,111555.16,111568.37,111581.58,111594.79,111608.00,111621.21,111634.42,111647.63,111660.84,111674.05,111687.27,111700.48,111713.69,111726.90,111740.11,111753.32,111766.53,111779.74,111792.95,111806.16,111819.38,111832.59,111845.80,111859.01,111872.22,111885.43,111898.64,111911.85,111925.06,111938.28,111951.50,111964.72,111977.94,111991.16,112004.38,112017.59,112030.81,112044.03,112057.25,112070.47,112083.69,112096.91,112110.12,112123.34,112136.56,112149.78,112163.00,112176.22,112189.44,112202.66,112215.88,112229.09,112242.31,112255.53,112268.75,112281.97,112295.19,112308.41,112321.62,112334.84,112348.06,112361.28,112374.50,112387.72,112400.94,112414.16,112427.38,112440.59,112453.81,112467.03,112480.25,112493.47,112506.69,112519.91,112533.12,112546.34,112559.56,112572.78,112586.00,112599.22,112612.44,112625.66,112638.89,112652.12,112665.34,112678.57,112691.80,112705.02,112718.25,112731.48,112744.70,112757.93,112771.16,112784.38,112797.61,112810.84,112824.06,112837.29,112850.52,112863.74,112876.97,112890.20,112903.42,112916.65,112929.88,112943.10,112956.33,112969.55,112982.78,112996.01,113009.23,113022.46,113035.69,113048.91,113062.14,113075.37,113088.59,113101.82,113115.05,113128.27,113141.50,113154.73,113167.95,113181.18,113194.41,113207.63,113220.86,113234.09,113247.31,113260.54,113273.77,113286.99,113300.23,113313.46,113326.70,113339.93,113353.16,113366.40,113379.63,113392.87,113406.10,113419.34,113432.57,113445.80,113459.04,113472.27,113485.51,113498.74,113511.98,113525.21,113538.45,113551.68,113564.91,113578.15,113591.38,113604.62,113617.85,113631.09,113644.32,113657.55,113670.79,113684.02,113697.26,113710.49,113723.73,113736.96,113750.20,113763.43,113776.66,113789.90,113803.13,113816.37,113829.60,113842.84,113856.07,113869.30,113882.54,113895.77,113909.01,113922.24,113935.48,113948.71,113961.95,113975.18,113988.41,114001.66,114014.90,114028.14,114041.38,114054.62,114067.87,114081.11,114094.35,114107.59,114120.84,114134.08,114147.32,114160.56,114173.80,114187.05,114200.29,114213.53,114226.77,114240.02,114253.26,114266.50,114279.74,114292.98,114306.23,114319.47,114332.71,114345.95,114359.20,114372.44,114385.68,114398.92,114412.16,114425.41,114438.65,114451.89,114465.13,114478.38,114491.62,114504.86,114518.10,114531.34,114544.59,114557.83,114571.07,114584.31,114597.55,114610.80,114624.04,114637.28,114650.52,114663.77,114677.01,114690.26,114703.51,114716.76,114730.01,114743.26,114756.51,114769.76,114783.01,114796.26,114809.51,114822.76,114836.01,114849.26,114862.51,114875.76,114889.01,114902.26,114915.51,114928.76,114942.01,114955.26,114968.51,114981.76,114995.01,115008.26,115021.51,115034.76,115048.01,115061.26,115074.51,115087.76,115101.01,115114.26,115127.51,115140.76,115154.01,115167.26,115180.51,115193.76,115207.01,115220.26,115233.51,115246.76,115260.01,115273.26,115286.51,115299.76,115313.01,115326.26,115339.51,115352.76,115366.01,115379.26,115392.52,115405.77,115419.03,115432.29,115445.55,115458.80,115472.06,115485.32,115498.58,115511.84,115525.09,115538.35,115551.61,115564.87,115578.12,115591.38,115604.64,115617.90,115631.16,115644.41,115657.67,115670.93,115684.19,115697.45,115710.70,115723.96,115737.22,115750.48,115763.73,115776.99,115790.25,115803.51,115816.77,115830.02,115843.28,115856.54,115869.80,115883.05,115896.31,115909.57,115922.83,115936.09,115949.34,115962.60,115975.86,115989.12,116002.38,116015.63,116028.89,116042.15,116055.41,116068.66,116081.92,116095.19,116108.45,116121.72,116134.98,116148.25,116161.52,116174.78,116188.05,116201.31,116214.58,116227.84,116241.11,116254.38,116267.64,116280.91,116294.17,116307.44,116320.70,116333.97,116347.23,116360.50,116373.77,116387.03,116400.30,116413.56,116426.83,116440.09,116453.36,116466.62,116479.89,116493.16,116506.42,116519.69,116532.95,116546.22,116559.48,116572.75,116586.02,116599.28,116612.55,116625.81,116639.08,116652.34,116665.61,116678.88,116692.14,116705.41,116718.67,116731.94,116745.20,116758.47,116771.73,116785.00,116798.27,116811.55,116824.82,116838.09,116851.37,116864.64,116877.91,116891.19,116904.46,116917.73,116931.01,116944.28,116957.55,116970.83,116984.10,116997.38,117010.65,117023.92,117037.20,117050.47,117063.74,117077.02,117090.29,117103.56,117116.84,117130.11,117143.38,117156.66,117169.93,117183.20,117196.48,117209.75,117223.02,117236.30,117249.57,117262.84,117276.12,117289.39,117302.66,117315.94,117329.21,117342.48,117355.76,117369.03,117382.30,117395.58,117408.85,117422.12,117435.40,117448.67,117461.95,117475.22,117488.49,117501.77,117515.05,117528.33,117541.61,117554.89,117568.17,117581.45,117594.73,117608.02,117621.30,117634.58,117647.86,117661.14,117674.42,117687.70,117700.98,117714.27,117727.55,117740.83,117754.11,117767.39,117780.67,117793.95,117807.23,117820.52,117833.80,117847.08,117860.36,117873.64,117886.92,117900.20,117913.48,117926.77,117940.05,117953.33,117966.61,117979.89,117993.17,118006.45,118019.73,118033.02,118046.30,118059.58,118072.86,118086.14,118099.42,118112.70,118125.98,118139.27,118152.55,118165.83,118179.11,118192.39,118205.67,118218.95,118232.24,118245.53,118258.82,118272.11,118285.40,118298.69,118311.98,118325.27,118338.55,118351.84,118365.13,118378.42,118391.71,118405.00,118418.29,118431.58,118444.87}; +#endif diff --git a/extensions/multiplacement/src/_interface.c b/extensions/multiplacement/src/_interface.c new file mode 100644 index 0000000..b3acd9a --- /dev/null +++ b/extensions/multiplacement/src/_interface.c @@ -0,0 +1,147 @@ +#include "_interface.h" + +static int matrix_converter(PyObject *object, void *address) { + const int flags = PyBUF_C_CONTIGUOUS | PyBUF_FORMAT; + char datatype; + Py_buffer *view = address; + + if (object == NULL) + goto exit; + if (PyObject_GetBuffer(object, view, flags) == -1) { + PyErr_SetString(PyExc_RuntimeError, + "position-weight matrix is not an array"); + return 0; + } + datatype = view->format[0]; + switch (datatype) { + case '@': + case '=': + case '<': + case '>': + case '!': + datatype = view->format[1]; + break; + default: + break; + } + return Py_CLEANUP_SUPPORTED; + +exit: + PyBuffer_Release(view); + return 0; +} + +static char calculate__doc__[] = + " calculate(sequence, recognizers, recognizer_lengths, connectors, " + "recognizer_scores, connector_scores, connector_legnths)\n" + "\n" + "This function computes optimal placement for a \n" + "transcription factor composed of PSSM recogniers\n" + "and variable length connectors.\n"; + +static PyObject *py_calculate(PyObject *self, PyObject *args, + PyObject *keywords) { + const char *seq; + static char *kwlist[] = { + "sequence", "rec_matrices", "rec_lengths", "con_matrices", + "rec_scores", "con_scores", "con_lengths", "max_length", NULL}; + Py_ssize_t len_seq; + Py_ssize_t num_rec; + int max_length; + PyObject *result = Py_None; + Py_buffer rec_matrices; + Py_buffer con_matrices; + Py_buffer rec_lengths; + Py_buffer rec_scores; + Py_buffer con_scores; + Py_buffer con_lengths; + + rec_matrices.obj = NULL; + con_matrices.obj = NULL; + rec_lengths.obj = NULL; + rec_scores.obj = NULL; + con_scores.obj = NULL; + con_lengths.obj = NULL; + if (!PyArg_ParseTupleAndKeywords( + args, keywords, "y#O&O&O&O&O&O&i", kwlist, &seq, &len_seq, + matrix_converter, &rec_matrices, matrix_converter, &rec_lengths, + matrix_converter, &con_matrices, matrix_converter, &rec_scores, + matrix_converter, &con_scores, matrix_converter, &con_lengths, &max_length)) + return NULL; + // sequence: DNA sequence used for placement + // rec_matrices: one dimensional flattened representation of the + // scoring matrices for all recognizers + // rec_lengths: length of each recognizer (the number of columns) + // con_matrices: one dimensional flattened representation of pre-computed + // scores for each connector for each gap length + // rec_scores: buffer used to store our calculated scores for recognizers + // con_scores: buffer used to score our calculated scores for connectors + // con_lengths: buffer used to store the length of each connector for our + // placment + num_rec = rec_lengths.shape[0]; + float *rec_matrices_ptr = rec_matrices.buf; + float *con_matrices_ptr = con_matrices.buf; + float *con_scores_ptr = con_scores.buf; + float *rec_scores_ptr = rec_scores.buf; + int *rec_lengths_ptr = rec_lengths.buf; + int *con_lengths_ptr = con_lengths.buf; + bool is_precomputed = true; + // getting the number of alignments is needed for calculating the size + // of the array we will use to store the scores for each recognizer alignment + int forward_offset = get_forward_offset(0, rec_lengths_ptr, num_rec); + int reverse_offset = get_reverse_offset(0, rec_lengths_ptr, num_rec); + int num_alignments = len_seq - forward_offset - reverse_offset; + float *score_matrix = + PyMem_Calloc(num_alignments * num_rec, sizeof(*rec_matrices_ptr)); + fill_matrix(seq, len_seq, rec_matrices_ptr, rec_lengths_ptr, num_rec, + score_matrix, num_alignments); + + if (con_matrices.shape[0] == (num_rec - 1) * 2) + is_precomputed = false; + // traceback function breaks when the number of recognizers is less than + // two since it opperates on the assumption of having at least one connector + if (num_rec == 1) { + con_lengths_ptr[0] = + max_index(score_matrix, len_seq - forward_offset - reverse_offset); + rec_scores_ptr[0] = score_matrix[con_lengths_ptr[0]]; + con_scores_ptr[0] = 0.00; + } else { + fill_traceback_matrix(score_matrix, num_alignments, con_matrices_ptr, rec_lengths_ptr, + num_rec, len_seq, con_scores_ptr, rec_scores_ptr, + con_lengths_ptr, max_length, is_precomputed); + } + + PyMem_Free(score_matrix); + Py_INCREF(Py_None); + result = Py_None; + matrix_converter(NULL, &rec_matrices); + matrix_converter(NULL, &rec_lengths); + matrix_converter(NULL, &con_matrices); + matrix_converter(NULL, &rec_scores); + matrix_converter(NULL, &con_scores); + matrix_converter(NULL, &con_lengths); + return result; +} + +static struct PyMethodDef methods[] = { + { + "calculate", + (PyCFunction)py_calculate, + METH_VARARGS | METH_KEYWORDS, + PyDoc_STR(calculate__doc__), + }, + {NULL, NULL, 0, NULL} // sentinel +}; + +static struct PyModuleDef moduledef = { + PyModuleDef_HEAD_INIT, + "_multiplacement", + PyDoc_STR("Fast calculations involving multiple connected PSSMs"), + -1, + methods, + NULL, + NULL, + NULL, + NULL}; + +PyObject *PyInit__multiplacement(void) { return PyModule_Create(&moduledef); } diff --git a/extensions/multiplacement/src/_interface.h b/extensions/multiplacement/src/_interface.h new file mode 100644 index 0000000..2713a5c --- /dev/null +++ b/extensions/multiplacement/src/_interface.h @@ -0,0 +1,10 @@ +#ifndef _INTERFACE_H +#define _INTERFACE_H +#define PY_SSIZE_T_CLEAN +#include +#include +#include +#include +#include "_multiplacement.h" + +#endif diff --git a/extensions/multiplacement/src/_multiplacement.c b/extensions/multiplacement/src/_multiplacement.c index 402bb24..be88b08 100644 --- a/extensions/multiplacement/src/_multiplacement.c +++ b/extensions/multiplacement/src/_multiplacement.c @@ -1,127 +1,4 @@ -#define PY_SSIZE_T_CLEAN -#include -#include -#include -#include -#include -#include -#include -#include "_constants.h" -const int NUM_BASES = 4; - -int min(int n, int k){ - if (n > k) - return k; - else - return n; -} - -unsigned long long bin(unsigned long long n, unsigned long long k){ - - unsigned long long c = 1; - for (unsigned long long i = 1; i <= k; i++, n--) { - - if (c/i > ULONG_MAX/n) // return 0 on potential overflow - return 0; - - c = c / i * n + c % i * n / i; // split c * n / i into (c / i * i + c % i) * n / i - } - - return c; -} - -float norm_cdf(float x, float mu, float sigma){ - float z = (x - mu) / fabs(sigma); - return (1 + erff(z / sqrtf(2.0))) / 2.00; -} - -float norm_pf(float x, float mu, float sigma){ - if (sigma != 0) - return norm_cdf(x + 0.5, mu, sigma) - norm_cdf(x - 0.5, mu, sigma); - if (x == mu) - return 1.00; - return 0.00; -} - -float get_numerator(int dna_length, int distance, float mu, float sigma){ - float numerator = norm_pf(distance, mu, sigma); - if (sigma == 0.00) - return numerator; - - float auc = norm_cdf(dna_length - 1, mu, sigma) - norm_cdf(0, mu, sigma); - if (auc < 0.000001) - auc = 0.000001; - - if (numerator < 0.00001) - numerator = 0.00001; - - return numerator /= auc; - -} - -float get_denominator(int d, int N, int L){ - if (1 <= d && d <= L - N + 1) - return (float) bin(L - d, N - 1) / (float) bin(L, N); - return 0.0001; -} - -float get_score(float *arr, int dna_length, int effective_length, int num_rec, - int gap_size, int max_length, int curr_conn, bool is_precomputed){ - if (is_precomputed == false){ - return log2f(get_numerator(dna_length, gap_size, arr[curr_conn * 2], arr[curr_conn * 2 + 1]) / - get_denominator(gap_size + 1, num_rec, effective_length)); - } - - return log2(arr[curr_conn * max_length + gap_size]) - - ( - ( - NUMERATORS[(effective_length - (gap_size + 1)) - 1] - - NUMERATORS[(num_rec - 1) - 1] - - NUMERATORS[effective_length - (gap_size + 1) - (num_rec - 1) - 1] - ) - - - ( - NUMERATORS[effective_length - 1] - - NUMERATORS[num_rec - 1] - - NUMERATORS[effective_length - num_rec - 1] - ) - ); -} - -int get_forward_offset(int index, int cols[], int num_rec) { - // finds the first possible possition for a pssm - // based on number of columns of preceding pssms - - int offset = 0; - for (int i = 0; i < index; i++) { - offset += cols[i]; - } - return offset; -} - -int get_reverse_offset(int index, int cols[], int num_rec) { - // finds the last possible possition for a pssm - // based on number of columns of subsequenct pssms - - int offset = 0; - for (int i = num_rec - 1; i >= index; i--) { - offset += cols[i]; - } - - // this is important to get the right number of possible alignments - return offset - 1; -} - -int max_index(float *arr, int size) { - int max_index = 0; - for (int i = 0; i < size; i++) { - - if (arr[i] > arr[max_index]) { - max_index = i; - } - } - return max_index; -} +#include "_multiplacement.h" void traceback(int num_rec, int len_seq, float* con_matrices, float* rec_score_matrix, int num_alignments, float* rec_alignments, int* con_alignments, @@ -291,150 +168,3 @@ void fill_matrix(const char seq[], int len_seq, float pssm[], int cols[], } } } - -static int matrix_converter(PyObject *object, void *address) { - const int flags = PyBUF_C_CONTIGUOUS | PyBUF_FORMAT; - char datatype; - Py_buffer *view = address; - - if (object == NULL) - goto exit; - if (PyObject_GetBuffer(object, view, flags) == -1) { - PyErr_SetString(PyExc_RuntimeError, - "position-weight matrix is not an array"); - return 0; - } - datatype = view->format[0]; - switch (datatype) { - case '@': - case '=': - case '<': - case '>': - case '!': - datatype = view->format[1]; - break; - default: - break; - } - return Py_CLEANUP_SUPPORTED; - -exit: - PyBuffer_Release(view); - return 0; -} - -static char calculate__doc__[] = - " calculate(sequence, recognizers, recognizer_lengths, connectors, " - "recognizer_scores, connector_scores, connector_legnths)\n" - "\n" - "This function computes optimal placement for a \n" - "transcription factor composed of PSSM recogniers\n" - "and variable length connectors.\n"; - -static PyObject *py_calculate(PyObject *self, PyObject *args, - PyObject *keywords) { - const char *seq; - static char *kwlist[] = { - "sequence", "rec_matrices", "rec_lengths", "con_matrices", - "rec_scores", "con_scores", "con_lengths", "max_length", NULL}; - Py_ssize_t len_seq; - Py_ssize_t num_rec; - int max_length; - PyObject *result = Py_None; - Py_buffer rec_matrices; - Py_buffer con_matrices; - Py_buffer rec_lengths; - Py_buffer rec_scores; - Py_buffer con_scores; - Py_buffer con_lengths; - - rec_matrices.obj = NULL; - con_matrices.obj = NULL; - rec_lengths.obj = NULL; - rec_scores.obj = NULL; - con_scores.obj = NULL; - con_lengths.obj = NULL; - if (!PyArg_ParseTupleAndKeywords( - args, keywords, "y#O&O&O&O&O&O&i", kwlist, &seq, &len_seq, - matrix_converter, &rec_matrices, matrix_converter, &rec_lengths, - matrix_converter, &con_matrices, matrix_converter, &rec_scores, - matrix_converter, &con_scores, matrix_converter, &con_lengths, &max_length)) - return NULL; - - // sequence: DNA sequence used for placement - // rec_matrices: one dimensional flattened representation of the - // scoring matrices for all recognizers - // rec_lengths: length of each recognizer (the number of columns) - // con_matrices: one dimensional flattened representation of pre-computed - // scores for each connector for each gap length - // rec_scores: buffer used to store our calculated scores for recognizers - // con_scores: buffer used to score our calculated scores for connectors - // con_lengths: buffer used to store the length of each connector for our - // placment - num_rec = rec_lengths.shape[0]; - float *rec_matrices_ptr = rec_matrices.buf; - float *con_matrices_ptr = con_matrices.buf; - float *con_scores_ptr = con_scores.buf; - float *rec_scores_ptr = rec_scores.buf; - int *rec_lengths_ptr = rec_lengths.buf; - int *con_lengths_ptr = con_lengths.buf; - bool is_precomputed = true; - // getting the number of alignments is needed for calculating the size - // of the array we will use to store the scores for each recognizer alignment - int forward_offset = get_forward_offset(0, rec_lengths_ptr, num_rec); - int reverse_offset = get_reverse_offset(0, rec_lengths_ptr, num_rec); - int num_alignments = len_seq - forward_offset - reverse_offset; - float *score_matrix = - PyMem_Calloc(num_alignments * num_rec, sizeof(*rec_matrices_ptr)); - fill_matrix(seq, len_seq, rec_matrices_ptr, rec_lengths_ptr, num_rec, - score_matrix, num_alignments); - - if (con_matrices.shape[0] == (num_rec - 1) * 2) - is_precomputed = false; - // traceback function breaks when the number of recognizers is less than - // two since it opperates on the assumption of having at least one connector - if (num_rec == 1) { - con_lengths_ptr[0] = - max_index(score_matrix, len_seq - forward_offset - reverse_offset); - rec_scores_ptr[0] = score_matrix[con_lengths_ptr[0]]; - con_scores_ptr[0] = 0.00; - } else { - fill_traceback_matrix(score_matrix, num_alignments, con_matrices_ptr, rec_lengths_ptr, - num_rec, len_seq, con_scores_ptr, rec_scores_ptr, - con_lengths_ptr, max_length, is_precomputed); - } - - PyMem_Free(score_matrix); - Py_INCREF(Py_None); - result = Py_None; - matrix_converter(NULL, &rec_matrices); - matrix_converter(NULL, &rec_lengths); - matrix_converter(NULL, &con_matrices); - matrix_converter(NULL, &rec_scores); - matrix_converter(NULL, &con_scores); - matrix_converter(NULL, &con_lengths); - return result; -} - -static struct PyMethodDef methods[] = { - { - "calculate", - (PyCFunction)py_calculate, - METH_VARARGS | METH_KEYWORDS, - PyDoc_STR(calculate__doc__), - }, - {NULL, NULL, 0, NULL} // sentinel -}; - -static struct PyModuleDef moduledef = { - PyModuleDef_HEAD_INIT, - "_multiplacement", - PyDoc_STR("Fast calculations involving multiple connected PSSMs"), - -1, - methods, - NULL, - NULL, - NULL, - NULL}; - -PyObject *PyInit__multiplacement(void) { return PyModule_Create(&moduledef); } diff --git a/extensions/multiplacement/src/_multiplacement.h b/extensions/multiplacement/src/_multiplacement.h new file mode 100644 index 0000000..d2b47f1 --- /dev/null +++ b/extensions/multiplacement/src/_multiplacement.h @@ -0,0 +1,21 @@ +#ifndef _MULTIPLACEMENT_H +#define _MULTIPLACEMENT_H +/* +#define PY_SSIZE_T_CLEAN +#include +*/ +#include +#include +#include +#include +#include +#include +#include "_aux.h" + +void traceback(int num_rec, int len_seq, float* con_matrices, float* rec_score_matrix, int num_alignments, float* rec_alignments, int* con_alignments, float* rec_scores, float* con_scores, int* con_lengths, int max_seq_len, int effective_len, bool is_precomputed); + +void fill_traceback_matrix(float *score_matrix, int num_alignments, float *gapMatrix, int *cols, int num_rec, int len_seq, float *con_scores, float *rec_scores, int *con_lengths, int max_length, bool is_precomputed); + +void fill_matrix(const char seq[], int len_seq, float pssm[], int cols[], int num_rec, float score_matrix[], int num_alignments); + +#endif diff --git a/extensions/multiplacement/src/_test.c b/extensions/multiplacement/src/_test.c new file mode 100644 index 0000000..422931d --- /dev/null +++ b/extensions/multiplacement/src/_test.c @@ -0,0 +1,8 @@ +#include "_test.h" + +int main (int argc, char *argv[]) +{ + printf("%i\n", min(5, 6)); + printf("hello\n"); + return 0; +} diff --git a/extensions/multiplacement/src/_test.h b/extensions/multiplacement/src/_test.h new file mode 100644 index 0000000..ab7b0b8 --- /dev/null +++ b/extensions/multiplacement/src/_test.h @@ -0,0 +1,34 @@ +#ifndef _TEST_H +#define _TEST_H +#include +#include +#include +#include "_aux.h" + +struct _rec +{ + float* scores; + int size; +}; + +struct _con +{ + float mu; + float sigma; +}; + +struct _org +{ + struct _rec* recognizers; + struct _con* connectors; + int num_rec; + int num_con; +}; + +struct _seq +{ + char* sequence; + int length; +}; + +#endif diff --git a/src/config.json b/src/config.json index c85bfaf..97aa6af 100644 --- a/src/config.json +++ b/src/config.json @@ -11,7 +11,7 @@ "NEGATIVE_FILENAME": null, "GENERATED_NEG_SET_SIZE": 334, "GENERATED_NEG_SET_KMER_LEN": 4, - "INPUT_FILENAME": null, + "INPUT_FILENAME": "organism.json", "OUTPUT_FILENAME": "output.txt", "MAX_SEQUENCES_TO_FIT_POS": 20, "MAX_SEQUENCES_TO_FIT_NEG": 20, @@ -37,7 +37,8 @@ "MUTATE_PROBABILITY_INSERT_RECOGNIZER": 0.1, "MUTATE_PROBABILITY_SUBSTITUTE_PSSM": 0.075, "MIN_NODES": 1, - "MAX_NODES": 9 + "MAX_NODES": 9, + "PRECOMPUTE": true }, "organismFactory": { "RECOMBINATION_PROBABILITY": 0.33, diff --git a/src/objects/connector_object.py b/src/objects/connector_object.py index 529d389..49a9970 100644 --- a/src/objects/connector_object.py +++ b/src/objects/connector_object.py @@ -197,8 +197,40 @@ def null_gap_likelihood(self, gap_size, recog_sizes, seq_len): # The length to be used as input is the effective length # Number of recognizers is the length of the list of recog sizes return prob_of_d(gap_size+1, effective_len, len(recog_sizes)) + - + def get_numerator(self, d, s_dna_len, recog_sizes) -> float: + if d Date: Sat, 7 Jan 2023 14:49:49 -0500 Subject: [PATCH 2/2] added some tests --- extensions/multiplacement/src/_aux.c | 3 +- .../multiplacement/src/_multiplacement.c | 37 +++--- extensions/multiplacement/tests/_organism.c | 74 ++++++++++++ extensions/multiplacement/tests/_organism.h | 53 +++++++++ extensions/multiplacement/tests/_test.c | 107 ++++++++++++++++++ extensions/multiplacement/tests/_test.h | 29 +++++ extensions/multiplacement/tests/makefile | 17 +++ 7 files changed, 295 insertions(+), 25 deletions(-) create mode 100644 extensions/multiplacement/tests/_organism.c create mode 100644 extensions/multiplacement/tests/_organism.h create mode 100644 extensions/multiplacement/tests/_test.c create mode 100644 extensions/multiplacement/tests/_test.h create mode 100644 extensions/multiplacement/tests/makefile diff --git a/extensions/multiplacement/src/_aux.c b/extensions/multiplacement/src/_aux.c index 66e4e5b..798947c 100644 --- a/extensions/multiplacement/src/_aux.c +++ b/extensions/multiplacement/src/_aux.c @@ -7,7 +7,8 @@ int min(int n, int k){ } unsigned long long bin(unsigned long long n, unsigned long long k){ - + if (n == k) + return 1; unsigned long long c = 1; for (unsigned long long i = 1; i <= k; i++, n--) { diff --git a/extensions/multiplacement/src/_multiplacement.c b/extensions/multiplacement/src/_multiplacement.c index be88b08..3c47acd 100644 --- a/extensions/multiplacement/src/_multiplacement.c +++ b/extensions/multiplacement/src/_multiplacement.c @@ -1,8 +1,6 @@ #include "_multiplacement.h" -void traceback(int num_rec, int len_seq, float* con_matrices, float* rec_score_matrix, - int num_alignments, float* rec_alignments, int* con_alignments, - float* rec_scores, float* con_scores, int* con_lengths, int max_seq_len, int effective_len, bool is_precomputed){ +void traceback(int num_rec, int len_seq, float* con_matrices, float* rec_score_matrix, int num_alignments, float* rec_alignments, int* con_alignments, float* rec_scores, float* con_scores, int* con_lengths, int max_seq_len, int effective_len, bool is_precomputed){ // finding gap lengths to ref orma alignments // starting from the index of the greatest score in alignments // trace back of gap alignments is conducted by subtracting the value @@ -39,9 +37,7 @@ void traceback(int num_rec, int len_seq, float* con_matrices, float* rec_score_m } -void fill_traceback_matrix(float *score_matrix, int num_alignments, float *gapMatrix, - int *cols, int num_rec, int len_seq, float *con_scores, float *rec_scores, - int *con_lengths, int max_length, bool is_precomputed) { +void fill_traceback_matrix(float *score_matrix, int num_alignments, float *gapMatrix, int *cols, int num_rec, int len_seq, float *con_scores, float *rec_scores, int *con_lengths, int max_length, bool is_precomputed) { int gap_length = 0; int effective_length = len_seq; int sum_of_lengths = 0; @@ -54,10 +50,10 @@ void fill_traceback_matrix(float *score_matrix, int num_alignments, float *gapMa // number of total alignments by number of pssms // first index in each column holds current max score for that index // all other indices hold gap lengths that got that alignment - float *alignments = PyMem_Calloc(num_alignments, sizeof(*score_matrix)); - int *gap_alignments = PyMem_Calloc(num_alignments * (num_rec - 1), sizeof(*con_lengths)); - float *temp_max_scores = PyMem_Calloc(num_alignments, sizeof(*score_matrix)); - int *temp_gap_lengths = PyMem_Calloc(num_alignments, sizeof(*con_lengths)); + float *alignments = calloc(num_alignments, sizeof(*score_matrix)); + int *gap_alignments = calloc(num_alignments * (num_rec - 1), sizeof(*con_lengths)); + float *temp_max_scores = calloc(num_alignments, sizeof(*score_matrix)); + int *temp_gap_lengths = calloc(num_alignments, sizeof(*con_lengths)); float temp_gap_score = 0.0; // start with first row as our current max @@ -89,9 +85,7 @@ void fill_traceback_matrix(float *score_matrix, int num_alignments, float *gapMa //temp_gap_score = get_score(gapMatrix[(i - 1) * max_length + gap_length], effective_length, num_rec, gap_length); temp_gap_score = get_score(gapMatrix, len_seq, effective_length, num_rec, gap_length, max_length, i - 1, is_precomputed); if (k == 0) { - temp_max_scores[j] = alignments[k] + - temp_gap_score + - score_matrix[i * num_alignments + j]; + temp_max_scores[j] = alignments[k] + temp_gap_score + score_matrix[i * num_alignments + j]; temp_gap_lengths[j] = gap_length; }else{ if (temp_max_scores[j] < alignments[k] + temp_gap_score + score_matrix[i * num_alignments + j]) { @@ -111,21 +105,16 @@ void fill_traceback_matrix(float *score_matrix, int num_alignments, float *gapMa temp_gap_lengths[l] = 0; } } - PyMem_Free(temp_max_scores); - PyMem_Free(temp_gap_lengths); + free(temp_max_scores); + free(temp_gap_lengths); - traceback(num_rec, len_seq, gapMatrix, score_matrix, - num_alignments, alignments, gap_alignments, - rec_scores, con_scores, con_lengths, max_length, - effective_length, is_precomputed); - - PyMem_Free(alignments); - PyMem_Free(gap_alignments); + traceback(num_rec, len_seq, gapMatrix, score_matrix, num_alignments, alignments, gap_alignments, rec_scores, con_scores, con_lengths, max_length, effective_length, is_precomputed); + free(alignments); + free(gap_alignments); } -void fill_matrix(const char seq[], int len_seq, float pssm[], int cols[], - int num_rec, float score_matrix[], int num_alignments) { +void fill_matrix(const char seq[], int len_seq, float pssm[], int cols[], int num_rec, float score_matrix[], int num_alignments) { // length of the seq by number of pssms // printf("last in fill_matrix\n"); diff --git a/extensions/multiplacement/tests/_organism.c b/extensions/multiplacement/tests/_organism.c new file mode 100644 index 0000000..5b3bfae --- /dev/null +++ b/extensions/multiplacement/tests/_organism.c @@ -0,0 +1,74 @@ +#include "_organism.h" + +void set_rec(_rec *recognizer, int size, float* scores) +{ + set_rec_size(recognizer, size); + recognizer->scores = calloc(recognizer->size * 4, sizeof(float)); + set_rec_scores(recognizer, scores); +} + +void set_rec_size(_rec *recognizer, int size) +{ + recognizer->size = size; +} + +void set_rec_scores(_rec *recognizer, float* scores) +{ + for (int i = 0; i < recognizer->size; i++){ + for (int j = 0; j < 4; j++){ + *(recognizer->scores + (j + i * 4)) = *(scores + (j + i * 4)); + } + } +} + +void print_rec(_rec *recognizer) +{ + for (int i = 0; i < 4; i++){ + for (int j = 0; j < recognizer->size; j++){ + printf("%1.2f ", *(recognizer->scores + (j * 4 + i))); + } + printf("\n"); + } + +} + +void set_con(_con *connector, float mu, float sigma) +{ + connector->mu = mu; + connector->sigma = sigma; +} + +void print_con(_con *connector) +{ + printf("mu = %2.2f\n", connector->mu); + printf("sigma = %2.2f\n", connector->sigma); +} + +void set_org(_org *organism, int num_rec, int* sizes, float* scores, float* mus, float* sigmas) +{ + organism->num_rec = num_rec; + organism->num_con = num_rec - 1; + organism->recognizers = calloc(num_rec, sizeof(_rec)); + organism->connectors = calloc((num_rec - 1), sizeof(_con)); + + for (int i = 0; i < organism->num_rec; i++){ + set_rec(organism->recognizers + i, *(sizes + i), scores + (i * sizes[i] * 4)); + } + + for (int i = 0; i < organism->num_con; i++){ + set_con(organism->connectors, *(mus + i), *(sigmas + i)); + } + +} + +void print_org(_org *organism) +{ + for (int i = 0; i < organism->num_rec; i++){ + printf("\nRecognizer |%i|\n", i); + print_rec(organism->recognizers + i); + if (i < organism->num_rec - 1){ + printf("\nConnector |%i|\n", i); + print_con(organism->connectors + i); + } + } +} diff --git a/extensions/multiplacement/tests/_organism.h b/extensions/multiplacement/tests/_organism.h new file mode 100644 index 0000000..0897c8d --- /dev/null +++ b/extensions/multiplacement/tests/_organism.h @@ -0,0 +1,53 @@ +#ifndef _TEST_H +#define _TEST_H +#include +#include +#include +#include +#include "../src/_multiplacement.h" + +typedef struct _rec _rec; +struct _rec +{ + float* scores; + int size; +}; + +typedef struct _con _con; +struct _con +{ + float mu; + float sigma; +}; + +typedef struct _org _org; +struct _org +{ + _rec* recognizers; + _con* connectors; + int num_rec; + int num_con; +}; + +typedef struct _seq _seq; +struct _seq +{ + char* sequence; + int length; +}; + +_org import_org(char* filename); + +void set_con(_con *connector, float mu, float sigma); +void print_con(_con *connector); + +void set_rec(_rec *recongnizer, int size, float* scores); +void set_rec_size(_rec *recognizer, int size); +void set_rec_scores(_rec *recognizer, float* scores); +void print_rec(_rec *recongnizer); + +void set_org(_org *organism, int num_rec, int* sizes, float* scores, float* mus, float* sigmas); +void print_org(_org *organism); + +void print_seq(_seq sequence); +#endif diff --git a/extensions/multiplacement/tests/_test.c b/extensions/multiplacement/tests/_test.c new file mode 100644 index 0000000..5c9558b --- /dev/null +++ b/extensions/multiplacement/tests/_test.c @@ -0,0 +1,107 @@ +#include "_test.h" + +bool test_min(){ + int a = 5; + int b = 6; + int c = 3; + + if (min(a,b) != a) + return false; + if (min(b,a) != a) + return false; + if (min(c,c) != c) + return false; + return true; +} + +bool test_bin(){ + unsigned long long a = 200; + unsigned long long b = 4; + + if ((int)bin(a,b) != 64684950) + return false; + if ((int)bin(a,a) != 1) + return false; + if ((int)bin(b,a) != 0) + return false; + return true; +} + +bool test_norm_cdf(){ + float a = 0.5; + float b = 2.5; + float mu = 4; + float sigma = 2; + float test1 = norm_cdf(a, mu, sigma); + float test2 = norm_cdf(b, mu, sigma); + + if (test1 <= 0.038 || test1 >= 0.042) + return false; + if (test2 <= 0.224 || test2 >= 0.228) + return false; + return true; + +} + +bool test_norm_pf(){ + float a = 0.5; + float b = 2.5; + float mu = 4; + float sigma = 2; + float test1 = norm_pf(a, mu, sigma); + float test2 = norm_pf(b, mu, sigma); + + if (test1 <= 0.042 || test1 >= 0.045) + return false; + if (test2 <= 0.148 || test2 >= 0.152) + return false; + return true; +} + +bool test_get_numerator(){ + +} + +bool test_get_denominator(){ + +} + +bool test_get_score(){ + +} + +bool test_get_forward_offset(){ + +} + +bool test_get_reverse_offset(){ + +} + + +int main (int argc, char *argv[]) +{ + printf("running tests...\n============================\n"); + if (test_bin() == true) + printf("combinations: PASSED\n"); + else + printf("combinations: FAILED\n"); + + if (test_min() == true) + printf("minimum: PASSED\n"); + else + printf("minimum: FAILED\n"); + + if (test_norm_cdf() == true) + printf("norm cdf: PASSED\n"); + else + printf("norm cdf: FAILED\n"); + + if (test_norm_pf() == true) + printf("norm pf: PASSED\n"); + else + printf("norm pf: FAILED\n"); + + return 0; +} + diff --git a/extensions/multiplacement/tests/_test.h b/extensions/multiplacement/tests/_test.h new file mode 100644 index 0000000..0edb017 --- /dev/null +++ b/extensions/multiplacement/tests/_test.h @@ -0,0 +1,29 @@ +#include "_organism.h" +/* +int min(int n, int k); +unsigned long long bin(unsigned long long n, unsigned long long k); +float norm_cdf(float x, float mu, float sigma); +float norm_pf(float x, float mu, float sigma); +float get_numerator(int dna_length, int distance, float mu, float sigma); +float get_denominator(int d, int N, int L); +float get_score(float *arr, int dna_length, int effective_length, int num_rec, int gap_size, int max_length, int curr_conn, bool is_precomputed); +int get_forward_offset(int index, int cols[], int num_rec); +int get_reverse_offset(int index, int cols[], int num_rec); +int max_index(float *arr, int size); +*/ + +bool test_min(); +bool test_bin(); +bool test_norm_cdf(); +bool test_norm_pf(); +bool test_get_numerator(); +bool test_get_denominator(); +bool test_get_score(); +bool test_get_forward_offset(); +bool test_get_reverse_offset(); + +float random_scores[100] = {0.00}; +float random_mus[4] = {0.00, 0.00, 0.00, 0.00}; +float random_sigmas[4] = {0.00, 0.00, 0.00, 0.00}; +int random_sizes[5] = {4, 3, 2, 4, 5}; + diff --git a/extensions/multiplacement/tests/makefile b/extensions/multiplacement/tests/makefile new file mode 100644 index 0000000..1327d51 --- /dev/null +++ b/extensions/multiplacement/tests/makefile @@ -0,0 +1,17 @@ +OBJS := ../src/_aux.o ../src/_multiplacement.o _organism.o _test.o + +EXECUTABLE := test + +CC := gcc + +CFLAGS := -Wall -g + +DEFS := +INCLUDES := +LDFLAGS := -lm + +%.o: %.c %.h + $(CC) $(CFLAGS) $(DEFS) $(INCLUDES) -c $< -o $@ + +$(EXECUTABLE): $(OBJS) + $(CC) $(CFLAGS) $(DEFS) $(INCLUDES) $(OBJS) -o $@ $(LDFLAGS)